/* XML and AJAX calls */
function createMXLObj(xml) {
  // Create an XML Object to parse the XML (two versions one for IE and one for others)
  try {// MSIE uses ActiveX
    xmlDoc=new ActiveXObject('Microsoft.XMLDOM');
    xmlDoc.async='false';
    xmlDoc.loadXML(xml);
  } catch(e) {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(xml,'text/xml');
  };
}
function nullXMLObj() {
  xmlDoc=null;
}

//  Get Search Results function - send a search term and recieve results
function getSearchResults(searchTerm, orderBy, page, itemsPerPage) {
  var iItems=0; var searchTerm=searchTerm; var orderBy=orderBy;
  $('.itemListings').html('<div id="loadingImg"><img src="/main_images/loading.gif></div>\n');
  if (page==null||page=="") { page=1; }
  $.ajax({
    type: 'GET',
    url: '/ajax/search.asp?searchTerm='+searchTerm+'&orderBy='+orderBy+'&page='+page+'&itemsPerPage='+itemsPerPage,
    data: '',
    success: function processAjaxXml(xml) {
      createMXLObj(xml);
      // Assign the data from the XML to javascript arrays
      var itemDetails=xmlDoc.getElementsByTagName('item');
      var sHTML='';
      if (itemDetails.length != 0) {
        for (iItems=0; iItems<itemDetails.length; iItems++) {
          var item=itemDetails[iItems];
          var price=parseFloat(item.getElementsByTagName("price")[0].firstChild.nodeValue).toFixed(2)
		  var inStock=item.getElementsByTagName("instock")[0].firstChild.nodeValue;
          sHTML=sHTML+'              <li class="itemListing">\n';
          sHTML=sHTML+'                <div class="itemImg" id="imgHolder'+item.getElementsByTagName("id")[0].firstChild.nodeValue+'"><a href="/soapproduct/'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'"><img style="position: absolute; top: 1px; left: 1px; display: block;" src="http://www.letsgetsoapy.co.uk/simages/products/cat/'+item.getElementsByTagName("image1")[0].firstChild.nodeValue+'" width="222" height="222" alt="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" title="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" border="0" /><img id="image'+item.getElementsByTagName("id")[0].firstChild.nodeValue+'" style="position: absolute; top: 1px; left: 1px; display: none;" src="http://www.letsgetsoapy.co.uk/simages/products/cat/'+item.getElementsByTagName("image1")[0].firstChild.nodeValue+'" width="222" height="222" alt="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" title="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" border="0" /></a></div>\n';
          sHTML=sHTML+'                <div class="itemName"><a href="/soapproduct/'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'">'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'</a></div>\n';
          sHTML=sHTML+'                <div class="itemDescPriceWrapper">\n';
          sHTML=sHTML+'                  <div class="itemDescription">'+item.getElementsByTagName("description")[0].firstChild.nodeValue.slice(0,75)+'... <a href="/soapproduct/'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'">more</a></div>\n';
          sHTML=sHTML+'                  <div class="itemPrice">&pound;'+price+'<input class="moreProductBtn" type="button" value="More" name="more" id="more" onclick="location.href=\'/soapproduct/'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'\'" />';
          if (inStock=='false') { sHTML=sHTML+'<input class="outOfStockBtn" type="button" value="Out of Stock" />'; }
          else { sHTML=sHTML+'<input class="addProductBtn" type="button" value="Add to basket" name="add" id="add" onclick="getCart(\'add\', '+item.getElementsByTagName("id")[0].firstChild.nodeValue+', 1)" />'; }
          sHTML=sHTML+'</div>\n';
          sHTML=sHTML+'                </div>\n';
          sHTML=sHTML+'              </li>\n';
        }
        $('.itemListings').html(sHTML);
      } else {
        location.replace('http://www.letsgetsoapy.co.uk/searchnoresults.asp?searchTerm='+searchTerm);
	  }
    }
  });
}


