/*
 * www.aphos.de
 *
 * Javascript
 */

/*** Navigation ***/

var pfad = "http://www.aphos.de/" ; 


// Elemente der Navigation identifizieren
var navigation = $$('#navigation a') ; 

		// Event-handler hinzufuegen
		navigation.each( function( item) { 
		
			$(item).observe( 'mouseover', menuToMouseOver) ;
			$(item).observe( 'mouseout',  menuToMouseOut) ;
		});

	// MouseOver 
	function menuToMouseOver( event) {
	
	  var element = Event.element( event) ;
	  event.stop() ;  

	  // wenn das ausloesende Element nicht das Bild sondern der Link ist, dann eins runter in der Hierarchie gehen (zum Bild)
	  if( element.down() != null) { element = element.down() ; }

	  var tmp = element.src.split("/") ;         // Pfad ueber Slash zerlegen, um Dateinamen zu ermitteln
	  var nam = tmp[ tmp.length- 1].split("_") ; // Dateinamen zerlegen
	  
	  // Pfad zum aktivierten Bild setzen
	  element.src = pfad + "images/menu/button_" + nam[1] + "_aktiv.gif" ;
	}

	// MouseOut
	function menuToMouseOut( event) {
	
	  var element = Event.element( event) ;
	  event.stop() ;  
	  
	  // wenn das ausloesende Element nicht das Bild sondern der Link ist, dann eins runter in der Hierarchie gehen (zum Bild)
	  if( element.down() != null) { element = element.down() ; }

	  var tmp = element.src.split("/") ;         // Pfad ueber Slash zerlegen, um Dateinamen zu ermitteln
	  var nam = tmp[ tmp.length- 1].split("_") ; // Dateinamen zerlegen
	  
	  // Pfad zum aktivierten Bild setzen
	  element.src = pfad + "images/menu/button_" + nam[1] + "_inaktiv.gif" ;	  
	}

/*** Zitate ***/

		var effekte  = new Array ; 
		
		// Event-handler hinzufuegen
		if( $('auszug') != null) {
		
			$('auszug').observe( 'mouseover', respondToMouseOver) ;
			$('auszug').observe( 'mouseout', respondToMouseOut) ;		
		}
		
		// MouseMove
		function respondToMouseOver( event) {
		
	      var relTarg = event.relatedTarget || event.toElement;
		  event.stop() ;  
		  
		  if( relTarg.hasClassName( 'zitat') == false && relTarg.up().hasClassName( 'zitat') == false) {		
		 
			  var queue = Effect.Queues.get( "zitate") ; 				
			  queue.each( function(effect) { effect.cancel(); }) ;
	
			  $('bild').hide() ;
			  
			  new Effect.Appear( 'zitat', { duration    : 0.4,  
											from		: 0.2,								    
											queue       : { position: 'end', scope: 'zitate'}   // Effekt in Warteschlange speichern
										  });
		  }		
		}

		// MouseMove
		function respondToMouseOut( event) {

	      var relTarg = event.relatedTarget || event.toElement;
		  event.stop() ;  
		  
		  if( relTarg.hasClassName( 'zitat') == false && relTarg.up().hasClassName( 'zitat') == false) {		
		  
			  var queue = Effect.Queues.get( "zitate") ; 				
			  queue.each( function(effect) { effect.cancel(); }) ;
	
			  $('zitat').hide() ;
			  
			  new Effect.Appear( 'bild', { duration    : 0.4,
										   from		   : 0.2,	  									    
										   queue       : { position: 'end', scope: 'zitate'}   // Effekt in Warteschlange speichern
										  });
			}
		}		


/*** Statistik (tracking downloads)  ***/
var hrefs = document.getElementsByTagName("a") ;
var link_path = "" ;

// alle Links der Seite identifizieren
for (var l = 0; l < hrefs.length; l++) {

		try {
			var link_path = hrefs[l].pathname;

			if (location.host == hrefs[l].hostname) {

				if (link_path.match(/\.(doc|pdf|xls|ppt|zip|txt|rar|exe|wma|mov|avi|wmv|mp3)$/)) {
					addtrackerlistener( hrefs[l]) ;
				}
			} else {
				addtrackerlistener( hrefs[l]) ;
			}
		}
		catch(err) { }
}

// Eventlistener ergaenzen
function addtrackerlistener(obj) {
	if (obj.addEventListener) {
		obj.addEventListener( 'click', trackfiles, true) ;
	} else if (obj.attachEvent) {
		obj.attachEvent( "on" + 'click', trackfiles) ;
	}
}

// Event handling (Datei protokollieren)
function trackfiles( element) {
	file_path = "" ;

	if (location.host != this.hostname) {
	
		file_path = "/extern/" + (( element.srcElement) ? "/" + array_element.srcElement.hostname : this.hostname);
	}
	
	file_path = file_path + (( element.srcElement) ? "/" + array_element.srcElement.pathname : this.pathname) ;

	pageTracker._trackPageview( file_path) ;
}