function getRadioValue(idOrName) {
  var value = null;
  var element = document.getElementById(idOrName);
  var radioGroupName = null;  
  
  if (element == null) {
    radioGroupName = idOrName;
  } else {
    radioGroupName = element.name;     
  }
  if (radioGroupName == null) {
    return null;
  }
  var radios = document.getElementsByTagName('input');
  for (var i=0; i<radios.length; i++) {
    var input = radios[ i ];    
    if (input.type == 'radio' && input.name == radioGroupName && input.checked) {                          
      value = input.value;
      break;
    }
  }
  return value;
}

function displayPackageForm(){
  if(getRadioValue('radioDealSelector')!= null){
    varDealType = getRadioValue('radioDealSelector');
  }
  switch(varDealType)
    {
    case 'driftBoatPack':
      document.getElementById('divDriftBoatPack').style.visibility='visible';
      document.getElementById('divGuidedFlyPack').style.visibility='hidden';
      document.getElementById('divNoPack').style.visibility='hidden';
      document.getElementById('divDriftBoatPack').style.height='225px';
      document.getElementById('divGuidedFlyPack').style.height=0;
      document.getElementById('divNoPack').style.height=0;
      funcDriftBoatPackFillNumberOfDays();
      funcDriftBoatPackNumGuidesSelectorShowHide();
      break;
    case 'guidedFlyPack':
      document.getElementById('divDriftBoatPack').style.visibility='hidden';
      document.getElementById('divGuidedFlyPack').style.visibility='visible';
      document.getElementById('divNoPack').style.visibility='hidden';
      document.getElementById('divDriftBoatPack').style.height=0;
      document.getElementById('divGuidedFlyPack').style.height='225px';
      document.getElementById('divNoPack').style.height=0;      
      funcGuidedFlyPackFillNumberOfDays();
      //funcGuidedFlyPackNumGuidesSelectorShowHide();
      break;
    default:
      document.getElementById('divDriftBoatPack').style.visibility='hidden';
      document.getElementById('divGuidedFlyPack').style.visibility='hidden';
      document.getElementById('divNoPack').style.visibility='visible';
      document.getElementById('divDriftBoatPack').style.height=0;
      document.getElementById('divGuidedFlyPack').style.height=0;
      document.getElementById('divNoPack').style.height='300px'; 
      funcNoPackAccNightsTypeShowHideFill(); 
      funcNoPackDriftBoatsDaysShowHide();
      funcNoPackGuideDaysShowHide();
    }
    calculateBill();
}

