onload=function() {
	externalLinks();
	if ($("_content")) {
		var buttons=document.getElementsByTagName("button");
		for (var i=0, j=buttons.length; i<j; i++) {
			buttons[i].onclick=addcode;
		}
	}
}
function $(id) {
	return document.getElementById(id);
}
function externalLinks() {
	for (var i=0; i<document.links.length; i++) {
		if (document.links[i].getAttribute("rel")=="external") {
			document.links[i].onclick=function() {
				window.open(this.href);
				return false;
			}
		}
	}
}
function addcode() {
	try {
		var _buttons=["strong", "em", "ins", "ul", "ol"];
		var textarea=$("_content");
		var textarea_length=textarea.textLength;
		var btns=document.getElementsByTagName("button");
		for (var i=0, allbuttons; allbuttons=btns[i]; i++) if (btns[i]==this) var indexOF=i;
		if (window.getSelection) {
			var sel_start=textarea.selectionStart;
			var sel_end=textarea.selectionEnd;
			var to_start=textarea.value.substring(0, sel_start);
			var start_end=textarea.value.substring(sel_start, sel_end);
			var from_end=textarea.value.substring(sel_end, textarea_length);
			if (this.innerHTML!="URL" && this.innerHTML!="Image" && this.innerHTML!="Color") {
				textarea.value=to_start+"|"+_buttons[indexOF]+"-|"+start_end+"|-"+_buttons[indexOF]+"|"+from_end;
				textarea.setSelectionRange(sel_start+_buttons[indexOF].length+3, sel_end+_buttons[indexOF].length+3);
			}
			else {
				if (this.innerHTML=="URL") {
					var _url=window.prompt("Enter URL:", "http://");
					if (_url!==null) {
						var target=confirm("open in a new window?");
						if (target) {
							textarea.value=to_start+"|olink-"+_url+"|"+start_end+"|-olink|"+from_end;
							textarea.setSelectionRange(sel_start+4+_url.length+4, sel_end+4+_url.length+4);
						}
						else {
							textarea.value=to_start+"|link-"+_url+"|"+start_end+"|-link|"+from_end;
							textarea.setSelectionRange(sel_start+4+_url.length+3, sel_end+4+_url.length+3);
						}
					}
				}
				else if (this.innerHTML=="Image") {
					var path=window.prompt("Enter the path to the image:", "");
					if (path!==null) {
						var alt=window.prompt("Enter alternative text for the image", "");
						textarea.value=to_start+"|img-"+alt+"|"+path+"|-img|"+from_end;
						textarea.setSelectionRange(sel_start+5+alt.length+path.length+5, sel_end+5+alt.length+path.length+5);
					}
				}
				else {
					var color=window.prompt("Enter 6 digits color:", "");
					if (color!==null) {
						textarea.value=to_start+"|color-"+color+"|"+start_end+"|-color|"+from_end;
						textarea.setSelectionRange(sel_start+6+_url.length+5, sel_end+6+_url.length+5);
					}
				}
			}
			textarea.focus();
		}
		else if (document.selection) {
			var content=document.selection.createRange().text;
			textarea.focus();
			var selection=document.selection.createRange();
			if (this.innerHTML!="URL" && this.innerHTML!="Image" && this.innerHTML!="Color") {
				selection.text="|"+_buttons[indexOF]+"-|"+content+"|-"+_buttons[indexOF]+"|";
			}
			else {
				if (this.innerHTML=="URL") {
					var _url=window.prompt("Enter URL:", "http://");
					if (_url!==null) {
						selection.text="|link-"+_url+"|"+content+"|-link|";
					}
				}
				else if (this.innerHTML=="Image") {
					var path=window.prompt("Enter the path to the image:", "");
					if (path!==null) {
						var alt=window.prompt("Enter alternative text for the image", "");
						selection.text="|img-"+alt+"|"+path+"|-img|";
					}
				}
				else {
					var color=window.prompt("Enter 6 digits color:", "");
					if (color!==null) {
						selection.text="|color-"+color+"|"+content+"|-color|";
					}
				}
			}
		}
	}
	catch (e) {
	}
}
