var scrollPos = [0, 0]; //Variable für Scrollposition im Fenster (x,y)

function center(id){
 	//zentriert das Element mit der ElementID 'id' im Fenster
	var windowSize = getSize(); //[Breite, Höhe]
	var elementSize = [ document.getElementById(id).offsetWidth, document.getElementById(id).offsetHeight ]; //[Breite, Höhe]

	if(navigator.appName == "Microsoft Internet Explorer"){
		//IE
		document.getElementById(id).style.position = "absolute";
	}
	else{
		//Non-IE
		document.getElementById(id).style.position = "fixed";
	}
	//Es wird zusätzlich noch der Elementrahmen abgezogen
	//ToDo: Rahmenbreite als Parameter
	document.getElementById(id).style.top = (windowSize[1]-elementSize[1])/2;
	document.getElementById(id).style.left = (windowSize[0]-elementSize[0])/2;
}

function resize(id){
	// ÄNDERN //
	//setzt die Größe für Element mit der ElementID 'id'
	//var contentSize = [document.getElementById("layout").offsetWidth, document.getElementById("layout").offsetHeight ];  //[Breite, Höhe]
	var contentSize = [680, 710];
	var windowSize = getSize(); //[Breite, Höhe]
	document.getElementById(id).style.width = Math.max(contentSize[0],windowSize[0]);
	document.getElementById(id).style.height = Math.max(contentSize[1],windowSize[1]);
}

function center_popup(){
	//Hilfsfunktion, da EventHandler keine parametrisierte Funktion aufrufen kann
	//zentriert Element mit ID 'popup'
	center("popup");
	//passt Größe des transparenten Bereiches an
	resize("transparenz");
}

