var cache = {};

var initMode = true;
var objIn = "ins"
var objTk = "tks"
var dummy = "<SUB>&nbsp;</SUB>";

var focusIb = false;
var focusIn = false;
var focusSp = false;
var focusLe = false;

var switchBlur = false;

var checking = false;
var calculating = false;

var dat = new Date();
var valIns = "";
var valTks = "";
var valTemp = "";
var valGrond = "";

$(document).ready(function()
{   $(".document").show();
	$(".extraInfo").Tooltip(
	{ showBody: "</br>",
	  extraClass: "tooltipWide"
	});
    
    //Kijk of het berekeningsscherm wel is geopend
    if ($("#typeinstallatie").val() != null)
    { 
      $().keydown(function(evt) {
        if (!evt) evt = event;
        if (evt.ctrlKey && evt.keyCode==13)
        { if ($("#divtemp").css("display")== "none") $("#divtemp").show(); else $("#divtemp").hide();
        }
        else if (evt.keyCode==13)
        { calcCorrectie();
          checkForm(); 
        }
      });
     

      selBeveiliging();
    
      fillIn_gG();
      fillTemperature();
      fillAfstand();
      fillGrondtype();

      disableItem("rowuitschakel","uitschakel",true);
      disableItem("rowkoker","koker",true);
      disableItem("rowafstand","afstand",true);
      disableItem("rowlucht","instwijze",true);
      disableItem("rowgrond","grondtype",true);
        
      initMode = false;

      if (param != "")
      { param = param.split("|");
        $("#ib").val(param[0]);
        $("#in").val(param[1]);
        valIns = param[1];
        
        $("#tk").val(param[16]);
        valTks = param[16];
        
        $("#beveiliging").val(param[2]);
        selBeveiliging();
          
        $("#uitschakel").val(param[3]);
        $("#spanningsverlies").val(param[4]);
        $("#lengte").val(param[5]);
        $("#cosphi").val(param[6]);
        $("#aantalkabels").val(param[7]);
        
        $("#typeinstallatie").val(param[8]);
        selTypeInstallatie();
        valTemp = param[9];
          
        $("#instwijze").val(param[10]);
        selInstallatieWijze();
        fillAfstand();
          
        $("#koker").val(param[11]);
        $("#afstand").val(param[12]);
          
        valGrond = param[13];

        $("#halogeenvrij").val(param[14]);
        $("#soepel").val(param[15]);
                
        $("#extrafactor").val(param[17]);
        
        calcIz();
        calcCorrectie();
        calcGeleider();
      }

      $("#halogeenvrij").change( function() { selToepassingen("halogeenvrij"); })
      $("#soepel").change( function() { selToepassingen("soepel"); })

      $("#bereken").hover
      ( function () { switchBlur = true; }, 
        function () { switchBlur = false;}
      );
           
      $("#reset").click( function()   { resetForm(); })
      $("#bereken").click( function() { checkForm(); })
      $("#print").click( function() { window.print(); })
                
      $("#typeinstallatie").change( function() 
      { selTypeInstallatie();
        fillTemperature();
        fillAfstand();
        calcCorrectie();
      })

      $("#koker").change( function() 
      { fillAfstand();
        calcCorrectie();
      })
        
      $("#ib").blur( function()               { if (!switchBlur) checkIb(); })
      $("#spanningsverlies").blur( function() { if (!switchBlur) checkSpanningsverlies(); })
      $("#lengte").blur( function()           { if (!switchBlur) checkLengte(); })
      $("#cosphi").blur( function()           { if (!switchBlur) checkCosPhi(); })
      $("#temperatuur").change( function()    { if (!switchBlur) calcCorrectie(); })
      $("#afstand").change( function()        { if (!switchBlur) calcCorrectie(); })
      $("#grondtype").change( function()      { if (!switchBlur) calcCorrectie(); })
      $("input").change( function()           { if (!switchBlur) { clearResult(); placeBlock();} })
      $("select").change( function()          { if (!switchBlur) { clearResult(); placeBlock();} })
                
      $("#in").blur( function()
      { checkIn();
        calcIz();
        calcCorrectie();
      })
      $("#ins").change( function()
      { checkIn();
        calcIz();
        calcCorrectie();
      })
      $("#extrafactor").blur( function()
      { checkExtraFactor(); 
        calcCorrectie();
      })
      $("#beveiliging").change( function()  
      { selBeveiliging();
        calcIz(); 
      })
      $("#aantalkabels").change( function()
      { calcCorrectie(); 
        selAantalKabels();
      })
      $("#instwijze").change( function()
      { selInstallatieWijze();
        calcCorrectie(); 
      })
    }
});

