
// Script used to detemine which browser we and running and set the appropriate stylesheet(s).

// STYLE SHEETS ////////////////////////////////////////////////////////

// Trident rendering engine style sheets 
var tridentWrapper 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/trident/en/theme.css\" type=\"text/css\" />";
var tridentContent 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/trident/en/content.css\" type=\"text/css\" />";
var tridentWrapperOr = "<link rel=\"stylesheet\" href=\"/config/html/en/theme/trident/en/override_theme.css\" type=\"text/css\" />";
var tridentContentOr = "<link rel=\"stylesheet\" href=\"/config/html/en/theme/trident/en/override_content.css\" type=\"text/css\" />";

// Trident compatable this browser style sheets (Trident quirks, Tasman, WebCore, KHTML, iCab)
var ie3 		= "<!--  -->";
var ie4 		= "<!--  -->";
var ie4Or 		= "<!--  -->";
var ie4Mac 		= "<!--  -->";
var ie51MacOr 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/ie51m/en/thisbrowser.css\" type=\"text/css\" />";
var ie52MacOr 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/ie52m/en/thisbrowser.css\" type=\"text/css\" />";
var ie6Or 		= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/ie6/en/thisbrowser.css\" type=\"text/css\" />";
var safariOr 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/safari/en/thisbrowser.css\" type=\"text/css\" />";
var konquerorOr = "<link rel=\"stylesheet\" href=\"/config/html/en/theme/konqueror/en/thisbrowser.css\" type=\"text/css\" />";

// Gecko rendering engine style sheets
var geckoWrapper 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/gecko/en/theme.css\" type=\"text/css\" />";
var geckoContent 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/gecko/en/content.css\" type=\"text/css\" />";
var geckoWrapperOr = "<link rel=\"stylesheet\" href=\"/config/html/en/theme/gecko/en/override_theme.css\" type=\"text/css\" />";
var geckoContentOr = "<link rel=\"stylesheet\" href=\"/config/html/en/theme/gecko/en/override_content.css\" type=\"text/css\" />";

// Gecko compatable this browser style sheets (Gecko quirks, Presto)
var ff105Or 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/ff105/en/thisbrowser.css\" type=\"text/css\" />";
var ns60 		= "<!--  -->";
var ns71MacOr 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/ns71m/en/thisbrowser.css\" type=\"text/css\" />";
var mozillaLinOr = "<!--  -->";
var operaOr 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/opera/en/thisbrowser.css\" type=\"text/css\" />";
var operaMacOr 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/opera/en/thisbrowser.css\" type=\"text/css\" />";
var operaLinOr 	= "<link rel=\"stylesheet\" href=\"/config/html/en/theme/opera/en/thisbrowser.css\" type=\"text/css\" />";

// Mariner rendering engine style sheets
var ns4Wrapper 	= "<!--  -->";
var ns4Content 	= "<!--  -->";
var ns4WrapperOr = "<!--  -->";
var ns4ContentOr = "<!--  -->";
var ns4WrapperMac= "<!--  -->";
var ns4ContentMac= "<!--  -->";
var ns4WrapperMacOr = "<!--  -->";
var ns4ContentMacOr = "<!--  -->";

// DETECTION ////////////////////////////////////////////////////////

var index;
var	tridentBase, geckoBase;
var cssString;
var ua;

// User agent detection
Browser = {
	// Function not being use at this time.
	isSupported : function(){
		return (Boolean(document.getElementsByTagName)
				&& Boolean(document.getElementById));
	},
	// Check the User Agent string and return TRUE if Windows.
	isWin : function() {
		return (Boolean(navigator.userAgent.indexOf("Win") > 0));
	},
	// Check the User Agent string and return TRUE if Macinosh.
	isMac : function() {
		return (Boolean(navigator.userAgent.indexOf("Mac") > 0));
	},
	// Check the User Agent string for the Macintosh OS X
	MacOSVersion : function() {
		return (Boolean(navigator.userAgent.indexOf("OS X") > 0));
	},	

// Browser detection
	id : new function() {
		ua= navigator.userAgent;
		// Internet Explorer 
		this.IE3 = 	ua.indexOf("MSIE 3") > 0;
		if(this.IE3 == true) return;
		this.IE4 = 	ua.indexOf("MSIE 4") > 0;	
		if(this.IE4 == true) return;	
		this.IE5_1 = ua.indexOf("MSIE 5.1") > 0;
		if(this.IE5_1 == true) return;
		this.IE5_2 = ua.indexOf("MSIE 5.2") > 0;
		this.IE5 = 	ua.indexOf("MSIE 5") > 0;
		this.IE6 = 	ua.indexOf("MSIE 6") > 0 || 
					ua.indexOf("xplore" ) > 0;
		this.IE7 = 	ua.indexOf("MSIE 7") > 0;
		this.IE8 = 	ua.indexOf("MSIE 8") > 0;
		// Firefox
		this.FF = ua.indexOf("Firefox/1.0") > 0;
		if(this.FF == true) return;
		this.FF1_5 = ua.indexOf("Firefox/") > 0;
		// Netscape
		this.NS4 = 	ua.indexOf("Mozilla/4") >= 0 && navigator.appName=="Netscape";
		this.NS6 = 	ua.indexOf("Netscape6/6.0") > 0;
		this.NS6_1 = 	ua.indexOf("Netscape6/6.1") > 0 ||
						ua.indexOf("Netscape6/6.2") > 0;
		this.NS7 =  (ua.indexOf("Netscape/7") > 0 || 
					ua.indexOf("AOL 7.") > 0 ||
					ua.indexOf("2000 7.") >0) &&
					(ua.indexOf("Netscape/7.1") == -1) &&
					(ua.indexOf("Netscape/7.2") == -1);
		this.NS7_1 = ua.indexOf("Netscape/7.1") > 0;
		this.NS7_2 = ua.indexOf("Netscape/7.2") > 0;
		// Opera
		this.OP = ua.indexOf("Opera") >= 0 || ua.indexOf("EPOC") >= 0;
		if(this.OP == true) return;
		// iCab
		this.ICAB = ua.indexOf("iCab") > 0;
		// Konqueror (Linux)		
		this.KONQUEROR = ua.indexOf("Konqueror") > 0;
		if(this.KONQUEROR == true) return;
		// OmniWeb
		this.OMNI = ua.indexOf("Omni") > 0;		
		// Safari
		this.SAFARI = ua.indexOf("Safari") > 0;		
		// Unknown
		this.UNKNOWN = "unknown";
	},
	// return the User Agent string -- used for development, not in production
	toString : function(){return navigator.userAgent;}
};

