function codeCheck(){
	var promo_code 	= $("#promo_code").val().toUpperCase().replace(/^\s+|\s+$/g, '');
	
	if (promo_code != ''){
		
		// display 'Checking...' text, disable button, hide all other related text blocks
		$("#check_button").attr("disabled", true);
		$("#checking_text").show();
		$("#fee_paragraph").hide();
		$("#error_paragraph").hide();
		$("#unchecked_paragraph").hide();
		
		var dummy 		= "dummy=" + new Date().getTime();
		var url 		= "scripts/codecheck_delegate.aspx?" + dummy;		

		$.post(url, { promo_code: promo_code }, function(xml){
			
			$(xml).find('results').each(function(){
				var discount_returned = $(this).find('discount').text();

				// if a discount is offered then display info in 'fee_holder' span element
				$("#fee_holder").empty();
				if (discount_returned == 'NONE'){
					$("#error_paragraph").show();
				}else{
					if (discount_returned == 'FREE'){
						var fee_text = "FREE";
						var reduced_rate = 0.00;						
					}
					// fill hidden amount field with reduced_rate figure
					$("#amount").val(reduced_rate);
					
					$("#fee_holder").append(fee_text);
					$("#fee_paragraph").show();
					discount_applied = true;
				}
				
				// enable button, hide checking text, 
				$("#check_button").attr("disabled", false);
				$("#checking_text").hide();

			});
		});
	}
}

$(document).ready(function(){

	// add action to 'Check code' button
	$("#check_button").click(function(){
		codeCheck();						 
	});
	
	// reset 'promo_code' field
	$("#promo_code").val('');
	
	// form checking
	$("#registration_form").validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			job_title: "required",
			organisation: "required",
			address1: "required",
			city: "required",
			postcode: "required",
			tel_no: "required",
			email: {
				required: true,
				email: true
			},
			delegate_package: "required",
			tandc: "required"
		},
		messages: {
//			email: "Please enter a valid email address",
			tandc: "You must read and agree to the terms and conditions before continuing"
		},
		errorContainer: "#errors_message",
		errorElement: "label",
		invalidHandler: function(){
			invalidResult();
		}
	});
	
	function invalidResult(){
//		alert('form is invalid');	
	}	
});
