var page_id = 28;


function loadCoils() {

   var selectedCondenser = getSelectValue('condensing_unit');
   var ajaxParams        = "?condenser="+selectedCondenser;
   var ajaxUrl           = "x_load_options.php";

   clearOptions(1);
   xLoadOptions('coil', ajaxUrl, ajaxParams, null);
   checkSelections();
}


function loadFurnaces() {

   var selectedCondenser = getSelectValue('condensing_unit');
   var selectedCoil      = getSelectValue('coil')
   var ajaxParams        = "?condenser="+selectedCondenser+"&coil="+selectedCoil;
   var ajaxUrl           = "x_load_options.php";

   clearOptions(0);
   xLoadOptions('furnace', ajaxUrl, ajaxParams, null);
   checkSelections();
}


function clearOptions(clear_coils) {

   var selectCoil    = document.getElementById('coil');
   var selectFurnace = document.getElementById('furnace');

   if (clear_coils == 1) {
      for (var i = selectCoil.options.length; i > 0; i--) {
         selectCoil.options[i-1] = null;
      }
   }

   for (var i = selectFurnace.options.length; i > 0; i--) {
      selectFurnace.options[i-1] = null;
   }
}


function checkSelections() {

   var condenserInput    = document.getElementById('condensing_unit');
   var coilInput         = document.getElementById('coil');
   var furnaceInput      = document.getElementById('furnace');
   var submitBtn         = document.getElementById('submit');

   var condenserOptionNr = condenserInput.selectedIndex;
   var coilOptionNr      = coilInput.selectedIndex;
   var furnaceOptionNr   = furnaceInput.selectedIndex;

   if (condenserOptionNr > 0  &&  coilOptionNr > 0  && furnaceOptionNr > 0) {
      submitBtn.disabled = false;
   }
   else {
      submitBtn.disabled = true;
   }
}


function enableFurnaceSelections(install_type) {

   var furnacePipe = document.getElementsByName('furnace_pipe');
   var furnaceFlow = document.getElementsByName('furnace_flow');
   var ventDiv     = document.getElementById('furnace_venting');
   var btuDiv      = document.getElementById('furnace_capacity');
   var gn1Input    = document.getElementById('gn1_rebate');
   var gn2Input    = document.getElementById('gn2_rebate');
   var gn3Input    = document.getElementById('gn3_rebate');

   if (install_type == 2  ||  install_type == 4  ||  install_type == 7) {

      gn1Input.disabled = false;
      gn2Input.disabled = false;
      gn3Input.disabled = false;

      for (var indx = 0; indx < furnaceFlow.length; indx++) {
         furnaceFlow[indx].disabled = false;
      }
   }
   else if (install_type == 8) {

      gn1Input.checked  = false;
      gn2Input.checked  = false;
      gn1Input.disabled = true;
      gn2Input.disabled = true;
      gn3Input.disabled = true;

      for (var indx = 0; indx < furnaceFlow.length; indx++) {
         furnaceFlow[indx].disabled = false;
      }
   }
   else {

      gn1Input.checked  = false;
      gn2Input.checked  = false;
      gn1Input.disabled = true;
      gn2Input.disabled = true;
      gn3Input.disabled = true;

      for (var indx = 0; indx < furnaceFlow.length; indx++) {
         furnaceFlow[indx].checked  = false;
         furnaceFlow[indx].disabled = true;
      }
   }

   if (install_type == 7  ||  install_type == 8) {

      ventDiv.style.display = 'block';
      btuDiv.style.display  = 'block';

      updateBTUH();
   }
   else {
      ventDiv.style.display = 'none';
      btuDiv.style.display  = 'none';
   }

}


function enableCoolingSelections(install_type) {

   var cs1Input         = document.getElementById('cs1_rebate');
   var cs2Input         = document.getElementById('cs2_rebate');
   var coolingTonsInput = document.getElementById('cooling_tons');

   if (install_type == 7  ||  install_type == 8) {
      cs1Input.checked  = false;
      cs2Input.checked  = false;
      cs1Input.disabled = true;
      cs2Input.disabled = true;

      coolingTonsInput.selectedIndex = 0;
      coolingTonsInput.disabled = true;
   }
   else {
      cs1Input.disabled = false;
      cs2Input.disabled = false;
      coolingTonsInput.disabled = false;
   }
}