// Gets cart and can also modify carts content (leave parameters empty to leave cart unaffected)
function getCart(method, itemID, qty, kitItems) {
  var sHTML='';
  $.ajax({
    type: 'GET',
    url: '/ajax/cartFunctions.asp?method='+method+'&qty='+qty+'&itemID='+itemID+'&kitItems='+kitItems+'&timestamp='+Number(new Date().getTime()),
    data: '',
    success: function processAjaxXml(xml) {
      createMXLObj(xml);
      if (method=='add'||method=='addProduct'||method=='viewsmallcart'||method=='addKit'||method=='addCustomKit'||method=='addRelated') { 
        // Assign the data from the XML to javascript arrays
        var totalItems=0; var totalPrice='0.00'; var sHTML=''; var cartEmpty=false;
        var cartDetails=xmlDoc.getElementsByTagName('item');
        for (var iItems=0; iItems<cartDetails.length; iItems++) {
          var item=cartDetails[0];
          totalPrice=parseFloat(item.getElementsByTagName("price")[0].firstChild.nodeValue).toFixed(2);
          totalItems=parseInt(item.getElementsByTagName("qty")[0].firstChild.nodeValue);
        }
		sHTML='<form action="/cart.asp"><span style="width: 90px; display: inline; margin-left: 10px;">Your Basket</span> &nbsp; &nbsp; <span id="totalItems">'+totalItems+' items</span> <span id="totalPrice">(&pound;'+totalPrice+')</span><span id="placeOrderBtn"><a href="/cart.asp"><input class="placeOrderBtn" type="submit" value="View Basket" name="add" id="add"  /></a></span></form>'
        $('#headerCartContent').html(sHTML);
        if (itemID!=0&&itemID!='0'&&(method=='addProduct')) { addToCartAnimation('animationImg', 'imgMain'); }
        else if (itemID!=0&&itemID!='0'&&method=='addRelated') {addToCartAnimation('relatedImg'+itemID, 'relatedImgHolder'+itemID); }
        else if (itemID!=0&&itemID!='0') { addToCartAnimation('image'+itemID, 'imgHolder'+itemID); }
	  } else if (itemID!=0&&itemID!='0'&&method=='addProductNoCart') {
        addToCartAnimation('animationImg', 'imgMain');
      } else {
        // Assign the data from the XML to javascript arrays
        var sHTML=''; var sHTMLCartItems=''; var totalPrice=0.00; giftWrapped=false;var hasSingleItems=false;
		var cartDetails=xmlDoc.getElementsByTagName('item');
        sHTML=sHTML+'              <table width="100%" cellspacing="0" cellpadding="0" border="0">';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="2" class="largeCartText">&nbsp;Product</td>\n';
        sHTML=sHTML+'                  <td width="70" align="center" class="largeCartText">Qty</td>\n';
        sHTML=sHTML+'                  <td width="80" align="center" class="largeCartText">Price</td>\n';
        sHTML=sHTML+'                  <td width="70" align="center" class="largeCartText">Sub-total</td>\n';
        sHTML=sHTML+'                  <td width="70"></td>\n';
        sHTML=sHTML+'                </tr>\n'; 
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="6" height="6"></td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td width="55" bgcolor="#FFFFFF" style="border-bottom: 1px dashed #999999;">&nbsp;</td>\n';
        sHTML=sHTML+'                  <td width="280" bgcolor="#FFFFFF" style="border-bottom: 1px dashed #999999;">&nbsp;</td>\n';
        sHTML=sHTML+'                  <td bgcolor="#FFFFFF" align="center" colspan="4" style="border-bottom: 1px dashed #999999;">&nbsp;</td>\n';
        sHTML=sHTML+'                </tr>\n';
        // Cart Items
        for (var iItems=0; iItems<cartDetails.length; iItems++) {
          var item=cartDetails[iItems];
          if (item.getElementsByTagName("id")[0].firstChild.nodeValue=='236') { giftWrapped=true; }
          var price=parseFloat(item.getElementsByTagName("price")[0].firstChild.nodeValue);
		  var qty=parseInt(item.getElementsByTagName("qty")[0].firstChild.nodeValue);
		  var subTotal=(qty*price).toFixed(2);
          var kitItems=item.getElementsByTagName("kitItems")[0].firstChild.nodeValue
          if (kitItems!='na'&&kitItems!=null) {
            var style=''
		  } else {
            var style=' style="padding-bottom: 2px; border-bottom: 1px dashed #999999;"'
            hasSingleItems=true;
		  }
          totalPrice=parseFloat(totalPrice)+parseFloat(subTotal);
          if (item.getElementsByTagName("relatedItem")[0].firstChild.nodeValue=="FG") {
            bgColour='#FFFABF'
		  } else {
            bgColour='#FFFFFF'
		  }
          sHTMLCartItems=sHTMLCartItems+'              <tr>\n';
//          if (item.getElementsByTagName("relatedItem")[0].firstChild.nodeValue=="Yes"||item.getElementsByTagName("relatedItem")[0].firstChild.nodeValue=="FG") {
            sHTMLCartItems=sHTMLCartItems+'                <td width="55" bgcolor="'+bgColour+'"'+style+'><img src="http://www.letsgetsoapy.co.uk/simages/products/cat/'+item.getElementsByTagName("img")[0].firstChild.nodeValue+'" width="45" height="45" alt="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" title="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" border="0" /></td>\n';
            sHTMLCartItems=sHTMLCartItems+'                <td width="280" bgcolor="'+bgColour+'"'+style+'>'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'</span></td>\n';
//		  } else {
//            sHTMLCartItems=sHTMLCartItems+'                <td width="55" bgcolor="'+bgColour+'"'+style+'><a href="/soapproduct/'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'"><img src="http://www.letsgetsoapy.co.uk/simages/products/cat/'+item.getElementsByTagName("img")[0].firstChild.nodeValue+'" width="45" height="45" alt="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" title="'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'" border="0" /></a></td>\n';
//            sHTMLCartItems=sHTMLCartItems+'                <td width="280" bgcolor="'+bgColour+'"'+style+'><a href="/soapproduct/'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'">'+item.getElementsByTagName("name")[0].firstChild.nodeValue+'</a></span></td>\n';
//		  }
          sHTMLCartItems=sHTMLCartItems+'                <td bgcolor="'+bgColour+'" align="center"'+style+'><input name="'+item.getElementsByTagName("id")[0].firstChild.nodeValue+'" id="'+item.getElementsByTagName("id")[0].firstChild.nodeValue+'" class="cartQtyBox" type="text" value="'+qty+'" onchange="updateCart(this, '+item.getElementsByTagName("id")[0].firstChild.nodeValue+')" /></td>\n';
          sHTMLCartItems=sHTMLCartItems+'                <td bgcolor="'+bgColour+'" align="center"'+style+'>&pound;'+price.toFixed(2)+'</span></td>\n';
          sHTMLCartItems=sHTMLCartItems+'                <td bgcolor="'+bgColour+'" align="center"'+style+'>&pound;'+subTotal+'</span></td>\n';
          sHTMLCartItems=sHTMLCartItems+'                <td bgcolor="'+bgColour+'"'+style+'><span onclick="removeFromCart('+item.getElementsByTagName("id")[0].firstChild.nodeValue+')"><img src="/main_images/removeHover.gif" id="removeBtn'+iItems+'" name="removeBtn'+iItems+'" class="cursor" border="0" onclick="getCart(\'remove\', '+item.getElementsByTagName("id")[0].firstChild.nodeValue+', \'\')" /></span></td>\n'
          sHTMLCartItems=sHTMLCartItems+'              </tr>\n';
          if (kitItems!='na'&&kitItems!=null) {
            var itemsArr=kitItems.split(',');
            for (iKitItems in itemsArr) {
              sHTMLCartItems=sHTMLCartItems+'              <tr style="border-bottom: 1px dashed #999999;">\n';
              sHTMLCartItems=sHTMLCartItems+'                <td width="55" bgcolor="'+bgColour+'"></td>\n';
              sHTMLCartItems=sHTMLCartItems+'                <td width="280" bgcolor="'+bgColour+'">'+itemsArr[iKitItems]+'</td>\n';
              sHTMLCartItems=sHTMLCartItems+'                <td bgcolor="'+bgColour+'" align="center" colspan="4"></td>\n';
              sHTMLCartItems=sHTMLCartItems+'              </tr>\n';
            }
            sHTMLCartItems=sHTMLCartItems+'              <tr style="border-bottom: 1px dashed #999999;">\n';
            sHTMLCartItems=sHTMLCartItems+'                <td width="55" bgcolor="'+bgColour+'" style="border-bottom: 1px dashed #999999;">&nbsp;</td>\n';
            sHTMLCartItems=sHTMLCartItems+'                <td width="280" bgcolor="'+bgColour+'" style="border-bottom: 1px dashed #999999;">&nbsp;</td>\n';
            sHTMLCartItems=sHTMLCartItems+'                <td bgcolor="'+bgColour+'" align="center" colspan="4" style="border-bottom: 1px dashed #999999;">&nbsp;</td>\n';
            sHTMLCartItems=sHTMLCartItems+'              </tr>\n';
          }
        }
		if (sHTMLCartItems!=''&&sHTMLCartItems!=null) {
          sHTML=sHTML+sHTMLCartItems;
		} else {
          cartEmpty=true;
          sHTMLCartItems=sHTMLCartItems+'              <tr style="border-bottom: 1px dashed #999999;">\n';
          sHTMLCartItems=sHTMLCartItems+'                <td colspan="6" height="18" bgcolor="#FFFF99" style="text-align: center; line-height:18px; border-bottom: 1px dashed #999999;">Your shopping basket is empty</td>\n';
          sHTMLCartItems=sHTMLCartItems+'              </tr>\n';
          sHTML=sHTML+sHTMLCartItems;
		}
        sHTML=sHTML+'               <tr style="border-bottom: 1px dashed #999999;">\n';
        sHTML=sHTML+'                 <td width="55" bgcolor="#FFFFFF" >&nbsp;</td>\n';
        sHTML=sHTML+'                 <td width="280" bgcolor="#FFFFFF">&nbsp;</td>\n';
        sHTML=sHTML+'                 <td bgcolor="#FFFFFF" align="center" colspan="4">&nbsp;</td>\n';
        sHTML=sHTML+'               </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        if (cartEmpty!=true) {
          sHTML=sHTML+'                  <td bgcolor="#FFFFFF" align="right"><img src="/main_images/arrow_refresh.png" alt="Recalculate my cart" title="Recalculate my cart" border="0" class="cursor" /></td>\n';
          sHTML=sHTML+'                  <td bgcolor="#FFFFFF" align="left">Recalculate my cart</td>\n';
		} else { sHTML=sHTML+'                  <td colspan="2" bgcolor="#FFFFFF" align="left"></td>\n'; }
        sHTML=sHTML+'</td>\n';
        sHTML=sHTML+'                  <td colspan="2" bgcolor="#FFFFFF" align="right">Basket Total:&nbsp;</td>\n';
        sHTML=sHTML+'                  <td align="center" bgcolor="#FFFFFF">&pound;'+totalPrice.toFixed(2)+'</td>\n';
        sHTML=sHTML+'                  <td align="center" bgcolor="#FFFFFF"></td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="6" bgcolor="#FFFFFF" height="6"></td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="6">&nbsp;</td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="6" class="largeCartText">&nbsp;Delivery Options &nbsp; <span id="deliveryCutoffs" class="cursor" style="font-size: 12px; font-weight: normal;">(dispatch times - click here)</span></td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="6" height="6"></td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="6"><div id="deliveryChoice"></div></td>\n';
        sHTML=sHTML+'                </tr>\n';
        if (cartEmpty!=true) {
          sHTML=sHTML+'                <tr>\n';
          sHTML=sHTML+'                  <td colspan="6" height="6">&nbsp;</td>\n';
          sHTML=sHTML+'                </tr>\n';
          if (isWholesale==true) {
            sHTML=sHTML+'                <tr>\n';
            sHTML=sHTML+'                  <td colspan="3" rowspan="4" align="center" valign="middle"></td>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="right">Subtotal:&nbsp;</td>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="right"><span id="subtotal"></span></td>\n';
            sHTML=sHTML+'                  <td rowspan="4"></td>\n';
            sHTML=sHTML+'                </tr>\n';
            sHTML=sHTML+'                <tr>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="right">VAT:&nbsp;</td>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="right"><span id="vatTotal"></span></td>\n';
            sHTML=sHTML+'                </tr>\n';
            sHTML=sHTML+'                <tr>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="right">Total:&nbsp;</td>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="right"><span id="cartTotal"></span></td>\n';
            sHTML=sHTML+'                </tr>\n';
		  } else {
            sHTML=sHTML+'                <tr>\n';
            sHTML=sHTML+'                  <td colspan="3"></td>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="right">Total:&nbsp;</td>\n';
            sHTML=sHTML+'                  <td class="largeCartText" align="center"><span id="cartTotal"></span></td>\n';
            sHTML=sHTML+'                  <td></td>\n';
            sHTML=sHTML+'                </tr>\n';
		  }
        }
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="6">&nbsp;</td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'                <tr>\n';
        sHTML=sHTML+'                  <td colspan="5" class="largeCartText" align="right">';
        if (cartEmpty!=true&&isWholesale!=true) { sHTML=sHTML+'<input class="placeOrderBtn" type="button" id="continueBTN" name="continueBTN" value="Go to checkout" />&nbsp;&nbsp;&nbsp;'; }
        else if (isWholesale==true) {
           if (totalPrice<minSpend) { sHTML=sHTML+'<input type="button" id="minSpendBTN" name="minSpendBTN" class="moreProductBtn" style="width: 410px;" value="Minimum spend of &pound;'+minSpend.toFixed(2)+', excluding VAT and delivery, not reached" />'; }
           else { sHTML=sHTML+'<input class="placeOrderBtn" type="button" id="continueBTN" name="continueBTN" value="Go to checkout" />&nbsp;&nbsp;&nbsp;'; }
        }
        sHTML=sHTML+'</td>\n';
        sHTML=sHTML+'                </tr>\n';
        sHTML=sHTML+'              </table>\n';
        $('#cartItems').html(sHTML);

        if (deliveryArea==''||deliveryType=='') { getDelivery(totalPrice, 'update', true); }
        getDelivery(totalPrice);
		wireEventHandlers(hasSingleItems);
        getCart('viewsmallcart', 0, 0);
	  }
    }
  });
}

