// JavaScript Document

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));

// *********************************

function getElement(psID) 
{
	if (document.all)
		return document.all[psID];
		
	if (document.getElementById)
		return document.getElementById(psID);
		
	if (document.layers) 
		return document.layers[psID];

	return Null;
}

// *********************************

function changeClass(id, newClass) 
{
	elementObj = getElement(id);
	elementObj.className = newClass;
}

// *********************************

function mozWrap(txtarea, open, close)
{
  var selLength = txtarea.textLength;
  var selStart = txtarea.selectionStart;
  var selEnd = txtarea.selectionEnd;
  if (selEnd == 1 || selEnd == 2)
    selEnd = selLength;

  var s1 = (txtarea.value).substring(0,selStart);
  var s2 = (txtarea.value).substring(selStart, selEnd)
  var s3 = (txtarea.value).substring(selEnd, selLength);
  txtarea.value = s1 + open + s2 + close + s3;
  return;
}

// *********************************

function storeCaret(textEl) 
{
  if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

// *********************************

function doInsert(extTag, extClsTag, id)
{
	var obj_ta = getElement(id);
	
	obj_ta.focus();
	theSelection = false;

	if ((myVersion >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text;
		if (theSelection)
		{
			document.selection.createRange().text = extTag + theSelection + extClsTag;
			obj_ta.focus();
			theSelection = '';
			return;
		}
		else
		{
			if (extClsTag != "")
				extTag += extClsTag;
			obj_ta.value += extTag;
		}
	}
  else if (obj_ta.selectionEnd && (obj_ta.selectionEnd - obj_ta.selectionStart > 0))
	{
		mozWrap(obj_ta, extTag, extClsTag);
		return;
	}
	else
	{
		if (extClsTag != "")
			extTag += extClsTag;
		obj_ta.value += extTag;
	}
	storeCaret(obj_ta);
}

// *********************************

function simpletag(thetag, id)
{
	doInsert("[" + thetag + "]", "[/" + thetag + "]", id);
}

// *********************************

