// JavaScript Document
function show(element){
	var elm = document.getElementById(element);
	elm.style.visibility = 'visible';
}

function hide(element){
	var elm = document.getElementById(element);
	elm.style.visibility = 'hidden';
}
function checkNumber(input, min, max, msg)
{
    msg = msg + " field has invalid data: " + input.value;
    var str = input.value;
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if ((ch < "0" || "9" < ch) && ch != '.') {
            alert(msg);
            return false;
        }
    }
    var num = 0 + str
    if (num < min || max < num) {
        alert(msg + " niet in the range of [" + min + ".." + max + "]");
        return false;
    }
    input.value = str;
    return true;
}

function computebm(form)
{
      if(( form.ppo2.value == null || form.ppo2.value.length == 0 ) ||
         ( form.d.value == null || form.d.value.length == 0 )) {
         return;
      }
      if( !checkNumber( form.ppo2, 0.000, 1.800, "FO2" ) ||
          !checkNumber( form.d, 0.000, 45.000, "Depth" )) {
          return;
      }
   

      form.bm.value = ( parseFloat(form.ppo2.value) * 10.0 ) / ( parseFloat(form.d.value) + 10.0 ) ;
      form.bm.value = parseInt(form.bm.value * 100);
}

function clearForm(form)
{
    form.ppo2.value = "";
    form.d.value = "";
    form.bm.value = "";
}
function checkPPO2(form, fractie, diepte, msg)
{
        var test =  (fractie.value/100.000)*((diepte.value/10.000)+1.000);
        if ( test >= 1.6 ){
           msg = msg + " PPO2 >= 1.6 ! " + " PPO2 equals " + test;
           alert(msg);
           return false;
        }
        return true;
}


function computeead(form)
{
   
      if(( form.fo2.value == null || form.fo2.value.length == 0 ) ||
         (  form.d.value == null || form.d.value.length == 0 )) {
         return;
      }
      if( !checkNumber( form.fo2, 0.000, 100.000, "FO2" ) ||
          !checkNumber( form.d, 0.000, 45.000, "Depth" ) ||
          !checkPPO2( form, form.fo2, form.d, "DANGER " ) ) {
          return;
      }

          form.ead.value = parseInt(( ( ( ( 1.0 - parseFloat(form.fo2.value/100.000) ) * ( parseFloat(form.d.value) + 10.0 ) ) / 0.79) - 10.0 ) + 0.5);
 }
 function checkAP( form, partial, fraction, msg )
{

 var test = (partial.value)/(fraction.value/100.0);
 if ( test < 1 ) {

        alert(msg + " equals " + test + " should be >= 1");
        return false;   

 }

 return true;

}

function computemod(form)
{
       if(( form.fo2.value == null || form.fo2.value.length == 0 ) ||
         ( form.ppo2.value == null || form.ppo2.value.length == 0 )) {
         return;
      }
      if( !checkNumber( form.fo2, 1, 100, "FO2" ) ||
          !checkNumber( form.ppo2, 0.16, 1.6, "PPO2" ) ||
          !checkAP( form, form.ppo2, form.fo2, "AP " )) {
          return;
      }
   
      form.mod.value = parseInt( ( 10.0 * parseFloat(form.ppo2.value) ) / ( parseFloat(form.fo2.value/100.0) )  - 10.0 );
}
function computeppo2(form)
{
      if(( form.fo2.value == null || form.fo2.value.length == 0 ) ||
         ( form.d.value == null || form.d.value.length == 0 )) {
         return;
      }
      if( !checkNumber( form.fo2, 1, 100, "FO2" ) ||
          !checkNumber( form.d, 0.000, 45.000, "Depth" )) {
          return;
      }
   
      form.ppo2.value = ( ( ( parseFloat(form.d.value) + 10.0 ) / 10.0 ) * parseFloat(form.fo2.value/100.0) );
}
