var theSelection = false;

var clientBrowserPC = navigator.userAgent.toLowerCase();
var clientBrowserVersion = parseInt(navigator.appVersion);

var is_ie = ((clientBrowserPC.indexOf("msie") != -1) && (clientBrowserPC.indexOf("opera") == -1));
var is_nav = ((clientBrowserPC.indexOf('mozilla') != -1) && (clientBrowserPC.indexOf('spoofer') == -1)
		&& (clientBrowserPC.indexOf('compatible') == -1) && (clientBrowserPC.indexOf('opera') == -1)
		&& (clientBrowserPC.indexOf('webtv') == -1) && (clientBrowserPC.indexOf('hotjava') == -1));

var is_moz = 0;

var is_win = ((clientBrowserPC.indexOf("win") != -1) || (clientBrowserPC.indexOf("16bit") != -1));
var is_mac = (clientBrowserPC.indexOf("mac") != -1);

function addText (textAreaObj,beginText,endText)
{
	if ((clientBrowserVersion >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text;

		if (!theSelection)
		{
			textAreaObj.value += beginText + endText;
			textAreaObj.focus();
			return;
		}

		document.selection.createRange().text = beginText + theSelection + endText;
	}
	else if (textAreaObj.selectionEnd && (textAreaObj.selectionEnd-textAreaObj.selectionStart > 0)) textAreaObj.value = textAreaObj.value.substring(0,textAreaObj.selectionStart) + beginText + textAreaObj.value.substring(textAreaObj.selectionStart,textAreaObj.selectionEnd) + endText + textAreaObj.value.substring(textAreaObj.selectionEnd);
	else textAreaObj.value += beginText + endText;

	textAreaObj.focus();
}

function boldText (textAreaObj)
{
	addText(textAreaObj,"<b>","</b>");
}

function italicText (textAreaObj)
{
	addText(textAreaObj,"<i>","</i>");
}

function underlineText (textAreaObj)
{
	addText(textAreaObj,"<u>","</u>");
}

function colorText (textAreaObj,selectColorObj)
{
	if (selectColorObj.selectedIndex != -1) addText(textAreaObj,"<font color=\""+selectColorObj.options[selectColorObj.selectedIndex].value+"\">","</font>");
}

function addSmiley (textAreaObj,smileyCode)
{
	addText(textAreaObj,smileyCode,"");
}

function updateCharacterCount (textAreaObj,characterCountSpanId,characterLimit)
{
	document.getElementById(characterCountSpanId).innerHTML = characterLimit-textAreaObj.value.length;
	if (characterLimit-textAreaObj.value.length < 0) textAreaObj.value = textAreaObj.value.substring(0,characterLimit);
}

