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.platform,
                       subString: "Linux",
                       identity: "Linux"
               }
       ]

};
BrowserDetect.init();