<public:component><public:attach event="onpropertychange" onevent="iePNGFix(0)" /><script type="text/javascript">// IE5.5+ PNG Alpha Fix v1.0// (c) 2004-2008 Angus Turnbull http://www.twinhelix.com// This is licensed under the GNU LGPL, version 2.1 or later.// For details, see: http://creativecommons.org/licenses/LGPL/2.1/// This must be a path to a blank image, relative to the HTML document(s).// In production use I suggest '/images/blank.gif' or similar. That's all!if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';function filt(s, b){ var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; var sM = (currentStyle.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale'; s = (s || '').replace(/\(/g, '%28').replace(/\)/g, '%29'); if (s && !(/IMG|INPUT/.test(nodeName) && !b) &&  currentStyle.width == 'auto' && currentStyle.height == 'auto') {  style.width = offsetWidth + 'px';  style.height = clientHeight + 'px';  if (currentStyle.display == 'inline') style.display = 'inline-block'; } if (filters[f]) {  filters[f].enabled = s ? true : false;  if (s) with (filters[f]) { src = s } } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="' + sM + '")';}function iePNGFix(init){ if (!/MSIE (5\.5|6)/.test(navigator.userAgent) || typeof filters == 'unknown') return; var evt = init ? { propertyName: 'src,background' } : event; var isSrc = /src/.test(evt.propertyName); var isBg = /background/.test(evt.propertyName); var isClass = !init &&  ((this.className != this._png_class) && (this.className || this._png_class)); if (!(isSrc || isBg || isClass)) return; this._png_class = this.className; var blank = blankImg.match(/([^\/]+)$/)[1]; // Required for Whatever:hover support - erase any set BG if className changes. if (isClass && ((style.backgroundImage.indexOf('url(') == -1) ||     (style.backgroundImage.indexOf(blank) > -1))) {  setTimeout(function() { this.style.backgroundImage = '' }, 0);  return; } if (isSrc && this.src && /IMG|INPUT/.test(nodeName)) {  if ((/\.png/i).test(src))  {   filt(src, 1);   src = blankImg;  }  else if (src.indexOf(blank) == -1) filt(); } var bgSrc = currentStyle.backgroundImage || style.backgroundImage; if ((bgSrc + this.src).indexOf(blank) == -1) {  var bgPNG = bgSrc.match(/^url[("']+(.*\.png[^\)"']*)[\)"']+[^\)]*$/i);  if (bgPNG)  {   style.backgroundImage = 'url("' + blankImg + '")';   filt(bgPNG[1], 0);   // Unclickable elements inside PNG backgrounds.   var tags = ['a', 'input', 'select', 'textarea', 'iframe', 'object'],    t = tags.length, tFix = [];   while (t--)   {    var elms = all.tags(tags[t]), e = elms.length;    while (e--) tFix.push(elms[e]);   }   var t = tFix.length;   if (t && (/relative|absolute/i).test(currentStyle.position))    alert('IEPNGFix: Children of positioned element are unclickable:\n\n<' +     nodeName + (id && ' id=' + id) + '>');    while (t--)     if (!(/relative|absolute/i).test(tFix[t].currentStyle.position))      tFix[t].style.position = 'relative';  }  else filt(); }}iePNGFix(1);</script></public:component>