/* 2006-12-28 */

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;

	EventManager.addEvent( el, 'mouseover', function(){ swapImage( el, 'on' ); }, false );
	EventManager.addEvent( el, 'mouseout',  function(){ swapImage( el, 'off'); }, false );
}

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] );
		}
	}
	preloadImages();
}

EventManager.addEvent( window, 'load', initRolloverImages, false );







function hasClassName(el, classname) {
	if(!document.getElementById) return false;
	var el = (typeof el == 'string' )? document.getElementById(el) : el;
	if(el.className == null) return false;
	var list = el.className.split(/\s+/);
	for(var i = 0; i < list.length; i++)
		if (list[i] == classname)
			return true;
	return false;
}
