/*
	Copyright 2003 Generated Solutions 
	GeneratedSolutions.com standard javascript
*/
function reDo() { 
	// window.location.reload(); 
} 
window.onresize = reDo;

//Define global variables
var what = null;
var check = false;

// Utility function to trim spaces from both ends of a string
function Trim(inString) {
  var retVal = "";
  var start = 0;
  while ((start < inString.length) && (inString.charAt(start) == ' ')) {
    ++start;
  }
  var end = inString.length;
  while ((end > 0) && (inString.charAt(end - 1) == ' ')) {
    --end;
  }
  retVal = inString.substring(start, end);
  return retVal;
}

function BrowserDetector(ua) {

	// Defaults
	this.browser = "Unknown";
	this.platform = "Unknown";
	this.version = "";
	this.majorver = "";
	this.minorver = "";
	
	uaLen = ua.length;
	
	// ##### Split into stuff before parens and stuff in parens
	var preparens = "";
	var parenthesized = "";
	var rightStr = "";
	
	i = ua.indexOf("(");
	if (i >= 0) {
		preparens = Trim(ua.substring(0, i));
		parenthesized = ua.substring(i+1, uaLen);
		j = parenthesized.indexOf(")");
		if (j >= 0) {
			// save what is to the right of the ")" first
			rightStr = parenthesized.substring(j+1, uaLen);
			parenthesized = parenthesized.substring(0, j);
		}
	}
	else {
		preparens = ua;
	}

	// ##### First assume browser and version are in preparens
	// ##### override later if we find them in the parenthesized stuff
	var browVer = preparens;
	var mozVer = "";
	var tokens = parenthesized.split(";");
	var token = "";
	// # Now go through parenthesized tokens
	for (var i=0; i < tokens.length; i++) {
		token = Trim(tokens[i]);
		//## compatible - might want to reset from Netscape
		if (token.indexOf("MSIE") >= 0) {
			browVer = token;
		}
		else if (token.indexOf("Opera") >= 0) {
			browVer = token;
		}
		else if (token.indexOf("Konqueror") >= 0) {
			browVer = token;
		}
		//'## platform - try for X11, SunOS, Win, Mac, PPC
		else if ((token.indexOf("X11") >= 0) || (token.indexOf("SunOS") >= 0) ||(token.indexOf("Linux") >= 0)) {
			this.platform = "Unix";
		}
		else if (token.indexOf("Win") >= 0) {
			this.platform = token;
		}
		else if ((token.indexOf("Mac") >= 0) || (token.indexOf("PPC") >= 0)) {
			this.platform = token;
		}
		else if (token.indexOf("rv:") >= 0) {
			mozVer = token.substring("rv:".length, token.length);
		}
	}

	/* MSIE and Konqueror put there identity in the (...) part of userAgent?? */
	var i = browVer.indexOf("MSIE");
	if ((i = browVer.indexOf("MSIE")) >= 0) {
		browVer = browVer.substring(i, browVer.length);
	} else if ((i = browVer.indexOf("Konqueror")) >= 0) {
		browVer = browVer.substring(i, browVer.length);
	}

	var leftover = "";
	if (browVer.substring(0, "Mozilla".length) == "Mozilla" ||
		browVer.substring(0, "MSIE".length) == "MSIE") {
		/* 
		 * if there is a vendor string to the right of the (...) look at 
		 * it to see what variation of Mozilla this really is 
		*/
		if (rightStr.length > 0) {
			// alert("rightStr = " + rightStr);
			this.browser = "Mozilla";
			leftover = browVer.substring("Mozilla".length+1, browVer.length);
			// get the "real" name for this browser
			if ((i = rightStr.indexOf('Netscape')) >= 0) {
				this.browser = "Netscape";
				rightStr = rightStr.substring(i, rightStr.length);
				i = rightStr.indexOf('/');
				leftover = rightStr.substring(i+1, rightStr.length);
			} else if ((i = rightStr.indexOf('Firebird')) >= 0) {
				this.browser = "Firebird";
				rightStr = rightStr.substring(i, rightStr.length);
				i = rightStr.indexOf('/');
				leftover = rightStr.substring(i+1, rightStr.length);
			} else if (rightStr.indexOf('Opera') >= 0) {  // Opera spoofing
				this.browser = "Opera-Spoofing [" + browVer + "]";
				leftover = rightStr.substring("Opera".length+1, rightStr.length);
			} else if ((i = rightStr.indexOf('Safari')) >= 0) {
				this.browser = "Safari";
				rightStr = rightStr.substring(i, rightStr.length);
				i = rightStr.indexOf('/');
				leftover = rightStr.substring(i+1, rightStr.length);
			} else if ((i = rightStr.indexOf('Gecko')) >= 0) {
				// this is Mozilla.org browser - versin is in rv:?? token %#$@#@#
				leftover = mozVer;
			}
		} else { 
			if (browVer.substring(0, "MSIE".length) == "MSIE") {
				this.browser = "IE";
				leftover = browVer.substring("MSIE".length+1, browVer.length);
			} else {
				// Netscape prior to 6.0
				this.browser = "Netscape";
				leftover = browVer.substring("Mozilla".length+1, browVer.length);
			}
		}
	}
	else if (browVer.substring(0, "Lynx".length) == "Lynx") {
		this.browser = "Lynx";
		leftover = browVer.substring("Lynx".length+1, browVer.length);
	}
	else if (browVer.substring(0, "MSIE".length) == "MSIE") {
		this.browser = "IE";
		leftover = browVer.substring("MSIE".length+1, browVer.length);
	}
	else if (browVer.substring(0, "Microsoft Internet Explorer".length) == "Microsoft Internet Explorer") {
		this.browser = "IE"
		leftover = browVer.substring("Microsoft Internet Explorer".length+1, browVer.length);
	}
	else if (browVer.substring(0, "Opera".length) == "Opera") {
		this.browser = "Opera"
		leftover = browVer.substring("Opera".length+1, browVer.length);
	}
	else if (browVer.substring(0, "Konqueror".length) == "Konqueror") {
		this.browser = "Konqueror"
		leftover = browVer.substring("Konqueror".length+1, browVer.length);
	}
	
	leftover = Trim(leftover);
	// # Try to get version info out of leftover stuff
	i = leftover.indexOf(" ");
	if (i >= 0) {
		this.version = leftover.substring(0, i);
	}
	else {
		this.version = leftover;
	}
	j = this.version.indexOf(".");
	if (j >= 0) {
		this.majorver = this.version.substring(0,j);
		this.minorver = this.version.substring(j+1, this.version.length);
	}
	else {
		this.majorver = this.version;
	}
}