function getSize() {
	//Ermittelt die Größe des Browserfensters
	var myWidth = 0, myHeight = 0;

	if( typeof( window.innerWidth ) == 'number' ) {
		//window.innerWidth speichert die Breite des Anzeigebereichs eines Fensters.
		//JS1.2, N4.0, O5.12, FF1.0, K3.3, S1.0
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ im standardkonformen Modus
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 kompatibel
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return [ myWidth, myHeight ];
}

function getScrollXY() {
	//Ermittelt die Scrollposition im Dokument
	var scrOfX = 0, scrOfY = 0;

	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}

function create_popup(picWidth,picHeight,picDescription){
        var transDIV = document.createElement("div"); //div für transparente Überblendung
        var popupDIV = document.createElement("div"); //div für Popup

        transDIV.setAttribute("id", "transparenz");
        popupDIV.setAttribute("id", "popup");
		
		//Scrollen verhindern
        document.documentElement.setAttribute("style", "overflow:hidden");
        if(navigator.appName == "Microsoft Internet Explorer"){
			scrollPos = getScrollXY();
			window.scrollTo(0, 0);		
        }
		document.getElementsByTagName("body")[0].scroll = "no";
		
        document.body.appendChild(transDIV);
        document.body.appendChild(popupDIV);

		resize("transparenz");		
		
		tabWidth = picWidth + 68;
		tabHeight = picHeight + 83;

        popupDIV.innerHTML = '<table style="border:32px solid white;border-bottom:5px solid white;height:'+tabHeight+'px;width:'+tabWidth+'px;" class="bild"><tr><td style="padding:0px;vertical-align:middle;text-align:center;height:'+picHeight+'px;width:'+picWidth+'px;" colspan="2"><img src="files/bilder/ladebalken.gif" width="204" height="164" border="0" alt=""></td></tr><tr style="background-color:#FFFFFF;"><td style="border-top:20px solid white;padding-left:0px;text-align:left;"><a class="white" href="javascript:close_popup()">Fenster schließen</a></td><td id="text1" style="border-top:20px solid white;padding-right:0px;text-align:right;">'+picDescription+'</td></tr></table><img style="position:absolute;right:-25px;top:-29px" src="./files/bilder/logo_ajax.gif">';

        center("popup");
        document.getElementById('popup').style.visibility = "visible";
        document.getElementById('transparenz').onclick = close_popup;
        window.onresize = center_popup;
		// Flash-Film ausblenden
		document.getElementById('content_left').style.visibility = "hidden";
}

 function open_popup(picUrl,picWidth,picHeight,picDescription){
	//weiter Infos: http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060405/
	//mittels dynamischer Serveranfrage ein Popup-Fenster anzeigen
	//erstellen des Requests
	var req = null;

	try{
		//XMLHttpRequest in Mozilla, Opera, Safari, Konqueror und Internet Explorer (ab v7)
		req = new XMLHttpRequest();
	}
	catch (ms){
		//IE6 und älter
		try{
			//XMLHttpRequest in Windows Internet Explorer (ab v5)
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (nonms){
			try{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (failed){
				req = null;
			}
		}
	}

	if (req == null){
		alert("Die Resource konnte leider nicht geladen werden!");
	}
	
	//Anfrage stellen (GET, url ist localhost, Request ist asynchron)
	req.open("GET",picUrl, true);
	//Popup-Fenster erstellen
	create_popup(picWidth,picHeight,picDescription);

	//Beim Abschliessen des Request wird diese Funktion ausgeführt
	req.onreadystatechange = function(){
		//0 Uninitialized - The initial value.
		//1 Open - The open() method has been successfully called.
		//2 Sent - The UA successfully completed the request, but no data has yet been received.
		//3 Receiving - Immediately before receiving the message body (if any). All HTTP headers have been received.
		//4 Loaded - The data transfer has been completed.		
		switch(req.readyState) {
            case 4:
				//HTTP status code (typically 200 for a successful connection)
				if(req.status!=200) {
					alert("Fehler:"+req.status);
				}
				else{
					//Neues Bildobjekt
					var img = new Image();
					//Nach dem Laden des Bildes wird diese Funktion ausgeführt
					img.onload = function(){
						tabWidth = picWidth + 68;
						tabHeight = picHeight + 83;
						document.getElementById('popup').innerHTML = '<table style="border:32px solid white;border-bottom:5px solid white;height:'+tabHeight+'px;width:'+tabWidth+'px;" class="bild"><tr><td style="padding:0px;vertical-align:middle;text-align:center;height:'+picHeight+'px;width:'+picWidth+'px;" colspan="2"><img src="'+picUrl+'" width="'+picWidth+'" height="'+picHeight+'" border="0" alt=""></td></tr><tr style="background-color:#FFFFFF;"><td style="border-top:20px solid white;padding-left:0px;text-align:left;"><a class="white" href="javascript:close_popup()">Fenster schließen</a></td><td id="text1" style="border-top:20px solid white;padding-right:0px;text-align:right;">'+picDescription+'</td></tr></table><img style="position:absolute;right:-25px;top:-29px" src="./files/bilder/logo_ajax.gif">';
					}
					//Bild laden
					img.src = picUrl;
				}
				break;
			default:
				return false;
				break;
        }
    };
	
	//Header und Daten senden
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	req.send(null);
}

function close_popup(){
	document.body.removeChild(document.getElementById('popup')); // Popup-Element entfernen
	document.body.removeChild(document.getElementById('transparenz')); //transparenten Bereich entfernen
	document.documentElement.setAttribute("style", "overflow:auto"); //HTML-Elementknoten
	document.getElementById('content_left').style.visibility = "visible"; // Flash-Film zeigen
	window.onresize = null; //Event-Handler deaktivieren
	document.getElementsByTagName("body")[0].scroll = "yes";//Scrollbalken aktivieren
	
	if(navigator.appName == "Microsoft Internet Explorer"){
		//Zur Ausgangsposotion scrollen
		window.scrollTo(scrollPos[0],scrollPos[1]);
	}
}

//Mailadressen verschlüsseln
function decrypt(obj){
  str = obj.href;
  str = str.substring(7,str.length);
  len = str.length;
  mail = "";
  for($i=0;$i<len-1;$i=$i+2){
    mail = mail + str.charAt($i+1);
    mail = mail + str.charAt($i);
  }
  if(mail.length < len){
    mail = mail + str.charAt(len-1);
  }
  obj.href = "mailto:" + mail;
}

function encrypt(obj){
  str = obj.href;
  str = str.substring(7,str.length);
  len = str.length;
  mail = "";
  for($i=0;$i<len-1;$i=$i+2){
    mail = mail + str.charAt($i+1);
    mail = mail + str.charAt($i);
  }
  if(mail.length < len){
    mail = mail + str.charAt(len-1);
  }
  obj.href = "mailto:" + mail;
}

//Kontaktformular
function check()
{
 var verbotenhp = new Array("°","!","§","$","%","@","(",")","=","?","^","{","[","]","}","\\","ä","Ä","ö","Ö","ü","Ü","ß");
 var senden = true;
///////////////////////////////////////////////Leere Felder abfangen
 if(document.forms[0].nachname.value == "")
 {
	//document.forms[0].nachname.select();
	document.getElementById("errname").innerHTML = "*";
	senden = false;
 }
 else
 {
 	document.getElementById("errname").innerHTML = "";
 }
 if(document.forms[0].vorname.value == "")
 {
	//document.forms[0].vorname.select();
	document.getElementById("errvorname").innerHTML = "*";
	senden = false;
 }
 else
 {
	document.getElementById("errvorname").innerHTML = "";
 }
 if(document.forms[0].anfrage.value == "")
 {
	//document.forms[0].anfrage.select();
	document.getElementById("erranfrage").innerHTML = "*";
	senden = false;
 }
 else
 {
 	document.getElementById("erranfrage").innerHTML = "";
 }
 ///////////////////////////////////////////////Korrekte Mailadresse
 if (checkmail())
 {
	document.getElementById("errmail").innerHTML = "";
 }
 else
 {
	senden = false;
	document.getElementById("errmail").innerHTML = "*";

 }
 ///////////////////////////////////////////////Abschicken falls alles OK
 return senden;
}

function resetform()
{
 document.getElementById("errname").innerHTML = "*";
 document.getElementById("errvorname").innerHTML = "*";
 document.getElementById("errmail").innerHTML = "*";
 document.getElementById("erranfrage").innerHTML = "*";
}

function checkmail()
{
 var verboten = new Array("°","!","\"","§","$","%","&","/","(",")","=","?","^","{","[","]","}","\\","ä","Ä","ö","Ö","ü","Ü","ß");
 var addi = document.forms[0].email.value;
 var a = addi.indexOf("@");
 var a1 = addi.lastIndexOf("@");
 var b = addi.indexOf(".");
 var b1 = addi.lastIndexOf(".");
 var l = addi.length-1;
 for(var j=0;j<verboten.length;j++)
 {
  if(addi.indexOf(verboten[j]) != -1)
  {
	return false;
	break;
  }
 }
 //if (a<1 || b==-1 || a>b || b<a+2 || a!=a1 || b!=b1 || b==l)
 if (a<1 || b==-1 || a>b || b<a+2 || a!=a1 || b==l)
 {
	return false;
 }
 else
 {
	return true;
 }
}
