function saveSel (el)
	{
	if (el.createTextRange) 
		{
		s = "" + document.selection.type;
		el.selected = document.selection.createRange().duplicate();
		}
	}

function encloseText (el, desc, text1, text2)
	{
	el.focus ();
	if (el.createTextRange && el.selected)
		{
	   	var selected = el.selected;
		if (el.selected.text.length == 0)
			{
			name = prompt("Enter text to be " + desc, "");
			if (name != null && name != "" && name != "null")
				selected.text = text1 + name + text2;
			}
		else if (selected.text.charAt(selected.text.length - 1) == ' ')
			selected.text = text1 + 
				selected.text.substring(0,selected.text.length - 1) +
				text2 + ' ';
		else
			selected.text = text1 + selected.text + text2;
		}
	else
		{
		name = prompt("Enter text to be " + desc, "");
		if (name != null && name != "" && name != "null")
			el.value += text1 + name + text2;
		}
	saveSel (el)
	}

function insertText (el, text)
	{
	el.focus ();
	if (el.createTextRange &&
			el.selected  && //s=="Text" &&
			el.selected.text.length == 0)
		{
	   	var selected = el.selected;
		selected.text = text;
		}
	else if ((text != null) && (text != ""))
		el.value += text;
	saveSel (el)
	}

function trimPrefix (str, prefix)
	{
	if (str.indexOf (prefix) == 0)
		return str.substring(prefix.length);
	return str;
	}

function doImage (el)
	{
	el.focus ();
	addr = prompt("Enter address of image, i.e.\nhttp://someserver.com/path/image.jpg OR images/localImage.jpg")
	
	if (addr != null && addr != "" && addr != "null")
		{
		if (el.createTextRange &&
			el.selected &&
			el.selected.text.length == 0)
			{
	   		var selected = el.selected;

			selected.text = "<img border=\"0\" src=\"" + addr + "\" />";
			}
		else 
			{
			el.value += "<img border=\"0\" src=\"" + addr + "\" />";
			el.selected = document.selection.createRange().duplicate();
			}
		saveSel (el)
		}
	}

function doMail (el)
	{
	el.focus ();
	addr = prompt("Enter email address", "");
	
	if (addr != null && addr != "" && addr != "null")
		{
		if (el.createTextRange &&
			el.selected &&
			el.selected.text.length == 0)
			{
	   		var selected = el.selected;
			selected.text = "<a href=\"mailto:" + addr + "\">" + addr + "</a>";
			}
		else 
			{
			el.value += "<a href=\"mailto:" + addr + "\">" + addr + "</a>";
			el.selected = document.selection.createRange().duplicate();
			}
		saveSel (el)
		}
	}

function doLink (el)
	{
	var addr, name;
	
	el.focus ();
	addr = prompt("Enter address of image, i.e.\nhttp://someserver.com/path/ OR index.php?page_id=34")
	if (addr == null || addr == "" || addr == "null")
		return;	
	if (addr == "")
		return;	

	if (el.createTextRange && el.selected)
		{
	   	var selected = el.selected;
		
		if (el.selected.text.length == 0)
			{
			name = prompt("Enter the name of the link", addr);
			if (name != null && name != "" && name != "null")
				{
				selected.text = "<a href=\"" + addr  + "\" ";
				if (addr.substring(0, 7) == "http://")
					selected.text+= "target=\"_new\"";
				selected.text+= ">" + name + "</a>";
				}
			}
		else if (selected.text.charAt(selected.text.length - 1) == ' ')
			{
				selected.text = "<a href=\"" + addr  + "\" ";
				if (addr.substring(0, 7) == "http://")
					selected.text+= "target=\"_new\"";
				selected.text+= ">" + 
				selected.text.substring(0,selected.text.length - 1) + "</a>";
			}
		else
			{
				selected.text = "<a href=\"" + addr  + "\" ";
				if (addr.substring(0, 7) == "http://")
					selected.text+= "target=\"_new\"";
				selected.text+= ">" + selected.text + "</a>";
			
			}
		}
	else
		{
		name = prompt("Enter the name of the link", addr);
		if (name != null && name != "")
			{
				el.value += "<a href=\"" + addr  + "\" ";
				if (addr.substring(0, 7) == "http://")
					el.value +=  "target=\"_new\"";
				el.value += ">" + name + "</a>";

			el.selected = document.selection.createRange().duplicate();
			}
		}
	saveSel (el)
	}


function encloseWithTags (el, s, tag)
	{
	encloseText(el, s, "<" + tag + ">", "</" + tag + ">");
	}
	
function insertTag (el, text)
	{
	insertText(el, "<" + text + " />");
	}

function doQuote (el)
	{
		encloseText(el, "quoted", 
			"<table class='quote'>\n<tr><td>Quote:<br><hr />\n",
			"\n</td></tr></table>");
	}

function doThumb (theText)	{
	insertText(document.theForm.data_content, theText);
}
