
function ie_png_fix() {
	var ua = navigator.userAgent.toLowerCase();
	var useIePngFix = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) );
	
	for(var i=0; i<document.images.length; i++) {
		var img = document.images[i];
		var imgName = img.src.toLowerCase();
		if (imgName.substring(imgName.length-3, imgName.length) == "png") {
			if (useIePngFix) {
				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 ;
				if (img.align == "left") imgStyle = "float:left;" + imgStyle;
				if (img.align == "right") imgStyle = "float:right;" + imgStyle;
				if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
				var strNewHTML = "<span " + imgID + imgClass + imgTitle
				 + " style=\"visibility: visible; z-index: 50;" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
				img.outerHTML = strNewHTML;
				i = i-1;
			}
			else {
				img.style.visibility = 'visible';
			}
		}
	}
}

function ie_png_fix_image_element(img)
{
    var ua = navigator.userAgent.toLowerCase();
	var useIePngFix = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) );
	
	if (useIePngFix)
	{
	    img.style.cssText = "visibility: visible; width:" + img.width + "px; height:" + img.height + "px;" + img.style.cssText + ";"
			     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				 + "(src=\'" + img.src + "\', sizingMethod='scale');";
	    img.src = "../images/spacer.gif";
	}
}

function ie_png_fix_internal(element)
{
    if (element == null)
    {
        return;
    }
    
    for (var i = 0; i < element.childNodes.length; i++)
	{
		var img = element.childNodes[i];
		
		if (img == null || img.tagName != 'IMG')
		{
		    ie_png_fix_internal(img);
		    continue;
		}
				
		var imgName = img.src.toLowerCase();
		if (imgName.substring(imgName.length-3, imgName.length) == "png" || imgName.substring(imgName.length-1, imgName.length) == "-" || img.mimeType == "PNG Image")
		{
			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 ;
			if (img.align == "left") imgStyle = "float:left;" + imgStyle;
			if (img.align == "right") imgStyle = "float:right;" + imgStyle;
			if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
			var strNewHTML = "<span " + imgID + imgClass + imgTitle
			 + " style=\"visibility: visible; z-index: 50;" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
		     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
			img.outerHTML = strNewHTML;
			i = i-1;
		}
	}
}

function ie_png_fix_limit(name)
{
	var ua = navigator.userAgent.toLowerCase();
	var useIePngFix = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) );
	var element = document.getElementById(name);
	
	if (useIePngFix)
	{
	    ie_png_fix_internal(element);
	}
}

function ie_png_fix_element(element)
{
	var ua = navigator.userAgent.toLowerCase();
	var useIePngFix = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) );
	
	if (useIePngFix)
	{
	    ie_png_fix_internal(element);
	}
}
