// ---------------------------------------------------------------------------------------	
// scripte fuer realgruen
// author michael schulze, www.ju-mi.com, 2007-2008
// ---------------------------------------------------------------------------------------	


//---------------------------------------------------------------------------------------	
// Bildfunktionen
	// Preload von Button-Bildern
	sweiter = new Image(); 		sweiter.src='bilder/real_main_but_sweiter.gif';
	sweiter_a = new Image(); 	sweiter_a.src='bilder/real_main_but_sweiter_a.gif';
	weiter = new Image(); 		weiter.src='bilder/real_main_but_weiter.gif';
	weiter_a = new Image(); 	weiter_a.src='bilder/real_main_but_weiter_a.gif';
	weitergr = new Image(); 	weitergr.src='bilder/real_main_but_weiter_gruen.gif';
	weitergr_a = new Image(); 	weitergr_a.src='bilder/real_main_but_weiter_gruen_a.gif';
	rueck = new Image(); 		rueck.src='bilder/real_main_but_rueck.gif';
	rueck_a = new Image(); 		rueck_a.src='bilder/real_main_but_rueck_a.gif';
	rueckgr = new Image(); 		rueckgr.src='bilder/real_main_but_rueck_gruen.gif';
	rueckgr_a = new Image(); 	rueckgr_a.src='bilder/real_main_but_rueck_gruen_a.gif';
	srueck = new Image(); 		srueck.src='bilder/real_main_but_srueck.gif';
	srueck_a = new Image(); 	srueck_a.src='bilder/real_main_but_srueck_a.gif';
	
	
	// Bilder austauschen
	function swapImage(img,swapto){
		eval('document.getElementById(img).src=' + swapto + '.src;');
	}

	
//---------------------------------------------------------------------------------------	
// Ebenenfunktionen
	//Verschieben
	function relocateH(layerName,nach){
		nach = nach + "px";
		document.getElementById(layerName).style.left=nach;
	}
	
	// Element verstecken
	function nodispElement(element) {
		if (eval('document.getElementById("'+ element +'")')) eval('document.getElementById("'+ element + '").style.display="none"');
	}
	
	// alle verstecken
	function hideAll(bereich, anzahl) {
		for(count=1; count <= anzahl; count++){
			if (eval('document.getElementById("'+ bereich + count +'")')) eval('document.getElementById("'+ bereich + count +'").style.visibility="hidden"');
		}	
	}
	
	// Element zeigen
	function dispElement(element) {
		if (eval('document.getElementById("'+ element +'")')) eval('document.getElementById("'+ element + '").style.display="inline"');
	}
	
	// alle zeigen
	function showAll(bereich, anzahl) {
		for(count=1; count <= anzahl; count++){
			if (eval('document.getElementById("'+ bereich + count +'")')) eval('document.getElementById("'+ bereich + count +'").style.visibility="visible"');
		}	
	}
	
	// Netscape Layer Bug (Dreamweaver-Loesung)
	function MM_reloadPage(init) {  file:
	  if (init==true) with (navigator) {
		  	if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
		    	document.MM_pgW=innerWidth; 
				document.MM_pgH=innerHeight; 
				onresize=MM_reloadPage; 
			}
		}
	  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
	}
	MM_reloadPage(true);

	
	
//---------------------------------------------------------------------------------------	
// Schutzfunktionen
	// E-Mail-Adresse sichern
	var domains = new Array();
	domains[0] = '&#114;&#101;&#97;&#108;&#103;&#114;&#117;&#101;&#110;&#108;&#97;&#110;&#100;&#115;&#99;&#104;&#97;&#102;&#116;&#115;&#97;&#114;&#99;&#104;&#105;&#116;&#101;&#107;&#116;&#101;&#110;&#46;&#100;&#101;';
	
	function writeMail(dom,pre){
		document.write("<a href='mailto:" + pre + "@" + domains[dom] + "'>" + pre + "@" + domains[dom] + "</a>");
	}
	
	
	
