/**
 * @author 				Ronald Keschke (keschke@sachsennet.de)
 * @copyright 			Ronald Keschke
 * 
 * @projectDescription 	Scannt den HREF Wert von Links und fügt ein SPAN-Tag ein mit entsprechenden
 * 						CSS Klassen.
 * 
 * @version 			1.01 
 * 
 * @browser				IE 6, IE 7, Firefox 2.0.0.6, Opera 9.2
 * 
 */


	/**
	 * 
	 * Array mit Fileextensions wird über die Methode
	 * registerExtension(pExtension,pClassname) gefüllt.
	 * 
	 */
	
	var extensions = new Array();
	
	/**
	 * Hilfsfunktion zur Erzeugung der span Schachtelung
	 * @param oldHref href attribut des a-Tags
	 * @param innerHtml innerHTML des a-Tags
	 * @return neuer HTML Code der ensprechenden Dateierweiterung
	 * 
	 */
	function getClassNameForHref(oldHref,innerHtml){
		if(innerHtml){
			if(oldHref){
				for (var i = 0; i < extensions.length; i++){
					if(oldHref.toUpperCase().endsWith("."+extensions[i][0].toUpperCase())){
						return '<span class="'+extensions[i][1]+'">'+innerHtml+'</span>';
					}
				}
			}
			return innerHtml;
		}else{
			return "";
		}
		
	}
	
	/**
	 * 
	 * fügt eine extension der form dateierweiterung css-klassenname hinzu
	 * 
	 * Beispiel: registerExtension("pdf","file_class_pdf");
	 * 
	 * @param pExtension Dateierweiterung ohne punkt
	 * @param pClassname zu setzender CSS-Klassenname 
	 * 
	 */
	
	function registerExtension(pExtension,pClassname){
		if(pExtension){
			if(pClassname){
				extensions.push(new Array(pExtension,pClassname));
			}
		}
	}
	
	
	
	/**
	 * 
	 * scannt das document nach a-tags und überprüft die dateierweiterung
	 * und ergänzt den linktext durch ein span-tag der form 
	 * <span class="registrierterKlassenName">Linktext</span>  
	 * 
	 * Aufruf: <body onload="scanExtensions()">
	 * 
	 */
	
	function scanExtensions(){
		try{
			tags = document.getElementsByTagName("a");
			for (var i = 0; i < tags.length; i++){
				if(tags[i] && tags[i].innerHTML){
			  		tags[i].innerHTML = getClassNameForHref(tags[i].href,tags[i].innerHTML);
				}
			}
		}catch(ex){
			alert(ex);
		}
	}
	
	
	