function resetForm()
{
	var referer = $("#referer").val();
	var extSessionId = $("#extSessionId").val();
	
	if (referer == '') // linked from Draka site	
	{
		window.location = "kabelberekening.asp?menuid=8&form=true";
	} else {
		window.location = "kabulator.asp?id=" + referer + "&ses=" + extSessionId;	
	}
}

function checkForm()
{ 
  clearResult();
  var blnCheck = true
  var strMessage = "";
  var focus = "";
  checking = true

  blnCheck = checkIb() && blnCheck;

  if (blnCheck == false && focus == "") focus = "ib";

  blnCheck = checkIn() && blnCheck;
  if (blnCheck == false && focus == "") focus = objIn;

  blnCheck = checkSpanningsverlies() && blnCheck;
  if (blnCheck == false && focus == "") focus = "spanningsverlies";

  blnCheck = checkLengte() && blnCheck;
  if (blnCheck == false && focus == "") focus = "lengte";

  blnCheck = checkCosPhi() && blnCheck;
  if (blnCheck == false && focus == "") focus = "cosphi";
  
  blnCheck = checkExtraFactor() && blnCheck;
  if (blnCheck == false && focus == "") focus = "extrafactor";

  if (blnCheck == false)
  { if (focus != "ins") focusselect(focus); else document.getElementById("ins").focus(); }

  if ($("#aantalkabels").val() > 1 && $("#typeinstallatie").val() == 1)
  { if($("#instwijze").val() == 0 )
    { strMessage = "\n" + foutInstwijze;
      blnCheck = false;
    }
  }

  if (blnCheck) {
      calcGeleider();
      ShowActionLink();
  }
  else
  { strMessage = foutForm + strMessage; 
    alert(strMessage);
  }
  checking = false
}

function clearResult()
{ var arrValues = "-|-|-|-|-|-|-|-|-|-|-|-|"; 
  var table = document.getElementById('calctable').rows
  var row;
  var x;
  var y;
  var i = 0 ;

  arrValues = arrValues.split("|"); 
  for (y=1;y<=3;y++)
  { row = table[y].cells
    for (x=1;x<5;x++)
    { row[x].innerHTML= arrValues[i];
      i++;
    }
  }
  
  var table = document.getElementById("cabletable").rows
  table[0].cells[0].innerHTML = "-";
  table[0].cells[1].innerHTML = "&nbsp;";
  table[0].cells[2].innerHTML = "&nbsp;";  

  for(y = table.length;y>1;y--)
  { document.getElementById("cabletable").deleteRow(y-1);
  }
  
  $("#divtemp").html("-");
  $("#inwaarschuwing").hide();
  $("#noresult").hide();
  $("#ecoadvies").hide();
}

function calcGeleider()
{ var valPar1 = $("#" + objIn).val();
  var valPar2 = $("#temperatuur").val();
  var valPar3 = $("#grondtype").val();
  var valPar4 = $("#" + objTk).val();
  
  if (objIn == "ins" && valIns != "") valPar1 = valIns;
  if (valTemp  !="") valPar2 = valTemp;
  if (valGrond !="") valPar3 = valGrond;
  
  if (objTk == "tks" && valTks != "") valPar4 = valTks;
    
  $("#divtemp").html("-")
  
  if (!calculating)
  { calculating = true;
    $.get("jQuery_kabelberekening.asp?mode=geleider&type=" + $("#typeinstallatie").val() +
                                                  "&ib=" + $("#ib").val() + 
                                                  "&in=" + valPar1 + 
                                                  "&beveiliging=" + $("#beveiliging").val() + 
                                                  "&uitschakel=" + $("#uitschakel").val() + 
                                                  "&spanverlies=" + $("#spanningsverlies").val() + 
                                                  "&lengte=" + $("#lengte").val() + 
                                                  "&cosphi=" + $("#cosphi").val() + 
                                                  "&kabels=" + $("#aantalkabels").val() +
                                                  "&temp=" + valPar2 + 
                                                  "&koker=" + $("#koker").val() +
                                                  "&instwijze=" + $("#instwijze").val() +
                                                  "&afstand=" + $("#afstand").val() +
                                                  "&grondtype=" + valPar3 + 
                                                  "&tk=" + valPar4 + 
                                                  "&extrafactor=" + $("#extrafactor").val() + 
                                                  "&dummy=" + dat.getTime(),function(data)
    { $("#divtemp").html(data);
      
      var arrValues = data.split("|"); 
      var table = document.getElementById('calctable').rows
      var row;
      var x;
      var y;
      var i = 0 ;    

      for (y=1;y<=3;y++)
      { row = table[y].cells
        for (x=1;x<5;x++)
        { row[x].innerHTML = arrValues[i];
          i++;
        }
      }
     
      //Berekende doorsnede doorgeven
      if (table[2].cells[1].innerHTML != "-")
      { $("#noresult").hide();
        getKabel(table[2].cells[1].innerHTML); 
      }
      else
      { $("#inwaarschuwing").hide(); 
        $("#noresult").show(); 
      }
      calculating = false;
    })
  }
}

