/* $Id: iepng.js, v 0.1 2004/7/24 23:52:07 dmw Exp$ */

/**
  * iepng.js
  * dewa m widyakumara
  * @purpose : displaying png with alpha transperancy in msie 5.5+
  * @credit  : modified from youngpup.net's sleight.js
  * @changes : - join png inline & background loader functions
  *            - add className for png images so it doesn't hide other formats
  *            - fix handling opera browsers that impersonating as msie
  **/

function iepng() {
	// replacement image path
	var img_replace = "/images/blank.gif";

	// get msie 5.5+ & exclude opera impersonating as one
	var is_msie= navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var is_opera = navigator.userAgent.match(/Opera/, '');
	var msie_55 = (is_msie != null && Number(is_msie[1]) >= 5.5 && !is_opera);

	// get .png images
	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
		if (msie_55 && img.src.match(/\.png$/i) != null) {
			var png_src = img.src;
			img.style.width = img.width + "px";
			img.style.height = img.height + "px";
			img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + png_src + "', sizingMethod='scale')"
			img.src = img_replace;
			img.className = "imgpng";
			}
		img.style.visibility = "visible";
		}

	// get .png backgrounds
	for (i=0; i<document.all.length; i++) {
		var bg_img = document.all[i].currentStyle.backgroundImage;
		if (msie_55 && bg_img) {
			if (bg_img.match(/\.png/i) != null) {
				var bg_src = bg_img.substring(5,bg_img.length-2);
				document.all[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bg_src + "', sizingMethod='scale')";
				document.all[i].style.backgroundImage = "url(img_replace)";
				}
			}
		}
	}

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent && !navigator.userAgent.match(/Opera/, '')) {
	document.writeln('<style type="text/css">.imgpng { visibility: hidden; } </style>');
	window.attachEvent("onload", iepng);
	}
