<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 * */ var IS_PNG = /\.png$/i; var supported = /MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == 'Win32'; var realSrc, realHeight, realWidth; var blankSrc = 'skins/default/images/blank.gif'; 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; realWidth = element.width; realHeight = element.height; element.src = blankSrc; element.style.width = realWidth + 'px'; element.style.height = realHeight + 'px'; element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + encodeURI(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>