var lng="1";
if (window.location.href.indexOf('/fr/') > 0) { lng="2"; }
else { lng="1"; }
function pageScroll() {
 window.scrollBy(0,200); // 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 être numérique. Utilisez pour les dé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('');
 if (num<0) { r="-"+r; }
 return r;
}
function toNumber(x) {
 return Number(x.replace(',',''));
}
function calculate(ctl) {
//----------------------------------------------------------------------
// kosten auto
  var x17, x18, x19, x20;
  if (toNumber(ctl.form.b6.value) == 0) { x17=0; }
  else {
   x17=(toNumber(ctl.form.b5.value)-toNumber(ctl.form.b7.value))/toNumber(ctl.form.b6.value);
  }
  if (ctl.form.b9[0].checked) {
   if ( toNumber(ctl.form.b13.value) == 0 ) { x18=0; }
   else {
    x18=(toNumber(ctl.form.b10.value)/100)*toNumber(ctl.form.b13.value);
   }
  }
  else {
   if ( (toNumber(ctl.form.b12.value) == 0)
      ||(toNumber(ctl.form.b13.value) == 0) ) { x18=0; }
   else {
    x18=(toNumber(ctl.form.b11.value)/toNumber(ctl.form.b12.value))*toNumber(ctl.form.b13.value);
   }
  }
  if (toNumber(ctl.form.b14.value) == 0) { x19=0; }
  else {
   x19=toNumber(ctl.form.b8.value)/toNumber(ctl.form.b14.value);
  }
  // show results
  ctl.form.b17.value=(Math.round(x17*100000)/100000);
  ctl.form.b18.value=(Math.round(x18*100000)/100000);
  ctl.form.b19.value=(Math.round(x19*100000)/100000);
  x20=x17+x18+x19;
  ctl.form.b20.value=(Math.round((x20)*100000)/100000);
//----------------------------------------------------------------------
// woon-werk
  var x30, x31, x32, x33, km, reg;
  x30=toNumber(ctl.form.b25.value)*2*( (toNumber(ctl.form.b23.value)*50)-toNumber(ctl.form.b24.value) );
  ctl.form.b30.value=dispNumber((Math.round(x30)),0,',','');
  x31=x20*x30;
  ctl.form.b31.value=dispNumber((Math.round((x31)*100)/100),2,',','.');
  if (ctl.form.b26[0].checked) {
   km=(Math.round(ctl.form.b25.value));
   x32=SOCABB[(Math.min((km-1),99))];
  }
  else {
   switch(ctl.form.b271.options[ctl.form.b271.selectedIndex].value) {
    case "1":
     x32=(x30*toNumber(ctl.form.b27.value));
     break;
    case "2":
     x32=(((toNumber(ctl.form.b23.value)*50)-toNumber(ctl.form.b24.value))*toNumber(ctl.form.b27.value));
     break;
    case "3":
     x32=(14*toNumber(ctl.form.b27.value));
     break;
    case "4":
     x32=(toNumber(ctl.form.b27.value));
     break;
    default: x32=0;
   }
  }
  // show results
  ctl.form.b32.value=dispNumber((Math.round((x32)*100)/100),2,',','.');
  x33=x31-x32;
  if (x33<0) { x33=0; }
  ctl.form.b33.value=dispNumber((Math.round((x33)*100)/100),2,',','.');
//----------------------------------------------------------------------
// fiets
  var x43, x44, x45, x47;
  if ( (toNumber(ctl.form.b38.value) == 0)
     ||(toNumber(ctl.form.b39.value) == 0)) { x43=0; }
  else {
   x43=(toNumber(ctl.form.b37.value)/toNumber(ctl.form.b38.value))+toNumber(ctl.form.b39.value);
  }
  if (toNumber(ctl.form.b41.value)==0) {
   x44=x30*toNumber(ctl.form.b40.value);
  }
  else {
   if(toNumber(ctl.form.b25.value)<toNumber(ctl.form.b41.value)) {
    x44=x30*toNumber(ctl.form.b40.value);
   }
   else {
    x44=toNumber(ctl.form.b41.value)*((toNumber(ctl.form.b23.value)*50)-toNumber(ctl.form.b24.value))*toNumber(ctl.form.b40.value);
   }
  }
  x45=(toNumber(ctl.form.b32.value)-350)*0.45;
  if (x45<0) {
   x45=0;
  }
  x47=x33-x43+x44+x45;
  // show results
  ctl.form.b43.value=dispNumber((Math.round((x43)*100)/100),2,',','.');
  ctl.form.b44.value=dispNumber((Math.round((x44)*100)/100),2,',','.');
  ctl.form.b45.value=dispNumber((Math.round((x45)*100)/100),2,',','.');
  ctl.form.b47.value=dispNumber((Math.round((x47)*100)/100),2,',','.');
//----------------------------------------------------------------------
// carpool
  var x60, x61, x62, x66, x67, x68, lim;
  x60=x30*toNumber(ctl.form.b53.value);
  x61=x30*toNumber(ctl.form.b55.value)*toNumber(ctl.form.b56.value);
  if((toNumber(ctl.form.b30.value)*0.15)>2785.95) {
   lim=(toNumber(ctl.form.b30.value)-2785.95)*0.45;
  }
  else {
   lim=0;
  }
  x62=((toNumber(ctl.form.b32.value)-350)*0.45)-lim;
  if (x62<0) { x62=0; }
// =IF((B32-350)*0.45-(IF(B30*0.15>2785.95;(B30-2785.95)*0.45;0))<0;0;
// (B32-350)*0.45-(IF(B30*0.15>2785.95;(B30-2785.95)*0.45;0)))
  x66=x31-x60;
  x67=x61;
  if ( (toNumber(ctl.form.b58.value) == 0)) { x68=0; }
  else {
   x68=x31/toNumber(ctl.form.b58.value);
  }
  // show results
  ctl.form.b60.value=dispNumber((Math.round((x60)*100)/100),2,',','.');
  ctl.form.b61.value=dispNumber((Math.round((x61)*100)/100),2,',','.');
  ctl.form.b62.value=dispNumber((Math.round((x62)*100)/100),2,',','.');
  ctl.form.b66.value=dispNumber((Math.round((x66)*100)/100),2,',','.');
  ctl.form.b67.value=dispNumber((Math.round((x67)*100)/100),2,',','.');
  ctl.form.b68.value=dispNumber((Math.round((x68)*100)/100),2,',','.');
//----------------------------------------------------------------------
  var x85, x86, x87, x89, x91, x92, x93, x95;
  x85=0;
  if (ctl.form.b74.checked) {
   if (toNumber(ctl.form.b80.value)<26) { x85=300; }
   else {
    if (toNumber(ctl.form.b80.value)<60) { x85=440; }
    else { x85=330; }
   }
  }
  x86=0;
  // IF(B80<26;106;IF(B80<60;151;122));IF(B80<26;162;IF(B80<60;211;182)));0)
  if (ctl.form.b75.checked) {
   if (ctl.form.b76.checked) {
    if (toNumber(ctl.form.b80.value)<26) { x86=106; }
    else {
     if (toNumber(ctl.form.b80.value)<60) { x86=151; }
     else { x86=122; }
    }
   } else {
    if (toNumber(ctl.form.b80.value)<26) { x86=162; }
    else {
     if (toNumber(ctl.form.b80.value)<60) { x86=211; }
     else { x86=182; }
    }
   }
  }
  x87=0;
  km=(Math.round(ctl.form.b25.value));
  if (ctl.form.b78.value=="1") { x87=NMBS1[(Math.min((km-1),99))]; }
  if (ctl.form.b78.value=="2") { x87=NMBS2[(Math.min((km-1),99))]; }
  x89=0;
  // =IF(B82="volledige terugbetaling";SUM(B85:B87);IF(B25<5;0;IF(B76="ja";tabellen!C102;SUM(formules!B85+formules!B86)*0.718)))
  if (ctl.form.b82.value=="1") {
   x89=x85+x86+x87;
  }
  else {
   if (km<25) {
    x89=0;
   }
   else {
    if (ctl.form.b76.checked) {
     x89=SOCABB[(Math.min((km-1),99))];
    }
    else {
     x89=(x85+x86+x87)*0.718;
    }
   }
  }
  x91=(x85+x86+x87)-x89;
  x92=x33;
  x93=x62;
  x95=x92-x91+x93;
  // show results
  ctl.form.b85.value=dispNumber((Math.round((x85)*100)/100),2,',','.');
  ctl.form.b86.value=dispNumber((Math.round((x86)*100)/100),2,',','.');
  ctl.form.b87.value=dispNumber((Math.round((x87)*100)/100),2,',','.');
  ctl.form.b89.value=dispNumber((Math.round((x89)*100)/100),2,',','.');
  ctl.form.b91.value=dispNumber((Math.round((x91)*100)/100),2,',','.');
  ctl.form.b92.value=dispNumber((Math.round((x92)*100)/100),2,',','.');
  ctl.form.b93.value=dispNumber((Math.round((x93)*100)/100),2,',','.');
  ctl.form.b95.value=dispNumber((Math.round((x95)*100)/100),2,',','.');
//----------------------------------------------------------------------
// einde
  pageScroll();
}