function getDelivery(totalPrice, method, windowRefresh) {
    var sHTML=''; var refreshDelivery=false;
    if (deliveryPrice=='') { updateDelivery(totalPrice, refreshDelivery, windowRefresh); }
    $.ajax({
      type: 'GET',
      url: '/ajax/delivery.asp?total='+parseFloat(totalPrice).toFixed(2)+'&area='+deliveryArea+'&type='+deliveryType+'&method='+method,
      data: '',
      success: function processAjaxXml(xml) {
        createMXLObj(xml);
        sHTML=sHTML+'<table width="100%" cellspacing="0" cellpadding="0" border="0">\n';
        var deliveryOptions=xmlDoc.getElementsByTagName("option");
        for (var iItems=0; iItems<deliveryOptions.length; iItems++) {
          var item=deliveryOptions[iItems];
          var xmlDeliveryArea=item.getElementsByTagName("area")[0].firstChild.nodeValue;
          var xmlDeliveryType=item.getElementsByTagName("type")[0].firstChild.nodeValue;
          var xmlDeliveryPrice=parseFloat(item.getElementsByTagName("price")[0].firstChild.nodeValue).toFixed(2);
          if (deliveryArea==xmlDeliveryArea&&deliveryType==xmlDeliveryType&&parseFloat(deliveryPrice).toFixed(2)!=xmlDeliveryPrice) { refreshDelivery=true; }
          priceDifference=parseFloat(xmlDeliveryPrice).toFixed(2)-deliveryPrice;
          if (xmlDeliveryType==deliveryType||(deliveryType==null&&iItems==0)||isWholesale==true) { checkString=' checked="checked"'; }
          else { checkString=''; }
          sHTML=sHTML+'  <tr bgcolor="#FFFFFF">\n';
          sHTML=sHTML+'    <td align="right" width="278">'+xmlDeliveryArea+' '+xmlDeliveryType+'</td>\n';
          if (priceDifference > 0.0) { priceDifference='+'+priceDifference.toFixed(2); }
          else { 
            priceDifference=priceDifference*priceDifference;
            priceDifference=Math.sqrt(priceDifference);
            priceDifference='-'+priceDifference.toFixed(2);
          }
          if (priceDifference!=0) {
            sHTML=sHTML+'    <td align="left" width="260"><input type="radio" value="'+xmlDeliveryType+';'+xmlDeliveryArea+'" id="CarriageID" name="CarriageID" onclick="deliveryPrice=\'\';deliveryArea=\''+xmlDeliveryArea+'\';deliveryType=\''+xmlDeliveryType+'\';deliveryPrice=\''+xmlDeliveryPrice+'\';getDelivery('+totalPrice+', \'update\')"'+checkString+'> (&pound;'+priceDifference+')</td>\n';
          } else {
            sHTML=sHTML+'    <td align="left" width="260"><input type="radio" value="'+xmlDeliveryType+';'+xmlDeliveryArea+'" id="CarriageID" name="CarriageID" onclick="deliveryPrice=\'\';deliveryArea=\''+xmlDeliveryArea+'\';deliveryType=\''+xmlDeliveryType+'\';deliveryPrice=\''+xmlDeliveryPrice+'\';getDelivery('+totalPrice+', \'update\')"'+checkString+'></td>\n';
          }
          sHTML=sHTML+'    <td colspan="2"></td>\n';
          sHTML=sHTML+'  </tr>\n';
        }

        sHTML=sHTML+'  <tr bgcolor="#FFFFFF">\n';
        sHTML=sHTML+'    <td colspan="2" align="right">Delivery Total:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n';
        sHTML=sHTML+'    <td width="70" align="center">&pound;'+deliveryPrice+'</td>\n';
        sHTML=sHTML+'    <td width="70"></td>\n';
        sHTML=sHTML+'  </tr>\n';
        sHTML=sHTML+'  <tr>\n';
        sHTML=sHTML+'    <td colspan="6" bgcolor="#FFFFFF" height="6"></td>\n';
        sHTML=sHTML+'  </tr>\n';
        sHTML=sHTML+'</table>\n';
        
        $('#deliveryChoice').html(sHTML);
        if (isWholesale==true) {
          var subTotal=parseFloat(totalPrice)+parseFloat(deliveryPrice);
          var vatTotal=subTotal*(VAT-1);
          var cartTotal=subTotal+vatTotal;
          $('#subtotal').html("&pound;"+parseFloat(subTotal).toFixed(2));
          $('#vatTotal').html("&pound;"+parseFloat(vatTotal).toFixed(2));
          $('#cartTotal').html("&pound;"+parseFloat(cartTotal).toFixed(2));
        } else {
          var cartTotal=parseFloat(totalPrice)+parseFloat(deliveryPrice)
          $('#cartTotal').html("&pound;"+parseFloat(cartTotal).toFixed(2));
		}
/*
         This code is currently not working properly on at least firefox
  
         var isChecked=false;
         $('#CarriageID').each(function(){
          if(isChecked===false&&$('#CarriageID').attr('checked')===true) { isChecked=true; }
        });
        if (isChecked===false) { $('#CarriageID:first').click() }
*/
        if (refreshDelivery===true) { updateDelivery(totalPrice, refreshDelivery); }
      }
    });
}

