// JavaScript Document
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//<Script>

	// Functions needed to fix Netscape CSS resize bug
	// Do not erase for peril of your immortal soul
	 function WM_netscapeCssFix() {
	  /*
	    Source: Webmonkey Code Library
	    (http://www.hotwired.com/webmonkey/javascript/code_library/)

	    Author: Taylor
	    Author Email: taylor@wired.com
	    Author URL: http://www.taylor.org/
	    */

	  // This part was inspired by Matthew_Baird@wayfarer.com
	  // It gets around another unfortunate bug whereby Netscape 
	  // fires a resize event when the scrollbars pop up. This 
	  // checks to make sure that the window's available size 
	  // has actually changed.
	  if (document.WM.WM_netscapeCssFix.initWindowWidth != window.innerWidth || document.WM.WM_netscapeCssFix.initWindowHeight != window.innerHeight) {
	    document.location = document.location;
	  }
	}

	function WM_netscapeCssFixCheckIn() {
	  // This function checks to make sure the version of Netscape 
	  // in use contains the bug; if so, it records the window's 
	  // width and height and sets all resize events to be handled 
	  // by the WM_netscapeCssFix() function.
	  if ((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) == 4)) {
	    if (typeof document.WM == 'undefined'){
	      document.WM = new Object;
	    }
	    if (typeof document.WM.WM_scaleFont == 'undefined') {
	      document.WM.WM_netscapeCssFix = new Object;
	      document.WM.WM_netscapeCssFix.initWindowWidth = window.innerWidth;
	      document.WM.WM_netscapeCssFix.initWindowHeight = window.innerHeight;
	    }
	    window.onresize = WM_netscapeCssFix;
	  }
	}

	WM_netscapeCssFixCheckIn()
	
	// Constructor for SnifferClass
	function SnifferClass()
	{	
		if(window.navigator.platform) {
			this.raw = new String();
			this.raw = window.navigator.userAgent;
			this.isWindows = isWindows;
		
			if (window.navigator.appName == "Microsoft Internet Explorer") {
				var aParts = this.raw.split(";")
				this.os = aParts[2];
				var aClient = aParts[1].split(" ");
				this.browser = aClient[1];
				this.version = aClient[2];
				// version could be 6.0b,  we need just the numeric
				// portion so we can do numeric compares (greater than, less than)
				if (isNaN(Number(this.version)))
					this.version = this.version.replace(/[^0-9\.]/g, "");
			} else if(window.navigator.appName == "Netscape") {
				var aParts = this.raw.split(";")
					
				this.os = window.navigator.platform;
				this.browser = window.navigator.appName;
				this.version = getNavVersion();
			}
		
			this.isIE = isIE(this.browser);
			this.isWin = isWindows();
		} else {
			this.version = 3.0;
		}
	}
	
	function isWindows()
	{
		var oPattern = new RegExp("Win")
		if(navigator.platform.match(oPattern) != null)
			return true;
		else
			return false;
	}
	
	function isIE(sClient)
	{
		if(sClient == "MSIE")
		{
			return true;
		} else {
			return false;
		}
		
	}
	
	function isNetscape()
	{
		if(window.navigator.userAgent.indexOf("Netscape") != -1)
			{return true;} 
		else 
			{return false;}
	}
	
	function isFirefox()
	{
		if(window.navigator.userAgent.indexOf("Firefox") != -1)
			{return true;} 
		else 
			{return false;}
	}
	
	function getNavVersion()
	{
		var oPattern = new RegExp("\\d+\\.\\d*")
		var aParts = navigator.appVersion.match(oPattern);
		return aParts;
	}

	
	
	
	
	
	
	
	
	
	