

/*    Override AddToCart and UpdateItemQuantity functions

	  Notes: This override searches the cart string returned from the server for ', Total: ' and replaces it with a break tag('<br />')

*/

function logg(x)
{
	if(typeof console != 'undefined' && console.log)console.log(x);	
}

function addCheckoutBtn()
{
	if(jQuery('#shopping-basket a.checkout').length == 0)
	{
		var sUrl = jQuery('#shopping-basket .cartSummaryLink').attr('href');
		if(sUrl && sUrl.length > 0)
		{
			jQuery('<a class="checkout" href="' + sUrl + '" title="view cart">view basket</a>').insertBefore('#shopping-basket #catCartSummary');	
		}
	}
}

function addSuccess()
{
	//Color items
	jQuery('#catCartSummary .cartSummaryItem').css('color','#83226A').find('a').css('color','#48512E');
	
	//Add check out button
	addCheckoutBtn();
}

function emptyCart()
{
	//Remove checkout button
	jQuery('#shopping-basket .checkout').remove();
	
}

function cleanCartHtml(str)
{
	//alert(str.match(/<a.*class=\"cartSummaryLink\".*\/a>/));
	str = str.replace(/\, Total:\s*/gi,'<br />').replace(/View Cart/gi,'check out');
	return str;
}

AddToCart = function(j,w,t,B,l){var h=w;var q="";var f=document.getElementById("Units_"+w);var A=readCookie("CartID");var v=document.getElementById("Grouping_"+w);var F=document.getElementById("Related_"+w);var e=document.getElementById("catProdTd_"+w);var n=document.getElementById("catProdAttributes_"+w);var u=document.getElementById("catProdAttributes2_"+w);var s=document.getElementById("catProdInstructions_"+w);var c="";var p=new Array();var C=false;var a=false;var m;var g=0;var E;var d=true;if(f){m=f.value;if(m<0){alert(OshopLang.RemoveError);return false}}else{m=1}if(A==null||A==""){A=-1}E=document.getElementById("catCartSummary");if(v){if(v.nodeName=="SELECT"){h=v.value}else{var r=v.getElementsByTagName("input");for(var z=0;z<r.length;z++){if(r[z].checked){h=r[z].value;break}}}}if(F){q=GetCheckListValue(F);if(q.length>0){g=q.split(",").length}}if(s){c=s.value}if(n){var o=n.getElementsByTagName("select");if(o){if(c.length>0){c+=";"}for(var z=0;z<o.length;z++){if(o[z].value.length>0){c+=o[z].value+";"}}}}if(u){var D=0;var o=u.getElementsByTagName("select");var y;var x;var k="";if(o){for(var z=0;z<o.length;z++){if(o[z].value.length>0){p[D]=o[z].value+"|1";D++}else{if(o[z].getAttribute("mandatory")){alert(Oshoplang.ChooseAttribute);return}}}}var o=u.getElementsByTagName("input");if(o){for(var z=0;z<o.length;z++){if(o[z].type=="checkbox"||o[z].type=="radio"){if(k!=o[z].getAttribute("name")){if(z>0&&!x&&o[z-1].getAttribute("mandatory")){alert(Oshoplang.ChooseAttribute);return}x=false}if(o[z].checked){p[D]=o[z].id+"|1";D++;x=true}k=o[z].getAttribute("name")}else{if(o[z].value.length>0){p[D]=o[z].id+"|"+o[z].value;D++;x=true}else{if(o[z].getAttribute("mandatory")){alert(Oshoplang.ChooseAttribute);return}}}}if(o.length>0&&(o[o.length-1].type=="checkbox"||o[o.length-1].type=="radio")){if(!x&&o[z-1].getAttribute("mandatory")){alert(Oshoplang.ChooseAttribute);return}}}}if(E){if(E.getAttribute("Vertical")=="True"){C=true}if(E.getAttribute("Quote")=="True"){a=true}}var b=CMS.CatalogueRetrieve.ServerSideAddItemToOrder(A,j,h,m,q,p,c,C,B,a,t,d);if(b.value[4]){g=b.value[4]}createCookie("CartID",b.value[0],2);if(E){E.innerHTML=(cleanCartHtml(b.value[2]))}switch(b.value[1]){case 0:if(!l){if(e){e.innerHTML=(cleanCartHtml(b.value[3]));ProcessJS(e)}addSuccess();alert(g+Oshoplang.Added);}else{document.location="/OrderRetrievev2.aspx?CatalogueID="+j}break;case 1:alert(Oshoplang.OutOfStock);break;case 2:if(!l){if(e){e.innerHTML=(cleanCartHtml(b.value[3]));ProcessJS(e)}alert(g+Oshoplang.PreOrder)}else{document.location="/OrderRetrievev2.aspx?CatalogueID="+j}break;case 3:alert(Oshoplang.MinLimit);break;case 4:alert(Oshoplang.MaxLimit);break}if(typeof AddProductExtras=="function"){AddProductExtras(j,h,b.value[1])}};


