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();