// Base style sheets dichotomy
tridentBase = tridentWrapper + tridentContent + tridentWrapperOr + tridentContentOr;
geckoBase = geckoWrapper + geckoContent + geckoWrapperOr + geckoContentOr;

// Determine which browser variable is set to true
for(index in Browser.id) {
	if ( Browser.id[index] ) {
		break;
	}
}

cssString = "";
//alert(index)

// MACINTOSH STYLE SHEET DELIVERY

if ( Browser.isMac() ) {
//alert("Hello Macintosh user, you are " + index)
	switch (index) {
		case "IE5_2":
			cssString = tridentBase;
			cssString += ie52MacOr;
			break;
		case "IE5":
			cssString = tridentBase;
			break;
		case "IE5_1":
			cssString = ie51MacOr;
			break;
		case "FF":
			cssString = geckoBase;
			cssString += ff105Or;
			break;	
		case "FF1_5":
			cssString = geckoBase;
			break;	
		case "NS7_2":
			cssString = geckoBase;
			cssString += ff105Or;
			break;	
		case "NS7_1":
			cssString = geckoBase;
			cssString += ns71MacOr;
			break;
		case "NS6":
			cssString = ns60;
			break;
		case "NS6_1":
		case "NS7":
			cssString = geckoBase;
			if ( Browser.MacOSVersion ) {
				cssString += ff105Or;
			}
			break;	
		case "SAFARI":
			cssString = tridentBase;
			cssString += safariOr;
			break;
		case "OMNI":
			cssString = tridentBase;
			cssString += safariOr;
			break;
		case "OP":
			cssString = geckoBase;
			cssString += operaMacOr;
			break;
		case "ICAB":
			cssString = tridentBase;
			cssString += ie52MacOr;
			break;
		case "NS4":
			document.write(ns4WrapperMac);
			document.write(ns4ContentMac);
			document.write(ns4WrapperMacOr);
			document.write(ns4ContentMacOr);
			cssString=" ";
			break;
		case "IE4":
			cssString = ie4Mac;
			break;
		default:
			// Default to Gecko
			cssString = geckoBase;
			break;
	}
}

// WINDOWS STYLE SHEET DELIVERY

else
if ( Browser.isWin() ) {
//alert("Hello Windows user, you are " + index)
	switch (index) {
		case "OP":
			cssString = geckoBase;
			cssString += operaOr;
			break;
		case "IE5":
		case "IE6":
			cssString = tridentBase;
			cssString += ie6Or;
			break;
		case "IE7":
		case "IE8":
			cssString = tridentBase;
			break;
		case "FF":
			cssString = geckoBase;
			cssString += ff105Or;
			break;	
		case "FF1_5":
			cssString = geckoBase;
			break;	
		case "NS6":
			cssString = ns60;
			break;
		case "NS6_1":
		case "NS7":
		case "NS7_1":
		case "NS7_2":
			cssString = geckoBase;
			cssString += ff105Or;
			break;
		case "IE4":
			cssString = ie4 + ie4Or;
			break;
		case "NS4":
			document.write(ns4Wrapper);
			document.write(ns4Content);
			document.write(ns4WrapperOr);
			document.write(ns4ContentOr);
			cssString="";
			break;
		case "IE3":
			cssString = ie3;
			break;
		default:
			// Default to Gecko
			cssString = geckoBase;
			break;
	}
}

// LINUX AND OTHER STYLE SHEET DELIVERY

else {
//alert("Hello other user, you are " + index + "  " + ua)
	switch (index) {
		case "FF":
			cssString = geckoBase;
			cssString += ff105Or;
			break;	
		case "FF1_5":
			cssString = geckoBase;
			break;	
		case "NS6":
			cssString = ns60;
			break;
		case "NS6_1":
			cssString = geckoBase;
			cssString += ff105Or;
			break;
		case "NS7":
		case "NS7_1":
		case "NS7_2":
			cssString = geckoBase;
			cssString += ff105Or;
			break;
		case "KONQUEROR":
			cssString = tridentBase;
			cssString += konquerorOr;
			break;
		case "OP":
			cssString = geckoBase;
			cssString += operaLinOr;
			break;
		case "NS4":
			document.write(ns4Wrapper);
			document.write(ns4Content);
			document.write(ns4WrapperOr);
			document.write(ns4ContentOr);
			cssString="";
			break;
		default:
			// Default to Gecko
			cssString = geckoBase;
			break;
	}
}

// WRITE STYLE SHEET TO BROWSER
document.write( cssString );