/*
 * Stolen from http://www.quirksmode.org/js/detect.html
 * and modified.
 */
function BrowserCheck(browsers_) {
    var browsers = [
		{
			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"
		}
    ];

    var versionSearchString = null;

    function search_string() {
        for (var i=0;i<browsers.length;i++)	{
            var dataString = browsers[i].string;
            var dataProp = browsers[i].prop;
            versionSearchString = browsers[i].versionSearch || browsers[i].identity;
            if (dataString) {
                if (dataString.indexOf(browsers[i].subString) != -1)
                return browsers[i].identity;
            } else if (dataProp)
                return browsers[i].identity;
        }
    }

    function search_version(dataString) {
        var index = dataString.indexOf(versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+versionSearchString.length+1));
    }

    var found_browser = search_string() || "_unknown";
    var found_version = search_version(navigator.userAgent) || search_version(navigator.appVersion) || "_unknown";

    return found_browser != "_unknown" && found_version != "_unknown" && typeof(browsers_[found_browser]) != "undefined" && found_version >= browsers_[found_browser];
}

browser_check = BrowserCheck({
					"Firefox" : 3,
					"Chrome" : 10,
					"Opera" : 9,
					"Explorer" : 9,
					"Safari" : 5
				});

