function addToCart(id_arg,name_arg,type_arg) { requestString = "/registration2/ajax_addToCart.php"; requestString += "?id_arg=" + id_arg; requestString += "&type_arg=" + type_arg; if (window.XMLHttpRequest) addToCart_eventRequest = new XMLHttpRequest(); else if (window.ActiveXObject) addToCart_eventRequest = new ActiveXObject("Microsoft.XMLHTTP"); addToCart_eventRequest.onreadystatechange = function() { addToCartHandler(addToCart_eventRequest,name_arg) }; addToCart_eventRequest.open('GET',requestString,true); addToCart_eventRequest.send(null); } function addToCartHandler(eventRequest,name_arg) { if (eventRequest.readyState == 4) { if (eventRequest.responseText == "success") { updateCartTotal(); alert("'"+name_arg+"' has been added to your shopping cart."); } else { alert("ERROR: "+eventRequest.responseText); } } } function removeFromCart(id_arg,name_arg,detail_level_arg) { if (confirm("You are about to remove '"+name_arg+"' from your shopping cart.\n\nAre you sure you want to do this?")) { requestString = "/registration2/ajax_removeFromCart.php"; requestString += "?id_arg=" + id_arg; requestString += "&name_arg=" + name_arg; if (window.XMLHttpRequest) removeFromCart_eventRequest = new XMLHttpRequest(); else if (window.ActiveXObject) removeFromCart_eventRequest = new ActiveXObject("Microsoft.XMLHTTP"); removeFromCart_eventRequest.onreadystatechange = function() { removeFromCartHandler(removeFromCart_eventRequest,detail_level_arg) }; removeFromCart_eventRequest.open('GET',requestString,true); removeFromCart_eventRequest.send(null); } } function removeFromCartHandler(eventRequest,detail_level_arg) { if (eventRequest.readyState == 4) { updateCartTotal(); showCartDetail(detail_level_arg); } } function updateCartTotal() { document.getElementById("reg_cart_total_display").innerHTML = "Updating..."; requestString = "/registration2/ajax_getCartDetail.php"; if (window.XMLHttpRequest) cartTotal_eventRequest = new XMLHttpRequest(); else if (window.ActiveXObject) cartTotal_eventRequest = new ActiveXObject("Microsoft.XMLHTTP"); cartTotal_eventRequest.onreadystatechange = function() { updateCartTotalHandler(cartTotal_eventRequest) }; cartTotal_eventRequest.open('GET',requestString,true); cartTotal_eventRequest.send(null); } function updateCartTotalHandler(eventRequest) { if (eventRequest.readyState == 4) { var responseArray = eventRequest.responseText.split("||"); var orderTotal = 0; for (x = 0; x < responseArray.length; x++) { if (responseArray[x] == "org_sub_total") { x++; orgSubTotal = parseFloat(responseArray[x]); orderTotal += orgSubTotal; } } document.getElementById("reg_cart_total_display").innerHTML = "$"+orderTotal.toFixed(2); } } function showCartDetail(detail_level_arg) { document.getElementById("reg_cart_detail_display").innerHTML = "Updating..."; requestString = "/registration2/ajax_getCartDetail.php"; if (window.XMLHttpRequest) cartDetail_eventRequest = new XMLHttpRequest(); else if (window.ActiveXObject) cartDetail_eventRequest = new ActiveXObject("Microsoft.XMLHTTP"); cartDetail_eventRequest.onreadystatechange = function() { showCartDetailHandler(cartDetail_eventRequest,detail_level_arg) }; cartDetail_eventRequest.open('GET',requestString,true); cartDetail_eventRequest.send(null); } // set up arrays for recalculating totals in manual entry orgArray = new Array(); function showCartDetailHandler(eventRequest,detail_level_arg) { if (eventRequest.readyState == 4) { if (eventRequest.responseText == "") { document.getElementById("reg_cart_detail_display").innerHTML = "Your shopping cart is currently empty."; if (location.href.indexOf("check_out.php") >= 0) document.getElementById("reg_order_submit_buttons").style.display = "none"; } else { var contentString = "
"+orgName+"<\/strong><\/td>| <\/td><\/tr>";
contentString += " | <\/td><\/tr>\n"; contentString += " Item:<\/td> | Price:<\/td> | <\/td><\/tr>\n";
}
if (responseArray[x] == "item") {
x++;
cartItemId = responseArray[x];
x++;
itemName = responseArray[x];
x++;
itemDescription = responseArray[x];
x++;
itemPrice = parseFloat(responseArray[x]);
x++;
serviceFee = parseFloat(responseArray[x]);
x++;
logicPresent = false;
if (responseArray[x] == "mod") {
x++;
logicId = responseArray[x];
x++;
logicValue = parseFloat(responseArray[x]);
x++;
logicDescription = responseArray[x];
x++;
logicFee = responseArray[x];
serviceFee = parseFloat(logicFee);
itemDescription += " | Adjustment: "+logicDescription; //itemPrice += logicValue; } else { x--; } contentString += " "+itemName;
//if (detail_level_arg == "cart")
contentString += " | "+itemDescription; contentString += "<\/td>"; orgArray[orgId][cartItemId] = itemPrice; if (detail_level_arg == "manual_entry") { contentString += " $<\/td>";
} else {
contentString += " | $"+itemPrice.toFixed(2)+"<\/td>";
}
orgTotal += itemPrice;
if (detail_level_arg == "cart")
contentString += " | <\/td><\/tr>";
else if (detail_level_arg == "manual_entry")
contentString += " | <\/td><\/tr>";
else if (detail_level_arg == "checkout")
contentString += " | <\/td><\/tr>";
else if (detail_level_arg == "confirmation")
contentString += " | <\/td>";
if (((detail_level_arg == "checkout") || (detail_level_arg == "confirmation")) && (serviceFee > 0)) {
contentString += " | Service Fee | $"+serviceFee.toFixed(2)+"<\/td> | <\/td><\/tr>\n";
orgTotal += serviceFee;
}
}
if ((detail_level_arg == "checkout") || (detail_level_arg == "confirmation")) {
if (responseArray[x] == "attribute") {
contentString += " | Registration Details:";
x--;
while (responseArray[x+1] == "attribute") {
x++;
x++;
attributeId = responseArray[x];
x++;
attributeName = responseArray[x];
x++;
attributeValue = responseArray[x];
contentString += " | "+attributeName+": "+attributeValue; } contentString += "<\/td><\/tr>\n"; } } if (responseArray[x] == "org_sub_total") { x++; orgSubTotal = parseFloat(responseArray[x]); if ((detail_level_arg == "checkout") || (detail_level_arg == "confirmation")) { orgSubTotal = orgTotal; orgTotal = 0; } orderTotal += orgSubTotal; contentString += " Sub-Total:<\/strong> $"+orgSubTotal.toFixed(2)+"<\/span><\/td><\/tr>\n"; } if (responseArray[x] == "org_min_payment") { isPartial = true; x++; partialMinPayment = parseFloat(responseArray[x]); } } contentString += " Total:<\/strong> $"+orderTotal.toFixed(2)+"<\/span><\/td><\/tr>"; if ((detail_level_arg == "checkout") && (isPartial == true)) { contentString += " Payment Amount:<\/strong> $ | (Minimum Payment: $"+partialMinPayment.toFixed(2)+")<\/span><\/td><\/tr>"; } contentString += "<\/table>"; if ((detail_level_arg == "checkout") && (orderTotal > 0)){ document.getElementById("reg_billing_info_fields").style.display = "block"; checkout_validation_required = true; if (isPartial == true) { document.getElementById("reg_accept_partial").value = "yes"; document.getElementById("reg_min_payment").value = partialMinPayment; } } document.getElementById("reg_cart_detail_display").innerHTML = contentString; if (detail_level_arg == "confirmation") destroyCart(); } } } function updateTotals() { cartTotal = 0; for (var orgId in orgArray) { var orgTotal = 0; for (cartItemId in orgArray[orgId]) { var itemPrice = parseFloat(document.getElementById("price_"+cartItemId).value); orgTotal += itemPrice; } document.getElementById("org_"+orgId+"_total").innerHTML = orgTotal.toFixed(2); cartTotal += orgTotal; } document.getElementById("cart_total").innerHTML = cartTotal.toFixed(2); } function destroyCart() { requestString = "/registration2/ajax_destroyCart.php"; if (window.XMLHttpRequest) destroyCart_eventRequest = new XMLHttpRequest(); else if (window.ActiveXObject) destroyCart_eventRequest = new ActiveXObject("Microsoft.XMLHTTP"); destroyCart_eventRequest.onreadystatechange = function() { destroyCartHandler(destroyCart_eventRequest) }; destroyCart_eventRequest.open('GET',requestString,true); destroyCart_eventRequest.send(null); } function destroyCartHandler(eventRequest) { if (eventRequest.readyState == 4) { if (eventRequest.responseText != "success") alert("ERROR: "+eventRequest.responseText); } } | ||||||||||||||