function codeCheck(){
	
	// get code from input box
	var promo_code = document.getElementById("promo_code").value.toUpperCase().replace(/^\s+|\s+$/g, '');

	if (promo_code != ''){
		
		// display 'Checking...' text and hide button
		document.getElementById("check_button").style.display = 'none';
		document.getElementById("checking_text").style.display = 'inline';
		
		// ajax request
		var url = "scripts/codecheck.aspx";
		request.open("POST", url, true);
		request.onreadystatechange = function(){showHideWorkersOptions(promo_code);};
		request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		
		var sendString = "code=" + promo_code;
		request.send(sendString);
	}
	
}

var xmldoc;
var element;

function showHideWorkersOptions(promo_code){
	if (request.readyState == 4){
		if (request.status == 200) {
			xmldoc = request.responseXML;
			element = xmldoc.documentElement;
			var validation = element.firstChild.firstChild.nodeValue;		
		
			// hide any remaining info messages
			document.getElementById("error_paragraph").style.display = 'none';
			if (document.getElementById("warning_paragraph")) document.getElementById("warning_paragraph").style.display = 'none';
			
			if (validation == 'true'){
				
				// populate hidden 'promotional_code' field with entered code
				document.getElementById("promotional_code").value = promo_code;

				// show and hide relevant form fields
				document.getElementById("package_row1").style.display = 'none';
				showHideAttendeeRows('hide');
				showHideFullRows('hide');
				showHideConfOnlyRows('hide');
				showHideDayOnlyRows('hide');
				showHideWorkerRows('show');
				
				document.getElementById("success_paragraph").style.display = 'block';
				
				// promotion hidden sections
				document.getElementById("hide1").style.display = 'none';
				document.getElementById("hide2a").style.display = 'none';
				document.getElementById("hide2b").style.display = 'none';
				document.getElementById("hide2c").style.display = 'none';
				document.getElementById("hide2d").style.display = 'none';
				document.getElementById("hide2e").style.display = 'none';
				document.getElementById("partner_details1").style.display = 'none';
				document.getElementById("partner_details2").style.display = 'none';
				document.getElementById("partner_details3").style.display = 'none';
				document.getElementById("partner_details4").style.display = 'none';
				document.getElementById("partner_details5").style.display = 'none';
				document.getElementById("partner_details6").style.display = 'none';
				document.getElementById("partner_details7").style.display = 'none';
				document.getElementById("partner_details8").style.display = 'none';
				document.getElementById("partner_details9").style.display = 'none';
				document.getElementById("partner_details10").style.display = 'none';
				document.getElementById("partner_details11").style.display = 'none';
				document.getElementById("partner_details12").style.display = 'none';
				document.getElementById("partner_details13").style.display = 'none';
				document.getElementById("partner_details14").style.display = 'none';
				document.getElementById("partner_details15").style.display = 'none';
				document.getElementById("partner_details16").style.display = 'none';
				document.getElementById("partner_details17").style.display = 'none';
				document.getElementById("hide3a").style.display = 'none';
				document.getElementById("hide3b").style.display = 'none';
				document.getElementById("hide3c").style.display = 'none';
				document.getElementById("hide3d").style.display = 'none';
				document.getElementById("hide3e").style.display = 'none';
				document.getElementById("hide3f").style.display = 'none';
				document.getElementById("hide3g").style.display = 'none';
	
				document.getElementById("tandc1").style.display = 'none';
				document.getElementById("tandc2").style.display = 'inline';
				
				// hide 'Submitmore' button
				document.getElementById("Submitmore").style.display = 'none';
				
			}else{
					
				// clear hidden 'promotional_code' field
				document.getElementById("promotional_code").value = "";
				
				if (validation == 'warning'){
//					alert('warning routine here');
					
					var warning_msg_pt1a 	= document.createTextNode("Thank you for entering code ‘");
					var warning_msg_pt1b 	= document.createTextNode(promo_code);
					var warning_msg_pt1c 	= document.createTextNode("’. Do NOT register using the booking form below.");
					var newBR				= document.createElement("br");
					var warning_msg_pt2 	= document.createTextNode("Please contact Joe Robinson on tel: 0161 246 2906 or email: ");

					var newLink 		= document.createElement("a");
					newLink.setAttribute("href","mailto:joe.robinson@cooperatives-uk.coop");
					newLinkText			= document.createTextNode("joe.robinson@cooperatives-uk.coop");
					newLink.appendChild(newLinkText);

					var warning_msg_pt3 = document.createTextNode(" for further details.");
					
					var warning_paragraph = document.getElementById("warning_paragraph");
					while(warning_paragraph.hasChildNodes()){
						warning_paragraph.removeChild(warning_paragraph.lastChild);
					}
					warning_paragraph.appendChild(warning_msg_pt1a);
					warning_paragraph.appendChild(warning_msg_pt1b);
					warning_paragraph.appendChild(warning_msg_pt1c);
					warning_paragraph.appendChild(newBR);
					warning_paragraph.appendChild(warning_msg_pt2);
					warning_paragraph.appendChild(newLink);
					warning_paragraph.appendChild(warning_msg_pt3);
					warning_paragraph.style.display = 'block';
				}else{
					document.getElementById("error_paragraph").style.display = 'block';					
				}

				// show and hide relevant form fields
				document.getElementById("package_row1").style.display = '';
				showHideAttendeeRows('show');
				showHideFullRows('show');
				showHideConfOnlyRows('show');
				showHideDayOnlyRows('show');				
				showHideWorkerRows('hide');
				
				document.getElementById("success_paragraph").style.display = 'none';
				
				// promotion hidden sections
				document.getElementById("hide1").style.display = 'block';
				document.getElementById("hide2a").style.display = '';
				document.getElementById("hide2b").style.display = '';
				document.getElementById("hide2c").style.display = '';
				document.getElementById("hide2d").style.display = '';
				document.getElementById("hide2e").style.display = '';
				document.getElementById("partner_details1").style.display = '';
				document.getElementById("partner_details2").style.display = '';
				document.getElementById("partner_details3").style.display = '';
				document.getElementById("partner_details4").style.display = '';
				document.getElementById("partner_details5").style.display = '';
				document.getElementById("partner_details6").style.display = '';
				document.getElementById("partner_details7").style.display = '';
				document.getElementById("partner_details8").style.display = '';
				document.getElementById("partner_details9").style.display = '';
				document.getElementById("partner_details10").style.display = '';
				document.getElementById("partner_details11").style.display = '';
				document.getElementById("partner_details12").style.display = '';
				document.getElementById("partner_details13").style.display = '';
				document.getElementById("partner_details14").style.display = '';
				document.getElementById("partner_details15").style.display = '';
				document.getElementById("partner_details16").style.display = '';
				document.getElementById("partner_details17").style.display = '';
				document.getElementById("hide3a").style.display = '';
				document.getElementById("hide3b").style.display = '';
				document.getElementById("hide3c").style.display = '';
				document.getElementById("hide3d").style.display = '';
				document.getElementById("hide3e").style.display = '';
				document.getElementById("hide3f").style.display = '';
				document.getElementById("hide3g").style.display = '';
				
				document.getElementById("tandc1").style.display = 'inline';
				document.getElementById("tandc2").style.display = 'none';
				
				// show 'Submitmore' button
				document.getElementById("Submitmore").style.display = 'inline';
				
			}
			
			// hide 'Checking...' text and show button
			document.getElementById("check_button").style.display = 'inline';
			document.getElementById("checking_text").style.display = 'none';
		}
	}
}
