// JavaScript Document

function AddToCart(storeName,showItems) {
	mainStoreName = 'GuardianOffers';
	//var newImgSrc = '/mall/' + storeName + '/images/AddingToBasket.gif';
	//$('#addToBasketButton').attr("src",newImgSrc);
	var optionsCheck = $("select[name=specialoptions]").val();
	var optionsSizeCheck = $("select[name=size]").val();
	var optionsColourCheck = $("select[name=color]").val();
	
	if( optionsCheck == "" || optionsSizeCheck == "" || optionsColourCheck == "" ) {
		alert("Please choose an Option");
		return false
	}
	else {
		var form = $("#le_form");
		var productTitle = $('#le_form input[name=desc]').val();
		var productId = $('#le_form input[name=number]').val();
		var serializedFormStr = form.serialize();
					 
		$.ajax({  
			type: "GET",  
			url: "/mall/shopcreatorcart/addToCart_js.cfm",  
			data: serializedFormStr,  
			cache: false,  
			async: false,  
			success: function(result) {
				checkoutLink = getCartUrl(storeName,cookieValue);
				$('#viewbasklink').attr("href",checkoutLink);
				$('#paylink').attr("href",checkoutLink);
				$('#viewbasklink').show();
	
				$("#add_to_basket_link").trigger('click');
	
				result = JSON.parse(result);
				var productDiv = '#product_' + productId;
				cookieValue = getCookieValue(mainStoreName);
				$('#basketholder').html('<div class="inner"><ul id="basket_details" class="jcarousel jcarousel-skin-tango"></ul><div id="minibasktotal"> </div> <div id="basket_footer"> <a href="" id="viewbasklink"><img src="/mall/GuardianOffersDemo/images/minibask_viewbasket.png" alt="View Basket"/></a> <a href="" id="paylink"><img src="/mall/GuardianOffersDemo/images/minibask_paysecurely.png" alt="Pay Securely Now" /></a> <div class="clearfix">&nbsp;</div> </div> </div>');
				// rebuild cart summary
				populateMiniBasket(storeName,showItems,productId,cookieValue);
				$('#basketholder').slideDown('fast');
				$('#basket-link').css("display","block");
				$(productDiv).pulse({
					backgroundColors: ['#ffffff','#007FC3'],
					textColors: ['#de0000','#FFFFFF'],
					speed: 500,
					duration: 2000
				});
				
				var newImgSrc = '/mall/' + storeName + '/images/AddedToBasket.gif';
				$('#addToBasketButton').attr("src",newImgSrc);
				checkoutLink = getCartUrl(storeName,cookieValue);
				$('#goToCheckout').attr("href",checkoutLink);
				$('#goToCheckout').show();
				
			},
			error: function(result) {
				$('#basket_totals').append('Error: Item not added.');
			}  
		}); 
		return false;
	}
}

function getCookieValue(storeName){
	// get the cart cookie
	var cookieName = 'A' + storeName + 'CARTID';
	cookieName = cookieName.toUpperCase();
	cookieValue = getCookie(cookieName);
	return cookieValue;
}


