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: "Chrome",
		    identity: "Chrome"
		},
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari",
		    versionSearch: "Version"
		},
		{
		    prop: window.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"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    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: "iPhone",
		    identity: "iPhone/iPod"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
BrowserDetect.init();
// setup vars
var n = '';var ua = '';var is_win = '';var is_nt4 = '';var is_nt4 = '';var is_xp = '';var is_vista = '';var is_Win7 = '';
var is_ff2 = '';var is_ff3 = '';var is_ie8 = '';var is_ie7 = '';var is_ie6 = '';var is_vista = '';var is_opera = '';var is_chrome = '';
 n = navigator;
 ua = ' ' + n.userAgent.toLowerCase();
 is_win = ua.indexOf('win') > 0;
 is_nt4 = (ua.indexOf('nt 3') > 0 && ua.indexOf('win') > 0);
 is_nt4 = (ua.indexOf('nt 4') > 0 && ua.indexOf('win') > 0);
 is_xp = (ua.indexOf('nt 5') > 0 && ua.indexOf('win') > 0);
 is_vista = (ua.indexOf('nt 6.0') > 0 && ua.indexOf('win') > 0);
 is_Win7 = (ua.indexOf('nt 6.1') > 0 && ua.indexOf('win') > 0);
// find Browser
 is_ff2 = (ua.indexOf('firefox/2') > 0 && ua.indexOf('win') > 0);
 is_ff3 = (ua.indexOf('firefox/3') > 0 && ua.indexOf('win') > 0);
 is_ie8 = (ua.indexOf('msie 8') > 0 && ua.indexOf('win') > 0);
 is_ie7 = (ua.indexOf('msie 7') > 0 && ua.indexOf('win') > 0);
 is_ie6 = (ua.indexOf('msie 6') > 0 && ua.indexOf('win') > 0);
 is_vista = (ua.indexOf('nt 6.0') > 0 && ua.indexOf('win') > 0);
 is_opera = (ua.indexOf('opera') > 0 && ua.indexOf('win') > 0);
 is_chrome = (ua.indexOf('chrome') > 0 && ua.indexOf('win') > 0);
// find path & page
var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
//document.write(ua)
//NT 3.1 	Windows NT 3.1 	Workstation (named just Windows NT), Advanced Server 	27 July 1993 	528
//NT 3.5 	Windows NT 3.5 	Workstation, Server 	21 September 1994 	807
//NT 3.51 	Windows NT 3.51 	Workstation, Server 	30 May 1995 	1057
//NT 4.0 	Windows NT 4.0 	Workstation, Server, Server Enterprise Edition, Terminal Server, Embedded 	29 July 1996 	1381
//NT 5.0 	Windows 2000 	Professional, Server, Advanced Server, Datacenter Server, Advanced/Datacenter Server Limited Edition 	17 February 2000 	2195
//NT 5.1 	Windows XP 	Home, Professional, 64-bit Edition (Itanium), Media Center (original, 2003, 2004 & 2005), Tablet PC (original and 2005), Starter, Embedded, Home N, Professional N 	25 October 2001 	2600
//NT 5.1 	Windows Fundamentals for Legacy PCs 	N/A 	8 July 2006 	2600
//NT 5.2 	Windows XP 	64-bit Edition Version 2003 (Itanium)[6] 	28 March 2003 	3790
//NT 5.2 	Windows Server 2003 	Standard, Enterprise, Datacenter, Web, Storage, Small Business Server, Compute Cluster 	24 April 2003 	3790
//NT 5.2 	Windows XP 	Professional x64 Edition 	25 April 2005 	3790
//NT 5.2 	Windows Home Server 	N/A 	16 July 2007 	3790
//NT 6.0 	Windows Vista 	Home Basic, Home Premium, Business, Enterprise, Ultimate, Home Basic N, Business N 	Business: 30 November 2006
//Consumer: 30 January 2007 	6000
//6001(SP1)
//6002(SP2)
//NT 6.0 	Windows Server 2008 	Foundation, Standard, Enterprise, Datacenter, Web Server, HPC Server, Itanium-Based Systems[7] 	27 February 2008 	6001
//6002(SP2)
//NT 6.1 	Windows 7 	Starter, Home Basic, Home Premium, Professional, Enterprise, Ultimate[8] 	October 22 2009[9] 	
//NT 6.1 	Windows Server 2008 R2 	(as Windows Server 2008) 	October 22 2009[10] 	N/A