function getKabel(inDoorsnede) { //bepalen kabeltype
  var doorsnede = inDoorsnede.replace(/[^\d,.]/g, "");

  var str = "&doorsnede=" + encodeURI(doorsnede) + "&type=" + $("#typeinstallatie").val() +   
            "&halo=" + $("#halogeenvrij").val() + "&flex=" + $("#soepel").val() + "&koker=" + $("#koker").val();

  var table = document.getElementById("cabletable").rows
  
  table[0].cells[0].innerHTML = "-";
  table[0].cells[1].innerHTML = "&nbsp;";
  table[0].cells[2].innerHTML = "&nbsp;";

  var blnMultipleEanCodes = $("#blnMultipleEanCodes").val();

  $.get("jQuery_kabelberekening.asp?mode=kabel&multiEan=" + blnMultipleEanCodes + str + "&dummy=" + dat.getTime(), function(data) {
      if (data == "-") {
          $("#inwaarschuwing").hide();
          $("#noresult").show();
          return false
      }

      var arrRows = data.split("<||>");
      var y;

      for (y = 0; y <= arrRows.length - 1; y++) {

          var arrValues = arrRows[y].split("|");
          var param = $("#ib").val() + "|" + $("#" + objIn).val() + "|" +
                  $("#beveiliging").val() + "|" + $("#uitschakel").val() + "|" +
                  $("#spanningsverlies").val() + "|" + $("#lengte").val() + "|" +
                  $("#cosphi").val() + "|" + $("#aantalkabels").val() + "|" +
                  $("#typeinstallatie").val() + "|" + $("#temperatuur").val() + "|" +
                  $("#instwijze").val() + "|" + $("#koker").val() + "|" +
                  $("#afstand").val() + "|" + $("#grondtype").val() + "|" +
                  $("#halogeenvrij").val() + "|" + $("#soepel").val() + "|" +
                  $("#" + objTk).val() + "|" + $("#extrafactor").val();

          if (y > 0) {
              document.getElementById("cabletable").insertRow(table.length);
              table[y].insertCell(0);
              table[y].insertCell(1);
              table[y].insertCell(2);
          }

          var returnUrl = $("#returnUrl").val();
          var referer = $("#referer").val();
          var extSessionId = $("#extSessionId").val();
          var targetFrame = $("#targetFrame").val();
          if (targetFrame == '') targetFrame = '_self';

          returnUrl = returnUrl.replace('<SES>', extSessionId);

          if (blnMultipleEanCodes != 'True') {
              returnUrl = returnUrl.replace('<EAN>', arrValues[2]);
          }
          else {
              var arrEanCodes = arrValues[2].split('-');
              var x;
              
              // if more than one ean-code bestelnummer coupled with this artikelnummer
              if (arrEanCodes.length - 1 > 1) {
                  strEanCodes = '';
                  for (x = 0; x < arrEanCodes.length - 1; x++) {
                      strEanCodes += '&ean[' + x + ']=' + arrEanCodes[x];
                  }
                  returnUrl = returnUrl.replace('<EAN>', strEanCodes);
              }
              else {
                  returnUrl = returnUrl.replace('<EAN>', arrValues[2].replace('-', ''));
              }
          }

          if (returnUrl == '') // linked from Draka site
          {
              table[y].cells[0].innerHTML = "<a href='artikel.asp?menuid=33&artnr=" + arrValues[0] + "'>" + arrValues[0] + "</a>";
          }
          else {
              table[y].cells[0].innerHTML = "<a href='" + returnUrl + "' target='" + targetFrame + "' alt='" + bestelKabel + "' title='" + bestelKabel + "'>" + arrValues[0] + "</a>";
          }
          table[y].cells[1].innerHTML = arrValues[1];

          //if (login) {
          var linkIcons = "";

          if (returnUrl == '') { // linked from Draka site
              if (rightKabelLijst) {
                  linkIcons = linkIcons +
						   "<a class='cablelink' href='kabellijsten.asp?menuid=36&mode=add&art=" + arrValues[0] + "&param=" + param + "'>" +
						   "   <img src='../Images/opslaan.gif' alt='" + saveCable + "' style='text-decoration: none;'/>"
                  "</a>"
              }

              if (rightEcoAdvies) {
                  linkIcons = linkIcons +
						   "<a class='cableadvice' href='ecodesign.asp?menuid=33&mode=kab&art=" + arrValues[0] + "&param=" + param + "'>" +
						   "   <img src='../Images/globe.jpg' style='text-decoration: none;'/>" +
						   "</a>";
                  $("#ecoadvies").show();
              }
          }
          else {
              linkIcons = linkIcons +
					   "<a class='cableadvice' href='ecoadvies.asp?mode=kab&id=" + referer + "&ses=" + extSessionId + "&art=" + arrValues[0] + "&param=" + param + "'>" +
					   "<img src='../Images/globe.jpg' style='text-decoration: none;'/>" +
					   "</a>";
              $("#ecoadvies").show();

              linkIcons = linkIcons +
				   "<a class='orderdeeplink' target='" + targetFrame + "' href='" + returnUrl + "'>" +
				   "<img src='../Images/order.gif' alt='" + bestelKabel + "' title='" + bestelKabel + "' style='text-decoration: none;'/>"
              "</a>"
          }

          table[y].cells[2].innerHTML = linkIcons;
          //} 
          //else
          //{ table[y].cells[2].innerHTML = "&nbsp;"
          //}
      }
  })
}
  
