//Namespace
if (typeof (EnergyApps) === "undefined") {
	EnergyApps = {
		ImageClickhandler : {}
	};
}

/**
 * manages image clicks (currently in routingpages only)
 * 
 * @class EnergyApps.ImageClickhandler
 * @namespace EnergyApps
 * @author Sebastian Sauer
 * @constructor
 * @param {String} selector
 */
EnergyApps.ImageClickhandler = function(selector) {
	EnergyApps.ImageClickhandler.superclass.constructor.call(this);
	if (!selector) {
		var selector = '.routing';
	}
	this._selector = selector;
	this._bindClick();
};


Publicis.extend(EnergyApps.ImageClickhandler , Publicis.Observable, {
	_bindClick : function() {
	
		$$( this._selector ).each(function ( item ) {
			Event.observe( item, "click", function ( ev ) {
				var target;
				
				if( !ev || !ev.target || $( ev.target ).inspect() !== "<img>" ) {
					return;
				}
				
				Event.stop( ev );
								
				target = item.down( 'a' );
				if( ! target ) {
					return;
				}
			
				if( ! target.simulate ) {
					if( !! target.readAttribute( 'href' ) )	{
						window.location.href = target.readAttribute( 'href' );
					}
					return;
				}
				target.simulate( 'click' );
			});
		});
	}
});


