<!--

//copyright e-Business Systems Limited - www.e-businesssystems.co.uk
// This script may not be used without written permission from e-Business Systems Limited.

//version 2 - 01/08/08

//MR Systems version




var basket = new Basket_control();


function Redisplay_basket(str)
{
	basket.Refresh_do(str);
}


function Redisplay_basket_error(str)
{
	alert("error - " + str);
}



function Buy_form2(form_ref)
{
	var d = new Date();
	var t = d.getTime();
	ajax.Make_request("doPost",Add_to_basket_error, 0, ebsl_base_url + 'store/add_to_basket.asp?t=' + t,formData2QueryString(form_ref),Basket_add_response);
	

	return false;
}




function Basket_add_response(str)
{
	if (str != "ok")
	{
		window.alert(str);
	}
	else
	{
		//redisplay the basket panel
		basket.Refresh_request();
	}
	
}







function Add_to_basket_error(str)
{
	window.alert("error - " + str);
	
}




function Basket_item_delete(ol_no)
{
	
	var d = new Date();
	var t = d.getTime();
	ajax.Make_request("doGet",Basket_item_delete_error, 0, ebsl_base_url + 'store/delete_basket_item.asp?t=' + t + '&ol_no=' + ol_no,"",Basket_item_delete_response);
	

	return false;
	
}



function Basket_item_delete_error(str)
{
	window.alert("error - " + str);
	
}





function Basket_item_delete_response(str)
{
	if (str != "ok")
	{
		window.alert(str);
	}
	else
	{
		//redisplay the basket panel
		basket.Refresh_request();
	}
	
}




//=======================================================


function Basket_control()
{
	
	this.lines = new Array();
	
	this.subtotal_ex = 0;
	this.discount = 0;
	this.online_discount = 0;
	this.volume_discount = 0;
	this.delivery = 0;
	this.vat = 0;
	this.total = 0;
	this.base_url = "";
	this.saved_basket_count = 0;
	this.currency_html = "&pound;";
	this.delimiter1 = "\\";
	this.delimiter2 = "|";
	this.basket_container_div = 'basket_rh_panel';
	
	/* functions:
	
	Add_line 
	Delete_line
	Redisplay_basket
	Clear_basket
	Refresh_request
	Refresh_do
	*/
}









//------------------------------------------------------

//used for adding basket line that already exists on the website database
Basket_control.prototype.Add_line = function (part_code, quantity, price_ex, price_inc, description, image, part_code_url, basket_line_no)
{
	this.lines.push(new Basket_line(part_code, quantity, price_ex, price_inc, description, image, part_code_url, basket_line_no));
}









//------------------------------------------------------
Basket_control.prototype.Delete_line = function (cost_list_index,  update_website)
{
	var k = this.lines[cost_list_index];
	
	if (update_website)
	{
		var d = new Date();
		var t = d.getTime();
		
		ajax.Make_request("doGet",pricing_delete_error, cost_list_index, ebsl_base_url + 'store/job_processing_update_pricing.asp?cost_item_id=' + k.cost_item_id + '&pricing_form_action=delete' + '&cost_job_no=' + this.job_no + '&cost_random_id=' + k.cost_random_id + '&t=' + t,formData2QueryString(Gebid('pricing_form')),pricing_delete_response);
	
	}
	
	this.lines[cost_list_index] = null;
	
}






	
	



//------------------------------------------------------
Basket_control.prototype.Clear_basket = function ()
{
	this.lines.length = 0;
	
	this.subtotal_ex = 0;
	this.discount = 0;
	this.online_discount = 0;
	this.volume_discount = 0;
	this.delivery = 0;
	this.vat = 0;
	this.total = 0;
	this.saved_basket_count = 0;
	this.base_url = "";
}









//------------------------------------------------------
Basket_control.prototype.Refresh_request = function ()
{
	var d = new Date();
	var t = d.getTime();
	ajax.Make_request("doGet",Redisplay_basket_error, 0, ebsl_base_url + 'store/retrieve_basket.asp?t=' + t,"",Redisplay_basket);
	
}












