	// global functions
	function GetXmlHttpObject()
	{ 
		var objXMLHttp = null
		if (window.XMLHttpRequest)
		{
			objXMLHttp=new XMLHttpRequest();
		}
		else if (window.ActiveXObject)
		{
			objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		return objXMLHttp;
	}

	function AjaxRefreshLingerieSearchMatches()
	{
		var index, element, size, colour, type;
		
		// size
		element = document.getElementById("lingerie_search_size");
		index = element.selectedIndex;
		size = element[index].value;
		
		// colour
		element = document.getElementById("lingerie_search_colour");
		index = element.selectedIndex;
		colour = element[index].value;
		
		// range
		element = document.getElementById("lingerie_search_type");
		index = element.selectedIndex;
		type = element[index].value;
		
		// fire off request
		xmlHttp = GetXmlHttpObject()
		if (xmlHttp == null)
		{
			alert("Browser does not support HTTP Request");
			return;
		}
		
		var url = "ajax/ajax_lingerie_search.php";
		url = url + "?size=" + size;
		url = url + "&colour=" + colour;
		url = url + "&type=" + type;
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = stateChangedAjaxRefreshLingerieSearchMatches;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	} 

	function stateChangedAjaxRefreshLingerieSearchMatches() 
	{ 
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
		{
			var result;
			var elements = new Array();
			var output_string;
			
			result = xmlHttp.responseText;
			
			document.getElementById("searchMatches").innerHTML = result;
		} 
		return;
	}
	
	// updates heard about us when order complete
	function AjaxUpdateHeardAboutUs(order_ref, heardaboutus)
	{
		// fire off request
		xmlHttp = GetXmlHttpObject()
		if (xmlHttp == null)
		{
			alert("Browser does not support HTTP Request");
			return;
		}
		
		var url = "ajax/ajax_checkout_complete_heard_about_us.php";
		url = url + "?orderref=" + order_ref;
		url = url + "&heardaboutus=" + heardaboutus;
		url = url + "&sid=" + Math.random();
		xmlHttp.onreadystatechange = stateChangedAjaxUpdateHeardAboutUs;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	} 

	function stateChangedAjaxUpdateHeardAboutUs() 
	{ 
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
		{
			var result;
			result = xmlHttp.responseText;
			document.getElementById("heardaboutus_container").innerHTML = result;
		} 
		return;
	}

	// basket function - change discount code
	function changeDiscountCode()
	{
		document.getElementById("discount_code").value = "";
		document.basket.submit();
	}
	
	// basket function - verify that discount code has been updated before proceeding to checkout
	function proceedToCheckout()
	{
		var discount = document.getElementById("discount_code").value;
		if (document.getElementById("discount_code").type == "text" && discount.length > 0)
		{
			//	prompt user to update basket before proceeding
			alert("You've entered a discount code - please ensure you choose update basket first to verify and activate the discount code before proceeding to checkout");
			return false;
		}
		else
		{
			// proceed to checkout
			window.location.href = "/checkout?pg=address";
		}
	}
	
	function checkDeclarationBeforeProceeding()
	{
		var declaration = document.getElementById("declaration");
		if (declaration.checked)
		{
			// place order and proceed to payment
			window.location.href = "/checkout?pg=payment";	
			return true;
		}
		else
		{
			alert("Please tick the box to confirm that you have accepted our terms & conditions and returns policy");
			declaration.focus();
			return false;
		}
		
		return false;
	}
	
	function toggleDeclaration()
	{
		var declaration_label = document.getElementById("lbl_declaration_required");
		var declaration = document.getElementById("declaration");
		if (declaration.checked)
		{
			declaration_label.style.color = "#009900";
			declaration_label.innerHTML = "Thanks";
		}
		else
		{
			declaration_label.style.color = "#CC0000";
			declaration_label.innerHTML = "(Required)";
		}
	}
	
	// XHTML strict target attribute replacement.  uses rel="external" 
	function externalLinks() 
	{   
		if (!document.getElementsByTagName) return;   
		var anchors = document.getElementsByTagName("a");   
		for (var i=0; i<anchors.length; i++) 
		{   
			var anchor = anchors[i];   
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")   
			{
				anchor.target = "_blank";   
			}   
		}   
	}
	
	window.onload = externalLinks;