function calcCorrectie()
{ var testTemp = $("#temperatuur").val();
  
  var valPar1 = $("#" + objIn).val();
  var valPar2 = $("#temperatuur").val();
  var valPar3 = $("#grondtype").val();
  
  if (objIn == "ins" && valIns != "") valPar1 = valIns;
  if (valTemp  !="") valPar2 = valTemp;
  if (valGrond !="") valPar3 = valGrond;

  $.get("jQuery_kabelberekening.asp?mode=correctie&type=" + $("#typeinstallatie").val() +
                                                 "&in=" + valPar1 + 
                                                 "&beveiliging=" + $("#beveiliging").val() + 
                                                 "&temp=" + valPar2 + 
                                                 "&kabels=" + $("#aantalkabels").val() +
                                                 "&koker=" + $("#koker").val() +
                                                 "&instwijze=" + $("#instwijze").val() +
                                                 "&afstand=" + $("#afstand").val() +
                                                 "&grondtype=" + valPar3 + 
                                                 "&extrafactor=" + $("#extrafactor").val() + 
                                                 "&dummy=" + dat.getTime(),function(data)
  { $("#divcorrectie").html(data + dummy);

    //afvangen temperatuur bug bij typeinstallatie change
    if (testTemp != $("#temperatuur").val()) { calcCorrectie(); }
  })
}

function calcIz()
{ var valPar = $("#" + objIn).val();
  if (objIn == "ins" && valIns != "") valPar = valIns;
  if ($("#inmelding").html().toLowerCase() == dummy.toLowerCase())
  { $.get("jQuery_kabelberekening.asp?mode=calciz&beveiliging=" + $("#beveiliging").val() + 
                                                "&in=" + valPar + 
                                                "&dummy=" + dat.getTime(), function(data)
    { $("#izberekening").html(data); 
    })
  }
  else
  { $("#izberekening").html("");}
}

