// * Browser name: BrowserDetect.browser
// * Browser version: BrowserDetect.version
// * Browser check (z.B. Safari): BrowserDetect.isSafari()
// * OS name: BrowserDetect.OS

 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) {
 var ident;
 for (var i=0;i<data.length;i++) {
 var dataString = data[i].string;
 var dataProp = data[i].prop;
 eval("this.is"+data[i].identity+" = function(){return this.browser == \""+data[i].identity+"\";}");
 if(!ident)this.versionSearchString = data[i].versionSearch || data[i].identity;
 if (dataString) {
 if (dataString.indexOf(data[i].subString) != -1)
 if(!ident)ident = data[i].identity;
 }
 else if (dataProp)
 if(!ident)ident = data[i].identity;
 }
 return ident;
 },
 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: "Chrome",
 versionSearch: "Chrome/",
 identity: "Chrome"
 },
 { string: navigator.vendor,
 subString: "Apple",
 identity: "Safari"
 },
 { 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();