// Created by Byran Yurasits
// hexinteractive.net

try {document.execCommand("BackgroundImageCache", false, true);} catch (e) {};
var browserSupportsPNG = !(navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) < 7);

function fixPNG(collection)
{
	if(browserSupportsPNG){return;}
	if(!collection)//if no collection is passed in, assume ALL pngs should be found and fixed.
	{
		if(document){fixPNG(document.all);}
		if(document.styleSheets.length){fixPNG(document.styleSheets);}
		if(document.getElementsByTagName('img').length){fixPNG(document.getElementsByTagName('img'));}
		return;
	}
	else if(collection && collection.rules || collection.src)//if the object passed in is a styleSheet or a image
	{
		collection = [collection];
	}
	var replacementImage = '/images/pngReplacement.gif';
	if(collection[0].src)// IMG
	{
		var imgTags = collection;//just makes it easier to read.
		for(var i=0; i < imgTags.length; i++)
		{
			var img = imgTags[i];
			if ((img.src.toLowerCase()).lastIndexOf('.png') != -1)
			{
				img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src + "',sizingMethod='image')";
				img.src = replacementImage;
			}
		}
	} 
	else if(collection[0].rules)// CSS
	{
		var sheets = collection;//how many times do i have to tell you it makes it easier to read.
		var pattern1 = /url\s*\(\s*['"]?(.*\.png)\s*['"]?\s*\)([^;|\}]*)([;|\}])/ig;
		for(var s=0; s < sheets.length; s++)
		{
			var str = sheets[s].cssText;
			var r = str.replace(pattern1,"$2; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='$1',sizingMethod='crop') $3");
			sheets[s].cssText = r;
		}			
	}
	else // INLINE STYLES
	{
		var elems = collection;// i wont say it again..
		var pattern1 = new RegExp(/^url\s*\(\s*['"]*/);
		var pattern2 = new RegExp(/['"]*\s*\)$/);
		for(var e=0; e < elems.length; e++)
		{
			if(elems[e].style)
			{
				var elem = elems[e];
				var bgImg = elem.style.backgroundImage;
				if(bgImg && (bgImg.toLowerCase()).lastIndexOf('.png') != -1)
				{
					var start = bgImg.match(pattern1);
					var stop = bgImg.match(pattern2);
					var test = bgImg.substring(start[0].length, bgImg.length-stop[0].length)
					elem.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bgImg.substring(start[0].length, bgImg.length-stop[0].length) + "',sizingMethod='crop')";
					elem.style.backgroundImage = '';
				}
			}
		}
	}
}

window.onload = function()
{
	//fixPNG(document.getElementById('tbSearchButton'));
}
