/***********************************************************************
*
* getMiniCart		-	fetches cart content summary
*
* Returns:		-	HTML string for summary display
*
* Graham Bradley 2007
*
* To make editing the output HTML easier, output code has been split into
* nine 'template' strings.
*
*	tableOpen	-	the opening table code
*	itemLine	-	repeated for each item in the cart
*	shippingLine	-	for displaying shipping charges (if any)
*	vatLine		-	for displaying VAT on items & shipping (if any)
*	discountLine	-	for displaying discount total (if any)
*	surchargeLine	-	for displaying surcharge total (if any)
*	totalLine	-	for displaying the cart total
*	tableClose	-	the closing table code
*	emptyLine	-	displayed when cart is empty
*
* Within these templates, you can use variables to insert values into
* the summary, similar to variables in Actinic:
*
*	VAR:QUANTITY	-	The quantity of item in cart
*	VAR:TITLE	-	Abbreviated name of item
*	VAR:LINK	-	URL of item via the cgi-bin
*	VAR:PRICE	-	Formatted price of item
*	VAR:SHIPPING	-	Total of shipping applied
*	VAR:VAT		-	Total VAT on cart items & shipping
*	VAR:DISCOUNT	-	Total of discounts applied
*	VAR:SURCHARGE	-	Total of surcharges applied
*	VAR:TOTAL	-	Grand total
*
* Variables can only be used in the templates in which they are found.	
*
************************************************************************/
/*
function getMiniCart(){

var tableOpen="<table width='100%'>";
var itemLine="<tr><td valign='top'>VAR:QUANTITYx </td><td><a href='VAR:LINK'>VAR:TITLE...</a></td><td align='right' valign='top'>VAR:PRICE</td></tr>"
var shippingLine="<tr><td colspan='2'>Shipping</td><td align='right'>VAR:SHIPPING</td></tr>"
var vatLine="<tr><td colspan='2'>VAT</td><td align='right'>VAR:VAT</td></tr>"
var discountLine="<tr><td colspan='2'>Discounts</td><td align='right'>VAR:DISCOUNT</td></tr>"
var surchargeLine="<tr><td colspan='2'>Surcharges</td><td align='right'>VAR:SURCHARGE</td></tr>"
var totalLine="</table><table width='100%'><tr><td><b>Total</b></td><td align='right'><b>VAR:TOTAL</b></td></tr>"
var tableClose="</table>"
var emptyLine="No items in cart.";

var cookie=getCartItem(4);

if (!cookie){
	return emptyLine;
	}
var re=new Array();
var match=new Array();
var total=0;
var str;
re[1]=/cur=([^&]*)&!/g;
re[2]=/&!(.*)/g;
re[3]=/ss=(.*)cur=/i;
re[4]=/tx=(.*)sh=/i;
re[5]=/sh=(.*)ss=/i;
for (i=1;i<re.length;i++){
	match[i]=re[i].exec(cookie);
	match[i]=match[i][1];
	}
lines=match[2].split("&!");
store=new Array();
re[0]=/^(\d*)x/;
re[1]=/xx([^>]*)>/;
re[2]=/>([^>]*)>/;
re[3]=/>([^>]*)$/;
str=tableOpen;
for (i=0;i<lines.length;i++){
	for (j=0;j<re.length-2;j++){
		detail=lines[i].match(re[j]);
		store[j]=detail[1];
		}
	str+=itemLine.replace("VAR:QUANTITY",store[0]).replace("VAR:LINK",match[3]+"?PRODREF="+store[1]+"&NOLOGIN=1").replace("VAR:TITLE",store[2]).replace("VAR:PRICE",match[1]+((store[3]*1).toFixed(2)));
	total+=(store[3]*1);
	}
if (match[5] > 0){
	str+=shippingLine.replace("VAR:SHIPPING",match[1]+(match[5]/100).toFixed(2));
	total=total+=(match[5]/100);
	}
if (match[4] > 0){
	str+=vatLine.replace("VAR:VAT",match[1]+(match[4]/100).toFixed(2));
	total=total+=(match[4]/100);
	}
gTotal=getCartItem(1);
var r=/&#(\d*);/gi;
var m=new Array();
var f=new Array();
while((m = r.exec(gTotal))!=null){
	f[f.length]=m[1];
	}
for (i=0;i<f.length;i++){
	gTotal=gTotal.replace("&#"+f[i]+";","");
	}
total=total.toFixed(2);
gTotal=(gTotal/100).toFixed(2);
if (total>gTotal){
	str=str+=discountLine.replace("VAR:DISCOUNT","-"+match[1]+(total-gTotal).toFixed(2));
	}
else if (total<gTotal){
	str=str+=surchargeLine.replace("VAR:SURCHARGE",match[1]+(gTotal-total).toFixed(2));
	}
str+=totalLine.replace("VAR:TOTAL",match[1]+(gTotal));
str+=tableClose;
return str;
}
*/
///////////////////////////////////////////
//		NEW FOR 2009 MINI CART v_9
////////////////////////////////////////////
/***********************************************************************
*
* getFullCart	-	cart content summary
*
* Returns:		-	HTML string for summary display
*
************************************************************************/