function updateDelivery(totalPrice, refreshDelivery, windowRefresh) {
  if (refreshDelivery!=true) { refreshDelivery=false; }
  $.ajax({
    type: 'GET',
    url: '/ajax/delivery.asp?total='+parseFloat(totalPrice).toFixed(2)+'&area='+deliveryArea+'&type='+deliveryType+'&method=update',
    data: '',
    success: function processAjaxXml(xml) {
      createMXLObj(xml);
      var deliveryOptions=xmlDoc.getElementsByTagName("option");
	  if (refreshDelivery==false) {
        for (var iItems=0; iItems<deliveryOptions.length; iItems++) {
          var item=deliveryOptions[iItems];
          deliveryArea=item.getElementsByTagName("area")[0].firstChild.nodeValue;
          deliveryType=item.getElementsByTagName("type")[0].firstChild.nodeValue;
          deliveryPrice=parseFloat(item.getElementsByTagName("price")[0].firstChild.nodeValue).toFixed(2);
        }
	  } else {
        for (var iItems=0; iItems<deliveryOptions.length; iItems++) {
          var item=deliveryOptions[iItems];
          if (deliveryArea==item.getElementsByTagName("area")[0].firstChild.nodeValue&&deliveryType==item.getElementsByTagName("type")[0].firstChild.nodeValue) {
            deliveryArea=item.getElementsByTagName("area")[0].firstChild.nodeValue;
            deliveryType=item.getElementsByTagName("type")[0].firstChild.nodeValue;
            deliveryPrice=parseFloat(item.getElementsByTagName("price")[0].firstChild.nodeValue).toFixed(2);
		  }
		}
	  }
      if (windowRefresh==true) { window.location.href=window.location.href; }
      if (refreshDelivery===true) { getDelivery(totalPrice); }
	}
  });
  
}
	