function calculateBill(){
  switch(varDealType){
    case 'driftBoatPack':
      varTotalPrice = 0;
      var varDriftBoatPackGroupTotal = 0;
      var varDriftBoatPackRate = new Array(4);

      for (i = 0; i < varDriftBoatPackRate.length; ++ i)
	       varDriftBoatPackRate [i] = new Array(2);
   
	    varDriftBoatPackRate[0][0]=275;
	    varDriftBoatPackRate[0][1]=455;
	    varDriftBoatPackRate[0][2]=645;
	    varDriftBoatPackRate[0][3]=825;
	    varDriftBoatPackRate[0][4]=1015;
	    varDriftBoatPackRate[0][5]=1195;
	    varDriftBoatPackRate[0][6]=1385;
	    
	    varDriftBoatPackRate[1][0]=155;
	    varDriftBoatPackRate[1][1]=265;
	    varDriftBoatPackRate[1][2]=365;
	    varDriftBoatPackRate[1][3]=475;
	    varDriftBoatPackRate[1][4]=585;
	    varDriftBoatPackRate[1][5]=695;
	    varDriftBoatPackRate[1][6]=805;

	    varDriftBoatPackRate[2][0]=175;
	    varDriftBoatPackRate[2][1]=285;
	    varDriftBoatPackRate[2][2]=395;
	    varDriftBoatPackRate[2][3]=505;
	    varDriftBoatPackRate[2][4]=605;
	    varDriftBoatPackRate[2][5]=715;
	    varDriftBoatPackRate[2][6]=825;
      
	    varDriftBoatPackRate[3][0]=null;
	    varDriftBoatPackRate[3][1]=535;
	    varDriftBoatPackRate[3][2]=705;
	    varDriftBoatPackRate[3][3]=895;
	    varDriftBoatPackRate[3][4]=1105;
	    varDriftBoatPackRate[3][5]=1305;
	    varDriftBoatPackRate[3][6]=1525;          	 	  	 	  	 	  	 	  	 	  	 	                 	    

      var varDriftBoatPackAccommodation = document.getElementById('selectDriftBoatPackAccommodation').value;
      var varDriftBoatPackDays = document.getElementById('selectDriftBoatPackDays').value;
      var varDriftBoatPackNumPeople = document.getElementById('selectDriftBoatPackNumPeople').value;
      var varDriftBoatPackGuide = document.getElementById('selectDriftBoatPackGuide').value;
      var varDriftBoatPackNumGuides = document.getElementById('selectDriftBoatPackNumGuides').value;
      
      if (typeof(varDriftBoatPackRate[3][1])== 'number'){
        varTotalPrice += varDriftBoatPackRate[varDriftBoatPackAccommodation][varDriftBoatPackDays];
      }
      
      varDriftBoatPackGroupTotal = varTotalPrice * varDriftBoatPackNumPeople;

      if (varDriftBoatPackGuide != 'notRequired'){
        varTotalPrice += (varDriftBoatPackGuide * varDriftBoatPackNumGuides * 155);
        varDriftBoatPackGroupTotal += (varDriftBoatPackGuide * varDriftBoatPackNumGuides * 155);
      }      

      document.getElementById('divDriftBoatPackBill').innerHTML='<b>$'+varTotalPrice+'</b>';
      
      if (varDriftBoatPackNumPeople == 1){
        document.getElementById('divDriftBoatPackBillGroup').innerHTML='<b> -- </b>';
      }else{
        document.getElementById('divDriftBoatPackBillGroup').innerHTML='<b>$'+varDriftBoatPackGroupTotal+'</b>';
      }
      
      break;
    case 'guidedFlyPack':
      varTotalPrice = 0;
      var varGuidedFlyPackGroupTotal = 0;
      
      var varGuidedFlyPackRate = new Array(5);

      for (i = 0; i < varGuidedFlyPackRate.length; ++ i)
	       varGuidedFlyPackRate [i] = new Array(2);
   
	    varGuidedFlyPackRate[0][0]=490;
	    varGuidedFlyPackRate[0][1]=930;
	    varGuidedFlyPackRate[0][2]=1390;
	    varGuidedFlyPackRate[0][3]=1820;
	    varGuidedFlyPackRate[0][4]=2260;
	    varGuidedFlyPackRate[0][5]=2690;
	    varGuidedFlyPackRate[0][6]=3130;
	    
	    varGuidedFlyPackRate[1][0]=310;
	    varGuidedFlyPackRate[1][1]=555;
	    varGuidedFlyPackRate[1][2]=800;
	    varGuidedFlyPackRate[1][3]=1045;
	    varGuidedFlyPackRate[1][4]=1290;
	    varGuidedFlyPackRate[1][5]=1535;
	    varGuidedFlyPackRate[1][6]=1780;

	    varGuidedFlyPackRate[2][0]=330;
	    varGuidedFlyPackRate[2][1]=600;
	    varGuidedFlyPackRate[2][2]=870;
	    varGuidedFlyPackRate[2][3]=1140;
	    varGuidedFlyPackRate[2][4]=1410;
	    varGuidedFlyPackRate[2][5]=1680;
	    varGuidedFlyPackRate[2][6]=1950;

	    varGuidedFlyPackRate[3][0]=500;
	    varGuidedFlyPackRate[3][1]=790;
	    varGuidedFlyPackRate[3][2]=1180;
	    varGuidedFlyPackRate[3][3]=1310;
	    varGuidedFlyPackRate[3][4]=1790;
	    varGuidedFlyPackRate[3][5]=2050;
	    varGuidedFlyPackRate[3][6]=2360;        
      
	    varGuidedFlyPackRate[4][0]=null;
	    varGuidedFlyPackRate[4][1]=760;
	    varGuidedFlyPackRate[4][2]=1120;
	    varGuidedFlyPackRate[4][3]=1370;
	    varGuidedFlyPackRate[4][4]=1840;
	    varGuidedFlyPackRate[4][5]=2120;
	    varGuidedFlyPackRate[4][6]=2400;   
	 	  	 	  	 	  	 	  	 	                 	 	  	 	  	 	  	 	  	 	  	 	                 	    
      var varGuidedFlyPackAccommodation = document.getElementById('selectGuidedFlyPackAccommodation').value;
      var varGuidedFlyPackDays = document.getElementById('selectGuidedFlyPackDays').value;
      var varGuidedFlyPackNumPeople = document.getElementById('selectGuidedFlyPackNumPeople').value;
      //var varGuidedFlyPackGuide = document.getElementById('selectGuidedFlyPackGuide').value;
      //var varGuidedFlyPackNumGuides = document.getElementById('selectGuidedFlyPackNumGuides').value;
      
      if (typeof(varGuidedFlyPackRate[varGuidedFlyPackAccommodation][varGuidedFlyPackDays])== 'number'){
        varTotalPrice += varGuidedFlyPackRate[varGuidedFlyPackAccommodation][varGuidedFlyPackDays];
      }

      varGuidedFlyPackGroupTotal = varTotalPrice * varGuidedFlyPackNumPeople;

      //if (varGuidedFlyPackGuide != 'notRequired'){
        //varTotalPrice += (varGuidedFlyPackGuide * varGuidedFlyPackNumGuides * 150);
      //}      

      document.getElementById('divGuidedFlyPackBill').innerHTML='<b>$'+varTotalPrice+'</b>';
      
      if (varGuidedFlyPackNumPeople == 1){
        document.getElementById('divGuidedFlyPackBillGroup').innerHTML='<b> -- </b>';
      }else{
        document.getElementById('divGuidedFlyPackBillGroup').innerHTML='<b>$'+varGuidedFlyPackGroupTotal+'</b>';
      }      

      break;
    default:
      varTotalPrice = 0;
      var varAccNumPeople = document.getElementById('selectNoPackAccNumPeople').value;
      var varAccNumNights = document.getElementById('selectNoPackAccNumNights').value;
      var varAccType = document.getElementById('selectNoPackAccommodationType').value;
      var varDriftNumBoats = document.getElementById('selectNoPackDriftNumBoats').value;
      var varDriftBoatsDays = document.getElementById('selectNoPackDriftBoatsDays').value;
      var varNumGuides = document.getElementById('selectNoPackNumGuides').value;
      var varGuideDays = document.getElementById('selectNoPackGuideDays').value;
      
      if (varAccNumPeople != 0){
        
        switch(varAccType){
          case '1':
            var totalFQRequired = varAccNumPeople / 2;
            var remainingNumPeople = varAccNumPeople % 2;

            /*
            if (varAccNumPeople == 1){
              varTotalPrice += (45 * varAccNumNights);        
            } else {
              if (remainingNumPeople == 0){
                varTotalPrice += (60 * totalFQRequired * varAccNumNights);
              } else {
                varTotalPrice += (60 * Math.floor(totalFQRequired) * varAccNumNights);
                if (remainingNumPeople == 1){
                  varTotalPrice += (45 * remainingNumPeople * varAccNumNights);            
                } 
              }              
            }*/
            
            if (varAccNumPeople == 1){
              varTotalPrice += (55 * varAccNumNights);        
            } else {
              if (remainingNumPeople == 0){
                varTotalPrice += (55 * totalFQRequired * varAccNumNights);
              } else {
                varTotalPrice += (55 * Math.floor(totalFQRequired) * varAccNumNights);
                if (remainingNumPeople == 1){
                  varTotalPrice += (55 * remainingNumPeople * varAccNumNights);            
                } 
              }              
            }             
            break;
            
          case '2':
            var totalLRRequired = varAccNumPeople / 3;
            var remainingNumPeople = varAccNumPeople % 3;

            if (varAccNumPeople == 1){
              varTotalPrice += (75 * varAccNumNights);        
            } else if (varAccNumPeople == 2) {
              varTotalPrice += (75 * varAccNumNights);             
            } else if (varAccNumPeople == 3){
              varTotalPrice += (90 * varAccNumNights); 
            }else {
              if (remainingNumPeople == 0){
                varTotalPrice += (90 * totalLRRequired * varAccNumNights);
              } else {
                varTotalPrice += (90 * Math.floor(totalLRRequired) * varAccNumNights);
                if (remainingNumPeople == 1){
                  varTotalPrice += (75 * remainingNumPeople * varAccNumNights);            
                } else if (remainingNumPeople == 2){
                  varTotalPrice += (75 * remainingNumPeople * varAccNumNights);            
                }
              }              
            }            
            break;
            
          case '3':
            if (varAccNumPeople < 6){
              if (varAccNumPeople < 4){
                varTotalPrice += (175 * varAccNumNights);            
              } else {
                varTotalPrice += (175 + ((varAccNumPeople - 3) * 25)) * varAccNumNights;
              }           
            } else {
              var totalCabRequired = varAccNumPeople / 5;
              var remainingNumPeople = varAccNumPeople % 5;
              
              if (remainingNumPeople == 0){
                varTotalPrice += (225 * totalCabRequired * varAccNumNights);
              } else {
                varTotalPrice += (225 * Math.floor(totalCabRequired) * varAccNumNights);
                if (remainingNumPeople < 4){
                  varTotalPrice += (175 * remainingNumPeople);            
                } else {
                  varTotalPrice += (175 + ((remainingNumPeople - 3) * 25)) * varAccNumNights;
                } 
              }
            }             
        
            break;
            
          case '4':
            if (varAccNumPeople < 6){
              varTotalPrice += (400 * varAccNumNights);            
            }else{
              varTotalPrice += (400 + ((varAccNumPeople - 5) * 40)) * varAccNumNights;
            }
            break;
            
          default:
        }
        
      }
      
      if (varDriftNumBoats != 0){
        varTotalPrice += (125 * varDriftNumBoats * varDriftBoatsDays); 
                //$125 Drift boat rental per day
      }
      
      if (varNumGuides != 0){
        varTotalPrice += (400 * varNumGuides * varGuideDays);
                //$400 per guide per day
      }      
      
      document.getElementById('divNoPackBill').innerHTML='<b>$'+varTotalPrice+'</b>';
  }
}

