/*
 * JS - Javascript
 *
 * Modul: Login und Registrierung
 */

// Hovereffekt fuer Submitbuttons

var buttons = $$("input[type='submit'].submit") ; 

	buttons.each( function( item) { 

	  $(item).observe( 'mouseover', submitbuttonOver) ;  // Handler hinzufuegen
	  $(item).observe( 'mouseout', submitbuttonOut) ;  
	});


function submitbuttonOver( event) {  

	var element = event.element() ;
  	event.stop() ;
	
  	var queue = Effect.Queues.get( "submitbutton") ;				
  	queue.each( function(effect) { effect.cancel(); }) ;

 	new Effect.Morph( element,
  				      { style 	 : 'background:#FFFFFF;',
					  	duration : 0.1,
 				   	    queue    : { position: 'end', scope: "submitbutton"}
					 }) ; 
}

function submitbuttonOut( event) {  

	var element = event.element() ;
  	event.stop() ;
	
  	var queue = Effect.Queues.get( "submitbutton") ;				
  	queue.each( function(effect) { effect.cancel(); }) ;

 	new Effect.Morph( element,
  				      { style 	 : 'background:#EDEEEF;',
					  	duration : 0.4,
 				   	    queue    : { position: 'end', scope: "submitbutton"}
					 }) ; 
}



// Hovereffekt fuer Navigation

var navigation = $$('#navigation .schalter a') ;

	navigation.each( function( item) { 

	  $(item).observe( 'mouseover', navigationbuttonOver) ; // Handler ergaenzen
	  $(item).observe( 'mouseout', navigationbuttonOut) ;  

	  if( item.href == self.location.href) {
	  	item.addClassName("aktiv") ; 			   // aktiven Schalter markieren	  
	  }
	});


function navigationbuttonOver( event) {  

  var element = event.element() ;    // ausloesendes Element identifizieren
  event.stop() ;  					 // Event anhalten

  // Effektwarteschlange des Buttons identifizieren
  var queue = Effect.Queues.get( "'"+element+"'") ;		
  // letzten, ggf. noch laufenden Effekt aus der Wartschlange loeschen
  queue.each( function(effect) { effect.cancel(); }) ;  
  
  // Schalter entsprechen veraendern und Effekt in Warteschlange speichern
  new Effect.Morph( element, 
  					{ style   : 'background:#FFFFFF;color:#4574B9;',				
  					  duration: 0.1,								
  					  queue   : { position: 'end', scope: "'"+element+"'" } });
}

function navigationbuttonOut( event) {  

  var element = event.element() ;
  event.stop() ;

  // CSS setzen, abhaengig davon ob primaere oder sekundaere Navigationsebene
  if( element.up().hasClassName( 'button') == true) {	
  	tmp = 'background:#4574B9;color:#FFFFFF;' ;    
  } 
  else {
  	tmp = 'background:#EDEEEF;color:#4574B9;' ;
  }

  var queue = Effect.Queues.get( "'"+element+"'") ;		
  queue.each( function(effect) { effect.cancel(); }) ;   	

  new Effect.Morph( element, 
  					{ style   : tmp,
  					  duration: 0.4,								
  					  queue   : { position: 'end', scope: "'"+element+"'" } });
}