function validateForm() {
  var errors = '';
  
  if( document.assignmentForm.name.value == '' ) {
    errors += '- Du skal udfylde dit navn\n';
  } 
  
  if( document.assignmentForm.address.value == '' ) {
    errors += '- Du skal udfylde din adresse\n';
  } 
  
  if( document.assignmentForm.zip.value == '' ) {
    errors += '- Du skal udfylde dit postnummer\n';
  }  
  
  if( document.assignmentForm.city.value == '' ) {
    errors += '- Du skal udfylde din by\n';
  } 
  
  if( document.assignmentForm.telephone.value == '' ) {
    errors += '- Du skal udfylde dit telefonnr.\n';
  } 
  
  if( document.assignmentForm.telephone.value.length < 8 ) {
    errors += '- Dit telefonnummer skal være på mindst 8 cifre.\n';
  } 
  
  if( document.assignmentForm.assignmentname.value == '' ) {
    errors += '- Du skal give din opgave et navn\n';
  }
   
  if( document.assignmentForm.assignmentfrom.value == '' ) {
    errors += '- Du skal udfylde hvem opgaven er fra\n';
  }
   
  if( document.assignmentForm.description.value == '' ) {
    errors += '- Du skal udfylde en beskrivelse\n';
  }
   
  if( document.assignmentForm.workzip.value == '' ) {
    errors += '- Du skal udfylde hvilket postnummer opgaven skal udføres i\n';
  }
   
  if( document.assignmentForm.workcity.value == '' ) {
    errors += '- Du skal udfylde hvilken by opgaven skal udføres i\n';
  }
   
  if( document.assignmentForm.workcounty.value == '' ) {
    errors += '- Du skal udfylde hvilket amt opgaven skal udføres i\n';
  } 
 
  if( errors == '' ) {
    var assignmentisfrom = '';
    if( document.getElementById('assignmentfromprivat').checked == true) {
      assignmentisfrom = 'Privat';
    } else if( document.getElementById('assignmentfromboligforening').checked == true) {
      assignmentisfrom = 'Boligforening';
    } else if( document.getElementById('assignmentfromoffentlig').checked == true) {
      assignmentisfrom = 'Offentlig';
    } else if( document.getElementById('assignmentfromvirksomhed').checked == true) {
      assignmentisfrom = 'Virksomhed';
    }
    var confirmation = confirm('Du har indtastet nedenstående oplysninger. Tryk "Ok" for at bekræfte disse, eller "Annuller" for at ændre dem.\n\nOpgaven er fra: ' + assignmentisfrom + '\nNavn: ' + document.assignmentForm.name.value + '\nAdresse: ' + document.assignmentForm.address.value + '\nPostnr., by: ' + document.assignmentForm.zip.value + ', ' + document.assignmentForm.city.value + '\nTelefon/mobil: ' + document.assignmentForm.telephone.value + '\nE-mail: ' + document.assignmentForm.email.value + '\nTræffes bedst mellem: ' + document.assignmentForm.metfrom.value + ' / ' + document.assignmentForm.metto.value + '\nOpgavens navn: ' + document.assignmentForm.assignmentname.value + '\nArbejdet ønskes påbegyndt ca.: ' + document.assignmentForm.workstart_Day.value + '/' + document.assignmentForm.workstart_Month.value + '-' + document.assignmentForm.workstart_Year.value + '\nUdføres i postnr., by: ' + document.assignmentForm.workzip.value + ', ' + document.assignmentForm.workcity.value + '\nUdføres i amt: ' + document.assignmentForm.workcounty.value + '\n' + '\nBeskrivelse: ' + document.assignmentForm.description.value );
    if ( confirmation == true ) {
      document.assignmentForm.submit();
    }
  } else {
    alert(errors);
  }      
}

function openwebsite(url){
  if( url == '' ) {
    alert("Denne håndværker har desværre ingen hjemmeside.");
  } else {
    window.open(url);
  }
}