function funcDriftBoatPackFillNumberOfDays(){
  var accType = document.getElementById('selectDriftBoatPackAccommodation').value;
  if (accType == 3){
    document.getElementById('divDriftBoatPackDays').innerHTML= 
      '&nbsp;&nbsp;<select id="selectDriftBoatPackDays" name="selectDriftBoatPackDays" onChange="calculateBill();">'+
        '<option value="1">2 Days, 3 Nights</option>'+
        '<option value="2">3 Days, 4 Nights</option>'+
        '<option value="3">4 Days, 5 Nights</option>'+
        '<option value="4">5 Days, 6 Nights</option>'+
        '<option value="5">6 Days, 7 Nights</option>'+
        '<option value="6">7 Days, 8 Nights</option>'+
      '</select>';    
  }else{
    document.getElementById('divDriftBoatPackDays').innerHTML= 
      '&nbsp;&nbsp;<select id="selectDriftBoatPackDays" name="selectDriftBoatPackDays" onChange="calculateBill();">'+
        '<option value="0">1 Day, 2 Nights</option>'+
        '<option value="1">2 Days, 3 Nights</option>'+
        '<option value="2">3 Days, 4 Nights</option>'+
        '<option value="3">4 Days, 5 Nights</option>'+
        '<option value="4">5 Days, 6 Nights</option>'+
        '<option value="5">6 Days, 7 Nights</option>'+
        '<option value="6">7 Days, 8 Nights</option>'+
      '</select>';
  }
  calculateBill();
}

