Subversion-Projekte lars-tiefland.prado

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

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