function verversListbox(resp)
{
  if (resp.responseText != "-1")
    Element.update($('datum'), resp.responseText);
    // Hier wordt dus alles onder het element 'datum' vervangen door de responsetext
}
 
function verversListboxEvent()
{
    if($('afhalen').checked){
        var postcode = '6717TR';
    }else{
        if($('afleveradres').checked==true){
            var postcode = $F('postcode_levering');
        }else{
            var postcode = $F('postcode');
        }
    }
    if (postcode == "") postcode="niet gevonden";
 
    new Ajax.Request(
        "haaldatum.php",
        {
            method: 'get',
            parameters: "postcode=" + postcode,
            onComplete: verversListbox
        }
    );
}

function checkform(){
	error = "";
	var el;
        // Aantal bollen controleren...
        var aantallen=($$('input.zoekme'));
        var aantal_gevonden = false;
        var aantal_eenheden = 0;
        for(i=0;i<aantallen.length;i++){
                if(aantallen[i].value!=''){
                  aantal_gevonden=true;
                  aantal_eenheden+=aantallen[i].value*$(aantallen[i].id+"_eenheid").value;
                }
        }
        var eenheden_tekst = $("eenheden_lable").innerHTML;
        var eenheden_parts = eenheden_tekst.split(":");
        if(!aantal_gevonden)error='Er zijn geen aantallen ingevuld';
        if(((eenheden_parts[eenheden_parts.length-1]*1)>aantal_eenheden) && $("afhalen").checked){
          error+="<br />Voor deze postcode zijn meer besteleenheden nodig";
        }
        // En de rest
	if($('man').checked==false && $('vrouw').checked==false){error+="<br />Het veld geslacht is niet gekozen";}
	if($('voorletters').value==""){error+="<br />Het veld voorletters is niet (goed) ingevuld";}
	if($('achternaam').value==""){error+="<br />Het veld achternaam is niet (goed) ingevuld";}
	if($('postcode').value==""){error+="<br />Het veld postcode is niet (goed) ingevuld";}
	if($('huisnummer').value==""){error+="<br />Het veld huisnummer is niet (goed) ingevuld";}
	if($('straat').value=="" || $('plaats').value==""){error+="<br />De postcode/huisnummer combinatie levert geen straat en plaatsnaam op";}
	if($('telefoon').value==""){error+="<br />Het telefoonnummer is niet (goed) ingevuld";}
	if($('email_adres').value==""){error+="<br />Het veld e-mail adres is niet (goed) ingevuld";}
        if($('datum').value==""){error+="<br />De gewenste bezorg/afhaaldatum is verplicht";}
	if($('afleveradres').checked==true){
		// check de items onder afleveradres, het moet wel compleet zijn natuurlijk
		if($('postcode_levering').value==""){error+="<br />Het veld postcode van het afleveradres is niet (goed) ingevuld";}
		if($('huisnummer_levering').value==""){error+="<br />Het veld huisnummer van het afleveradres is niet (goed) ingevuld";}
		if($('straat_levering').value=="" || $('plaats_levering').value==""){error+="<br />De postcode/huisnummer combinatie van het afleveradres levert geen straat en plaatsnaam op";}
		if($('contact_levering').value==""){error+="<br />Voor het leveren is een contactpersoon nodig";}
		if($('telefoon_levering').value==""){error+="<br />Voor het leveren is het nodig dat we de contactpersoon kunnen bereiken";}
	}
	if($('factuuradres').checked==true){
		// check de items onder afleveradres, het moet wel compleet zijn natuurlijk
		if($('postcode_factuur').value==""){error+="<br />Het veld postcode van het factuuradres is niet (goed) ingevuld";}
		if($('huisnummer_factuur').value==""){error+="<br />Het veld huisnummer van het factuuradres is niet (goed) ingevuld";}
		if($('straat_factuur').value=="" || $('plaats_factuur').value==""){error+="<br />De postcode/huisnummer combinatie van het factuuradres levert geen straat en plaatsnaam op";}
	}
	if(error!=""){
                //new Insertion.After("txt_error",error);
                $("txt_error").update(error);
		return false;
	}else{
		return true;
	}
}
function afleveradres_verbergen(waarde){
        if(waarde){
                fnHide('geen_afleveradres');
        }else{
                fnShow_ena('geen_afleveradres');
        }
        verversListboxEvent();
}
function anderAfleverAdres(){
	if($("afleveradres").checked){
		fnShow_ena('afleveradres_head');
		fnShow_ena('afleveradres_pc');
                fnShow_ena('afleveradres_bed');
		fnShow_ena('afleveradres_huisnr');
		fnShow_ena('rowContact_levering');
		fnShow_ena('rowTelefoon_levering');
		if($("overige_ids").value!=""){
			fnShow_ena('afleveradres_done');
		}
		$("zending_lable").innerHTML="Gegevens&nbsp;over&nbsp;de&nbsp;zending<br /><u>naar&nbsp;dit&nbsp;afleveradres";
                fnShow_ena("aflever_button");
		getAddress('_levering');
	}else{
		fnHide('afleveradres_head');
		fnHide('afleveradres_pc');
                fnHide('afleveradres_bed');
		fnHide('afleveradres_huisnr');
		fnHide('rowContact_levering');
		fnHide('rowTelefoon_levering');
		fnHide('afleveradres_done');
		$("zending_lable").innerHTML="Gegevens&nbsp;over&nbsp;de&nbsp;zending";
                fnHide("aflever_button");
		$("postcode_levering").value="";
		$("huisnummer_levering").value="";
		$("toevoeging_levering").value="";
		$("straat_levering").value="";
		$("plaats_levering").value="";
		fnHide('rowStraat_levering');
		fnHide('rowPlaats_levering');
	}
}