function getCustomKit(itemID) {
  var sHTML='';
  $.ajax({    type: 'POST', 
    url: '/ajax/customkit.asp?i='+itemID,
    data: '',
    success: function processAjaxXml(xml) {
      createMXLObj(xml);
      var customKits=xmlDoc.getElementsByTagName('kit');
      for (var iKits=0; iKits<customKits.length; iKits++) {
        var kits=customKits[iKits];
        price=parseFloat(kits.getElementsByTagName("price")[0].firstChild.nodeValue);
        sHTML=sHTML+'  <li class="itemListing">\n';
        sHTML=sHTML+'    <div class="itemImg" id="imgHolder'+kits.getElementsByTagName("id")[0].firstChild.nodeValue+'"><a href="customKit.asp?i='+kits.getElementsByTagName("id")[0].firstChild.nodeValue+'"><img style="position: absolute; top: 1px; left: 1px; display: block;" src="http://www.letsgetsoapy.co.uk/simages/products/cat/'+kits.getElementsByTagName("image")[0].firstChild.nodeValue+'" width="222" height="222" alt="'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'" title="'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'" border="0" /></a><img id="image'+kits.getElementsByTagName("id")[0].firstChild.nodeValue+'" style="position: absolute; top: 1px; left: 1px; display: none; z-index: 20;" src="http://www.letsgetsoapy.co.uk/simages/products/cat/'+kits.getElementsByTagName("image")[0].firstChild.nodeValue+'" width="222" height="222" alt="'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'" title="'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'" border="0" /></div>\n';
        sHTML=sHTML+'    <div class="itemName"><a href="customkits/'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'">'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'</a></div>\n';
        sHTML=sHTML+'    <div class="itemDescPriceWrapper">\n';
        sHTML=sHTML+'<div class="itemDescription">'+kits.getElementsByTagName("description")[0].firstChild.nodeValue.slice(0,75)+'... <a href="customkits/'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'">more</a></div>\n';
        sHTML=sHTML+'<div class="itemPrice">&pound;'+price.toFixed(2);
        sHTML=sHTML+'<input class="moreProductBtn" type="button" value="More" name="more" id="more" onclick="location.href=\'customkits/'+kits.getElementsByTagName("name")[0].firstChild.nodeValue+'\'" /><!--<input class="addProductBtn" type="button" value="Add to basket" name="add" id="add" onclick="getCart(\'addCustomKit\', '+kits.getElementsByTagName("id")[0].firstChild.nodeValue+', 0)" />--></div>\n';
        sHTML=sHTML+'    </div>\n';
        sHTML=sHTML+'  </li>\n';
      }
      $('.itemListings').html(sHTML);
    }
  });
}



function addToCartAnimation(objId, imgHoldObj) {
  basketOffset=$('#headerCartContent').offset();
  imageOffset=$('#'+imgHoldObj).offset();
  var newLeft=140-(imageOffset.left-basketOffset.left)
  var newTop=-20-(imageOffset.top-basketOffset.top)
	
  $('#'+objId).css('display', 'block');
  $('#'+objId).animate({
    opacity: 0.5,
    left: newLeft,
    top: newTop,
    height: 50,
    width: 50
  }, 1000, function() {
    $('#'+objId).css('display', 'none');
    $('#'+objId).css('position', 'absolute');
    $('#'+objId).css('height', 222);
    $('#'+objId).css('width', 222);
    $('#'+objId).css('top', 1);
    $('#'+objId).css('left', 1);
  });
}


function createPaging(itemsPerPage, totalItems, currentPage, callingFunction) {
//  alert('paging created\n itemsPerPage = '+itemsPerPage+'\n totalItems = '+totalItems);
}