function funcDriftBoatPackNumGuidesSelectorShowHide(){
  var varDriftBoatPackGuide = document.getElementById('selectDriftBoatPackGuide').value;
  if (varDriftBoatPackGuide == 'notRequired'){
    document.getElementById('trDriftBoatPackNumGuides').style.visibility='hidden';
  }else{
    document.getElementById('trDriftBoatPackNumGuides').style.visibility='visible';
  }
  calculateBill();
}

function funcGuidedFlyPackFillNumberOfDays(){
  var accType = document.getElementById('selectGuidedFlyPackAccommodation').value;
  if (accType == 4){
    document.getElementById('divGuidedFlyPackDays').innerHTML= 
      '&nbsp;&nbsp;<select id="selectGuidedFlyPackDays" name="selectGuidedFlyPackDays" onChange="calculateBill();">'+
        '<option value="1">2 Days, 3 Nights</option>'+
        '<option value="2">3 Days, 4 Nights</option>'+
        '<option value="3">4 Days, 5 Nights</option>'+
        '<option value="4">5 Days, 6 Nights</option>'+
        '<option value="5">6 Days, 7 Nights</option>'+
        '<option value="6">7 Days, 8 Nights</option>'+
      '</select>';    
  }else{
    document.getElementById('divGuidedFlyPackDays').innerHTML= 
      '&nbsp;&nbsp;<select id="selectGuidedFlyPackDays" name="selectGuidedFlyPackDays" onChange="calculateBill();">'+
        '<option value="0">1 Day, 2 Nights</option>'+
        '<option value="1">2 Days, 3 Nights</option>'+
        '<option value="2">3 Days, 4 Nights</option>'+
        '<option value="3">4 Days, 5 Nights</option>'+
        '<option value="4">5 Days, 6 Nights</option>'+
        '<option value="5">6 Days, 7 Nights</option>'+
        '<option value="6">7 Days, 8 Nights</option>'+
      '</select>';
  }
  calculateBill();
}

