/**
 * @file JavaScript functions for asd_form.module
 *       Calculates a total based on inputted quantities and alters prices for members
 */

/* Drupal hooks */
if (isJsEnabled()) addLoadEvent(priceAlterAutoAttach);

function priceAlterAutoAttach() {
  var vMember = document.getElementById("edit-member");
  vMember.onchange = function() {
    priceAlterChangePrices();
    priceAlterAmendTotal();
  }

  for (i = 1; i <= 8; i++) {
    vQty = document.getElementById("edit-price_details-" + i.toString() + "-qty");
    vQty.onchange = function() {
      priceAlterAmendTotal();
    }
  }
}

/**
 * priceAlterChangePrices() - changes the price per item depending on member status
 */
function priceAlterChangePrices() {
  var vMember = document.getElementById("edit-member");
  if (vMember == null) {
    return;
  }

  // pricing
  var strNormalPrice = new Array( "144.10", "144.10", "556.60", "130.00", "125.00", "90.00", "660.00", "630.00" );
  var strDiscountPrice = new Array( "75.90", "75.90", "281.60", "130.00", "125.00", "90.00", "440.00", "420.00" );

  for (i = 1; i <= 8; i++) {
    vPrice = document.getElementById("edit-price_details-" + i.toString() + "-price");
    if (vMember.selectedIndex == 1) {
      vPrice.value = strDiscountPrice[i-1];
    }
    else {
      vPrice.value = strNormalPrice[i-1];
    }
  }
}

/**
 * priceAlterAmendTotal() - amends the total field depending on member status and quantities entered
 */
function priceAlterAmendTotal() {
  var vTotal = document.getElementById("edit-total");
  if (vTotal == null) {
    return;
  }

  newTotal = 0;
  for (i = 1; i <= 8; i++) {
    vQty   = document.getElementById("edit-price_details-" + i.toString() + "-qty");
    vPrice = document.getElementById("edit-price_details-" + i.toString() + "-price");
    newTotal += vQty.value * vPrice.value;
  }

  vTotal.value = newTotal.toString();
}