//------------------------------------------------------
Basket_control.prototype.Refresh_do = function (str)
{
	
	var i,j,k;
	var input = str.split(this.delimiter1);
	
	this.Clear_basket();
	
	for (i = 0; i < input.length; i++)
	{
		var field = input[i].split(this.delimiter2);
		if (field[0] == "totals")
		{
			this.subtotal_ex = field[1];
			this.delivery = field[2];
			this.vat = field[3];
			this.total = field[4];
			this.base_url = field[5];
		}
		
		if (field[0] == "line")
		{
			this.Add_line(field[1],field[2],field[3],field[4],field[5],field[6],field[7],field[8])
		}
		
		
		
		if (field[0] == "saved_basket_count")
		{
			try
			{
				this.saved_basket_count = parseInt(field[1]);
			}
			catch( e )
			{
				this.saved_basket_count = 0;
			}
		}
		
		
		if (field[0] == "end")
		{
			//alert("end");
		}
		
		
	}
	
	
	this.Redisplay_basket(this.basket_container_div);
}













//------------------------------------------------------
Basket_control.prototype.Redisplay_basket = function (target_div_id)
{
	var basket_html = "";
	var i,j,k;
	var total = 0;
	
	
	
	if (this.lines.length == 0)
	{
		basket_html = "";
		basket_html += '<div class="basket_empty">Your basket is empty</div>';
	
	}
	
	else
	{
		
		//basket lines
		for (i = 0; i < this.lines.length; i++)
		{
			if (this.lines[i])
			{
				
				k = this.lines[i];
				
				
				basket_html += '<div class="basket_item">';

				
				if (k.image.length > 0)
				{
					basket_html += '<a href="' + k.part_code_url + '" title="'+ k.description +  '"><img border="0" src="';
					basket_html += k.image;
					basket_html += '"></a>';
				}		
				
				
				basket_html += '<div class="basket_item_text">';
				
				basket_html += '<img src="';
				basket_html += this.base_url;
				basket_html += 'store/images/delete_from_basket_x.gif" alt="delete from basket"  title="delete this item from your basket" onclick="Basket_item_delete(';
				basket_html += "'";
				basket_html += k.basket_line_no;
				basket_html += "'";
				basket_html += ')">';
				basket_html += '<p class="qty">Qty: <span>' + k.quantity + '</span></p>';
				
				basket_html += '<p class="price_ex">' + k.price_ex;
				if (parseInt(k.quantity > 1))
				{
					basket_html += ' each';
				}
				basket_html += '</span> ex vat</p>';
				
				
				basket_html += '<p class="price_inc">' + k.price_inc;
				if (parseInt(k.quantity > 1))
				{
					basket_html += ' each';
				}
				basket_html += '</span> inc vat</p>';


				basket_html += '</div><div class="product_description">';
				basket_html += '<a href="' + k.part_code_url;
				basket_html += '"  title="Click to view.">';
				basket_html += k.description;
				basket_html += '</a></div></div>';
				
				
			}
		}	
			
			
		
		
		//basket totals	
			
		basket_html += '<table id="basket_rh_totals">';
		basket_html += '<tr class="subtotal">';
		basket_html += '<td class="title">Subtotal ex vat:</td>';
		basket_html += '<td class="value">';	
		basket_html += this.subtotal_ex;
		basket_html += '</td>';
		basket_html += '</tr>';
		basket_html += '<tr class="delivery">';	
		basket_html += '<td class="title">Delivery:</td>';
		basket_html += '<td class="value">';
		basket_html += this.delivery;
		basket_html += '</td>';	
		basket_html += '</tr>';
		basket_html += '<tr class="vat">';
		basket_html += '<td class="title">VAT:</td>';
		basket_html += '<td class="value">';	
		basket_html += this.vat;
		basket_html += '</td>';	
		basket_html += '</tr>';
		basket_html += '<tr class="total">';	
		basket_html += '<td class="title">Total:</td>';
		basket_html += '<td class="value">';
		basket_html += this.total;
		basket_html += '</td>';	
		basket_html += '</tr>';
		basket_html += '</table>';
		basket_html += '<div id="basket_rh_checkout_button">';
		basket_html += '<a href="' + this.base_url + 'store/view_basket.asp"><img border="0" src="' + this.base_url + 'store/images/go_to_checkout_button.gif" alt="Go to checkout" title="Click to go to the checkout"></a>';	
		basket_html += '</div>';
		
		
		
	}
	
	
	
	
	
	//apply update
	Gebid(target_div_id).innerHTML = basket_html;
	
	
}







//=======================================================
						
function Basket_line(part_code, quantity, price_ex, price_inc, description, image, part_code_url, basket_line_no)
{
	
	this.part_code = part_code;
	this.quantity = quantity;
	this.price_ex = price_ex;
	this.price_inc = price_inc;
	this.description = description;
	this.image = image;
	this.part_code_url = part_code_url;
	this.basket_line_no = basket_line_no;
	/* functions:
	
	*/
}










//------------------------------------------------------






//-->