/*


	Header Information------------------------------------[Do Not Remove This Header]--


	Title: OO Dom Image Rollover


	Description: This script makes it easy to add rollover/ mousedown 


  	effects to any image on the page, including image submit buttons. Automatically 


  	preloads images as well. Script works in all DOM capable browsers- IE5+, NS6+, 


  	Opera7+.


	


	Legal: Copyright 2005 Adam Smith


	Author Email Address: ibulwark@hotmail.com


	Date Created: June 6, 2005


	Website: Codevendor.com | eBadgeman.com


	Script featured on Dynamic Drive: http://www.dynamicdrive.com


	-----------------------------------------------------------------------------------


*/





function imageholderclass(){


	this.over=new Array();


	this.down=new Array();


	this.src=new Array();


	this.store=store;


	


	function store(src, down, over){


		var AL=this.src.length;


		this.src[AL]=new Image(); this.src[AL].src=src;


		this.over[AL]=new Image(); this.over[AL].src=over;


		this.down[AL]=new Image(); this.down[AL].src=down;


	}


}





var ih = new imageholderclass();


var mouseisdown=0;





function preloader(t){


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


		if(t[i].getAttribute('srcover')||t[i].getAttribute('srcdown')){


			


			storeimages(t[i]);


			var checker='';


			checker=(t[i].getAttribute('srcover'))?checker+'A':checker+'';


			checker=(t[i].getAttribute('srcdown'))?checker+'B':checker+'';


			


			switch(checker){


			case 'A' : mouseover(t[i]);mouseout(t[i]); break;


			case 'B' : mousedown(t[i]); mouseup2(t[i]); break;


			case 'AB' : mouseover(t[i]);mouseout(t[i]); mousedown(t[i]); mouseup(t[i]); break;


			default : return;			


			}


			


			if(t[i].src){t[i].setAttribute("oldsrc",t[i].src);}


		}


	}


}


function mouseup(t){


	var newmouseup;


	if(t.onmouseup){


		t.oldmouseup=t.onmouseup;


		newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("srcover");this.oldmouseup();}





	}


	else{newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("srcover");}}


	t.onmouseup=newmouseup;


}





function mouseup2(t){


	var newmouseup;


	if(t.onmouseup){


		t.oldmouseup=t.onmouseup;


		newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("oldsrc");this.oldmouseup();}


		}


	else{newmouseup=function(){mouseisdown=0;this.src=this.getAttribute("oldsrc");}}


	t.onmouseup = newmouseup;


}





function mousedown(t){


	var newmousedown;


	if(t.onmousedown){


		t.oldmousedown=t.onmousedown;


		newmousedown=function(){if(mouseisdown==0){this.src=this.getAttribute("srcdown");this.oldmousedown();}}


	}


	else{newmousedown=function(){if(mouseisdown==0){this.src=this.getAttribute("srcdown");}}}


	t.onmousedown=newmousedown;


}





function mouseover(t){


	var newmouseover;


	if(t.onmouseover){


		t.oldmouseover=t.onmouseover;


		newmouseover=function(){this.src=this.getAttribute("srcover");this.oldmouseover();}


	}


	else{newmouseover=function(){this.src=this.getAttribute("srcover");}}


	t.onmouseover=newmouseover;


}





function mouseout(t){


	var newmouseout;


	if(t.onmouseout){


		t.oldmouseout=t.onmouseout;


		newmouseout=function(){this.src=this.getAttribute("oldsrc");this.oldmouseout();}


	}


	else{newmouseout=function(){this.src=this.getAttribute("oldsrc");}}


	t.onmouseout=newmouseout;


}





function storeimages(t){


	var s=(t.getAttribute('src'))?t.getAttribute('src'):'';


	var d=(t.getAttribute('srcdown'))?t.getAttribute('srcdown'):'';


	var o=(t.getAttribute('srcover'))?t.getAttribute('srcover'):'';


	ih.store(s,d,o);


}





function preloadimgsrc(){


	if(!document.getElementById) return;


	var it=document.getElementsByTagName('IMG');


	var it2=document.getElementsByTagName('INPUT');


	preloader(it);


	preloader(it2);


}





if(window.addEventListener){window.addEventListener("load", preloadimgsrc, false);} 


else{


	if(window.attachEvent){window.attachEvent("onload", preloadimgsrc);}


	else{if(document.getElementById){window.onload=preloadimgsrc;}}


}
