// Dynamic Price Changer for CCP51
// Rachael Katz 03-01-2006

function updatePrice() {

var f="NO_OPTIONS";

// Find if we have a form with options

for (var i=0; i < document.forms.length; i++) {

  if (document.forms[i].optionfields) {

    f = i;

  } // End of if

} //end of for

// Only run sript if we have options

if (f != "NO_OPTIONS") {

  optionfieldsarray = eval('document.forms[' + f + '].optionfields.value.split("|")');

  baseregprice=document.forms[f].origregprice.value;

  var pricechange=0;

  for (var i=0; i < (optionfieldsarray.length); i=i+2) {

    if (optionfieldsarray[i+1] == 'SELECT' || optionfieldsarray[i+1] == 'SELECT-MULT') {

      fieldname = optionfieldsarray[i] + "\"][\"options";
      qualifier = "selected";
     
    } else {

      fieldname = optionfieldsarray[i];
      qualifier = "checked";
  
    } // End of if 

   if (eval('document.forms[' + f + '][\"' + fieldname + '\"][0]')) {    

     for (j=0;j<eval('document.forms[' + f + '][\"' + fieldname + '\"].length');j++) {

        if (eval('document.forms[' + f + '][\"' + fieldname + '\"][' + j + '].' + qualifier)) {

          optarray = eval('document.forms[' + f + '][\"' + fieldname + '\"][' + j + '].value.split("|")');

          if (optarray[2] == 'D') {          

            pricechange = pricechange - parseFloat(optarray[3]);

          } else if (optarray[2] == 'I') {

            pricechange = pricechange + parseFloat(optarray[3]);

          } // End of if

        } // End of if 

      } // End of for

    } else { 

      if (eval('document.forms[' + f + '][\"' + fieldname + '\"].' + qualifier)) {

        optarray = eval('document.forms[' + f + '][\"' + fieldname + '\"].value.split("|")');

        if (optarray[2] == 'D') {          

          pricechange = pricechange - parseFloat(optarray[3]);

        } else if (optarray[2] == 'I') {

          pricechange = pricechange + parseFloat(optarray[3]);

        } // End of if

      } // End of if 

    } // End of if

  } // End of for loop

  regprice = parseFloat(baseregprice) + pricechange;

  // Handle sub-zero prices

  if (regprice < 0) { 

    regprice = 0; 

  } // End of if

  // Fix decimal places

  regprice = regprice.toFixed(2);

  // Update Regular Price

  if (document.getElementById) {

    document.getElementById("price_reg").innerHTML = regprice;

  } else if (document.all) {

    document.forms[f].price_reg.innerHTML = regprice;

  } // End of if

  // Update Sale Price if it Exists

  if (document.forms[f].origsaleprice) {

    basesaleprice=document.forms[f].origsaleprice.value;

    saleprice = parseFloat(basesaleprice) + pricechange;

    // Handle sub-zero prices

    if (saleprice < 0) { 

      saleprice = 0; 

    } // End of if

    // Fix decimal places

    saleprice = saleprice.toFixed(2);

    // Update DIV Tag

    if (document.getElementById) {

      document.getElementById("price_sale").innerHTML = saleprice;

    } else if (document.all) {

      document.forms[f].price_sale.innerHTML = saleprice;

    } // End of if

  } // End of if

} // End of if


} // End of script