function mouseover(el) {
	el.className = "raised";
}
 
function mouseout(el) {
	el.className = "button";
}
 
function mousedown(el) {
	el.className = "pressed";
}
 
function mouseup(el) {
	el.className = "raised";
}

function format_sel(objname,v) {
	var str = document.selection.createRange().text;
	eval("document.my_form." + objname + ".focus();");
	var sel = document.selection.createRange();
	sel.text = "<" + v + ">" + str + "</" + v + ">";
	return;
}

function insert_tag(objname,v) {
	var str = document.selection.createRange().text;
	eval("document.my_form." + objname + ".focus();");
	var sel = document.selection.createRange();
	if (v.indexOf(' ... ') == -1 || str == '') {
		if (str.length > 0) {
			sel.text = v;
		}
		else {
			sel.text = str + v;
		}
	}
	else {
		temp1 = v.substring(0, v.indexOf(' ... '));
		temp2 = v.substring(v.indexOf(' ... ') + 5);
		sel.text = temp1 + str + temp2;
	}
	return;
}

function hilight(objname,v) {
	var str = document.selection.createRange().text;
	eval("document.my_form." + objname + ".focus();");
	var sel = document.selection.createRange();
	sel.text = "<span style=background-color: " + v + ">" + str + "</span>";
	return;
}

function insert_font(objname,c) {
	var str = document.selection.createRange().text;
	eval("document.my_form." + objname + ".focus();");
	var font_attr = "";
	if (c != "") font_attr += " color=" + c + "";
	if (font_attr != "") {
		var sel = document.selection.createRange();
		sel.text = "<font" + font_attr + ">" + str + "</font>";
	}
	return;
}

function replaceChars(entry, out, sadd) {
	temp = entry;
	while (temp.lastIndexOf(out) > -1) {
		pos = temp.lastIndexOf(out);
		temp = "" + (temp.substring(0, pos) + sadd + temp.substring((pos + out.length), temp.length));
	}
	return temp;
}

function insert_bullet(objname,bullet) {
	var str = document.selection.createRange().text;
	eval("document.my_form." + objname + ".focus();");
	var sel = document.selection.createRange();
	var tag_type = 'ul';
	if (bullet == 'no') { tag_type = 'ol'; }
	if (str == '') {
		sel.text = "<" + tag_type + ">\n<li></li>\n<li></li>\n<li></li>\n</" + tag_type + ">\n";;
	}
	else {
		sel.text = "<" + tag_type + ">\n<li>" + replaceChars(str, "\r\n", "</li>\n<li>") + "</li>\n</" + tag_type + ">\n";
	}
	return;
}

function insert_link(objname) {
	var str = document.selection.createRange().text;
	eval("document.my_form." + objname + ".focus();");
	if (c = prompt("Input web address", "http://")) {
		if (str == '') {
			str = c;
		}
		var sel = document.selection.createRange();
		if (c.indexOf('@') != -1) {
			sel.text = "<a href=mailto:" + c + ">" + str + "</a>";
		}
		else {
			sel.text = "<a href=" + c + " target=_blank>" + str + "</a>";
		}
	}
	return;
}

function insert_image(objname) {
	eval("document.my_form." + objname + ".focus();");
	if (c = prompt("Input image address", "http://")) {
		var sel = document.selection.createRange();
		sel.text = "<img src=" + c + ">";
	}
	return;
}

function insert_table(objname) {
	var columns = 3;
	var rows = 3;
	var str_table = "";
	eval("document.my_form." + objname + ".focus();");
	if (c = prompt("Input num columns", "3")) {
		columns = parseInt(c);
	}
	if (r = prompt("Input num rows", "3")) {
		rows = parseInt(r);
	}
	for (i=0; i<rows; i++) {
		str_table += "<tr>\n  ";
		for (j=0; j<columns; j++) {
			if (i == 0) {
				str_table += "<td>_</td>";
			}
			else {
				str_table += "<td>_</td>";
			}
		}
		str_table += "\n</tr>\n";
	}
	var sel = document.selection.createRange();
	sel.text += "<table border = 1 class=tbl>\n" + str_table + "</table>";
	return;
}

function preview(boxname) {
	document.my_form.boxname.value = boxname;
	window.open('/preview.html', 'previewhtml', 'width=500,height=300,status=yes,toolbar=no,menubar=no,scrollbars=yes,resizable=yes');
}
