<!--

/* ********************************************************************
This script provides reusable miscellenious utility methods to handle 
environment-centric details such as parsing a queryString, a file header,
and time stamp. These methods are all tested to be HTML 4 complaint and 
work one MSIE 4/5, and Netscape 4.

NOTE: Reuse without permission is prohibited.
Copyright enLogica, Inc. 2002
neal.cabage@enlogica.com

01. getBrowser()
02. getBrowserVersion() 
03. getOS()
04. getQueryStrValue(sVarArg)
05. persistQstr(keyArg)
06. getTime()
07. getShortDate(incrementDays)
08. getTimeStamp()
09. normalize(sArg)
10. visibleLayer(layerName,TrueOrFalse)
11. currentServer()

******************************************************************** */

function getBrowser() {
//returns browser name (eg Netscape, Explorer, Opera)

	sRaw 	= navigator.userAgent.toLowerCase();
	sType 	= "unknown";

	if (sRaw.indexOf("mozilla") !=-1) {sType="Netscape"}
	if (sRaw.indexOf("msie") !=-1) {sType="Explorer"}
	if (sRaw.indexOf("opera") !=-1) {sType="Opera"}

	return(sType);
}

function getBrowserVersion() {
//returns version of software (eg 5,5.5,6)

	iRaw = parseFloat(navigator.appVersion);
	return(iRaw); 
}

function getOS() {
//Returns OS (eg Mac, win3.1, win95, win98, winNT
	sRaw 	= navigator.userAgent.toLowerCase();
	sType 	= "unknown";

	if (sRaw.indexOf("mac")!=-1)  {sType="Mac"}
	if (sRaw.indexOf("win")!=-1) {
		if ( (sRaw.indexOf("win16")!=-1) || (sRaw.indexOf("win31")!=-1) ) {sType = "Win3.1"}
		if (sRaw.indexOf("98")!=-1) {sType = "Win98"}
		if (sRaw.indexOf("95")!=-1) {sType = "Win95"}
		if (sRaw.indexOf("nt")!=-1) {sType = "WinNT"}
	}
	return(sType);
}

function getQueryStrValue(sVarArg) {
//Pass in a queryString keyName and recieve back it's value.

	qs = new String(location.search);
	qs=qs.substr(1,qs.length).split("&");
	qsKeys = new Array();
	qsVals = new Array();
	myValue = "";

	//Parse values into 2 arrays for search
	for (i=0;i<qs.length;i++){
	   qsElem=qs[i].split("=");
	   key=qsElem[0]; value=qsElem[1];
	   qsKeys=qsKeys.concat(key);
	   qsVals=qsVals.concat(value);
 	}

	//Search for key that matches request
	for (i=0;i<qsKeys.length;i++){
	   if (qsKeys[i].valueOf() == sVarArg) {
		myValue=qsVals[i].valueOf(); break;	   		
	   } 
	} 
	return(myValue);
}

function persistQstr(keyArg) {
//Adds values to persisted qString.

   sKey = new String(keyArg);
   sVal = new String(getQueryStrValue(keyArg));

   if (sKey.length>0 && sVal>0) { 
     if (sPersistQstr.length>0) {sPersistQstr+="&"}
       	sPersistQstr+=sKey + "=" + sVal 
   }
}

function getTime() {
//Create a timeStamp for clientSide clock evaluation.
	
	dNow = new Date();
	dDate = dNow.getMonth()+1 +"/"+ dNow.getDate() +"/"+ dNow.getYear();
	dTime = dNow.getHours() +":"+ dNow.getMinutes() +":"+ dNow.getSeconds();
	dDateValue = dDate +" "+ dTime;
	return(dDateValue);
}

function getShortDate(incrementDays){
	dayInMilliseconds = 86400000;
	days=0;			

	myDate = new Date();
	if (Number(incrementDays)) {
		myDate.setMilliseconds(incrementDays*dayInMilliseconds);
	}

	myMonth = myDate.getMonth() +1;			
	myDay = myDate.getDate();
	myYear = new String(myDate.getYear());
        myYear = myYear.slice(myYear.length-1,myYear.length);

	if (myMonth>12){myMonth=1;myYear=myYear+1;}
	if (myMonth<10){myMonth="0"+myMonth;}
	if (myDay<10){myDay="0"+myDay;}
	if (myYear<10){myYear="0"+myYear;}
	return myMonth + "/" + myDay + "/" + myYear;
}

function getTimeStamp() {
//Creates a compact timeStamp to be used in Qstring when override of browser cache is needed.

	d = new Date();
	dStr = d.getHours()+""+d.getMinutes()+""+d.getSeconds();
	return (dStr);
}

function normalize(sArg){
//Remove spaces from a string.
	myString = new String(sArg);
	rExp = / /g;
	myOutput = myString.replace(rExp,"");
	return(myOutput);
}


function currentServer(){
//Returns name of machine

	myString = new String(document.location.href);
	mySplit	 = myString.split("/");
	myURL	 = mySplit[2];
	
	return(myURL);
}


//-->