var timer1 = '';
var timer2 = '';
var timer3 = '';
var timer4 = '';

var initialHeight = new Object;

var loaded = '';
var container = '';
var originalUrl = window.location.href.split('#')[0];


document.observe("dom:loaded", function(){
		var anker=location.href.split('#')[1];		
		observeProduktMenu();	
		observeSelector();
});

function observeProduktMenu(){
	
	var width = 0;
	
	$$('.klappTrigger').each(
		function(el){
			//width = width + el.getWidth();
			el.observe('mouseover', function(ev){clearTimeout(timer1);clearTimeout(timer3); timer1 = setTimeout(function(){toggleProduktReiter(el)},300) });
			el.observe('click', function(ev){ev.stop()});			
		}
	);
	
	$$('.klappTrigger2').each(
		function(el){
			el.observe('mouseover', function(ev){clearTimeout(timer1); clearTimeout(timer2); timer2 = setTimeout(function(){toggleEbene2(el);},300) });
			//el.observe('click', function(ev){ev.stop()});
		}
	)	

	$$('.klappTrigger3').each(
		function(el){
			el.observe('mouseover', function(ev){clearTimeout(timer1); clearTimeout(timer2); clearTimeout(timer4); timer4 = setTimeout(function(){toggleProductImage(el);},300) });
		}
	)		
	
	
	$('produktMenu').descendants().each(function(el){
		el.observe('mouseover', function(){clearTimeout(timer3);});
	});
	
	$('produktMenu').observe('mouseout', function(){
		clearTimeout(timer1);
		clearTimeout(timer2);
		clearTimeout(timer3);
		timer3 = setTimeout(function(){ 
			closeAllReiter();
		}, 500);
	});
	
}

function closeAllReiter(){
			$$('.klappTrigger').each(function(el){el.className = 'klappTrigger'});
			$$('.klappTrigger2').each(function(el){el.className = 'klappTrigger2'});
			$$('.klappTrigger3').each(function(el){el.className = 'klappTrigger3'});			
			$$('.produktKlapp').each(function(el){
				if(el.visible()){
					new Effect.Fade(el, {duration:0.3,afterFinish:function(){
						
					}});
				} else {
					el.hide();
				}				
			});		
}

function toggleProduktReiter(trigger){	
		
	$$('.klappTrigger').each(function(el){el.className = 'klappTrigger'});	
	trigger.className = 'klappTrigger active';	
	
	if($('produkt'+trigger.id).visible()) return false;

	$$('.produktKlapp').each(function(el){el.hide();});	
	new Effect.SlideDown($('produkt'+trigger.id), {duration:0.3});	
	
	if(!initialHeight['produkt'+trigger.id])
		initialHeight['produkt'+trigger.id] = ($('produkt'+trigger.id).getHeight()>208)?$('produkt'+trigger.id).getHeight():208;
}

function toggleEbene2(trigger){	
	$$('.klappTrigger2').each(function(el){el.className = 'klappTrigger2'});	
	trigger.className = 'klappTrigger2 active'	
	
	if($('produkt'+trigger.id).visible()) return false;
	
	$$('.produktMenu3').each(function(el){el.hide()});
	new Effect.Appear($('produkt'+trigger.id), {duration:0.3});	
	
	subHeight = $('produkt'+trigger.id).getHeight();
	
	parentKlapp = $('produkt'+trigger.id).up('.produktKlapp').id;

	if(subHeight > initialHeight[parentKlapp]){
		$('produkt'+trigger.id).up('.produktKlapp').style.height= subHeight+'px';
	} else {
		$('produkt'+trigger.id).up('.produktKlapp').style.height= initialHeight[parentKlapp]+'px';
	}	 
		
}

function toggleProductImage(trigger){
	$$('.klappTrigger3').each(function(el){el.className = 'klappTrigger3'});	
	trigger.className = 'klappTrigger3 active'	
	
	if(trigger.nextSibling.visible()) return false;	

	new Ajax.Updater(trigger.nextSibling, 'index.php?type=111', {
  		parameters: { bild: trigger.nextSibling.id },
  		onComplete: function(){
  			$$('.produktMenu3image').each(function(el){el.hide()});
  			new Effect.Appear(trigger.nextSibling, {duration:0.3});
  			//trigger.nextSibling.show();
  		}
	});
}

function observeSelector(){
	if (selector = $('artikelselector')){		
		container = selector.up('.csc-default');		
		selector.observe('change', function(ev){
			url=selector.options[selector.selectedIndex].value;			
			updateArtikel(container,url);		
		});
	}

	
	if (fselector = $('farbfelder')){
		container = fselector.up('.csc-default');
		$$('#farbfelder a').each(function(el){
			el.observe('click', function(ev){
				ev.stop();
				updateArtikel(container, el.href);
			})		
		});
	}
}

function updateArtikel(container, url){
	new Ajax.Updater(container, url, {
		method: 'get',
  		parameters: {type: 112 },  		
  		onCreate: function() {
 			container.innerHTML = '<div class="ajaxload"></div>'+container.innerHTML;
 			myLightWindow = false;
		},  				
  		onComplete: function(){ 				
  			observeSelector();
  			
  			myLightWindow = new lightwindow();  			
  			if(url != originalUrl){ 
  				if(dhtmlHistory) 			
  					dhtmlHistory.add(url, loaded);  	
  							
  				loaded = url;
  			} else {
  				loaded = '';
  			}
  		}
	});
}


function toggleCcShops(id){
	if(shops = $(id)){
		if(!shops.visible()){
			new Effect.BlindDown(shops,{duration:0.3});
		} else {
			new Effect.BlindUp(shops,{duration:0.3});
		}
	}
}


var ajaxHistory = function(newLocation, historyData) {

	 msg = loaded+" | newLocation=" + newLocation + " | historyData=" + historyData + " |";    		
	 //$('logo').innerHTML = msg;  			
	   			
	   			
	  if((loaded.length > 0) && (newLocation == '')){
      		updateArtikel(container,originalUrl); 
      		return;	  
	  }	  	 			
	   			
	  if(newLocation){
      		updateArtikel(container,newLocation); 
      		return;
      } else {
      	//if((loaded.length > 1) && (originalUrl != loaded)){
      	//		updateArtikel(container,originalUrl);      		
      	//		return;      	
      	//	}
      }
    
}


