function codeCheck(){
	// get code from input box
//	var promo_code = trim(document.getElementById("promo_code").value).toUpperCase();

	var promo_code = document.getElementById("promotional_code").value.toUpperCase().replace(/^\s+|\s+$/g, '');
	// check a delegate package has been selected
	var package_count = 0;
	for (var i=0; i < document.forms.Form1.delegate_package.length; i++){
		if (document.forms.Form1.delegate_package[i].checked == true) package_count ++;
	}
	if (package_count == 0){
		alert("\u00A0\u00A0\u00A0\u00A0\u00A0Please select a delegate package first\n");
		return false;
	}
	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(){updateFee(promo_code);};
		request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		
		var sendString = "code=" + promo_code;
		request.send(sendString);
	}
}

function formatAsMoney(mnt) {
	mnt -= 0;
	mnt = (Math.round(mnt*100))/100;
	return (mnt == Math.floor(mnt)) ? mnt + '.00' : ( (mnt*10 == Math.floor(mnt*10)) ? mnt + '0' : mnt);
}

var xmldoc;
var element;

function updateFee(promo_code){
	if (request.readyState == 4){
		if (request.status == 200) {
			xmldoc = request.responseXML;
			element = xmldoc.documentElement;
			fee = element.firstChild;		
		
			var figure = fee.firstChild.nodeValue;
		
			// hide any remaining info messages
			document.getElementById("fee_paragraph").style.display = 'none';
			document.getElementById("error_paragraph").style.display = 'none';
			
			// reset reduced amount value
			document.getElementById("reduced_amount").value = "";
			
			if (figure >= 0){
				// display registration fee info
				var fee_holder = document.getElementById("fee_holder");
				while(fee_holder.hasChildNodes()){
					fee_holder.removeChild(fee_holder.lastChild);
				}
				
				if (figure == 0){
					var reduced_rate	= 0;
					var reduced_tax 	= 0;
					var reduced_amount 	= 0;
					var fee_text 		= "FREE";
				} else {				
					if (figure == 50) {
						var reduced_rate = 50;
					} else if (figure == 129) {
						var reduced_rate = 129;
					} else if (figure == 10) {
						if (document.forms.Form1.delegate_package[0].checked == true) {
							var reduced_rate = 359.10;
						} else if (document.forms.Form1.delegate_package[1].checked == true) { 
							var reduced_rate = 269.10;						
						} else if (document.forms.Form1.delegate_package[2].checked == true) {
							var reduced_rate = 161.00;						
						} else if (document.forms.Form1.delegate_package[3].checked == true) {
							var reduced_rate = 134.10;						
						} else if (document.forms.Form1.delegate_package[4].checked == true) {
							var reduced_rate = 116.10;						
						}					
					}
					var reduced_tax			= Math.ceil((reduced_rate * 0.175) * 100) / 100;
					var reduced_amount		= Math.round((reduced_rate + reduced_tax) * 100) / 100;
					var fee_text 			= "\u00A3" + formatAsMoney(reduced_rate) + " + VAT (\u00A3" + formatAsMoney(reduced_tax) + ") = \u00A3" + formatAsMoney(reduced_amount);				
				}
				fee_holder.appendChild(document.createTextNode(fee_text));
				document.getElementById("fee_paragraph").style.display = 'block';
				document.getElementById("reduced_amount").value = reduced_rate;
			}else{				
				document.getElementById("error_paragraph").style.display = 'block';
			}
			
			// hide 'Checking...' text and show button
			document.getElementById("check_button").style.display = 'inline';
			document.getElementById("checking_text").style.display = 'none';			
		}
	}
}
function resetReduction(){
	// hide any remaining info messages
	document.getElementById("fee_paragraph").style.display = 'none';
	document.getElementById("error_paragraph").style.display = 'none';
		
	// reset reduced amount value
	document.getElementById("reduced_amount").value = "";
	
	// clear 'promotional_code' text input field
	document.getElementById("promotional_code").value = "";
}
