/* [version]2008-05-26 21:41[/version] */
/**
Verwendungsbeispiel im Head einer HTML-Datei:


<script type="text/javascript">
var ail = new AnemaIconList();

//="init('sn_sep', 'sn_con', 'sn_tou', 'sn_qg', 'sn_mc', 'nbtn_abu', 'nbtn_npr', 'nbtn_inv', 'nbtn_con');"
ail.registerIcon( 'sn_sep', 'images/sn_sep_c.gif', 'images/sn_sep_h.gif' );
ail.registerIcon( 'sn_con', 'images/sn_con_c.gif', 'images/sn_con_h.gif' );
ail.registerIcon( 'sn_tou', 'images/sn_tou_c.gif', 'images/sn_tou_h.gif' );
ail.registerIcon( 'sn_qg', 'images/sn_qg_c.gif', 'images/sn_qg_h.gif' );
ail.registerIcon( 'sn_mc', 'images/sn_mc_c.gif', 'images/sn_mc_h.gif' );
ail.registerIcon( 'nbtn_abu', 'images/navbuttons/nbtn_abu_c.gif', 'images/navbuttons/nbtn_abu_h.gif' );
ail.registerIcon( 'nbtn_npr', 'images/navbuttons/nbtn_npr_c.gif', 'images/navbuttons/nbtn_npr_h.gif' );
ail.registerIcon( 'nbtn_inv', 'images/navbuttons/nbtn_inv_c.gif', 'images/navbuttons/nbtn_inv_h.gif' );
ail.registerIcon( 'nbtn_con', 'images/navbuttons/nbtn_con_c.gif', 'images/navbuttons/nbtn_con_h.gif' );
//ail.registerIcon( '', 'images/navbuttons/_c.gif', 'images/navbuttons/_h.gif' );
//ail.registerIcon( '', 'images/_h.gif', 'images/_h.gif' );
//ail.registerIcon( '', '', '' );

function initOnload(){
	ail.load();
	ail.activateSwapping();
}

function preloadIconList(){
	ail.preload();
}

registerAnemaIconListOnload( initOnload );
setTimeout( preloadIconList, 0 );	// Wird ausgeführt, sobald das Dokument steht.
</script>

*/




function SwappedIcon( id, imgCold, imgHot ){
	this.id = id;
	this.imgCold = imgCold;
	this.imgHot = imgHot;
	this.element = null;
}

SwappedIcon.prototype.preload = function(){
	new Image().src = this.imgHot;
}
SwappedIcon.prototype.load = function(){
	this.element = document.getElementById( this.id );
	if( this.element ){
		this.element.src = this.imgCold;// else alert( this.id );
		this.element.swapper = this;
	}
};
SwappedIcon.prototype.heatUp = function(){
	this.element.src = this.imgHot;
};
SwappedIcon.prototype.coolDown = function(){
	this.element.src = this.imgCold;
};
SwappedIcon.prototype.setHandlers = function(){
	if( !this.element ){
		this.load();
		if( !this.element ){
			// Immer noch nichts.
			return;
		}
	}
	var self = this;
	var onmouseOverHandler = function(){ self.heatUp(); };
	var onmouseOutHandler = function(){ self.coolDown(); };

	if( this.element.addEventListener ){
		this.element.addEventListener( "mouseover", onmouseOverHandler, false );
		this.element.addEventListener( "mouseout", onmouseOutHandler, false );
	}else if( window.attachEvent ){
		this.element.attachEvent( "onmouseover", onmouseOverHandler );
		this.element.attachEvent( "onmouseout", onmouseOutHandler );
	}else{
		this.element.onmouseover = onmouseOverHandler;
		this.element.onmouseout = onmouseOutHandler;
	}
}


function AnemaIconList(){
	this.list = new Array();
}
AnemaIconList.prototype.registerIcon = function( id, imgCold, imgHot ){
	this.list.push( new SwappedIcon(id, imgCold, imgHot) );
}
AnemaIconList.prototype.load = function(){
	for( var i=0; i<this.list.length; ++i ){
		this.list[i].load();
	}
}
AnemaIconList.prototype.preload = function(){
	for( var i=0; i<this.list.length; ++i ){
		this.list[i].preload();
	}
}
AnemaIconList.prototype.activateSwapping = function(){
	for( var i=0; i<this.list.length; ++i ){
		this.list[i].setHandlers();
	}
}

function registerAnemaIconListOnload( initFunction ){
	if( window.addEventListener ){
		window.addEventListener( "load", initFunction, false );
	}else if( window.attachEvent ){
		window.attachEvent( "onload", initFunction );
	}else{
		window.onload = initFunction;
	}
}

