1 | // IE fixes javascript
|
---|
2 |
|
---|
3 | var isMSIE55 = (window.showModalDialog && window.clipboardData && window.createPopup);
|
---|
4 | var doneIETransform;
|
---|
5 | var doneIEAlphaFix;
|
---|
6 |
|
---|
7 | if (document.attachEvent)
|
---|
8 | document.attachEvent('onreadystatechange', hookit);
|
---|
9 |
|
---|
10 | function hookit() {
|
---|
11 | if (!doneIETransform && document.getElementById && document.getElementById('bodyContent')) {
|
---|
12 | doneIETransform = true;
|
---|
13 | relativeforfloats();
|
---|
14 | fixalpha();
|
---|
15 | }
|
---|
16 | }
|
---|
17 |
|
---|
18 | // png alpha transparency fixes
|
---|
19 | function fixalpha( logoId ) {
|
---|
20 | // bg
|
---|
21 | if (isMSIE55 && !doneIEAlphaFix)
|
---|
22 | {
|
---|
23 | var plogo = document.getElementById( logoId || 'p-logo' );
|
---|
24 | if (!plogo) return;
|
---|
25 |
|
---|
26 | var logoa = plogo.getElementsByTagName('a')[0];
|
---|
27 | if (!logoa) return;
|
---|
28 |
|
---|
29 | var bg = logoa.currentStyle.backgroundImage;
|
---|
30 | var imageUrl = bg.substring(5, bg.length-2);
|
---|
31 |
|
---|
32 | doneIEAlphaFix = true;
|
---|
33 |
|
---|
34 | if (imageUrl.substr(imageUrl.length-4).toLowerCase() == '.png') {
|
---|
35 | var logospan = logoa.appendChild(document.createElement('span'));
|
---|
36 |
|
---|
37 | logoa.style.backgroundImage = 'none';
|
---|
38 | logospan.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + imageUrl + ')';
|
---|
39 | logospan.style.height = '100%';
|
---|
40 | logospan.style.position = 'absolute';
|
---|
41 | logospan.style.width = logoa.currentStyle.width;
|
---|
42 | logospan.style.cursor = 'hand';
|
---|
43 | // Center image with hack for IE5.5
|
---|
44 | if (document.documentElement.dir == "rtl")
|
---|
45 | {
|
---|
46 | logospan.style.right = '50%';
|
---|
47 | logospan.style.setExpression('marginRight', '"-" + (this.offsetWidth / 2) + "px"');
|
---|
48 | }
|
---|
49 | else
|
---|
50 | {
|
---|
51 | logospan.style.left = '50%';
|
---|
52 | logospan.style.setExpression('marginLeft', '"-" + (this.offsetWidth / 2) + "px"');
|
---|
53 | }
|
---|
54 | logospan.style.top = '50%';
|
---|
55 | logospan.style.setExpression('marginTop', '"-" + (this.offsetHeight / 2) + "px"');
|
---|
56 |
|
---|
57 | var linkFix = logoa.appendChild(logoa.cloneNode());
|
---|
58 | linkFix.style.position = 'absolute';
|
---|
59 | linkFix.style.height = '100%';
|
---|
60 | linkFix.style.width = '100%';
|
---|
61 | }
|
---|
62 | }
|
---|
63 | }
|
---|
64 |
|
---|
65 | // fix ie6 disappering float bug
|
---|
66 | function relativeforfloats() {
|
---|
67 | var bc = document.getElementById('bodyContent');
|
---|
68 | if (bc) {
|
---|
69 | var tables = bc.getElementsByTagName('table');
|
---|
70 | var divs = bc.getElementsByTagName('div');
|
---|
71 | }
|
---|
72 | setrelative(tables);
|
---|
73 | setrelative(divs);
|
---|
74 | }
|
---|
75 | function setrelative (nodes) {
|
---|
76 | var i = 0;
|
---|
77 | while (i < nodes.length) {
|
---|
78 | if(((nodes[i].style.float && nodes[i].style.float != ('none') ||
|
---|
79 | (nodes[i].align && nodes[i].align != ('none'))) &&
|
---|
80 | (!nodes[i].style.position || nodes[i].style.position != 'relative')))
|
---|
81 | {
|
---|
82 | nodes[i].style.position = 'relative';
|
---|
83 | }
|
---|
84 | i++;
|
---|
85 | }
|
---|
86 | }
|
---|
87 |
|
---|
88 |
|
---|
89 | // Expand links for printing
|
---|
90 |
|
---|
91 | String.prototype.hasClass = function(classWanted)
|
---|
92 | {
|
---|
93 | var classArr = this.split(/\s/);
|
---|
94 | for (var i=0; i<classArr.length; i++)
|
---|
95 | if (classArr[i].toLowerCase() == classWanted.toLowerCase()) return true;
|
---|
96 | return false;
|
---|
97 | }
|
---|
98 |
|
---|
99 | var expandedURLs;
|
---|
100 |
|
---|
101 | onbeforeprint = function() {
|
---|
102 | expandedURLs = [];
|
---|
103 |
|
---|
104 | var contentEl = document.getElementById("content");
|
---|
105 |
|
---|
106 | if (contentEl)
|
---|
107 | {
|
---|
108 | var allLinks = contentEl.getElementsByTagName("a");
|
---|
109 |
|
---|
110 | for (var i=0; i < allLinks.length; i++) {
|
---|
111 | if (allLinks[i].className.hasClass("external") && !allLinks[i].className.hasClass("free")) {
|
---|
112 | var expandedLink = document.createElement("span");
|
---|
113 | var expandedText = document.createTextNode(" (" + allLinks[i].href + ")");
|
---|
114 | expandedLink.appendChild(expandedText);
|
---|
115 | allLinks[i].parentNode.insertBefore(expandedLink, allLinks[i].nextSibling);
|
---|
116 | expandedURLs[i] = expandedLink;
|
---|
117 | }
|
---|
118 | }
|
---|
119 | }
|
---|
120 | }
|
---|
121 |
|
---|
122 | onafterprint = function()
|
---|
123 | {
|
---|
124 | for (var i=0; i < expandedURLs.length; i++)
|
---|
125 | if (expandedURLs[i])
|
---|
126 | expandedURLs[i].removeNode(true);
|
---|
127 | }
|
---|