// ---------------------------------------------------------------------------------------	
// realgruen spezifische Funktionen
	
	// Ermitteln der Projektnummer ---------- //
		function gotoProject(prjname){
			for (i=1; i<prName.length; i++){
				if (prName[i]==prjname){
					prj_id=i;
					break;
				}
			}
			window.location.href="real_projekte.php?prj=" + prj_id;
		}
	
	
	// Ausblenden des Ladebalkens ---------- //
		function loadingDone(){
			nodispElement('prnavladebalken');
		}
	
	
	
	
	// Projekt-Scroll-Funktionen ---------- //
	
	// ----- allgemeine Scrollfunktion
		// Startpositionen
		var posAlt = 0; 
		
		
	// ----- Band-Navigation
		// Navigation
		var zielpunkt=0;
		var slidePos=0;
		
		function slideTo(projekt,init){
			if (init==1){
				// Bildload anhalten
				loadstop = 1;
				// Bilder und Texte ausschalten (gegen Farbflächen tauschen)
				for (i=1; i<prName.length; i++){
					for (j=1; j<=prAnzBilder[i]; j++){
						if (eval('document.getElementById("' + prName[i] + j + '")')) eval ('document.getElementById("' + prName[i] + j + '").src="bilder/real_pf_' + prName[i] + '.gif";');
					}
					hideAll('text',prName.length);
				}
				// Slide-Vorgaben setzen
				zielpunkt = -prGrenze[projekt-1];
			}
			// neuen Abstand berechnen
			abstand=(zielpunkt-posAlt)/10;
			
			// Bewegung ausführen
			if  ((Math.ceil(posAlt)!=zielpunkt) && 
				((Math.ceil(posAlt)-1)!=zielpunkt) && 
				((Math.ceil(posAlt)+1)!=zielpunkt) &&
				((Math.ceil(posAlt)-2)!=zielpunkt) && 
				((Math.ceil(posAlt)+2)!=zielpunkt)){ 	
					slidePos=posAlt+abstand;
					relocateH('ihcont',slidePos);
					posAlt=posAlt + abstand;
					setTimeout("slideTo(" + projekt + ",0)",50);
			}
			// Slide beenden
			else {	
				// letzte Position auf Soll-Wert korrigieren
				if (posAlt!= zielpunkt){
					posAlt = zielpunkt;
					relocateH('ihcont',posAlt);
				}
				// Bilder und Texte wieder anschalten
				loadstop = 0;
				showPrImages(projekt); 
				showAll('text',prName.length);
				// Vorgaben für AutoScroll wieder setzen
				posAlt = Math.ceil(posAlt);
				// aktuelles Projekt fixieren
				highLock=projekt;
				highLight(projekt,0);
				// Seite ermitteln und setzen
				setPage();
			}
		}
		
			
		// Highlight setzen
		var highLock = 0;
		var headNow = 0;
		var lockHeadChange = 0;
		
		function highLight(pjnr,change){
			resetHigh();
			document.getElementById("bn" + prName[pjnr]).src="bilder/real_pnf_" + prName[pjnr] + ".gif";
			// Headline Rollover anzeigen
			if (change==1) lockHeadChange = 1;
			headNow = pjnr;
			setHead(pjnr);
		}
		
		function resetHigh(){
			lockHeadChange = 0;
			for (i=1; i<prName.length; i++){
				if (highLock!=i){
					document.getElementById("bn" + prName[i]).src="bilder/real_pnf_" + prName[i] + "_in.gif";
				}
			}
			checkHead(zielpunkt);
		}
	
	
	// ----- Headlines
		// Headlines setzen
			
		// automatisches Setzen des aktuellen Kapitels
		function checkHead(position){
			var projektNow = 0;
			for (i=0; i < prGrenze.length; i++){
				if (position < (-prGrenze[i]+700)) { projektNow = (i+1); }
				else { break; }
			}
			if ((headNow != projektNow) && (lockHeadChange == 0)){
				headNow = projektNow;
				setHead(projektNow);
				highLock=projektNow; 
				highLight(projektNow,0);
			}
		}
		
		// Austausch
		function setHead(projekt){
			// Head
			if (document.getElementById("mainhead").firstChild){
				document.getElementById("mainhead").removeChild(document.getElementById("mainhead").firstChild);
			}
			var head = document.createTextNode(prHead[projekt]);
			document.getElementById("mainhead").appendChild(head);
			
			// Subhead
			if (document.getElementById("subhead").firstChild){
				document.getElementById("subhead").removeChild(document.getElementById("subhead").firstChild);
			}
			var subhead = document.createTextNode(prSubhead[projekt]);
			document.getElementById("subhead").appendChild(subhead);
		}
	
	
	
	
	// Aus- und Einblenden der Bilder während Scrollen ---------- //
		var load_img = new Image();
		var loadcount = 0;
		var loadstop = 0;
		
		// Bilder wieder einblenden NEU
		function showPrImages(projekt){
			loadcount=0;
			// zeige Bilder des augerufenen Projekts
			for (i=0; i<loadBildPrj.length; i++){
				if (loadBildPrj[i]==projekt){
					load_img.src = "bilder/projektbilder/real_" + loadBilder[i] + ".jpg";
					img_name = loadBilder[i].replace(/_/, "");
					if (document.getElementById(img_name)) document.getElementById(img_name).src=load_img.src;
				}
				else if (loadBildPrj[i]>projekt){
					break;
				}
			} 
			// sämtliche Bilder wieder einblenden
			for (i=0; i<loadBilder.length; i++){
				load_img.src = "bilder/projektbilder/real_" + loadBilder[loadcount] + ".jpg";
				img_name = loadBilder[loadcount].replace(/_/, "");
				if (document.getElementById(img_name)) document.getElementById(img_name).src=load_img.src;
				loadcount++;
			}
		}
	
	
	// Scrollfunktion für Seitennavigation (!!! Vars stimmen mit Projektseite überein)
		
		function slideToPage(page,init,standard){
			if (init==1){				
				// Slide-Vorgaben setzen
				// A.	Projektseite mit Seitenmatrix
				if (standard==0){ zielpunkt = -prSMatrix[(page-1)]; }
				else			{ zielpunkt = -970 * (page-1); }
			}
			// Bewegung ausführen
			if ((Math.ceil(posAlt)!=zielpunkt) && 
			   ((Math.ceil(posAlt)-1)!=zielpunkt) && 
			   ((Math.ceil(posAlt)+1)!=zielpunkt)){
				abstand=(zielpunkt-posAlt)/5;
				slidePos=posAlt+abstand;
				relocateH('ihcont',slidePos);
				posAlt=posAlt + abstand;
				setTimeout("slideToPage(" + page + ",0," + standard + ")",40);
			}
			else if (prpage==1) {
				// letzte Position auf Soll-Wert korrigieren
				if (posAlt!= zielpunkt){
					posAlt = zielpunkt;
					relocateH('ihcont',posAlt);
				}
				checkHead(posAlt);
				setPage();
			}
			// nur Standardseiten
			else {
				// Page-Buttons wieder zeigen falls vorhanden (Standardseite)
				if (page!=prSMax) dispElement('pagevor');
				if (page!=1) 	  dispElement('pagerueck');
				else			  dispElement('dummyrueck');
			}
		}
	
	
	// Seiten-Navigation (Seite vor - zurück)
		var pageAkt = 1;
		
		function pageSlide(dir,standard){
			// Page-Buttons verstecken falls vorhanden (Standardseite)
			nodispElement('dummyrueck');
			nodispElement('pagerueck');
			nodispElement('pagevor');
			// Vorwärtsbewegung
			if (dir == 1){ 
				pageAkt++; 
				if (pageAkt>prSMax) pageAkt=prSMax;
			}
			// Rueckwärtsbewegung
			else		 { 
				pageAkt--; 
				if (pageAkt<1) pageAkt=1;
			} 
			slideToPage(pageAkt,1,standard);
		}
	
	
	// aktuelle Seite ermitteln und setzen (nach Seitensprung)
		function setPage(){
			for (i=0; i < prSMatrix.length; i++){
				if (prSMatrix[i] > (-Math.ceil(posAlt - 10))){  // 10px Toleranz einrechnen
					pageAkt = i;
					break;				
				}
			}
		}
