Merge branch 'master' of https://code.grnet.gr/git/astakos
[astakos] / snf-astakos-app / astakos / im / static / im / js / os.js
diff --git a/snf-astakos-app/astakos/im/static/im/js/os.js b/snf-astakos-app/astakos/im/static/im/js/os.js
new file mode 100644 (file)
index 0000000..930d417
--- /dev/null
@@ -0,0 +1,129 @@
+//http://www.quirksmode.org/js/detect.html\r
+var BrowserDetect = {\r
+       init: function () {\r
+               this.browser = this.searchString(this.dataBrowser) || "An unknown browser";\r
+               this.version = this.searchVersion(navigator.userAgent)\r
+                       || this.searchVersion(navigator.appVersion)\r
+                       || "an unknown version";\r
+               this.OS = this.searchString(this.dataOS) || "an unknown OS";\r
+       },\r
+       searchString: function (data) {\r
+               for (var i=0;i<data.length;i++) {\r
+                       var dataString = data[i].string;\r
+                       var dataProp = data[i].prop;\r
+                       this.versionSearchString = data[i].versionSearch || data[i].identity;\r
+                       if (dataString) {\r
+                               if (dataString.indexOf(data[i].subString) != -1)\r
+                                       return data[i].identity;\r
+                       }\r
+                       else if (dataProp)\r
+                               return data[i].identity;\r
+               }\r
+       },\r
+       searchVersion: function (dataString) {\r
+               var index = dataString.indexOf(this.versionSearchString);\r
+               if (index == -1) return;\r
+               return parseFloat(dataString.substring(index+this.versionSearchString.length+1));\r
+       },\r
+       dataBrowser: [\r
+               {\r
+                       string: navigator.userAgent,\r
+                       subString: "Chrome",\r
+                       identity: "Chrome"\r
+               },\r
+               {       string: navigator.userAgent,\r
+                       subString: "OmniWeb",\r
+                       versionSearch: "OmniWeb/",\r
+                       identity: "OmniWeb"\r
+               },\r
+               {\r
+                       string: navigator.vendor,\r
+                       subString: "Apple",\r
+                       identity: "Safari",\r
+                       versionSearch: "Version"\r
+               },\r
+               {\r
+                       prop: window.opera,\r
+                       identity: "Opera",\r
+                       versionSearch: "Version"\r
+               },\r
+               {\r
+                       string: navigator.vendor,\r
+                       subString: "iCab",\r
+                       identity: "iCab"\r
+               },\r
+               {\r
+                       string: navigator.vendor,\r
+                       subString: "KDE",\r
+                       identity: "Konqueror"\r
+               },\r
+               {\r
+                       string: navigator.userAgent,\r
+                       subString: "Firefox",\r
+                       identity: "Firefox"\r
+               },\r
+               {\r
+                       string: navigator.vendor,\r
+                       subString: "Camino",\r
+                       identity: "Camino"\r
+               },\r
+               {               // for newer Netscapes (6+)\r
+                       string: navigator.userAgent,\r
+                       subString: "Netscape",\r
+                       identity: "Netscape"\r
+               },\r
+               {\r
+                       string: navigator.userAgent,\r
+                       subString: "MSIE",\r
+                       identity: "Explorer",\r
+                       versionSearch: "MSIE"\r
+               },\r
+               {\r
+                       string: navigator.userAgent,\r
+                       subString: "Gecko",\r
+                       identity: "Mozilla",\r
+                       versionSearch: "rv"\r
+               },\r
+               {               // for older Netscapes (4-)\r
+                       string: navigator.userAgent,\r
+                       subString: "Mozilla",\r
+                       identity: "Netscape",\r
+                       versionSearch: "Mozilla"\r
+               }\r
+       ],\r
+       dataOS : [\r
+               {\r
+                       string: navigator.platform,\r
+                       subString: "Win",\r
+                       identity: "windows"\r
+               },\r
+\r
+               {\r
+                       string: navigator.userAgent.toLowerCase(),\r
+                       subString: "android",\r
+                       identity: "Android"\r
+               },\r
+               {\r
+                       string: navigator.platform,\r
+                       subString: "Mac",\r
+                       identity: "MacOS"\r
+               },\r
+               {\r
+                  string: navigator.userAgent,\r
+                  subString: "iPhone",\r
+                  identity: "iPhone"\r
+           },\r
+           {\r
+                  string: navigator.userAgent,\r
+                  subString: "iPad",\r
+                  identity: "iPad"\r
+           },\r
+               {\r
+                       string: navigator.platform,\r
+                       subString: "Linux",\r
+                       identity: "linux"\r
+               }\r
+       ]\r
+\r
+};\r
+BrowserDetect.init();\r