function myopen(filename,windowname,properties)
	{
	mywindow = window.open(filename,windowname,properties);
	}

function getXMLHTTPRequest()
	{
	var request = false;

	if (window.XMLHttpRequest)
		{
		request = new XMLHttpRequest();
		}
	else
		{
		if (window.ActiveXObject)
			{
			try
				{
				request = new ActiveXObject("Msml2.XMLHTTP");
				}
			catch (err1)
				{
				try
					{
					request = new ActiveXObject("Microsoft.XMLHTTP");
					}
				catch (err2)
					{
					request = false;
					}
				}
			}
		}

	return request;
	}

var myRequest = getXMLHTTPRequest();

function getMethod(myurl, query, div_name)
	{
	var myRand = new Date().getTime();
	var modurl = myurl + "?" + query + "&rand=" + myRand;
	myRequest.open("GET", modurl, true);
	myRequest.onreadystatechange = useHttpResponse(div_name);
	myRequest.send(null);
	}

var div_id = '';
var next_myurl = '';
var next_query = '';
var next_next_div_name = '';

function postMethod(myurl, query, div_name, thisform, x_next_myurl, x_next_query, x_next_div_name)
	{
	if (thisform)
		{
		var query = '';

		for (i=0,n=thisform.elements.length;i<n;i++)
			{
			if (query)
				{
				query = query + '&' + escape(thisform.elements[i].name) + '=' + escape(thisform.elements[i].value);
				}
			else
				{
				query = escape(thisform.elements[i].name) + '=' + escape(thisform.elements[i].value);
				}
			}
		}

	div_id = div_name;
	myRequest.open("POST", myurl, true);
	myRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	myRequest.onreadystatechange = useHttpResponse;
	myRequest.send(query);

	if (x_next_myurl)
		{
		next_myurl = x_next_myurl;
		}
	if (x_next_query)
		{
		next_query = x_next_query;
		}
	if (x_next_myurl)
		{
		next_div_name = x_next_div_name;
		}
	}

function useHttpResponse()
	{
	if (myRequest.readyState == 4)
		{
		if (myRequest.status == 200)
			{
			var response = myRequest.responseText;
			document.getElementById(div_id).innerHTML = response;

			if ((next_myurl) && (next_div_name))
				{
				postMethod(next_myurl, next_query, next_div_name);

				next_myurl = '';
				next_query = '';
				next_next_div_name = '';
				}
			}
		else
			{
			alert("An error has occured:" + myRequest.statusText);
			}
		}
	}

function load_main_cart()
	{
	postMethod('/cgi-bin/jump_nav_new_lib.cgi', 'view=cart', 'main');
	}

function add_to_cart(thisform)
	{
	var this_resource_id = thisform.resource_id.value;
	var this_qty = thisform.qty.value;
	var this_size = thisform.size[thisform.size.selectedIndex].value;

	var query = 'view=cart_small&task=add&qty=' + this_qty + '&size=' + this_size + '&resource_id=' + this_resource_id;

	postMethod('/cgi-bin/jump_nav_new_lib.cgi', query, 'cart');
	}

function update_cart(thisform)
	{
	var this_resource_id = thisform.resource_id.value;
	var this_qty = thisform.qty.value;
	var this_size = thisform.size.value;

	var query = 'view=cart_small&task=update&qty=' + this_qty + '&size=' + this_size + '&resource_id=' + this_resource_id;

	postMethod('/cgi-bin/jump_nav_new_lib.cgi', query, 'cart');

	setTimeout('load_main_cart()',1000);
	}

function empty_cart()
	{
	var query = 'view=cart_small&task=empty';

	postMethod('/cgi-bin/jump_nav_new_lib.cgi', query, 'cart');

	setTimeout('load_main_cart()',1000);
	}

function check_form(thisform, url)
	{
	if (!thisform.name.value)
		{
		alert('Please enter your name.');
		thisform.name.focus();
		return false;
		}
	if (!thisform.address.value)
		{
		alert('Please enter your billing address.');
		thisform.address.focus();
		return false;
		}
	if (!thisform.city.value)
		{
		alert('Please enter your city.');
		thisform.city.focus();
		return false;
		}
	if (!thisform.county.value)
		{
		alert('Please enter your county.');
		thisform.county.focus();
		return false;
		}
	if (!thisform.postcode.value)
		{
		alert('Please enter your postcode.');
		thisform.postcode.focus();
		return false;
		}
	if (!thisform.telephone.value)
		{
		alert('Please enter your telephone number.');
		thisform.telephone.focus();
		return false;
		}
	if (!thisform.email.value)
		{
		alert('Please enter your e-mail address.');
		thisform.email.focus();
		return false;
		}

	if (thisform.credit_card_type.selectedIndex == 0)
		{
		alert('Please specify your credit card type.');
		thisform.credit_card_type.focus();
		return false;
		}
	if (!thisform.credit_card_name.value)
		{
		alert('Please enter your name that appears on your credit card.');
		thisform.credit_card_name.focus();
		return false;
		}
	var credit_card_number = thisform.credit_card_number.value;
	if (credit_card_number.match(/^\d{16}$/))
		{

		}
	else
		{
		alert('Please enter your credit card number.');
		thisform.credit_card_number.focus();
		return false;
		}
	if ((thisform.exp_mon.selectedIndex == 0) || (thisform.exp_year.selectedIndex == 0))
		{
		alert('Please specify your credit card expiry month and year.');
		thisform.exp_mon.focus();
		return false;
		}

	postMethod(url, '', 'main', thisform);
	}

function shop_by_brand(url, thisform, div_name)
	{
	var this_brand = thisform.brand[thisform.brand.selectedIndex].value;

	if (this_brand)
		{
		query = 'view=contents&brand=' + escape(this_brand);
		postMethod(url, query, div_name, '', url, 'view=menu&type=brand&brand=' + escape(this_brand), 'menu');
		}
	}

function submit_search(url, thisform, div_name)
	{
	query = 'view=contents&q=' + thisform.q.value;

	postMethod(url, query, div_name);
	}

function javascript_alert(message)
	{
	alert(message);
	}
