function seglen(i) {
  return ((i+3)-(i+3)%4)/4*5;  // in Delphi: (((X+3) div 4) * 5);
}

function keylen(i) {
  return (i+3)-(i+3)%4;  // in Delphi: (X+3) - (X+3) mod 4;
}

function ixcalc() {
  var ColCount= 0;
  var ColSize = 0;
  var KeySize = 0;

  for (var i=1; i<=6; i++) {

    var ftype    = document.getElementById('ftype'+i);
    var fcharset = document.getElementById('fcharset'+i);
    var fwidth   = document.getElementById('fwidth'+i);
    var fsize    = document.getElementById('fsize'+i);

    switch (ftype.value) {
      case 'C': fcharset.disabled=0; fwidth.disabled=0; break;
      case 'N': fcharset.disabled=1; fwidth.disabled=0; break;
      default : fcharset.disabled=1; fwidth.disabled=1;
    }

    fsize.innerHTML = '-';

    if (!document.getElementById('fenabled' + i).checked) continue;

    ColCount++;

    switch (ftype.value) {
      case 'C': if (fwidth.value <= 0) fwidth.value = 1; else
                if (fwidth.value > 32767) fwidth.value = 32767;

                ColSize = fwidth.value * fcharset.value;
                break;

      case 'N': if (fwidth.value <= 0) fwidth.value = 1; else
                if (fwidth.value > 18) fwidth.value = 18;

                if (fwidth.value <= 9) ColSize = 8; else
                                       ColSize = 10;
                break;

      default : ColSize = ftype.value;
    }

    fsize.innerHTML = ColSize;
    KeySize += seglen(Number(ColSize));  // converting to number required, otherwise concatenates
  }

  if (ColCount==1) KeySize=Number(ColSize);

  KeySize = keylen(KeySize);

  document.getElementById('cnt').innerHTML=ColCount+'&nbsp;';
  document.getElementById('tot').innerHTML=KeySize+'&nbsp;';
//document.getElementById('rem').innerHTML=252-KeySize+'&nbsp;';
  document.getElementById('rem').innerHTML=document.getElementById('pagesize').value-KeySize+'&nbsp;';

//if (KeySize<=252) {
  if (KeySize<=document.getElementById('pagesize').value) {
    document.getElementById('rem').style.color='transparent';
    document.getElementById('rem').style.background='transparent';
    }
  else {
    document.getElementById('rem').style.color='red';
    document.getElementById('rem').style.background='white';
    }
}

function initpage() {
  for (var i=1; i<=6; i++) {
    document.getElementById('fenabled' + i).checked=0;
    document.getElementById('fwidth'+i).value=10;
  }
  document.getElementById('fenabled1').checked=1;
  ixcalc();
}

