var myAgent   = navigator.userAgent.toLowerCase();
var myVersion = parseInt(navigator.appVersion);

var is_ie   = ((myAgent.indexOf("msie") != -1)  && (myAgent.indexOf("opera") == -1));
var is_nav  = ((myAgent.indexOf('mozilla')!=-1) && (myAgent.indexOf('spoofer')==-1)
                && (myAgent.indexOf('compatible') == -1) && (myAgent.indexOf('opera')==-1)
                && (myAgent.indexOf('webtv') ==-1)       && (myAgent.indexOf('hotjava')==-1));

var is_win   =  ((myAgent.indexOf("win")!=-1) || (myAgent.indexOf("16bit")!=-1));
var is_mac    = (myAgent.indexOf("mac")!=-1);

var bbtags   = new Array();

// add smilies
function emoticon2(theSmilie, frmName, fieldName)
{
	doInsert(" " + theSmilie + " ", "", "" + frmName + "", "" + fieldName + "", false, true);
}

// add tags
function simpletag(thetag, thetagClose, frmName, fieldName)
{
	doInsert("" + thetag + "", "" + thetagClose + "","" + frmName + "", "" + fieldName + "",true, false);
}

function doInsert(ibTag, ibClsTag, frmName, fieldName, isSingle, isSmilie)
{
	var isClose = false;
	var mySterydb = false;
	//var ibClsTag = "";
	var obj_ta = eval("document." + frmName + "." + fieldName + "");

	if ( (myVersion >= 4) && is_ie && is_win) // Ensure it works for IE4up / Win only
	{
		if(obj_ta.isTextEdit){ // this doesn't work for NS, but it works for IE 4+ and compatible browsers
			obj_ta.focus();
			var sel = document.selection;
			var rng = sel.createRange();
			rng.colapse;
			if((sel.type == "Text" || sel.type == "None") && rng != null){
				if(ibClsTag != "" && rng.text.length > 0){
					ibTag += rng.text + ibClsTag;
					mySterydb = true;
				}else if(isSingle){
					isClose = true;
					rng.text = ibTag + ibClsTag;
				}
				if((mySterydb) || (isSmilie)) rng.text = ibTag;
			}
		}
		else{
			if(isSingle)
				isClose = true;
	
			obj_ta.value += ibTag + ibClsTag;
		}
	}
	else
	{
		if(isSingle)
			isClose = true;

		obj_ta.value += ibTag + ibClsTag;
	}

	obj_ta.focus();
	return isClose;
}

function pushstack(thearray, newval)
{
	arraysize = stacksize(thearray);
	thearray[arraysize] = newval;
}