function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer") {
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else {
		ro = new XMLHttpRequest();
	}
	return ro;
}

var http;
var http2;
var stockControlHttp;
var cartAction;
var numAvailable;

function getProductQuantity(product_id, size_id, section) {

	document.getElementById('productQuantityDiv').innerHTML = '<em>loading...</em>';
	
	http2 = createRequestObject();
	http2.open('get', getBaseURL() + 'inc/ajax-productquantity.php?product_id=' + escape(product_id) + '&size_id=' + escape(size_id) + '&section=' + escape(section));
	http2.onreadystatechange = updateProductQuantity;
	http2.send(null);
	
}

function updateProductQuantity() {
	if (http2.readyState == 4) {
		var response = http2.responseText;
		document.getElementById('productQuantityDiv').innerHTML = response;
	}
}

function cart(action, productID, section) {

	var colour = 0;
	var size = 0;
	var quantity = 1;
	var foo;
	var shopType;
	
	cartAction = action;
	
	if (cartAction == 'add') {
		// get the colour
		if (document.getElementById('productColour')) {
			colour = document.getElementById('productColour').value;
		}
		// get the size
		if (document.getElementById('productSize')) {
			size = document.getElementById('productSize').value;
			if (size == 0) {
				alert('Please choose a size.');
				return false;
			}
		}
		// get the quantity
		if (document.getElementById('productQuantity')) {
			quantity = document.getElementById('productQuantity').value;
			if (quantity == 0) {
				alert('Please choose a quantity.');
				return false;
			}
		}
		
		/*
		// check item is available
		do {
			stockControlHttp = createRequestObject();
			stockControlHttp.open('get','../checkavailability.php');
			stockControlHttp.onreadystatechange = handleStockControlResponse;
			stockControlHttp.send(null);
		} while (typeof numAvailable == 'undefined');
		
		alert (typeof numAvailable);
		
		if (numAvailable == 0) {
			alert('None available! Sorry!');
			return false;
		}
		// destroy stockControlHttp obj
		stockControlHttp = null;
		*/
		
	}
	
	http = createRequestObject();
	http.open('get', getBaseURL() + 'shop/cart.php?action=' + action + '&id=' + productID + '&colour=' + colour + '&size=' + size + '&section=' + section + '&quantity=' + quantity);
	http.onreadystatechange = handleResponse;
	http.send(null);

}

function handleResponse() {
	if (http.readyState == 4) {
		var response = http.responseText;
		document.getElementById('theCart').innerHTML = response;
	}
	/*
	if (cartAction == 'add') {
		fadeup('newCartItem',122,122,78);
	}
	*/
}

function handleStockControlResponse() {
	if (stockControlHttp.readyState == 4) {
		var stResponse = stockControlHttp.responseXML;
		numAvailable = parseInt(stResponse.getElementsByTagName('num')[0].firstChild.nodeValue);
	}
}

function fadeup(elementId,red,green,blue) {

	if (document.getElementById(elementId)) {
	
		if (red ==255 && green == 255 && blue==255) {
			document.getElementById(elementId).style.backgroundColor = "transparent";
			return true;
		}
	
		document.getElementById(elementId).style.backgroundColor = "rgb("+red+","+green+","+blue+")";
		red = red + Math.ceil((255 - red)/10);
		green = green + Math.ceil((255-green)/10);
		blue = blue + Math.ceil((255-blue)/10);
		setTimeout("fadeup('"+elementId+"',"+red+","+green+","+blue+")", 20);
		
	}

}

