thomascube
2005-12-03 1cded85790206afe084e1baff371c543711b2b18
commit | author | age
4e17e6 1 <public:component>
T 2 <public:attach event="onpropertychange" onevent="propertyChanged()" />
3 <script>
4
5 var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32";
6 var realSrc;
7 var blankSrc = "skins/default/images/blank.gif";
8
9 if (supported) fixImage();
10
11 function propertyChanged() {
12    if (!supported) return;
13
14    var pName = event.propertyName;
15    if (pName != "src") return;
16    // if not set to blank
17    if ( ! new RegExp(blankSrc).test(src))
18       fixImage();
19 };
20
21 function fixImage() {
22    // get src
23    var src = element.src;
24
25    // check for real change
26    if (src == realSrc) {
27       element.src = blankSrc;
28       return;
29    }
30
31    if ( ! new RegExp(blankSrc).test(src)) {
32       // backup old src
33       realSrc = src;
34       element._original_src = realSrc;
35    }
36
37    // test for png
38    if ( /\.png$/.test( realSrc.toLowerCase() ) ) {
39       // set blank image
40       element.src = blankSrc;
41       // set filter
42       element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
1cded8 43                                      src + "',sizingMethod='crop')";
4e17e6 44    }
T 45    else {
46       // remove filter
47       element.runtimeStyle.filter = "";
48    }
49 }
50
51 </script>
52 </public:component>