/*
	Standards Compliant Rollover Script
	Version 2.62
*/
var initedRollover, austausch, debug, austauschsuffix, threestatesuffix, alleBilder, aPreLoad = new Array(), syncImage, i=1, imageToClick, threestate, cssnavi, o , navizahl, idsvonbildern='';

switchNode = function(){

}

function initRollovers(imageToClick,settings) {
    if (initedRollover == true && imageToClick=='0') return;
	if (!document.getElementById) return;
    if (!austauschsuffix) austauschsuffix ='_austausch';
    if (!threestatesuffix) threestatesuffix ='_f3';
   
     // CSSNavigation
    if (cssnavi){
    
       var navigation = document.getElementsByClassName('navigation');
       debugalert('Anzahl gefundene CSS-Navigationen: ' + navigation.length);
       for (navizahl=0;navizahl < navigation.length;navizahl++){
           if (navigation[navizahl] ) {
               var menupunkte = navigation[navizahl].getElementsByTagName('LI');
               
               // IDs für alle LI vergeben, die noch keine ID haben. Dazu wird der Text des LI > A verwendet
               for (var anzahlMenupunkte = 0; anzahlMenupunkte < menupunkte.length; anzahlMenupunkte++){
                   var link = getNextNode(menupunkte[anzahlMenupunkte],'a', true);
                   
                   if (!menupunkte[anzahlMenupunkte].id) {
                       var linktext = getNextNode(link, '#text', true).data;
                        if (linktext && linktext.data != null) {
                            debugalert('ID zugewiesen: '+linktext.toLowerCase());
                            menupunkte[anzahlMenupunkte].id = linktext.toLowerCase();
                        }
                    }
                        
                   if(imageToClick){
        				for (var anzahl=0; anzahl<imageToClick.length; anzahl++){
                            if (menupunkte[anzahlMenupunkte].id == imageToClick[anzahl].toLowerCase()) {
                                debugalert(menupunkte[anzahlMenupunkte].id +': Listenpunkt und Link auf active gesetzt');
                                if (!menupunkte[anzahlMenupunkte].className) menupunkte[anzahlMenupunkte].className = 'active';
                                else menupunkte[anzahlMenupunkte].className = menupunkte[anzahlMenupunkte].className + ' active';
                                if (link.className) link.className = 'active';
                                else link.className = link.className + ' active';
                            }
                        }
                   }
               }
            }
       }
    }
    // Ende CSSNavigation
    
   	alleBilder = document.getElementsByTagName('img');

	// Austauschbild vorhanden?
	if (document.getElementById('austausch') != null) {
		syncImage = document.getElementById('austausch');
		var syncSrc = syncImage.src;
		debugalert('Austauschbild: '+syncSrc);
	}
    
	// Alle Bilder die den classname rollover und keine ID haben mit numerischer ID versehen
	for (var j = 0; j < alleBilder.length; j++){
		if (alleBilder[j].className.match('rollover')){
        
			var dateiname = alleBilder[j].getAttribute('src').substring(alleBilder[j].getAttribute('src').lastIndexOf('/')+1, alleBilder[j].getAttribute('src').length);
			dateiname = dateiname.replace(dateiname.substring(dateiname.lastIndexOf('.'), dateiname.length),"");
 			
             if (!alleBilder[j].id) {
                alleBilder[j].id = dateiname;
            }
             if (alleBilder[j].id) idsvonbildern += alleBilder[j].id+'\n';
            
			// Jetzt kommt das Zuordnen von allen Eigenschaften
			alleBilder[j].original = alleBilder[j].getAttribute('src'); // Src des aktuellen Bildes
			var ftype = alleBilder[j].original.substring(alleBilder[j].original.lastIndexOf('.'), alleBilder[j].original.length); // Filetype abfragen
			alleBilder[j].over = alleBilder[j].original.replace(ftype, '_f2'+ftype); // in Over den src + _f2 schreiben
			if(threestate){
                   alleBilder[j].klick = alleBilder[j].original.replace(ftype, '_f3'+ftype); // in Klick den src + _f3 schreiben
			}

			if (syncImage && alleBilder[j].className.match('austausch')){
				var syncFtype = syncSrc.substring(syncSrc.lastIndexOf('.'), syncSrc.length);
				var syncOver = alleBilder[j].original.substring(0,alleBilder[j].original.lastIndexOf('.'));
			    alleBilder[j].syncImage = syncOver+austauschsuffix+syncFtype;
				alleBilder[j].syncOriginal = syncImage.src;
			}

			aPreLoad[i] = new Image();
			aPreLoad[i].src = alleBilder[j].over;
            
            if(imageToClick){
            
			// Wenn das Bild in imageToClick steht, dann den src direkt auf das _f2 Bild setzen
				for (anzahl=0; anzahl<imageToClick.length; anzahl++){
					if (imageToClick[anzahl]!="0"){
						if (alleBilder[j].id == imageToClick[anzahl]) {
						    
							if (threestate){
                               alleBilder[j].src = alleBilder[j].klick;
                               alleBilder[j].original = alleBilder[j].klick;
							}
							else {
                                alleBilder[j].src = alleBilder[j].over;
    							alleBilder[j].original = alleBilder[j].over;
							}
							if (alleBilder[j].syncImage) {
								var syncOriginal = alleBilder[j].syncImage;
								syncImage.src = alleBilder[j].syncImage;
							}
						}
					}
				}
			}

			alleBilder[j].onmouseover = function () {
				this.src = this.over;
				if (this.syncImage && (austausch == 'hover')) {
                    syncImage.src = this.syncImage;
                    	debugalert('neues Austauschbild.src:\n'+this.syncImage);
                    }
			};
			alleBilder[j].onmouseout = function () {
				this.src = this.original;
				if (this.syncImage && (austausch == 'hover')) {
                    syncImage.src = syncOriginal;
                    debugalert('voriges Austauschbild wiederherstellen:\n'+syncOriginal);    
                }
			};
		}
	}
	debugalert('Folgende Bilder haben die Klasse Rollover:\n'+idsvonbildern);
	debugalert('Folgende Bilder sollen aufleuchten:'+imageToClick);
	
        initedRollover = true;
        debugalert('initedRollover ist jetzt true');
};

