/* author: MH */
/* Creation date: 3/13/2005 */

  //  B A T T E R Y   B A N K   D E S I G N E R    **************************************************************
  var which;
  var brt="#000000";
  var dim="#EFEFFF";
  var brtBG="#EFEFFF";
  var dimBG="#808090";
  
  var batV;
  var batAH;
  var sysV;
  
  //***********************  setV()  SET BATTERY VOLTAGE  **********************  
  function setV(which)
  {
    document.step1.src="images/checked.gif";     // Battery Voltage 
    document.step2.src="images/notchecked.gif";  // Battery AmpHours
    document.step3.src="images/notchecked.gif";  // System Voltage
    document.step4.src="images/notchecked.gif";  // Battery Bank
    
    document.BatteryForm.test2.value="select AmpHour rating of 1 battery";  //temp temp test test
    bbValuesReset();                      // Set Battery Bank values back to 0
    setVBdim();
    setAHdim();
    setSVdim();
    setBBdim();
    picReset();
    batAH=0;batV=0;sysV=0
    initAH(which);
    switch(which)
    { 
     case 1:
       document.all.vB1.style.color=brt;
       document.all.vB1.style.backgroundColor=brtBG;
       batV=2;
       break;
     case 2:
       document.all.vB2.style.color=brt;
       document.all.vB2.style.backgroundColor=brtBG;
       batV=4;
       break;
     case 3:
       document.all.vB3.style.color=brt;
       document.all.vB3.style.backgroundColor=brtBG;
       batV=6;
       break;
     case 4:
       document.all.vB4.style.color=brt;
       document.all.vB4.style.backgroundColor=brtBG;
       batV=12;
       break;
    }
  }
  //***********************  setAH()  SET AMP HOURS  **********************  
  function setAH(which)
  {
   if(batV)
    {
    document.BatteryForm.test2.value="select Battery Bank voltage";   //temp temp test test
    document.step2.src="images/checked.gif";      //battery amphours
    document.step3.src="images/notchecked.gif";   //system voltage
    document.step4.src="images/notchecked.gif";   //battery bank size
    setSVdim();
    sysV=0;
    setAHdim();
    setSVdim();
    setBBdim();
    picReset();
    switch(which) 
     {
      case 1:
        document.all.ahB1.style.color=brt;
        document.all.ahB1.style.backgroundColor=brtBG;
        batAH=document.BatteryForm.ah1.value;
        break; 
      case 2:
        document.all.ahB2.style.color=brt;
        document.all.ahB2.style.backgroundColor=brtBG;
        batAH=document.BatteryForm.ah2.value;
        break; 
      case 3:
        document.all.ahB3.style.color=brt;
        document.all.ahB3.style.backgroundColor=brtBG;
        batAH=document.BatteryForm.ah3.value;
        break; 
      case 4:
        document.all.ahB4.style.color=brt;
        document.all.ahB4.style.backgroundColor=brtBG;
        batAH=document.BatteryForm.ah4.value;
        break; 
     }
     initBB();
    }
  }
  //***********************  setSV() SET SYSTEM VOLTAGE  **********************  
  function setSV(which)
  {
   if(batAH)
   {
    document.BatteryForm.test2.value="select Battery Bank amphour capacity";
    document.step3.src="images/checked.gif";
    document.step4.src="images/notchecked.gif";
    setSVdim();
    setBBdim();
    picReset();
    switch(which)
    { 
     case 1:
       document.all.svB1.style.color=brt;
       document.all.svB1.style.backgroundColor=brtBG;
       sysV=12;
       break;
     case 2:
       document.all.svB2.style.color=brt;
       document.all.svB2.style.backgroundColor=brtBG;
       sysV=24;
       break;
     case 3:
       if (batV==2)                            // If battery voltage is 2 then disallow 48volt system
       {
         document.BatteryForm.right1.src="images/2_48volt_mess.gif";
         sysV=0;                               // set System Voltage to 0
         document.step3.src="images/notchecked.gif";  // Uncheck step 
       }  
       else
       {  
         document.all.svB3.style.color=brt;
         document.all.svB3.style.backgroundColor=brtBG;
         sysV=48;
       }  
       break;
      } 
    }
    initBB();
  }

  //***********************  setBB()  SET BATTERY BANK  **********************  
  function setBB(which)
  {
    var filename;
    if(batV&&batAH&&sysV)
    {
      var sp;
      var numBatteries ;
      
      document.step4.src="images/checked.gif";
      setBBdim();
      picReset();
      document.BatteryForm.centerPic.src="images/center"+which+".gif";  //load center graphic
      
      if (batV==12 && sysV==12)  // P A R A L L E L
       {
        numBatteries=4;
        sp="p";
        //document.BatteryForm.test.value=which+" group(s) of "+batV+" volt batteries in Parallel";
        document.BatteryForm.test2.value=4*which+" batteries in parallel at 12 volts & "+batAH+" AH produce a 12 volt battery bank at "+4*(which*batAH)+" AmpHours capacity.";
       }
      else // S E R I E S
       {
        numBatteries=sysV/batV;
        sp="s";
        //document.BatteryForm.test.value=which+" group(s) of "+batV+" volt batteries in Series";
        //document.BatteryForm.test2.value=(sysV/batV)*which+" batteries at "+batV+" volts & "+batAH+" AmpHours produce a "+sysV+" volt battery bank at "+(which*batAH)+" AmpHours capacity.";
        document.BatteryForm.test2.value=which+" group(s) of "+sysV/batV+" batteries in series at "+batV+" volts & "+batAH+" AH produce a "+sysV+" volt battery bank at "+(which*batAH)+" AmpHours capacity."; 
       }//end if else

      switch(which)
      {
        case 1:
          document.all.bbB1.style.color=brt;
          document.all.bbB1.style.backgroundColor=brtBG;
          document.BatteryForm.left1.src="images/"+numBatteries+sp+"_left.gif";
        break;
        case 2:
          document.all.bbB2.style.color=brt;
          document.all.bbB2.style.backgroundColor=brtBG;
          document.BatteryForm.left1.src="images/"+numBatteries+sp+"_left.gif";
          document.BatteryForm.right1.src="images/"+numBatteries+sp+"_right.gif";
        break;
        case 3:
          document.all.bbB3.style.color=brt;
          document.all.bbB3.style.backgroundColor=brtBG;
          document.BatteryForm.left1.src="images/"+numBatteries+sp+"_left.gif";
          document.BatteryForm.right1.src="images/"+numBatteries+sp+"_right.gif";
          document.BatteryForm.left2.src="images/"+numBatteries+sp+"_left.gif";
        break;
        case 4:
          document.all.bbB4.style.color=brt;
          document.all.bbB4.style.backgroundColor=brtBG;
          document.BatteryForm.left1.src="images/"+numBatteries+sp+"_left.gif";
          document.BatteryForm.right1.src="images/"+numBatteries+sp+"_right.gif";
          document.BatteryForm.left2.src="images/"+numBatteries+sp+"_left.gif";
          document.BatteryForm.right2.src="images/"+numBatteries+sp+"_right.gif";
          break;
      }//end switch
    }//end if batV&&batAH&&sysV all have values
  }// end function
  
  //***********************  INITIALIZE AMP HOURS   **********************  
  function initAH(which)
  {
    setAHdim();
    switch(which)
    { 
     case 1:
       document.BatteryForm.ah1.value="300";
       document.BatteryForm.ah2.value="450";
       document.BatteryForm.ah3.value="750";
       document.BatteryForm.ah4.value="1100";
     break;
     case 2:
       document.BatteryForm.ah1.value="400";
       document.BatteryForm.ah2.value="500";
       document.BatteryForm.ah3.value="800";
       document.BatteryForm.ah4.value="1000";
     break;
     case 3:
       document.BatteryForm.ah1.value="350";
       document.BatteryForm.ah2.value="450";
       document.BatteryForm.ah3.value="600";
       document.BatteryForm.ah4.value="800";
     break;
     case 4:
       document.BatteryForm.ah1.value="100";
       document.BatteryForm.ah2.value="180";
       document.BatteryForm.ah3.value="210";
       document.BatteryForm.ah4.value="280";
     break;
    }
  }
  //***********************  INITIALIZE BATTERY BANK  **********************  
  function initBB()
  {
   if(batAH)
    {
      if(sysV==12 && batV==12)
      {
      document.BatteryForm.bb1.value=batAH*4;
      document.BatteryForm.bb2.value=batAH*2*4;
      document.BatteryForm.bb3.value=batAH*3*4;
      document.BatteryForm.bb4.value=batAH*4*4;
      }
      else
      {
      document.BatteryForm.bb1.value=batAH;
      document.BatteryForm.bb2.value=batAH*2;
      document.BatteryForm.bb3.value=batAH*3;
      document.BatteryForm.bb4.value=batAH*4;
      }
    }
  }

  function setVBdim()//Set Voltage buttons DIM
  {
    document.all.vB1.style.color=dim;
    document.all.vB1.style.backgroundColor=dimBG;
    document.all.vB2.style.color=dim;
    document.all.vB2.style.backgroundColor=dimBG;
    document.all.vB3.style.color=dim;
    document.all.vB3.style.backgroundColor=dimBG;
    document.all.vB4.style.color=dim;
    document.all.vB4.style.backgroundColor=dimBG;
  }

  function setAHdim()//Set AmpHour buttons DIM
  {
    document.all.ahB1.style.color=dim;
    document.all.ahB1.style.backgroundColor=dimBG;
    document.all.ahB2.style.color=dim;
    document.all.ahB2.style.backgroundColor=dimBG;
    document.all.ahB3.style.color=dim;
    document.all.ahB3.style.backgroundColor=dimBG;
    document.all.ahB4.style.color=dim;
    document.all.ahB4.style.backgroundColor=dimBG;
  }

  function setSVdim()//Set SystemVoltage buttons DIM
  {
    document.all.svB1.style.color=dim;
    document.all.svB1.style.backgroundColor=dimBG;
    document.all.svB2.style.color=dim;
    document.all.svB2.style.backgroundColor=dimBG;
    document.all.svB3.style.color=dim;
    document.all.svB3.style.backgroundColor=dimBG;
  }
      
  function setBBdim()//Set BatteryBank buttons DIM
  {
    document.all.bbB1.style.color=dim;
    document.all.bbB1.style.backgroundColor=dimBG;
    document.all.bbB2.style.color=dim;
    document.all.bbB2.style.backgroundColor=dimBG;
    document.all.bbB3.style.color=dim;
    document.all.bbB3.style.backgroundColor=dimBG;
    document.all.bbB4.style.color=dim;
    document.all.bbB4.style.backgroundColor=dimBG;
  }
  
  function picReset()//Clear all Battery Diagrams
  {
   document.BatteryForm.centerPic.src="images/center0.gif";
   document.BatteryForm.left1.src="images/instructions.gif";
   document.BatteryForm.left2.src="images/blank.gif";
   document.BatteryForm.right1.src="images/blank.gif";
   document.BatteryForm.right2.src="images/blank.gif";
  }

  function bbValuesReset()
  {
    document.BatteryForm.bb1.value=0;
    document.BatteryForm.bb2.value=0;
    document.BatteryForm.bb3.value=0;
    document.BatteryForm.bb4.value=0;
  }

  
  //  S Y S T E M   S I Z I N G   E S T I M A T O R  **************************************************************
   function setMinimum()
  {
    document.estimatorForm.fridgeUse[1].selected='1';
    document.estimatorForm.tvUse[1].selected='1';
    document.estimatorForm.microUse[1].selected='1';
    document.estimatorForm.lightsUse[1].selected='1';
    document.estimatorForm.cpuUse[1].selected='1';
    document.estimatorForm.miscUse[1].selected='1';

    document.estimatorForm.fridgeSize[0].selected='1';
    document.estimatorForm.tvSize[0].selected='1';
    document.estimatorForm.microSize[0].selected='1';
    document.estimatorForm.lightsSize[0].selected='1';
    document.estimatorForm.cpuSize[0].selected='1';
    document.estimatorForm.miscSize[0].selected='1';
  }

   function setMaximum()
  {
    document.estimatorForm.fridgeUse[5].selected='1';
    document.estimatorForm.tvUse[5].selected='1';
    document.estimatorForm.microUse[5].selected='1';
    document.estimatorForm.lightsUse[5].selected='1';
    document.estimatorForm.cpuUse[5].selected='1';
    document.estimatorForm.miscUse[5].selected='1';

    document.estimatorForm.fridgeSize[4].selected='1';
    document.estimatorForm.tvSize[4].selected='1';
    document.estimatorForm.microSize[4].selected='1';
    document.estimatorForm.lightsSize[6].selected='1';
    document.estimatorForm.cpuSize[4].selected='1';
    document.estimatorForm.miscSize[7].selected='1';
  }

   function setNotUsed()
  {
    document.estimatorForm.fridgeUse[0].selected='1';
    document.estimatorForm.tvUse[0].selected='1';
    document.estimatorForm.microUse[0].selected='1';
    document.estimatorForm.lightsUse[0].selected='1';
    document.estimatorForm.cpuUse[0].selected='1';
    document.estimatorForm.miscUse[0].selected='1';
  }

  
