Merge remote-tracking branch 'origin/newstyles' into newstyles
[astakos] / snf-astakos-app / astakos / im / static / im / js / os.js
1 var BrowserDetect = {\r
2         init: function () {\r
3                 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";\r
4                 this.version = this.searchVersion(navigator.userAgent)\r
5                         || this.searchVersion(navigator.appVersion)\r
6                         || "an unknown version";\r
7                 this.OS = this.searchString(this.dataOS) || "an unknown OS";\r
8         },\r
9         searchString: function (data) {\r
10                 for (var i=0;i<data.length;i++) {\r
11                         var dataString = data[i].string;\r
12                         var dataProp = data[i].prop;\r
13                         this.versionSearchString = data[i].versionSearch || data[i].identity;\r
14                         if (dataString) {\r
15                                 if (dataString.indexOf(data[i].subString) != -1)\r
16                                         return data[i].identity;\r
17                         }\r
18                         else if (dataProp)\r
19                                 return data[i].identity;\r
20                 }\r
21         },\r
22         searchVersion: function (dataString) {\r
23                 var index = dataString.indexOf(this.versionSearchString);\r
24                 if (index == -1) return;\r
25                 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));\r
26         },\r
27         dataBrowser: [\r
28                 {\r
29                         string: navigator.userAgent,\r
30                         subString: "Chrome",\r
31                         identity: "Chrome"\r
32                 },\r
33                 {       string: navigator.userAgent,\r
34                         subString: "OmniWeb",\r
35                         versionSearch: "OmniWeb/",\r
36                         identity: "OmniWeb"\r
37                 },\r
38                 {\r
39                         string: navigator.vendor,\r
40                         subString: "Apple",\r
41                         identity: "Safari",\r
42                         versionSearch: "Version"\r
43                 },\r
44                 {\r
45                         prop: window.opera,\r
46                         identity: "Opera",\r
47                         versionSearch: "Version"\r
48                 },\r
49                 {\r
50                         string: navigator.vendor,\r
51                         subString: "iCab",\r
52                         identity: "iCab"\r
53                 },\r
54                 {\r
55                         string: navigator.vendor,\r
56                         subString: "KDE",\r
57                         identity: "Konqueror"\r
58                 },\r
59                 {\r
60                         string: navigator.userAgent,\r
61                         subString: "Firefox",\r
62                         identity: "Firefox"\r
63                 },\r
64                 {\r
65                         string: navigator.vendor,\r
66                         subString: "Camino",\r
67                         identity: "Camino"\r
68                 },\r
69                 {               // for newer Netscapes (6+)\r
70                         string: navigator.userAgent,\r
71                         subString: "Netscape",\r
72                         identity: "Netscape"\r
73                 },\r
74                 {\r
75                         string: navigator.userAgent,\r
76                         subString: "MSIE",\r
77                         identity: "Explorer",\r
78                         versionSearch: "MSIE"\r
79                 },\r
80                 {\r
81                         string: navigator.userAgent,\r
82                         subString: "Gecko",\r
83                         identity: "Mozilla",\r
84                         versionSearch: "rv"\r
85                 },\r
86                 {               // for older Netscapes (4-)\r
87                         string: navigator.userAgent,\r
88                         subString: "Mozilla",\r
89                         identity: "Netscape",\r
90                         versionSearch: "Mozilla"\r
91                 }\r
92         ],\r
93         dataOS : [\r
94                 {\r
95                         string: navigator.platform,\r
96                         subString: "Win",\r
97                         identity: "windows"\r
98                 },\r
99                 {\r
100                         string: navigator.platform,\r
101                         subString: "Mac",\r
102                         identity: "MacOS"\r
103                 },\r
104                 {\r
105                    string: navigator.userAgent,\r
106                    subString: "iPhone",\r
107                    identity: "iPhone"\r
108             },\r
109             {\r
110                    string: navigator.userAgent,\r
111                    subString: "iPad",\r
112                    identity: "iPad"\r
113             },\r
114                 {\r
115                         string: navigator.platform,\r
116                         subString: "Linux",\r
117                         identity: "linux"\r
118                 }\r
119         ]\r
120 \r
121 };\r
122 BrowserDetect.init();\r