partial implementation of new fieldified preferences system
[brisk.git] / web / probrowser.js
1 function get_browser_agent()
2 {
3         var ua = navigator.userAgent.toLowerCase();
4         var opera = ((ua.indexOf('opera') != -1) ? true : false);
5         var espial = ((ua.indexOf('escape') != -1) ? true : false);
6         var safari = ((ua.indexOf('safari') != -1) ? true : false);
7         var firefox = ((ua.indexOf('firefox') != -1) ? true : false);
8         var msie = ((ua.indexOf('msie') != -1) ? true : false);
9         var mac = ((ua.indexOf('mac') != -1) ? true : false);
10         var unix = ((ua.indexOf('x11') != -1) ? true : false);
11         var win = ((mac || unix) ? false : true);
12         var version = false;
13         var mozilla = false;
14
15         if (!firefox && !safari && (ua.indexOf('gecko') != -1)) {
16                 mozilla = true;
17                 var _tmp = ua.split('/');
18                 version = _tmp[_tmp.length - 1].split(' ')[0];
19         }
20
21         if (firefox)
22         {
23                 var _tmp = ua.split('/');
24                 version = _tmp[_tmp.length - 1].split(' ')[0];
25         }
26         if (msie)
27                 version = ua.substring((ua.indexOf('msie ') + 5)).split(';')[0];
28
29         if (safari)
30         {
31                 /**
32                 * Safari doesn't report a string, have to use getBrowserEngine to get it
33                 */
34                 //        version = this.getBrowserEngine().version;
35                 version = ua.substring((ua.indexOf('safari/') + 7)).split(' ')[0];
36
37         }
38
39         if (opera)
40                 version = ua.substring((ua.indexOf('opera/') + 6)).split(' ')[0];
41
42         /**
43         * Return the Browser Object
44         * @type Object
45         */
46         var browsers = {
47             ua: navigator.userAgent,
48             opera: opera,
49             espial: espial,
50             safari: safari,
51             firefox: firefox,
52             mozilla: mozilla,
53             msie: msie,
54             mac: mac,
55             win: win,
56             unix: unix,
57             version: version
58         }
59         return browsers;
60 }