--- /dev/null
+<public:component>
+<public:attach event="onpropertychange" onevent="propertyChanged()" />
+<public:attach event="onbeforeprint" for="window" onevent="beforePrint()" />
+<public:attach event="onafterprint" for="window" onevent="afterPrint()" />
+<script>
+
+/*
+ * PNG Behavior
+ *
+ * This script was created by Erik Arvidsson (erik(at)eae.net)
+ * for WebFX (http://webfx.eae.net)
+ * Copyright 2002
+ *
+ * For usage see license at http://webfx.eae.net/license.html
+ *
+ * Version: 1.01a
+ * Created: 2001-??-?? First working version
+ * Updated: 2002-03-28 Fixed issue when starting with a non png image and
+ * switching between non png images
+ * 2003-01-06 Fixed RegExp to correctly work with IE 5.0x
+ * 2004-04-25 Fixed PNG image printing, eliminated need for external
+ * GIF file, fixed intermittent uninitialised variable
+ * error [by AG, <http://www.scss.com.au/family/andrew/> ]
+ * 2004-09-30 Reverted inline javascript image to transparent GIF. The
+ * new XP SP2 'security' measures prevented the JS image
+ * from working. [by AG]
+ * 2004-10-22 Rewrote fixImage() to try and work around some reported
+ * problems with PNGs vanishing! [by AG]
+ * 2004-12-12 Fixed problem with PNGs not being restored after
+ * printing. I have no idea how I missed this one! [by AG]
+ * 2005-03-26 Fixed supported RE mis-identifying IE 5.0/Win98 as
+ * 'supported'.
+ *
+ */
+
+var IS_PNG = /\.png$/i;
+var supported = /MSIE (5\.[5-9]|[6]\.[0-9]*)/.test(navigator.userAgent) && navigator.platform == 'Win32';
+var realSrc;
+var blankSrc = '/images/blank.png';
+if (supported) fixImage();
+function propertyChanged() {
+ if (supported && event.propertyName == 'src') {
+ var i = element.src.lastIndexOf(blankSrc);
+ if (i == -1 || i != element.src.length - blankSrc.length) {
+ fixImage();
+ }
+ }
+}
+function fixImage() {
+ if (realSrc && element.src == realSrc) {
+ // this is an attempt to set the image to itself!
+ // pointless - leave the filter as-is, restore the blank image
+ element.src = blankSrc;
+ } else {
+ // set the image to something different
+ if (IS_PNG.test(element.src)) {
+ // fixable PNG
+ realSrc = element.src;
+ element.src = blankSrc;
+ element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + realSrc + "',sizingMethod='scale')";
+ } else {
+ // ordinary image - make sure the fix is removed
+ if (realSrc) {
+ realSrc = null;
+ element.runtimeStyle.filter = '';
+ }
+ }
+ }
+}
+function beforePrint() {
+ if (realSrc) {
+ supported = false;
+ element.src = realSrc;
+ element.runtimeStyle.filter = '';
+ supported = true;
+ }
+}
+function afterPrint() {
+ if (realSrc) {
+ var rs = realSrc;
+ realSrc = null;
+ element.src = rs;
+ }
+}
+</script>
+</public:component>