1 if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent)\r
2 window.attachEvent("onload", pngLoadPngs);\r
3 \r
4 // parses all images //public\r
5 function pngLoadPngs()\r
6 {\r
7 var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');\r
8 var itsAllGood = (rslt != null && Number(rslt[1]) > 5.5);\r
9 \r
10 if (itsAllGood) {\r
11 for (var i = 0; i < document.images.length; i++) {\r
12 pngLoad(document.images[i]);\r
13 }\r
14 for (var i = 0; i < document.getElementsByTagName("input").length; i++) {\r
15 var img = document.getElementsByTagName("input")[i];\r
16 if(typeof img.type == "string" && img.type == "image") {\r
17 pngLoad(img);\r
18 }\r
19 }\r
20 }\r
21 }\r
22 \r
23 // loads an image, src is optional // public\r
24 function pngLoad(img,src)\r
25 {\r
26 if (typeof img == "object" && typeof img.tagName == "string" && img.tagName == "IMG")\r
27 {\r
28 // this is an image\r
29 if (typeof src == "string")\r
30 {\r
31 // src parameter is present\r
32 if (src.match(/\.png$/i) != null)\r
33 {\r
34 // this is png image\r
35 img.style.width = null;\r
36 img.style.height = null;\r
37 img.style.filter = null;\r
38 img.src = src;\r
39 pngSwapPrepare(img);\r
40 }\r
41 else\r
42 {\r
43 // its not a png\r
44 img.src = src;\r
45 }\r
46 }\r
47 else if (img.src.match(/\.png$/i) != null)\r
48 {\r
49 // no src arameter, but its png -> simply swap\r
50 pngSwapPrepare(img);\r
51 }\r
52 } else if (typeof img.tagName == "string" && img.tagName == "INPUT") {\r
53 if(img.src.match(/\.png$/i) != null) {\r
54 pngSwapPrepare(img);\r
55 }\r
56 }\r
57 \r
58 // swap (if complete) or shedule it to onload event // private\r
59 function pngSwapPrepare(img)\r
60 {\r
61 if (img.complete)\r
62 pngSwap(img);\r
63 else\r
64 img.attachEvent("onload",pngOnLoadSwap);\r
65 }\r
66 \r
67 // supposed to be called when image is loaded into memory //private\r
68 function pngOnLoadSwap()\r
69 {\r
70 event.srcElement.detachEvent("onload",pngOnLoadSwap);\r
71 pngSwap(event.srcElement);\r
72 }\r
73 \r
74 // Swaps img and background //private\r
75 function pngSwap(img)\r
76 {\r
77 with (img)\r
78 {\r
79 style.width = width + "px";\r
80 style.height = height + "px";\r
81 style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale') ";\r
82 src = "images/null.gif";\r
83 }\r
84 }\r
85 }\r