function getFullCart()
{

var tableOpen="<table width='150' border='0' cellspacing='2' cellpadding='0'>";

/* with hyper linkto product
var itemLine="<tr><td valign='top' align='right'><span class='textsmall'>VAR:QUANTITYx </span></td><td><span class='textsmall'><b><a href='VAR:LINK'>VAR:TITLE..</a></b></span></td><td align='right' valign='top' bgcolor='fffeee' width='60'><span class='textsmall'>VAR:PRICE</span></td></tr>";*/

var itemLine="<tr><td valign='top' align='right'><span class='textsmall'>VAR:QUANTITYx </span></td><td><span class='textsmall'><b>VAR:TITLE..</b></span></td><td align='right' valign='top' bgcolor='fffeee' width='60'><span class='textsmall'>VAR:PRICE</span></td></tr>";

var discountLine="<tr><td colspan='2'><span class='textsmall'>Item Discount</span></td><td align='right'><span class='textsmall'>-VAR:DISCOUNT</span></td></tr>"
var surchargeLine="<tr><td colspan='2'><span class='textsmall'>Surcharge</span></td><td align='right'><span class='textsmall'>VAR:DELIVERY</span></td></tr>"
var totalLine="</table><table width='140'><tr><td><span class='textsmall'><b>SubTotal</b></span></td><td align='right'><span class='textsmall'><b>VAR:TOTAL</b></span></td></tr>"
var tableClose="</table>";

//var minordval =25;
var emptyLine="No items in cart";
var cust = getcustomernumber();
var cookie=getCartItem(4);
if (!cookie)
	{
	return emptyLine;
	}

var re=new Array();
var match=new Array();
var total=0;
var str;
re[1]=/cur=([^&]*)&!/g; // match[1] = Currency
re[2]=/&!(.*)/g;	// match[2] = Product Line
re[3]=/ss=(.*)cur=/i;	// match[3]	= hyperlink path
for (i=1;i<re.length;i++)
	{
	match[i]=re[i].exec(cookie);
	match[i]=match[i][1];
	}
// 26xxP2>Back Rib Joint B&R>187.2
lines=match[2].split("&!");
store=new Array();
re[0]=/^(\d*)x/;	// Quantity
re[1]=/xx([^>]*)>/;	// Product ID
str=cookie;
str=tableOpen;
for (i=0;i<lines.length;i++)
	{
	for (j=0;j<re.length-2;j++)
		{
			detail=lines[i].match(re[j]);
			store[j]=detail[1];
		}
	product=lines[i].split(">");

str+=itemLine.replace("VAR:QUANTITY",store[0]).replace("VAR:TITLE",product[1]).replace("VAR:PRICE",match[1]+((product[2]*1).toFixed(2)));	
	total+=(product[2]*1);
	}

gTotal=getCartItem(1);
var r=/&#(\d*);/gi;
var m=new Array();
var f=new Array();
while((m = r.exec(gTotal))!=null)
	{
	f[f.length]=m[1];
	}
for (i=0;i<f.length;i++)
	{
	gTotal=gTotal.replace("&#"+f[i]+";","");
	}
total=total.toFixed(2);
gTotal=(gTotal/100).toFixed(2);
if (total > gTotal)
	{
	str=str+=discountLine.replace("VAR:DISCOUNT",match[1]+(total-gTotal).toFixed(2));
	}
/*else if (total < gTotal)
	{
	//str=str+=surchargeLine.replace("VAR:DELIVERY",match[1]+(total-gTotal).toFixed(2));
	str=str+=discountLine.replace("VAR:DISCOUNT",match[1]+(total-gTotal).toFixed(2));
	}*/
str+=tableClose;
return str;
}
/***********************************************************************
*
* getCheckout button location 
*	1 checkout if logged in or already been asked
*	2 login before entering cart
*	3 cart under min order value
*
************************************************************************/

