/* * IE PNG Fix v1.4 * * Copyright (c) 2006 Takashi Aida http://www.isella.com/aod2/ * */// IE5.5+ PNG Alpha Fix v1.0RC4// (c) 2004-2005 Angus Turnbull http://www.twinhelix.com// This is licensed under the CC-GNU LGPL, version 2.1 or later.// For details, see: http://creativecommons.org/licenses/LGPL/2.1/if (typeof IEPNGFIX == 'undefined') {//--============================================================================var IEPNGFIX = {	blank:  'http://www.isella.com/aod2/images/blank.gif',	filter: 'DXImageTransform.Microsoft.AlphaImageLoader',	fixit: function (elem, src, method) {		if (elem.filters[this.filter]) {			var filter = elem.filters[this.filter];			filter.enabled = true;			filter.src = src;			filter.sizingMethod = method;		}		else {			elem.style.filter = 'progid:' + this.filter +				'(src="' + src + '",sizingMethod="' + method + '")';		}	},	fixwidth: function(elem) {		if (elem.currentStyle.width == 'auto' &&			elem.currentStyle.height == 'auto') {			elem.style.width = elem.offsetWidth + 'px';		}	},	fixchild: function(elem, recursive) {		if (!/MSIE (5\.5|6\.|7\.)/.test(navigator.userAgent)) return;		for (var i = 0, n = elem.childNodes.length; i < n; i++) {			var childNode = elem.childNodes[i];			if (childNode.style) {				if (childNode.style.position) {					childNode.style.position = childNode.style.position;				}				else {					childNode.style.position = 'relative';				}			}			if (recursive && childNode.hasChildNodes()) {				this.fixchild(childNode, recursive);			}		}	},	fix: function(elem) {		if (!/MSIE (5\.5|6\.|7\.)/.test(navigator.userAgent)) return;		var bgImg =			elem.currentStyle.backgroundImage || elem.style.backgroundImage;		if (elem.tagName == 'IMG') {			if ((/\.png$/i).test(elem.src)) {				this.fixwidth(elem);				this.fixit(elem, elem.src, 'scale');				elem.src = this.blank;				elem.runtimeStyle.behavior = 'none';			}		}		else if (bgImg && bgImg != 'none') {			if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) {				var s = RegExp.$1;				this.fixwidth(elem);				elem.style.backgroundImage = 'none';				this.fixit(elem, s, 'scale'); // crop | image | scale				if (elem.tagName == 'A' && elem.style) {					if (!elem.style.cursor) {						elem.style.cursor = 'pointer';					}				}				this.fixchild(elem);				elem.runtimeStyle.behavior = 'none';			}		}	},	hover: function(elem, hvImg) {		var bgImg = elem.style.backgroundImage;		if (!bgImg && elem.currentStyle) bgImg = elem.currentStyle.backgroundImage;		if (elem.tagName == 'IMG' && hvImg) {			var image = elem.src;			elem.onmouseover = function() {				elem.src = hvImg;				IEPNGFIX.fix(elem);			};			elem.onmouseout = function() {				elem.src = image;				IEPNGFIX.fix(elem);			};		}		else if (bgImg && bgImg != 'none' && hvImg) {			elem.onmouseover = function() {				elem.style.backgroundImage = 'url(' + hvImg + ')';				IEPNGFIX.fix(elem);			};			elem.onmouseout = function() {				elem.style.backgroundImage = bgImg;				IEPNGFIX.fix(elem);			};		}		IEPNGFIX.fix(elem);	}};//--============================================================================} // end if (typeof IEPNGFIX == 'undefined')
