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;
}
//###################################################################
//PRODUCT IMAGE DISPLAY
//###################################################################
function js_displayPImage(pid,e) {

new Effect.Fade('mainImageC' + pid);

setTimeout("new Effect.Appear(document.getElementById('mainImageC" + pid + "'))", 1200);
setTimeout("document.getElementById('mainImage" + pid + "').src = document.getElementById('p" + pid + "-i" + e + "').src", 1200);

}
//###################################################################
//CHANGE TABS
//###################################################################
function js_changeTab(i,vid) {

var openTab = document.getElementById('tab' + i);
var sTab = document.getElementById('stab' + i);

openTab.style.display = 'block';
sTab.setAttribute('class', 'shoppage_tab_on');
sTab.setAttribute('className', 'shoppage_tab_on');

for (x=0;x<5;x++) {

	if (x != i) {
		var closeTab = document.getElementById('tab' + x);
		var closeSTab = document.getElementById('stab' + x);
		if (closeTab && closeSTab) {
			closeTab.style.display = 'none';
			closeSTab.setAttribute('class', 'shoppage_tab');
			closeSTab.setAttribute('className', 'shoppage_tab');
			var thref = document.getElementById('t' + x + 'href');
			if (thref) thref.blur();
		}
	}
	var thref = document.getElementById('t' + x + 'href');
	if (thref) thref.blur();
}

if (i > 0) js_getTabContent(i,vid);

}
//###################################################################
//GET TAB CONTENT
//###################################################################
function js_getTabContent(i,vid) {

filename = "index.php?group=shop&class=ajax&task=get_featured_products_by_vendor_id&vendors_id=" + vid +"&products_categories_id=" + i;

ajaxCallback = js_displayTabContent;

ajaxRequest(filename);

}
//###################################################################
//RENDER TAB CONTENT
//###################################################################
function js_displayTabContent() {

products_id = ajaxreq.responseXML.getElementsByTagName("products_id");

if (products_id.length > 0) {

	products = ajaxreq.responseXML.getElementsByTagName("product");
	categories_id = ajaxreq.responseXML.getElementsByTagName("categories_id")[0].childNodes[0].nodeValue;
	vendors_id = ajaxreq.responseXML.getElementsByTagName("vendors_id");
	products_images_filename = ajaxreq.responseXML.getElementsByTagName("products_images_filename");
	products_name = ajaxreq.responseXML.getElementsByTagName("products_name");
	products_price = ajaxreq.responseXML.getElementsByTagName("products_price");
	products_description = ajaxreq.responseXML.getElementsByTagName("products_description");
	products_disc = ajaxreq.responseXML.getElementsByTagName("products_disc_description");
	products_type = ajaxreq.responseXML.getElementsByTagName("products_type");

	var mainContainer = document.getElementById("tab" + categories_id + "_ajax_content");
	var oldContent = document.getElementById('tab' + categories_id + "_content_container");
	if (oldContent) mainContainer.removeChild(oldContent);
	var tab_content_container = document.createElement("DIV");
	tab_content_container.id = 'tab' + categories_id + "_content_container";

	for (i=0;i<products_id.length;i++) {

		var pid = products_id[i].childNodes[0].nodeValue;
		var product = products.item(i);
		var images = product.getElementsByTagName("image");

		var item_container = document.createElement("DIV");
		item_container.id = 'product' + pid;
		item_container.setAttribute('class','product_container');
		item_container.setAttribute('className','product_container');

		var item_container_left = document.createElement("DIV");
		item_container_left.setAttribute('class','product_container_left');
		item_container_left.setAttribute('className','product_container_left');

		var item_container_right = document.createElement("DIV");
		item_container_right.setAttribute('class','product_container_right');
		item_container_right.setAttribute('className','product_container_right');

		var item_container_base = document.createElement("DIV");
		item_container_base.setAttribute('class','product_container_base');
		item_container_base.setAttribute('className','product_container_base');

		item_container.appendChild(item_container_left);
		item_container.appendChild(item_container_right);
		item_container.appendChild(item_container_base);

		//MAIN IMAGE
		var mainImageContainer = document.createElement("DIV");
		mainImageContainer.id = 'mainImageC' + pid;
		mainImageContainer.setAttribute('class','product_main_image');
		mainImageContainer.setAttribute('className','product_main_image');
		var mainImage = document.createElement("IMG");
		mainImage.id = 'mainImage' + pid;
		mainImage.src = '/images/shops/' + images[0].childNodes[0].nodeValue;
		mainImageContainer.appendChild(mainImage);
		item_container_left.appendChild(mainImageContainer);

		//HEADING AND DESCRIPTION
		var desc_container = document.createElement("DIV");
		desc_container.id = 'product_container_desc';
		var head_container = document.createElement("DIV");
		head_container.id = 'head_container_' + products_id[i].childNodes[0].nodeValue;
		head_container.setAttribute('class','head_container');
		head_container.setAttribute('className','head_container');
		var headHTML = "<DIV CLASS=product_heading>" + products_name[i].childNodes[0].nodeValue + " | ";
		headHTML += "<B>&euro;" + products_price[i].childNodes[0].nodeValue + "</B> | <SPAN CLASS=shoppage_button><A HREF=javascript:js_updateSessionCart(" + products_id[i].childNodes[0].nodeValue + "," + vendors_id[i].childNodes[0].nodeValue + ");>add to cart</A></SPAN></DIV>";

		//THUMBS
		if (images.length > 1) {

			for (e=0;e<images.length;e++) {

				var thumb = document.createElement("DIV");
				thumb.id = 'thumb-' + pid + '-' + e;
				thumb.setAttribute('class','thumb_image');
				thumb.setAttribute('className','thumb_image');
				var image = document.createElement("IMG");
				image.src = '/images/shops/' + images[e].childNodes[0].nodeValue;
				image.id = 'p' + pid + '-i' + e;
				var thumbLink = document.createElement("A");
				thumbLink.href = "javascript:js_displayPImage(" + pid + "," + e + ");"
				thumbLink.appendChild(image);
				thumb.appendChild(thumbLink);
				head_container.appendChild(thumb);

			}

		}

		head_container.innerHTML += headHTML;
		desc_container.appendChild(head_container);
		desc_container.innerHTML += "<BR>" + products_description[i].childNodes[0].nodeValue + "<BR><BR>";
		item_container_right.appendChild(desc_container);

		//ALL
		tab_content_container.appendChild(item_container);
		
	}

	mainContainer.appendChild(tab_content_container);	

} else {
		var categories_id = ajaxreq.responseXML.getElementsByTagName("categories_id")[0].childNodes[0].nodeValue;
	 	var mainContainer = document.getElementById("tab" + categories_id + "_ajax_content");
		var oldContent = document.getElementById('tab' + categories_id + "_content_container");
		if (oldContent) mainContainer.removeChild(oldContent);
		var tab_content_container = document.createElement("DIV");
		tab_content_container.id = 'tab' + categories_id + "_content_container";	
		products_no_results = document.createElement("DIV");
		products_no_results.id = 'products_no_results_0';
		products_no_results.appendChild(document.createTextNode("No Featured Products at this time"));
		tab_content_container.appendChild(products_no_results);
		mainContainer.appendChild(tab_content_container);
}

}
//###################################################################
//UPDATE SESSION BASED CART
//###################################################################
function js_updateSessionCart(products_id,vendors_id) {

var products_quantity = document.getElementById('products_quantity_' + products_id);

if (products_quantity) {
	quantity = products_quantity.value;
} else {
	quantity = 1;
}
	
filename = "index.php?group=shop&class=ajax&task=update_cart&products_id=" + products_id + "&vendors_id=" + vendors_id + "&products_quantity=" + quantity;

ajaxCallbackcart = js_getCart;

ajaxRequestCart(filename);

js_getCart();

}
//###################################################################
//GET CURRENT CART DATA
//###################################################################
function js_getCart() {

filename = "index.php?group=shop&class=ajax&task=get_cart";

ajaxCallbackcart = js_Cart;

ajaxRequestCart(filename);

}
//###################################################################
//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();
}

}
//###################################################################
//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<vendors.length;i++) {

     var vendor = vendors.item(i);
     var vendors_name = vendor.getElementsByTagName("vendors_name");
     var vendor_zone_served = vendor.getElementsByTagName("zone_served");

     //CREATE MASTER VENDOR TABLE
     var cart_vendor_table = document.createElement("TABLE");
     cart_vendor_table.setAttribute("BORDER","0");
     cart_vendor_table.setAttribute("class","shoppage_cart");
     cart_vendor_table.setAttribute("className","shoppage_cart");
     var cart_vendor_table_body = document.createElement("TBODY");

     var cart_vendor_table_row = document.createElement("TR");

     //ROW 1 COLUMN 1
     var cart_vendor_table_column_1 = document.createElement("TD");
     cart_vendor_table_column_1.setAttribute("class","cart_vendor_name");
     cart_vendor_table_column_1.setAttribute("className","cart_vendor_name");

     //ROW 1 COLUMN 2
     var cart_vendor_table_column_2 = document.createElement("TD");

     var vendor = vendors.item(i);
     var vendors_name = vendor.getElementsByTagName("vendors_name");

     if (vendor_zone_served[0].childNodes[0].nodeValue == 1) {

             var vendor_name_text = document.createTextNode(vendors_name[0].childNodes[0].nodeValue);
             cart_vendor_table_column_1.setAttribute("class","cart_vendor_name");
             cart_vendor_table_column_1.setAttribute("className","cart_vendor_name");
             cart_vendor_table_column_1.appendChild(vendor_name_text);

     } else {

            cart_vendor_table_column_1.innerHTML = "<A HREF=index.php?group=shop&class=mall&task=checkout&subtask=confirm_cart>" + vendors_name[0].childNodes[0].nodeValue + " **</A>";
            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<products.length;y++) { 

         var product = products.item(y);
         var product_name = product.getElementsByTagName("products_name");
         var product_price = product.getElementsByTagName("price");
         var product_quantity = product.getElementsByTagName("products_quantity");

         var cart_product_table_row = document.createElement("TR");

         //ROW 2 COLUMN 1
         var cart_product_table_column_1 = document.createElement("TD");
         product_name_text = document.createTextNode(product_name[0].childNodes[0].nodeValue + " x " + product_quantity[0].childNodes[0].nodeValue);
         cart_product_table_column_1.appendChild(product_name_text);
         cart_product_table_column_1.setAttribute("class","cart_product_name");
         cart_product_table_column_1.setAttribute("className","cart_product_name");

         //ROW 2 COLUMN 2
         var cart_product_table_column_2 = document.createElement("TD");
         var product_price_sum = product_price[0].childNodes[0].nodeValue * product_quantity[0].childNodes[0].nodeValue;
         total_cart_price = total_cart_price + product_price_sum; 
         product_price_text = document.createTextNode('\u20AC' + product_price_sum.toFixed(2));
         cart_product_table_column_2.appendChild(product_price_text);
         cart_product_table_column_2.setAttribute("class","cart_product_price");
         cart_product_table_column_2.setAttribute("className","cart_product_price");
         
         cart_product_table_row.appendChild(cart_product_table_column_1);
         cart_product_table_row.appendChild(cart_product_table_column_2);

         cart_vendor_table_body.appendChild(cart_product_table_row);

       }

     }

     var vendor_discount_amount = vendor.getElementsByTagName("discount_amount");
     var vendor_discount_description = vendor.getElementsByTagName("discount_description");

     if (vendor_discount_amount.length > 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");
 cart_total_table.setAttribute("class","shoppage_cart");
 cart_total_table.setAttribute("className","shoppage_cart");

 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));

 } 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);

}
//###################################################################
//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.length;i++) {

     var checkout_vendor = checkout_vendors.item(i);
     var checkout_vendors_name = checkout_vendor.getElementsByTagName("vendors_name");
     var checkout_vendor_id = checkout_vendor.getElementsByTagName("vendors_id");
     var checkout_vendor_zone_served = checkout_vendor.getElementsByTagName("zone_served");
     var checkout_vendor_order_total = checkout_vendor.getElementsByTagName("order_total");
     var checkout_vendor_minimum_order = checkout_vendor.getElementsByTagName("minimum_order");

     //CREATE MASTER VENDOR TABLE
     var checkout_cart_vendor_table = document.createElement("TABLE");
     checkout_cart_vendor_table.setAttribute("BORDER", "0");
     checkout_cart_vendor_table.setAttribute("class", "cart_internal_table");
     checkout_cart_vendor_table.setAttribute("className", "cart_internal_table");
     var checkout_cart_vendor_table_body = document.createElement("TBODY");

     var checkout_cart_vendor_table_row = document.createElement("TR");

     //ROW 1 COLUMN 1
     var checkout_cart_vendor_table_column_1 = document.createElement("TD");
     checkout_cart_vendor_table_column_1.colSpan = 4;
	 
     var checkout_vendor = checkout_vendors.item(i);
     var checkout_vendors_name = checkout_vendor.getElementsByTagName("vendors_name");
     var checkout_vendors_id = checkout_vendor.getElementsByTagName("vendors_id");
	
	  if (checkout_vendor_zone_served[0].childNodes[0].nodeValue == 1) {
     
             checkout_cart_vendor_table_column_1.innerHTML = "<A HREF=index.php?group=shop&class=unit&task=unit_home&vendors_id=" + checkout_vendors_id[0].childNodes[0].nodeValue + ">" + checkout_vendors_name[0].childNodes[0].nodeValue + "</A> ";
    	     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 += "<SPAN CLASS=minimum_order_warning>(Min. Order \u20AC" +  checkout_vendor_minimum_order[0].childNodes[0].nodeValue + ")</SPAN>";

             }
 		
	  } else {
		
	    checkout_cart_vendor_table_column_1.innerHTML = checkout_vendors_name[0].childNodes[0].nodeValue + " (<A HREF='javascript:js_deleteFromCart(" +          checkout_vendors_id[0].childNodes[0].nodeValue + ",0);js_confirmCart();'>Delivery not available to you</A>)";
            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_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_products.length;y++) {

         var checkout_product = checkout_products.item(y);
         var checkout_product_id = checkout_product.getElementsByTagName("products_id");
         var checkout_product_name = checkout_product.getElementsByTagName("products_name");
         var checkout_product_price = checkout_product.getElementsByTagName("price");
         var checkout_product_quantity = checkout_product.getElementsByTagName("products_quantity");

         var checkout_cart_product_table_row = document.createElement("TR");

         //ROW 2 COLUMN 1

         var checkout_cart_product_table_column_1 = document.createElement("TD");
         checkout_cart_product_table_column_1.innerHTML = "<A HREF=index.php?group=shop&class=unit&task=product_home&products_id=" + checkout_product_id[0].childNodes[0].nodeValue + ">" + checkout_product_name[0].childNodes[0].nodeValue + "</A>";
         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");
	 var products_quantity_select = document.createElement("SELECT");
	 products_quantity_select.id = "products_quantity_" + checkout_product_id[0].childNodes[0].nodeValue;
	
	 for (w=1;w<11;w++) {
		var products_quantity_option = document.createElement("OPTION");
		products_quantity_option.value = w;
		products_quantity_option.text = w;

                if (navigator.appName == 'Microsoft Internet Explorer') {
			products_quantity_select.add(products_quantity_option);
		} else {
			products_quantity_select.add(products_quantity_option,null);
		}
		if (w == checkout_product_quantity[0].childNodes[0].nodeValue) {
			products_quantity_option.selected = true;
		}

	 }

	 products_quantity_select.cpid = checkout_product_id[0].childNodes[0].nodeValue;
	 products_quantity_select.cvid = checkout_vendor_id[0].childNodes[0].nodeValue;

	 products_quantity_select.onchange = function() {
		js_updateSessionCart(this.cpid,this.cvid);
	 }

	 checkout_cart_product_table_column_2.appendChild(products_quantity_select);

         //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 = "<A HREF='javascript:js_deleteFromCart(" + checkout_vendor_id[0].childNodes[0].nodeValue + "," + checkout_product_id[0].childNodes[0].nodeValue + ");js_confirmCart();'>Delete</A>";

         //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");

	 //BUILD
         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_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 = 3;

            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_delivery_methods.length;m++) {

                    var checkout_delivery_method = checkout_delivery_methods.item(m);
                    var checkout_delivery_method_id = checkout_delivery_method.getElementsByTagName("delivery_method_id");
                    var checkout_delivery_method_name = checkout_delivery_method.getElementsByTagName("delivery_method_name");
                    var checkout_delivery_method_desc = checkout_delivery_method.getElementsByTagName("delivery_method_description");
                    var delivery_select_option = document.createElement("OPTION");
                    delivery_select_option.id = delivery_select.id + "_option_" + m;

                    delivery_select_option.value = checkout_delivery_method_id[0].childNodes[0].nodeValue;
                    delivery_select_option.text = checkout_delivery_method_name[0].childNodes[0].nodeValue;

                    if (navigator.appName == 'Microsoft Internet Explorer') {
			delivery_select.add(delivery_select_option);
                    } else { 
			delivery_select.add(delivery_select_option,null);
		    }

                    if (checkout_delivery_method_id[0].childNodes[0].nodeValue == checkout_vendor_selected_delivery_method[0].childNodes[0].nodeValue) {

                       delivery_select_option.selected = true;

                    }

            }

            var checkout_delivery_method_details_span = document.createElement("SPAN");
            checkout_delivery_method_details_span.setAttribute("class","delivery_detail");
            checkout_delivery_method_details_span.setAttribute("className","delivery_detail");

            checkout_delivery_method_details_span.innerHTML = " <A HREF=index.php?group=shop&class=unit&task=unit_home&vendors_id=" + checkout_vendor_id[0].childNodes[0].nodeValue + "#delivery_policy>?</A>";

            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.id = 'cart_total_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_row1 = document.createElement("TR");
 var checkout_cart_total_table_row2 = document.createElement("TR");
 var checkout_cart_total_table_row3 = 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 OR PAY BUTTON

 var checkout_cart_total_table_column_1r2 = document.createElement("TD");
 checkout_cart_total_table_column_1r2.setAttribute("class","cart_total_text");
 checkout_cart_total_table_column_1r2.setAttribute("className","cart_total_text");
 var checkout_cart_total_table_column_2r2 = document.createElement("TD");
 checkout_cart_total_table_column_2r2.setAttribute("class","cart_total_price");
 checkout_cart_total_table_column_2r2.setAttribute("className","cart_total_price");

 var checkout_cart_total_table_column_1r3 = document.createElement("TD");
 checkout_cart_total_table_column_1r3.setAttribute("class","cart_total_text");
 checkout_cart_total_table_column_1r3.setAttribute("className","cart_total_text");
 var checkout_cart_total_table_column_2r3 = document.createElement("TD");
 checkout_cart_total_table_column_2r3.setAttribute("class","cart_total_price");
 checkout_cart_total_table_column_2r3.setAttribute("className","cart_total_price");

 var button = document.createElement("DIV");

 if (checkout_delivery_methods.length > 0 ) {

	 button.innerHTML = '<A HREF=index.php?group=shop&class=mall&task=checkout&subtask=pay>Pay</A>';

 } else {

	 button.innerHTML = '<A HREF=index.php?group=shop&class=mall&task=checkout&subtask=shipping>Checkout</A>';

 }

 button.setAttribute("class","shoppage_button");
 button.setAttribute("className","shoppage_button");
 checkout_cart_total_table_column_2r3.appendChild(button);

 checkout_cart_total_table_row1.appendChild(checkout_cart_total_table_column_1);
 checkout_cart_total_table_row1.appendChild(checkout_cart_total_table_column_2);
 checkout_cart_total_table_row2.appendChild(checkout_cart_total_table_column_1r2);
 checkout_cart_total_table_row2.appendChild(checkout_cart_total_table_column_2r2);
 checkout_cart_total_table_row3.appendChild(checkout_cart_total_table_column_1r3);
 checkout_cart_total_table_row3.appendChild(checkout_cart_total_table_column_2r3);

 checkout_cart_total_table_body.appendChild(checkout_cart_total_table_row1);
 checkout_cart_total_table_body.appendChild(checkout_cart_total_table_row2);
 checkout_cart_total_table_body.appendChild(checkout_cart_total_table_row3);

 checkout_cart_total_table.appendChild(checkout_cart_total_table_body);

 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.length;i++) {

     var pay_vendor = pay_vendors.item(i);
     var pay_vendors_name = pay_vendor.getElementsByTagName("vendors_name");
     var pay_vendor_id = pay_vendor.getElementsByTagName("vendors_id");
     var pay_vendor_zone_served = pay_vendor.getElementsByTagName("zone_served");
     var pay_vendor_order_total = pay_vendor.getElementsByTagName("order_total");
     var pay_vendor_minimum_order = pay_vendor.getElementsByTagName("minimum_order");


     //CREATE MASTER VENDOR TABLE
     var pay_cart_vendor_table = document.createElement("TABLE");
     pay_cart_vendor_table.setAttribute("BORDER", "0");
     pay_cart_vendor_table.setAttribute("class", "cart_internal_table");
     pay_cart_vendor_table.setAttribute("className", "cart_internal_table");
     var pay_cart_vendor_table_body = document.createElement("TBODY");

     var pay_cart_vendor_table_row = document.createElement("TR");

     //ROW 1 COLUMN 1
     var pay_cart_vendor_table_column_1 = document.createElement("TD");
     pay_cart_vendor_table_column_1.colSpan = 4;

     var pay_vendor = pay_vendors.item(i);
     var pay_vendors_name = pay_vendor.getElementsByTagName("vendors_name");
     var pay_vendors_id = pay_vendor.getElementsByTagName("vendors_id");
	

     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)) {

                pay_cart_vendor_table_column_1.innerHTML = "<A HREF=index.php?group=shop&class=unit&task=unit_home&vendors_id=" + pay_vendors_id[0].childNodes[0].nodeValue + ">" + pay_vendors_name[0].childNodes[0].nodeValue + "</A>";
                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_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_products.length;y++) {

         var pay_product = pay_products.item(y);
         var pay_product_id = pay_product.getElementsByTagName("products_id");
         var pay_product_name = pay_product.getElementsByTagName("products_name");
         var pay_product_price = pay_product.getElementsByTagName("price");
         var pay_product_quantity = pay_product.getElementsByTagName("products_quantity");

         var pay_cart_product_table_row = document.createElement("TR");

         //ROW 2 COLUMN 1
         var pay_cart_product_table_column_1 = document.createElement("TD");
         pay_cart_product_table_column_1.innerHTML = "<A HREF=index.php?group=shop&class=unit&task=product_home&products_id=" + pay_product_id[0].childNodes[0].nodeValue + ">" + pay_product_name[0].childNodes[0].nodeValue + "</A>";
         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 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 = "&nbsp;";

         //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_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 = 3;

            for (m=0;m<pay_delivery_methods.length;m++) {

                    var pay_delivery_method = pay_delivery_methods.item(m);
                    var pay_delivery_method_id = pay_delivery_method.getElementsByTagName("delivery_method_id");
                    var pay_delivery_method_name = pay_delivery_method.getElementsByTagName("delivery_method_name");
                    var pay_delivery_method_desc = pay_delivery_method.getElementsByTagName("delivery_method_description");

                    if (pay_delivery_method_id[0].childNodes[0].nodeValue == pay_vendor_selected_delivery_method[0].childNodes[0].nodeValue) {

                       var pay_selected_delivery_method_text =  document.createTextNode(pay_delivery_method_name[0].childNodes[0].nodeValue);

                    }

            }

	    pay_cart_vendor_table_column_1_delivery.appendChild(pay_selected_delivery_method_text);
            pay_cart_vendor_table_column_1_delivery.setAttribute("class","delivery_name");
            pay_cart_vendor_table_column_1_delivery.setAttribute("className","delivery_name");

            pay_cart_vendor_table_row_delivery.appendChild(pay_cart_vendor_table_column_1_delivery);

            var pay_cart_vendor_table_column_2_delivery = document.createElement("TD");

            if (pay_vendor_total_delivery_price[0].childNodes[0].nodeValue > 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.id = 'cart_total_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);

 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);

}
//###################################################################
//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;i<vendors_name.length;i++) {

       //CREATE MASTER TABLE
       var vendor_table_1 = document.createElement("TABLE");
       var vendor_table_1_body = document.createElement("TBODY");

       var vendor_table_1_row = document.createElement("TR");

       //COLUMN 1 WITH DATA
       var vendor_table_1_column_1 = document.createElement("TD");

       //COLUMN SPACER
       var vendor_table_1_column_spacer = document.createElement("TD");

       //COLUMN 2 WITH IMAGE
       var vendor_table_1_column_2 = document.createElement("TD");
       var vendor_table_1_column_2_image = document.createElement("IMG");
       vendor_table_1_column_2_image.id = 'vendor_image_' + vendors_name[i].childNodes[0].nodeValue;
       vendor_table_1_column_2_image.setAttribute('src','images/shops/' + vendors_images_filename[i].childNodes[0].nodeValue);
       vendor_table_1_column_2.appendChild(vendor_table_1_column_2_image);

       //TOP TABLE COLUMN 1 NAME, PRICE AND LINK
       var vendor_table_2 = document.createElement("TABLE");
       var vendor_table_2_body = document.createElement("TBODY");
       var vendor_table_2_row_1 = document.createElement("TR");

       var vendor_table_2_column_1 = document.createElement("TD");
       var vendor_name = document.createTextNode(vendors_name[i].childNodes[0].nodeValue);
       vendor_table_2_column_1.appendChild(vendor_name);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_1);

       var vendor_table_2_column_2 = document.createElement("TD");
       //var vendor_price = document.createTextNode('\u20AC' + vendors_price[i].childNodes[0].nodeValue);
       //vendor_table_2_column_2.appendChild(vendor_price);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_2);

       var vendor_table_2_column_3 = document.createElement("TD");
       var vendor_table_2_column_3_link = document.createElement("A");
       vendor_table_2_column_3_link.setAttribute('href','index.php?group=shop&class=unit&task=unit_home&vendors_id=' + vendors_id[i].childNodes[0].nodeValue);
       var vendor_go = document.createTextNode("Go");
       vendor_table_2_column_3_link.appendChild(vendor_go);
       vendor_table_2_column_3.appendChild(vendor_table_2_column_3_link);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_3);

       vendor_table_2_body.appendChild(vendor_table_2_row_1);
       vendor_table_2.appendChild(vendor_table_2_body);

       //BOTTOM TABLE COLUMN 1 OTHER DATA
       var vendor_table_3 = document.createElement("TABLE");
       var vendor_table_3_body = document.createElement("TBODY");

       var vendor_table_3_row_1 = document.createElement("TR");
       var vendor_table_3_column_1 = document.createElement("TD");
       var vendor_desc = document.createTextNode(vendors_description[i].childNodes[0].nodeValue);
       vendor_table_3_column_1.appendChild(vendor_desc);
       vendor_table_3_row_1.appendChild(vendor_table_3_column_1);

       var vendor_table_3_row_2 = document.createElement("TR");
       var vendor_table_3_column_2 = document.createElement("TD");
       //var vendor_vendor = document.createTextNode(vendors_vendors_name[i].childNodes[0].nodeValue);
       //vendor_table_3_column_2.appendChild(vendor_vendor);
       vendor_table_3_row_2.appendChild(vendor_table_3_column_2);

       var vendor_table_3_row_3 = document.createElement("TR");
       var vendor_table_3_column_3 = document.createElement("TD");
       var vendor_zones = document.createTextNode('Deliveries to: ' + vendors_zones[i].childNodes[0].nodeValue);
       vendor_table_3_column_3.appendChild(vendor_zones);
       vendor_table_3_row_3.appendChild(vendor_table_3_column_3);

       vendor_table_3_body.appendChild(vendor_table_3_row_1);
       vendor_table_3_body.appendChild(vendor_table_3_row_2);
       vendor_table_3_body.appendChild(vendor_table_3_row_3);

       vendor_table_3.appendChild(vendor_table_3_body);

       //BUILD TABLES
       vendor_table_1_column_1.appendChild(vendor_table_2);
       vendor_table_1_column_1.appendChild(vendor_table_3);
       vendor_table_1_row.appendChild(vendor_table_1_column_1);
       vendor_table_1_row.appendChild(vendor_table_1_column_spacer);
       vendor_table_1_row.appendChild(vendor_table_1_column_2);

       vendor_table_1_body.appendChild(vendor_table_1_row);

       vendor_table_1.appendChild(vendor_table_1_body);

       //ADD MASTER TABLE
       list.appendChild(vendor_table_1);

       //SET ATTRIBUTES
       vendor_table_1.setAttribute("class", "results_list");
       vendor_table_1.setAttribute("className", "results_list");

       vendor_table_1_column_1.setAttribute("class", "results_list_column_1");
       vendor_table_1_column_1.setAttribute("className", "results_list_column_1");

       vendor_table_1_column_spacer.setAttribute("class", "results_list_column_spacer");
       vendor_table_1_column_spacer.setAttribute("className", "results_list_column_spacer");

       vendor_table_1_column_2.setAttribute("class", "results_list_column_2");
       vendor_table_1_column_2.setAttribute("className", "results_list_column_2");

       vendor_table_2.setAttribute("class", "results_list_left_column_t1");
       vendor_table_2.setAttribute("className", "results_list_left_column_t1");

       vendor_table_2_column_1.setAttribute("class", "results_list_vendor_name");
       vendor_table_2_column_1.setAttribute("className", "results_list_vendor_name");
       vendor_table_2_column_2.setAttribute("class", "results_list_vendor_price");
       vendor_table_2_column_2.setAttribute("className", "results_list_vendor_price");
       vendor_table_2_column_3.setAttribute("class", "results_list_vendor_link");
       vendor_table_2_column_3.setAttribute("className", "results_list_vendor_link");

       vendor_table_3.setAttribute("class", "results_list_left_column_t2");
       vendor_table_3.setAttribute("className", "results_list_left_column_t2");

       vendor_table_3_column_1.setAttribute("class", "results_list_vendor_desc");
       vendor_table_3_column_1.setAttribute("className", "results_list_vendor_desc");
       vendor_table_3_column_2.setAttribute("class", "results_list_vendor_vendor");
       vendor_table_3_column_2.setAttribute("className", "results_list_vendor_vendor");
       vendor_table_3_column_3.setAttribute("class", "results_list_vendor_zones");
       vendor_table_3_column_3.setAttribute("className", "results_list_vendor_zones");
   }

   if (vendors_id.length==0) {
       vendors_no_results = document.createElement("DIV");
       vendors_no_results.id = 'vendors_no_results_0';
       vendors_no_results.setAttribute('id','results_list_no_results');
       vendors_no_results.appendChild(document.createTextNode("No shops under this category"));
       list.appendChild(vendors_no_results);
   }     

}
//###################################################################
//GET OFFERS BY CATEGORY
//###################################################################

