//Image Rollover written by ArfaethaLab 
//ver 0.91


var getElementsByClassName = (function(classname, tagname){
    var regClass = function(element, classname){
        var classElements = new Array();
        var regexe = new RegExp("\\b" + classname + "\\b");
        for( i = 0; i < element.length; i++ ) {
            if( regexe.exec(element[i].className) ) {
                classElements.push(element[i]);
            }
        }
        return classElements;
    }
    if( document.all ){
        return function(classname, tagname){
            if (arguments.length == 1) {
                element = document.all;
            }
            else{
                element = document.getElementsByTagName(tagname);
            }
            return regClass(element,classname);
        };
    }else{
        return function(classname, tagname){
            if (arguments.length == 1) {
                tagname = "*";
            }
            var element = document.getElementsByTagName(tagname);
            return regClass(element,classname);
        };
    }

})(); 

var Roll={
	originals:{},
	rollovers:{},
	start:function(){
		var idprefix="image"+((new Date()).getTime())+"_";
		Roll.idnumber=0;
		
		var images=[];
		if(typeof Containers=="object"){
			for (var i=0,L=Containers.length;i<L;i++){
				var contElem=document.getElementById(Containers[i]);
				if(contElem==null) continue;
				var imgs=contElem.getElementsByTagName('img');
				if(imgs==null) continue;
				for (var j=0,jL=imgs.length;j<jL;j++){
					if(imgs[j].src==null) continue;
					images.push(imgs[j]);
				}
			}
		}//alert(images.length);
		if(typeof Singles=="object"){
			for (var i=0,L=Singles.length;i<L;i++){
				var imgElem=document.getElementById(Singles[i]);
				if(imgElem==null) continue;
				if(imgElem.nodeName!="IMG") continue;
				if(imgElem.src==null) continue;
				images.push(imgElem);
			}
		}//alert(images.length);
		if(typeof Classes=="object"){
			for (var i=0,L=Classes.length;i<L;i++){
				var img_wrappers = getElementsByClassName(Classes[i]);
				if(img_wrappers!=null){
					for (var j=0,jL=img_wrappers.length;j<jL;j++){
						var imgs=img_wrappers[j].getElementsByTagName("img");
						if(imgs!=null){
							for (var k=0,kL=imgs.length;k<kL;k++){
								if(imgs[k].src==null) continue;
								images.push(imgs[k]);
								
							}
							
						}
					}
				}
			}
		}//alert(images.length);
		
		if(typeof roll_postword!="string") var roll_postword="_o";
	
		for (i=0,L=images.length;i<L;i++){
				//var parcheck=images[i].src.match(/(.+)(\.)(.+)\s*$/gi);
				//var parcheck=images[i].src.match(/(.+)(\.)(.+)\s*$/i);
				var src_var=images[i].src;
				var parcheck=src_var.match(/(.+)(\.)(.+)\s*$/i);
				
				if(!parcheck) {
					continue;
				} else {
					var par1=RegExp.$1;var par2=RegExp.$2;var par3=RegExp.$3;
				}

				//var reg=new RegExp(roll_postword+"\s*$","gi");
				var reg=new RegExp(roll_postword+"\s*$","i");
				if(reg.test(par1)) continue;//Skip if is RolloverImage
				
				var id=(images[i].id)? images[i].id : idprefix+(Roll.idnumber++);
				images[i].id=id;
				Roll.originals[id]=images[i].src;
				Roll.rollovers[id]=par1+roll_postword+"."+par3;
				document.preload=new Image; //Image Preload
				document.preload.src=Roll.originals[id];				
				
				Roll.addListener(images[i],'mouseover',Roll.rollover,false);
				Roll.addListener(images[i],'mouseout',Roll.rollout,false);
		}
	},
	rollover:function(e){
		var target_node=(e.target) ? e.target:e.srcElement;
		if (!target_node.id) return;
		target_node.src=Roll.rollovers[target_node.id];		
	},
	rollout:function(e){
		var target_node=(e.target) ? e.target:e.srcElement;
		if (!target_node.id) return;
		target_node.src=Roll.originals[target_node.id];		
	},
	addListener:function (elem,eventType,func,cap){ 
		if(elem.addEventListener){
			elem.addEventListener(eventType,func,cap);
		} else if (elem.attachEvent){ 
			elem.attachEvent('on'+eventType,func);
		} else {
			return false;
		}
	},
	addLoadEvent:function(func){
		var onloadfunc = window.onload;
		if (typeof window.onloadfunc != 'function'){
			window.onload = func;
		} else {
			window.onload = function(){
				onloadfunc();
				func();
			}
		}	
	}
}
Roll.addLoadEvent(Roll.start); 

