function changedBetaalmethode(betaalmethode_id) {
  toDay = new Date();
  datumtijd = toDay.getTime();
  var xmlHttp1;
  try { xmlHttp1 = new XMLHttpRequest();
  } catch (e) { try { xmlHttp1 = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) { try { xmlHttp1 = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e) { return false; } } }
  xmlHttp1.onreadystatechange = function() {
    if(xmlHttp1.readyState == 4) {
      document.getElementById("factuur_betaalkosten_txt").innerHTML = "&euro; " + document.getElementById("betaalkosten_" + betaalmethode_id).value;
      document.getElementById("factuur_betaalkosten").value         = document.getElementById("betaalkosten_" + betaalmethode_id).value;
      document.getElementById("factuur_betaalmethode_id").value     = betaalmethode_id;
      changedTotaal();
    }
  }
  var xmlParams = "";
  xmlParams = xmlParams + "factuur_betaalkosten=" + document.getElementById("betaalkosten_" + betaalmethode_id).value + "&";
  xmlParams = xmlParams + "factuur_betaalmethode_id=" + betaalmethode_id + "&";
  xmlParams = xmlParams + "datumtijd=" + datumtijd + "&";
  xmlHttp1.open("GET", "/content/exec_betaalmethode.asp?" + xmlParams, true);
  xmlHttp1.send(null);
}
function changedVerzendmethode(verzendmethode_id) {
  toDay = new Date();
  datumtijd = toDay.getTime();
  var xmlHttp2;
  try { xmlHttp2 = new XMLHttpRequest();
  } catch (e) { try { xmlHttp2 = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) { try { xmlHttp2 = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e) { return false; } } }
  xmlHttp2.onreadystatechange = function() {
    if(xmlHttp2.readyState == 4) {
      document.getElementById("factuur_verzendkosten_txt").innerHTML = "&euro; " + document.getElementById("verzendkosten_" + verzendmethode_id).value;
      document.getElementById("factuur_verzendkosten").value         = document.getElementById("verzendkosten_" + verzendmethode_id).value;
      document.getElementById("factuur_verzendmethode_id").value     = verzendmethode_id;
      changedTotaal();
    }
  }
  var xmlParams = "";
  xmlParams = xmlParams + "factuur_verzendkosten=" + document.getElementById("verzendkosten_" + verzendmethode_id).value + "&";
  xmlParams = xmlParams + "factuur_verzendmethode_id=" + verzendmethode_id + "&";
  xmlParams = xmlParams + "datumtijd=" + datumtijd + "&";
  xmlHttp2.open("GET", "/content/exec_verzendmethode.asp?" + xmlParams, true);
  xmlHttp2.send(null);
}
function changedTotaal() {
  tmp_factuur_betaalkosten  = roundNumber(document.getElementById("factuur_betaalkosten").value, 2);
  tmp_factuur_verzendkosten = roundNumber(document.getElementById("factuur_verzendkosten").value, 2);
  tmp_factuur_subtotaal     = roundNumber(document.getElementById("factuur_subtotaal").value, 2);
  //alert(tmp_factuur_betaalkosten + ' / ' + tmp_factuur_verzendkosten + ' / ' + tmp_factuur_subtotaal);
  if (tmp_factuur_betaalkosten > 0 && tmp_factuur_verzendkosten > 0 && tmp_factuur_subtotaal > 0) {
    document.getElementById("factuur_totaal").innerHTML = "&euro; " + roundNumber2(tmp_factuur_betaalkosten + tmp_factuur_verzendkosten + tmp_factuur_subtotaal, 2);
  } else if (tmp_factuur_verzendkosten > 0 && tmp_factuur_subtotaal > 0) {
    document.getElementById("factuur_totaal").innerHTML = "&euro; " + roundNumber2(tmp_factuur_verzendkosten + tmp_factuur_subtotaal, 2);
  } else if (tmp_factuur_betaalkosten > 0 && tmp_factuur_subtotaal > 0) {
    document.getElementById("factuur_totaal").innerHTML = "&euro; " + roundNumber2(tmp_factuur_betaalkosten + tmp_factuur_subtotaal, 2);
  } else if (tmp_factuur_betaalkosten > 0 && tmp_factuur_verzendkosten > 0) {
    document.getElementById("factuur_totaal").innerHTML = "&euro; " + roundNumber2(tmp_factuur_betaalkosten + tmp_factuur_verzendkosten, 2);
  } else {
    document.getElementById("factuur_totaal").innerHTML = "&euro; " + roundNumber2(tmp_factuur_subtotaal, 2);
  }
}

function roundNumber(num, dec) {
    var result = num;
    result = result.replace(".", "");
    result = result.replace(",", ".");
	result = Math.round(result*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}
function roundNumber2(num, dec) {
    var result = num;
	result = Math.round(result*Math.pow(10,dec))/Math.pow(10,dec);
	return result.toFixed(2);
}
