var http_request = false;
var string_to_send = '';


function checkForm() {
  var errors = "";

	var name     = document.getElementById("name");
	var email    = document.getElementById("email");
	var comment  = document.getElementById("comment");
  
  if ( name != null && name.value == "" ) {
    errors += "Name\n";
  }
  if ( email != null && email.value == "" ) {
    errors += "E-Mail\n";
  }
  if ( comment != null && comment.value == "" ) {
    errors += "Kommentar\n";
  }
  
  if (errors != "") {
    // meldung bei fehler
    alert("Die folgenden Felder muessen noch ausgefuellt werden,\nbevor das Formular gesendet werden kann:\n\n" + errors);
    return false;
  }
  else {
    // absenden bei erfolg
    send_input();
    return true;
  }; 
}

function send_input() {
  if ( window.XMLHttpRequest ) { // Mozilla, Opera, Safari,...
    http_request = new XMLHttpRequest();
  }
  else if ( window.ActiveXObject ) { // IE
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
  }

	http_request.onreadystatechange = recieve;
	http_request.open('POST', "formular.php", true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	// fuege formular eingaben zu einem string zusammen 
	// in der form name1=wert1&name2=wert2&name3=wert3 usw. 
	var name     = document.getElementById("name");
	var email    = document.getElementById("email");
	var comment  = document.getElementById("comment");
	
	string_to_send  = 'name='        + name.value;
	string_to_send += '&email='      + email.value;
	string_to_send += '&comment='    + comment.value;
	
	http_request.send(string_to_send);
}

function recieve() {
	if ( http_request.readyState == 4 ) {
    if (http_request.status == 200) {
      parse_response(http_request.responseXML);
    } 
	  else {
	    alert('Der Aufruf per Ajax hat nicht funktioniert! Fehler.');
	  }
	}
}

function parse_response(xmldoc) { // hier wird die antwort vom server verarbeitet
  var formresult         = xmldoc.getElementsByTagName('formresult'); // form_result aus xml
  var formresult_element = document.getElementById("formresult");     // html element fuer form_result-ausgabe
  
  for ( var i=0; i < formresult.length; ++i ) {
    for ( var j=0; j < formresult[i].attributes.length; ++j ) {
	    // ergebnis ausgeben 
	    if ( formresult[i].attributes[j].nodeValue == "true" ) {
	      // meldung bei erfolg
	      formresult_element.innerHTML = "Deine Nachricht wurde erfolgreich verschickt. Vielen Dank f&uuml;r Dein Intersesse!";
	    }
	    else {
	      // meldung bei fehler
	      formresult_element.innerHTML = "Technische Probleme! Bitte versuchen Sie es sp&auml;ter noch einmal.";
	    }
    }
  }
}


