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: "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"

                        },

                        {                       // 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();