/*
function funcGuidedFlyPackNumGuidesSelectorShowHide(){
  var varGuidedFlyPackGuide = document.getElementById('selectGuidedFlyPackGuide').value;
  if (varGuidedFlyPackGuide == 'notRequired'){
    document.getElementById('trGuidedFlyPackNumGuides').style.visibility='hidden';
  }else{
    document.getElementById('trGuidedFlyPackNumGuides').style.visibility='visible';
  }
  calculateBill();
}
*/


function funcNoPackAccNightsTypeShowHideFill(){
  var accNumPeople = document.getElementById('selectNoPackAccNumPeople').value;
  var accNumNights = document.getElementById('selectNoPackAccNumNights').value;
  var accType = document.getElementById('selectNoPackAccommodationType').value;
  
  if (accNumPeople == 0){
    document.getElementById('divNoPackAccNumNights').style.visibility='hidden';
    document.getElementById('divNoPackAccommodationType').style.visibility='hidden';
  }else{
    document.getElementById('divNoPackAccNumNights').style.visibility='visible';
    document.getElementById('divNoPackAccommodationType').style.visibility='visible';  

    if (accNumNights < 3){

        document.getElementById('divNoPackAccommodationType').innerHTML= 
          '&nbsp;&nbsp;<select id="selectNoPackAccommodationType" '+ 
                'name="selectNoPackAccommodationType" onChange="calculateBill();"> '+
                '<option value="1" SELECTED>Fisherman Quarters</option>'+
                '<option value="2">Lodge Rooms</option>'+
                '<option value="3">Cabins</option>'+
              '</select>';      

    }else{
      document.getElementById('divNoPackAccommodationType').innerHTML= 
        '&nbsp;&nbsp;<select id="selectNoPackAccommodationType" '+ 
              'name="selectNoPackAccommodationType" onChange="calculateBill();"> '+
              '<option value="1" SELECTED>Fisherman Quarters</option>'+
              '<option value="2">Lodge Rooms</option>'+
              '<option value="3">Cabins</option>'+
              '<option value="4">Bluff House</option>'+
            '</select>';  
    }  
  }  
  calculateBill();
}

function funcNoPackDriftBoatsDaysShowHide(){
  var numDriftBoat = document.getElementById('selectNoPackDriftNumBoats').value;
  if (numDriftBoat == 0){
    document.getElementById('divNoPackDriftBoatsDays').style.visibility='hidden';
  }else{
    document.getElementById('divNoPackDriftBoatsDays').style.visibility='visible';
  }
  calculateBill();  
}

function funcNoPackGuideDaysShowHide(){
  var numGuideDays = document.getElementById('selectNoPackNumGuides').value;
  if (numGuideDays == 0){
    document.getElementById('divNoPackGuideDays').style.visibility='hidden';
  }else{
    document.getElementById('divNoPackGuideDays').style.visibility='visible';
  }
  calculateBill(); 
}











