


var ROLLOVER_IMG = "rollover";
var ROLLOVER_IMG_NAME_SUFFIX = "on";



var buttons = [];
function registButton( el ){
	var btn = new Object();
	btn.src = el.src;
	btn.filetype = btn.src.substring(btn.src.lastIndexOf('.'));
	btn.basename = btn.src.substring(0, btn.src.length-btn.filetype.length);
	btn.onsrc = btn.basename + ROLLOVER_IMG_NAME_SUFFIX + btn.filetype;

	el.offsrc = btn.src;
	el.onsrc  = btn.onsrc;
	el.lock   = false;

	//buttons.push( el );
	buttons[buttons.length] = el;
}

function preloadImages(){
	if(!document.images) return;
	var ret = [];
	for( var i=0; i<buttons.length; i++ ){
		(new Image()).src = buttons[i].onsrc;
		ret[ret.length] = buttons[i].onsrc;
	}
}

function swapImage( obj, status ){
	if( !obj || !obj[status+"src"] ) return;
	if( !obj.lock )
		obj.src = obj[status+"src"];
}

function lock( obj ){
	if( obj.lock == 'undefined' ) return;
	if(!obj.lock)
		obj.lock = true;
}

function unlock(){
	if( obj.lock == 'undefined' ) return;
	if(obj.lock)
		obj.lock = false;
}

function initRolloverImages(){
	if(!document.getElementById) return;

	var img = document.getElementsByTagName('IMG');
	for( var i=0; i<img.length; i++ ){
		if (!hasClassName( img[i], ROLLOVER_IMG ))
			continue;
		else {
			registButton( img[i] );
			var ro = img[i];
			ro.onmouseover = function(){ swapImage( this, "on" ); }
			ro.onmouseout  = function(){ swapImage( this, "off" ); }
		}
	}
	preloadImages();
}

EventManager.addEvent( window, 'load', initRolloverImages, false );


