// not currently in use, ajaxPOST works, but needs some testing
var http_request;
function ajaxPOST(xForm, update)
{
	updateID = document.getElementById(update);
	xForm = document.forms[xForm];
	url = xForm.action; // get form posting url
	parameters = formValues(xForm);
	parameters += ((parameters.indexOf('&') > 0) ? '&' : '')+'ajax=1';

	http_request = false;
	if (window.XMLHttpRequest) // Mozilla, Safari,...
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	}
	else if (window.ActiveXObject) // IE
	{
		try {http_request = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e)
		{
			try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e) {}
		}
	}
	if (!http_request)
	{
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = alertContents;
	http_request.open('post', url, true);
	http_request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	http_request.setRequestHeader('Content-length', parameters.length);
	http_request.setRequestHeader('Connection', 'close');
	http_request.send(parameters);
}
// get all current values in a form for creating query string
function formValues(xForm)
{
	var output_string = ''; // string containing output
	var output = new Array();
	for (var i = 0, j = xForm.elements.length; i < j; i++)
	{
		inputType = xForm.elements[i].type;
		if (inputType == 'checkbox' || inputType == 'radio')
		{
			if (xForm.elements[i].checked) output[xForm.elements[i].name] = escape(xForm.elements[i].value);
		}
		else output[xForm.elements[i].name] = escape(xForm.elements[i].value);
	}
	// create output string to send back
	for (key in output) output_string += ((output_string) ? '&' : '')+key+'='+output[key];
	return output_string;
}


function ajaxURL(update, url, alertAfter)
{
    if (update) updateID = document.getElementById(update);

    if (!alertAfter) alertAfter = alertContents;

    http_request = false;
	if (window.XMLHttpRequest) // Mozilla, Safari,...
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	}
	else if (window.ActiveXObject) // IE
	{
		try {http_request = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e)
		{
			try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e) {}
		}
	}
	if (!http_request)
	{
		alert('Cannot create XMLHTTP instance');
		return false;
    }
	http_request.onreadystatechange = alertAfter;
	http_request.open('get', url, true);
	http_request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	http_request.setRequestHeader('Content-length', url.length);
	http_request.setRequestHeader('Connection', 'close');
	http_request.send(url);
}

var hideBasketPop;
function alertBasket()
{
    if (http_request.readyState == 4)
	{
        hideBasketPop = setTimeout("hideBasket()", 3000);
        showBasket();

		if (http_request.status == 200)
		{
			//alert(http_request.responseText);
			result = http_request.responseText;
			basketContents.innerHTML = result;
		}
		else basketContents.innerHTML = 'Could not add item to basket';
	}
}
function showBasket()
{
	hideBasket();
	shoppingBasket = document.getElementById('shopping_basket');
    basketContents = document.getElementById('shopping_basket_content');
    if (shoppingBasket.style.display = 'none')
    {
        userTab = document.getElementById('myacc_user_tab');

        userTabX = userTab.offsetLeft;
		userTabY = userTab.offsetTop;

		xbodyScrollTop = document.documentElement.scrollTop; // get amount of body scroll

		shoppingBasket.style.left = (userTabX-parseInt(shoppingBasket.style.width))+'px'; //'237px';
		shoppingBasket.style.top = ((xbodyScrollTop > userTabY) ? xbodyScrollTop : (userTabY-20))+'px'; //'633px';

        shoppingBasket.style.display = '';
    }
}

function hideBasket()
{
    shoppingBasket = document.getElementById('shopping_basket');
    basketContents = document.getElementById('shopping_basket_content');
    shoppingBasket.style.display = 'none';
    basketContents.innerHTML = '<p align="center" style="padding: 10px;">Adding item to basket<br /><br /><br /><img src="images/loader.gif" width="60" height="6" alt="" /><br /><br />';
}



var updateID; // element to update with results
function alertContents()
{
	if (http_request.readyState == 4)
	{
		if (http_request.status == 200)
		{
			//alert(http_request.responseText);
			result = http_request.responseText; 
			updateID.innerHTML = result;
		}
		else alert('There was a problem with the request. Please try again.');
	}
}