function anderFactuurAdres(){
	if($("factuuradres").checked){
		fnShow_ena('factuuradres_head');
		fnShow_ena('factuuradres_pc');
		fnShow_ena('factuuradres_huisnr');
		getAddress('_factuur');
	}else{
		fnHide('factuuradres_head');
		fnHide('factuuradres_pc');
		fnHide('factuuradres_huisnr');
		$("postcode_factuur").value="";
		$("huisnummer_factuur").value="";
		$("toevoeging_factuur").value="";
		$("straat_factuur").value="";
		$("plaats_factuur").value="";
		fnHide('rowStraat_factuur');
		fnHide('rowPlaats_factuur');
	}
}

function fnHide(id) {
  var el = $(id);
  if (el) {
	el.style.display = "none";
	el.disabled=true;
  }
}

function fnShow(id) {
  var el = $(id);
  if (el){
  	el.style.display = "";
  	el.disabled=false;
  }
}

function fnShow_ena(id) {
  var el = $(id);
  if (el){
  	el.style.display = "";
  	el.disabled=false;
  }
}

function getAddress(welke)
{
	reqAddress($('postcode'+welke).value, $('huisnummer'+welke).value,welke);
}

function reqAddress(zipcode, housenumber,welke)
{
        new Ajax.Request('./include/address_resolver.php?zipcode='+zipcode+'&housenumber='+housenumber,
		{
			method:'get',
			onSuccess: function(transport) {
				var error = transport.responseXML.getElementsByTagName('error')[0].firstChild.nodeValue;
				if (error == 'true') {
					$('straat'+welke).value = '';
					$('plaats'+welke).value = '';
				}
				else {
					var street = transport.responseXML.getElementsByTagName('street')[0].firstChild.nodeValue;
					var housenumber = transport.responseXML.getElementsByTagName('housenumber')[0].firstChild.nodeValue;
					var zipcode = transport.responseXML.getElementsByTagName('zipcode')[0].firstChild.nodeValue;
					var city = transport.responseXML.getElementsByTagName('city')[0].firstChild.nodeValue;
					$('straat'+welke).value = street;
					$('plaats'+welke).value = city;
					fnShow('rowStraat'+welke);
					fnShow('rowPlaats'+welke);
                                        if(welke!='afleveradres' || welke!=''){
                                          new Ajax.Request('./include/eenheden_per_postcode.php?zipcode='+zipcode,
                                          {
                                                  method:'get',
                                                  onSuccess: function(transport) {
                                                    if($("afhalen").checked) $("eenheden_lable").innerHTML="Minimaal aantal <a href='http://www.kadoliebollen.nl/nl/Bezorgen/Besteleenheden' target='_blank'>besteleenheden</a> voor uw bezorgadres: "+ transport.responseText;
                                                    $("eenheden_lable_tmp").innerHTML="Minimaal aantal besteleenheden voor uw bezorgadres: "+ transport.responseText;
                                                  }
                                          });
                                        }
				}
			}
		});
}