/**
* rollover (for image, input(image) Elements)
*/

function rollover() {
	if (!document.getElementById) return;
	
	// variable init
	var imagePreload = new Array();
	var targetCode   = new Array();
	var temp;
	
	// get imgElements
	imgArray     = document.getElementsByTagName('img');
	inputArray   = document.getElementsByTagName('input');
	
	// set targetCode
	for(var i=0; i<imgArray.length; i++){
		var classNameArray = imgArray[i].className.split(" ");
		for(var j=0; j<classNameArray.length; j++){
			if(classNameArray[j] == "rollover"){
				targetCode.push(imgArray[i]);
			}
		}
	}

	for(var i=0 ;i<inputArray.length; i++){
		if(inputArray[i].type == "image"){
			var classNameArray = inputArray[i].className.split(" ");
			for(var j=0; j<classNameArray.length; j++){
				if(classNameArray[j] == "rollover"){
					targetCode.push(inputArray[i]);
				}
			}
			
		}
	}

	// setEvent for targetCode
	for (var i=0; i < targetCode.length; i++) {
		var src       = targetCode[i].getAttribute('src');
		var suffix    = src.substring(src.lastIndexOf('.'), src.length);
		var srcOver   = src.replace(suffix, '_over' + suffix);

		targetCode[i].setAttribute('srcOver', srcOver);
		
		imagePreload[i] = new Image();
		imagePreload[i].src = srcOver;
		
		targetCode[i].onmouseover = function() {
			temp = this.getAttribute('src');
			this.setAttribute('src', this.getAttribute('srcOver'));
		}	
		
		targetCode[i].onmouseout = function() {
			if (!temp){
				temp = this.getAttribute('src').replace('_over' + suffix, suffix);
			}
			this.setAttribute('src', temp);
		}
	}
}

window.onload = rollover;