
	var debug = false;
	var arrImgSrc = new Array();

	function iehook(y, event) {

// 		alert(event);
// 		alert("iehook "  +  event + ":" + y.style.filter);
// 		alert("innerText " + y.innerText);

		imgsrc = y.imgsrc;

		if (event == "over") {	
			imgsrc = imgsrc.replace(/trans\.png$/, "trans_over.png");
		}
		else if (event == "out")  {
			imgsrc = imgsrc.replace(/trans_over\.png$/, "trans.png");
		}

		y.style.filter		= "none";
		y.style.background	= "none";
		y.style.backgroundPosition = "17px 0px";
		y.style.filter		= "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='" + imgsrc + "', sizingMethod='scale')";

	}
	
	function initPNGTransparency(strPattern, arrTags, strFileBlank) {
		
		_preloadPNGImages();

		if(_checkIE6status() == true) {

			if (strPNGPattern == "") {
				var strPNGPattern = "";
			}
			if (strFileBlank == "") {
				var strFileBlank = "blank.gif";
			}
		
			// IMGs are modified
			_setPNGTransparencyIMGs(strPNGPattern, strFileBlank);

			// specified elements (e.g. A, DIV, LI) are modified
			if (arrTags == undefined || arrTags.length == 0) {
				arrTags = new Array("a", "div", "li");
			}
	
			for(i = 0; i < arrTags.length; i++) {
				_setPNGTransparencyElements(arrTags[i], strPNGPattern, strFileBlank);
			}

		}

	}


	function _checkIE6status() {

		var ie6status = false;
		
		if (self.innerHeight) // all except Explorer
		{
			ie6status = false;
		}
		else if (document.documentElement && document.documentElement.clientHeight && navigator.appVersion.substr(22,3) == '6.0')
			// Explorer 6 Strict Mode
		{
			ie6status = true;
		}
		else if (document.body && navigator.appVersion.substr(22,3) == '6.0') // other Explorers
		{
			ie6status = true;
		}
		else {
			ie6status = false;
		}

		if (debug) {
			ie6status = true;
		}
			
		return ie6status;
	}


	// makes -trans.png transparent
	function _setPNGTransparencyIMGs(strPNGPattern, strFileBlank) {

		strPNGPattern = "/" + strPNGPattern + "\.png/";

		children = document.getElementsByTagName('img');

		for(child in children) {

			if(typeof(children[child]) == "object") {

				imgelement = children[child];
				imgsrc = imgelement.src;

				if(imgsrc.match(/\-trans\.png/)) {

					var imgwidth = imgelement.offsetWidth;
					var imgheight = imgelement.offsetHeight;

					if(imgwidth == 0) {
						imgwidth = imgelement.width;
					}
					if(imgheight == 0) {
						imgheight = imgelement.height;
					}

					imgelement.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgsrc + "', sizingMethod='image')";
					imgelement.src = strFileBlank;
					imgelement.width = imgwidth;
					imgelement.height = imgheight;

				}
				else {
// 					alert("is " + imgsrc);
				}
			}
		}
		
	}



	function _setPNGTransparencyElements(strTag, strPNGPattern, strFileBlank) {
// 		alert("getting PNGs");
		
		var arrElements = document.getElementsByTagName(strTag);
		strPNGPattern = "/" + strPNGPattern + "\.png/";
		

 		for (var i = 0; i < arrElements.length; i++) {

			var x = arrElements[i];

			// IE 
 			if (x.currentStyle && x.currentStyle["backgroundImage"] != "none" && x.currentStyle["backgroundImage"] != undefined && x.currentStyle["backgroundImage"].match(/-trans(_over)?\.png/)) {

				// checking elements
					
				imgsrc = x.currentStyle["backgroundImage"];
				imgsrc = imgsrc.replace(/url/, "");
				imgsrc = imgsrc.replace(/[()"']/g, "");

//   				alert("img" + imgsrc);					
				
// 				x.style.position	= "relative";
// 				x.style.zIndex		= "1";	
//				x.style.cursor		= "hand";
				x.style.background	= "none";
 				x.style.filter		= "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='" + imgsrc + "', sizingMethod='crop')";	

				if (x.className.match(/png4ie/)) {

					x.imgsrc		= imgsrc;
					x.onmouseover		= function () { iehook(this, "over"); };
					x.onmouseout		= function () { iehook(this, "out"); };
				
				}

 			}
 			else if (window.getComputedStyle) {
			// other (no use)
			
				if (debug) {
					if (document.defaultView.getComputedStyle(x,null).getPropertyValue("background-image") != "none") {
	
				 		imgsrc = document.defaultView.getComputedStyle(x,null).getPropertyValue("background-image");
						
						imgsrc = imgsrc.replace(/url/g, "");
						imgsrc = imgsrc.replace(/(\(|\))/g, "");
						
// 						alert("img" + imgsrc);

						x.style.background	= "none";
						x.style.backgroundPosition = "17px 0px";
						x.style.filter		= "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='" + imgsrc + "', sizingMethod='image')";
	
					}
				}
				
 			}
		}
	}

	
	function _preloadPNGImages() {
		
		children = document.getElementsByTagName('img');

		var counter = 0;
		for(child in children) {

			if(typeof(children[child]) == "object") {
				
				counter++;
	
				imgelement = children[child];
				imgsrc = imgelement.src;

				if(imgsrc.match(/trans\.png/) && imgelement.className.match(/png4ie/)) {
		
					var newimgsrc = imgsrc.replace(/trans\.png$/, "trans_over.png");

					img[counter] = new Image();
					img[counter].src = newimgsrc;

				}
			
			}
	
		}

	}


	function addEvent(obj, evType, fn) {
	 
		if (obj.addEventListener) {
			obj.addEventListener(evType, fn, false);
			return true;
		}
		else if (obj.attachEvent)
		{
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}
		else
		{
			return false;
		}

	}