function calculateSize()
  {
  var NumPanels=0;
  var SafeSize=0;
  var BatterySize=0;
  var Battery12=0;
  var Battery24=0;
  var Battery48=0;
  var kwhTotal=0;
  var ItemWatts=0;
  var tvWatts=0;
  var IsChecked=0;
  var WattHours=0;
  
    // Refrigerator
    ItemWatts=document.estimatorForm.fridgeSize.value;
    WattHours=document.estimatorForm.fridgeUse.value*ItemWatts;
    document.estimatorForm.refWattsValue.value=ItemWatts;
    document.estimatorForm.refkwhValue.value=WattHours;
    kwhTotal=kwhTotal+WattHours;
    WattHours=0;
    ItemWatts=0;
  
   
   // Television
    ItemWatts=document.estimatorForm.tvSize.value;
    WattHours=document.estimatorForm.tvUse.value*ItemWatts;
    document.estimatorForm.tvWattsValue.value=ItemWatts;
    document.estimatorForm.tvkwhValue.value=WattHours;
    kwhTotal=kwhTotal+WattHours;
    WattHours=0;
    ItemWatts=0;

   // MicroWave Oven
    ItemWatts=document.estimatorForm.microSize.value;
    WattHours=document.estimatorForm.microUse.value*ItemWatts;
    document.estimatorForm.microWattsValue.value=ItemWatts;
    document.estimatorForm.microkwhValue.value=WattHours;
    kwhTotal=kwhTotal+WattHours;
    WattHours=0;
    ItemWatts=0;

   // Lighting
    ItemWatts=document.estimatorForm.lightsSize.value;
    WattHours=document.estimatorForm.lightsUse.value*ItemWatts;
    document.estimatorForm.lightsWattsValue.value=ItemWatts;
    document.estimatorForm.lightskwhValue.value=WattHours;
    kwhTotal=kwhTotal+WattHours;
    WattHours=0;
    ItemWatts=0;

   // Computer
    ItemWatts=document.estimatorForm.cpuSize.value;
    WattHours=document.estimatorForm.cpuUse.value*ItemWatts;
    document.estimatorForm.cpuWattsValue.value=ItemWatts;
    document.estimatorForm.cpukwhValue.value=WattHours;
    kwhTotal=kwhTotal+WattHours;
    WattHours=0;
    ItemWatts=0;


   // Miscellaneous
    ItemWatts=document.estimatorForm.miscSize.value;
    WattHours=document.estimatorForm.miscUse.value*ItemWatts;
    document.estimatorForm.miscWattsValue.value=ItemWatts;
    document.estimatorForm.misckwhValue.value=WattHours;
    kwhTotal=kwhTotal+WattHours;
    WattHours=0;
    ItemWatts=0;

    //Last row Last column is  S U M M A R Y
    SafeSize=6*kwhTotal;
    if (SafeSize!=0)
	  {
	NumPanels=Math.ceil(kwhTotal/450);  //rounded up to next panel (90 watts*5 hours sunshine)
    BatterySize=Math.ceil(SafeSize/1260);
	Battery12=Math.floor(SafeSize/12);
    Battery24=Math.floor(SafeSize/24);
    Battery48=Math.floor(SafeSize/48);
    document.estimatorForm.kwhTotalValue.value=kwhTotal;
    document.estimatorForm.kwhTotalValue3days.value=kwhTotal*3;
    document.estimatorForm.kwhTotalValueBat.value=6*kwhTotal;
    document.estimatorForm.SolarPanels.value=NumPanels;
    document.estimatorForm.Batteries.value=BatterySize;
    document.estimatorForm.BatterySize12.value=Battery12;
    document.estimatorForm.BatterySize24.value=Battery24;
    document.estimatorForm.BatterySize48.value=Battery48;
	  }
	else
	  {
    document.estimatorForm.kwhTotalValue.value="None";
    document.estimatorForm.kwhTotalValue3days.value=0;
    document.estimatorForm.kwhTotalValueBat.value=0;
    document.estimatorForm.SolarPanels.value=0;
    document.estimatorForm.Batteries.value=0;
    document.estimatorForm.BatterySize12.value=0;
    document.estimatorForm.BatterySize24.value=0;
    document.estimatorForm.BatterySize48.value=0;
	  }
  }
  // END system sizing estimator
  
  //   W I R E   S I Z E   C A L C U L A T O R     ***************************************************************
  function calculateForm()
  {
  var volts=document.wireForm.systemVolts.value;
  var amps=document.wireForm.ampsButton.value;
  var awg=0;
  var length=document.wireForm.lengthButton.value;
  var drop;
  
  if(amps<1||amps>100)
    {
      window.confirm("You must enter a value for amps between 1 - 100");
      return;
    }
  if(length<=1)
    {
      window.confirm("You must enter a distance value greater than 1");
      return;
    }
  
    drop=Math.round(document.wireForm.percentLoss.value*volts*100)/100;
    awg=10*(Math.log(drop/(length*amps))*0.434)+37;
    if (awg<-3)  // TOO LARGE of wire
      {
        window.confirm("Wire required would be larger than 0000 (-3) size. Try reducing the value of Amps or Distance to reduce wire size. Increasing Voltage selection or increase percentage of acceptable loss will also result in smaller required wire size.");
        return;
      }
    document.wireForm.awgButton.value="The above values will require "+Math.round(awg)+" gauge wire. Your power loss will be no more than "+document.wireForm.percentLoss.value*100+" percent.";
  }

  