import rt 3.8.7
[freeside.git] / rt / share / html / NoAuth / RichText / FCKeditor / editor / _source / internals / fckbrowserinfo.js
1 /*\r
2  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
3  * Copyright (C) 2003-2009 Frederico Caldeira Knabben\r
4  *\r
5  * == BEGIN LICENSE ==\r
6  *\r
7  * Licensed under the terms of any of the following licenses at your\r
8  * choice:\r
9  *\r
10  *  - GNU General Public License Version 2 or later (the "GPL")\r
11  *    http://www.gnu.org/licenses/gpl.html\r
12  *\r
13  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
14  *    http://www.gnu.org/licenses/lgpl.html\r
15  *\r
16  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
17  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
18  *\r
19  * == END LICENSE ==\r
20  *\r
21  * Contains browser detection information.\r
22  */\r
23 \r
24 var s = navigator.userAgent.toLowerCase() ;\r
25 \r
26 var FCKBrowserInfo =\r
27 {\r
28         IsIE            : /*@cc_on!@*/false,\r
29         IsIE7           : /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 7 ),\r
30         IsIE6           : /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 6 ),\r
31         IsSafari        : s.Contains(' applewebkit/'),          // Read "IsWebKit"\r
32         IsOpera         : !!window.opera,\r
33         IsAIR           : s.Contains(' adobeair/'),\r
34         IsMac           : s.Contains('macintosh')\r
35 } ;\r
36 \r
37 // Completes the browser info with further Gecko information.\r
38 (function( browserInfo )\r
39 {\r
40         browserInfo.IsGecko = ( navigator.product == 'Gecko' ) && !browserInfo.IsSafari && !browserInfo.IsOpera ;\r
41         browserInfo.IsGeckoLike = ( browserInfo.IsGecko || browserInfo.IsSafari || browserInfo.IsOpera ) ;\r
42 \r
43         if ( browserInfo.IsGecko )\r
44         {\r
45                 var geckoMatch = s.match( /rv:(\d+\.\d+)/ ) ;\r
46                 var geckoVersion = geckoMatch && parseFloat( geckoMatch[1] ) ;\r
47 \r
48                 // Actually "10" refers to Gecko versions before Firefox 1.5, when\r
49                 // Gecko 1.8 (build 20051111) has been released.\r
50 \r
51                 // Some browser (like Mozilla 1.7.13) may have a Gecko build greater\r
52                 // than 20051111, so we must also check for the revision number not to\r
53                 // be 1.7 (we are assuming that rv < 1.7 will not have build > 20051111).\r
54 \r
55                 if ( geckoVersion )\r
56                 {\r
57                         browserInfo.IsGecko10 = ( geckoVersion < 1.8 ) ;\r
58                         browserInfo.IsGecko19 = ( geckoVersion > 1.8 ) ;\r
59                 }\r
60         }\r
61 })(FCKBrowserInfo) ;\r