function init(doAlert) { 
	what="none"; 
	if (document.layers) { 
		layerRef="document.layers"; 
		styleSwitch=""; 
		visibleVar="show"; 
		screenSize = window.innerWidth; 
		what ="ns4"; 
	} 
	if (document.all) { 
		layerRef="document.all"; 
		styleSwitch=".style"; 
		visibleVar="visible"; 
		screenSize = document.body.clientWidth + 18; 
		what ="ie4"; 
	} 
	if (document.getElementById) { 
		layerRef="document.getElementByID"; 
		styleSwitch=".style"; 
		visibleVar="visible"; 
		what="dom1"; 
	} 
	check = true;
//	if (what != "dom1") {
//		alert("Your browser does not seem to support DOM1.\nThis site may not render properly!");
//	} 
	// do a detailed browser detection and compare to list of best supported browsers
	var bd = new BrowserDetector(navigator.userAgent);
	if ((bd.browser == "IE"       && bd.majorver < 5) ||
		(bd.browser == "Netscape" && bd.majorver < 6) ||
		(bd.browser == "Mozilla"  && bd.majorver < 1) ||
		(bd.browser.substring(0, "Opera".length) == "Opera" && bd.majorver < 4)) {
		if (doAlert == 1) {
			alertStr = "Your browser is " + bd.browser + " " + bd.version + "\n\n" +
					   "Our site uses advanced XHTML/CSS features that it does not supported." + "\n" +
					   "    ** We are currently working to add support for this browser. **" + "\n\n" +
					   "The following browsers render our site properly:\tMS IE v5.0+" + "\n" +
					   "\t\t\t\t\tNetscape v6.0+" + "\n" +
					   "\t\t\t\t\tMozilla v1.0+" + "\n" +
					   "\t\t\t\t\tFirebird v0.7+" + "\n" +
					   "\t\t\t\t\tOpera v4.0+" + "\n\n" +
					   "Proceed to site anyway?\n"
					   ;
			if (!confirm(alertStr)) {
				window.location = "BrowserUpgrade.htm";
			}
		}
	}
} 

// Toggles the layer visibility on 
function showLayer(layerName) { 
	if(check) { 
		if (what =="none") { 
			return; 
		} 
		else if (what == "dom1") { 
			document.getElementById(layerName).style.display="block"; 
		} 
		else { 
			eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.display="block"'); 
		} 
	} 
	else { 
		return; 
	} 
} 

// Toggles the layer visibility off 
function hideLayer(layerName) { 
	if(check) { 
		if (what =="none") { 
			return; 
		} 
		else if (what == "dom1") { 
			document.getElementById(layerName).style.display="none"; 
		} 
		else { 
			eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.display="none"'); 
		} 
	} 
	else { 
		return; 
	} 
} 

function hideContentLayers(maxnum) {
	var layerName;
	var i=1;
	while (i <= maxnum) {
		layerName = 'RightContent' + i;
		hideLayer(layerName);
		i++;
	}
}

function hideTagLineLayers() {
	var layerName;
	var maxnum = 5;
	var i = 1;
	while (i <= maxnum) {
		layerName = 'TagLine' + i;
		hideLayer(layerName);
		i++;
	}
}

function onLoad() { 
	init(); 
}
 
function displayRight(a)
{
	var i=1;
	var total = 3
	while(i<=total)
	{
		if (document.getElementById) // DOM3 = IE5, NS6
			eval('RightContent'+i).style.display = "none";// show/hide
		else if (document.layers) // netscape 4
			document.layers[eval('RightContent'+i)].display = 'hidden';
		else // IE 4
			document.all.hideShow.eval('RightContent'+i).display = 'hidden';
	
		// eval('RightContent'+i).style.display='none';
		i++;
	}
	c=a;
	eval(a).style.display='block';
}