function js_getOffers(category) {

   if (!category) {

      var ind1 = document.getElementById('vendors_categories_id').selectedIndex;
      category_id = document.getElementById('vendors_categories_id').options[ind1].value;

   } else {

      category_id = category;

   }

   filename = "index.php?group=shop&class=ajax&task=get_offers_by_category_id&categories_id=" + category_id;

   ajaxCallback = js_displayOffers;

   ajaxRequest(filename);

}

//###################################################################
//DISPLAY OFFER RESULTS
//###################################################################

function js_displayOffers() {

   var main = document.getElementById("offers_results");
   var product_list = document.getElementById("product_results_list");
   var vendor_list = document.getElementById("vendor_results_list");
   main.removeChild(product_list);
   main.removeChild(vendor_list);
   var product_list = document.createElement("DIV");
   var vendor_list = document.createElement("DIV");
   product_list.id = "product_results_list";
   vendor_list.id = "vendor_results_list";
   main.appendChild(product_list);
   main.appendChild(vendor_list);

   product_offers = ajaxreq.responseXML.getElementsByTagName("product_offers");
   vendor_offers= ajaxreq.responseXML.getElementsByTagName("vendor_offers");
   products_id = ajaxreq.responseXML.getElementsByTagName("products_id");
   products_images_filename = ajaxreq.responseXML.getElementsByTagName("products_images_filename");
   products_name = ajaxreq.responseXML.getElementsByTagName("products_name");
   products_price = ajaxreq.responseXML.getElementsByTagName("products_price");
   products_vendors_name = ajaxreq.responseXML.getElementsByTagName("products_vendors_name");
   products_description = ajaxreq.responseXML.getElementsByTagName("products_description");
   products_disc = ajaxreq.responseXML.getElementsByTagName("products_disc_description");
   products_type = ajaxreq.responseXML.getElementsByTagName("products_type");
   vendors_id = ajaxreq.responseXML.getElementsByTagName("vendors_id");
   vendors_images_filename = ajaxreq.responseXML.getElementsByTagName("vendors_images_filename");
   vendors_name = ajaxreq.responseXML.getElementsByTagName("vendors_name");
   vendors_description = ajaxreq.responseXML.getElementsByTagName("vendors_description");
   vendors_disc = ajaxreq.responseXML.getElementsByTagName("orders_disc_description");

   products_heading_div = document.createElement("DIV");
   products_heading_text = document.createTextNode('Product Offers:');
   products_heading_div.appendChild(products_heading_text);
   products_heading_div.id = "results_list_heading";
   products_heading_div.setAttribute('id','results_list_heading');
   product_list.appendChild(products_heading_div);

   for (i=0;i<products_name.length;i++) {

       //CREATE MASTER TABLE
       var product_table_1 = document.createElement("TABLE");
       var product_table_1_body = document.createElement("TBODY");

       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_product = document.createTextNode(products_products_name[i].childNodes[0].nodeValue);
       //product_table_3_column_2.appendChild(product_product);
       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
       product_list.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_product");
       product_table_3_column_2.setAttribute("className", "results_list_product_product");
       product_table_3_column_3.setAttribute("class", "results_list_product_disc");
       product_table_3_column_3.setAttribute("className", "results_list_product_disc");
   }

   if (products_id.length==0) {
       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 found"));
       product_list.appendChild(products_no_results);
   }

   vendors_heading_div = document.createElement("DIV");
   vendors_heading_text = document.createTextNode('Shop Offers:');
   vendors_heading_div.appendChild(vendors_heading_text);
   vendors_heading_div.id = "results_list_heading";
   vendors_heading_div.setAttribute('id','results_list_heading');
   vendor_list.appendChild(vendors_heading_div);

   for (i=0;i<vendors_name.length;i++) {

       //CREATE MASTER TABLE
       var vendor_table_1 = document.createElement("TABLE");
       var vendor_table_1_body = document.createElement("TBODY");

       var vendor_table_1_row = document.createElement("TR");

       //COLUMN 1 WITH DATA
       var vendor_table_1_column_1 = document.createElement("TD");

       //COLUMN SPACER
       var vendor_table_1_column_spacer = document.createElement("TD");

       //COLUMN 2 WITH IMAGE
       var vendor_table_1_column_2 = document.createElement("TD");
       var vendor_table_1_column_2_image = document.createElement("IMG");
       vendor_table_1_column_2_image.id = 'vendor_image_' + vendors_name[i].childNodes[0].nodeValue;
       vendor_table_1_column_2_image.setAttribute('src','images/shops/' + vendors_images_filename[i].childNodes[0].nodeValue);
       vendor_table_1_column_2.appendChild(vendor_table_1_column_2_image);

       //TOP TABLE COLUMN 1 NAME, PRICE AND LINK
       var vendor_table_2 = document.createElement("TABLE");
       var vendor_table_2_body = document.createElement("TBODY");
       var vendor_table_2_row_1 = document.createElement("TR");

       var vendor_table_2_column_1 = document.createElement("TD");
       var vendor_name = document.createTextNode(vendors_name[i].childNodes[0].nodeValue);
       vendor_table_2_column_1.appendChild(vendor_name);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_1);

       var vendor_table_2_column_2 = document.createElement("TD");
       //var vendor_price = document.createTextNode('\u20AC' + vendors_price[i].childNodes[0].nodeValue);
       //vendor_table_2_column_2.appendChild(vendor_price);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_2);

       var vendor_table_2_column_3 = document.createElement("TD");
       var vendor_table_2_column_3_link = document.createElement("A");
       vendor_table_2_column_3_link.setAttribute('href','index.php?group=shop&class=unit&task=unit_home&vendors_id=' + vendors_id[i].childNodes[0].nodeValue);
       var vendor_go = document.createTextNode("Go");
       vendor_table_2_column_3_link.appendChild(vendor_go);
       vendor_table_2_column_3.appendChild(vendor_table_2_column_3_link);
       vendor_table_2_row_1.appendChild(vendor_table_2_column_3);

       vendor_table_2_body.appendChild(vendor_table_2_row_1);
       vendor_table_2.appendChild(vendor_table_2_body);

       //BOTTOM TABLE COLUMN 1 OTHER DATA
       var vendor_table_3 = document.createElement("TABLE");
       var vendor_table_3_body = document.createElement("TBODY");

       var vendor_table_3_row_1 = document.createElement("TR");
       var vendor_table_3_column_1 = document.createElement("TD");
       var vendor_desc = document.createTextNode(vendors_description[i].childNodes[0].nodeValue);
       vendor_table_3_column_1.appendChild(vendor_desc);
       vendor_table_3_row_1.appendChild(vendor_table_3_column_1);

       var vendor_table_3_row_2 = document.createElement("TR");
       var vendor_table_3_column_2 = document.createElement("TD");
       //var vendor_vendor = document.createTextNode(vendors_vendors_name[i].childNodes[0].nodeValue);
       //vendor_table_3_column_2.appendChild(vendor_vendor);
       vendor_table_3_row_2.appendChild(vendor_table_3_column_2);

       var vendor_table_3_row_3 = document.createElement("TR");
       var vendor_table_3_column_3 = document.createElement("TD");
       if (vendors_disc[i].childNodes.length != 0) {
          var vendor_disc = document.createTextNode(vendors_disc[i].childNodes[0].nodeValue);
       vendor_table_3_column_3.appendChild(vendor_disc);
       }
       vendor_table_3_row_3.appendChild(vendor_table_3_column_3);

       vendor_table_3_body.appendChild(vendor_table_3_row_1);
       vendor_table_3_body.appendChild(vendor_table_3_row_2);
       vendor_table_3_body.appendChild(vendor_table_3_row_3);

       vendor_table_3.appendChild(vendor_table_3_body);

       //BUILD TABLES
       vendor_table_1_column_1.appendChild(vendor_table_2);
       vendor_table_1_column_1.appendChild(vendor_table_3);
       vendor_table_1_row.appendChild(vendor_table_1_column_1);
       vendor_table_1_row.appendChild(vendor_table_1_column_spacer);
       vendor_table_1_row.appendChild(vendor_table_1_column_2);

       vendor_table_1_body.appendChild(vendor_table_1_row);

       vendor_table_1.appendChild(vendor_table_1_body);

       //ADD MASTER TABLE
       vendor_list.appendChild(vendor_table_1);

       //SET ATTRIBUTES
       vendor_table_1.setAttribute("class", "results_list");
       vendor_table_1.setAttribute("className", "results_list");

       vendor_table_1_column_1.setAttribute("class", "results_list_column_1");
       vendor_table_1_column_1.setAttribute("className", "results_list_column_1");

       vendor_table_1_column_spacer.setAttribute("class", "results_list_column_spacer");
       vendor_table_1_column_spacer.setAttribute("className", "results_list_column_spacer");

       vendor_table_1_column_2.setAttribute("class", "results_list_column_2");
       vendor_table_1_column_2.setAttribute("className", "results_list_column_2");

       vendor_table_2.setAttribute("class", "results_list_left_column_t1");
       vendor_table_2.setAttribute("className", "results_list_left_column_t1");

       vendor_table_2_column_1.setAttribute("class", "results_list_vendor_name");
       vendor_table_2_column_1.setAttribute("className", "results_list_vendor_name");
       vendor_table_2_column_2.setAttribute("class", "results_list_vendor_price");
       vendor_table_2_column_2.setAttribute("className", "results_list_vendor_price");
       vendor_table_2_column_3.setAttribute("class", "results_list_vendor_link");
       vendor_table_2_column_3.setAttribute("className", "results_list_vendor_link");

       vendor_table_3.setAttribute("class", "results_list_left_column_t2");
       vendor_table_3.setAttribute("className", "results_list_left_column_t2");

       vendor_table_3_column_1.setAttribute("class", "results_list_vendor_desc");
       vendor_table_3_column_1.setAttribute("className", "results_list_vendor_desc");
       vendor_table_3_column_2.setAttribute("class", "results_list_vendor_vendor");
       vendor_table_3_column_2.setAttribute("className", "results_list_vendor_vendor");
       vendor_table_3_column_3.setAttribute("class", "results_list_vendor_disc");
       vendor_table_3_column_3.setAttribute("className", "results_list_vendor_disc");
   }

   if (vendors_id.length==0) {
       vendors_no_results = document.createElement("DIV");
       vendors_no_results.id = 'vendors_no_results_0';
       vendors_no_results.setAttribute('id','results_list_no_results');
       vendors_no_results.appendChild(document.createTextNode("No shops found"));
       vendor_list.appendChild(vendors_no_results);
   }

}
//###################################################################
//ADD EXTRA INFO IN CART
//###################################################################
function js_addExtraInfo() {

var i = document.getElementById("extra_info_text");

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;
	
   ajaxCallback = js_updateExtraInfo;

   ajaxRequest(filename);

}

}
//###################################################################
//SIGNAL THAT EXTRA INFO IS UPDATED
//###################################################################
function js_updateExtraInfo() {

var status = ajaxreq.responseXML.getElementsByTagName("update_status")[0].childNodes[0].nodeValue;

if (status < 1) {

	var button = document.getElementById('extra_info_button');
	button.innerHTML = 'Updated!'
	setTimeout("js_revertExtraInfo();", 1500);

}

}
//###################################################################
//Revert Button
//###################################################################
function js_revertExtraInfo() {

	var button = document.getElementById('extra_info_button');
	button.innerHTML = 'Add'

}
//###################################################################
//LUHN AND OTHER TESTS FOR CC NUMBERS
//###################################################################
function js_ccValidate(form) {

var number = document.getElementById("credit_card_number").value;
var name = document.getElementById("credit_card_name").value;
var cvn = document.getElementById("credit_card_cvn_code").value;
var selectedTypeIndex = document.getElementById("credit_card_type").selectedIndex;
var selectedType = document.getElementById("credit_card_type").options[selectedTypeIndex].value;

var i, sum, weight;
sum=0;

for (i = 0; i < number.length - 1; i++) {

        weight = number.substr(number.length - (i + 2), 1) * (2 - (i % 2));
        sum += ((weight < 10) ? weight : (weight - 9));

}

if (parseInt(number.substr(number.length-1)) != ((10 - sum % 10) % 10)) {

        window.alert("That is not a valid credit card number");
        exit;

}

if (name == '') {

        window.alert("You must enter the name on your credit card");
        exit;

}

if (selectedType != 'laser' && cvn == '') {

        window.alert("You must enter your CVN code. This can be found on the back of your credit card.");
        exit;

}

if (selectedType != 'laser' && cvn.length != 3) {

        window.alert("Your CVN code must be 3 digits.");
        exit;

}

if (selectedType == 'switch') {

   var issue = document.getElementById("credit_card_issue_no").value;

   if (issue == '') {

        window.alert("If you are using Switch, you must enter your card issue number");
        exit;
   }

   if (issue.length > 2 ) {

        window.alert("Your Switch issue number should only have 2 digits");
        exit;
   }


} //else {

   //var issue = document.getElementById("credit_card_issue_no").value;

   //if (issue != '') {

        //window.alert("If you are not using a Switch card, do not enter an issue number");
        //exit;
   //}

//}

var confirm = window.confirm("We will now submit your credit card details for payment. Authorisation may take up to 20 seconds. Please do not click on the Confirm button a second time. If it is OK for us to proceed, please click OK.");

if (!confirm) return;

	document.getElementById(form).submit();

}
//###################################################################
//VALLIDATE REQUIRED FORM FIELDS
//###################################################################
function js_validateForm(form) {

    var req_type = document.getElementById('required' + form);

    if (req_type) {

	    var reqfields=document.getElementById('required' + form).value.split(',');
	    var matchfields=document.getElementById('match' + form).value.split(',');

    } else { 

	    var reqfields=document.getElementById('required').value.split(',');
	    var matchfields=document.getElementById('match').value.split(',');

    }

    for (var i=0;i<reqfields.length;i++) {

        var field_id = document.getElementById(reqfields[i]);   

        if (field_id) {      

	        if (field_id.style.backgroundColor == "#f8caca") field_id.style.backgroundColor = "white";

	        if (field_id.value == null || field_id.value == '') {
	          
	           field_id.style.backgroundColor = "#f8caca";

	           var form_error = true;

	        }

	        if (field_id.id == 'vendors_description' && field_id.value.length <= 1) {

	        field_id.style.backgroundColor = "#f8caca";

	        var form_error = true;

	        }

        }

     }

    var termsok_checkbox = document.getElementById("termsok");
    var termsok_span = document.getElementById("termsokspan");

    if (termsok_checkbox) {

       termsok_span.style.backgroundColor = "white";

       if (!termsok_checkbox.checked) {

          termsok_span.style.backgroundColor = "f8caca";
          var form_error = true;

       }

    }

    if (!form_error &&  matchfields[0] != 0) {

       for (var i=0;i<matchfields.length;i++) {

           var field_value = document.getElementById(matchfields[i]).value;
           var confirm_field_value = document.getElementById(matchfields[i] + "_confirm").value;
           var field_id = document.getElementById(matchfields[i]);         
           var confirm_field_id = document.getElementById(matchfields[i] + "_confirm");         

           if (field_id.style.backgroundColor = "yellow") field_id.style.backgroundColor = "white";
           if (confirm_field_id.style.backgroundColor = "yellow") confirm_field_id.style.backgroundColor = "white";

           if (!confirm_error) {

              if (field_value != confirm_field_value) {

                 field_id.style.backgroundColor = "yellow";
                 confirm_field_id.style.backgroundColor = "yellow";

                 var confirm_error = true;
        
              }

           }

        }

     }
       

if (confirm_error) {

   window.alert("The highlighted values must match");

} else if (form_error) {

   window.alert("Required information is missing");

} else {

   document.getElementById(form).submit();

}
  
}
//###################################################################
//DISPLAY CUSTOMER STATUS AT LOGIN
//###################################################################
function js_displayCustomerStatus() {


	customer_status = ajaxreqstatus.responseXML.getElementsByTagName("customer_status");
 
        if (customer_status[0].childNodes[0].nodeValue > 0) {

		var login_form = document.getElementById('header_login_form');
		if (login_form) login_form.style.display = 'none';

		var customer_firstname = ajaxreqstatus.responseXML.getElementsByTagName("customer_firstname");

                var status_span = document.getElementById("customer_status_span");

                status_span.innerHTML = "<A HREF=index.php?group=shop&class=mall&task=my_account>My Account</A> | <A HREF=index.php?group=shop&class=mall&task=customer_login&subtask=logout>Logout</A> | Welcome " + customer_firstname[0].childNodes[0].nodeValue + ". You are now logged in.";
		
				
	} else {

		var login_form = document.getElementById('header_login_form');
		if (login_form) login_form.style.display = 'block';

		customer_firstname = ajaxreqstatus.responseXML.getElementsByTagName("customer_firstname");
                var status_span = document.getElementById("customer_status_span");
                status_span.innerHTML = "";
		
	}	
			
}
//###################################################################
//GET CUSTOMER STATUS AT LOGIN
//###################################################################

function js_getCustomerStatus() {
	
	filename = "index.php?group=shop&class=ajax&task=get_customer_status";
	
	ajaxCallbackstatus = js_displayCustomerStatus;
	
	ajaxRequestStatus(filename);
	
}


