/*
 * Dynamische Ampel
 *
 * Falls ein gebrauchter oder beschaedigter Gegenstand, also eine
 * C oder B Ware angeklickt wird, soll die Verfuegbarkeits-
 * Ampel auf gruen schalten. C und B-Waren werden nur
 * angezeigt wenn Sie verfuegbar sind.
 * @Date 27.01.2010
 * @App Smartcard 24
 * @Author Sebastian Barthel
 *
 */
var green_lights_src = '/layout/_general/verfueg_art_gruen.jpg';
var default_lights_src;

document.observe("dom:loaded", function() {
	if($('artikel_ampel'))
	{
		default_lights_src = $('artikel_ampel').src;

		preisart = document.getElementsByName('preisart');

		for(i=0; i < preisart.length; i++)
		{
			if(preisart[i].value == 'endkunde' || preisart[i].value == 'endkunde_aktion')
			{
				$(preisart[i]).observe('click', setLightsToDefault);
			}
			if(preisart[i].value == 'endkunde_bware' || preisart[i].value == 'endkunde_cware')
			{
				$(preisart[i]).observe('click', setLightsToGreen);
			}
		}
	}

});

function hideEelementsOnGreenLight(){
	clearAllScopes();


	if($('lieferbar_am'))
		$('lieferbar_am').fade({ duration: 0.5,queue: { position: 'end', scope: 'lieferbar_am_scope' } });
	var info_agent = $('produktdetail').getElementsByClassName('info_agent');
	var i ;
	for(i = 0; i < info_agent.length; i++)
	{
		info_agent[i].fade({ duration: 0.5,queue: { position: 'end', scope: 'info_agent_scope'+i } });
	}
}

function showEelementsOnDefault(){
	clearAllScopes();

	if($('lieferbar_am'))
		$('lieferbar_am').appear({ duration: 0.5,queue: { position: 'end', scope: 'lieferbar_am_scope' }}) ;
	var info_agent = $('produktdetail').getElementsByClassName('info_agent');
	var i ;
	for(i = 0; i < info_agent.length; i++)
	{
		info_agent[i].appear({ duration: 0.5,queue: { position: 'end', scope: 'info_agent_scope'+i } });
	}
}

function setLightsToDefault(event) {
	$('artikel_ampel').src = default_lights_src;
	showEelementsOnDefault();
}

function setLightsToGreen(event) {
	$('artikel_ampel').src = green_lights_src;
	hideEelementsOnGreenLight();
}

function clearAllScopes(){

	var queue = Effect.Queues.get('lieferbar_am_scope');
	queue.each(function(effect) { effect.cancel(); });
	var info_agent = $('produktdetail').getElementsByClassName('info_agent');
	var i ;
	for(i = 0; i < info_agent.length; i++)
	{
		queue = Effect.Queues.get('info_agent_scope'+i);
		queue.each(function(effect) { effect.cancel(); });
	}

}