function getCheckoutButton()
{
var viewcartbut="<a href='VAR:LINK' alt='View/Edit My Cart'><b>Edit My Cart -></b></a><br>";

var errorbut="<a alt='View/Edit My Cart' onClick='getError(\"under\");'><b>Edit My Cart -></b></a>";

var checkoutbut="<a href='VAR:LINK' alt='Go to Checkout'><b>Checkout Now -></b></a>";

// Link if customer is new and hasn't been asked to login
var loginlink="https://www.farmerschoice.co.uk/cgi-bin/ss000001.pl?ACTION=LOGIN";

// Link if customer is Loggged or has already been asked to login
var cuslink="http://www.farmerschoice.co.uk/cgi-bin/ca000001.pl?ACTION=SHOWCART";

// alert if order is under min order
//var undermin="http://www.farmerschoice.net/Size_Of_Order.php";

var minordval =25;
var str ="";
gTotal=getCartItem(1);

var r=/&#(\d*);/gi;
var m=new Array();
var f=new Array();
while((m = r.exec(gTotal))!=null)
	{
	f[f.length]=m[1];
	}
for (i=0;i<f.length;i++)
	{
	gTotal=gTotal.replace("&#"+f[i]+";","");
	}
gTotal=(gTotal/100).toFixed(2);
//str+=overcut;
var reg_cus = getCookie("FC_REG");
var customer = getrefnumber();
	if (customer == 'No Account')
	{
		if (minordval > gTotal)
			{ str+=errorbut; }		
		else{
		if(!reg_cus){
			str+=viewcartbut.replace("VAR:LINK", loginlink);
			str+=checkoutbut.replace("VAR:LINK", loginlink);
			}
		else{
			str+=viewcartbut.replace("VAR:LINK", cuslink);
			str+=checkoutbut.replace("VAR:LINK", cuslink);
			}
		}
	}
	else{
		str+=viewcartbut.replace("VAR:LINK", cuslink);
		str+=checkoutbut.replace("VAR:LINK", cuslink);
	}
return str;
}
/***********************************************************************
*
* getViewCart button location 
*	1 checkout if logged in or already been asked
*	2 login before entering cart
*	3 cart under min order value
*
************************************************************************/

function getContinueCheckoutButton(checkoutlink)
{

// Link if customer is new and hasn't been asked to login
var loginlink="https://www.farmerschoice.co.uk/cgi-bin/ss000001.pl?SECTIONID=Bounce_To_Cart.php";

// Link if customer is Loggged or has already been asked to login
var cuslink=checkoutlink;

// alert if order is under min order
var undermin="http://www.farmerschoice.co.uk/Size_Of_Order.php";

var minordval =25;
var str;
var page;
gTotal=getCartItem(1);

var r=/&#(\d*);/gi;
var m=new Array();
var f=new Array();
while((m = r.exec(gTotal))!=null)
	{
	f[f.length]=m[1];
	}
for (i=0;i<f.length;i++)
	{
	gTotal=gTotal.replace("&#"+f[i]+";","");
	}
gTotal=(gTotal/100).toFixed(2);
str="";
page="";
var cookie = getCookie("LoginPage");
if (!cookie)
		{
			if (minordval > gTotal)
				{
					page+=undermin;
				}
			else
				{
					page+=loginlink;
				}
		}
else
		{			
			if (minordval > gTotal)
				{
					page+=undermin;
				}
			else
				{
					page+=cuslink;
				}
		}
overimg ="../../acatalog/ContinueCheckout1.GIF";
outimg ="../../acatalog/ContinueCheckout.GIF";
alt ="Continue to Checkout";

//return str;
loadCheckImage = new Image();
loadCheckImage.src = overimg; //MOUSEOVER IMAGE
staticCheckImage = new Image();
staticCheckImage.src = outimg; //MOUSEOUT IMAGE;	

var Link ="<a href='VAR:PAGE' onmouseover='CheckImage.src=loadCheckImage.src;' onmouseout='CheckImage.src=staticCheckImage.src;'><img name='CheckImage' src='VAR:IMG' border='0' ALT='VAR:ALT'></a>";

	
checkoutbutton=Link.replace("VAR:PAGE", page).replace("VAR:IMG", outimg).replace("VAR:ALT", alt);
	
//return(str);
return(checkoutbutton);

}
/**********************************************************************
* Return message if order is below min value
**********************************************************************/
function underorder()
{
var minord="Your order is currently <b>£VAR:UNDER</b> below the minimum order value of <b>£VAR:MINORD</b> you must add more items to your cart before you can continue to checkout";
// alert if order is under min order
var undermin="";
var minordval =25;
var str;
str="";
gTotal=getCartItem(1);

var r=/&#(\d*);/gi;
var m=new Array();
var f=new Array();
while((m = r.exec(gTotal))!=null)
	{
	f[f.length]=m[1];
	}
for (i=0;i<f.length;i++)
	{
	gTotal=gTotal.replace("&#"+f[i]+";","");
	}
gTotal=(gTotal/100).toFixed(2);

if (minordval > gTotal)
	{
		str+=minord.replace("VAR:UNDER",(minordval-gTotal).toFixed(2)).replace("VAR:MINORD",(minordval).toFixed(2));
	}
return str;	
}