function fillAfstand()
{ //Kabel of koker
  if ($("#typeinstallatie").val() == "2" && $("#koker").val() == "1")
  { $("#divafstand").html(afstandKoker); }
  else  
  { $("#divafstand").html(afstandKabel); }
  
  
  var x;
  //Leeg de huidige lijst.
  
  for(x=document.getElementById("afstand").length-1;x>=0;x--)
  { document.getElementById("afstand").options[x] = null; 
  }
       
  if ($("#typeinstallatie").val() == "1")
  {   document.getElementById("afstand").options[0] = new Option(gebundeld,-1);
      document.getElementById("afstand").options[1]  = new Option(geenAfstand,0);
      document.getElementById("afstand").options[2]  = new Option("1* " + kabelDiameter,1);
      document.getElementById("afstand").options[3]  = new Option("2* " + kabelDiameter,2);
  }
  else
  { if ($("#koker").val() == "1")
    { document.getElementById("afstand").options[0] = new Option(geenAfstand,0);
      document.getElementById("afstand").options[1] = new Option("25 cm",1);
      document.getElementById("afstand").options[2] = new Option("50 cm",2);
      document.getElementById("afstand").options[3] = new Option("100 cm",3);
    }
    else
    { document.getElementById("afstand").options[0] = new Option(geenAfstand,0);
      document.getElementById("afstand").options[1] = new Option("1* " + kabelDiameter,1);
      document.getElementById("afstand").options[2] = new Option("12,5 cm",2);
      document.getElementById("afstand").options[3] = new Option("25 cm",3);
      document.getElementById("afstand").options[4] = new Option("50 cm",4);
    }
  }
}

function fillGrondtype()
{ $.get("jQuery_kabelberekening.asp?mode=grond&koker=" + $("#koker").val() + "&dummy=" + dat.getTime(),function(data)
  { //Splits de teruggeven lijst
    var arrValues = data.split("|"); 
    var x;

    //Leeg de huidige lijst.
    for(x=document.getElementById("grondtype").length-1;x>=0;x--)
    { document.getElementById("grondtype").options[x] = null; }

    //Vul nieuwe lijst
    for (x=0;x<=arrValues.length-1;x++)
    { document.getElementById("grondtype").options[x] = new Option(arrValues[x].replace("[punt]","\u00B7"),x+1); 
    }
    
    if (valGrond != "")
    { $("#grondtype").val(valGrond) 
      valGrond = "";
    }
    else
    { if (x>=5) { document.getElementById("grondtype").selectedIndex = 5 } }
  })
}   

function fillIn_gG()
{ $.get("jQuery_kabelberekening.asp?mode=ingg&dummy=" + dat.getTime(),function(data)
  { //Splits de teruggeven lijst
    var arrValues = data.split("|"); 
    var x;        

    //Leeg de huidige lijst.
    for(x=document.getElementById("ins").length-1;x>=0;x--)
    { document.getElementById("ins").options[x] = null; }
    
    //Lege waarde
    document.getElementById("ins").options[0] = new Option("","");
    
    var tmpSelected = "";
    
    //Vul nieuwe lijst
    for (x=0;x<=arrValues.length-1;x++)
    { document.getElementById("ins").options[x+1] = new Option(arrValues[x],arrValues[x]); 
      if (arrValues[x] = $("#hidins").val()) { tmpSelected = arrValues[x]; $("#hidins").val(""); }
    }
    
    if (valIns != "")
    { $("#ins").val(param[1]); valIns = "";
    }
    if (tmpSelected != "") 
    { $("#ins").val(tmpSelected);
      tmpSelected = "";
    }

    
  })
}

function fillTemperature()
{ $.get("jQuery_kabelberekening.asp?mode=temp&type=" + $("#typeinstallatie").val() + "&dummy=" + dat.getTime(),function(data)
  { //Splits de teruggeven lijst
    var arrValues = data.split("|"); 
    var x;        

    //Leeg de huidige lijst.
    for(x=document.getElementById("temperatuur").length-1;x>=0;x--)
    { document.getElementById("temperatuur").options[x] = null; }

    //Vul nieuwe lijst
    for (x=0;x<=arrValues.length-1;x++)
    { document.getElementById("temperatuur").options[x] = new Option(arrValues[x]+" \u00B0C",arrValues[x]); 
    }
    
    //Selecteer de juiste temperatuurwaarde
    if (valTemp != "")
    { $("#temperatuur").val(valTemp);
      valTemp == "";
    }
    else
    { if ($("#typeinstallatie").val() == "1") {$("#temperatuur").val(30)} else {$("#temperatuur").val(20)}
    }
  })
}
        