function populateMiniBasket(storeName,showItems,currentProduct,cookieValue) {
	mainStoreName = 'GuardianOffers';
	showItems = showItems || true;
	currentProduct = currentProduct || '';
	var parameters = 'store=' + mainStoreName;
	
	var cartHTML = '';
	var itemDetails = '';
	var checkoutLink = getCartUrl(mainStoreName,cookieValue);	
	$.ajax({  
		type: "GET",  
		url: "/mall/cartsummary_js.cfm",  
		data: parameters,  
		cache: false,  
		async: false,  
		success: function(result) {
			result = JSON.parse(result);
			
			cartHTML = '<a href="'+checkoutLink+'">My Basket <span>' + result.CARTCONTENTS.SUMMARY.PRICE + '</span> (' + result.CARTCONTENTS.SUMMARY.ITEMS + ' Items)</a>';
			$('#minibasktotal').html('TOTAL: <span>'+result.CARTCONTENTS.SUMMARY.PRICE+'</span>');
			
			var itemsObject = result.CARTCONTENTS.ITEMS;
			for( var i = 0; i < itemsObject.length;  ++i ) {
				var currentItem = itemsObject[i];
				var price = currentItem.DISPTOTAL;
				var deleteButton = '<a href="#" onclick="changeQuantity(\'' + storeName + '\',\'' + currentItem.DISPTIME + '\',0); return false;" class="remove">Remove<span></span></a>';
				var main_image_src ='/mall/'+currentItem.FROMSTORE+'/customerimages/products/' + currentItem.DISPNUMBER + '.jpg';
				var itemLine = '<li id="product_' + currentItem.DISPNUMBER + '" class="itemLine"><div class="itemImage"><img src="' + main_image_src +'" /></div><div class="ItemTitle"><strong>' + currentItem.DISPDESC + '</strong>' + deleteButton + '</div><div class="ItemDetails"><div class="ItemQuantity">Qty: ' + currentItem.DISPQUANTITY + '<br/>Price: &pound;' + currentItem.DISPPRICE + '<br/>Total: <strong>' + price + '</strong></div></div>';
				itemLine = itemLine + '<a href="/mall/productpage.cfm/GuardianOffers/' + currentItem.DISPNUMBER + '" class="item-link"><img src="/mall/GuardianOffers/images/spacer.gif" width="268" height="69" /></a></li>';
				itemDetails = itemDetails + itemLine;
			}
		},  
		error: function(result) {  
			cartHTML = cartHTML + 'Your cart summary cannot load at present.';
		}
	});
	$('#basket_totals').html(cartHTML);
	var checkoutButton = '<a href="' + checkoutLink + '" onclick="pageTracker._link(this.href); return false;" class="basketLink" title="checkout"><img src="/mall/' + storeName + '/images/checkout-now.png" id="checkoutImg" /></a>';
	$('#checkout_button').html(checkoutButton);
	$('#basket_details').html(itemDetails);
	$("#viewbasklink").attr("href",checkoutLink);
	$("#paylink").attr("href",checkoutLink);
	if(currentProduct != ''){
	   $('#basketholder').slideDown('slow', function() {
		// Animation complete.
		});
		setTimeout(function(){
		   $('#basketholder').slideUp('slow', function() {
				// Animation complete.
				$('#basket-link').css("display","block");
			});
		}, 6000);
	}

	$("#basketholder").css("display","block");
	
	var itemNumber = $("#basket_details li").size();

	jQuery('#basket_details').jcarousel({
		vertical: true,
		scroll:2,
		start: itemNumber
	});

	if(itemNumber == 0){
		$('#basketholder').html("<div id='empty-cart'>Your Basket is empty</div><div class='clearfix'>&nbsp;</div>");
	}	
	/*if(itemNumber == 1){
		$(".jcarousel-skin-tango .jcarousel-clip-vertical").css("height","82px");
	}
	if(itemNumber == 2){
		$(".jcarousel-skin-tango .jcarousel-clip-vertical").css("height","164px");
	}
	if(itemNumber > 2){
		$(".jcarousel-skin-tango .jcarousel-clip-vertical").css("height","243px");
	}*/
	
	$("#basketholder").css("display","none");
	//$('.jcarousel-prev').css("display","none");
	//$('.jcarousel-next').css("display","none");
}



function toggleMiniCartDetails(){
	currentValue = $('#miniBasketState').val();
	if(currentValue == 'hide'){
		$('#basket_details').slideDown('slow', function() {
		// Animation complete.
		});
		$('#miniBasketState').attr("value",'show');
		$('#expandBasket').attr("src",'/mall/GuardianOffers/images/open.gif');
		$('#expandBasket').attr("alt",'-');
	}
	else{
		$('#basket_details').slideUp('slow', function() {
		// Animation complete.
		});
		$('#miniBasketState').attr("value",'hide');
		$('#expandBasket').attr("src",'/mall/GuardianOffers/images/open.gif');
		$('#expandBasket').attr("alt",'+');
	}
	return false;
}

function getCookie(c_name)
{
	if (document.cookie.length>0)
	{
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) {
				c_end=document.cookie.length;
			}
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}

function changeQuantity(storeName,disptime,quantity) {
	thedata = 'store=' + storeName + '&absoluteQuantity=' + quantity + '&disptime=' +disptime;
	$.ajax({
		type: "GET",  
		url: "/mall/_services/cart/changeQuantity.cfm",  
		data: thedata,  
		cache: false,  
		async: false,  
		success: function(result) {
			$('#basketholder').html('<div class="inner"><ul id="basket_details" class="jcarousel jcarousel-skin-tango"></ul><div id="minibasktotal"> </div> <div id="basket_footer"> <a href="" id="viewbasklink"><img src="/mall/GuardianOffers/images/minibask_viewbasket.png" alt="View Basket"/></a> <a href="" id="paylink"><img src="/mall/GuardianOffers/images/minibask_paysecurely.png" alt="Pay Securely Now" /></a> <div class="clearfix">&nbsp;</div> </div> </div>');
			// rebuild cart summary
			populateMiniBasket(storeName,true,'',cookieValue);
			$('#basketholder').slideDown('fast');
		},  
		error: function(result) {  
		}  
	}); 
	return false;
}


function getCartUrl(storeName,cookieValue)
{
	var checkoutLink = cartUrl + '?store=' + storeName + '&action=review&BasketID=' + cookieValue + '&backto=' + escape(document.location.href);
	return checkoutLink;
}

var addedContent = '<img src="/mall/GuardianOffers/images/productAdded.gif" alt="Product added - your basket has been updated"/>';
var cartUrl = 'https://www.safepayments.com/mall/shopcreatorcart/shoppingcart.cfm';
var cookieValue = getCookieValue('GuardianOffers');
$(document).ready(function(){  
	populateMiniBasket('GuardianOffers','true','',cookieValue);
});
