function number_format( number, laenge, sep,  th_sep ) {
	number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
	str_number = number+"";
	arr_int = str_number.split(".");
	if(!arr_int[0]) arr_int[0] = "0";
	if(!arr_int[1]) arr_int[1] = "";
	if(arr_int[1].length < laenge){
		nachkomma = arr_int[1];
		for(i=arr_int[1].length+1; i <= laenge; i++){  nachkomma += "0";  }
		arr_int[1] = nachkomma;
	}
	if(th_sep != "" && arr_int[0].length > 3){
		Begriff = arr_int[0];
		arr_int[0] = "";
		for(j = 3; j < Begriff.length ; j+=3){
			Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
			arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
		}
		str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
		arr_int[0] = str_first + arr_int[0];
	}
	return arr_int[0]+sep+arr_int[1];
}

function changeProducts(id){

	/* als er geen waarde is ingevoerd, 0 weer terug zetten */
	if($(id).value == ''){ $(id).value = '0'; }

	/* als het geen nummer is 0 terug zetten */
	if(isNaN($(id).value)){ $(id).value = '0'; }

	/* bereken */
	berekenProducten();
}

function validate(address) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(address) == false) {
		return "fout";
   }
}

/* bij click value leeg maken */
function clickProductInput(id){
	$(id).value = '';
}

function berekenProducten(){

	var totaalinclbtwprijs  = 0;
	var transactiekosten = 0;
	var verzendkostenb = 0;
	var aantalproducten = 0;

	$$('.product').each(
		function(s){
			productid 		= s.id.replace('product','');
			productprijs  = $('productprijscent'+productid).value;
			productaantal = $('input'+productid).value;
			totaalprijs = productaantal * productprijs;
			if(totaalprijs == 0){
				$('totaalprijs'+productid).innerHTML = '0,00';
			}else{
				tp = totaalprijs / 100;
				tp = number_format(tp, 2, ',','');
				aantalproducten++;
				totaalinclbtwprijs = totaalinclbtwprijs + totaalprijs;
				tp = ''+tp;
				$('totaalprijs'+productid).innerHTML = tp.replace('.',',');
			}
		}
	);

	/* controleren of er verzendkosten betaald moet worden */
	verzendkostenb = (totaalinclbtwprijs < verzendkostentot)? noverzendkosten : 0;

	/* betaal methode */
	var vooruitbetalingcb = $("vooruitbetaling").checked;
	var rembourscb				= $("rembours").checked;
	var idealcb						= $("ideal").checked;
	var paypalcb					= $("paypal").checked;

	if(vooruitbetalingcb){
		transactiekosten = 0;
		verzendkostenb = verzendkostenb;
	}else if(rembourscb){
		transactiekosten = rembourskosten;
		verzendkostenb = 0;
	}else if(idealcb){
		transactiekosten = idealkosten;
		verzendkostenb = verzendkostenb;
	}else if(paypalcb){
		transactiekosten = paypalkosten;
		verzendkostenb = verzendkostenb;
	}

	/* extra kosten erbij tellen */
	totaalinclbtwprijs = totaalinclbtwprijs + verzendkostenb + transactiekosten
	verzendkostenbc = verzendkostenb /100;
	transactiekostenc = transactiekosten /100;

	/* korting */
	tkortingscode = $('korting').value;
	if(tkortingscode.length == 4 && tkortingscode.substr(0,2) == '19'){
	  totaalinclbtwprijs = totaalinclbtwprijs - kortingvar;
		$('kortingskosten').innerHTML = number_format(kortingvar /100, 2, ',', '');
	}else{
		$('kortingskosten').innerHTML = '0,00';
	}

	totaalinclbtwprijs = totaalinclbtwprijs / 100;

	/* als er geen producten in het mandje zitten ( transactie kosten | totaalkosten | verzendkosten ) wissen */
	if(aantalproducten < 1){ verzendkostenbc = 0; transactiekostenc = 0; totaalinclbtwprijs = 0; }

	$('verzendkosten').innerHTML 		= number_format(verzendkostenbc, 2, ',', '');
	$('transactiekosten').innerHTML = number_format(transactiekostenc, 2, ',', '');
	$('totaal').innerHTML = number_format(totaalinclbtwprijs, 2, ',', '');
	$('totaalprijsinclbtw').innerHTML = number_format(totaalinclbtwprijs, 2, ',', '');
}

function verstuur(){

	var productenaanwezig = 0;
	$$('.product').each(
		function(s){
			productid = s.id.replace('product','');
			if($('input'+productid).value != 0){
				productenaanwezig = 1;
			}
		}
	);

	/* controleren of producten aanwezig zijn */
	if(!productenaanwezig){ alert('U heeft geen producten geselecteerd'); return false;}

	var error = "";
	error += (!$('naam').value)? 'Gelieve uw naam in te vullen\n' : '';
	error += (validate($('email1').value) == "fout")? 'Het email adres is niet geldig.\n' : '';
	error += (!$('adres').value)? 'Gelieve uw straat+ huisnummer in te vullen\n' : '';
	error += (!$('postcode').value)? 'Gelieve uw postcode in te vullen\n' : '';
	error += (!$('plaats').value)? 'Gelieve uw plaats in te vullen\n' : '';

	if(error){
		alert(error);
		return false;
	}else{
		return true;
	}
}