function getNextNode ( o , typeOfNode ) {
    if ( arguments[2] == null ) {
        o = o.nextSibling ;
    }

    while ( o && o.nodeName.toLowerCase() != typeOfNode.toLowerCase () ) {
        c = o.childNodes ;

        for ( var i = 0 ; i < c.length ; i++ ) {
            pSub = getNextNode ( c[i] , typeOfNode , false )  ;

            if ( pSub  ) {
                return pSub ;
            }
        }
        o = o.nextSibling;
    }

    if ( o ) {
        return o ;
    } else {
        return '' ;
    }
};


if (typeof debugalert != 'function'){
     debugalert = function (outputtext){
        if (debug) alert(outputtext);
    };
};

if (typeof document.getElementsByClassName != 'function'){ 
    document.getElementsByClassName = function(class_name)
    {
      var all_obj,ret_obj=new Array(),j=0,teststr;
    
      if(document.all)all_obj=document.all;
      else if(document.getElementsByTagName && !document.all) all_obj=document.getElementsByTagName("*");
      for(i=0;i<all_obj.length;i++)
      {
        if(all_obj[i].className.match(class_name))
        {
         ret_obj[j]=all_obj[i];
            j++;
        }
      }
      return ret_obj;
    }
};


if (typeof collectTriggers == 'function') {
       if(initedRollover != "true") collectTriggers("initRollovers(['home'])");
}
else{
    if (document.attachEvent)
    attachEvent("onload", function(){if(initedRollover != "true") initRollovers(new Array('home'));});
    else addEventListener("load", function(){if(initedRollover != "true") initRollovers(new Array('home'));}, false);
}

