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 = "\n"; var responseArray = eventRequest.responseText.split("||"); var orderTotal = 0; var orgTotal = 0; var isPartial = false; var partialMinPayment = 0; for (x = 0; x < responseArray.length; x++) { if (responseArray[x] == "org") { x++; orgId = responseArray[x]; x++; orgName = responseArray[x]; orgArray[orgId] = new Array(); 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); } }