Thomas Bruederli
2012-10-15 27be4e7644637255d7adbf5386ec883d9c2c64cd
commit | author | age
98ef63 1 <public:component lightWeight="true">
4e17e6 2 <public:attach event="onpropertychange" onevent="propertyChanged()" />
98ef63 3 <public:attach event="onbeforeprint" onevent="beforePrint()" for="window"/>
A 4 <public:attach event="onafterprint" onevent="afterPrint()" for="window"/>
4e17e6 5 <script>
T 6
0d1dd7 7 /*
T 8  * PNG Behavior
9  *
98ef63 10  * This script was created by Erik Arvidsson (http://webfx.eae.net/contact.html#erik)
0d1dd7 11  * for WebFX (http://webfx.eae.net)
98ef63 12  * Copyright 2002-2004
0d1dd7 13  *
98ef63 14  * For usage see license at http://webfx.eae.net/license.html
A 15  *
16  * Version: 1.02
17  * Created: 2001-??-??    First working version
18  * Updated: 2002-03-28    Fixed issue when starting with a non png image and
19  *                      switching between non png images
20  *          2003-01-06    Fixed RegExp to correctly work with IE 5.0x
21  *          2004-05-09  When printing revert to original
0d1dd7 22  *
T 23  */
98ef63 24
A 25 var supported = /MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32",
26   realSrc,
cfc27c 27   blankSrc = "program/resources/blank.gif",
98ef63 28   isPrinting = false;
A 29
4e17e6 30 if (supported) fixImage();
98ef63 31
4e17e6 32 function propertyChanged() {
98ef63 33     if (!supported || isPrinting) return;
A 34
35     var pName = event.propertyName;
36     if (pName != "src") return;
37     // if not set to blank
38     if (!new RegExp(blankSrc).test(src))
39         fixImage();
40 };
41
0d1dd7 42 function fixImage() {
98ef63 43     // get src
A 44     var src = element.src;
45
46     // check for real change
47     if (src == realSrc && /\.png$/i.test(src)) {
48         element.src = blankSrc;
49         return;
50     }
51
52     if ( ! new RegExp(blankSrc).test(src)) {
53         // backup old src
54         realSrc = src;
55     }
56
57     // test for png
58     if (/\.png$/i.test(realSrc)) {
59         // set blank image
60         element.src = blankSrc;
61         // set filter
62         element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." +
63                     "AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
64     }
65     else {
66         // remove filter
67         element.runtimeStyle.filter = "";
68     }
0d1dd7 69 }
98ef63 70
0d1dd7 71 function beforePrint() {
98ef63 72     isPrinting = true;
A 73     element.src = realSrc;
74     element.runtimeStyle.filter = "";
75     realSrc = null;
0d1dd7 76 }
98ef63 77
0d1dd7 78 function afterPrint() {
98ef63 79     isPrinting = false;
A 80     fixImage();
0d1dd7 81 }
98ef63 82
4e17e6 83 </script>
0d1dd7 84 </public:component>