// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
function calculate_ratio(item, products) {
  var square_feet = $('square_feet').value;
  var base_units = 0;
  products.each(function(x) {
    base_units += $('ratio_' + x).value * $('base_units_' + x).innerHTML;
  });
  var total_units   = 0;
  var total_pallets = 0;
  var total_singles = 0;
  var total_weight  = 0;
  products.each(function(x) {
    units_per_100    = $('units_per_100_' + x).innerHTML;
    units_per_pallet = $('units_per_pallet_' + x).innerHTML;
    pallet_lbs       = $('pallet_lbs_' + x).innerHTML;
    base_unit_ratio  = $('base_units_' + x).innerHTML;
    ratio            = $('ratio_' + x).value;
    units   = Math.ceil((units_per_100 / 100) * ((base_unit_ratio * ratio) / base_units) * square_feet);
    pallets = Math.floor((100 * units) / units_per_pallet/100); 
    singles = units - (pallets * units_per_pallet);
    weight  = Math.ceil(((100 * units) / units_per_pallet ) * pallet_lbs/100);

    total_units   += units;
    total_pallets += pallets;
    total_singles += singles;
    total_weight  += weight;
    
    $('units_needed_' + x).innerHTML = units;
    $('full_pallets_needed_' + x).innerHTML = pallets;
    $('single_units_needed_' + x).innerHTML = singles;
    $('weight_' + x).innerHTML = weight;
  });
  $('total_units').innerHTML = "<b>" + total_units + "</b>";
  $('total_pallets').innerHTML = "<b>" + total_pallets + "</b>";
  $('total_singles').innerHTML = "<b>" + total_singles + "</b>";
  $('total_weight').innerHTML = "<b>" + total_weight + "</b>";
}
//
//
function calculate(item, units_per_100, units_per_pallet, pallet_weight) {
  var pallets     = document.getElementById("pallets");
  var units       = document.getElementById("units");
  var square_feet = document.getElementById("square_feet");
  var weight      = document.getElementById("weight");

  switch(item) {
    case "pallets":
      units.value       = Math.ceil(pallets.value * units_per_pallet);
      square_feet.value = Math.ceil(( units.value / units_per_100 ) * 100);
      weight.value      = Math.ceil(pallets.value * pallet_weight);
      break;
    case "square_feet":
      units.value   = Math.ceil(( square_feet.value / 100 ) * units_per_100);
      pallets.value = Math.ceil((100 * units.value) / units_per_pallet)/100;
      weight.value  = Math.ceil(pallets.value * pallet_weight);
      break;
    case "units":
      square_feet.value = Math.ceil(( units.value / units_per_100 ) * 100);
      pallets.value     = Math.ceil((units.value * 100) / units_per_pallet )/100;
      weight.value      = Math.ceil(pallets.value * pallet_weight);
      break;
    case "weight":
      units.value       = Math.ceil((weight.value / pallet_weight) * units_per_pallet);
      square_feet.value = Math.ceil(( units.value / units_per_100 ) * 100);
      pallets.value     = Math.ceil((units.value * 100) / units_per_pallet )/100;
      break;
  }

  if(pallets.value > 0) {
    $('pallets_and_units').show();
    $('full_pallets').innerHTML = Math.floor(pallets.value);
    $('extra_units').innerHTML  = Math.ceil((pallets.value - Math.floor(pallets.value)) * units_per_pallet);
  } else {
    $('pallets_and_units').hide();
  }
}
