xmlHttp = createXmlHttpRequestObject();

var cache = new Array();

// Wird aufgerufen, wenn Blur-Ereigniss
function validate(fieldID,value){
  if(xmlHttp){
    if(fieldID){
	  inputValue = encodeURIComponent(value);
	  cache.push("inputValue="+inputValue+"&fieldID="+fieldID);
	}
	try {
	  if((xmlHttp.readyState == 4 || xmlHttp.readyState == 0) && cache.length > 0){
	    var cacheEntry = cache.shift();
	    xmlHttp.open("GET","ajax/val_kontakt.php?" + cacheEntry,true);
	    xmlHttp.onreadystatechange = handleRequestStateChange;
	    xmlHttp.send(null);
	  }
	} catch(e){
	}
  }
}

// Wird bei Änderung des REadyState aufgerufen
function handleRequestStateChange(){
  if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){
	  try {
	    
	    readResponse();
	    
	  } catch(e){
	  }
	}
  }
}

// Liest Nachricht & gibt eventuell Fehler aus
function readResponse(){
  var response = xmlHttp.responseText;
  
  if(response.indexOf("ERRNO") >=0 || response.indexOf("error:") >= 0 || response-length ==0){
    throw("Serverfehler!");
  }
  
  responseXml = xmlHttp.responseXML;
  
  xmlDoc = responseXml.documentElement;
  result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;
  fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;
  
  message = document.getElementById(fieldID + "Failed");
  
  message.className = (result == "0") ? "error" : "hidden";
  
  setTimeout("validate();",500);
}

