var lng, Dromen;

function escapeHTML(text){
  return text.toString().replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/&/g, '&amp;');
}
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('');
 if (num<0) { r="-"+r; }
 return r;
}
function toNumber(x) {
 return Number(x.replace(',',''));
}

function b9onClick(ctl) {
 var flip = 0;
 if (ctl.form.b9[0].checked) {
  // show fuel usage
  document.getElementById("fuel-y").style.display="";
  document.getElementById("fuel-n").style.display="none";
  flip = 0;
 }
 else {
  // show other fuel fields
  document.getElementById("fuel-y").style.display="none";
  document.getElementById("fuel-n").style.display="";
  flip = 1;
 }
 var underneath = document.getElementById("under-fuel").getElementsByTagName('tr');
 for(j = 0; j < underneath.length; j++) {
    underneath[j].className = ['cgrldatarow', 'cgrldatarow2'][flip];
    flip = 1-flip;
 }
}

function b83onClick(checked) {
  if (checked) {
    document.getElementById("TEC").style.display="";
  }
  else {
    document.getElementById("TEC").style.display="none";
  }
}

function onlyBOnClick(ctl) {
  var el = ctl;
  do el = el.parentNode; while(el.tagName != 'TR');
  toggleClass(el, 'checked', ctl.checked);
}


function calcPublicTransport(form) {
  var age = (form.b89 && toNumber(form.b89.value)) || 30;
  var ageGroup = age<25 ? 0 : (age<60 ? 1 : 2);  // tram/bus
  var km = Math.min(Math.round(toNumber(form.b25.value)), 100);
  var price = { 'x94': 0, 'x95': 0, 'x96': 0, 'x97': 0, 'total': 0, 'MTB': false }, mtb = { 'x94': 0, 'x95': 0, 'x96': 0, 'x97': 0, 'total': 0, 'MTB': true };
  mtb.total += (mtb.x94 = Abo.MTB[ageGroup]);

  if(form.b80.checked) {
    price.total += (price.x94 = Abo.MIVB[ageGroup]);
  }
  if(form.b81.checked) {
      price.total += (price.x95 = !form.b82.checked ? Abo.De_Lijn[ageGroup] : Abo.De_Lijn_NMBS[ageGroup]);
      mtb.total += (mtb.x95 = form.b811.checked ? 0 : price.x95);
  }
  if(form.b82.checked) {
    price.total += (price.x96 = NMBS[form.b87.value||2][km] || 0);
    mtb.total += ( mtb.x96 = (form.b821.checked) ? 0 : price.x96);
  }
  if(form.b83.checked) {
    price.total += (price.x97 = Abo.TEC[form.b85 && form.b85[0].checked ? 1 : 0][form.b84.value || 1][ageGroup]);
    mtb.total += (mtb.x97 = (form.b831 ? form.b831.checked : (form.b84.value == 'B')) ? 0 : price.x97);
  }
  if(mtb.total < price.total)
    return mtb;
  else
    return price;
}

