
/*
        --------------------------------------------------------------------------------------------------------------
	@package:  Environmental Tools
	@author:     Michael Walsh
	@author:     Various Sources (credited as required)
	@date:        13-08-2006
	@version:    1.0
	--------------------------------------------------------------------------------------------------------------
	MSIE 5.5+
	Firefox 1.07+
	Netscape 7.0+
	Opera 8.0+
	--------------------------------------------------------------------------------------------------------------
*/

/*
	@method:   Scope shorthand namespaces for YAHOO UI.
*/
_DOM = (typeof YAHOO!="undefined") ? YAHOO.util.Dom : null;
_ANIM = (typeof YAHOO!="undefined") ? YAHOO.util.Anim : null;
_EASING = (typeof YAHOO!="undefined") ? YAHOO.util.Easing : null;
_CON = (typeof YAHOO!="undefined") ? YAHOO.util.Connect : null;

/*
	@method:  Cookie toolkit.
	@version:   1.0
*/
Cookies =
{
	_version:1.0,
	getCookie:function(s)
	{
		var nameEQ = s+"=";
		var a = document.cookie.split(';');
		for (var i=0; i < a.length; i++)
		{
			var c = a[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},
	setCookie:function(name, value, expires, path, domain, secure)
	{
		var curCookie = name+"="+escape(value)+((expires) ? "; expires="+expires.toGMTString() : "")+((path) ? "; path="+path : "")+((domain) ? "; domain="+domain : "")+((secure) ? "; secure" : ""); 
		document.cookie = curCookie;
	},
	isEnabled:function()
	{
		var cookies = false, exp = new Date(); exp.setTime(exp.getTime()+1800000);
		Cookies.setCookie("cookies", "cookies", exp, false, false, false);
		if (Cookies.getCookie("cookies")) cookies = true;
		exp = new Date(); exp.setTime(exp.getTime() - 1800000);
		Cookies.setCookie("cookies", "cookies", exp, false, false, false);
		return cookies;
	}
}

/*
	@method:   Browser/OS Detection.
	@version:   1.0
	@url:          http://www.quirksmode.org/js/detect.html
*/
var BrowserDetect =
{
	init: function()
	{
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function(data)
	{
		for (var i=0;i<data.length;i++)
		{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; }
			else if (dataProp) return data[i].identity;
		}
	},
	searchVersion: function(dataString)
	{
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser:
	[
		{ string: navigator.userAgent, subString: "OmniWeb", versionSearch: "OmniWeb/", identity: "OmniWeb" },
		{ string: navigator.userAgent, subString: "Safari", identity: "Safari" },
		{ string: navigator.vendor, subString: "Apple", identity: "Safari" },
		{ prop: window.opera, identity: "Opera" },
		{ string: navigator.userAgent, subString: "Opera", identity: "Opera" },
		{ string: navigator.vendor, subString: "iCab", identity: "iCab" },
		{ string: navigator.vendor, subString: "KDE", identity: "Konqueror" },
		{ string: navigator.userAgent, subString: "Firefox", identity: "Firefox" },
		{ string: navigator.vendor, subString: "Camino", identity: "Camino" },
		{ string: navigator.userAgent, subString: "Netscape6", versionSearch: "Netscape6", identity: "Netscape" },
		{ string: navigator.userAgent, subString: "Netscape",identity: "Netscape" },
		{ string: navigator.userAgent, subString: "MSIE", identity: "MSIE", versionSearch: "MSIE" },
		{ string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" },
		{ string: navigator.userAgent, subString: "Mozilla", identity: "Netscape", versionSearch: "Mozilla" }
	],
	dataOS:
	[
		{ string: navigator.platform, subString: "Win", identity: "Windows" },
		{ string: navigator.platform, subString: "Mac", identity: "Mac" },
		{ string: navigator.userAgent, subString: "Mac", identity: "Mac" },
		{ string: navigator.userAgent, subString: "OS X", identity: "Mac" },
		{ string: navigator.userAgent, subString: "PPC", identity: "Mac" },
		{ string: navigator.platform, subString: "Linux", identity: "Linux" }
	]
};

/*
	@method:   Environmental flags setup.
*/
BrowserDetect.init();

_platform = BrowserDetect.OS;
_browser = BrowserDetect.browser;
_version = BrowserDetect.version;
_cookies = Cookies.isEnabled();

is_ie = (_browser=='MSIE');
is_nav = (_browser=='Netscape');
is_opera = (_browser=='Opera');
is_firefox = (_browser=='Firefox');
is_safari = (_browser=='Safari');
is_mac = (_platform=='Mac');
is_windows = (_platform=='Windows');
is_linux = (_platform=='Linux');
isBrowserBlacklisted = (is_mac&&is_ie)||(is_ie&&!(_version>5.5))||(is_opera&&!(_version>=8))||(is_nav&&!(_version>=7));
;
/*
	@method:   Black list redirection.
*/
if (isBrowserBlacklisted) window.location = 'support.html';


