var lng="1";
if (window.location.href.indexOf('/fr/') > 0) { lng="2"; }
else { lng="1"; }
function pageScroll() {
 window.scrollBy(0,300); // horizontal and vertical scroll increments
}
function formatNumber(ctl,dec,thou,pnt) {
 //ctl.value = ctl.value.replace(',','');
 // spaces verwijderen
 ctl.value = ctl.value.replace(' ','');
 //
 // indien decimalen toegelaten (kleine bedragen), mag je de komma sowieso vervangen door punt
 if ((dec>0) && ((ctl.value.indexOf(',')>0) && (ctl.value.indexOf(',')<2))) { ctl.value=ctl.value.replace(',','.'); }
 else {
 // decimaal teken enkel behouden indien 1 of 2 cijfers achteraan
 ctl.value = ctl.value.replace(/([.,])(?=\d\d?$)|[.,]/g, '$1').replace(/,/,'.')
 }
 //
 var x = Math.round(ctl.value * Math.pow(10,dec));
 if ((x+"")=="NaN") {
  switch(lng) {
   case "2": alert("La valeur introduite doit &ecirc;tre num&eacute;rique. Utilisez pour les d&eacute;cimaux un POINT (pas une virgule)");
             break;
   default:  alert("Je invoer moet een GETAL zijn; gebruik als decimaal teken een PUNT");
  }
  return ctl.value;
  ctl.focus();
 }
 if (x >= 0) n1=n2='';
 var y = (''+Math.abs(x)).split('');
 var z = y.length - dec;
 if (z<0) z--;
 for(var i = z; i < 0; i++) y.unshift('0');
 y.splice(z, 0, pnt);
 if(y[0] == pnt) y.unshift('0');
 while (z > 3) {z-=3; y.splice(z,0,thou);}
 var r = y.join('');
 return r;
}
function dispNumber(num,dec,thou,pnt) {
 var x = Math.round(num * Math.pow(10,dec));
 if (x >= 0) n1=n2='';
 var y = (''+Math.abs(x)).split('');
 var z = y.length - dec;
 if (z<0) z--;
 for(var i = z; i < 0; i++) y.unshift('0');
 y.splice(z, 0, pnt);
 if(y[0] == pnt) y.unshift('0');
 while (z > 3) {z-=3; y.splice(z,0,thou);}
 var r = y.join('');
 return r;
}
function toNumber(x) {
 return Number(x.replace(',',''));
}
function calculate(ctl) {
 var x25, x26, x27, x28, x30, x32, x33, x34;
 var x37;
 var x41, x44, x45, x48, x49;
 var x52, x53, x54;
 var x55, x56, x58;
 var s27, s28, s29;
 if (ctl.form.d3.value==0) {
  switch(lng) {
   case "2": alert("Veuiller remplir le nombre de kilom&egrave;tres que vous souhaitez parcourir avec une voiture avant d\'en acheter une nouvelle");
             break;
   default:  alert("Geef een waarde op > 0 voor het aantal KM die je wenst af te leggen met deze wagen");
  }
  ctl.form.d3.focus();
 }
 else if (ctl.form.d7.value==0) {
  switch(lng) {
   case "2": alert("Veuiller remplir le nombre de kilom&egrave;tres que vous roulez avec un plein");
             break;
   default:  alert("Geef een waarde op > 0 voor het aantal KM die je rijdt per tankbeurt");
  }
  ctl.form.d7.focus();
 }
 else {
  x25=(toNumber(ctl.form.d2.value)-toNumber(ctl.form.d4.value))/toNumber(ctl.form.d3.value);
  ctl.form.c25.value=Math.round(x25*100)/100;
  x26=(toNumber(ctl.form.d6.value)*toNumber(ctl.form.d8.value))/toNumber(ctl.form.d7.value);
  ctl.form.c26.value=Math.round(x26*100)/100;
  x27=toNumber(ctl.form.d11.value)/toNumber(ctl.form.d12.value);
  ctl.form.c27.value=Math.round(x27*100)/100;
  x28=toNumber(ctl.form.c25.value)+toNumber(ctl.form.c26.value)+toNumber(ctl.form.c27.value);
  ctl.form.c28.value=Math.round(x28*100)/100;
  //
  x30=toNumber(ctl.form.d10.value)*92*toNumber(ctl.form.d5.value);
  ctl.form.c30.value=Math.round(x30);
  //

  x32=toNumber(ctl.form.c30.value)*toNumber(ctl.form.c28.value)-toNumber(ctl.form.c30.value)*toNumber(ctl.form.d18.value);
  ctl.form.c32.value=dispNumber((Math.round(x32*100)/100),2,',','.');

  x33=toNumber(ctl.form.c28.value)*toNumber(ctl.form.c30.value)/2;
  ctl.form.c33.value=dispNumber((Math.round(x33*100)/100),2,',','.');

  x34=toNumber(ctl.form.c30.value)*toNumber(ctl.form.d21.value)*toNumber(ctl.form.d22.value);
  ctl.form.c34.value=dispNumber((Math.round(x34*100)/100),2,',','.');

  //
  if      (ctl.form.d17[0].checked) { x37=x32; }
  else if (ctl.form.d17[1].checked) { x37=x33; }
  else if (ctl.form.d17[2].checked) { x37=x34; }
  else { x37=0; }
  ctl.form.c37.value=dispNumber((Math.round(x37*100)/100),2,',','.');
  //
  s27=4880*0.272;
  s28=(9690-4880)*0.1+s27;
  s29=(16130-9690)*0.05+s28;
  //
  x41=toNumber(ctl.form.d13.value)*12-(toNumber(ctl.form.d13.value)*12*0.1307);
  ctl.form.c41.value=dispNumber((Math.round(x41*100)/100),2,',','.');

  //IF(C41<4880#C41*0.272#
  //IF(C41<9690#1327.36+(C41-4880)*0.1#
  //IF(C41<16130#1808.36+(C41-9690)*0.05#
  //S29+(C41-16130)*0.03)))

  if      (x41<4880)  { x44=x41*0.272; }
  else if (x41<9690)  { x44=1327.36+(x41-4880)*0.1; }
  else if (x41<16130) { x44=1808.36+(x41-9690)*0.05; }
  else                { x44=s29+(x41-16130)*0.03; }
  ctl.form.c44.value=dispNumber((Math.round(x44*100)/100),2,',','.');

  //IF(C44>3320#3320#
  //C44)
  if (x44>3320) { x45=3320; }
  else { x45=x44; }
  ctl.form.c45.value=dispNumber((Math.round(x45*100)/100),2,',','.');

  //x48=IF(C41<7420#0.25#
  //IF(C41<10570#0.3#
  //IF(C41<17610#0.4#
  //IF(C41<32270#0.45#
  //0.5))));
  if      (x41<7420)  { x48=0.25; }
  else if (x41<10570) { x48=0.30; }
  else if (x41<17610) { x48=0.40; }
  else if (x41<32270) { x48=0.45; }
  else { x48=0.50; }
  ctl.form.c48.value=dispNumber((Math.round(x48*100)/100),2,',','.');

  x49=ctl.form.d9.value*12*x48;
  ctl.form.c49.value=dispNumber((Math.round(x49*100)/100),2,',','.');

  //x52=IF(D5<100#C30#100*92*D10)
  if (toNumber(ctl.form.d5.value) < 100) { x52=x30; }
  else { x52=100*92*toNumber(ctl.form.d10.value); }
  ctl.form.c52.value=dispNumber(Math.round(x52),0,',','');

  //x53=C52*0.15
  x53=x52*0.15;
  ctl.form.c53.value=dispNumber(Math.round(x53),0,',','');

  // IF((C53-C45)*C48<0#0#
  //(C53-C45)*C48)
  if ((x53-x45)*x48 < 0) { x54=0; }
  else { x54=(x53-x45)*x48; }
  ctl.form.c54.value=dispNumber((Math.round(x54*100)/100),2,',','.');

  //IF(C53>C45+D9*12#
  //(C53-C45)*C48#
  //C49)
  if (x53>(x45 + toNumber(ctl.form.d9.value) * 12)) { x55=(x53-x45)*x48; }
  else { x55=x49; }
  ctl.form.c55.value=dispNumber((Math.round(x55*100)/100),2,',','.');

  x56=x37+x55;
  ctl.form.c56.value=dispNumber((Math.round(x56*100)/100),2,',','.');

  //
  x58=(toNumber(ctl.form.c30.value)*323/1000000)
  ctl.form.c58.value=dispNumber((Math.round(x58*10000)/10000),4,',','.');
  //
  // finally - scroll down in order to display the results
  pageScroll();
 }
}

