// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function giveFocus() {
	var bFound = false;
  // for each form
  for (f=0; f < document.forms.length; f++) {
    // for each element in each form
    for(i=0; i < document.forms[f].length; i++) {
      // if it's not a hidden element
      if (document.forms[f][i].type != "hidden") {
        // and it's not disabled
        if (document.forms[f][i].disabled != true) {
          // set the focus to it
          document.forms[f][i].focus();
          var bFound = true;
        }
      }
      // if found in this element, stop looking
      if (bFound == true)
        break;
    }
    // if found in this form, stop looking
    if (bFound == true)
      break;
  }
}


function sameAddress() {
	$('order_new_payment_info_name').value   = $F('order_shipto_name');
	$('order_new_payment_info_street').value = $F('order_shipto_street');
	$('order_new_payment_info_city').value   = $F('order_shipto_city');
	$('order_new_payment_info_state').value  = $F('order_shipto_state');
	$('order_new_payment_info_zip').value    = $F('order_shipto_zip');
}


Array.prototype.sum = function() {
  return (! this.length) ? 0 : this.slice(1).sum() + ((typeof this[0] == 'number') ? this[0] : 0);
};

function updateNutritionGrid() {
	var grid = $('nutrition_grid');
	var op
	if(grid){
		calories = sumFields('#nutrition_grid .calories input');
		carbs    = sumFields('#nutrition_grid .carbohydrates input');
		protein  = sumFields('#nutrition_grid .protein input');
		sugar 	 = sumFields('#nutrition_grid .sugar input');
		fat 		 = sumFields('#nutrition_grid .fat input');
		fiber    = sumFields('#nutrition_grid .fiber input');
		$('total_calories').value      = calories;
		$('total_carbohydrates').value = carbs;
		$('total_protein').value       = protein;
		$('total_sugar').value         = sugar;
		$('total_fat').value           = fat;
		$('total_fiber').value         = fiber;
	}
}

function sumFields(fields) {
	return $$(fields).map(function(s){ return parseInt(s.value || 0) }).sum();
}