/*
 * www.testsuite.de
 *
 * Javascript
 */

/* Produktseite */
var products = [ 'test', 'auswertung', 'report_card', 'notenbuch', 'modul'] ;  // zusammengefasste Beschreibungen
var effekte  = new Array ;                                                     // Effekt zusammenstellen

function details( product) {

  // alle Beschreibungen bis auf aktuelle/aktivierte durchlaufen
  products.without( product).each( 
  	function( item) {
		
 		$('img_' + item).src = '../../images/' + item + '.png' ;		// Icons deaktiviern

  		effekte.push( new Effect.Fade( item,  { sync : true }) ) ;		// Effekt hinzufuegen
	}
  ) ;

  $('img_' + product).src = '../../images/' + product + '_aktiv.png' ;  // aktuelles Icon aktivieren

  // Details ein- und ausblenden
  var queue = Effect.Queues.get( "produkte") ; 				
  queue.each( function(effect) { effect.cancel(); }) ;
  
  new Effect.Parallel( effekte, { duration    : 0.1,  
						          queue       : { position: 'end', scope: 'produkte', limit: 1 },
							      afterFinish : function() { Effect.Appear( product, { duration : 0.2 } ) }
  } ) ;	  
}


/* 
 * 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|swf|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) ;
}