var ajaxreq = false, ajaxreqcart = false, ajaxreqstatus = false, ajaxCallback, ajaxCallbackcart, ajaxCallbackstatus, product_id, vendor_id; //################################################################### //GLOBAL AJAX REQUEST CONSTRUCTOR //################################################################### function ajaxRequest(filename) { try { ajaxreq = new XMLHttpRequest(); } catch (error) { try { ajaxreq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (error) { return false; } } ajaxreq.open("GET",filename); ajaxreq.onreadystatechange = ajaxResponse; ajaxreq.send(null); } //################################################################### //CART AJAX REQUEST CONSTRUCTOR //################################################################### function ajaxRequestCart(filename) { try { ajaxreqcart = new XMLHttpRequest(); } catch (error) { try { ajaxreqcart = new ActiveXObject("Microsoft.XMLHTTP"); } catch (error) { return false; } } ajaxreqcart.open("GET",filename); ajaxreqcart.onreadystatechange = ajaxResponseCart; ajaxreqcart.send(null); } //################################################################### //STATUS AJAX REQUEST CONSTRUCTOR //################################################################### function ajaxRequestStatus(filename) { try { ajaxreqstatus = new XMLHttpRequest(); } catch (error) { try { ajaxreqstatus = new ActiveXObject("Microsoft.XMLHTTP"); } catch (error) { return false; } } ajaxreqstatus.open("GET",filename); ajaxreqstatus.onreadystatechange = ajaxResponseStatus; ajaxreqstatus.send(null); } //################################################################### //GLOBAL AJAX RESPONSE CONSTRUCTOR //################################################################### function ajaxResponse() { if (ajaxreq.readyState != 4) return; if (ajaxreq.status == 200) { if (ajaxCallback) ajaxCallback(); } else alert("Request failed: " + ajaxreq.statusText); return true; } //################################################################### //CART AJAX RESPONSE CONSTRUCTOR //################################################################### function ajaxResponseCart() { if (ajaxreqcart.readyState != 4) return; if (ajaxreqcart.status == 200) { if (ajaxCallbackcart) ajaxCallbackcart(); } else alert("Request failed: " + ajaxreqcart.statusText); return true; } //################################################################### //STATUS AJAX RESPONSE CONSTRUCTOR //################################################################### function ajaxResponseStatus() { if (ajaxreqstatus.readyState != 4) return; if (ajaxreqstatus.status == 200) { if (ajaxCallbackstatus) ajaxCallbackstatus(); } else alert("Request failed: " + ajaxreqstatus.statusText); return true; } //################################################################### //CONFIRM CART CONTENTS //################################################################### function js_confirmCart() { checkout_cart_main = document.getElementById("checkout_cart"); checkout_cart_contents = document.getElementById("checkout_cart_contents"); checkout_cart_main.removeChild(checkout_cart_contents) checkout_vendors = ajaxreqcart.responseXML.getElementsByTagName("vendor"); var checkout_cart_contents = document.createElement("TABLE"); var checkout_cart_contents_body = document.createElement("TBODY"); var checkout_cart_contents_row = document.createElement("TR"); var checkout_cart_contents_column = document.createElement("TD"); checkout_cart_contents.id = "checkout_cart_contents"; checkout_cart_contents.setAttribute("class","checkout_cart_contents"); checkout_cart_contents.setAttribute("className","checkout_cart_contents"); var checkout_total_cart_price = 0; var checkout_total_discount_amount = 0; if (checkout_vendors[0].childNodes[0].nodeValue != 'None') { for (i=0;i" + checkout_vendors_name[0].childNodes[0].nodeValue + " "; checkout_cart_vendor_table_column_1.setAttribute("class","cart_vendor_name"); checkout_cart_vendor_table_column_1.setAttribute("className","cart_vendor_name"); if ((checkout_vendor_minimum_order[0].childNodes[0].nodeValue * 1) > (checkout_vendor_order_total[0].childNodes[0].nodeValue * 1)) { checkout_cart_vendor_table_column_1.innerHTML += "(Min. Order \u20AC" + checkout_vendor_minimum_order[0].childNodes[0].nodeValue + ")"; } } else { checkout_cart_vendor_table_column_1.innerHTML = checkout_vendors_name[0].childNodes[0].nodeValue + " (Delivery not available to you)"; checkout_cart_vendor_table_column_1.setAttribute("class","cart_vendor_not_served"); checkout_cart_vendor_table_column_1.setAttribute("className","cart_vendor_not_served"); } checkout_cart_vendor_table_row.appendChild(checkout_cart_vendor_table_column_1); checkout_cart_vendor_table_row.appendChild(checkout_cart_vendor_table_column_2); checkout_cart_vendor_table_body.appendChild(checkout_cart_vendor_table_row); if (checkout_vendor_zone_served[0].childNodes[0].nodeValue == 1) { var checkout_products = checkout_vendor.getElementsByTagName("product"); for (y=0;y" + checkout_product_name[0].childNodes[0].nodeValue + ""; checkout_cart_product_table_column_1.setAttribute("class","cart_product_name"); checkout_cart_product_table_column_1.setAttribute("className","cart_product_name"); //ROW 2 COLUMN 2 var checkout_cart_product_table_column_2 = document.createElement("TD"); checkout_cart_product_table_column_2.setAttribute("class","cart_product_update_input"); checkout_cart_product_table_column_2.setAttribute("className","cart_product_update_input"); checkout_cart_product_table_column_2.innerHTML = ""; //ROW 2 COLUMN 3 var checkout_cart_product_table_column_3 = document.createElement("TD"); checkout_cart_product_table_column_3.setAttribute("class","cart_product_update_link"); checkout_cart_product_table_column_3.setAttribute("className","cart_product_update_link"); checkout_cart_product_table_column_3.innerHTML = "Update"; //ROW 2 COLUMN 4 var checkout_cart_product_table_column_4 = document.createElement("TD"); checkout_cart_product_table_column_4.setAttribute("class","cart_product_delete_link"); checkout_cart_product_table_column_4.setAttribute("className","cart_product_delete_link"); checkout_cart_product_table_column_4.innerHTML = "Delete"; //ROW 2 COLUMN 5 var checkout_cart_product_table_column_5 = document.createElement("TD"); var checkout_product_price_sum = checkout_product_price[0].childNodes[0].nodeValue * checkout_product_quantity[0].childNodes[0].nodeValue; checkout_total_cart_price = checkout_total_cart_price + checkout_product_price_sum; checkout_product_price_text = document.createTextNode('\u20AC' + checkout_product_price_sum.toFixed(2)); checkout_cart_product_table_column_5.appendChild(checkout_product_price_text); checkout_cart_product_table_column_5.setAttribute("class","cart_product_price"); checkout_cart_product_table_column_5.setAttribute("className","cart_product_price"); checkout_cart_product_table_row.appendChild(checkout_cart_product_table_column_1); checkout_cart_product_table_row.appendChild(checkout_cart_product_table_column_2); checkout_cart_product_table_row.appendChild(checkout_cart_product_table_column_3); checkout_cart_product_table_row.appendChild(checkout_cart_product_table_column_4); checkout_cart_product_table_row.appendChild(checkout_cart_product_table_column_5); checkout_cart_vendor_table_body.appendChild(checkout_cart_product_table_row); } var checkout_delivery_methods = checkout_vendor.getElementsByTagName("delivery_method"); var checkout_vendor_selected_delivery_method = checkout_vendor.getElementsByTagName("selected_delivery_method"); var checkout_vendor_total_delivery_price = checkout_vendor.getElementsByTagName("total_delivery_price"); if (checkout_delivery_methods.length > 0 ) { if (checkout_vendor_total_delivery_price[0].childNodes[0].nodeValue > 0) { var checkout_cart_vendor_table_row_delivery = document.createElement("TR"); checkout_cart_vendor_table_row_delivery.setAttribute("WIDTH","100%"); var checkout_cart_vendor_table_column_1_delivery = document.createElement("TD"); checkout_cart_vendor_table_column_1_delivery.colSpan = 4; var delivery_select = document.createElement("SELECT"); delivery_select.name = 'vendor_' + checkout_vendor_id[0].childNodes[0].nodeValue + '_method'; delivery_select.id = 'method_' + checkout_vendor_id[0].childNodes[0].nodeValue; delivery_select.onchange = new Function("js_setDelMethod(" + checkout_vendors_id[0].childNodes[0].nodeValue + ")"); for (m=0;m?"; checkout_cart_vendor_table_column_1_delivery.appendChild(delivery_select); checkout_cart_vendor_table_column_1_delivery.appendChild(checkout_delivery_method_details_span); checkout_cart_vendor_table_column_1_delivery.setAttribute("class","delivery_name"); checkout_cart_vendor_table_column_1_delivery.setAttribute("className","delivery_name"); checkout_cart_vendor_table_row_delivery.appendChild(checkout_cart_vendor_table_column_1_delivery); var checkout_cart_vendor_table_column_2_delivery = document.createElement("TD"); if (checkout_vendor_total_delivery_price[0].childNodes[0].nodeValue > 0) { delivery_price = checkout_vendor_total_delivery_price[0].childNodes[0].nodeValue * 1; } else { delivery_price = 0; } checkout_total_cart_price = checkout_total_cart_price + delivery_price; checkout_delivery_price_text = document.createTextNode('\u20AC' + delivery_price.toFixed(2)); checkout_cart_vendor_table_column_2_delivery.appendChild(checkout_delivery_price_text); checkout_cart_vendor_table_column_2_delivery.setAttribute("class","delivery_price"); checkout_cart_vendor_table_column_2_delivery.setAttribute("className","delivery_price"); checkout_cart_vendor_table_row_delivery.appendChild(checkout_cart_vendor_table_column_2_delivery); checkout_cart_vendor_table_body.appendChild(checkout_cart_vendor_table_row_delivery); } } var checkout_vendor_discount_amount = checkout_vendor.getElementsByTagName("discount_amount"); var checkout_vendor_discount_description = checkout_vendor.getElementsByTagName("discount_description"); if (checkout_vendor_discount_amount.length > 0 && checkout_vendor_discount_description[0].childNodes[0].nodeValue != 'none') { var checkout_cart_vendor_table_row_discount = document.createElement("TR"); checkout_cart_vendor_table_row_discount.setAttribute("WIDTH","100%"); var checkout_cart_vendor_table_column_1_discount = document.createElement("TD"); checkout_cart_vendor_table_column_1_discount.colSpan = 4; var checkout_cart_discount_description_text = document.createTextNode(checkout_vendor_discount_description[0].childNodes[0].nodeValue); checkout_cart_vendor_table_column_1_discount.setAttribute("class","discount_description"); checkout_cart_vendor_table_column_1_discount.setAttribute("className","discount_description"); checkout_cart_vendor_table_column_1_discount.appendChild(checkout_cart_discount_description_text); var checkout_cart_vendor_table_column_2_discount = document.createElement("TD"); var discount_amount = checkout_vendor_discount_amount[0].childNodes[0].nodeValue * 1; checkout_total_cart_price = checkout_total_cart_price - discount_amount; var checkout_discount_amount_text = document.createTextNode('- \u20AC' + discount_amount.toFixed(2)); checkout_cart_vendor_table_column_2_discount.setAttribute("class","discount_amount"); checkout_cart_vendor_table_column_2_discount.setAttribute("className","discount_amount"); checkout_cart_vendor_table_column_2_discount.appendChild(checkout_discount_amount_text); checkout_cart_vendor_table_row_discount.appendChild(checkout_cart_vendor_table_column_1_discount); checkout_cart_vendor_table_row_discount.appendChild(checkout_cart_vendor_table_column_2_discount); checkout_cart_vendor_table_body.appendChild(checkout_cart_vendor_table_row_discount); } } checkout_cart_vendor_table.appendChild(checkout_cart_vendor_table_body); checkout_cart_contents_column.appendChild(checkout_cart_vendor_table); } } //CREATE TOTAL TABLE var checkout_cart_total_table = document.createElement("TABLE"); checkout_cart_total_table.setAttribute("class","cart_internal_table"); checkout_cart_total_table.setAttribute("className","cart_internal_table"); var checkout_cart_total_table_body = document.createElement("TBODY"); var checkout_cart_total_table_row = document.createElement("TR"); //TOTAL COLUMN 1 var checkout_cart_total_table_column_1 = document.createElement("TD"); checkout_cart_total_table_column_1.setAttribute("class","cart_total_text"); checkout_cart_total_table_column_1.setAttribute("className","cart_total_text"); if (checkout_vendors[0].childNodes[0].nodeValue != 'None' && checkout_vendor_zone_served[0].childNodes[0].nodeValue != 0) { if (checkout_delivery_methods.length > 0) { var checkout_total_text = document.createTextNode("Total: (including delivery)"); } else { var checkout_total_text = document.createTextNode("Total: (excluding delivery)"); } } else { var checkout_total_text = document.createTextNode("Total:"); } checkout_cart_total_table_column_1.appendChild(checkout_total_text); //TOTAL COLUMN 2 var checkout_cart_total_table_column_2 = document.createElement("TD"); checkout_cart_total_table_column_2.setAttribute("class","cart_total_price"); checkout_cart_total_table_column_2.setAttribute("className","cart_total_price"); if (checkout_vendors[0].childNodes[0].nodeValue != 'None') { var checkout_cart_total = document.createTextNode('\u20AC' + checkout_total_cart_price.toFixed(2)); checkout_cart_total_table_column_2.appendChild(checkout_cart_total); } else { var checkout_cart_total = document.createTextNode('\u20AC' + '0.00'); checkout_cart_total_table_column_2.appendChild(checkout_cart_total); } checkout_cart_total_table_row.appendChild(checkout_cart_total_table_column_1); checkout_cart_total_table_row.appendChild(checkout_cart_total_table_column_2); checkout_cart_total_table_body.appendChild(checkout_cart_total_table_row); checkout_cart_total_table.appendChild(checkout_cart_total_table_body); var myHR = document.createElement("HR"); checkout_cart_contents_column.appendChild(myHR); checkout_cart_contents_column.appendChild(checkout_cart_total_table); checkout_cart_contents_row.appendChild(checkout_cart_contents_column); checkout_cart_contents_body.appendChild(checkout_cart_contents_row); checkout_cart_contents.appendChild(checkout_cart_contents_body); checkout_cart_main.appendChild(checkout_cart_contents); } //################################################################### //PRINT CART CONTENTS FOR PAYMENT //################################################################### function js_payCart() { pay_cart_main = document.getElementById("pay_cart"); pay_cart_contents = document.getElementById("pay_cart_contents"); pay_cart_main.removeChild(pay_cart_contents) pay_vendors = ajaxreqcart.responseXML.getElementsByTagName("vendor"); var pay_cart_contents = document.createElement("TABLE"); var pay_cart_contents_body = document.createElement("TBODY"); var pay_cart_contents_row = document.createElement("TR"); var pay_cart_contents_column = document.createElement("TD"); pay_cart_contents.id = "pay_cart_contents"; pay_cart_contents.setAttribute("class","checkout_cart_contents"); pay_cart_contents.setAttribute("className","checkout_cart_contents"); var pay_total_cart_price = 0; if (pay_vendors[0].childNodes[0].nodeValue != 'None') { for (i=0;i" + pay_vendors_name[0].childNodes[0].nodeValue + ""; pay_cart_vendor_table_column_1.setAttribute("class","cart_vendor_name"); pay_cart_vendor_table_column_1.setAttribute("className","cart_vendor_name"); } } pay_cart_vendor_table_row.appendChild(pay_cart_vendor_table_column_1); pay_cart_vendor_table_row.appendChild(pay_cart_vendor_table_column_2); pay_cart_vendor_table_body.appendChild(pay_cart_vendor_table_row); if (pay_vendor_zone_served[0].childNodes[0].nodeValue == 1) { if ((pay_vendor_minimum_order[0].childNodes[0].nodeValue * 1) <= (pay_vendor_order_total[0].childNodes[0].nodeValue * 1)) { var pay_products = pay_vendor.getElementsByTagName("product"); for (y=0;y" + pay_product_name[0].childNodes[0].nodeValue + ""; pay_cart_product_table_column_1.setAttribute("class","cart_product_name"); pay_cart_product_table_column_1.setAttribute("className","cart_product_name"); //ROW 2 COLUMN 2 var pay_cart_product_table_column_2 = document.createElement("TD"); pay_cart_product_table_column_2.setAttribute("class","cart_product_update_input"); pay_cart_product_table_column_2.setAttribute("className","cart_product_update_input"); pay_cart_product_table_column_2.innerHTML = pay_product_quantity[0].childNodes[0].nodeValue; //ROW 2 COLUMN 3 var pay_cart_product_table_column_3 = document.createElement("TD"); pay_cart_product_table_column_3.setAttribute("class","cart_product_update_link"); pay_cart_product_table_column_3.setAttribute("className","cart_product_update_link"); pay_cart_product_table_column_3.innerHTML = " "; //ROW 2 COLUMN 4 var pay_cart_product_table_column_4 = document.createElement("TD"); pay_cart_product_table_column_4.setAttribute("class","cart_product_delete_link"); pay_cart_product_table_column_4.setAttribute("className","cart_product_delete_link"); pay_cart_product_table_column_4.innerHTML = " "; //ROW 2 COLUMN 5 var pay_cart_product_table_column_5 = document.createElement("TD"); var pay_product_price_sum = pay_product_price[0].childNodes[0].nodeValue * pay_product_quantity[0].childNodes[0].nodeValue; pay_total_cart_price = pay_total_cart_price + pay_product_price_sum; pay_product_price_text = document.createTextNode('\u20AC' + pay_product_price_sum.toFixed(2)); pay_cart_product_table_column_5.appendChild(pay_product_price_text); pay_cart_product_table_column_5.setAttribute("class","cart_product_price"); pay_cart_product_table_column_5.setAttribute("className","cart_product_price"); pay_cart_product_table_row.appendChild(pay_cart_product_table_column_1); pay_cart_product_table_row.appendChild(pay_cart_product_table_column_2); pay_cart_product_table_row.appendChild(pay_cart_product_table_column_3); pay_cart_product_table_row.appendChild(pay_cart_product_table_column_4); pay_cart_product_table_row.appendChild(pay_cart_product_table_column_5); pay_cart_vendor_table_body.appendChild(pay_cart_product_table_row); } var pay_delivery_methods = pay_vendor.getElementsByTagName("delivery_method"); var pay_vendor_selected_delivery_method = pay_vendor.getElementsByTagName("selected_delivery_method"); var pay_vendor_total_delivery_price = pay_vendor.getElementsByTagName("total_delivery_price"); if (pay_delivery_methods.length > 0 && pay_vendor_total_delivery_price[0].childNodes[0].nodeValue > 0) { var pay_cart_vendor_table_row_delivery = document.createElement("TR"); pay_cart_vendor_table_row_delivery.setAttribute("WIDTH","100%"); var pay_cart_vendor_table_column_1_delivery = document.createElement("TD"); pay_cart_vendor_table_column_1_delivery.colSpan = 4; for (m=0;m 0) { delivery_price = pay_vendor_total_delivery_price[0].childNodes[0].nodeValue * 1; } else { delivery_price = 0; } pay_total_cart_price = pay_total_cart_price + delivery_price; pay_delivery_price_text = document.createTextNode('\u20AC' + delivery_price.toFixed(2)); pay_cart_vendor_table_column_2_delivery.appendChild(pay_delivery_price_text); pay_cart_vendor_table_column_2_delivery.setAttribute("class","delivery_price"); pay_cart_vendor_table_column_2_delivery.setAttribute("className","delivery_price"); pay_cart_vendor_table_row_delivery.appendChild(pay_cart_vendor_table_column_2_delivery); pay_cart_vendor_table_body.appendChild(pay_cart_vendor_table_row_delivery); } var pay_vendor_discount_amount = pay_vendor.getElementsByTagName("discount_amount"); var pay_vendor_discount_description = pay_vendor.getElementsByTagName("discount_description"); if (pay_vendor_discount_amount.length > 0 && pay_vendor_discount_description[0].childNodes[0].nodeValue != 'none') { var pay_cart_vendor_table_row_discount = document.createElement("TR"); pay_cart_vendor_table_row_discount.setAttribute("WIDTH","100%"); var pay_cart_vendor_table_column_1_discount = document.createElement("TD"); pay_cart_vendor_table_column_1_discount.colSpan = 4; var pay_cart_discount_description_text = document.createTextNode(pay_vendor_discount_description[0].childNodes[0].nodeValue); pay_cart_vendor_table_column_1_discount.setAttribute("class","discount_description"); pay_cart_vendor_table_column_1_discount.setAttribute("className","discount_description"); pay_cart_vendor_table_column_1_discount.appendChild(pay_cart_discount_description_text); var pay_cart_vendor_table_column_2_discount = document.createElement("TD"); var discount_amount = pay_vendor_discount_amount[0].childNodes[0].nodeValue * 1; pay_total_cart_price = pay_total_cart_price - discount_amount; var pay_discount_amount_text = document.createTextNode('- \u20AC' + discount_amount.toFixed(2)); pay_cart_vendor_table_column_2_discount.setAttribute("class","discount_amount"); pay_cart_vendor_table_column_2_discount.setAttribute("className","discount_amount"); pay_cart_vendor_table_column_2_discount.appendChild(pay_discount_amount_text); pay_cart_vendor_table_row_discount.appendChild(pay_cart_vendor_table_column_1_discount); pay_cart_vendor_table_row_discount.appendChild(pay_cart_vendor_table_column_2_discount); pay_cart_vendor_table_body.appendChild(pay_cart_vendor_table_row_discount); } } } pay_cart_vendor_table.appendChild(pay_cart_vendor_table_body); pay_cart_contents_column.appendChild(pay_cart_vendor_table); } } //CREATE TOTAL TABLE var pay_cart_total_table = document.createElement("TABLE"); pay_cart_total_table.setAttribute("class","cart_internal_table"); pay_cart_total_table.setAttribute("className","cart_internal_table"); var pay_cart_total_table_body = document.createElement("TBODY"); var pay_cart_total_table_row = document.createElement("TR"); //TOTAL COLUMN 1 var pay_cart_total_table_column_1 = document.createElement("TD"); pay_cart_total_table_column_1.setAttribute("class","cart_total_text"); pay_cart_total_table_column_1.setAttribute("className","cart_total_text"); if (pay_delivery_methods.length > 0) { var pay_total_text = document.createTextNode("Total: (including delivery and order discounts)"); } else { var pay_total_text = document.createTextNode("Total: (excluding delivery and order discounts)"); } pay_cart_total_table_column_1.appendChild(pay_total_text); //TOTAL COLUMN 2 var pay_cart_total_table_column_2 = document.createElement("TD"); pay_cart_total_table_column_2.setAttribute("class","cart_total_price"); pay_cart_total_table_column_2.setAttribute("className","cart_total_price"); if (pay_vendors.length > 0) { var pay_cart_total = document.createTextNode('\u20AC' + pay_total_cart_price.toFixed(2)); pay_cart_total_table_column_2.appendChild(pay_cart_total); } else { var pay_cart_total = document.createTextNode('\u20AC' + '0.00'); } pay_cart_total_table_row.appendChild(pay_cart_total_table_column_1); pay_cart_total_table_row.appendChild(pay_cart_total_table_column_2); pay_cart_total_table_body.appendChild(pay_cart_total_table_row); pay_cart_total_table.appendChild(pay_cart_total_table_body); var myHR = document.createElement("HR"); pay_cart_contents_column.appendChild(myHR); pay_cart_contents_column.appendChild(pay_cart_total_table); pay_cart_contents_row.appendChild(pay_cart_contents_column); pay_cart_contents_body.appendChild(pay_cart_contents_row); pay_cart_contents.appendChild(pay_cart_contents_body); pay_cart_main.appendChild(pay_cart_contents); } //################################################################### //UPDATE CART //################################################################### function js_updateCart() { main = document.getElementById("cart"); cart_contents = document.getElementById("cart_contents"); main.removeChild(cart_contents) vendors = ajaxreqcart.responseXML.getElementsByTagName("vendor"); var cart_contents = document.createElement("DIV"); cart_contents.id = "cart_contents"; var total_cart_price = 0; if (vendors[0].childNodes[0].nodeValue != 'None') { for (i=0;i"; cart_vendor_table_column_1.setAttribute("class","cart_vendor_not_served"); cart_vendor_table_column_1.setAttribute("className","cart_vendor_not_served"); } cart_vendor_table_row.appendChild(cart_vendor_table_column_1); cart_vendor_table_row.appendChild(cart_vendor_table_column_2); cart_vendor_table_body.appendChild(cart_vendor_table_row); if (vendor_zone_served[0].childNodes[0].nodeValue == 1) { var products = vendor.getElementsByTagName("product"); for (y=0;y 0 && vendor_discount_description[0].childNodes[0].nodeValue != 'none') { var cart_vendor_table_row_discount = document.createElement("TR"); cart_vendor_table_row_discount.setAttribute("WIDTH","100%"); var cart_vendor_table_column_1_discount = document.createElement("TD"); var cart_discount_description_text = document.createTextNode('Discount'); cart_vendor_table_column_1_discount.setAttribute("class","discount_description"); cart_vendor_table_column_1_discount.setAttribute("className","discount_description"); cart_vendor_table_column_1_discount.appendChild(cart_discount_description_text); var cart_vendor_table_column_2_discount = document.createElement("TD"); var discount_amount = vendor_discount_amount[0].childNodes[0].nodeValue * 1; total_cart_price = total_cart_price - discount_amount; var discount_amount_text = document.createTextNode('-\u20AC' + discount_amount.toFixed(2)); cart_vendor_table_column_2_discount.setAttribute("class","discount_amount"); cart_vendor_table_column_2_discount.setAttribute("className","discount_amount"); cart_vendor_table_column_2_discount.appendChild(discount_amount_text); cart_vendor_table_row_discount.appendChild(cart_vendor_table_column_1_discount); cart_vendor_table_row_discount.appendChild(cart_vendor_table_column_2_discount); cart_vendor_table_body.appendChild(cart_vendor_table_row_discount); } cart_vendor_table.appendChild(cart_vendor_table_body); cart_contents.appendChild(cart_vendor_table); } } //CREATE TOTAL TABLE var cart_total_table = document.createElement("TABLE"); var cart_total_table_body = document.createElement("TBODY"); var cart_total_table_row = document.createElement("TR"); //TOTAL COLUMN 1 var cart_total_table_column_1 = document.createElement("TD"); cart_total_table_column_1.setAttribute("class","cart_total_text"); cart_total_table_column_1.setAttribute("className","cart_total_text"); var total_text = document.createTextNode('Total:'); cart_total_table_column_1.appendChild(total_text); //TOTAL COLUMN 2 var cart_total_table_column_2 = document.createElement("TD"); cart_total_table_column_2.setAttribute("class","cart_total_price"); cart_total_table_column_2.setAttribute("className","cart_total_price"); if (vendors.length > 0) { var cart_total = document.createTextNode('\u20AC' + total_cart_price.toFixed(2)); var myHR = document.createElement("HR"); cart_contents.appendChild(myHR); } else { var cart_total = document.createTextNode('\u20AC' + '0.00'); } cart_total_table_column_2.appendChild(cart_total); cart_total_table_row.appendChild(cart_total_table_column_1); cart_total_table_row.appendChild(cart_total_table_column_2); cart_total_table_body.appendChild(cart_total_table_row); cart_total_table.appendChild(cart_total_table_body); cart_contents.appendChild(cart_total_table); main.appendChild(cart_contents); } //################################################################### //GET CUSTOMER STATUS AT LOGIN //################################################################### function js_getCustomerStatus() { filename = "index.php?group=shop&class=ajax&task=get_customer_status"; ajaxCallbackstatus = js_displayCustomerStatus; ajaxRequestStatus(filename); } //################################################################### //DISPLAY CUSTOMER STATUS AT LOGIN //################################################################### function js_displayCustomerStatus() { customer_status = ajaxreqstatus.responseXML.getElementsByTagName("customer_status"); if (customer_status[0].childNodes[0].nodeValue == 1) { customer_firstname = ajaxreqstatus.responseXML.getElementsByTagName("customer_firstname"); var status_span = document.getElementById("customer_status_span"); status_span.innerHTML = "Welcome " + customer_firstname[0].childNodes[0].nodeValue + ". You are now logged in. | My Account | "; var customer_status_link=document.createElement("SPAN"); customer_status_link.innerHTML = "Logout"; document.getElementById("customer_status_link_span").appendChild(customer_status_link); } else { status_text = document.createTextNode(" "); document.getElementById("customer_status_span").appendChild(status_text); var customer_status_link=document.createElement("SPAN"); customer_status_link.innerHTML = "Forget Something?"; document.getElementById("customer_status_link_span").appendChild(customer_status_link); } } //################################################################### //SET PRODUCT DELIVERY METHOD //################################################################### function js_setDelMethod(vendors_id) { var delivery_method = document.getElementById("method_" + vendors_id).selectedIndex; var delivery_method_id = document.getElementById("method_" + vendors_id).options[delivery_method].value; filename = "index.php?group=shop&class=ajax&task=set_delivery_method&vendors_id=" + vendors_id + "&delivery_method_id=" + delivery_method_id; ajaxCallback = js_getCart; ajaxRequest(filename); js_updateCart(); } //################################################################### //DELETE ITEM FROM CART //################################################################### function js_deleteFromCart(vendors_id,products_id) { filename = "index.php?group=shop&class=ajax&task=delete_from_cart&products_id=" + products_id + "&vendors_id=" + vendors_id; ajaxCallback = js_getCart; ajaxRequest(filename); js_updateCart(); } //################################################################### //UPDATE SESSION BASED CART //################################################################### function js_updateSessionCart(products_id,vendors_id) { var products_quantity = document.getElementById('products_quantity_' + products_id); filename = "index.php?group=shop&class=ajax&task=update_cart&products_id=" + products_id + "&vendors_id=" + vendors_id + "&products_quantity=" + products_quantity.value; ajaxCallbackcart = js_getCart; ajaxRequestCart(filename); js_getCart(); //UPDATE THE BACK BUTTON var button = document.getElementById("back_button"); if (button) { button.href = 'javascript:history.go(-2)'; } } //################################################################### //UPDATES BOTH SMALL CART AND CHECKOUT CART //################################################################### function js_Cart() { var o = document.getElementById("checkout_cart"); var w = document.getElementById("pay_cart"); if (o) { js_confirmCart(); } if (w) { js_payCart(); } else { js_updateCart(); } } //################################################################### //GET CURRENT CART DATA //################################################################### function js_getCart() { filename = "index.php?group=shop&class=ajax&task=get_cart"; ajaxCallbackcart = js_Cart; ajaxRequestCart(filename); } //################################################################### //GET VENDORS BY CATEGORY //################################################################### function js_getVendorsByCategory(category) { if (!category) { var ind1 = document.select_vendors_by_category.vendors_categories_id.selectedIndex; category_id = document.select_vendors_by_category.vendors_categories_id.options[ind1].value; } else { category_id = category; } filename = "index.php?group=shop&class=ajax&task=get_vendors_by_category_id&categories_id=" + category_id; ajaxCallback = js_displayVendors; ajaxRequest(filename); } //################################################################### //DISPLAY VENDOR RESULTS //################################################################### function js_displayVendors() { var main = document.getElementById("vendor_results"); var list = document.getElementById("vendor_results_list"); main.removeChild(list); var list = document.createElement("DIV"); list.id = "vendor_results_list"; main.appendChild(list); vendors_id = ajaxreq.responseXML.getElementsByTagName("vendors_id"); vendors_name = ajaxreq.responseXML.getElementsByTagName("vendors_name"); vendors_images_filename = ajaxreq.responseXML.getElementsByTagName("vendors_images_filename"); vendors_description = ajaxreq.responseXML.getElementsByTagName("vendors_description"); vendors_zones = ajaxreq.responseXML.getElementsByTagName("vendors_zones"); vendors_heading_div = document.createElement("DIV"); vendors_heading_text = document.createTextNode('Shops:'); vendors_heading_div.appendChild(vendors_heading_text); vendors_heading_div.id = "results_list_heading"; vendors_heading_div.setAttribute('id','results_list_heading'); list.appendChild(vendors_heading_div); for (i=0;iAll Products"; products_heading_div.setAttribute("id","results_list_heading"); products_heading_div.appendChild(f_products_heading_text); products_heading_div.appendChild(s_products_heading_text); products_heading_div.appendChild(a_products_heading_span); main.appendChild(products_heading_div); if (products_id[0].childNodes[0].nodeValue != 0) { for (i=0;iFeatured Products" ; s_products_heading_text = document.createTextNode(' | '); a_products_heading_text = document.createTextNode('All Products'); products_heading_div.setAttribute("id","results_list_heading"); products_heading_div.appendChild(f_products_heading_span); products_heading_div.appendChild(s_products_heading_text); products_heading_div.appendChild(a_products_heading_text); main.appendChild(products_heading_div); if (products_id[0].childNodes[0].nodeValue != 0) { for (i=0;i step) { product_table_1.style.display = 'none'; } //ROW 1 var product_table_1_row = document.createElement("TR"); //COLUMN 1 WITH DATA var product_table_1_column_1 = document.createElement("TD"); //COLUMN SPACER var product_table_1_column_spacer = document.createElement("TD"); //COLUMN 2 WITH IMAGE var product_table_1_column_2 = document.createElement("TD"); var product_table_1_column_2_image = document.createElement("IMG"); product_table_1_column_2_image.id = 'product_image_' + products_name[i].childNodes[0].nodeValue; product_table_1_column_2_image.setAttribute('src','images/shops/' + products_images_filename[i].childNodes[0].nodeValue); product_table_1_column_2.appendChild(product_table_1_column_2_image); //TOP TABLE COLUMN 1 NAME, PRICE AND LINK var product_table_2 = document.createElement("TABLE"); var product_table_2_body = document.createElement("TBODY"); var product_table_2_row_1 = document.createElement("TR"); var product_table_2_column_1 = document.createElement("TD"); var product_name = document.createTextNode(products_name[i].childNodes[0].nodeValue); product_table_2_column_1.appendChild(product_name); product_table_2_row_1.appendChild(product_table_2_column_1); var product_table_2_column_2 = document.createElement("TD"); var product_price = document.createTextNode('\u20AC' + products_price[i].childNodes[0].nodeValue); product_table_2_column_2.appendChild(product_price); product_table_2_row_1.appendChild(product_table_2_column_2); var product_table_2_column_3 = document.createElement("TD"); var product_table_2_column_3_link = document.createElement("A"); product_table_2_column_3_link.setAttribute('href','index.php?group=shop&class=unit&task=product_home&products_id=' + products_id[i].childNodes[0].nodeValue); var product_go = document.createTextNode("Go"); product_table_2_column_3_link.appendChild(product_go); product_table_2_column_3.appendChild(product_table_2_column_3_link); product_table_2_row_1.appendChild(product_table_2_column_3); product_table_2_body.appendChild(product_table_2_row_1); product_table_2.appendChild(product_table_2_body); //BOTTOM TABLE COLUMN 1 OTHER DATA var product_table_3 = document.createElement("TABLE"); var product_table_3_body = document.createElement("TBODY"); var product_table_3_row_1 = document.createElement("TR"); var product_table_3_column_1 = document.createElement("TD"); if (products_type[i].childNodes[0].nodeValue == 2) { var product_desc = document.createTextNode(products_description[i].childNodes[0].nodeValue + ' (This is a download product)'); } else { var product_desc = document.createTextNode(products_description[i].childNodes[0].nodeValue); } product_table_3_column_1.appendChild(product_desc); product_table_3_row_1.appendChild(product_table_3_column_1); var product_table_3_row_2 = document.createElement("TR"); var product_table_3_column_2 = document.createElement("TD"); //var product_vendor = document.createTextNode(products_vendors_name[i].childNodes[0].nodeValue); //product_table_3_column_2.appendChild(product_vendor); product_table_3_row_2.appendChild(product_table_3_column_2); var product_table_3_row_3 = document.createElement("TR"); var product_table_3_column_3 = document.createElement("TD"); if (products_disc[i].childNodes.length != 0) { var product_disc = document.createTextNode(products_disc[i].childNodes[0].nodeValue); product_table_3_column_3.appendChild(product_disc); } product_table_3_row_3.appendChild(product_table_3_column_3); product_table_3_body.appendChild(product_table_3_row_1); product_table_3_body.appendChild(product_table_3_row_2); product_table_3_body.appendChild(product_table_3_row_3); product_table_3.appendChild(product_table_3_body); //BUILD TABLES product_table_1_column_1.appendChild(product_table_2); product_table_1_column_1.appendChild(product_table_3); product_table_1_row.appendChild(product_table_1_column_1); product_table_1_row.appendChild(product_table_1_column_spacer); product_table_1_row.appendChild(product_table_1_column_2); product_table_1_body.appendChild(product_table_1_row); product_table_1.appendChild(product_table_1_body); //ADD MASTER TABLE main.appendChild(product_table_1); //SET ATTRIBUTES product_table_1.setAttribute("class", "results_list"); product_table_1.setAttribute("className", "results_list"); product_table_1_column_1.setAttribute("class", "results_list_column_1"); product_table_1_column_1.setAttribute("className", "results_list_column_1"); product_table_1_column_spacer.setAttribute("class", "results_list_column_spacer"); product_table_1_column_spacer.setAttribute("className", "results_list_column_spacer"); product_table_1_column_2.setAttribute("class", "results_list_column_2"); product_table_1_column_2.setAttribute("className", "results_list_column_2"); product_table_2.setAttribute("class", "results_list_left_column_t1"); product_table_2.setAttribute("className", "results_list_left_column_t1"); product_table_2_column_1.setAttribute("class", "results_list_product_name"); product_table_2_column_1.setAttribute("className", "results_list_product_name"); product_table_2_column_2.setAttribute("class", "results_list_product_price"); product_table_2_column_2.setAttribute("className", "results_list_product_price"); product_table_2_column_3.setAttribute("class", "results_list_product_link"); product_table_2_column_3.setAttribute("className", "results_list_product_link"); product_table_3.setAttribute("class", "results_list_left_column_t2"); product_table_3.setAttribute("className", "results_list_left_column_t2"); product_table_3_column_1.setAttribute("class", "results_list_product_desc"); product_table_3_column_1.setAttribute("className", "results_list_product_desc"); product_table_3_column_2.setAttribute("class", "results_list_product_vendor"); product_table_3_column_2.setAttribute("className", "results_list_product_vendor"); product_table_3_column_3.setAttribute("class", "results_list_product_disc"); product_table_3_column_3.setAttribute("className", "results_list_product_disc"); } //CREATE DISPLAY LINKS TABLE if (products_id.length > step) { r = 0; var increment = products_id.length / step; var increment_total = increment.toFixed(0); var links_table = document.createElement("TABLE"); links_table.id = "links_table"; var links_table_body = document.createElement("TBODY"); var links_table_row = document.createElement("TR"); links_table_row.id = "display_links_row"; links_table.appendChild(links_table_body); links_table_body.appendChild(links_table_row); for (x=1;x<=increment_total;x++) { r = r + 1; if (r == 11) { var links_table_row = ''; links_table_row = document.createElement("TR"); links_table_body.appendChild(links_table_row); r = 1; } if (x == increment_total) { var s = start; var f = products_id.length; var links_table_column = document.createElement("TD"); links_table_column.innerHTML = "" + s + " - " + f + ""; links_table_row.appendChild(links_table_column); links_table_column.setAttribute("class", "display_products_link"); links_table_column.setAttribute("className", "display_products_link"); } else { var s = start; var f = (start + step) - 1; var links_table_column = document.createElement("TD"); links_table_column.innerHTML = "" + s + " - " + f + ""; links_table_row.appendChild(links_table_column); start = start + step; links_table_column.setAttribute("class", "display_products_link"); links_table_column.setAttribute("className", "display_products_link"); } } main.appendChild(document.createTextNode("Click to view further products")); main.appendChild(links_table); } //IF NO PRODUCTS } else { products_no_results = document.createElement("DIV"); products_no_results.id = 'products_no_results_0'; products_no_results.setAttribute('id','results_list_no_results'); products_no_results.appendChild(document.createTextNode("No Products at this time")); main.appendChild(products_no_results); } } //################################################################### //DISPLAY BLOCKS OF PRODUCTS //################################################################### function js_displayProducts(s,f,t) { for (x=s;x<=f;x++) { var product_table = document.getElementById("product_" + x + "_table"); product_table.style.display = 'block'; } y = s - 1; for (x=y;x>0;x--) { var product_table = document.getElementById("product_" + x + "_table"); product_table.style.display = 'none'; } q = f + 1; for (x=q;x<=t;x++) { var product_table = document.getElementById("product_" + x + "_table"); product_table.style.display = 'none'; } //BACK TO TOP OF WINDOW window.scrollTo(0,0); //CHANGE COLOR OF LINKS //for (x=1;x<=t;x++) { //var link = document.getElementById("display_link_" + x); //if (link) { //link.setAttribute("class", "display_products_link"); //link.setAttribute("className", "display_products_link"); //} //} } //################################################################### //APPLY MEMBER NUMBER //################################################################### function js_applyMemberNumber(vendor_id) { var member_number = document.getElementById("member_number_vendor_" + vendor_id).value; if (member_number != '') { filename = "index.php?group=shop&class=ajax&task=apply_member_number&member_number=" + member_number; ajaxRequest(filename); js_getCart(); } } //################################################################### //ADD EXTRA INFO IN CART //################################################################### function js_addExtraInfo() { var i = document.getElementById("extra_info"); extra_info = document.extra_info_form.extra_info.value; if (i) { filename = "index.php?group=shop&class=ajax&task=add_extra_info&extra_info=" + extra_info; ajaxRequest(filename); window.location = "index.php?group=shop&class=mall&task=checkout&subtask=pay"; } }