]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/framework/Web/Javascripts/source/prado/prado.js
baculum: Update PRADO framework from v3.2.3 to v3.2.4
[bacula/bacula] / gui / baculum / framework / Web / Javascripts / source / prado / prado.js
1 /**
2  * Prado base namespace
3  * @namespace Prado
4  */
5 var Prado =
6 {
7         /**
8          * Version of Prado clientscripts
9          * @var Version
10          */
11         Version: '3.2.4',
12         
13         /**
14          * Registry for Prado components
15          * @var Registry
16          */
17         Registry: $H(),
18
19         /**
20          * Returns browser information. 
21          * <pre>
22          * var browser = Prado.Browser();
23          * alert(browser.ie); //should ouput true if IE, false otherwise
24          * </pre>
25          * @function {object} ?
26          * @version 1.0
27          * @returns browserinfo
28          * @... {string} agent - Reported user agent
29          * @... {string} ver - Reported agent version
30          * @... {0|1} dom - 1 for DOM browsers 
31          * @... {0|1} ns4 - 1 for Netscape 4
32          * @... {0|1} ns6 - 1 for Netscape 6 and Firefox
33          * @... {boolean} ie3 - true for IE 3
34          * @... {0|1} ie5 - 1 for IE 5
35          * @... {0|1} ie6 - 1 for IE 6
36          * @... {0|1} ie4 - 1 for IE 4
37          * @... {0|1} ie - 1 for IE 4-6
38          * @... {0|1} hotjava - 1 for HotJava
39          * @... {0|1} ver3 - 1 for IE3 and HotJava
40          * @... {0|1} opera - 1 for Opera
41          * @... {boolean} opera7 - true for Opera 7
42          * @... {0|1} operaOld - 1 for older Opera    
43          * @... {0|1} bw - 1 for IE 4-6, Netscape 4&6, Firefox and Opera
44          * @... {boolean} mac - true for mac systems 
45          * @... {static} Version - Version of returned structure (1.0)
46          */
47         Browser : function()
48         {
49                 var info = { Version : "1.0" };
50                 var is_major = parseInt( navigator.appVersion );
51                 info.nver = is_major;
52                 info.ver = navigator.appVersion;
53                 info.agent = navigator.userAgent;
54                 info.dom = document.getElementById ? 1 : 0;
55                 info.opera = window.opera ? 1 : 0;
56                 info.ie5 = ( info.ver.indexOf( "MSIE 5" ) > -1 && info.dom && !info.opera ) ? 1 : 0;
57                 info.ie6 = ( info.ver.indexOf( "MSIE 6" ) > -1 && info.dom && !info.opera ) ? 1 : 0;
58                 info.ie4 = ( document.all && !info.dom && !info.opera ) ? 1 : 0;
59                 info.ie = info.ie4 || info.ie5 || info.ie6;
60                 info.mac = info.agent.indexOf( "Mac" ) > -1;
61                 info.ns6 = ( info.dom && parseInt( info.ver ) >= 5 ) ? 1 : 0;
62                 info.ie3 = ( info.ver.indexOf( "MSIE" ) && ( is_major < 4 ) );
63                 info.hotjava = ( info.agent.toLowerCase().indexOf( 'hotjava' ) != -1 ) ? 1 : 0;
64                 info.ns4 = ( document.layers && !info.dom && !info.hotjava ) ? 1 : 0;
65                 info.bw = ( info.ie6 || info.ie5 || info.ie4 || info.ns4 || info.ns6 || info.opera );
66                 info.ver3 = ( info.hotjava || info.ie3 );
67                 info.opera7 = ( ( info.agent.toLowerCase().indexOf( 'opera 7' ) > -1 ) || ( info.agent.toLowerCase().indexOf( 'opera/7' ) > -1 ) );
68                 info.operaOld = info.opera && !info.opera7;
69                 return info;
70         },
71
72         /**
73          * Import CSS from Url.
74          * @function ?
75          * @param doc - document DOM object
76          * @param css_file - Url to CSS file
77          */
78         ImportCss : function(doc, css_file)
79         {
80                 if (Prado.Browser().ie)
81                         var styleSheet = doc.createStyleSheet(css_file);
82                 else
83                 {
84                         var elm = doc.createElement("link");
85
86                         elm.rel = "stylesheet";
87                         elm.href = css_file;
88                         var headArr;
89
90                         if (headArr = doc.getElementsByTagName("head"))
91                                 headArr[0].appendChild(elm);
92                 }
93         }
94 };