/** 
 * Shop
 */
function checkAantal(f) {
	var val=parseInt(f.aantal.value);
  var max=999;
  if (f.maximum && parseInt(f.maximum.value)>0) {
  	max=parseInt(f.maximum.value);
  }
  
  var re=new RegExp("^[0-9]+$");
  if (re.test(val)) {
  	if (val==0) {
  		return false;
  	} else if (val>max) {
  		f.aantal.value=max;
  		alert("Let op: U kunt van dit product maximaal "+max+" items bestellen.");
  		return false;
  	} else {
  		return true;
  	}
  }
	return false;
}

function removeItem(productCode) {
	var f=document.forms.mainform;
	f.cmd.value="remove_from_cart";
	f.params.value=productCode;
	f.submit();
}

function emptyCart() {
	if (confirm("Weet u zeker dat u alle producten uit uw winkelmandje wilt verwijderen?")) {
		var f=document.forms.mainform;
		f.cmd.value="empty_cart";
		f.submit();
	}
}

function recalcCart() {
	var f=document.forms.mainform;
	f.cmd.value="recalc_cart";
	f.submit();
}

function checkMaximumAantal(boxje) {
	var maxaantal=parseInt(boxje.getAttribute('maxaantal'));
	var aantal=parseInt(boxje.value);
	if (maxaantal>0 && aantal>maxaantal) {
		boxje.value=maxaantal;
		alert("Let op: u kunt van dit product maximaal "+maxaantal+" stuks bestellen.");
	}
}

function bestellen() {
	var f=document.forms.mainform;
	if (f.nproducten.value > 0) {
		f.cmd.value="goto_yourdata";
		f.submit();
	} else {
		alert("U heeft geen producten in uw winkelmand.");
	}
}

function plaatsBestelling() {
	var f=document.forms.mainform;
	if (f.nproducten.value > 0) {
		f.cmd.value="place_order";
		f.submit();
	} else {
		alert("U heeft geen producten in uw winkelmand.");
	}
}

function fillAddressFields(isAfleverAdres) {
	if (isAfleverAdres) {
		var postcode=document.getElementById("edAflPostcode").value;
		var huisnummer=document.getElementById("edAflHuisnummer").value;
	} else {
		var postcode=document.getElementById("edPostcode").value;
		var huisnummer=document.getElementById("edHuisnummer").value;
	}
	
  var query=postcode+huisnummer;
  query=query.replace(/\s+/,'');
	if (query!="" && postcode.replace(/\s+/,'')!="" && huisnummer.replace(/\s+/,'')!="") {
		lookupPostcode(query,isAfleverAdres);
	}
}

function enableAddressFields(success,isAfleverAdres) {

	if (isAfleverAdres) {
		var a=document.getElementById("edAflStraat");
		var b=document.getElementById("edAflPlaats");
		var c=document.getElementById("edAflLand");
	} else {
		var a=document.getElementById("edStraat");
		var b=document.getElementById("edPlaats");
		var c=document.getElementById("edLand");
	}
		
	a.style.backgroundColor="#fff";
	a.style.borderColor="#a5acb2";
	a.readOnly=false;
		
	b.style.backgroundColor="#fff";
	b.style.borderColor="#a5acb2";
	b.readOnly=false;

	c.style.backgroundColor="#fff";
	c.style.borderColor="#a5acb2";
	c.readOnly=false;
	
	if (!success) {
		a.focus();
	}
}
	
function lookupPostcode(p,isAfleverAdres) {
	var f=document.forms.adresform;
	new Ajax.Request('/scripts/postcode.php?p='+p,{   
		onSuccess: function(transport) {
			if (transport.responseText=="ERROR" || transport.responseText=="NOTFOUND") {
				enableAddressFields(false,isAfleverAdres);
				alert("De door u ingevulde postcode en huisnummer kon niet worden gevonden. U kunt uw adresgegevens handmatig invoeren.");
			} else if (transport.responseText=="UNAVAILABLE") {
				enableAddressFields(false,isAfleverAdres);
				alert("De postcode-service is op dit moment niet beschikbaar. U kunt uw adres handmatig invullen");
			} else {
				var info=transport.responseText.evalJSON(true);
				if (isAfleverAdres) {
					f.afl_straat.value=info.straatnaam;
					f.afl_plaats.value=info.plaatsnaam;
					f.afl_land.value="Nederland";
				} else {
					f.straat.value=info.straatnaam;
					f.plaats.value=info.plaatsnaam;
					f.land.value="Nederland";
				}
				enableAddressFields(true,isAfleverAdres);
			}
			
		},
		onFailure: function(transport) {
			enableAddressFields(false,isAfleverAdres);
			alert("De postcode-service is op dit moment niet beschikbaar. U kunt uw adresgegevens handmatig invoeren");	
		}
	}); 
			
}