/*
	Standards Compliant Rollover Script
	Author : Daniel Nolan
	http://www.bleedingego.co.uk/webdev.php

	Modified for IE PNG opacity by: C.J. Collier
	Insipred by A List Apart: http://alistapart.com/stories/pngopacity/
	
*/

function initRollovers() {
	if (!document.getElementById) return

	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var isIE = (rslt != null && Number(rslt[1]) >= 5.5);
	
	var aPreLoad = new Array();
	var aDivPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].className == 'imgover') {

			var src;

			if(aImages[i].getAttribute('name') == "IEAlphaHack"){
				var filter = aImages[i].style.filter;
				var filterSrcRE = /src='([^']+png)'/i;

				var m = filterSrcRE.exec(filter);
				src = m[1];

			}else{
				src = aImages[i].getAttribute('src');

			}

			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_o'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			aImages[i].onmouseover = function() {
				if(this.getAttribute('name') == "IEAlphaHack"){
					m = filterSrcRE.exec(this.style.filter);
					sTempSrc = m[1];

					this.style.filter = this.style.filter.replace(filterSrcRE, "src='"+this.getAttribute('hsrc')+"'");

				}else{
					sTempSrc = this.getAttribute('src');
					this.setAttribute('src', this.getAttribute('hsrc'));
				}
			}	
			
			aImages[i].onmouseout = function() {
				if(this.getAttribute('name') == "IEAlphaHack"){
					if(!sTempSrc){
						m = filterSrcRE.exec(this.style.filter);
						sTempSrc = m[1].replace('_o'+ftype, ftype);
					}

					this.style.filter = this.style.filter.replace(filterSrcRE, "src='"+sTempSrc+"'");

				}else{
					if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
					this.setAttribute('src', sTempSrc);
				}
			}
		}
	}
}

window.onload = initRollovers;
