]> git.sur5r.net Git - contagged/blob - templates/pngbehavior.htc
PHP5 notice cleanups
[contagged] / templates / pngbehavior.htc
1 // this is an ugly fix to make Internet Explorer work with transparent
2 // PNG images - do your self a favour and use a real browser!
3
4 <public:component>
5 <public:attach event="onpropertychange" onevent="propertyChanged()" />
6 <script>
7
8 var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32";
9 var realSrc;
10 var blankSrc = "templates/blank.gif";
11
12 if (supported) fixImage();
13
14 function propertyChanged() {
15    if (!supported) return;
16
17    var pName = event.propertyName;
18    if (pName != "src") return;
19    // if not set to blank
20    if ( ! new RegExp(blankSrc).test(src))
21       fixImage();
22 };
23
24 function fixImage() {
25    // get src
26    var src = element.src;
27
28    // check for real change
29    if (src == realSrc) {
30       element.src = blankSrc;
31       return;
32    }
33
34    if ( ! new RegExp(blankSrc).test(src)) {
35       // backup old src
36       realSrc = src;
37    }
38
39    // test for png
40    if ( /\.png$/.test( realSrc.toLowerCase() ) ) {
41       // set blank image
42       element.src = blankSrc;
43       // set filter
44       element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
45    }
46    else {
47       // remove filter
48       element.runtimeStyle.filter = "";
49    }
50 }
51
52 </script>
53 </public:component>