function CalculateTotal(frm) {
    var order_total = 0

    // Run through all the form fields
    for (var i=0; i < frm.elements.length; ++i) {

        // Get the current field
        form_field = frm.elements[i]

        // Get the field's name
        form_name = form_field.id

        // Is it a "product" field?
        if (form_name.substring(0,4) == "prod") {

            // If so, extract the price from the name
            item_price = parseFloat(form_name.substring(form_name.lastIndexOf("_") + 1))

            // Get the quantity
            item_quantity = parseInt(form_field.value)

            // Update the order total
            if (item_quantity >= 0) {
                order_total += item_quantity * item_price
            }
        }
    }

    // Display the total rounded to two decimal places
    frm.total.value = round_decimals(order_total, 2)
}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {

    // Convert the number to a string
    var value_string = rounded_value.toString()
    
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".")

    // Is there a decimal point?
    if (decimal_location == -1) {
        
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0
        
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : ""
    }
    else {

        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1
    }
    
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length
    
    if (pad_total > 0) {
        
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}


function setForm2Value() {
    var eventItem = document.newForm.event.selectedIndex;
    var eventValue = document.newForm.event.options[eventItem].value;
    var free_shirt_sizeItem  = document.newForm.free_shirt_size.selectedIndex;
    var free_shirt_sizeValue = document.newForm.free_shirt_size.options[free_shirt_sizeItem].value;
    var auto_yearItem  = document.newForm.auto_year.selectedIndex;
    var auto_yearValue = document.newForm.auto_year.options[auto_yearItem].value;
    var auto_makeItem = document.newForm.auto_make.auto_make;
    var auto_makeValue = document.newForm.auto_make.value;
    var auto_modelItem = document.newForm.auto_model.auto_model;
    var auto_modelValue = document.newForm.auto_model.value;
    var S_countItem  = document.newForm.S_count.selectedIndex;
    var S_countValue = document.newForm.S_count.options[S_countItem].value;
    var M_countItem  = document.newForm.M_count.selectedIndex;
    var M_countValue = document.newForm.M_count.options[M_countItem].value;
    var L_countItem  = document.newForm.L_count.selectedIndex;
    var L_countValue = document.newForm.L_count.options[L_countItem].value;
    var XL_countItem  = document.newForm.XL_count.selectedIndex;
    var XL_countValue = document.newForm.XL_count.options[XL_countItem].value;
    var XXL_countItem  = document.newForm.XXL_count.selectedIndex;
    var XXL_countValue = document.newForm.XXL_count.options[XXL_countItem].value;
    var XXXL_countItem  = document.newForm.XXXL_count.selectedIndex;
    var XXXL_countValue = document.newForm.XXXL_count.options[XXXL_countItem].value;
    var XXXXL_countItem  = document.newForm.XXXXL_count.selectedIndex;
    var XXXXL_countValue = document.newForm.XXXXL_count.options[XXXXL_countItem].value;
    var totalItem = document.newForm.total.total;
    var totalValue = document.newForm.total.value;

    if (eventItem != "") {
        document.formName2.event.value = eventValue;
    }
    else {
        document.formName2.event.value = "";
    }

    if (free_shirt_sizeItem != "") {
        document.formName2.free_shirt_size.value = free_shirt_sizeValue;
    }
    else {
        document.formName2.free_shirt_size.value = "";
    }

    if (auto_yearItem != "") {
        document.formName2.auto_year.value = auto_yearValue;
    }
    else {
        document.formName2.auto_year.value = "";
    }
   
    if (auto_makeItem != "") {
        document.formName2.auto_make.value = auto_makeValue;
    }
    else {
        document.formName2.auto_make.value = "";
    }

    if (auto_modelItem != "") {
        document.formName2.auto_model.value = auto_modelValue;
    }
    else {
        document.formName2.auto_model.value = "";
    }

    if (S_countItem != "") {
        document.formName2.S_count.value = S_countValue;
    }
    else {
        document.formName2.S_count.value = "";
    }
    
    if (M_countItem != "") {
        document.formName2.M_count.value = M_countValue;
    }
    else {
        document.formName2.M_count.value = "";
    }

    if (L_countItem != "") {
        document.formName2.L_count.value = L_countValue;
    }
    else {
        document.formName2.L_count.value = "";
    }

    if (XL_countItem != "") {
        document.formName2.XL_count.value = XL_countValue;
    }
    else {
        document.formName2.XL_count.value = "";
    }

    if (XXL_countItem != "") {
        document.formName2.XXL_count.value = XXL_countValue;
    }
    else {
        document.formName2.XXL_count.value = "";
    }

    if (XXXL_countItem != "") {
        document.formName2.XXXL_count.value = XXXL_countValue;
    }
    else {
        document.formName2.XXXL_count.value = "";
    }

    if (XXXXL_countItem != "") {
        document.formName2.XXXXL_count.value = XXXXL_countValue;
    }
    else {
        document.formName2.XXXXL_count.value = "";
    }

    if (totalItem != "") {
        document.formName2.amount.value = totalValue;
    }
    else {
        document.formName2.amount.value = "";
    }

}

function checkForm(){
textresult = "";
result = "";
error = "";

   if(formName2.event.value != ""){
      result += "Event: " + formName2.event.value + " | \n";
   }
   else{
      error += "- Select your event\n";
   }

   if(formName2.auto_year.value != ""){
      result += "Auto Info: " + formName2.auto_year.value + " \n";
   }
   else{
      error += "- Select your vehicle year\n";
   }

   if(formName2.auto_make.value != ""){
      result += formName2.auto_make.value + " \n";
   }
   else{
      error += "- Enter you vehicle make\n";
   }

   if(formName2.auto_model.value != ""){
      result += formName2.auto_model.value + " | \n";
   }
   else{
      error += "- Enter your vehicle model\n";
   }

   if(formName2.free_shirt_size.value != ""){
      result += "Free Shirt: " + formName2.free_shirt_size.value + " | \n";
   }
   else{
      error += "- Select your free shirt size\n";
   }

   if(formName2.S_count.value != "" || formName2.M_count.value != "" || formName2.L_count.value != "" || formName2.XL_count.value != "" || formName2.XXL_count.value != "" || formName2.XXXL_count.value != "" || formName2.XXXXL_count.value != ""){
	   result += "Extra Shirt(s):\n";
	   
      if(formName2.S_count.value != ""){
         result += "S (x" + formName2.S_count.value + "), \n";
      }
      else{
         result += "";
      }
      
      if(formName2.M_count.value != ""){
         result += "M (x" + formName2.M_count.value + "), \n";
      }
      else{
         result += "";
      }

      if(formName2.L_count.value != ""){
         result += "L (x" + formName2.L_count.value + "), \n";
      }
      else{
         result += "";
      }

      if(formName2.XL_count.value != ""){
         result += "XL (x" + formName2.XL_count.value + "), \n";
      }
      else{
         result += "";
      }

      if(formName2.XXL_count.value != ""){
         result += "XXL (x" + formName2.XXL_count.value + "), \n";
      }
      else{
         result += "";
      }

      if(formName2.XXXL_count.value != ""){
         result += "XXXL (x" + formName2.XXXL_count.value + "), \n";
      }
      else{
         result += "";
      }

      if(formName2.XXXXL_count.value != ""){
         result += "XXXXL (x" + formName2.XXXXL_count.value + "), \n";
      }
      else{
         result += "";
      }

   }

   if(error != ""){
      alert("Before submitting your order, don't forget to do the following:\n" + error);
      return false;
   }
   else{
      formName2.description.value =  result;
      return true;
   }
}