
//var ie=(document.all) ? true:false;
//var ns=(document.layers) ? true:false;


var strUserAgent = window.navigator.userAgent;
var ie4 = -1 != strUserAgent.indexOf("MSIE 4");
var ie5 = -1 != strUserAgent.indexOf("MSIE 5");
var ie6 = -1 != strUserAgent.indexOf("MSIE 6");
var ie7 = -1 != strUserAgent.indexOf("MSIE 7");
var ns6 = -1 != strUserAgent.indexOf("Netscape6");
var mac = -1 != strUserAgent.indexOf("Mac");


var ie = (ie4 || ie5 || ie6) ? true:false;
var ns = document.layers ? true:false;

// alert('Mac: ' + mac + ' --IE: ' + ie)

var gepageX;
var gepageY;

if (window.Event) {
	document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = GetMouse;
}

function GetMouse(e) {
	gepageX = e.pageX;
	gepageY = e.pageY;
}

function GetMouseX(e) {
	return (ns || ns6) ? gepageX : event.clientX + document.body.scrollLeft;
}

function GetMouseY(e) {
	return (ns || ns6) ? gepageY : event.clientY + document.body.scrollTop;
}

//*** Deals with varying browser object referencing methods ******//
function GetElement() {
	var args = GetElement.arguments;
	var obj
	if(ns) {
		if(args.length == 1) {
			obj = eval('document.' + args[0] + ';');
		} else {
			obj = eval('document.' + args[0] + '.document.' + args[1] + ';');
		}
	} else if (ie4) {
		obj = eval('document.all[\'' + args[0] + '\'];');
	} else if (ie5 || ns6 || ie6) {
		obj = eval('document.getElementById(\'' + args[0] + '\');')
	}
	return obj
}

function gFormatDate() {
	var args = gFormatDate.arguments;
	var strDate = args[0];
	
	var yyyy = strDate.substring(0,4)
	var MM = strDate.substring(5,7)
	var dd = strDate.substring(8,10)
	
	
	strDate = MM + "/" + dd + "/" + yyyy;
	if(strDate.length > 6)
		return strDate;
	else
		return '';
}

function NoOp() {
	return;
}

function gFormatNumber() {
	// 0 -> form element
	// 1 -> number of decimal places...set it to 0 if you want the user to control the number of decimals
	// 2 -> true if monetary
	var args = gFormatNumber.arguments;
	var eSrc = args[0];
	var iDecimalPlaces = 0;
	var bIsDollars = false;
	
	if(args[1]) {
		iDecimalPlaces = args[1];
	}	
	if(args[2]) {
		bIsDollars = args[2];
	}
	
	var strInput = eSrc.value;
	var strOutput = '';
	var iOutputLen = 0;
	var i;
	
	for(i=0; i<strInput.length; i++) {
		if(!isNaN(parseInt(strInput.charAt(i)))) {
			strOutput += strInput.charAt(i);
		} else if((strInput.charAt(i) == '.')&&(iDecimalPlaces == 0)&&(i != strInput.length-1)) {
			strOutput += '.';
		}
	}
	
	if(iDecimalPlaces > 0) {
		iOutputLen = strOutput.length;
		for(i=iOutputLen;i<=iDecimalPlaces;i++) {
			strOutput = '0' + strOutput;
		}
		iOutputLen = strOutput.length;
		strOutput = strOutput.substring(0,iOutputLen-iDecimalPlaces) + '.' + strOutput.substring(iOutputLen-iDecimalPlaces,strOutput.length)
	}	
	if(bIsDollars) {
		strOutput = '$' + strOutput;
	}
	eSrc.value = strOutput;
}

function gHTMLEncode(strSrc) {
	var temp = "" + strSrc;
	
	temp = gStringReplace(temp, '&', '&amp;')
	temp = gStringReplace(temp, '"', '&quot;')
	temp = gStringReplace(temp, '<', '&lt;')
	temp = gStringReplace(temp, '>', '&gt;')
	
	return temp;
}

function gStringReplace(strSrc, strSearch, strReplace) {
	// replace strSearch with strReplace
	var strBegin, strEnd;
	var temp = "" + strSrc;
	var pos = -1

	while (temp.indexOf(strSearch, (pos + 1)) > -1) {
		pos = temp.indexOf(strSearch, (pos + 1));
		strBegin = temp.substring(0, pos)
		strEnd = temp.substring((pos + strSearch.length), temp.length)
		temp = "" + (strBegin + strReplace + strEnd);
	}

	return temp;
}