function getSeasonDateRange(startdate, enddate){
	var retval = "";
	
	if (startdate!=null && enddate != null){
		var year = enddate.getYear();
		
		retval = getDateInStr(startdate) + " " + 
				 getMonthName(startdate) + " - " + 
				 getDateInStr(enddate) + " " + 
				 getMonthName(enddate) + " " +
				 year;
	}
	
	return retval;
}

function getEventDateText(eventdate){
	var retval = "";
	
	if (eventdate!=null){
	
		retval = getDayName(eventdate) + " " + 
				 getDateInStr(eventdate) + " " + 
				 getMonthName(eventdate);
	}
	
	return retval;
}

	function dologin(){
		login(loginHandler, document.forms["loginfrm"]);
	}
	
	function loginHandler(xmlreqwrapper){
	
		var statusobj = xmlreqwrapper.responseXML.getElementsByTagName("status")[0];

		var status = null;
		
		if (window.ActiveXObject){// if this is IE
			status = statusobj.text;
		}else{
			status = statusobj.textContent;
		}
		
		if (status != "SUCCESS"){
			document.getElementById("login_error").innerHTML = "Invalid login details";		
		}else{
			var userdata = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
			if (userdata!=null){
				var userid = getNodeChildValue(userdata.childNodes[0],"userid");
				var firstname = getNodeChildValue(userdata.childNodes[0],"firstname");
				if (userid){setCookie("userid",userid)};
				if (firstname){setCookie("firstname",firstname)};

				window.location="account.htm";
				showLoginArea();
			}
		}	
	}
	
	function showLoginArea(){
		var userid = getCookie("userid");
		var firstname = getCookie("firstname");

		var content = null;
		
		if (userid){		
			content =             	
					"<table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"2\">"
		           +" <tr>"
		           +"   <td width=\"36%\" align=\"left\" class=\"grey_kiosk\">Hello "+ firstname + "</td>"
		           +" </tr>"
		           +" <tr>"
		           +"   <td align=\"right\"><a href=\"\" onclick=\"dologout()\">Logout</a></td>"
		           +" </tr>"
		           +" </table>";
		           
		}else{
		   content =             	
                "<form name=\"loginfrm\">"
			   +"<table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"2\">"
	           +" <tr>"
	           +"   <td width=\"36%\" align=\"left\" class=\"grey_kiosk\">email:</td>"
	           +"   <td width=\"64%\" align=\"right\"><input name=\"email\" type=\"text\" class=\"textarea_kiosk\" size=\"12\"></td>"
	           +" </tr>"
	           +" <tr>"
	           +"   <td align=\"left\" class=\"grey_kiosk\">password:</td>"
	           +"   <td align=\"right\"><input name=\"pwd\" type=\"password\" class=\"textarea_kiosk\" size=\"12\"></td>"
	           +" </tr>"
	           +" <tr>"
	           +"   <td colspan=\"2\" align=\"right\"><img type=\"image\" src=\"images/go.gif\" width=\"39\" height=\"20\" onclick=\"dologin()\"></td>"
	           +" </tr>"
	           +" <tr>"
	           +"   <td id=\"login_error\" colspan=\"2\" align=\"right\" class=\"red_kiosk\"></td>"
	           +" </tr>"
	           +" <tr>"
	           +"   <td colspan=\"2\" align=\"right\" class=\"lightblue_kiosk\"><a href=\"password_reminder.htm\" class=\"lightblue_kiosk\">Forgotten your details? </a></td>"
	           +" </tr>"
	              +" <tr>"
	           +"   <td colspan=\"2\" align=\"right\" class=\"lightblue_kiosk\"><a href=\"register_new.htm\" class=\"lightblue_kiosk\">New users register here </a></td>"
	           +" </tr>"
				+" </form>"
	           +" </table>";
		}

	    document.getElementById("login_area").innerHTML = content;  
	}
	
	function showAccountLinks(){
	
		var loggedin = isLoggedIn();

		var content = 
            "<table width=\"600\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">"
           +"     <tr>"
           +"		<td align=\"left\" width=\"25%\" class=\"textarea_kiosk\"><b>Personal Information</b></td>"
           +"       <td align=\"right\">&nbsp;</td>"
           +"   </tr>"
           +"   <tr>"
           +"       <td align=\"left\" width=\"50%\" valign=\"top\">"
           +"       <ul>";
           if (!loggedin){
	           content = content +"           <li><a href=\"register_new.htm\" class=\"textarea_kiosk\">Register</a></li>";	
           }else{
	           content = content +"           <li><a href=\"register_changedetail.htm\" class=\"textarea_kiosk\">Change your name, e-mail address, or password</a></li>";
	       }
           content = content +"       </ul>"
           +"         </td>"
           +"        <td align=\"left\" width=\"50%\" valign=\"top\">"
           +"         <ul>";
           if (!loggedin){
	           content = content +"          <li><a href=\"password_reminder.htm\" class=\"textarea_kiosk\">Have you forgotten your password?</a></li>";
           }else{
	           content = content +"       <li><a href=\"register_changeaddress.htm\" class=\"textarea_kiosk\">Enter or edit your address</a></li>";
 	       }
           content = content +"      </ul>"
           +"         </td>"
           +"    </tr>";
           
           if (loggedin){
	           content = content +"    <tr>"
	           +"    <tr>"
	           +"        <td colspan=\"2\">"
	           +"        <hr size=\"-1\" noshade color=\"#cccc99\">"
	           +"       </td>"
	           +"    </tr>"
	           +"		<td colspan=\"2\" align=\"left\" width=\"25%\" class=\"textarea_kiosk\"><b>My Orders</b></td>"
	           +"    </tr>"
	           +"    <tr>"
	           +"        <td align=\"left\" width=\"50%\" valign=\"top\">"
	           +"        <ul>"
	           +"            <li><a href=\"order_tracking.htm\" class=\"textarea_kiosk\">Order Information and Tracking</a></li>"
	           +"        </ul>"
	           +"        </td>"
	           +"        <td width=\"50%\" valign=\"top\">"
	           +"        <ul></ul>"
	           +"        </td>"
	           +"    </tr>";  
	       }
	       
           content = content +" </table>";
           
      	document.getElementById("account_links").innerHTML=content;
    }

	function showAccountLinks(){
	
		var loggedin = isLoggedIn();

		var content = 
            "<table width=\"600\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">"
           +"     <tr>"
           +"		<td align=\"left\" width=\"25%\" class=\"textarea_kiosk\"><b>Personal Information</b></td>"
           +"       <td align=\"right\">&nbsp;</td>"
           +"   </tr>"
           +"   <tr>"
           +"       <td align=\"left\" width=\"50%\" valign=\"top\">"
           +"       <ul>";
           if (!loggedin){
	           content = content +"           <li><a href=\"register_new.htm\" class=\"textarea_kiosk\">Register</a></li>";	
           }else{
	           content = content +"           <li><a href=\"register_changedetail.htm\" class=\"textarea_kiosk\">Change your name, e-mail address, or password</a></li>";
	       }
           content = content +"       </ul>"
           +"         </td>"
           +"        <td align=\"left\" width=\"50%\" valign=\"top\">"
           +"         <ul>";
           if (!loggedin){
	           content = content +"          <li><a href=\"password_reminder.htm\" class=\"textarea_kiosk\">Have you forgotten your password?</a></li>";
           }else{
	           content = content +"       <li><a href=\"register_changeaddress.htm\" class=\"textarea_kiosk\">Enter or edit your address</a></li>";
 	       }
           content = content +"      </ul>"
           +"         </td>"
           +"    </tr>";
           
           if (loggedin){
	           content = content +"    <tr>"
	           +"    <tr>"
	           +"        <td colspan=\"2\">"
	           +"        <hr size=\"-1\" noshade color=\"#cccc99\">"
	           +"       </td>"
	           +"    </tr>"
	           +"		<td colspan=\"2\" align=\"left\" width=\"25%\" class=\"textarea_kiosk\"><b>Your Orders</b></td>"
	           +"    </tr>"
	           +"    <tr>"
	           +"        <td align=\"left\" width=\"50%\" valign=\"top\">"
	           +"        <ul>"
	           +"            <li><a href=\"order_tracking.htm\" class=\"textarea_kiosk\">Order Information and Tracking</a></li>"
	           +"        </ul>"
	           +"        </td>"
	           +"        <td width=\"50%\" valign=\"top\">"
	           +"        <ul></ul>"
	           +"        </td>"
	           +"    </tr>";
	       }
	       
           content = content +" </table>";
           
      	document.getElementById("account_links").innerHTML=content;
    }
	function getAllSeasonsFixtures() {
		getProductCategoryGroups(allSeasonsDisplay,0,"true","false");
	}
	
	function allSeasonsDisplay(xmlreqwrapper){
		
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		if (data!=null){
			for (var i=0; i<data.childNodes.length;i++){
				
				var seasondata = data.childNodes[i];
				var seasonid = getNodeChildValue(seasondata,"groupid");
				var season = getNodeChildValue(seasondata,"groupname");
				var seasonstartDatestr = getNodeChildValue(seasondata,"extensionField1");
				var seasonendDatestr = getNodeChildValue(seasondata,"extensionField2");
				
				var seasonstart = getJSDate(seasonstartDatestr);
				var seasonend = getJSDate(seasonendDatestr);
				
				if(season == "Royal Ascot"){
					var content = 
		                  "<table id=\"royal_ascot\" width=\"188\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"border_kiosk\">"
		                + "   <tr>"
		                + "      <td height=\"46\" colspan=\"2\" align=\"center\"><a href=\"royal.htm?seasonid="+ seasonid + "\"><img src=\"images/ralogo.gif\" alt=\"Royal Ascot\" width=\"95\" height=\"36\" border=\"0\"></a></td>"
		                + "      </tr>"
		                + "    <tr bgcolor=\"#bfa05c\">"
		                + "       <td colspan=\"2\" align=\"center\"><span id=\"royal_ascot_desc\" class=\"white_kiosk\"> " + getSeasonDateRange(seasonstart, seasonend) + "</span></td>"
		                + "      </tr>"
		                + "    <tr>"
		                + "      <td height=\"40\" colspan=\"2\" align=\"center\"><img src=\"images/rungoldiconsml.gif\" alt=\"racing\" width=\"60\" height=\"41\"></td>"
		                + "    </tr>";
		
		            var k = 0;
		            
					for (var j=0; j<seasondata.childNodes.length;j++){
						var node = seasondata.childNodes[j];
						if (node.nodeName=="productcategory"){
							k++;
							var categoryid = getNodeChildValue(node,"categoryid");
							var eventdatestr = getNodeChildValue(node,"extensionField1");
							var eventdate = getJSDate(eventdatestr);
							
							if (k==1){
								content = content + " <tr bgcolor=\"F1E4C6\">";
						        content = content + " <td width=\"150\" height=\"50\" align=\"left\" class=\"textgold_kiosk\"><a href=\"raevent.htm?eventid=" + categoryid  + "\">" + getEventDateText(eventdate) + "<br></a></td>";
						        content = content + " <td width=\"16\" align=\"center\"><span class=\"detailsgld_kisok\"><a href=\"raevent.htm?eventid=" + categoryid + "\"><img src=\"images/arwgld1.gif\" alt=\"book now\" width=\"10\" height=\"10\" border=\"0\"></a></span></td>";
						        content = content + "</tr>";
						    }else{
								content = content + " <tr>";
						        content = content + " <td height=\"50\" align=\"left\" class=\"textgold_kiosk\"><a href=\"raevent.htm?eventid=" + categoryid + "\">" + getEventDateText(eventdate) + "</a><br></td>";
						        content = content + " <td align=\"center\"><a href=\"raevent.htm?eventid=" + categoryid + "\"><img src=\"images/arwgld2.gif\" alt=\"book now\" width=\"10\" height=\"10\" border=\"0\"></a></td>";
						        content = content + " </tr>";					    	
						    	k=0;
						    }
						}
					}
					
					content = content + " </table>";
					var div_ra = document.getElementById("royal_ascot_content");
			        div_ra.innerHTML = content;
			        
				}else if (season=="Ascot Flat Season"){
		            var content = 
		              		"    <table width=\"100%\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"border_kiosk\">"
		            	  + "		<tr>"
		            	  + "			<td height=\"46\" colspan=\"2\" align=\"center\"><a href=\"flat.htm?seasonid="+ seasonid + "\" class=\"textarea_kiosk\"><img src=\"images/ascotlogo.gif\" alt=\"Ascot Flat Season\" width=\"83\" height=\"18\" border=\"0\"><br>FLAT SEASON</a></td>"
		            	  + "		</tr>"
		            	  + "		<tr bgcolor=\"#002065\">"
		            	  + "			<td colspan=\"2\" align=\"center\"><span class=\"white_kiosk\">" + getSeasonDateRange(seasonstart, seasonend) + "</span></td>"
		            	  + "		</tr>"
		            	  + "		<tr>"
		            	  + "			<td height=\"40\" colspan=\"2\" align=\"center\"><span class=\"textarea_kiosk\" style=\"font-weight: bold\"> <img src=\"images/runiconsml.gif\" alt=\"flat season\" width=\"60\" height=\"41\"></span></td>"
		            	  + "		</tr>";
		                	  		
		            var k = 0;
		            
					for (var j=0; j<seasondata.childNodes.length;j++){
						var node = seasondata.childNodes[j];
						if (node.nodeName=="productcategory"){
							k++;
							var categoryid = getNodeChildValue(node,"categoryid");
							var eventdatestr = getNodeChildValue(node,"extensionField1");
							var eventdate = getJSDate(eventdatestr);
							var description = getNodeChildValue(node,"description");
							
							if (k==1){
								content = content + "		<tr bgcolor=\"#dee9fc\">"
								content = content + "			<td width=\"150\" height=\"50\" align=\"left\" bgcolor=\"#dee9fc\" class=\"textarea_kiosk\"><a href=\"event.htm?eventid=" + categoryid  + "\">" + getEventDateText(eventdate) + "<br>" + description + "</a></td>";
								content = content + "			<td width=\"16\" align=\"center\"><a href=\"event.htm?eventid=" + categoryid + "\"><img src=\"images/arwblu2.gif\" alt=\"book now\" width=\"10\" height=\"10\" border=\"0\"></a></td>";
								content = content + "		</tr>";
						    }else{
								content = content + "		<tr>"
								content = content + "			<td height=\"50\" align=\"left\" class=\"textarea_kiosk\"><a href=\"event.htm?eventid=" + categoryid  + "\">" + getEventDateText(eventdate) + "<br>" + description + "</a></td>";
								content = content + "			<td align=\"center\"><a href=\"event.htm?eventid=" + categoryid + "\"><img src=\"images/arwblu1.gif\" alt=\"book now\" width=\"10\" height=\"10\" border=\"0\"></a></td>";
								content = content + "		</tr>";
						    	k=0;
						    }
						}
					}
					
					content = content + " </table>";
					var div_ra = document.getElementById("flat_season_content");
			        div_ra.innerHTML = content;
		
				}else if (season=="Ascot Jump Season"){
		            var content = 
		              		"    <table width=\"100%\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"border_kiosk\">"
		            	  + "		<tr>"
		            	  + "			<td height=\"46\" colspan=\"2\" align=\"center\"><a href=\"jump.htm?seasonid="+ seasonid + "\" class=\"textarea_kiosk\"><img src=\"images/ascotlogo.gif\" alt=\"Ascot Flat Season\" width=\"83\" height=\"18\" border=\"0\"><br>JUMP SEASON</a></td>"
		            	  + "		</tr>"
		            	  + "		<tr bgcolor=\"#002065\">"
		            	  + "			<td colspan=\"2\" align=\"center\"><span class=\"white_kiosk\">" + getSeasonDateRange(seasonstart, seasonend) + "</span></td>"
		            	  + "		</tr>"
		            	  + "		<tr>"
		            	  + "			<td height=\"40\" colspan=\"2\" align=\"center\"><span class=\"textarea_kiosk\" style=\"font-weight: bold\"> <img src=\"images/jumpiconsml.gif\" alt=\"flat season\" width=\"60\" height=\"41\"></span></td>"
		            	  + "		</tr>";
		                	  		
		            var k = 0;
		            
					for (var j=0; j<seasondata.childNodes.length;j++){
						var node = seasondata.childNodes[j];
						if (node.nodeName=="productcategory"){
							k++;
							var categoryid = getNodeChildValue(node,"categoryid");
							var eventdatestr = getNodeChildValue(node,"extensionField1");
							var eventdate = getJSDate(eventdatestr);
							var description = getNodeChildValue(node,"description");
							
							if (k==1){
								content = content + "		<tr bgcolor=\"#dee9fc\">"
								content = content + "			<td width=\"150\" height=\"50\" align=\"left\" bgcolor=\"#dee9fc\" class=\"textarea_kiosk\"><a href=\"event.htm?eventid=" + categoryid  + "\">" + getEventDateText(eventdate) + "<br>" + description + "</a></td>";
								content = content + "			<td width=\"16\" align=\"center\"><a href=\"event.htm?eventid=" + categoryid + "\"><img src=\"images/arwblu2.gif\" alt=\"book now\" width=\"10\" height=\"10\" border=\"0\"></a></td>";
								content = content + "		</tr>";
						    }else{
								content = content + "		<tr>"
								content = content + "			<td height=\"50\" align=\"left\" class=\"textarea_kiosk\"><a href=\"event.htm?eventid=" + categoryid  + "\">" + getEventDateText(eventdate) + "<br>" + description + "</a></td>";
								content = content + "			<td align=\"center\"><a href=\"event.htm?eventid=" + categoryid + "\"><img src=\"images/arwblu1.gif\" alt=\"book now\" width=\"10\" height=\"10\" border=\"0\"></a></td>";
								content = content + "		</tr>";
						    	k=0;
						    }
						}
					}
					
					content = content + " </table>";
					var div_ra = document.getElementById("jump_season_content");
			        div_ra.innerHTML = content;
		
				}
			}
		}
	}

	function getRASeasonEvent() {
	
		var categoryidstr = getQueryParameter("eventid");
		
		if (!isNaN(categoryidstr)){
			getProductCategory(RASeasonEventDisplay,parseInt(categoryidstr),"true","true");
		}
	}
	
	function RASeasonEventDisplay(xmlreqwrapper){
		
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		if (data != null){
		
			var eventdata = data.childNodes[0];
			
			if (eventdata){
				var categoryid = getNodeChildValue(eventdata,"categoryid");
				var categoryextdesc = formatStringForHMTLOutput(getNodeChildValue(eventdata,"description"));
				var eventdatestr = getNodeChildValue(eventdata,"extensionField1");
				var categoryextdescext = getNodeChildValue(eventdata,"extensionField3");
				document.getElementById("event_ext_desc").innerHTML = categoryextdescext;
				var eventdate = getJSDate(eventdatestr);
				
				document.getElementById("title").innerHTML = getEventDateText(eventdate);
				
				var content = "<form name=\"eventfrm\">"
					+ 	"<input name=\"categoryid\" id=\"categoryid\" type=\"hidden\" value=\""+ categoryid + "\">"
					+   "<table width=\"600\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">";
	            
				for (var i=0; i<eventdata.childNodes.length;i++){
					var node = eventdata.childNodes[i];
					if (node.nodeName=="inventoryitem"){
	
						var itemcode = getNodeChildValue(node,"itemcode");
						var itemdescription = formatStringForHMTLOutput(getNodeChildValue(node,"description"));
						var itemprice = getNodeChildValue(node,"singleprice");
						
						var itemqtyonhand = getNodeChildValue(node,"qtyonhand");

						content = content + "<tr>";
						content = content + "	<td colspan=\"1\" class=\"text_kiosk\">"+ itemdescription + "</td>";
						if  (itemqtyonhand == "-1.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>SOLD OUT<b></td>";
						}
	if  (itemqtyonhand == "-2.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available to purchase on the day - Car Park 9<b></td>";
						}
if  (itemqtyonhand == "-5.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>POA -  Please call 0870 727 4321 <b></td>";
						}

if  (itemqtyonhand == "-3.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Limited -  Please call 0870 727 1234 <b></td>";
						}

if  (itemqtyonhand == "-8.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Coming Soon! <b></td>";
						}

if  (itemqtyonhand == "-11.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Off Sale<b></td>";
						}

if  (itemqtyonhand == "-12.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day<b></td>";
						}


if  (itemqtyonhand == "1.0"){
							content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
							content = content + "	<td width=\"52\" align=\"right\">";
							content = content + "		<select name=\"qty"+ itemcode + "\">";
							content = content + "			<option selected>0</option>";
							for (var j = 1; j<=9; j++){
								content = content + "			<option value=\""+ j +"\">"+ j +"</option>";
							}
		
							content = content + "		</select></td>";
						}

if  (itemqtyonhand == "-7.0"){
							content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
							content = content + "	<td width=\"52\" align=\"right\">";
							content = content + "		<select name=\"qty"+ itemcode + "\">";
							content = content + "			<option selected>0</option>";
							for (var j = 1; j<=10; j++){
								content = content + "			<option value=\""+ j +"\">"+ j +"</option>";
							}
		
							content = content + "		</select></td>";
						}


if  (itemqtyonhand == "2.0"){
							content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
							content = content + "	<td width=\"52\" align=\"right\">";
							content = content + "		<select name=\"qty"+ itemcode + "\">";
							content = content + "			<option selected>0</option>";
							for (var j = 1; j<=99; j++){
								content = content + "			<option value=\""+ j +"\">"+ j +"</option>";
							}
		
							content = content + "		</select></td>";
						}
				//		content = content + "	<td width=\"100\" align=\"right\"><a id=\""+ itemcode +"\"  href=\"cart.htm?eventid=" + categoryid + "&itemcode=" + itemcode + "\") onclick=\"setCartURL('"+itemcode+"')\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('buy','','images/button/buy2.gif',1)\"><img src=\"images/button/buy1.gif\" alt=\"buy\" name=\"buy\" width=\"83\" height=\"19\" border=\"0\"></a></td>";
						content = content + "</tr>";
					}
				}
				
				content = content + "<tr>";
				content = content + "	<td align=\"left\"><a onclick=\"processEventForm()\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('buy','','images/button/buy2.gif',1)\"><img src=\"images/button/buy1.gif\" alt=\"buy\" name=\"buy\" width=\"83\" height=\"19\" border=\"0\"></a></td>";
				content = content + "</tr>";

				content = content + " </table>";
content = content + "<br>Please note Silver ring is not an upgrade for general admission tickets.<br><br>For details of restaurant packages, please <a href=http://www.ascot.co.uk/boxres/boxres.html>click here</a><br>";

				var div_ra = document.getElementById("event_content");
		        div_ra.innerHTML = content;
		   }
		}
	}
	
	
		function getNonRASeasonEvent() {
	
		var categoryidstr = getQueryParameter("eventid");
		var categoryid = parseInt(categoryidstr);
		if (!isNaN(categoryidstr)){
			getProductCategory(nonRASeasonEventDisplay,categoryid,"true","true");
		}
	}
	
	function nonRASeasonEventDisplay(xmlreqwrapper){
		
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		if (data != null){
		
			var eventdata = data.childNodes[0];

			if (eventdata){
				var categoryid = getNodeChildValue(eventdata,"categoryid");
				
				var categorydesc = formatStringForHMTLOutput(getNodeChildValue(eventdata,"description"));
				var eventdatestr = getNodeChildValue(eventdata,"extensionField1");
				var categoryextdescext = getNodeChildValue(eventdata,"extensionField3");
				document.getElementById("event_ext_desc").innerHTML = categoryextdescext;
				var eventdate = getJSDate(eventdatestr);
				
				document.getElementById("header_title").innerHTML = categorydesc;
				document.getElementById("title").innerHTML = getEventDateText(eventdate);
				document.getElementById("categorydesc").innerHTML = categorydesc;
				
				var content = "<form name=\"eventfrm\">"
					+ 	"<input name=\"categoryid\" id=\"categoryid\" type=\"hidden\" value=\""+ categoryid + "\">"
					+	" <table width=\"600\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">";
	            
				for (var i=0; i<eventdata.childNodes.length;i++){
					var node = eventdata.childNodes[i];
					if (node.nodeName=="inventoryitem"){
	
						var itemcode = getNodeChildValue(node,"itemcode");
						var itemdescription = formatStringForHMTLOutput(getNodeChildValue(node,"description"));
						var itemprice = getNodeChildValue(node,"singleprice");
						
						var itemqtyonhand = getNodeChildValue(node,"qtyonhand");
						
						content = content + "<tr>";
						content = content + "	<td colspan=\"2\" class=\"text_kiosk\">"+ itemdescription + "</td>";

						if  (itemqtyonhand == "-1.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>SOLD OUT!<b></td>";
						}

if  (itemqtyonhand == "-2.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Coming Soon!<b></td>";
						}

if  (itemqtyonhand == "-4.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day!<b></td>";
						}
if  (itemqtyonhand == "-15.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;5.00<b></td>";
						}
if  (itemqtyonhand == "-16.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;7.00<b></td>";
						}
if  (itemqtyonhand == "-17.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;10.00<b></td>";
						}
if  (itemqtyonhand == "-18.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;20.00<b></td>";
						}
if  (itemqtyonhand == "-20.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;45.00<b></td>";
						}
if  (itemqtyonhand == "-21.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;25.00<b></td>";
						}
if  (itemqtyonhand == "-22.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;15.00<b></td>";
						}

if  (itemqtyonhand == "-23.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>Available on the day - &pound;30.00<b></td>";
						}

if  (itemqtyonhand == "-5.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><b>POA -  Please call 0870 727 4321 <b></td>";
						}

if  (itemqtyonhand == "-6.0"){
					
							content = content + "	<td colspan=\"3\" class=\"text_kiosk\"><strong>For ticket refund information please call 0870 727 1234</strong></td>";
						}

if  (itemqtyonhand == "1.0")
{
							content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
							content = content + "	<td width=\"52\" align=\"right\">";
							content = content + "		<select name=\"qty"+ itemcode + "\">";
							content = content + "			<option selected>0</option>";
							for (var j = 1; j<=9; j++){
								content = content + "			<option value=\""+ j +"\">"+ j +"</option>";
							}

							content = content + "		</select></td>";
						}

if  (itemqtyonhand == "-7.0")
{
							content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
							content = content + "	<td width=\"52\" align=\"right\">";
							content = content + "		<select name=\"qty"+ itemcode + "\">";
							content = content + "			<option selected>0</option>";
							for (var j = 1; j<=10; j++){
								content = content + "			<option value=\""+ j +"\">"+ j +"</option>";
							}

							content = content + "		</select></td>";
						}

if  (itemqtyonhand == "2.0")
{
							content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
							content = content + "	<td width=\"52\" align=\"right\">";
							content = content + "		<select name=\"qty"+ itemcode + "\">";
							content = content + "			<option selected>0</option>";
							for (var j = 1; j<=99; j++){
								content = content + "			<option value=\""+ j +"\">"+ j +"</option>";
							}

							content = content + "		</select></td>";
						}
				//		content = content + "	<td width=\"100\" align=\"right\"><a id=\""+ itemcode +"\"  href=\"cart.htm?eventid=" + categoryid + "&itemcode=" + itemcode + "\") onclick=\"setCartURL('"+itemcode+"')\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('buy','','images/button/buy2.gif',1)\"><img src=\"images/button/buy1.gif\" alt=\"buy\" name=\"buy\" width=\"83\" height=\"19\" border=\"0\"></a></td>";
						content = content + "</tr>";
					}
				}

				content = content + "<tr>";
				content = content + "	<td align=\"left\"><a onclick=\"processEventForm()\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('buy','','images/button/buy2.gif',1)\"><img src=\"images/button/buy1.gif\" alt=\"buy\" name=\"buy\" width=\"83\" height=\"19\" border=\"0\"></a></td>";
				content = content + "</tr>";

				content = content + " </table>";
				content = content + "<br><b>For Disabled car park tickets, please call 0870 727 1234.</b><br><br>Please note that an online booking discount of 10% has already been applied<br>";
content = content + "<br>For details of restaurant packages, please <a href=http://www.ascot.co.uk/boxres/boxres.html>click here</a><br><br>";

				var div_ra = document.getElementById("event_content");
		        div_ra.innerHTML = content;
		   }
		}
	}







	function getOrderList() {
		getSaleOrderList(showOrderList,"false");
	}

	function showOrderList(xmlreqwrapper){
	
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		if (data != null){
			var content = "";
			var saleorderlist = data.childNodes[0];
			
			if (saleorderlist){
			
				content = content +	
					" <table width=\"600\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">"
					+ "<tr>"
					+ "		<td class=\"text_kiosk\"><b>Order Date</b></td>"
					+ "		<td class=\"text_kiosk\"><b>Order Number</b></td>"
					+ "		<td class=\"text_kiosk\"><b>Order Status</b></td>"
					+ "		<td class=\"text_kiosk\"><b>&nbsp;</b></td>"
					+ "</tr>";

				for (var i=0; i<saleorderlist.childNodes.length;i++){
				
					var saleorder = saleorderlist.childNodes[i];
				
					if (saleorder){
						var orderid = getNodeChildValue(saleorder,"orderid");
					//	var ordertotal	= getNodeChildValue(saleorder,"amount");
						var orderdatestr = getNodeChildValue(saleorder,"trxdate");
						var orderstatus = getNodeChildValue(saleorder,"status");;
						
						var jsdate = getJSDate(orderdatestr);
						var orderdate = getDateInStr(jsdate) + " " + getMonthName(jsdate) + " " + jsdate.getYear();
						var statusdesc = getNodeChildValue(saleorder,"statusdesc");
							content = content + "<tr>";
							content = content + "		<td class=\"text_kiosk\">" + orderdate + "</td>";
							content = content + "		<td class=\"text_kiosk\">" + orderid + "</td>";
							content = content + "		<td class=\"text_kiosk\">" + statusdesc + "</td>";
							if (orderstatus == "payment action required"){
								content = content + "		<td class=\"text_kiosk\"><a href=\"orderpayment.htm?orderid=" + orderid + "\" class=\"textarea_kiosk\"><b>amend payment</b></a></td>";
							}else{
								content = content + "		<td class=\"text_kiosk\"><a href=\"display_order.htm?orderid=" + orderid + "\" class=\"textarea_kiosk\"><b>view order</b></a></td>";
							}
							content = content + "</tr>";
	 			            content = content
					           +"    <tr>"
					           +"        <td colspan=\"4\">"
					           +"        <hr size=\"-1\" noshade color=\"#cccc99\">"
					           +"       </td>"
					           +"    </tr>"
					}
				}

				content = content + "</table>"; 				
 				document.getElementById("order_list").innerHTML=content;
			}
		}
     }


	function defaultBillingToShipping(){
		var formobj = document.forms["address"];
		formobj.elements["Shipping Address Line 1"].value = formobj.elements["Address Line 1"].value;
		formobj.elements["Shipping Address Line 2"].value = formobj.elements["Address Line 2"].value;
		formobj.elements["Shipping Address Line 3"].value = formobj.elements["Address Line 3"].value;
		formobj.elements["Shipping City/Town"].value = formobj.elements["City/Town"].value;
		formobj.elements["Shipping Postcode"].value = formobj.elements["Postcode"].value;
		formobj.elements["Shipping County"].value = formobj.elements["County"].value;
	}
	
	function validateAddressForm(){
		var formobj = document.forms["address"];
		
		var formIsValid = null;
		var errtag = document.getElementById("address_errmsg");
		
		if (!formobj.elements["Address Line 1"].value){
			errtag.innerHTML= "Address Line 1 is required";
		}else if (!formobj.elements["City/Town"].value){
			errtag.innerHTML= "City/Town is required";
		}else if (!formobj.elements["Postcode"].value){
			errtag.innerHTML= "Postcode is required";
		}else if (!formobj.elements["Shipping Address Line 1"].value){
			errtag.innerHTML= "Shipping Address Line 1 is required";
		}else if (!formobj.elements["Shipping City/Town"].value){
			errtag.innerHTML= "Shipping City/Town is required";
		}else if (!formobj.elements["Shipping Postcode"].value){
			errtag.innerHTML= "Shipping Postcode is required";
		}else if (!formobj.elements["Telephone Number"].value){
			errtag.innerHTML= "Telephone Number is required";
		}else{
			formIsValid = true;
			errtag.innerHTML="&nbsp;";
			addUserAddress(addAddressHandler, formobj);
		}
		
		return formIsValid;
	}
	
	function addAddressHandler(xmlreqwrapper){
		
		var statusobj = xmlreqwrapper.responseXML.getElementsByTagName("status")[0];

		var status = null;
		
		if (window.ActiveXObject){// if this is IE
			status = statusobj.text;
		}else{
			status = statusobj.textContent;
		}
		
		if (status == "SUCCESS"){
			window.location = "account.htm";
		}else{
			document.getElementById("address_errmsg").innerHTML = "There was a problem saving your address. Please call the Ticket Sales Office on 0870 727 1234 for assistance";		
		}
	}
	
	function getDefaultAddressHandler(xmlreqwrapper){
			
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		var country;
		var shippingCountry;
		if (data != null){
			var billingAddress = data.childNodes[0];
			
			if (billingAddress){
				var address1 = getNodeChildValue(billingAddress,"address1");
				var address2 = getNodeChildValue(billingAddress,"address2");
				var address3 = getNodeChildValue(billingAddress,"address3");
				var city = getNodeChildValue(billingAddress,"city");
				var county = getNodeChildValue(billingAddress,"county");
				var postcode = getNodeChildValue(billingAddress,"postcode");
				country = getNodeChildValue(billingAddress,"countrycode");
				var addressphone = getNodeChildValue(billingAddress,"addressphone");
		
				var formobj = document.forms["address"];
	
				formobj.elements["Address Line 1"].value = address1? address1:"";
				formobj.elements["Address Line 2"].value = address2? address2:"";
				formobj.elements["Address Line 3"].value = address3? address3:"";
				formobj.elements["City/Town"].value = city? city:"";
				formobj.elements["Postcode"].value=postcode?postcode:""
				formobj.elements["County"].value=county?county:""
				formobj.elements["Telephone Number"].value = addressphone?addressphone:"";
				
			}	

			var shippingAddress = data.childNodes[1];

			if (shippingAddress){
				var shippingaddress1 = getNodeChildValue(shippingAddress,"address1");
				var shippingaddress2 = getNodeChildValue(shippingAddress,"address2");
				var shippingaddress3 = getNodeChildValue(shippingAddress,"address3");
				var shippingcity = getNodeChildValue(shippingAddress,"city");
				var shippingcounty = getNodeChildValue(shippingAddress,"county");
				var shippingpostcode = getNodeChildValue(shippingAddress,"postcode");
				shippingCountry = getNodeChildValue(shippingAddress,"countrycode");
		
				var formobj = document.forms["address"];
	
				formobj.elements["Shipping Address Line 1"].value = shippingaddress1? shippingaddress1:"";
				formobj.elements["Shipping Address Line 2"].value = shippingaddress2? shippingaddress2:"";
				formobj.elements["Shipping Address Line 3"].value = shippingaddress3? shippingaddress3:"";
				formobj.elements["Shipping City/Town"].value = shippingcity? shippingcity:"";
				formobj.elements["Shipping Postcode"].value=shippingpostcode?shippingpostcode:""
				formobj.elements["Shipping County"].value=shippingcounty?shippingcounty:""				
			}	

			if (country==null || country==""){
				country = "UK";
			}	
						
			if (shippingCountry==null || shippingCountry==""){
				shippingCountry = "UK";
			}				

			var countrylist	= data.childNodes[2];
			if (countrylist){
			
				var content="<select name=\"Country\">";
							
				for (var i=0; i<countrylist.childNodes.length;i++){
					var node = countrylist.childNodes[i];
					if (node.nodeName=="country"){
						var countrycode = getNodeChildValue(node,"countrycode");
						var countryname = getNodeChildValue(node,"countryname");
						
						if (countrycode == country){
							content = content	+"	<option value=\""+countrycode+ "\" selected>"+ countryname + "</option>";
						}else{
							content = content	+"	<option value=\""+countrycode+ "\">"+ countryname + "</option>";
						}
					}
				}
				content = content +"</select>";
				document.getElementById("coutrylist").innerHTML = content;

				var content="<select name=\"Shipping Country\">";
							
				for (var i=0; i<countrylist.childNodes.length;i++){
					var node = countrylist.childNodes[i];
					if (node.nodeName=="country"){
						var countrycode = getNodeChildValue(node,"countrycode");
						var countryname = getNodeChildValue(node,"countryname");
						
						if (countrycode == shippingCountry){
							content = content	+"	<option value=\""+countrycode+ "\" selected>"+ countryname + "</option>";
						}else{
							content = content	+"	<option value=\""+countrycode+ "\">"+ countryname + "</option>";
						}
					}
				}
				content = content +"</select>";
				document.getElementById("shipping_coutrylist").innerHTML = content;
			}	
		}
	}

	function validateRegistrationForm(inEditMode){
		var formobj = document.forms["userdetail"];
		
		var formIsValid = null;
		var errtag = document.getElementById("errmsg");
		var emailaddr = formobj.elements["E-mail Address"].value;
		
		if (!formobj.elements["First Name"].value){
			errtag.innerHTML= "First Name is required";
		}else if (!formobj.elements["Surname"].value){
			errtag.innerHTML= "Surname is required";
		}else if (!formobj.elements["E-mail Address"].value){
			errtag.innerHTML= "E-mail Address is required";
		}else if (!formobj.elements["E-mail Address Again"].value){
			errtag.innerHTML= "Please provide your e-mail address again";
		}else if (formobj.elements["E-mail Address"].value != formobj.elements["E-mail Address Again"].value){
			errtag.innerHTML= "The e-mail addresses you have provided do not match";
		}else if (emailaddr.indexOf('@') == -1){
			errtag.innerHTML= "Invalid E-mail address format.  It must contain the @ symbol";
		}else if (emailaddr.indexOf('.',emailaddr.indexOf('@')) == -1){
			errtag.innerHTML= "Invalid E-mail address format.  It must contain at least one dot (.) after the @ symbol";
		}else if (!formobj.elements["Password"].value){
			errtag.innerHTML= "Password is required";
		}else if (!formobj.elements["Password Again"].value){
			errtag.innerHTML= "The passwords you have provided do not match";
		}else if (formobj.elements["Password"].value != formobj.elements["Password Again"].value){
			errtag.innerHTML= "The passwords you have provided do not match";
		}else{
			formIsValid = true;
			errtag.innerHTML="&nbsp;";
			if (inEditMode){
				updateUser(userDetailsEditHandler, formobj);
			}else{
				registerUser(checkoutRegistrationHandler, formobj);
			}
		}
		
		return formIsValid;
	}

	function validatePasswordReminder(){
		var formobj = document.forms["userdetail"];
		
		var formIsValid = null;
		var errtag = document.getElementById("errmsg");
		
		if (!formobj.elements["E-mail Address"].value){
			errtag.innerHTML= "E-mail Address is required";
		}else{
			formIsValid = true;
			errtag.innerHTML="&nbsp;";
			sendPasswordReminder(passwordReminderHandler, formobj);
		}
		
		return formIsValid;
	}
	
	function passwordReminderHandler(xmlreqwrapper){

		var status = getStatusCode(xmlreqwrapper);
		
		if (status == "SUCCESS"){
			window.location = "password_remindersent.htm";
		}else if (status="com.vine.error.code.user.CustomerEmailNotFoundInDB"){
			document.getElementById("errmsg").innerHTML = "The e-mail address provided is not registered in our database";		
		}else{
			document.getElementById("errmsg").innerHTML = "There was a problem sending your details. Please call the Ticket Sales Office on 0870 727 1234 for assistance.";		
		}
	}
	
	function checkoutRegistrationHandler(xmlreqwrapper){

		var status = getStatusCode(xmlreqwrapper);
		var statustxt = getStatusErrorText(xmlreqwrapper);
		
		if (status == "SUCCESS"){
			loginHandler(xmlreqwrapper);
			window.location = "checkout_chooseaddress.htm";
		}else{
		
			if (statustxt && statustxt=="com.vine.error.code.registration.CustomerAlreadyExists"){
				document.getElementById("errmsg").innerHTML = "The details you have supplied match that of a previously registered user.  If these are your details, please login in the Members Area.  If you have forgotten your password, you can reguest a reminder by going to the My Account page.";		
			}else{			
				document.getElementById("errmsg").innerHTML = "There was a problem registering your details on our server. Please call the Ticket Sales Office on 0870 727 1234 for assistance.";		
			}
		}
	}
	
	function userDetailsEditHandler(xmlreqwrapper){

		var status = registrationHandler(xmlreqwrapper);
		
		if (status == "SUCCESS"){
			window.location = "account.htm";
		}else{
			document.getElementById("errmsg").innerHTML = "There was a problem registering your details on our server. Please call the Ticket Sales Office on 0870 727 1234 for assistance.";		
		}
	}

	function getStatusCode(xmlreqwrapper){
		var statuscodeobj = xmlreqwrapper.responseXML.getElementsByTagName("status")[0];

		var statuscode = null;
		
		if (window.ActiveXObject){// if this is IE
		
			if (statuscodeobj) {statuscode = statuscodeobj.firstChild.text;}
		}else{
			if (statuscodeobj) {statuscode = statuscodeobj.firstChild.textContent;}
		}
	
		return statuscode;
	}
	
	function getStatusErrorText(xmlreqwrapper){
		var statuserrorobj = xmlreqwrapper.responseXML.getElementsByTagName("status")[0];

		var statuserror = null;
		
		if (window.ActiveXObject){// if this is IE
			if(statuserrorobj ){ statuserror = statuserrorobj.lastChild.text;}
		}else{
			if(statuserrorobj ){ statuserror = statuserrorobj.lastChild.textContent;}
		}
	
		return statuserror;
	}

	function registrationHandler(xmlreqwrapper){
		
		var statusobj = xmlreqwrapper.responseXML.getElementsByTagName("status")[0];

		var status = null;
		
		if (window.ActiveXObject){// if this is IE
			status = statusobj.text;
		}else{
			status = statusobj.textContent;
		}
		
		if (status == "SUCCESS"){
			var userdata = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
			if (userdata!=null){
				var userid = getNodeChildValue(userdata.childNodes[0],"userid");
				var firstname = getNodeChildValue(userdata.childNodes[0],"firstname");
				if (userid){setCookie("userid",userid)};
				if (firstname){setCookie("firstname",firstname)};
			}
		}		
		return status;
	}
		
		
	function getUserDetailsHandler(xmlreqwrapper){
			
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		
		if (data != null){
			var customer = data.childNodes[0];
			
			if (customer){
				var firstname = getNodeChildValue(customer,"firstname");
				var middlename = getNodeChildValue(customer,"middlenames");
				var surname = getNodeChildValue(customer,"surname");
				var email = getNodeChildValue(customer,"email");
				var phone = getNodeChildValue(customer,"telephone");
				var contactme = getNodeChildValue(customer,"contactme");
				
				var formobj = document.forms["userdetail"];
	
				formobj.elements["First Name"].value = firstname? firstname:"";
				formobj.elements["Surname"].value = surname? surname:"";
				formobj.elements["E-mail Address"].value = email? email:"";
				formobj.elements["E-mail Address Again"].value = email? email:"";
				formobj.elements["contactme"].checked = (contactme && contactme=="true")?true:false;
			}
		}
	}

	function processEventForm(){
		var formobj = document.forms["eventfrm"];
		addBasketItems(processEventFormHandler, formobj, "false","false");
	}
	
	function processEventFormHandler(xmlreqwrapper){	
		window.location = "cart.htm";
	}
	
	function clearBasket(){
		emptyBasket(clearBasketHandler);
	}

	function clearBasketHandler(xmlreqwrapper){
		getShoppingBasket()	
		window.location = "#top";
	}

	function setCartURL(itemcode){
		var currenturl = document.getElementById(itemcode).href;
		var qtylist = document.getElementById("qty" + itemcode);
		var selectedqty = qtylist[qtylist.selectedIndex].text;
		document.getElementById(itemcode).href = currenturl + "&qty=" + selectedqty;
	}

	function getShoppingBasket() {
	
		var categoryidstr = getQueryParameter("eventid");
		var itemcode = getQueryParameter("itemcode");
		var qty = getQueryParameter("qty");
		
		if (categoryidstr==null){
			getBasket(basketDisplay,"true");
		}else{
			if (qty==null){
				qty=1;
			}
			addBasketItem(basketDisplay, parseInt(categoryidstr), parseInt(itemcode), qty, "true","true");
		}
	}
	
	function basketDisplay(xmlreqwrapper){
		
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		if (data != null){
		
			var shoppingbasket = data.childNodes[0];
			
			if (shoppingbasket){
				var basketid = getNodeChildValue(shoppingbasket,"basketid");
				var baskettotal	= getNodeChildValue(shoppingbasket,"total_aftertax");
				
				var content = 
					" <table width=\"600\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">";
	            
				content = content + "<tr bgcolor=\"dee9fc\">";
				content = content + "	<td colspan=\"2\" class=\"text_kiosk\">Item</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Quantity</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Unit Price</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Total</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">&nbsp;</td>";
				content = content + "</tr>";
				
				for (var i=0; i<shoppingbasket.childNodes.length;i++){
					var node = shoppingbasket.childNodes[i];
					if (node.nodeName=="inventoryitem"){
	
						var itemcode = getNodeChildValue(node,"itemcode");
						var itemdescription = formatStringForHMTLOutput(getNodeChildValue(node,"description"));
						var itemprice = getNodeChildValue(node,"singleprice");
						var qty = getNodeChildValue(node,"basketquantity");
						var itemTotal = getNodeChildValue(node,"singlePriceTotal");
		
						var categoryid = getNodeChildValue(node,"categoryid");
						var categoryname = formatStringForHMTLOutput(getNodeChildValue(node,"categoryname"));
						var eventdatestr = getNodeChildValue(node,"extensionField1");
						var eventdate = getJSDate(eventdatestr);
						
						var basketitemdesc = getEventDateText(eventdate) + " (" + categoryname + ") - " +  itemdescription;
						if (categoryid==10021 && itemcode==10026){
							basketitemdesc = "Guarateed Delivery";
						}
						
						content = content + "<tr>";
						content = content + "	<td colspan=\"2\" class=\"text_kiosk\">"+ basketitemdesc + "</td>";
						content = content + "	<td width=\"52\" align=\"right\">";
						content = content + "		<select name=\"qty"+ itemcode + "\">";
						for (var j = 0; j<=99; j++){
							if (j == parseInt(qty)){
								content = content + "			<option value=" + j + " selected >"+ j +"</option>";
								 
							}else{
								content = content + "			<option value=" + j + ">"+ j +"</option>";
							}
						}
						content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
						content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemTotal + "</td>";
						content = content + "	<td width=\"100\" align=\"right\"><a id=\""+ itemcode +"\"  href=\"cart.htm?eventid=" + categoryid + "&itemcode=" + itemcode + "\") onclick=\"setCartURL('"+itemcode+"')\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('update','','images/button/update2.gif',1)\"><img src=\"images/button/update1.gif\" alt=\"update\" name=\"update\" width=\"83\" height=\"19\" border=\"0\"></a></td>";
						content = content + "		</select></td>";
						content = content + "</tr>";
					}
				}
				
				baskettotal = baskettotal?baskettotal:0;
				 
				content = content + "<tr bgcolor=\"dee9fc\">";
				content = content + "	<td colspan=\"4\" class=\"nav_kiosk\">Basket Total</td>";
				content = content + "	<td class=\"nav_kiosk\">&pound;" + baskettotal + "</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">&nbsp;</td>";
				content = content + "</tr>";
	
				if (baskettotal!=0){
					content = content + "<tr >";
					content = content + "	<td colspan=\"6\" align=\"left\">";
					content = content + "		<a onclick=\"clearBasket()\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('empty','','images/button/empty2.gif',1)\"><img src=\"images/button/empty1.gif\" alt=\"empty basket\" name=\"emptybasket\" width=\"160\" height=\"19\" border=\"0\" id=\"emptybasket\"></a>";
					content = content + "		<a href=\"checkout.htm\" onclick=\"proceedToCheckout()\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('proceed','','images/button/proceed2.gif',1)\"><img src=\"images/button/proceed1.gif\" alt=\"proceed\" name=\"proceed\" width=\"160\" height=\"19\" border=\"0\" id=\"proceed\"></a>";
					content = content + "	</td>";
					content = content + "</tr>";
				}
	
				content = content + " </table>";
				var div_ra = document.getElementById("basket_content");
		        div_ra.innerHTML = content;
			}
		}
	}
	
	function confirmBasketDisplay(xmlreqwrapper){
		
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		if (data != null){
		
			var shoppingbasket = data.childNodes[0];
			
			if (shoppingbasket){
				var basketid = getNodeChildValue(shoppingbasket,"basketid");
				var baskettotal	= getNodeChildValue(shoppingbasket,"total_aftertax");
				
				var content = 
					" <table width=\"600\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">";
	            
				content = content + "<tr bgcolor=\"dee9fc\">";
				content = content + "	<td colspan=\"2\" class=\"text_kiosk\">Item</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Quantity</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Unit Price</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Total</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">&nbsp;</td>";
				content = content + "</tr>";
				
				for (var i=0; i<shoppingbasket.childNodes.length;i++){
					var node = shoppingbasket.childNodes[i];
					if (node.nodeName=="inventoryitem"){
	
						var itemcode = getNodeChildValue(node,"itemcode");
						var itemdescription = formatStringForHMTLOutput(getNodeChildValue(node,"description"));
						var itemprice = getNodeChildValue(node,"singleprice");
						var qty = getNodeChildValue(node,"basketquantity");
						var itemTotal = getNodeChildValue(node,"singlePriceTotal");
		
						var categoryid = getNodeChildValue(node,"categoryid");
						var categoryname = formatStringForHMTLOutput(getNodeChildValue(node,"categoryname"));
						var eventdatestr = getNodeChildValue(node,"extensionField1");
						var eventdate = getJSDate(eventdatestr);
						
						var basketitemdesc = getEventDateText(eventdate) + " (" + categoryname + ") - " +  itemdescription;
						
						if (categoryid==10021 && itemcode==10026){
							basketitemdesc = "Guarateed Delivery";
							document.forms["formadddelivery"].elements["guaranteed_delivery"].checked=true;
						}
						
						content = content + "<tr>";
						content = content + "	<td colspan=\"2\" class=\"text_kiosk\">"+ basketitemdesc + "</td>";
						content = content + "	<td width=\"52\" align=\"right\">";
						content = content + "		<select name=\"qty"+ itemcode + "\">";
						for (var j = 0; j<=99; j++){
							if (j == parseInt(qty)){
								content = content + "			<option value=" + j + " selected >"+ j +"</option>";
								 
							}else{
								content = content + "			<option value=" + j + ">"+ j +"</option>";
							}
						}
						content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
						content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemTotal + "</td>";
						content = content + "		</select></td>";
						content = content + "</tr>";
					}
				}
				
				baskettotal = baskettotal?baskettotal:0;
								 
				content = content + "<tr bgcolor=\"dee9fc\">";
				content = content + "	<td colspan=\"4\" class=\"nav_kiosk\">Basket Total</td>";
				content = content + "	<td class=\"nav_kiosk\">&pound;" + baskettotal + "</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">&nbsp;</td>";
				content = content + "</tr>";
		
				content = content + " </table>";
				var div_ra = document.getElementById("basket_content");
		        div_ra.innerHTML = content;
			}
		}
	}

	function getOrderToDisplay() {
		var orderidstr = getQueryParameter("orderid");

		if (orderidstr){
			getSaleOrder(orderDisplay,parseInt(orderidstr));
		}
	}

	function orderDisplay(xmlreqwrapper){
		
		var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
		if (data != null){
			var content = "";
			var saleorder = data.childNodes[0];
			
			if (saleorder){
				var orderid = getNodeChildValue(saleorder,"orderid");
				var ordertotal	= getNodeChildValue(saleorder,"amount");
				var orderdatestr = getNodeChildValue(saleorder,"trxdate");
				var jsdate = getJSDate(orderdatestr);
				var orderdate = getDateInStr(jsdate) + " " + getMonthName(jsdate) + " " + jsdate.getYear();
				var orderstatus = getNodeChildValue(saleorder,"statusdesc");
				content = content +	
					" <table width=\"100%\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">";
					content = content + "<tr><td align=\"right\" class=\"text_kiosk\"><b>Order Date:</b></td><td class=\"text_kiosk\">" + orderdate + "</td></tr>";
					content = content + "<tr><td align=\"right\" class=\"text_kiosk\"><b>Order Number:</b></td><td class=\"text_kiosk\">" + orderid + "</td></tr>";
					content = content + "<tr><td align=\"right\" class=\"text_kiosk\"><b>Status:</b></td><td class=\"text_kiosk\">" + orderstatus + "</td></tr>";
					content = content + "</table>";
			}
			
			var billingAddress = getNodeChild(saleorder,"billingaddress");

			if (billingAddress){
				var address1 = getNodeChildValue(billingAddress,"address1");
				var address2 = getNodeChildValue(billingAddress,"address2");
				var address3 = getNodeChildValue(billingAddress,"address3");
				var city = getNodeChildValue(billingAddress,"city");
				var county = getNodeChildValue(billingAddress,"county");
				var postcode = getNodeChildValue(billingAddress,"postcode");
				var country = getNodeChildValue(billingAddress,"country");
				
				content = 	content + 
					" <table width=\"100%\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">";
					content = content + "<tr><td class=\"text_kiosk\"><b>Your Address</b></td></tr>";
					if (address1){
						content = content + "<tr><td class=\"text_kiosk\">" + address1 + "</td></tr>";
					}
					if (address2){
						content = content + "<tr><td class=\"text_kiosk\">" + address2 + "</td></tr>";
					}
					if (address3){
						content = content + "<tr><td class=\"text_kiosk\">" + address3 + "</td></tr>";
					}
					if (city){
						content = content + "<tr><td class=\"text_kiosk\">" + city + "</td></tr>";
					}
					if (county){
						content = content + "<tr><td class=\"text_kiosk\">" + county + "</td></tr>";
					}
					if (postcode){
						content = content + "<tr><td class=\"text_kiosk\">" + postcode + "</td></tr>";
					}
					if (country){
						content = content + "<tr><td class=\"text_kiosk\">" + country + "</td></tr>";
					}
					content = content + "<tr><td></td></tr>";
					content = content + "<tr><td></td></tr>";
					content = content + "</table>";

			}																		
			

			if (saleorder){
				var ordertotal	= getNodeChildValue(saleorder,"amount");
				
				content = content +  
					" <table width=\"100%\"  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"hospitality_image\">";
	            
				content = content + "<tr bgcolor=\"dee9fc\">";
				content = content + "	<td colspan=\"2\" class=\"text_kiosk\">Item</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Quantity</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Unit Price</td>";
				content = content + "	<td width=\"39\" class=\"text_kiosk\">Total</td>";
				content = content + "</tr>";
				
				var trxitems = getNodeChild(saleorder,"trxitems");
				
				for (var i=0; i<trxitems.childNodes.length;i++){
					var node = trxitems.childNodes[i];
					if (node.nodeName=="trxitem"){
	
						var itemcode = getNodeChildValue(node,"lineitemid");
						var itemdescription = formatStringForHMTLOutput(getNodeChildValue(node,"memo"));
						var itemprice = getNodeChildValue(node,"unitprice");
						var qty = getNodeChildValue(node,"quantity");
						var itemTotal = getNodeChildValue(node,"amount");
		
						content = content + "<tr>";
						content = content + "	<td colspan=\"2\" class=\"text_kiosk\">"+ itemdescription + "</td>";
						content = content + "	<td width=\"39\" class=\"text_kiosk\">"+ qty + "</td>";
						content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemprice + "</td>";
						content = content + "	<td width=\"39\" class=\"text_kiosk\">&pound;"+ itemTotal + "</td>";
						content = content + "</tr>";
					}
				}
				
				content = content + "<tr bgcolor=\"dee9fc\">";
				content = content + "	<td colspan=\"4\" class=\"nav_kiosk\">Order Total</td>";
				content = content + "	<td class=\"nav_kiosk\">&pound;" + ordertotal + "</td>";
				content = content + "</tr>";
	
				content = content + " </table>";
		        document.getElementById("order_display").innerHTML = content;
			}
		}
	}

	function dologout(){

		deleteCookie("userid",null,null);
		deleteCookie("firstname",null,null);
		logout(doLogoutHandler);
		
		showLoginArea();
	}

	function doLogoutHandler(xmlreqwrapper){
	}
	
	function proceedToCheckout(){
		var userid = getCookie("userid");
		
		if (userid){
			window.location = "checkout_chooseaddress.htm";
		}else{
			 window.location = "checkout_login.htm";
		}
	}
	
	function validatePaymentDetails(neworder){
		var formobj = document.forms["paymentdetailsfrm"];
		
		var formIsValid = null;
		
		var errtag = document.getElementById("payment_errmsg");
		var currentdate = new Date;
		var currentYear = currentdate.getYear();
		var currentMonth = currentdate.getMonth() +1;
		var currentYearstr = new String(currentYear);

		var expiryDate = formobj.elements["ExpiryDate"].value;
		var startDate = formobj.elements["StartDate"].value;
		var securitycode = formobj.elements["CV2Number"].value;
		var terms_accepted = formobj.elements["terms_accepted"];
		
		if (!terms_accepted.checked){
			errtag.innerHTML= "You must accept the <a href=\"terms_cond_popup.jsp\" target=\"_blank\">terms and conditions</a> before you can complete your order";
		}else if (!formobj.elements["Card Number"].value){
			errtag.innerHTML= "Card Number is required";
		}else if (!formobj.elements["Name On Card"].value){
			errtag.innerHTML= "Name On Card is required";
		}else if (!expiryDate){
			errtag.innerHTML= "Expiry Date is required";
		}else if (!startDate){
			errtag.innerHTML= "Start Date is required - If no start date on card enter 01/07";
		}else if (!securitycode){
			errtag.innerHTML= "Card Security Code is required";
		}else if (securitycode.length != 3){
			errtag.innerHTML= "Card Security Code is too long";
		}else if (isNaN(securitycode)){
			errtag.innerHTML= "Card Security Code must be a number";
		}else if (startDate && startDate.length!=5){
			errtag.innerHTML= "Start Date format is incorrect.  It should be MM/YY  (where MM is 2 digit month such as 06 and YY is two digit year such as 12)";
		}else if (startDate && startDate.substring(2,3) !="/"){
			errtag.innerHTML= "Start Date format is incorrect.  It should be MM/YY  (where MM is 2 digit month such as 06 and YY is two digit year such as 12)";
		}else if (expiryDate.length!=5){
			errtag.innerHTML= "Expiry Date format is incorrect.  It should be MM/YY  (where MM is 2 digit month such as 06 and YY is two digit year such as 12)";
		}else if (expiryDate.substring(2,3) !="/"){
			errtag.innerHTML= "Expiry Date format is incorrect.  It should be MM/YY  (where MM is 2 digit month such as 06 and YY is two digit year such as 12)";
		}else{
			formIsValid = true;
		}
		var expiryYear = null;
		var expiryMonth = expiryDate.split("/")[0]; 
		var expiryYear = expiryDate.split("/")[1]; 

		//expiry date checks
		if (formIsValid){	
			formIsValid = false; 	
			
			if (isNaN(expiryMonth)){
				errtag.innerHTML= "Expiry Month must be a number";
			}else if (isNaN(expiryYear)){
				errtag.innerHTML= "Expiry Year must be a number";
			}else if ((parseInt(expiryYear,10) + currentYear) > (currentYear+20)){
				errtag.innerHTML= "Expiry Date is too far into the future";
			}else if (parseInt(expiryYear,10) <  parseInt(currentYearstr.substring(2,4),10)){
				errtag.innerHTML= "Expiry Date cannot be earlier than this month";
			}else if ((parseInt(expiryMonth,10))>12){
				errtag.innerHTML= "Expiry Month is incorrect";
			}else if ((expiryYear == currentYearstr.substring(2,4)) && (parseInt(expiryMonth,10)< currentMonth)){
				errtag.innerHTML= "Expiry Date cannot be earlier than this month";
			}else{
				formIsValid = true;
			}
		}

		//start date checks
		if (formIsValid && startDate){	
			formIsValid = false; 	
			var startYear = null;
			var startMonth = startDate.split("/")[0]; 
			var startYear = startDate.split("/")[1]; 
			
			if (isNaN(startMonth)){
				errtag.innerHTML= "Start Month must be a number";
			}else if (isNaN(startYear)){
				errtag.innerHTML= "Start Year must be a number";
			}else if ((currentYear - parseInt(startYear,10)) < (currentYear-20)){
				errtag.innerHTML= "Start Date is too far back in the past";
			}else if (parseInt(startYear,10) >  parseInt(currentYearstr.substring(2,4),10)){
				errtag.innerHTML= "Start Date cannot be later than this month";
			}else if ((parseInt(startMonth,10))>12){
				errtag.innerHTML= "Start Month is incorrect";
			}else if ((startYear == currentYearstr.substring(2,4)) && (parseInt(startMonth,10)> currentMonth)){
				errtag.innerHTML= "Start Date cannot be later than this month";
			}else{
				formIsValid = true;
			}
		}

		if (formIsValid){
			errtag.innerHTML="&nbsp;";
			if (neworder){
				createOrder(createOrderHandler, formobj);
			}else{
				orderPayment(orderPaymentHandler, formobj);
			}
		}
		
		return formIsValid;
	}

	function createOrderHandler(xmlreqwrapper){
		
		var statusobj = xmlreqwrapper.responseXML.getElementsByTagName("status")[0];

		var status = null;
		
		if (window.ActiveXObject){// if this is IE
			status = statusobj.text;
		}else{
			status = statusobj.textContent;
		}
		
		if (status == "SUCCESS"){
			var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
			if (data != null){
				var content = "";
				var saleorder = data.childNodes[0];
				
				if (saleorder){
					var orderid = getNodeChildValue(saleorder,"orderid");
					window.location = "display_orderreceived.htm?orderid=" + orderid;
				}
			}else{
				window.location = "display_orderreceived.htm?orderid=" + orderid;
			}
		}else{
			document.getElementById("payment_errmsg").innerHTML = "There was a problem processing your order. Please call the Ticket Sales Office on 0870 727 1234 for assistance.";		
		}
	}

	function orderPaymentHandler(xmlreqwrapper){
		
		var statusobj = xmlreqwrapper.responseXML.getElementsByTagName("status")[0];

		var status = getStatusCode(xmlreqwrapper);
		var statustext = getStatusErrorText(xmlreqwrapper);
		
		if (status == "OK"){
			var data = xmlreqwrapper.responseXML.getElementsByTagName("data")[0];
			if (data != null){
				var content = "";
				var saleorder = data.childNodes[0];
				
				if (saleorder){
					var orderid = getNodeChildValue(saleorder,"orderid");
					window.location = "display_order.htm?orderid=" + orderid;
				}
			}else{
				window.location = "display_order.htm?orderid=" + orderid;
			}
		}else{
			document.getElementById("payment_errmsg").innerHTML = statustext;		
		}
	}
	function doCancelOrder(){
		var formobj = document.forms["paymentdetailsfrm"];
		cancelOrder(orderCancellationHandler, formobj);
	}
	
	function orderCancellationHandler(xmlreqwrapper){
		var statuscode = getStatusCode(xmlreqwrapper);
		var statustxt = getStatusErrorText(xmlreqwrapper);
		window.location = "order_tracking.htm";
	}

