	
	var root = false;
	var applyPositioning = true;
	
	// Path to a transparent GIF image
	var shim			= 'x.gif';
	
	// RegExp to match above GIF image name
	var shim_pattern	= /x\.gif$/i;
	
	
	
	function fnLoadPngs() { 
	
	var arVersion = navigator.appVersion.split("MSIE")
	   var version = parseFloat(arVersion[1])
	   if ((version <= 6) && (document.body.filters)) 
	   {
		   	if (root) {
				root = document.getElementById(root);
			}else{
				root = document;
			}
			
			
			for (var i = root.all.length - 1, obj = null; (obj = root.all[i]); i--) {
				// background pngs
				if (obj.currentStyle.backgroundImage.match(/\.png/i) !== null) {
					bg_fnFixPng(obj);
				}
				// image elements
				if (obj.tagName=='IMG' && obj.src.match(/\.png$/i) !== null){
					el_fnFixPng(obj);
				}
				// apply position to 'active' elements
				if (applyPositioning && (obj.tagName=='A' || obj.tagName=='INPUT') && obj.style.position === ''){
					obj.style.position = 'relative';
				}
			}
	   } else {
			return false;   
	   }
	};

	function bg_fnFixPng(obj) {
		var mode = 'scale';
		var bg	= obj.currentStyle.backgroundImage;
		var src = bg.substring(5,bg.length-2);
		if (obj.currentStyle.backgroundRepeat == 'no-repeat') {
			mode = 'crop';
		}
		obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + mode + "')";
		obj.style.backgroundImage = 'url('+shim+')';
	};

	function el_fnFixPng(img) {
		var src = img.src;
		img.style.width = img.width + "px";
		img.style.height = img.height + "px";
		img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')";
		img.src = shim;
	};
	
