// JavaScript Document
var request = false;

function kontaktSend (url) {
  if (document.gwKontakt.name.value == "") {
    var meldung = "Bitte geben Sie auch Ihren Namen ein. Danke! ";
    document.gwKontakt.name.style.border = "2px solid #EB0303";
    document.gwKontakt.name.select();
    document.gwKontakt.name.focus();
    alert(meldung);
  } else if (document.gwKontakt.nachricht.value == "") {
    var meldung = "Bitte stellen Sie eine Frage. Danke! ";
    document.gwKontakt.nachricht.style.border = "2px solid #EB0303";
    document.gwKontakt.name.style.border = "1px solid #4F4F4F";
    document.gwKontakt.nachricht.select();
    document.gwKontakt.nachricht.focus();
    alert(meldung);
  } else {
    if (document.gwKontakt.email.value != "") {
      if (emailCheck(document.gwKontakt.email.value)) {
        document.gwKontakt.name.style.border = "1px solid #4F4F4F";
        document.gwKontakt.nachricht.style.border = "1px solid #4F4F4F";
        document.gwKontakt.email.style.border = "1px solid #4F4F4F";
        setRequest(url);
      } else {
        document.gwKontakt.email.select();
        document.gwKontakt.email.focus();
        document.gwKontakt.email.style.border = "2px solid #EB0303";
        document.gwKontakt.name.style.border = "1px solid #4F4F4F";
        document.gwKontakt.nachricht.style.border = "1px solid #4F4F4F";
      }
    } else {
      document.gwKontakt.email.select();
      document.gwKontakt.email.focus();
      document.gwKontakt.email.style.border = "2px solid #EB0303";
      document.gwKontakt.name.style.border = "1px solid #4F4F4F";
      document.gwKontakt.nachricht.style.border = "1px solid #4F4F4F";
      alert("Bitte geben Sie Ihre eMail-Adresse ein.");
    }
  }
}
// Request senden
function setRequest(url) {
	// Request erzeugen
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest(); // Mozilla, Safari, Opera
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
		} catch (e) {
			try {
				request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
			} catch (e) {}
		}
	}

	// überprüfen, ob Request erzeugt wurde
	if (!request) {
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		return false;
	} else {
    // Kontaktformular auslesen
		var postSend =  "id="+document.gwKontakt.id.value+
                    "&name="+escape(document.gwKontakt.name.value)+
                    "&telefon="+document.gwKontakt.telefon.value+
                    "&email="+escape(document.gwKontakt.email.value)+
                    "&betreff="+escape(document.gwKontakt.betreff.value)+
                    "&nachricht="+escape(document.gwKontakt.nachricht.value);
    // Request öffnen
		request.open('post', url, true);
		// Requestheader senden
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
		// Request senden
		request.send(postSend);
		// Request auswerten
		request.onreadystatechange = interpretRequest;
	}
}

	// Request auswerten
function interpretRequest() {
	switch (request.readyState) {
		// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
		case 4:
			if (request.status != 200) {
				alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
			} else {
					// den Inhalt des Requests in das <div> schreiben
				  // Antwort des Servers -> als XML-Dokument
					var xmlDoc	= request.responseXML;
					// Namen aus dem XML-Dokument herauslesen
					var ursprung	= xmlDoc.getElementsByTagName('ursprung')[0].firstChild.nodeValue;
					var ziel = xmlDoc.getElementsByTagName('ziel')[0].firstChild.nodeValue;
				  var meldung = "";
          for (i=0; i<xmlDoc.getElementsByTagName('meldung')[0].childNodes.length; i++) {
            if (hasWhiteSpace(xmlDoc.getElementsByTagName('meldung')[0].childNodes[i].data)) {
              meldung += xmlDoc.getElementsByTagName('meldung')[0].childNodes[i].data;
            }
          }
				  document.getElementById(ursprung).style.display = "none";
				  document.getElementById(ziel).innerHTML = meldung;
			}
			break;
		default:
			break;
	}
}

function kontaktformVisible () {
  document.getElementById('gw_detail_kontakt_sent').innerHTML = "";
  document.getElementById('gw_detail_kontakt').style.display = "block";
  document.gwKontakt.betreff.value = "";
  document.gwKontakt.nachricht.value = "";
}
function hasWhiteSpace(s) {
  reWhiteSpace = new RegExp(/^\s+$/);
  // Check for white space
  if (reWhiteSpace.test(s)) {
    return false;
  }
  return true;
}

