function makeRequest() {
	var httpRequest;
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
			// See note below about this line
		}
	} 
	else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
					   try {
							httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
						   } 
						 catch (e) {}
					  }
								   }
	if (!httpRequest) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	else {
		return httpRequest;
	}
}
var http_request = makeRequest();
var product_id = '';
function add2cart( pid ){
	product_id = pid;
	if (http_request.readyState == 4 || http_request.readyState == 0) {
		
		// send request
		var str_product_id = escape(product_id);
		var qty = getEl( 'qty' + str_product_id ).value;
		if ( qty <= 0  || isNaN(qty) || isNaN(str_product_id) ){
			return
		}
		var rnd_no = Math.round(10000*Math.random());
		var href = 'aj/add2cart.php';
		var query_string = '?pid=' + str_product_id + '&qty=' + qty + '&rnd=' + rnd_no;
		http_request.open("GET", href + query_string, true);
		http_request.onreadystatechange = updatePage; 
		http_request.send(null);
	}		
}
function updatePage() {
	if (http_request.readyState == 4) {
		response = http_request.responseText;
		array_response = response.split( "\n" );
		var stock = array_response[0];
		if(stock > 0)
		{
			var itemsString = array_response[1];
			var fCartTotal = array_response[2];
			var prodName = array_response[3];
			var addQty = array_response[4];
			var cart_header = array_response[5];// dwalker
			var cart_header_frame = array_response[6];// dwalker
	
			add_item_plural_string = addQty == 1 ? '' : 's';
			
			getEl( 'shopping_box' ).innerHTML = cart_header_frame; // dwalker
			getEl( 'cart_header' ).innerHTML = cart_header; // dwalker
			getEl( 'cartTotalItems' ).innerHTML = itemsString;
			getEl( 'fCartTotal' ).innerHTML = fCartTotal;
	
			$( 'img.view_cart_images' ).attr('src', 'ecommerce_client/ec_images/ec_buttons/btn_viewbasket.gif');
			$( 'img.view_cart_images' ).attr('alt', 'View Basket');
			$( 'img.view_cart_images' ).attr('title', 'View Basket');
			$('img.view_cart_images').wrap('<a href="ec_cart_view.php"></a>');
	
			var img_id = "#prod_img_" + product_id;
			$(img_id).fadeOut(500);
			
			var successful_add_id = "#successful_add_" + product_id;
			var successful_add_message = 'You have added ' + addQty + ' ' + prodName + ' to your basket';
			
			$( successful_add_id ).fadeIn(1000);
			$( successful_add_id ).text( successful_add_message );
		
			setTimeout(function(){$(img_id).fadeIn(1000);}, 1000);
			setTimeout(function(){$( successful_add_id ).fadeOut(1000)}, 5000);
			setTimeout(function(){$( successful_add_id ).text('')}, 6000);
		}
		else if(stock == 'error')
		{
			
			var successful_add_id = "#form_" + product_id;
			$( successful_add_id ).html( array_response[1] );
			
		}
		else if(stock == 0)
		{
			var itemsString = array_response[1];
			var fCartTotal = array_response[2];
			var prodName = array_response[3];
			var addQty = array_response[4];
			var cart_header = array_response[5];// dwalker
			var cart_header_frame = array_response[6];// dwalker
	
			add_item_plural_string = addQty == 1 ? '' : 's';
			
			getEl( 'shopping_box' ).innerHTML = cart_header_frame; // dwalker
			getEl( 'cart_header' ).innerHTML = cart_header; // dwalker
			getEl( 'cartTotalItems' ).innerHTML = itemsString;
			getEl( 'fCartTotal' ).innerHTML = fCartTotal;
	
			$( 'img.view_cart_images' ).attr('src', 'ecommerce_client/ec_images/ec_buttons/btn_viewbasket.gif');
			$( 'img.view_cart_images' ).attr('alt', 'View Basket');
			$( 'img.view_cart_images' ).attr('title', 'View Basket');
			$('img.view_cart_images').wrap('<a href="ec_cart_view.php"></a>');
	
			var img_id = "#prod_img_" + product_id;
			$(img_id).fadeOut(500);
			
			
			var successful_add_id = "#successful_add_" + product_id;
			var successful_add_message = 'You have added ' + addQty + ' ' + prodName + ' to your basket';
			
			$( successful_add_id ).fadeIn(1000);
			$( successful_add_id ).text( successful_add_message );
		
			setTimeout(function(){$(img_id).fadeIn(1000);}, 1000);
			setTimeout(function(){$( successful_add_id ).fadeOut(1000)}, 5000);
			setTimeout(function(){$( successful_add_id ).text('')}, 6000);
			$("#add2cart"+ product_id).attr("disabled","disabled");
			$("#qty"+ product_id).hide();
			$("#add2cart"+ product_id).hide();
		}
		else
		{
			var itemsString = array_response[1];
			var fCartTotal = array_response[2];
			var prodName = array_response[3];
			var addQty = array_response[4];
			var cart_header = array_response[5];// dwalker
			var cart_header_frame = array_response[6];// dwalker
	
			add_item_plural_string = addQty == 1 ? '' : 's';
			
			getEl( 'shopping_box' ).innerHTML = cart_header_frame; // dwalker
			getEl( 'cart_header' ).innerHTML = cart_header; // dwalker
			getEl( 'cartTotalItems' ).innerHTML = itemsString;
			getEl( 'fCartTotal' ).innerHTML = fCartTotal;
	
			$( 'img.view_cart_images' ).attr('src', 'ecommerce_client/ec_images/ec_buttons/btn_viewbasket.gif');
			$( 'img.view_cart_images' ).attr('alt', 'View Basket');
			$( 'img.view_cart_images' ).attr('title', 'View Basket');
			
			$('img.view_cart_images').wrap('<a href="ec_cart_view.php"></a>');
	
			var img_id = "#prod_img_" + product_id;
			$(img_id).fadeOut(500);
			
			
			var stock_message = array_response[7];
			var successful_add_id = "#successful_add_" + product_id;
			var successful_add_message = stock_message;
			
			$( successful_add_id ).fadeIn(1000);
			$( successful_add_id ).text( successful_add_message );
		
			setTimeout(function(){$(img_id).fadeIn(1000);}, 1000);
			setTimeout(function(){$( successful_add_id ).fadeOut(1000)}, 5000);
			setTimeout(function(){$( successful_add_id ).text('')}, 6000);
			$("#add2cart"+ product_id).attr("disabled","disabled");
			$("#qty"+ product_id).hide();
			$("#add2cart"+ product_id).hide();
		}
	}
}
