
function getNewXMLHttpRequest()
{
	
	var http_request = false;

	if (window.XMLHttpRequest) 
	{
		http_request = new XMLHttpRequest();
	
	if (http_request.overrideMimeType) 
	{
		http_request.overrideMimeType('text/xml');
	}
	} else if (window.ActiveXObject) 
	{
		try 
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) 
		{
		try 
		{
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
		}
	}
	
	if (!http_request) 
	{
		return false;
	}
	
	return http_request;
	
}

function isInt(x) { 
  var y=parseInt(x); 
  if (isNaN(y)) return false; 
  return x==y && x.toString()==y.toString(); 
} 


function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)    
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     
 
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "," : dec_point;
    var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}


function bereken_huurprijs(product_id, row_id, huurkoop)
{

	var input_prijs = document.getElementById('input_prijs_'+row_id);
	
	var input_error = document.getElementById('input_error');
	
	input_error.innerHTML = '';
	
	var aantal = document.getElementById('aantal_'+product_id).value;
	
	if(huurkoop == 'huur')
	{
		var begin = '' + document.getElementById('vanJaar').value + document.getElementById('vanMaand').value + document.getElementById('vanDag').value;
		
		var eind = '' + document.getElementById('totJaar').value + document.getElementById('totMaand').value + document.getElementById('totDag').value + '';
	}
	
	var request = getNewXMLHttpRequest();
	
	
	request.open('GET', 'includes/bereken_huurprijs.php?prd='+product_id+'&num='+aantal+'&van='+begin+'&tot='+eind+'&huurkoop='+huurkoop, true);
	
	request.onreadystatechange=function() {
		
		
		if (request.readyState==4) 
		{
			
			if(request.responseText=='n.v.t.')
			{
				
				input_error.innerHTML = 'Datums zijn onjuist.';
				input_prijs.innerHTML = '&euro; 0,00';
				update_btw();
				
			}else
			{
			
				
				input_prijs.innerHTML = request.responseText;
				update_btw();
				
			}
			
		}
		
	}
	
	request.send(null);

	
}

function update_btw()
{
	
	
	var btw_over = 0;
	var extra_btw = '';
	
	//var input_btw = document.getElementById('input_btw');
	var input_totaal = document.getElementById('totaalBedrag');
	
	var verzendkosten = document.getElementById('verzendkosten').innerHTML.replace(".", "").replace(",", "");
	verzendkosten = parseInt(verzendkosten);
	
	verzendkosten = verzendkosten / 100;
	
	
	for(i=1; document.getElementById('input_prijs_'+i) != undefined; i++)
	{
		
		
		extra_btw = document.getElementById('input_prijs_'+i).innerHTML.substr(2).replace(".", "").replace(",", "");
		
		extra_btw = parseInt(extra_btw);
		
		//alert(document.getElementById('input_prijs_'+i).innerHTML);
		
		if(extra_btw != NaN)
		{
			btw_over = Number(btw_over) + Number(extra_btw);
		}
		
	}
	
	btw_over = btw_over / 100;
	
	
	
	btw = btw_over * 0.19;
	
	btw = btw * 100;
	
	btw = Math.round(btw);
	
	btw = btw / 100;
	
	
	//input_btw.innerHTML = '&euro; ' + number_format(btw, 2, ',', '.');
	
	//var totaal = (Number(btw_over) + Number(btw) + Number(verzendkosten));
	
	var totaal = (Number(btw_over) + Number(verzendkosten));
	
	input_totaal.innerHTML = '' + number_format(totaal, 2, ',', '.');
	
}