// Get DOM Level
//****************************************************************************************************
// IE4 = 1, IE5+ = 2, NN4 = 3, NN6+ = 4, others = 0
var _dom = document.all?(document.getElementById?2:1)
                   :(document.getElementById?4
                   :(document.layers?3:0));
//****************************************************************************************************


// Div Sizing Function
//****************************************************************************************************
function getDivWidth(div){
  if(_dom==4 || _dom==2) return div.offsetWidth;
  if(_dom==1)            return div.style.pixelWidth;
  if(_dom==3)            return div.clip.width;
  return 0;
}

function getDivHeight(div){
  if(_dom==4 || _dom==2) return div.offsetHeight;
  if(_dom==1)            return div.style.pixelHeight;
  if(_dom==3)            return div.clip.height;
  return 0;
}
//****************************************************************************************************



// Always track mouse position...  Makes things much easier later!
// ****************************************************************************************************
var gglMouseX, gglMouseY
document.onmousemove = gglGetMousePos;

function gglGetMousePos(e){
	if (is.ie) {gglMouseX=event.clientX; gglMouseY=event.clientY + document.body.scrollTop}
	if (is.nav) {gglMouseX=e.pageX; gglMouseY=e.pageY}
	if (isTipped) {gglSetToolTipPos()}
}
// ****************************************************************************************************


// Handle menu rollovers by updating CSS Styles... eliminates the need for image rollovers
// ****************************************************************************************************
function menuRollover(s) {s.className = "headermenuitemleft_on"}
function menuRollout(s) {s.className = "headermenuitemleft"}
function menuRolloverright(s) {s.className = "headermenuitemright_on"}
function menuRolloutright(s) {s.className = "headermenuitemright"}
function rolloverLeft(s) {s.className = "leftmenuitem_on"}
function rolloutLeft(s) {s.className = "leftmenuitem"}

function menuLeftActive(s) {s.className = "headermenuitemleft_active"}
function menuRightActive(s) {s.className = "headermenuitemright_active"}
// ****************************************************************************************************


// Set tooltip display, text and position
// ****************************************************************************************************
document.write("<span id='tooltip'></span>")
var isTipped = false

var adjTTTop;
var adjTTLeft;
function setToolTip(tipText, adjustLeft, adjustTop) {

	adjTTTop = (adjustTop == null) ? 0 : parseInt(adjustTop)
	adjTTLeft = (adjustLeft == null) ? 0 : parseInt(adjustLeft)
	if(tipText == '') {
		gglSetVisibility('tooltip', 'hidden')
		isTipped = false
	} else {
		gglSetInnerHTML('tooltip', tipText)
		gglSetToolTipPos()
		gglSetVisibility('tooltip', 'visible')		
		isTipped = true
	}
}

function gglSetToolTipPos() {
	document.getElementById('tooltip').style.top = gglMouseY + 20 + adjTTLeft
	document.getElementById('tooltip').style.left = gglMouseX + 10 + adjTTTop
}
// ****************************************************************************************************


// Rollover Functions
// ****************************************************************************************************
function buttondown(buttonname) {
document[buttonname].src = eval(buttonname + "down.src" );
}

function buttonup (buttonname) {
document[buttonname].src = eval(buttonname + "up.src" );
}

function buttonactive (buttonname) {
document[buttonname].src = eval(buttonname + "active.src" );
} 
// ****************************************************************************************************


// Replace Substring Function
// ****************************************************************************************************
function replaceSubstring(origString, searchFor, replaceWith) {
	var objRegExp = eval("/" + searchFor + "/g");
	return (origString.replace(objRegExp, replaceWith));
}
// ****************************************************************************************************


// Popup functions to force same window from same link and center on screen
// ****************************************************************************************************
var popupHandle;

function closePopup() {
	if(popupHandle != null && !popupHandle.closed) popupHandle.close()
}

function displayPopup(url,name,height,width) {

	var properties = "resizable=1,toolbar=0,scrollbars=1,status=0,location=0,height="+height
	properties = properties+",width="+width

	var leftprop, topprop

	leftprop = (screen.width - width) / 2
	topprop = (screen.height - height) / 2

	properties = properties+",left="+leftprop
	properties = properties+",top="+topprop

	//closePopup()

	popupHandle = open(url,name,properties)
}
// ****************************************************************************************************

// Force Redraw any DOM element
//*****************************************************************************************************
function forceRedraw(oToChange)	{
	var oStyle = oToChange.style
	var sOldColor = oStyle.backgroundColor
	var sSetColor = (sOldColor=="rgb(0,0,0)")?"#FFFFFF":"#000000";
	oStyle.backgroundColor = sSetColor
	oStyle.backgroundColor = sOldColor
}
//*****************************************************************************************************



// Position any absolutely positioned element relative to any other element
//*****************************************************************************************************
function positionAgainst(oToPosition, oAgainst, osLeft, osTop) {
	document.getElementById(oToPosition).style.left = (document.getElementById(oAgainst).offsetLeft + osLeft) + "px"
	document.getElementById(oToPosition).style.top = (document.getElementById(oAgainst).offsetTop + osTop) + "px"
}
//*****************************************************************************************************



// Javascript equivalent of @Trim
//*****************************************************************************************************
function rtrim(strText) {
	var strNewText = strText + '';

	while((strNewText.length<1)?false:('' + strNewText.charAt(strNewText.length - 1)==' ')) {
		strNewText = strNewText.substring(0,(strNewText.length - 1));
	}
	return strNewText;
}

function ltrim(strText) {
	var strNewText = '' + strText;

	while('' + strNewText.charAt(0)==' ') {
		strNewText = strNewText.substring(1,strNewText.length);
	}
	return strNewText;
}

function trim(strText) {
	if (!strText || strText == "") {
		return "";
	} else {
		return rtrim(ltrim(strText));
	}
}
//*****************************************************************************************************
