//***********************************
// Browser Detect
//***********************************
BrowserDetectLog="";
var BrowserDetect =
    {
    init: function ()
        {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.imikimi_plugin = this.imikimi_plugin_temp;
        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)
        {
        this.imikimi_plugin_temp="NO";
        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)
                    {
                    BrowserDetectLog+="dataString="+dataString+"\n";
                    this.imikimi_plugin_temp=data[i].p;
                    return data[i].identity;
                    }
                }
            else if (dataProp)
                {
                this.imikimi_plugin_temp=data[i].p;
                return data[i].identity;
                }
            }
        },

    searchVersion: function (dataString)
        {
//        alert("this.versionSearchString="+this.versionSearchString+"\ndataString="+dataString);
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
        },

    dataBrowser:
        [
        {prop: window.opera,                                p: "NPAPI", identity: "Opera"},
        {string: navigator.vendor,   subString: "Apple",    p: "NO",    identity: "Safari"},
        {string: navigator.vendor,   subString: "iCab",     p: "NO",    identity: "iCab"},
        {string: navigator.vendor,   subString: "KDE",      p: "NO",    identity: "Konqueror"},
        {string: navigator.vendor,   subString: "Camino",   p: "NO",    identity: "Camino"},
        {string: navigator.userAgent,subString: "OmniWeb",  p: "NO",    identity: "OmniWeb",    versionSearch: "OmniWeb/"},
        {string: navigator.userAgent,subString: "MSIE",     p: "IE",    identity: "Explorer",   versionSearch: "MSIE"},
        {string: navigator.userAgent,subString: "Firefox",  p: "NPAPI", identity: "Firefox"},
        {string: navigator.userAgent,subString: "Netscape", p: "NPAPI", identity: "Netscape"},                              // for newer Netscapes (6+)
        {string: navigator.userAgent,subString: "Gecko",    p: "NPAPI", identity: "Mozilla",    versionSearch: "rv"},
        {string: navigator.userAgent,subString: "Mozilla",  p: "NPAPI", identity: "Netscape",   versionSearch: "Mozilla"}  // for older Netscapes (4-)
        ],

    dataOS :
        [
        {string: navigator.platform, subString: "Win",      identity: "Windows"},
        {string: navigator.platform, subString: "Mac",      identity: "Mac"},
        {string: navigator.platform, subString: "Linux",    identity: "Linux"}
        ]
    };
BrowserDetect.init();