function enableFlushInput(install_type) {

   var flushInput = document.getElementById('flush');

   if (install_type == 2  ||  install_type == 4) {
      flushInput.disabled = false;
      flushInput.checked  = true;
   }
   else {
      flushInput.checked  = false;
      flushInput.disabled = true;
   }
}


function changeTypeInstall() {

   var selectedType = getSelectValue('install_type');

   enableFlushInput(selectedType);
   enableCoolingSelections(selectedType);
   enableFurnaceSelections(selectedType);

   checkSearchInputs();
}


function validCoolingRebates() {

   var cs1_rebateInput = document.getElementById('cs1_rebate');
   var cs2_rebateInput = document.getElementById('cs2_rebate');
   var fed_rebateInput = document.getElementById('fed_rebate');

   if (cs1_rebateInput.checked  ||  cs2_rebateInput.checked  ||  fed_rebateInput.checked) {
      return true;
   }

   return false;
}


function validFurnaceRebates(type) {

   var gn1_rebateInput   = document.getElementById('gn1_rebate');
   var gn2_rebateInput   = document.getElementById('gn2_rebate');
   var gn3_rebateInput   = document.getElementById('gn3_rebate');
   var fed_rebateInput   = document.getElementById('fed_rebate');

   if (type == 2  ||  type == 4  ||  type == 7) {
      if (gn1_rebateInput.checked  ||  gn2_rebateInput.checked  ||  gn3_rebateInput.checked  ||  fed_rebateInput.checked) {
         return true;
      }
   }
   else if (type == 8  &&  fed_rebateInput.checked) {
      return true;
   }

   return false;
}


function validCapacity(type) {

   var furnaceBtuInputs =  document.getElementsByName('furnace_btus[]');

   if (type == 7  ||  type == 8) {
      for (var i = 0; i < furnaceBtuInputs.length; i++) {
         if (furnaceBtuInputs[i].checked) {
            return true;
         }
      }
   }
   else {
      if (document.getElementById('cooling_tons').selectedIndex != 0) {
         return true;
      }
   }

   return false;
}


function validFurnaceOptions(type) {

   if (type == 1  ||  type == 3  ||  type == 5  ||  type == 6) {
      return true;
   }

   if (getCheckedValue(document.getElementsByName('furnace_flow')) == "") {
      return false;
   }

   if (type == 7  || type == 8) {
      if (getCheckedValue(document.getElementsByName('furnace_vent')) == "") {
         return false;
      }
   }

   return true;
}


function checkSearchInputs() {

   var selectedType = getSelectValue('install_type');
   var submitBtn    = document.getElementById('submit_search');

   var valid = false;

   //Check for valid rebate selections.

   if (selectedType == 1  ||  selectedType == 3  ||  selectedType == 5  ||  selectedType == 6) {
      valid = validCoolingRebates();
   }
   if (selectedType == 2  ||  selectedType == 4) {
      valid = validFurnaceRebates(selectedType)  ||  validCoolingRebates();
   }
   if (selectedType == 7  ||  selectedType == 8) {
      valid = validFurnaceRebates(selectedType);
   }

   //Check for valid capacity selections.

   if (valid) {
      valid = validCapacity(selectedType);
   }

   //Check for valid furnace installation selections.

   if (valid) {
      valid = validFurnaceOptions(selectedType);
   }

   //Enable or disable submit button.

   if (valid) {
      submitBtn.disabled = false;
   }
   else {
      submitBtn.disabled = true;
   }
}


function updateBTUH() {

   var furnace_vent = encodeURI(getCheckedValue(document.getElementsByName('furnace_vent')));
   var install_type = getSelectValue('install_type');

   var ajaxUrl    = 'x_available_btuh.php';
   var ajaxParams = '?furnace_vent='+furnace_vent+'&install_type='+install_type;

   xEnableCheckboxList('furnace_btus[]', ajaxUrl, ajaxParams);
   checkSearchInputs();
}


function showFDFInstructions() {

   var fdf_div = document.getElementById('fdf_instructions');
   fdf_div.style.display = 'block';

}
