var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);

function correctPNG() { // correctly handle PNG transparency in Win IE 5.5 and 6.
	if ((version >= 5.5) && (version < 7.0) && (document.body.filters)) {
		for (var i = 0; i < document.images.length; i++) {
			var img = document.images[i]
			var imgName = img.src.toUpperCase();
			if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") {
				var imgID = (img.id) ? "id='" + img.id + "' ": ""
				var imgClass = (img.className) ? "class='" + img.className + "' ": ""
				var imgTitle = (img.title) ? "title='" + img.title + "' ": "title='" + img.alt + "' "
				var imgStyle = "display:inline-block;" + img.style.cssText
				var imgAttribs = img.attributes;
				var mouseoverHTML = ""
				for (var j = 0; j < imgAttribs.length; j++) {
					var imgAttrib = imgAttribs[j];
					if (imgAttrib.nodeName == "onmouseover") {
						if (imgAttrib.nodeValue != null) {
							mouseoverHTML = " onmouseover=\"PNGswap('" + img.id + "');\" onmouseout=\"PNGswap('" + img.id + "');\""
						}
					}
					if (imgAttrib.nodeName == "align") {
						if (imgAttrib.nodeValue == "left") imgStyle = "float:left;" + imgStyle
						if (imgAttrib.nodeValue == "right") imgStyle = "float:right;" + imgStyle
						break
					}
				}
				var strNewHTML = "<span " + imgID + imgClass + imgTitle;
				strNewHTML += " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";";
				strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader";
				strNewHTML += "(src='" + img.src + "', sizingMethod='scale');\"";
				strNewHTML += mouseoverHTML;
				strNewHTML += "></span>";
				img.outerHTML = strNewHTML;
				i = i - 1;
			}
		}
	}
}
if (window.addEventListener) {
	window.addEventListener("load", correctPNG, false);
} else {
	window.attachEvent("onload", correctPNG);
}

function PNGswap(myID) {
	var strOver = "Over";
	var strOff = "Off";
	var oSpan = document.getElementById(myID);
	var currentAlphaImg = oSpan.filters(0).src;
	if (currentAlphaImg.indexOf(strOver) != -1) {
		oSpan.filters(0).src = currentAlphaImg.replace(strOver, strOff);
	} else {
		oSpan.filters(0).src = currentAlphaImg.replace(strOff, strOver);
	}
}