var saved_inner_html;
var series = new Array("vehicle_year", "vehicle_make", "vehicle_model", "vehicle_transmission", "vehicle_miles_per_year", "submit_gpcalc");

var amounts_store = {};
amounts_store["total_percent_output"] = {id: "total_percent_output", percent: 100, paylink: "hidden_full", value: 0, monthly_link: "total_percent_output_monthly"};
amounts_store["half_percent_output"] = {id: "half_percent_output", percent: 50, paylink: "hidden_half", value: 0, monthly_link: "half_percent_output_monthly"};
amounts_store["variable_percent_output"] = {id: "variable_percent_output", percent: 0, paylink: "hidden_part", value: 0, monthly_link: "variable_percent_output_monthly"};



function resetSeries() {
   for(var t=0; t<series.length; t++) {
      if(t < (series.length-1)) {
         document.getElementById(series[t]).value = 0;
      }

      if(t > 0) {
         document.getElementById(series[t]).disabled = "disabled";
      }
   }
}

function checkSeries() {
   for(var t=0; t<(series.length-1); t++) { 
      if(document.getElementById(series[t]).value == 0) {
         if(document.getElementById(series[t+1]).type != "submit") {
            document.getElementById(series[t+1]).value = 0;
         }
         document.getElementById(series[t+1]).disabled = "disabled";
      }
      else {
         document.getElementById(series[t+1]).disabled = "";
      }
   }
}

function showPage() {
   document.getElementById("hidden_content").style.display = 'block';
}

function cache_inner() {
   saved_inner_html = document.getElementById('div_miles').innerHTML;
}

function update_cost(percent, carbon_pounds, whole_to_change, monthly_to_change, hidden_to_change) {
   var carbon_offset_cost = .004; //$ per 1000 pounds .008 -> .004

   var dollar_output = (percent / 100) * (carbon_pounds * carbon_offset_cost);
   
   var dollar_output = Math.ceil(dollar_output / 4) * 4;
   var monthly_amount = (dollar_output / 12);

   if(isNaN(dollar_output)) {
      dollar_output = 0; 
   }
   
   if((dollar_output >= 100) && (document.getElementById("payment_type_monthly").checked)) {
      monthly_to_change.innerHTML = "$" + monthly_amount.toFixed(2) + "/mo. for 12 months";
      whole_to_change.innerHTML = "($" + dollar_output.toFixed(0) + " Total Payment)";
   }
   else {
      monthly_to_change.innerHTML = "$" + dollar_output.toFixed(0) + " Total Payment";
      whole_to_change.innerHTML = "";
   }
   hidden_to_change.value = dollar_output.toFixed(0);
}

function toggle_calc_type(type) {
   if(type == "yearly") {
      resetSeries();
      document.getElementById('miles_text').innerHTML = "Miles Per Year:";
      document.getElementById('div_miles').innerHTML = saved_inner_html;
      checkSeries();
   }
   else if(type == "once") {
      resetSeries();
      document.getElementById('miles_text').innerHTML = "Miles:";
      document.getElementById('div_miles').innerHTML = "<input type='text' name='vehicle_miles_per_year' id='vehicle_miles_per_year' onkeyup='checkSeries()' /><input type='hidden' name='hidden_type' value='once' />";
      checkSeries();
   }
}

function check_state() {
   if(document.getElementById('offset_type_yearly').checked) {
      toggle_calc_type("yearly");
   }
   else if(document.getElementById('offset_type_once').checked) {
      toggle_calc_type("once");
   }
}

function validate() {
   var checkList = 
      [
         { id: "vehicle_miles_per_year", regexp: /^[0-9]+$/, errormsg: "Please enter a number for Miles" }
      ];

   for(var t=0; t<checkList.length; t++) {
      if(checkList[t].regexp) {
         if(!new RegExp(checkList[t].regexp).test(document.getElementById(checkList[t].id).value)) {
            alert(checkList[t].errormsg);
            return false;
         }
      }
   }

   return true;
}

function update_amounts() {
   for(t in amounts_store) {
      update_cost(amounts_store[t].percent, amounts_store[t].value, document.getElementById(amounts_store[t].id), document.getElementById(amounts_store[t].monthly_link), document.getElementById(amounts_store[t].paylink))  
   }
}

function set_value(id, value, percent) {
   amounts_store[id].value = value;
   
   if(percent) {
      if(isNaN(percent)) {
         amounts_store[id].percent = 0;
      }
      else {
         amounts_store[id].percent = percent;
      }
   }
   else {
      amounts_store[id].percent = 0;
   }
}

function check_payment_type() {
   var actions = new Array("form_full", "form_half", "form_part");
   var action_amounts = new Array("hidden_full", "hidden_half", "hidden_part");

   if(document.getElementById('payment_type_once').checked) {
      for(t=0; t<actions.length; t++) {
         document.getElementById(actions[t]).action = "annual_travel_purchase_form.php";
      }
   }
   else {
      for(t=0; t<actions.length; t++) {
         if(document.getElementById(action_amounts[t]).value >= 100) {
            document.getElementById(actions[t]).action = "annual_travel_purchase_form_monthly.php";
         }
         else {
            document.getElementById(actions[t]).action = "annual_travel_purchase_form.php";
         }
      }
   }
}
