jQuery(document).ready(function($){
	
	$("#registerForm1").submit(function($){
		//initialize all vars
		var valid 				= true;	
		var step 	 	 		= jQuery.trim( jQuery("#step").val() );
		var id 	 	 			= jQuery.trim( jQuery("#id").val() );
		var property_id 	 	= jQuery.trim( jQuery("#property_id").val() );
		
		var full_name 	  		= jQuery.trim( jQuery("#full_name").val() );
		var mobile_number 		= jQuery.trim( jQuery("#mobile_number").val() );
		var office_number 		= jQuery.trim( jQuery("#office_number").val() );
		var email 		  		= jQuery.trim( jQuery("#email").val() );
		var referer		  		= jQuery.trim( jQuery("#referer").val() );
		var terms_conditions 	= jQuery("#terms_conditions:checked").val() ? 1 : 0;
		
		var unit_number		    = jQuery.trim( jQuery("#unit_number").val() );
		var street_number		= jQuery.trim( jQuery("#street_number").val() );
		var street				= jQuery.trim( jQuery("#street").val() );
		var zipcode				= jQuery.trim( jQuery("#zipcode").val() );
		var suburb				= jQuery.trim( jQuery("#suburb").val() );
		var state				= jQuery.trim( jQuery("#state").val() );
		var type				= jQuery("#type").val();
		var is_sale				= jQuery("#is_sale:checked").val();
		var extra_service_id		 	= jQuery.trim( jQuery("#extra_service_id").val() );
		/**start validate**/
		//full name
		if( full_name == '' ){
			jQuery("#full_name_error").html("* Please enter Full Name");
			valid = false;
		}else{
			if(!checkCharFormat( validLetters, full_name )){
				jQuery("#full_name_error").html("* Please enter a valid Full Name");
				valid = false;
			}else
				jQuery("#full_name_error").html("");
		}
		
		//mobile number
		if( mobile_number == '' ){
			jQuery("#mobile_number_error").html("* Please enter Mobile Number");
			valid = false;
		}else{
			if(!checkCharFormat( validNumbers, mobile_number )){
				jQuery("#mobile_number_error").html("* Please enter a valid Mobile Number");
				valid = false;
			}else
				jQuery("#mobile_number_error").html("");
		}
		
		//other contact number
		if( office_number == '' ){
			jQuery("#office_number_error").html("* Please enter Other Contact Number");
			valid = false;
		}else{
			if(!checkCharFormat( validNumbers, office_number )){
				jQuery("#office_number_error").html("* Please enter a valid Other Contact Number");
				valid = false;
			}else
				jQuery("#office_number_error").html("");
		}
		
		//email
		if( email == '' ){
			jQuery("#email_error").html("* Please enter Email");
			valid = false;
		}else{
			if( !emailCheck( email ) ){
				jQuery("#email_error").html("* Please enter a valid Email");
				valid = false;
			}else
				jQuery("#email_error").html("");
		}
		
		//terms and conditions
		if( terms_conditions == 0 ){
			jQuery("#terms_conditions_error").html("* Please check for Terms and Conditions");
			valid = false;
		}else
			jQuery("#terms_conditions_error").html("");
		
		//unit / floor number
		if( !checkCharFormat( validCharactersNoSpace, unit_number ) ){
			jQuery("#unit_number_error").html("* Please enter a valid Unit/Floor Number");
			valid = false;
		}else
			jQuery("#unit_number_error").html("");
		
		//street number
		if( street_number == '' ){
			jQuery("#street_number_error").html("* Please enter Street Number");
			valid = false;
		}else{
			if(!checkCharFormat( validCharactersNoSpace, street_number )){
				jQuery("#street_number_error").html("* Please enter a valid Street Number");
				valid = false;
			}else
				jQuery("#street_number_error").html("");
		}
		
		//street
		if( street == '' ){
			jQuery("#street_error").html("* Please enter Street Name");
			valid = false;
		}else{
			if(!checkCharFormat( validLetters, street )){
				jQuery("#street_error").html("* Please enter a valid Street Name");
				valid = false;
			}else
				jQuery("#street_error").html("");
		}
		
		//suburb
		if( suburb == '' ){
			jQuery("#suburb_error").html("* Please enter Suburb");
			valid = false;
		}else{
			if(!checkCharFormat( validLetters, suburb )){
				jQuery("#suburb_error").html("* Please enter a valid Suburb");
				valid = false;
			}else
				jQuery("#suburb_error").html("");
		}
		
		//postcode
		if( zipcode == '' ){
			jQuery("#zipcode_error").html("* Please enter Postcode");
			valid = false;
		}else{
			if(!checkCharFormat( validNumbers, zipcode )){
				jQuery("#zipcode_error").html("* Please enter a valid Postcode");
				valid = false;
			}else
				jQuery("#zipcode_error").html("");
		}
		
		//state
		if( state == '' ){
			jQuery("#state_error").html("* Please enter State");
			valid = false;
		}else{
			if(!checkCharFormat( validLetters, state )){
				jQuery("#state_error").html("* Please enter a valid State");
				valid = false;
			}else
				jQuery("#state_error").html("");
		}
		
		if( type == '' ){
			jQuery("#type_error").html("* Please select Type of Transaction");
			valid = false;
		}else
			jQuery("#type_error").html("");
		
		if( valid ){
			//display loading progress
			jQuery("#register_container").html('');
			jQuery("#step_loading").show();
			jQuery("#step_loading").fadeIn();
			
			jQuery.post(
				"index.php", 
				{ 
					step 	 	 	: step,
					id 	 	 		: id,
					property_id 	: property_id,
					full_name 	 	: full_name,
					mobile_number	: mobile_number,
					office_number	: office_number,
					email 		 	: email,
					referer 		: referer,
					unit_number	    : unit_number,
					street_number	: street_number,
					street			: street,
					zipcode			: zipcode,
					suburb			: suburb,
					state			: state,
					type			: type,
					is_sale			: is_sale,
					extra_service_id			: extra_service_id,		
					pr_flag			: "1"
				},
				function(data){
					//hide loading progress
					jQuery("#step_loading").fadeOut();
					jQuery("#step_loading").hide();
					
					jQuery("#register_container").html(data);
					//jQuery("#register_container").load("http://localhost/wptest/wp-content/plugins/property_register/form/register1.php");
					
					//scroll to top
					var target = jQuery("#register_container");
					var targetOffset = target.offset().top;
					jQuery('html, body').animate({scrollTop:targetOffset}, 'slow');
				}
			);
		}
	
		return false;
	});
});