function getXmlData(xmlTag) {
	var xmlDocument = http.responseXML.documentElement;
	var xmlElement = eval("xmlDocument.getElementsByTagName('" + xmlTag + "').item(0).firstChild");
	if (xmlElement) {
    	var elementData = xmlElement.data;
	} else {
	    var elementData = '';
	}
	return elementData;
}

var isWorking = false;

function getServerData(url, responseHandler) {
    if (!isWorking && http) {
		isWorking = true;
	    http.open("GET", url, true); 
		http.onreadystatechange = responseHandler; 
   	 	http.send(null);
	}
}

function customerHandler() {
    if (http.readyState == 4) {
   	    if (http.responseText.indexOf('invalid') == -1) {
   	    	if (getXmlData('eksisterer') == 1) {
   	    		document.getElementById('email').value = document.getElementById('old_email').value;
   	    		document.getElementById('used_service_before').value = '1';
	    		var assignmentfrom = getXmlData('opgavenerfra');
		    	document.getElementById('name').value      = getXmlData('navn');
		    	document.getElementById('address').value   = getXmlData('adresse');
		    	document.getElementById('zip').value       = getXmlData('postnr');
		    	document.getElementById('city').value      = getXmlData('postnrby');
		    	document.getElementById('telephone').value = getXmlData('telefon');
		    	document.getElementById('metfrom').value   = getXmlData('traeffesfra');
			    document.getElementById('metto').value     = getXmlData('traeffestil');         
   	    		
   	    		if (assignmentfrom == 'privat') {
   	    			document.getElementById('assignmentfromprivat').checked = true;
   	    		}
    	  	 	if (assignmentfrom == 'boligforening') {
   	    			document.getElementById('assignmentfromboligforening').checked = true;
   	    			document.getElementById('assignmentfromprivat').checked = false;
   	    		}
   	    		if (assignmentfrom == 'offentlig') {
   	    			document.getElementById('assignmentfromoffentlig').checked = true;
   	    			document.getElementById('assignmentfromprivat').checked = false;
   	    		}
   	   	 		if (assignmentfrom == 'virksomhed') {
   	   	 			document.getElementById('assignmentfromvirksomhed').checked = true;
   	    			document.getElementById('assignmentfromprivat').checked = false;
   	    		}
   	    	}
   	    	isWorking = false;
   	    }
    }
}

function zipHandler() {
    if (http.readyState == 4) {
   	    if (http.responseText.indexOf('invalid') == -1) {
		    document.getElementById('city').value = getXmlData('city');
   	    	isWorking = false;
   	    }
    }
}

function workZipHandler() {
    if (http.readyState == 4) {
   	    if (http.responseText.indexOf('invalid') == -1) {
		    document.getElementById('workcity').value = getXmlData('city');
   	    	isWorking = false;
   	    }
    }
}

function getCustomerData() {
	var url       = "getCustomerData.php?email=";
   	var mailValue = document.getElementById("old_email").value;
   	var getFrom   = url + escape(mailValue);
	getServerData(getFrom, customerHandler);
}

function getZipData() {
	var url       = "getZipData.php?zip=";
   	var zipValue = document.getElementById("zip").value;
   	var getFrom   = url + escape(zipValue);
	getServerData(getFrom, zipHandler);
}

function getWorkZipData() {
	var url       = "getZipData.php?zip=";
   	var zipValue = document.getElementById("workzip").value;
   	var getFrom   = url + escape(zipValue);
	getServerData(getFrom, workZipHandler);
}

function getHTTPObject() { 
	var xmlhttp; 
	/*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/  
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { 
		try { 
			xmlhttp = new XMLHttpRequest(); 
		} catch (e) { 
			xmlhttp = false; 
		} 
	} 
	return xmlhttp; 
} 

var http = getHTTPObject(); // We create the HTTP Object 