8 * Version of Prado clientscripts
14 * Registry for Prado components
20 * Returns browser information.
22 * var browser = Prado.Browser();
23 * alert(browser.ie); //should ouput true if IE, false otherwise
25 * @function {object} ?
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)
49 var info = { Version : "1.0" };
50 var is_major = parseInt( navigator.appVersion );
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;
73 * Import CSS from Url.
75 * @param doc - document DOM object
76 * @param css_file - Url to CSS file
78 ImportCss : function(doc, css_file)
80 if (Prado.Browser().ie)
81 var styleSheet = doc.createStyleSheet(css_file);
84 var elm = doc.createElement("link");
86 elm.rel = "stylesheet";
90 if (headArr = doc.getElementsByTagName("head"))
91 headArr[0].appendChild(elm);