function checkIb()
{ if (!focusIn && !focusSp && !focusLe) 
  { var valIb = parseInt($("#ib").val(),10);
    var valIn = parseInt($("#" + objIn).val(),10);
    
    if (isNaN(valIb)) valIb = 0; 
    if (isNaN(valIn)) valIn = 0;

    if (valIb < 1 || valIb > 1250) 
    { $("#ibmelding").html(foutIb + dummy);
      if (checking == false) 
      { focusIb = true;
        focusselect("ib");
      }
      return false; 
    }
    else { $("#ib").val(valIb);}
  
    if ((valIb <= valIn && valIn > 0) || valIn == 0)
    { $("#ibmelding").html(dummy);
      focusIb = false;
      return true;
    }
    else
    { $("#ibmelding").html(foutIb + dummy);
      if (checking == false) 
      { focusIb = true;
        focusselect("ib");
      }
      
      return false;
    }
  }
}

function checkIn()
{ if (!focusIb && !focusSp && !focusLe)
    { var valIb = parseInt($("#ib").val(),10);
      var valIn = parseInt($("#" + objIn).val(),10);
        
      if (isNaN(valIb)) valIb = 0; 
      if (isNaN(valIn)) valIn = 0; 
        
      if (valIn < 2 || valIn > 1250) 
      { $("#inmelding").html(foutIn + dummy);
        if (objIn == "in") 
        { if (checking == false) 
          { focusIn = true;
            focusselect("in");
          }
        }
        return false; 
      }
      else { $("#" + objIn).val(valIn); }
       	        
      if ((valIn >= valIb && valIb > 0) || valIb == 0 )
      { $("#inmelding").html(dummy);
        focusIn = false;
          
        if (valIn >= 315 && checking) 
        { $("#inwaarschuwing").show(); }
        else 
        { $("#inwaarschuwing").hide(); } 
        
        if (objIn == "ins") $("#hidins").val(valIn);
        return true;
      }
      else
      { $("#inmelding").html(foutIn + dummy);
        if (objIn == "in") 
        { if (checking == false) 
          { focusIn = true;
            focusselect("in");
          }
        }
        return false; 
      }
    }
}

function checkSpanningsverlies()
{ if (!focusIb && !focusIn && !focusLe)
  { var strValue = parseFloat($("#spanningsverlies").val().replace(",",".")); 
    
    if (isNaN(strValue)) strValue = -1;
    
    if (strValue < 0 || strValue > 5)
    { $("#spanningsverliesmelding").html(foutSpanningsverlies + dummy);
      if (checking == false) 
      { focusSp = true; 
        focusselect("spanningsverlies");
      }
      return false;
    } 
    else
    { focusSp = false;
      $("#spanningsverliesmelding").html(dummy);
      strValue = round(strValue,1) + "";
      strValue = strValue.replace(".",",");
      $("#spanningsverlies").val(strValue);
      return true;
    }
  }
}

function checkLengte()
{ if (!focusIb && !focusIn && !focusSp)
  { var strValue = parseInt($("#lengte").val(),10);
    if (isNaN(strValue)) strValue = 0;
    
    if (strValue < 1 || strValue > 999)
    { $("#lengtemelding").html(foutLengte + dummy);
      if (checking == false) 
      { focusLe = true;
        focusselect("lengte");
      }
      return false
    } 
    else 
    { focusLe = false;
      $("#lengtemelding").html(dummy);
      $("#lengte").val(strValue);
      return true
    }
  }
}

function checkCosPhi()
{   var strValue = $("#cosphi").val();
    strValue = parseFloat(strValue.replace(",","."));
    if (isNaN(strValue)) strValue = 0;
    
    if (strValue > 1 || strValue <= 0.5)
    { $("#cosphimelding").html(foutCosPhi + dummy);
      if (checking == false) focusselect("cosphi");
      return false;
    } 
    else
    { $("#cosphimelding").html(dummy);
      strValue = round(strValue,2) + "";
      
      if (strValue.length == 1) strValue = strValue + ".00"
      if (strValue.length == 2) strValue = strValue + "00"
      if (strValue.length == 3) strValue = strValue + "0"
      
      strValue = strValue.replace(".",",");
      $("#cosphi").val(strValue);
      return true;
    }
}

function checkExtraFactor()
{ var strValue = parseFloat($("#extrafactor").val().replace(",",".")); 
    
  if (isNaN(strValue)) strValue = -1;
  strValue = round(strValue,2)
    
  if (strValue <= 0 || strValue > 1)
  { $("#extrafactormelding").html(foutExtraFactor + dummy);
    if (checking == false) focusselect("extrafactor");
    return false;
  } 
  else
  { $("#extrafactormelding").html(dummy);
      
    strValue = round(strValue,2) + "";
    
    if (strValue.length == 1) strValue = strValue + ".00"
    if (strValue.length == 2) strValue = strValue + "00"
    if (strValue.length == 3) strValue = strValue + "0"
    strValue = strValue.replace(".",",");
    $("#extrafactor").val(strValue);
    return true;
  }
}