UpdateItemQuantity = function(d,i,f,e,j,l,g)
{
	var b;
	var h;
	var a=false;
	var m=false;
	var k=true;
	b=document.getElementById("catCartDetails");
	h=document.getElementById("catCartSummary");
	
	if(h)
	{
		if(h.getAttribute("Vertical")=="True")
		{
			a=true
		}
		
		if(h.getAttribute("Quote")=="True")
		{
			m=true
		}
		//jQuery('#shopping-basket #view-basket').remove();//Remove view basket button
	}
	
	if(!IsNumeric(d))
	{
		alert(Oshoplang.InvalidQuantity);
		return false
	}
	
	if(b)
	{
		var c;
		c=CMS.OrderRetrievev2.ServerSideUpdateItemQuanity(i,f,e,j,d,l,g,a,m,k);
		switch(c.value[0])
		{
			case 0:
			case 2:
				b.innerHTML=c.value[1];
				if(h)
				{
					h.innerHTML=(cleanCartHtml(c.value[2]))
				}
				break;
			case 1:
				alert(Oshoplang.OutOfStock);
				return;
			case 3:
				alert(Oshoplang.MinLimit);
				break;
			case 4:
				alert(Oshoplang.MaxLimit);
				break;
			case -1:
				b.innerHTML=c.value[1];
				
				if(h)
				{
					//h.innerHTML=(cleanCartHtml(c.value[2]))
					h.innerHTML='<table cellspacing="0" class="cartSummaryTable"><tbody><tr><td class="cartSummaryItem">Your basket <br /> is empty.</td></tr></tbody></table>';
					emptyCart();
				}
				
				alert(Oshoplang.CartEmpty);
				break
		}
	}
	
	if(typeof UpdateProductExtras=="function")
	{
		UpdateProductExtras(f,e,c.value[0])
	}
};

/*    Override ClearCart

	  Notes: Make sure cart message for when it's empty matches the message displayed on other carts

*/

ClearCart = function(e,c){
	var d=document.getElementById("catCartDetails");
	var a=document.getElementById("catCartSummary");
	
	
	if(a)//Update cart summary
	{
		//a.innerHTML=Oshoplang.CartEmpty
		a.innerHTML = '<table cellspacing="0" class="cartSummaryTable"><tbody><tr><td class="cartSummaryItem">Your basket <br /> is empty.</td></tr></tbody></table>';
		//jQuery('#shopping-basket #view-basket').remove();//Remove view basket button
	}
	
	if(d)//Update cart details table
	{
		var b=CMS.OrderRetrievev2.ServerSideDrawCartEmpty(e,c);
		d.innerHTML=b.value.replace(/\s+cart\s+/gi,' basket ');
		emptyCart();
		alert(Oshoplang.CartUpdateSuccess)
	}
	
	if(typeof UpdateProductExtras=="function")
	{
		UpdateProductExtras(c,-1,-1)
	}
}



jQuery(document).ready(function(){
	
	if(typeof Mod_CartSummary != 'undefined')//Cart summary has been sent
	{
		var oBasket = jQuery('<div></div>').html(Mod_CartSummary);
		
		if(jQuery(oBasket).find('#catCartSummary').html().toLowerCase().match(/shopping cart is empty/gi) != null)//If cart is empty replace cart with basket
		{
			jQuery(oBasket).find('#catCartSummary').html('<table cellspacing="0" class="cartSummaryTable"><tbody><tr><td class="cartSummaryItem">Your basket <br /> is empty.</td></tr></tbody></table>');	
		} else {
			
			if(jQuery(oBasket).find('.cartSummaryTable').length > 0)
			{
				jQuery(oBasket).html(cleanCartHtml(jQuery(oBasket).html()));	
			}
			
			//Color items
			jQuery(oBasket).find('.cartSummaryItem').css('color','#83226A').find('a').css('color','#48512E');
			
			
			if(jQuery(oBasket).find('a.checkout').length == 0)//If the checkout button has been added
			{
				var sUrl = jQuery(oBasket).find('.cartSummaryLink').attr('href');
				if(sUrl && sUrl.length > 0)
				{
					jQuery('<a class="checkout" href="' + sUrl + '" title="view cart">view basket</a>').insertBefore(jQuery(oBasket).find('#catCartSummary'));	
				}
			}
			
				
		}
		
		jQuery('#shopping-basket').html(jQuery(oBasket).html());
	}
	
	
	
		
});
