/* $Date: 2009-04-17 23:12:31 +0200 (fr, 17 apr 2009) $    $Revision: 4820 $ */
var Browser = {
  init: function () {
    this.browser = this.searchString(this.dataBrowser) || "Okänd webbläsare";
    this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Okänd version";
    this.OS = this.searchString(this.dataOS) || "an unknown OS";

    this.isIE = this.browser == "Internet Explorer";
    this.isIE7 = this.browser == "Internet Explorer" && this.version >= 7;
    this.isIE6 = this.browser == "Internet Explorer" && this.version < 7;
    this.isGecko = this.browser == "Mozilla";
    this.isFF = this.browser == "Firefox";
    this.isFF2 = this.browser == "Firefox" && this.version < 3;
    this.isChrome = this.browser == "Chrome";
    this.isSafari = this.browser == "Safari";
    this.isOpera = this.browser == "Opera";
    this.isMac = this.OS == "Mac";
    this.isWindows = this.OS == "Windows";
  },
  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"},
    { 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" },
    { string: navigator.userAgent, subString: "Netscape", identity: "Netscape" },
    { string: navigator.userAgent, subString: "MSIE", identity: "Internet Explorer", versionSearch: "MSIE" },
    { string: navigator.userAgent, subString: "Gecko", identity: "Mozilla", versionSearch: "rv" },
    { 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" }
  ]
};
Browser.init();