function selBeveiliging()
{   if ($("#beveiliging").val() == "0")
    { disableItem("rowuitschakel","uitschakel",true); 
      
      $("#in").hide(); $("#in").attr("disabled", true);
      $("#tk").hide(); $("#tk").attr("disabled", true);
      $("#ins").show(); $("#ins").attr("disabled", false);
      $("#tks").show(); $("#tks").attr("disabled", false);
      valTks = ""; 

      $("#divtk").html("");
      
      objIn = "ins"; objTk = "tks";
      
    }
    else
    { disableItem("rowuitschakel","uitschakel",false);
      
      $("#in").show(); $("#in").attr("disabled", false);
      $("#tk").show(); $("#tk").attr("disabled", false);
      $("#ins").hide(); $("#ins").attr("disabled", true);
      $("#tks").hide(); $("#tks").attr("disabled", true);
      
      $("#divtk").html("0,1");
      $("#tk").val("0.1");
      
      objIn = "in"; objTk = "tk";
    }
    
    checkIn(); 
    if ($("#" + objIn).val() == "") { $("#inmelding").html(dummy) }
    calcIz();
    calcCorrectie();
}

function selAantalKabels()
{ if ($("#aantalkabels").val() > "1") 
  { disableItem("rowafstand","afstand",false);
    if ($("#typeinstallatie").val() == "1")
    { disableItem("rowlucht","instwijze",false);
      selInstallatieWijze();
    }
    else
    { disableItem("rowlucht","instwijze",true); }
  }
  else
  { disableItem("rowafstand","afstand",true);
    disableItem("rowlucht","instwijze",true);
  }
}

function selTypeInstallatie()
{   if ($("#typeinstallatie").val() == "1")
    { //In lucht
      disableItem("rowlucht","instwijze",false);
      disableItem("rowgrond","grondtype",true);
      disableItem("rowkoker","koker",true);
      $("#divtemperatuur").html(luchtTemp);
      $("#divsoepel").html(luchtSoepel);
      selInstallatieWijze();
    }
    else
    { //Onder de grond
      disableItem("rowlucht","instwijze",true);
      disableItem("rowafstand","afstand",false);
      disableItem("rowgrond","grondtype",false);
      disableItem("rowkoker","koker",false);
      $("#divtemperatuur").html(grondTemp);
      $("#divsoepel").html(grondSoepel);
    }
    selAantalKabels();
}

function selInstallatieWijze()
{   if (document.getElementById("instwijze").options[document.getElementById("instwijze").selectedIndex].value > "1")
    { disableItem("rowafstand","afstand",false);}
    else
    { disableItem("rowafstand","afstand",true);}
}

function selToepassingen(toepassing)
{ //Installatietype bepalen

  var strType = $("#typeinstallatie").val();
  var strValue;
}

function round(value, decimals) 
{   var result = Math.round(value*Math.pow(10,decimals))/Math.pow(10,decimals);
    return result;
}

function disableItem(row, item, blnDisable)
{ if (blnDisable)
  { if ($("#" + item).attr("disabled") != true)
    { //niet dubbel hiden, dus alleen als die nog niet hidden is
      $("#" + row).hide();
      $("#" + item).attr("disabled", true);
    }
  } 
  else
  { if ($("#" + item).attr("disabled") == true)
    { //niet dubbel showen, dus alleen als die hidden was
      $("#" + row).show();
      $("#" + item).attr("disabled", false);
    }
  } 
}

function placeBlock()
{   var tmpVal = 530;
    if ($("#beveiliging").val() == 1) tmpVal = tmpVal + 25;
    if ($("#aantalkabels").val() > 1) tmpVal = tmpVal + 25;
    
    if ($("#typeinstallatie").val() == 1) 
    { if ($("#instwijze").val() > 1) tmpVal = tmpVal + 25; }
    else
    { tmpVal = tmpVal + 55; }
    $("#uitgangspunten").css("margin-top",tmpVal);
}

function ShowActionLink() {
    $("#actionlink").show("slow");
}

function HideActionLink() {
    $("#actionlink").slideUp();
}
