T
Tom Cahill
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(document.REGISTER.qty.value); //Converts
quantity entered to an Integer for calculations
var event1_groupdisc_qty = parseInt(document.REGISTER.qty1.value);
var event1_tamdisc_qty = parseInt(document.REGISTER.qty8.value);
//ensure that the number of discounts is never greater than the number of
registrations
if (event1_groupdisc_qty > event1_reg_qty)
{
event1_groupdisc_qty = event1_reg_qty;
document.REGISTER.qty1.value = event1_reg_qty;
}
if (event1_tamdisc_qty > event1_reg_qty)
{
event1_tamdisc_qty = event1_reg_qty;
document.REGISTER.qty8.value = event1_reg_qty;
}
var event2_reg_qty = parseInt(document.REGISTER.qty10.value);
var event2_groupdisc_qty = parseInt(document.REGISTER.qty11.value);
var event2_tamdisc_qty = parseInt(document.REGISTER.qty12.value);
if (event2_groupdisc_qty > event2_reg_qty)
{
event2_groupdisc_qty = event2_reg_qty;
document.REGISTER.qty11.value = event2_reg_qty;
}
if (event2_tamdisc_qty > event2_reg_qty)
{
event2_tamdisc_qty = event2_reg_qty;
document.REGISTER.qty12.value = event2_reg_qty;
}
// calculate mulitple registration discount
if (event1_reg_qty > 1)
{
var event1_multidisc_qty = event1_reg_qty;
document.REGISTER.qty9.value = event1_reg_qty;
}
else var event1_multidisc_qty =0;
if (event2_reg_qty > 1)
{
var event2_multidisc_qty = event2_reg_qty;
document.REGISTER.qty13.value = event2_reg_qty;
}
else var event2_multidisc_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_groupdisc_sub = event1_groupdisc_qty * 60;
var event1_tamdisc_sub = event1_tamdisc_qty * 100;
var event1_multidisc_sub = event1_multidisc_qty * 60;
var event2_groupdisc_sub = event2_groupdisc_qty * 60;
var event2_tamdisc_sub = event2_tamdisc_qty * 100;
var event2_multidisc_sub = event2_multidisc_qty * 60;
//assign discount names for PayPal description
if (event1_tamdisc_qty > 0)
{
event1_discount_name = "(TAM Client)"
}
else if (event1_groupdisc_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_groupdisc_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_groupdisc_sub = 0;
event1_tamdisc_sub = 0;
event1_multidisc_sub = 0;
event2_groupdisc_sub = 0;
event2_tamdisc_sub = 0;
event2_multidisc_sub = 0;
event1_discount_name = "{Discounts No Longer Available)"
event1_discount_name = "{Discounts No Longer Available)"
}
//display numbers on form
document.REGISTER.sub_total.value = event1_fee.toFixed(2);
document.REGISTER.sub_total1.value = event1_groupdisc_sub.toFixed(2);
document.REGISTER.sub_total2.value = event1_tamdisc_sub.toFixed(2);
document.REGISTER.sub_total3.value = event1_multidisc_sub.toFixed(2);
document.REGISTER.sub_total6.value = event2_groupdisc_sub.toFixed(2);
document.REGISTER.sub_total7.value = event2_tamdisc_sub.toFixed(2);
document.REGISTER.sub_total8.value = event2_multidisc_sub.toFixed(2);
document.REGISTER.sub_total5.value = event2_fee.toFixed(2);
document.REGISTER.sub_total.value = "$" +
FormatCurrency(document.REGISTER.sub_total.value);
document.REGISTER.sub_total1.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total1.value) + ")";
document.REGISTER.sub_total2.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total2.value) + ")";
document.REGISTER.sub_total3.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total3.value) + ")";
document.REGISTER.sub_total6.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total6.value) + ")";
document.REGISTER.sub_total7.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total7.value) + ")";
document.REGISTER.sub_total8.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total8.value) + ")";
document.REGISTER.sub_total5.value = "$" +
FormatCurrency(document.REGISTER.sub_total5.value);
// If TAM discount is chosen then the CSAMUG is not applicable
if (event1_tamdisc_qty >=1)
{
event1_groupdisc_sub = 0;
document.REGISTER.sub_total1.value = "$" + "(" +
event1_groupdisc_sub.toFixed(2) + ")";
document.REGISTER.qty1.value="0";
}
// calculate and display Event 1 total
event1_sub = event1_fee - (event1_tamdisc_sub + event1_groupdisc_sub +
event1_multidisc_sub);
document.REGISTER.sub_total4.value = event1_sub.toFixed(2);
document.REGISTER.sub_total4.value = "$" +
FormatCurrency(document.REGISTER.sub_total4.value);
if (event2_tamdisc_qty >=1)
{
event2_groupdisc_sub = 0;
document.REGISTER.sub_total6.value = "$" + "(" +
event2_groupdisc_sub.toFixed(2) + ")";
document.REGISTER.qty11.value="0";
}
// calculate and display Event 2 total
event2_sub = event2_fee - (event2_tamdisc_sub + event2_groupdisc_sub +
event2_multidisc_sub);
document.REGISTER.sub_total9.value = event2_sub.toFixed(2);
document.REGISTER.sub_total9.value = "$" +
FormatCurrency(document.REGISTER.sub_total9.value);
//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.REGISTER.Registrant2_FirstName.value) == false)
{
document.REGISTER.qty.value=2;
document.REGISTER.Registrant2_Company.value =
document.REGISTER.Company.value
document.REGISTER.Registrant2_StreetAddress1.value =
document.REGISTER.StreetAddress1.value
document.REGISTER.Registrant2_StreetAddress2.value =
document.REGISTER.StreetAddress2.value
document.REGISTER.Registrant2_City.value = document.REGISTER.City.value
document.REGISTER.Registrant2_ProvinceState.value =
document.REGISTER.ProvinceState.value
document.REGISTER.Registrant2_PostalZipCode.value =
document.REGISTER.PostalZipCode.value
document.REGISTER.Registrant2_Phone.value = document.REGISTER.Phone.value
document.REGISTER.Registrant2_Fax.value = document.REGISTER.Fax.value
}
else
{
document.REGISTER.qty.value=1;
}
calc()
}
else
{
document.REGISTER.sub_total10.value = sub_Total.toFixed(2);
document.REGISTER.sub_total10.value = "$" +
FormatCurrency(document.REGISTER.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.REGISTER.GST.value=tax.toFixed(2); //Set the Tax field on the form
document.REGISTER.GST.value="$" +
FormatCurrency(document.REGISTER.GST.value);
document.REGISTER.TOTAL.value=total.toFixed(2); //Set the total field on the
form
document.REGISTER.TOTAL.value="$" +
FormatCurrency(document.REGISTER.TOTAL.value);
document.REGISTER.amount.value="$" + total.toFixed(2); //Set the amount to
be passed to PayPal (same value as the total field)
document.REGISTER.item_name.value=description; // Set the description to be
passed to PayPal
var timeToKeep = 7200000; // two hours
var expires = new Date();
expires.setTime(expires.getTime() + timeToKeep);
var cookie_name = "TAMcookie"
set_cookie(cookie_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(document.REGISTER.qty.value); //Converts
quantity entered to an Integer for calculations
var event1_groupdisc_qty = parseInt(document.REGISTER.qty1.value);
var event1_tamdisc_qty = parseInt(document.REGISTER.qty8.value);
//ensure that the number of discounts is never greater than the number of
registrations
if (event1_groupdisc_qty > event1_reg_qty)
{
event1_groupdisc_qty = event1_reg_qty;
document.REGISTER.qty1.value = event1_reg_qty;
}
if (event1_tamdisc_qty > event1_reg_qty)
{
event1_tamdisc_qty = event1_reg_qty;
document.REGISTER.qty8.value = event1_reg_qty;
}
var event2_reg_qty = parseInt(document.REGISTER.qty10.value);
var event2_groupdisc_qty = parseInt(document.REGISTER.qty11.value);
var event2_tamdisc_qty = parseInt(document.REGISTER.qty12.value);
if (event2_groupdisc_qty > event2_reg_qty)
{
event2_groupdisc_qty = event2_reg_qty;
document.REGISTER.qty11.value = event2_reg_qty;
}
if (event2_tamdisc_qty > event2_reg_qty)
{
event2_tamdisc_qty = event2_reg_qty;
document.REGISTER.qty12.value = event2_reg_qty;
}
// calculate mulitple registration discount
if (event1_reg_qty > 1)
{
var event1_multidisc_qty = event1_reg_qty;
document.REGISTER.qty9.value = event1_reg_qty;
}
else var event1_multidisc_qty =0;
if (event2_reg_qty > 1)
{
var event2_multidisc_qty = event2_reg_qty;
document.REGISTER.qty13.value = event2_reg_qty;
}
else var event2_multidisc_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_groupdisc_sub = event1_groupdisc_qty * 60;
var event1_tamdisc_sub = event1_tamdisc_qty * 100;
var event1_multidisc_sub = event1_multidisc_qty * 60;
var event2_groupdisc_sub = event2_groupdisc_qty * 60;
var event2_tamdisc_sub = event2_tamdisc_qty * 100;
var event2_multidisc_sub = event2_multidisc_qty * 60;
//assign discount names for PayPal description
if (event1_tamdisc_qty > 0)
{
event1_discount_name = "(TAM Client)"
}
else if (event1_groupdisc_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_groupdisc_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_groupdisc_sub = 0;
event1_tamdisc_sub = 0;
event1_multidisc_sub = 0;
event2_groupdisc_sub = 0;
event2_tamdisc_sub = 0;
event2_multidisc_sub = 0;
event1_discount_name = "{Discounts No Longer Available)"
event1_discount_name = "{Discounts No Longer Available)"
}
//display numbers on form
document.REGISTER.sub_total.value = event1_fee.toFixed(2);
document.REGISTER.sub_total1.value = event1_groupdisc_sub.toFixed(2);
document.REGISTER.sub_total2.value = event1_tamdisc_sub.toFixed(2);
document.REGISTER.sub_total3.value = event1_multidisc_sub.toFixed(2);
document.REGISTER.sub_total6.value = event2_groupdisc_sub.toFixed(2);
document.REGISTER.sub_total7.value = event2_tamdisc_sub.toFixed(2);
document.REGISTER.sub_total8.value = event2_multidisc_sub.toFixed(2);
document.REGISTER.sub_total5.value = event2_fee.toFixed(2);
document.REGISTER.sub_total.value = "$" +
FormatCurrency(document.REGISTER.sub_total.value);
document.REGISTER.sub_total1.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total1.value) + ")";
document.REGISTER.sub_total2.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total2.value) + ")";
document.REGISTER.sub_total3.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total3.value) + ")";
document.REGISTER.sub_total6.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total6.value) + ")";
document.REGISTER.sub_total7.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total7.value) + ")";
document.REGISTER.sub_total8.value = "$" + "(" +
FormatCurrency(document.REGISTER.sub_total8.value) + ")";
document.REGISTER.sub_total5.value = "$" +
FormatCurrency(document.REGISTER.sub_total5.value);
// If TAM discount is chosen then the CSAMUG is not applicable
if (event1_tamdisc_qty >=1)
{
event1_groupdisc_sub = 0;
document.REGISTER.sub_total1.value = "$" + "(" +
event1_groupdisc_sub.toFixed(2) + ")";
document.REGISTER.qty1.value="0";
}
// calculate and display Event 1 total
event1_sub = event1_fee - (event1_tamdisc_sub + event1_groupdisc_sub +
event1_multidisc_sub);
document.REGISTER.sub_total4.value = event1_sub.toFixed(2);
document.REGISTER.sub_total4.value = "$" +
FormatCurrency(document.REGISTER.sub_total4.value);
if (event2_tamdisc_qty >=1)
{
event2_groupdisc_sub = 0;
document.REGISTER.sub_total6.value = "$" + "(" +
event2_groupdisc_sub.toFixed(2) + ")";
document.REGISTER.qty11.value="0";
}
// calculate and display Event 2 total
event2_sub = event2_fee - (event2_tamdisc_sub + event2_groupdisc_sub +
event2_multidisc_sub);
document.REGISTER.sub_total9.value = event2_sub.toFixed(2);
document.REGISTER.sub_total9.value = "$" +
FormatCurrency(document.REGISTER.sub_total9.value);
//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.REGISTER.Registrant2_FirstName.value) == false)
{
document.REGISTER.qty.value=2;
document.REGISTER.Registrant2_Company.value =
document.REGISTER.Company.value
document.REGISTER.Registrant2_StreetAddress1.value =
document.REGISTER.StreetAddress1.value
document.REGISTER.Registrant2_StreetAddress2.value =
document.REGISTER.StreetAddress2.value
document.REGISTER.Registrant2_City.value = document.REGISTER.City.value
document.REGISTER.Registrant2_ProvinceState.value =
document.REGISTER.ProvinceState.value
document.REGISTER.Registrant2_PostalZipCode.value =
document.REGISTER.PostalZipCode.value
document.REGISTER.Registrant2_Phone.value = document.REGISTER.Phone.value
document.REGISTER.Registrant2_Fax.value = document.REGISTER.Fax.value
}
else
{
document.REGISTER.qty.value=1;
}
calc()
}
else
{
document.REGISTER.sub_total10.value = sub_Total.toFixed(2);
document.REGISTER.sub_total10.value = "$" +
FormatCurrency(document.REGISTER.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.REGISTER.GST.value=tax.toFixed(2); //Set the Tax field on the form
document.REGISTER.GST.value="$" +
FormatCurrency(document.REGISTER.GST.value);
document.REGISTER.TOTAL.value=total.toFixed(2); //Set the total field on the
form
document.REGISTER.TOTAL.value="$" +
FormatCurrency(document.REGISTER.TOTAL.value);
document.REGISTER.amount.value="$" + total.toFixed(2); //Set the amount to
be passed to PayPal (same value as the total field)
document.REGISTER.item_name.value=description; // Set the description to be
passed to PayPal
var timeToKeep = 7200000; // two hours
var expires = new Date();
expires.setTime(expires.getTime() + timeToKeep);
var cookie_name = "TAMcookie"
set_cookie(cookie_name, total.toFixed(2), expires);
}
}