The following code will work perfectly on a PC browser, IE or Netscape.
However on a Mac browser (IE, Netscape, or Safari) it does not. I have tried
it on OSX and OS9. ANy help anyone can offer would be appreciated. Thank
you.
function calc()
{
var event1_discount _name = ""; //name of discount to be incorporated into
PayPal description
var event2_discount _name = "";
var discount_cutoff = new Date("September 10, 2004"); // Cut off date for
discounts
var today = new Date(); // Value to compare agains cut off date.
var GST_TAX = 0.07; // Current GST rate 7%
//get quantities for discounts and registrations
var event1_reg_qty = parseInt(docume nt.REGISTER.qty .value); //Converts
quantity entered to an Integer for calculations
var event1_groupdis c_qty = parseInt(docume nt.REGISTER.qty 1.value);
var event1_tamdisc_ qty = parseInt(docume nt.REGISTER.qty 8.value);
//ensure that the number of discounts is never greater than the number of
registrations
if (event1_groupdi sc_qty > event1_reg_qty)
{
event1_groupdis c_qty = event1_reg_qty;
document.REGIST ER.qty1.value = event1_reg_qty;
}
if (event1_tamdisc _qty > event1_reg_qty)
{
event1_tamdisc_ qty = event1_reg_qty;
document.REGIST ER.qty8.value = event1_reg_qty;
}
var event2_reg_qty = parseInt(docume nt.REGISTER.qty 10.value);
var event2_groupdis c_qty = parseInt(docume nt.REGISTER.qty 11.value);
var event2_tamdisc_ qty = parseInt(docume nt.REGISTER.qty 12.value);
if (event2_groupdi sc_qty > event2_reg_qty)
{
event2_groupdis c_qty = event2_reg_qty;
document.REGIST ER.qty11.value = event2_reg_qty;
}
if (event2_tamdisc _qty > event2_reg_qty)
{
event2_tamdisc_ qty = event2_reg_qty;
document.REGIST ER.qty12.value = event2_reg_qty;
}
// calculate mulitple registration discount
if (event1_reg_qty > 1)
{
var event1_multidis c_qty = event1_reg_qty;
document.REGIST ER.qty9.value = event1_reg_qty;
}
else var event1_multidis c_qty =0;
if (event2_reg_qty > 1)
{
var event2_multidis c_qty = event2_reg_qty;
document.REGIST ER.qty13.value = event2_reg_qty;
}
else var event2_multidis c_qty =0;
var event1_sub = 0.00; //holds subtotal of event 1
var event2_sub = 0.00; // holds subtotal of event 2
var fee = 595.00; //Regular conference fee before discounts and tax
//calculate registration fee
var event1_fee = event1_reg_qty * fee;
var event2_fee = event2_reg_qty * fee;
//calculate discounts
var event1_groupdis c_sub = event1_groupdis c_qty * 60;
var event1_tamdisc_ sub = event1_tamdisc_ qty * 100;
var event1_multidis c_sub = event1_multidis c_qty * 60;
var event2_groupdis c_sub = event2_groupdis c_qty * 60;
var event2_tamdisc_ sub = event2_tamdisc_ qty * 100;
var event2_multidis c_sub = event2_multidis c_qty * 60;
//assign discount names for PayPal description
if (event1_tamdisc _qty > 0)
{
event1_discount _name = "(TAM Client)"
}
else if (event1_groupdi sc_qty > 0)
{
event1_discount _name = "(CSAMUG)"
}
else event1_discount _name = "(No Discount Selected)"
if (event2_tamdisc _qty > 0)
{
event2_discount _name = "(TAM Client)"
}
else if (event2_groupdi sc_qty > 0)
{
event2_discount _name = "(CSAMUG)"
}
else event2_discount _name = "(No Discount Selected)"
// only process discounts before September 10, 2004
if (today >= discount_cutoff )
{
event1_groupdis c_sub = 0;
event1_tamdisc_ sub = 0;
event1_multidis c_sub = 0;
event2_groupdis c_sub = 0;
event2_tamdisc_ sub = 0;
event2_multidis c_sub = 0;
event1_discount _name = "{Discounts No Longer Available)"
event1_discount _name = "{Discounts No Longer Available)"
}
//display numbers on form
document.REGIST ER.sub_total.va lue = event1_fee.toFi xed(2);
document.REGIST ER.sub_total1.v alue = event1_groupdis c_sub.toFixed(2 );
document.REGIST ER.sub_total2.v alue = event1_tamdisc_ sub.toFixed(2);
document.REGIST ER.sub_total3.v alue = event1_multidis c_sub.toFixed(2 );
document.REGIST ER.sub_total6.v alue = event2_groupdis c_sub.toFixed(2 );
document.REGIST ER.sub_total7.v alue = event2_tamdisc_ sub.toFixed(2);
document.REGIST ER.sub_total8.v alue = event2_multidis c_sub.toFixed(2 );
document.REGIST ER.sub_total5.v alue = event2_fee.toFi xed(2);
document.REGIST ER.sub_total.va lue = "$" +
FormatCurrency( document.REGIST ER.sub_total.va lue);
document.REGIST ER.sub_total1.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total1.v alue) + ")";
document.REGIST ER.sub_total2.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total2.v alue) + ")";
document.REGIST ER.sub_total3.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total3.v alue) + ")";
document.REGIST ER.sub_total6.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total6.v alue) + ")";
document.REGIST ER.sub_total7.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total7.v alue) + ")";
document.REGIST ER.sub_total8.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total8.v alue) + ")";
document.REGIST ER.sub_total5.v alue = "$" +
FormatCurrency( document.REGIST ER.sub_total5.v alue);
// If TAM discount is chosen then the CSAMUG is not applicable
if (event1_tamdisc _qty >=1)
{
event1_groupdis c_sub = 0;
document.REGIST ER.sub_total1.v alue = "$" + "(" +
event1_groupdis c_sub.toFixed(2 ) + ")";
document.REGIST ER.qty1.value=" 0";
}
// calculate and display Event 1 total
event1_sub = event1_fee - (event1_tamdisc _sub + event1_groupdis c_sub +
event1_multidis c_sub);
document.REGIST ER.sub_total4.v alue = event1_sub.toFi xed(2);
document.REGIST ER.sub_total4.v alue = "$" +
FormatCurrency( document.REGIST ER.sub_total4.v alue);
if (event2_tamdisc _qty >=1)
{
event2_groupdis c_sub = 0;
document.REGIST ER.sub_total6.v alue = "$" + "(" +
event2_groupdis c_sub.toFixed(2 ) + ")";
document.REGIST ER.qty11.value= "0";
}
// calculate and display Event 2 total
event2_sub = event2_fee - (event2_tamdisc _sub + event2_groupdis c_sub +
event2_multidis c_sub);
document.REGIST ER.sub_total9.v alue = event2_sub.toFi xed(2);
document.REGIST ER.sub_total9.v alue = "$" +
FormatCurrency( document.REGIST ER.sub_total9.v alue);
//Calculate overall total before taxes
var sub_Total = event1_sub + event2_sub
// prevent a negative or 0 total being processed
if (sub_Total <=0)
{
if (WithoutContent (document.REGIS TER.Registrant2 _FirstName.valu e) == false)
{
document.REGIST ER.qty.value=2;
document.REGIST ER.Registrant2_ Company.value =
document.REGIST ER.Company.valu e
document.REGIST ER.Registrant2_ StreetAddress1. value =
document.REGIST ER.StreetAddres s1.value
document.REGIST ER.Registrant2_ StreetAddress2. value =
document.REGIST ER.StreetAddres s2.value
document.REGIST ER.Registrant2_ City.value = document.REGIST ER.City.value
document.REGIST ER.Registrant2_ ProvinceState.v alue =
document.REGIST ER.ProvinceStat e.value
document.REGIST ER.Registrant2_ PostalZipCode.v alue =
document.REGIST ER.PostalZipCod e.value
document.REGIST ER.Registrant2_ Phone.value = document.REGIST ER.Phone.value
document.REGIST ER.Registrant2_ Fax.value = document.REGIST ER.Fax.value
}
else
{
document.REGIST ER.qty.value=1;
}
calc()
}
else
{
document.REGIST ER.sub_total10. value = sub_Total.toFix ed(2);
document.REGIST ER.sub_total10. value = "$" +
FormatCurrency( document.REGIST ER.sub_total10. value);
var tax = sub_Total * GST_TAX; //calculate the GST
var total = sub_Total + tax; // calculate the total
var description1 = "ITAM Conference Registration X " + event1_reg_qty + " "
+ event1_discount _name
var description2 = " Pre-Conference Seminar Registration X " +
event2_reg_qty + " " + event2_discount _name;
var description = description1 + description2 //Set description to be passed
to PayPal
document.REGIST ER.GST.value=ta x.toFixed(2); //Set the Tax field on the form
document.REGIST ER.GST.value="$ " +
FormatCurrency( document.REGIST ER.GST.value);
document.REGIST ER.TOTAL.value= total.toFixed(2 ); //Set the total field on the
form
document.REGIST ER.TOTAL.value= "$" +
FormatCurrency( document.REGIST ER.TOTAL.value) ;
document.REGIST ER.amount.value ="$" + total.toFixed(2 ); //Set the amount to
be passed to PayPal (same value as the total field)
document.REGIST ER.item_name.va lue=description ; // Set the description to be
passed to PayPal
var timeToKeep = 7200000; // two hours
var expires = new Date();
expires.setTime (expires.getTim e() + timeToKeep);
var cookie_name = "TAMcookie"
set_cookie(cook ie_name, total.toFixed(2 ), expires);
}
}
However on a Mac browser (IE, Netscape, or Safari) it does not. I have tried
it on OSX and OS9. ANy help anyone can offer would be appreciated. Thank
you.
function calc()
{
var event1_discount _name = ""; //name of discount to be incorporated into
PayPal description
var event2_discount _name = "";
var discount_cutoff = new Date("September 10, 2004"); // Cut off date for
discounts
var today = new Date(); // Value to compare agains cut off date.
var GST_TAX = 0.07; // Current GST rate 7%
//get quantities for discounts and registrations
var event1_reg_qty = parseInt(docume nt.REGISTER.qty .value); //Converts
quantity entered to an Integer for calculations
var event1_groupdis c_qty = parseInt(docume nt.REGISTER.qty 1.value);
var event1_tamdisc_ qty = parseInt(docume nt.REGISTER.qty 8.value);
//ensure that the number of discounts is never greater than the number of
registrations
if (event1_groupdi sc_qty > event1_reg_qty)
{
event1_groupdis c_qty = event1_reg_qty;
document.REGIST ER.qty1.value = event1_reg_qty;
}
if (event1_tamdisc _qty > event1_reg_qty)
{
event1_tamdisc_ qty = event1_reg_qty;
document.REGIST ER.qty8.value = event1_reg_qty;
}
var event2_reg_qty = parseInt(docume nt.REGISTER.qty 10.value);
var event2_groupdis c_qty = parseInt(docume nt.REGISTER.qty 11.value);
var event2_tamdisc_ qty = parseInt(docume nt.REGISTER.qty 12.value);
if (event2_groupdi sc_qty > event2_reg_qty)
{
event2_groupdis c_qty = event2_reg_qty;
document.REGIST ER.qty11.value = event2_reg_qty;
}
if (event2_tamdisc _qty > event2_reg_qty)
{
event2_tamdisc_ qty = event2_reg_qty;
document.REGIST ER.qty12.value = event2_reg_qty;
}
// calculate mulitple registration discount
if (event1_reg_qty > 1)
{
var event1_multidis c_qty = event1_reg_qty;
document.REGIST ER.qty9.value = event1_reg_qty;
}
else var event1_multidis c_qty =0;
if (event2_reg_qty > 1)
{
var event2_multidis c_qty = event2_reg_qty;
document.REGIST ER.qty13.value = event2_reg_qty;
}
else var event2_multidis c_qty =0;
var event1_sub = 0.00; //holds subtotal of event 1
var event2_sub = 0.00; // holds subtotal of event 2
var fee = 595.00; //Regular conference fee before discounts and tax
//calculate registration fee
var event1_fee = event1_reg_qty * fee;
var event2_fee = event2_reg_qty * fee;
//calculate discounts
var event1_groupdis c_sub = event1_groupdis c_qty * 60;
var event1_tamdisc_ sub = event1_tamdisc_ qty * 100;
var event1_multidis c_sub = event1_multidis c_qty * 60;
var event2_groupdis c_sub = event2_groupdis c_qty * 60;
var event2_tamdisc_ sub = event2_tamdisc_ qty * 100;
var event2_multidis c_sub = event2_multidis c_qty * 60;
//assign discount names for PayPal description
if (event1_tamdisc _qty > 0)
{
event1_discount _name = "(TAM Client)"
}
else if (event1_groupdi sc_qty > 0)
{
event1_discount _name = "(CSAMUG)"
}
else event1_discount _name = "(No Discount Selected)"
if (event2_tamdisc _qty > 0)
{
event2_discount _name = "(TAM Client)"
}
else if (event2_groupdi sc_qty > 0)
{
event2_discount _name = "(CSAMUG)"
}
else event2_discount _name = "(No Discount Selected)"
// only process discounts before September 10, 2004
if (today >= discount_cutoff )
{
event1_groupdis c_sub = 0;
event1_tamdisc_ sub = 0;
event1_multidis c_sub = 0;
event2_groupdis c_sub = 0;
event2_tamdisc_ sub = 0;
event2_multidis c_sub = 0;
event1_discount _name = "{Discounts No Longer Available)"
event1_discount _name = "{Discounts No Longer Available)"
}
//display numbers on form
document.REGIST ER.sub_total.va lue = event1_fee.toFi xed(2);
document.REGIST ER.sub_total1.v alue = event1_groupdis c_sub.toFixed(2 );
document.REGIST ER.sub_total2.v alue = event1_tamdisc_ sub.toFixed(2);
document.REGIST ER.sub_total3.v alue = event1_multidis c_sub.toFixed(2 );
document.REGIST ER.sub_total6.v alue = event2_groupdis c_sub.toFixed(2 );
document.REGIST ER.sub_total7.v alue = event2_tamdisc_ sub.toFixed(2);
document.REGIST ER.sub_total8.v alue = event2_multidis c_sub.toFixed(2 );
document.REGIST ER.sub_total5.v alue = event2_fee.toFi xed(2);
document.REGIST ER.sub_total.va lue = "$" +
FormatCurrency( document.REGIST ER.sub_total.va lue);
document.REGIST ER.sub_total1.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total1.v alue) + ")";
document.REGIST ER.sub_total2.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total2.v alue) + ")";
document.REGIST ER.sub_total3.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total3.v alue) + ")";
document.REGIST ER.sub_total6.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total6.v alue) + ")";
document.REGIST ER.sub_total7.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total7.v alue) + ")";
document.REGIST ER.sub_total8.v alue = "$" + "(" +
FormatCurrency( document.REGIST ER.sub_total8.v alue) + ")";
document.REGIST ER.sub_total5.v alue = "$" +
FormatCurrency( document.REGIST ER.sub_total5.v alue);
// If TAM discount is chosen then the CSAMUG is not applicable
if (event1_tamdisc _qty >=1)
{
event1_groupdis c_sub = 0;
document.REGIST ER.sub_total1.v alue = "$" + "(" +
event1_groupdis c_sub.toFixed(2 ) + ")";
document.REGIST ER.qty1.value=" 0";
}
// calculate and display Event 1 total
event1_sub = event1_fee - (event1_tamdisc _sub + event1_groupdis c_sub +
event1_multidis c_sub);
document.REGIST ER.sub_total4.v alue = event1_sub.toFi xed(2);
document.REGIST ER.sub_total4.v alue = "$" +
FormatCurrency( document.REGIST ER.sub_total4.v alue);
if (event2_tamdisc _qty >=1)
{
event2_groupdis c_sub = 0;
document.REGIST ER.sub_total6.v alue = "$" + "(" +
event2_groupdis c_sub.toFixed(2 ) + ")";
document.REGIST ER.qty11.value= "0";
}
// calculate and display Event 2 total
event2_sub = event2_fee - (event2_tamdisc _sub + event2_groupdis c_sub +
event2_multidis c_sub);
document.REGIST ER.sub_total9.v alue = event2_sub.toFi xed(2);
document.REGIST ER.sub_total9.v alue = "$" +
FormatCurrency( document.REGIST ER.sub_total9.v alue);
//Calculate overall total before taxes
var sub_Total = event1_sub + event2_sub
// prevent a negative or 0 total being processed
if (sub_Total <=0)
{
if (WithoutContent (document.REGIS TER.Registrant2 _FirstName.valu e) == false)
{
document.REGIST ER.qty.value=2;
document.REGIST ER.Registrant2_ Company.value =
document.REGIST ER.Company.valu e
document.REGIST ER.Registrant2_ StreetAddress1. value =
document.REGIST ER.StreetAddres s1.value
document.REGIST ER.Registrant2_ StreetAddress2. value =
document.REGIST ER.StreetAddres s2.value
document.REGIST ER.Registrant2_ City.value = document.REGIST ER.City.value
document.REGIST ER.Registrant2_ ProvinceState.v alue =
document.REGIST ER.ProvinceStat e.value
document.REGIST ER.Registrant2_ PostalZipCode.v alue =
document.REGIST ER.PostalZipCod e.value
document.REGIST ER.Registrant2_ Phone.value = document.REGIST ER.Phone.value
document.REGIST ER.Registrant2_ Fax.value = document.REGIST ER.Fax.value
}
else
{
document.REGIST ER.qty.value=1;
}
calc()
}
else
{
document.REGIST ER.sub_total10. value = sub_Total.toFix ed(2);
document.REGIST ER.sub_total10. value = "$" +
FormatCurrency( document.REGIST ER.sub_total10. value);
var tax = sub_Total * GST_TAX; //calculate the GST
var total = sub_Total + tax; // calculate the total
var description1 = "ITAM Conference Registration X " + event1_reg_qty + " "
+ event1_discount _name
var description2 = " Pre-Conference Seminar Registration X " +
event2_reg_qty + " " + event2_discount _name;
var description = description1 + description2 //Set description to be passed
to PayPal
document.REGIST ER.GST.value=ta x.toFixed(2); //Set the Tax field on the form
document.REGIST ER.GST.value="$ " +
FormatCurrency( document.REGIST ER.GST.value);
document.REGIST ER.TOTAL.value= total.toFixed(2 ); //Set the total field on the
form
document.REGIST ER.TOTAL.value= "$" +
FormatCurrency( document.REGIST ER.TOTAL.value) ;
document.REGIST ER.amount.value ="$" + total.toFixed(2 ); //Set the amount to
be passed to PayPal (same value as the total field)
document.REGIST ER.item_name.va lue=description ; // Set the description to be
passed to PayPal
var timeToKeep = 7200000; // two hours
var expires = new Date();
expires.setTime (expires.getTim e() + timeToKeep);
var cookie_name = "TAMcookie"
set_cookie(cook ie_name, total.toFixed(2 ), expires);
}
}
Comment