]> git.donarmstrong.com Git - roundcube.git/blob - skins/default/pngbehavior.htc
Imported Upstream version 0.1~rc1~dfsg
[roundcube.git] / skins / default / pngbehavior.htc
1 <public:component>
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 = null;
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 ( realSrc &&  /\.png$/.test( realSrc.toLowerCase() ) ) {
39       // set blank image
40       element.src = blankSrc;
41       // set filter
42       element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
43                                      src + "',sizingMethod='crop')";
44    }
45    else {
46       // remove filter
47       element.runtimeStyle.filter = "";
48    }
49 }
50
51 </script>
52 </public:component>