// info based on http://www.howtocreate.co.uk/tutorials/jsexamples/sniffer.html
function Sniffer() {
	var agent = navigator.userAgent.toLowerCase();

	this.browser = "unknown";
	this.upgradeBrowser = false;
	this.hideWindowedControls = false;
	this.stopEvent = false;
	this.hover = true;
	
	this.macintosh = (agent.indexOf("mac") > -1) && (agent.indexOf("mach") == -1);


	if (navigator.vendor == "KDE") { 
		this.browser = "Konqueror"; 
	} else if (navigator.__ice_version) { 
		this.browser = "ICEBrowser"; 
	} else if (window.ScriptEngine && (ScriptEngine().indexOf("InScript") > -1)) { 
		this.browser = "iCab"; 
	} else if ((agent.indexOf("hotjava") > -1) && (typeof(navigator.accentColorName) == "undefined")) {
		this.browser = "HotJava";
	} else if (document.layers && !document.classes) { 
		this.browser = "OmniWeb 4.2"; 
	} else if (document.layers && document.classes && !navigator.mimeTypes["*"]) { 
		this.browser = "Escape version 4"; 
	} else if (document.layers && navigator.mimeTypes["*"]) {
		this.browser = "Netscape Navigator version 4";
		this.upgradeBrowser = true;
	} else if (document.all && document.getElementById && navigator.savePreferences) {
		this.browser = "Escape version 5";
	} else if (agent.indexOf("opera") > -1) { 
		this.browser = "Opera"; 
	} else if (navigator.appName.toLowerCase().indexOf("webtv") > -1) { 
		this.browser = "WebTV"; 
		this.upgradeBrowser = true; 
	} else if (agent.indexOf("ipanel") > -1) { 
		this.browser = "iPanel MicroBrowser"; 
	} else if (agent.indexOf("netgem") > -1) { 
		this.browser = "Netgem NetBox"; 
	} else if (agent.indexOf("opentv") > -1) {
		this.browser = "OpenTV"; 
	} else if (navigator.product == "Gecko") {
		if (agent.indexOf("safari") > -1) {
			this.browser = "Safari";
		} else if (typeof(window.find) == "undefined" && agent.indexOf("7.0/7.0") == -1) {
			this.browser = "Netscape Navigator version 6";
			this.upgradeBrowser = true;
		} else if (this.macintosh) {
			this.browser = "Netscape Navigator version 7 for Mac";
			this.stopEvent = true;
		} else {
			if (agent.indexOf("netscape") > -1) {
				this.browser = "Netscape Navigator version 7";
				this.stopEvent = true;
			} else if (agent.indexOf("firefox") > -1) {
				this.browser = "Mozilla Firefox";
			} else {
				this.browser = "Mozilla";
			}
		}
	} else if ((agent.indexOf("netfront") > -1) || (navigator.appName == "Blazer")) { 
		this.browser = "NetFront"; 
	} else if (typeof(document.all) != "undefined") {
		this.browser = "Microsoft Internet Explorer";
		this.hideWindowedControls = true;
		if (this.macintosh) { // Mac MSIE not supported
			this.browser = this.browser.concat(" for Mac"); 
			this.upgradeBrowser = true; 
		} else if (!document.getElementById) { 
			this.browser = this.browser.concat(" version 4");
			this.upgradeBrowser = true;	
		} else if (typeof(document.getElementById) != "undefined") {
			if (!document.compatMode) { 
				if (agent.indexOf("msie 5.0;") > -1) { 
					this.browser = this.browser.concat(" version 5.0"); 
					this.upgradeBrowser = true; 
				} else if (agent.indexOf("msie 5.01;") > -1) {
					this.browser = this.browser.concat(" version 5.01");
				} else {
					this.browser = this.browser.concat(" version 5.5");	
				}
			} else { 
				this.browser = this.browser.concat(" version 6"); 
			}
		}
	} else if (document.childNodes && !document.all && !navigator.taintEnabled) {
		if (!accentColorName) {	
			this.browser = "Safari";
		} else { 
			this.browser = "OmniWeb version 4.5"; 
		}
	}
}

var sniffer = new Sniffer();
window.onload =	function() {
	if (sniffer.upgradeBrowser && (document.location.href.indexOf("upgradeBrowser") < 0)) { 
		document.location.href = "/upgradeBrowser.do"; 
	} 
}
