// JavaScript Document

jQuery(document).ready(function() {
	
	jQuery("#login").validate({
		rules: {
			email_address: {
					required:true,
					email: true
				},
			password: {
					required:true
					}
			
		},
		messages: {
			email_address: {
				required: "Please enter email address",
				email: "Please enter valid email address"
			},
		password: {
			required:"Please enter password"
			}
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#email_address") ) {
			      $("#error_login_email_address").html( error );
			     } 
			else if ( element.is("#password") ) {
			      $("#error_login_password").html( error );
			     }
			    
		}
	});

	jQuery("#resetpassowrd").validate({
		rules: {
		email_addr: {
					required:true,
					email: true
				},
		sec_ans: {
					required:true
					}
			
		},
		messages: {
			email_addr: {
				required: "Please enter email address",
				email: "Please enter valid email address"
			},
			sec_ans: {
			required:"Please enter answer to security question"
			}
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#email_addr") ) {
				 $("#fail_reset_sec_ans").html( '' );
			      $("#error_reset_email_addr").html( error );
			     } 
			else if ( element.is("#sec_ans") ) {
				 $("#fail_reset_sec_ans").html( '' );
			      $("#error_reset_sec_ans").html( error );
			     }
			    
		}
	});



	//change password form

	$.validator.addMethod("ChangePassNoSpace", function(value, element) { 
		  return value.indexOf(" ") < 0 && value != ""; 
		});
	$.validator.addMethod("CheckCurrentPassword", function(value, element) { 
		if($('#current_password').val() != '' && $('#password_avail').val()=='fail')
		{
			return false
		}
		else
		{
			return true;
		}
		});
	//validate same password and email 		 
	$.validator.addMethod("ChangepassEmail", function(value, element) {
		   if(jQuery('#new_password').val() == jQuery('#email_hid').val())
		   {
			   return false;
		   }
		   else
		   {
			   return true;
		   }  
	});
	//validate confirm password
	$.validator.addMethod("ChangeconfirmPassword", function(value, element) {
		   if(jQuery('#new_password').val() != jQuery('#confirm_password').val())
		   {
			   return false;
		   }
		   else
		   {
			   return true;
		   }  
	});

	jQuery("#changepassowrd").validate({
		rules: {
		current_password: {
					required:true,
					ChangePassNoSpace:true,
					CheckCurrentPassword:true
				},
				new_password:{
					required:true,
					minlength: 8,
					maxlength:32,
					ChangepassEmail:true,
					ChangePassNoSpace:true
					
				},
			confirm_password:{
					required:true,
					ChangeconfirmPassword:true
					}
		},
		messages: {
			current_password: {
				required: "Please enter current password",
				ChangePassNoSpace: "Cannot use space in password",
				CheckCurrentPassword: "The current password is incorrect"
			},
			new_password: {
				required: "Please enter password",
				minlength: "Minimum length should be 8",
				maxlength: "Maximum length should be 32",
				ChangepassEmail: "The password cannot be same as email",
				ChangePassNoSpace: "Cannot use space in password"
			},
			confirm_password:{
				required:"Please confirm your password",
				ChangeconfirmPassword: "Passwords mismatch"
			}
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#current_password") ) {
			      $("#error_current_password").html( error );
			     }
			else if ( element.is("#new_password") ) {
			      $("#error_new_password").html( error );
		     } 
			else if ( element.is("#confirm_password") ) {
			      $("#error_confirm_password").html( error );
		     }   
		}
	});

	
	
//feedback slide
	$.validator.addMethod("checkValidFeedbackFirstLastName", function(value, element) {
		  var checkFeedbackName = /^(?:[a-zA-Z0-9]{1,}['\-\s]*)+[a-zA-Z0-9]$/i;
		  if(jQuery.trim(value) != '')
		  {
			  if (jQuery.trim(value).length == 1)
				{
					the_name_test = /^[a-zA-Z0-9]{1}$/;
				   	fname_OK = the_name_test.test(jQuery.trim(value));
				   	if(!fname_OK) 
				   	{
				   		$('#feedbackName').removeAttr('style').css("color","red");
				   		return false;
				   	}
				   	else
				   		{
				   		$('#feedbackName').removeAttr('style').css("");
				   		return true;
				   		}
				}
			  else if(!checkFeedbackName.test(jQuery.trim(value)))
			  {
				  $('#feedbackName').removeAttr('style').css("color","red");
				  return false 
			  }
			  else
			  {
				  $('#feedbackName').removeAttr('style').css("");
				  return true;
			  }
		  }
		  else
		  {
			  $('#feedbackName').removeAttr('style').css("color","red");
			  return false;
		  }  
		});
	$.validator.addMethod("checkValidFeedbackEmail", function(value, element) {
		  var checkFeedbackEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		  if(jQuery.trim(value) != '')
		  {
		  if(!checkFeedbackEmail.test(jQuery.trim(value)))
		  {
			  $('#feedbackEmail').removeAttr('style').css("color","red");
			  return false 
		  }
		  else
		  {
			  $('#feedbackEmail').removeAttr('style').css("");
			  return true;
		  }
		  }
		  else
		  {
			  $('#feedbackEmail').removeAttr('style').css("color","red");
			  return false;
		  }  
		});
	$.validator.addMethod("checkValidFeedbackComment", function(value, element) {
		  if(jQuery.trim(value) != '')
		  {
			  $('#feedbackComment').removeAttr('style').css("");
			  return true; 
		  }
		  else
		  {
			  $('#feedbackComment').removeAttr('style').css("color","red");
			  return false;
		  }
		});

	  jQuery("#slide_feedback").validate({
			rules: {
		  	name_f: {
		            checkValidFeedbackFirstLastName:true
					},
			emailaddress_f:{
						checkValidFeedbackEmail :true
					},
				comments_f:{
						checkValidFeedbackComment :true
					}
			},
			messages: {
				name_f: {
				checkValidFeedbackFirstLastName:""
				},
				emailaddress_f:{
					checkValidFeedbackEmail :""
				},
			comments_f:{
					checkValidFeedbackComment :""
				}
			}
		});
//feedback slide ends
	  
//enquire slide
	  $.validator.addMethod("checkValidEnquireFirstLastName", function(value, element) {
		  var checkEnquireName = /^(?:[a-zA-Z0-9]{1,}['\-\s]*)+[a-zA-Z0-9]$/i;
		  if(jQuery.trim(value) != '')
		  {
			  if (value.length == 1)
				{
					the_name_test = /^[a-zA-Z0-9]{1}$/;
				   	fname_OK = the_name_test.test(jQuery.trim(value));
				   	if(!fname_OK) 
				   	{
				   	 $('#enquireName').removeAttr('style').css("color","red");
				   		return false;
				   	}
				   	else
				   		{
				   	 $('#enquireName').removeAttr('style').css("");
				   		return true;
				   		}
				}
		  else if(!checkEnquireName.test(jQuery.trim(value)))
		  {
			  $('#enquireName').removeAttr('style').css("color","red");
			  return false 
		  }
		  else
		  {
			  $('#enquireName').removeAttr('style').css("");
			  return true;
		  }
		  }
		  else
		  {
			  $('#enquireName').removeAttr('style').css("color","red");
			  return false;
		  }  
		});
$.validator.addMethod("checkValidEnquireSurname", function(value, element) {
var checkEnquireSurName = /^(?:[a-zA-Z0-9]{1,}['\-\s]*)+[a-zA-Z0-9]$/i;
if(jQuery.trim(value) != '')
{
	if (jQuery.trim(value).length == 1)
	{
		the_name_test = /^[a-zA-Z0-9]{1}$/;
	   	fname_OK = the_name_test.test(jQuery.trim(value));
	   	if(!fname_OK) 
	   	{
	   		$('#enquireSurname').removeAttr('style').css("color","red");
	   		return false;
	   	}
	   	else
	   		{
	   		$('#enquireSurname').removeAttr('style').css("");
	   		return true;
	   		}
	}
else if(!checkEnquireSurName.test(jQuery.trim(value)))
{
  $('#enquireSurname').removeAttr('style').css("color","red");
  return false 
}
else
{
  $('#enquireSurname').removeAttr('style').css("");
  return true;
}
}
else
{
  $('#enquireSurname').removeAttr('style').css("color","red");
  return false;
}  
});
	$.validator.addMethod("checkValidEnquireEmail", function(value, element) {
		  var checkEnquireEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		  if(jQuery.trim(value) != '')
		  {
		  if(!checkFeedbackEmail.test(jQuery.trim(value)))
		  {
			  $('#enquireEmail').removeAttr('style').css("color","red");
			  return false 
		  }
		  else
		  {
			  $('#enquireEmail').removeAttr('style').css("");
			  return true;
		  }
		  }
		  else
		  {
			  $('#enquireEmail').removeAttr('style').css("color","red");
			  return false;
		  }  
		});
	$.validator.addMethod("checkValidEnquireEmail", function(value, element) {
		  var checkEnquireEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		  if(jQuery.trim(value) != '')
		  {
		  if(!checkEnquireEmail.test(jQuery.trim(value)))
		  {
			  $('#enquireEmail').removeAttr('style').css("color","red");
			  return false 
		  }
		  else
		  {
			  $('#enquireEmail').removeAttr('style').css("");
			  return true;
		  }
		  }
		  else
		  {
			  $('#enquireEmail').removeAttr('style').css("color","red");
			  return false;
		  }  
		});
	$.validator.addMethod("checkValidEnquireTelephone", function(value, element) {
		  if(jQuery.trim(value) != '')
		  {
			  if (check_phone_length(jQuery.trim(value))==false){
				  $('#enquireTelephone').removeAttr('style').css("color","red");
					return false;
				}
			
			  else if (check_phone_number(jQuery.trim(value))==false){
					 $('#enquireTelephone').removeAttr('style').css("color","red");
					return false;
				}
				

			  else if (check_phone_zeros(jQuery.trim(value))==false){
					 $('#enquireTelephone').removeAttr('style').css("color","red");
					return false;
				}
				else
				  {
					  $('#enquireTelephone').removeAttr('style').css("");
					  return true;
				  }
		  }
		  else
		  {
			  $('#enquireTelephone').removeAttr('style').css("");
			  return true;
		  }  
		});
	$.validator.addMethod("checkValidEnquireHearSource", function(value, element) {
		if($('#hear_source_s option:selected').val() == '- Select One -' || $('#hear_source_s option:selected').val() == '0')
		{
			 $('#enquireHearSource').removeAttr('style').css("color","red");
			return false;
		}
		else
		{
			$('#enquireHearSource').removeAttr('style').css("");
			 return true;
		}
	});
	$.validator.addMethod("checkValidEnquireQuestion", function(value, element) {
		if( jQuery.trim(value) != '')
		  {
			  $('#enquireQuestion').removeAttr('style').css("");
			  return true; 
		  }
		  else
		  {
			  $('#enquireQuestion').removeAttr('style').css("color","red");
			  return false;
		  }
	});
	  jQuery("#slide_enquiry").validate({
			rules: {
		  first_name_s: {
		 		 checkValidEnquireFirstLastName:true
					},
			sur_name_s:{
						checkValidEnquireSurname:true
					},
	     email_address_s:{
						checkValidEnquireEmail :true
					},
		 telephone_s:{
				checkValidEnquireTelephone :true
					},
	    hear_source_s:{
						checkValidEnquireHearSource :true
					},
		question_s:{
						checkValidEnquireQuestion :true
					}
			},
			messages: {
				first_name_s: {
		 		 checkValidEnquireFirstLastName:""
					},
			sur_name_s:{
						checkValidEnquireSurname:""
					},
	     email_address_s:{
						checkValidEnquireEmail :""
					},
		 telephone_s:{
						checkValidEnquireTelephone :""
					},
	    hear_source_s:{
						checkValidEnquireHearSource :""
					},
		question_s:{
						checkValidEnquireQuestion :""
					}
			}
		});

//enquire slide ends
//registration form 1 validations start

//validate IATA numver
$.validator.addMethod("checkIata", function(value, element) { 
    return this.optional(element) || /^(?:[a-zA-Z0-9]['\s\-]*)+[a-zA-Z0-9]$/i.test(jQuery.trim(value));  
    }, "Please enter valid IATA number");
$.validator.addMethod("noSpace", function(value, element) { 
	  return value.indexOf(" ") < 0 && value != ""; 
	});
//validate email
$.validator.addMethod("emailCheck", function(value, element) {
	   if(jQuery('#emailCheck').val() == 'done')
	   {
		   return false;
	   }
	   else
	   {
		   return true;
	   }  
 });
//validate same password and email 		 
$.validator.addMethod("passEmail", function(value, element) {
	   if(jQuery('#password').val() == jQuery('#email_address').val())
	   {
		   return false;
	   }
	   else
	   {
		   return true;
	   }  
});
//validate confirm password
$.validator.addMethod("confirmPassword", function(value, element) {
	   if(jQuery('#password').val() != jQuery('#cpassword').val())
	   {
		   return false;
	   }
	   else
	   {
		   return true;
	   }  
});

$.validator.addMethod("checkSecurityQuestion", function(value, element) {
	if($('#sec_question option:selected').val() == '- Select security question -' || $('#sec_question option:selected').val() == '')
	{
		return false;
	}
	else
	{
		 $("#error_security_question").html('');
		 return true;
	}
});
//validate security answer
$.validator.addMethod("checkSecurityAnswer", function(value, element) {
return this.optional(element) || /^(?:[a-zA-Z0-9]['\s]?)+[a-zA-Z0-9]$/i.test(jQuery.trim(value));  
});

//validate checkValidFirstLastName
$.validator.addMethod("checkValidFirstLastName", function(value, element) {
	if (jQuery.trim(value).length == 1)
	{
		the_name_test = /^[a-zA-Z]{1}$/;
	   	fname_OK = the_name_test.test(jQuery.trim(value));
	   	if(!fname_OK) 
	   	{
	   		return false;
	   	}
	   	else
	   		{
	   		return true;
	   		}
	}
	else
		{
			return this.optional(element) || /^([a-zA-Z]{1,}['\-\s]*)+[a-zA-Z]$/i.test(jQuery.trim(value));
		}
});

$.validator.addMethod("checkRadio", function(value, element) {
if($("#travel_agent_yes:checked").length==1) {
	if(value==""){
		return false;
	} else {
		return true;
	}	
} else return true;
}); 
$.validator.addMethod("checktelephone1", function(value, element) {
if(value != '')
{
if (check_phone_length(value)){
	return true;
}
else
{
	return false;
}
}
else
{
	return true;
}
});
$.validator.addMethod("checktelephone2", function(value, element) {
if(value != '')
{
if (check_phone_number(value)){
	return true;
}
else
{
	return false;
}
}
else
{
	return true;
}
});
$.validator.addMethod("checktelephone3", function(value, element) {
if(value != '')
{
if (check_phone_zeros(value)){
	return true;
}
else
{
	return false;
}
}
else
{
	return true;
}
});

$.validator.addMethod("emailFormatCheck", function(value, element) {
if(!isEmail(value))
			{
				return false;
			}
			else
			{
				return true;
			}
});

jQuery("#register").validate({
	rules: {
		iata:{
			checkRadio:true,
			checkIata:true
		},
		email_address: {
				required:true,
				email:true,
				emailCheck:true,
				emailFormatCheck:true
			},
		password:{
				required:true,
				minlength: 8,
				maxlength:32,
				passEmail:true,
				noSpace:true
				
			},
		cpassword:{
				required:true,
				confirmPassword:true
				},
		sec_question : {
					checkSecurityQuestion : true
				},
		sec_answer : {
				required:true,
				checkSecurityAnswer : true
			},	
		first_name :{
				required:true,
				checkValidFirstLastName:true					
			},
		last_name :{
				required:true,
				checkValidFirstLastName:true					
			},
		register_country:{
			required: true
			},
		telephone:{
				checktelephone1:true,
				checktelephone2:true,
				checktelephone3:true
			}
	},
	messages: {
		iata:{
		checkRadio:"Please enter IATA number",
		checkIata: "Please enter valid IATA number"
			},
		email_address: {
			required: "Please enter email",
			email: "Please enter valid email",
			emailCheck:"Your email has already been registered",
			emailFormatCheck:"Please enter valid email"
		},
		password: {
			required: "Please enter password",
			minlength: "Minimum length should be 8",
			maxlength: "Maximum length should be 32",
			passEmail: "The password cannot be same as email",
			noSpace: "Cannot use space in password"
		},
		cpassword:{
			required:"Please confirm your password",
			confirmPassword: "The password and confirm password should be same"

		},
		sec_question:{
			checkSecurityQuestion: "Please select security question"
			},
		sec_answer:{
			required:"Please enter answer to security question",
			checkSecurityAnswer: "Please enter valid answer to security question"
			},
		first_name:{
			required: "Please enter first name",
			checkValidFirstLastName:"Please enter valid first name"
			},
		last_name:{
			required: "Please enter last name",
			checkValidFirstLastName:"Please enter valid last name"
			},
		register_country:{
			required: "Please select country of residence"
			},
		telephone:{
				checktelephone1:"Telephone number should be mininum 8 digits",
				checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid telephone number (Ex: +234-235-2535)"
			}
			
	},
	  errorPlacement: function(error, element) {
		if ( element.is("#iata") ) {
		      $("#error_iata_number").html( error );
		     } 
		else if ( element.is("#agency_name") ) {
		      $("#error_agency_name").html( error );
		     }
		else if ( element.is("#email_address") ) {
		      $("#error_email").html( error );
		     } 
		  else if ( element.is("#password") ) {
		      $("#error_password").html( error );
		     }
		  else if ( element.is("#cpassword") ) {
		      $("#error_cpassword").html( error );
		     }
		  else if ( element.is("#sec_question") ) {
		      $("#error_security_question").html( error );
		     }
		  else if ( element.is("#sec_answer") ) {
		      $("#error_sec_answer").html( error );
		     }
		  else if ( element.is("#first_name") ) {
		      $("#error_first_name").html( error );
		     }
		  else if ( element.is("#last_name") ) {
		      $("#error_last_name").html( error );
		     }
		  else if ( element.is("#telephone") ) {
		      $("#error_telephone").html( error );
		     }
		  else if ( element.is("#register_country") ) {
		      $("#error_register_country").html( error );
		     }     
	}
});

//validate enquiry form

$.validator.addMethod("checktelephone1", function(value, element) {
	if(jQuery.trim(value) != '')
	{
	if (check_phone_length(jQuery.trim(value))==false){
		return false;
	}
	else
	{
		return true;
	}
	}
	else
	{
		return true;
	}
	});
$.validator.addMethod("checktelephone2", function(value, element) {
	if(jQuery.trim(value) != '')
	{
	if (check_phone_number(jQuery.trim(value))==false){
		return false;
	}
	else
	{
		return true;
	}
	}
	else
	{
		return true;
	}
	});
$.validator.addMethod("checktelephone3", function(value, element) {
	if(jQuery.trim(value) != '')
	{
	if (check_phone_zeros(jQuery.trim(value))==false){
		return false;
	}
	else
	{
		return true;
	}
	}
	else
	{
		return true;
	}
	});

$.validator.addMethod("selectCountry", function(value, element) {
	if($('#country option:selected').val() == '- Select a Country -' || $('#country option:selected').val() == '0')
	{
		return false;
	}
	else
	{
		 $("#error_country").html('');
		return true;
	}
});

$.validator.addMethod("checkValidAddress1", function(value, element) {
	if(jQuery.trim(value) != '')
	{
		if (!validAddress(value))
		{
			return false;	
		}	
		else
		{
			return true;
		}
		if (validateDoubleSpace(jQuery.trim(value)) != '-1')
		{
			return true;	
		}
		else
		{
			return false;
		}
	}
	else
	{
		return true;
	}
	});
$.validator.addMethod("checkValidAddress2", function(value, element) {
	if(jQuery.trim(value) != '')
	{
		if (!validAddress(value))
		{
			return false;	
		}	
		else
		{
			return true;
		}
		if (validateDoubleSpace(jQuery.trim(value)) != '-1')
		{
			return true;	
		}
		else
		{
			return false;
		}
	}
	else
	{
		return true;
	}
	});
$.validator.addMethod("checkhearsource", function(value, element) {
	if($('#hear_source option:selected').val() == '- Select One -' || $('#hear_source option:selected').val() == '0')
	{
		return false;
	}
	else
	{
		 $("#error_hear_source").html('');
		 return true;
	}
});
$.validator.addMethod("checkothersourceempty", function(value, element) {
	if($('#hear_source option:selected').val() == '445')
	{
		if (jQuery.trim(value) =='')
		{
			return false;	
		}
		else
		{
			return true;	
		}
	}
	else
	{
		 return true;
	}
});
$.validator.addMethod("checkothersource", function(value, element) {
	
	if($('#hear_source option:selected').val() == '445')
	{
		if (jQuery.trim(value)!='')
		{
			if(validAlNum(jQuery.trim(value))) {
				return true;	
			}
		}
		else
		{
			return false;	
		}
	}
	else
	{
		 return true;
	}
});
$.validator.addMethod("checkpropertyname", function(value, element) {
	if(jQuery.trim(value) != '')
	{
	if(!validPropertyName(jQuery.trim(value))) {
		return false;	
	}
	else
	{
		return true;
	}
	}
	else
	{
		return true;
	}
});
$.validator.addMethod("checkguests", function(value, element) {
	if(jQuery.trim(value) != '')
	{
		var checknumber = /^[0-9]{1,3}$/;
	   var	guestnum = checknumber.test(jQuery.trim(value));
   	if(!guestnum) 
   	{
   		return false;
   	}
	else
	{
		return true;
	}
	} else if(value == '0')
	{
		return false;
	}
	else
	{
		return true;
	}
});

$.validator.addMethod("checkchilds", function(value, element) {
	if(jQuery.trim(value) != '')
	{
		var checknumber = /^[0-9]{1,3}$/;
	   var	childnum = checknumber.test(jQuery.trim(value));
   	if(!childnum) 
   	{
   		return false;
   	}
	else
	{
		return true;
	}
	} else if(value == '0')
	{
		return false;
	}
	else
	{
		return true;
	}
});

$.validator.addMethod("checkinfants", function(value, element) {
	if(jQuery.trim(value) != '')
	{
		var checknumber = /^[0-9]{1,3}$/;
	   var	infantnum = checknumber.test(jQuery.trim(value));
   	if(!infantnum) 
   	{
   		return false;
   	}
	else
	{
		return true;
	}
	} else if(value == '0')
	{
		return false;
	}
	else
	{
		return true;
	}
});

$.validator.addMethod("checkEnquireRadio", function(value, element) {
	if($("#travel_agent-1:checked").length==1) {
		if(jQuery.trim(value)==""){
			return false;
		} else {
			return true;
		}	
	} else return true;
});
$.validator.addMethod("checkEnquireAgency", function(value, element) {
	var agencyNameCheck = /^(?:[a-zA-Z0-9]['\s]?)+[a-zA-Z0-9]$/i.test(jQuery.trim(value));
	if($("#travel_agent-1:checked").length==1) {
		if(jQuery.trim(value)==""){
			return false;
		} else {
			if(agencyNameCheck){
				return true;
			}
			else
				{
				return false;
				}
			
		}	
	} else return true;
});

$.validator.addMethod("checkDateFrom", function(value, element) {
	
	if ($('#date_to').val()!='')
	{
		if($('#date_from').val() == '') 
	   	{
			$('#date_from').focus();
	   		return false;
	   	}
		else
		{
		return true;
		}
	}
	else
	{
		return true;
	}
});
$.validator.addMethod("checkDateTo", function(value, element) {
	
	if ($('#date_from').val()!='')
	{
		if($('#date_to').val() == '') 
	   	{
			$('#date_to').focus();
	   		return false;
	   	}
		else
			{
			return true;
			}
	}
	else
	{
		return true;
	}
});
//validate IATA numver
	jQuery("#enquiry").validate({
		rules: {
			first_name:{
				required:true,
				checkValidFirstLastName:true
			},
			sur_name:{
				required:true,
				checkValidFirstLastName:true
			},
			email_address:{
				required:true,
				email:true
			},
			telephone:{
				checktelephone1:true,
				checktelephone2:true,
				checktelephone3:true
			},
			country: {
				selectCountry:true
			},
			address1:{
				checkValidAddress1:true
			},
			address2:{
				checkValidAddress2:true
			},
			hear_source: {
				checkhearsource:true
			},
			other_source: {
				checkothersourceempty:true,
				checkothersource:true
			},
			date_from:{
				checkDateFrom:true
			},
			date_to:{
				checkDateTo:true
			},
			no_of_guests: {
				checkguests:true
			},
			no_of_childs: {
				checkchilds:true
			},
			no_of_infants: {
				checkinfants:true
			},
			iata:{
				checkEnquireRadio:true,
				checkIata:true
			},
			agency_name:{
				checkEnquireRadio:true,
				checkEnquireAgency:true
			},
			question:{
				required:true
			},
			recaptcha_response_field:{
				required:true
			}		
		},
		messages: {
			first_name:{
			required:"Please Enter First Name",
			checkValidFirstLastName: "Please enter valid first name"
		},
		sur_name:{
			required:"Please Enter Surname",
			checkValidFirstLastName: "Please enter valid surname"
		},
		email_address:{
			required:"Please enter email address",
			email: "Please enter valid email address"
		},
		telephone:{
			checktelephone1:"Telephone number should be mininum 8 digits",
			checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
			checktelephone3:"Please enter valid telephone number (Ex: +234-235-2535)"
		},
		country:{
			selectCountry:"Please select country of residence"
		},
		address1:{
			checkValidAddress1:"Please enter valid address 1"
		},
		address2:{
			checkValidAddress2:"Please enter valid address 2"
		},
		hear_source: {
			checkhearsource:"Please select how did you hear about us?"
		},
		other_source: {
			checkothersourceempty:"Please enter other source",
			checkothersource:"Please enter valid other source"
		},
		date_from:{
			checkDateFrom:"Please enter from date"
		},
		date_to:{
			checkDateTo:"Please enter to date"
		},		
		no_of_guests: {
			checkguests:"Please enter valid number of guests"
		},
		no_of_childs: {
			checkchilds:"Please enter valid number of children"
		},
		no_of_infants: {
			checkinfants:"Please enter valid number of infants"
		},
		iata:{
			checkEnquireRadio:"Please enter IATA number",
			checkIata: "Please enter valid IATA number"
		},
		agency_name:{ 
			checkEnquireRadio:"Please enter agency name",
			checkEnquireAgency:"Please enter valid agency name"
		},
		question:{ 
			required:"Please enter what you would like to know?"
		},
		recaptcha_response_field:{
			required:"Please enter captcha code"
		}
		
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#first_name") ) {
			      $("#error_first_name").html( error );
			     } 
			else if ( element.is("#sur_name") ) {
			      $("#error_sur_name").html( error );
			     }
			else if ( element.is("#email_address") ) {
			      $("#error_email_address").html( error );
			     }
			else if ( element.is("#telephone") ) {
			      $("#error_telephone").html( error );
			     }
			else if ( element.is("#country") ) {
			      $("#error_country").html( error );
			     } 
			else if ( element.is("#address1") ) {
			      $("#error_address1").html( error );
			     }
			else if ( element.is("#address2") ) {
			      $("#error_address2").html( error );
			     } 
			else if ( element.is("#hear_source") ) {
			      $("#error_hear_source").html( error );
			     } 
			else if ( element.is("#other_source") ) {
			      $("#error_other_source").html( error );
			     }
			else if ( element.is("#date_from") ) {
			      $("#error_date_from").html( error );
			     }
			else if ( element.is("#date_to") ) {
			      $("#error_date_to").html( error );
			     }
			else if ( element.is("#no_of_guests") ) {
			      $("#error_no_of_guests").html( error );
			     } 
			else if ( element.is("#no_of_childs") ) {
			      $("#error_no_of_childs").html( error );
			     } 
			else if ( element.is("#no_of_infants") ) {
			      $("#error_no_of_infants").html( error );
			     } 
			else if ( element.is("#agency_name") ) {
			      $("#error_agency_name").html( error );
			     } 
			else if ( element.is("#iata") ) {
			      $("#error_iata").html( error );
			     }
			else if ( element.is("#question") ) {
			      $("#error_question").html( error );
			     }
			else if ( element.is("#recaptcha_response_field") ) {
			      $("#error_recaptcha_response_field").html( error );
			     }        
		}
});
	
// registration 2
	
	
	//validate date
	$.validator.addMethod("checkDateFormatRegister2", function(value, element) {
		if ($('#day option:selected').val() != '0' || $('#month option:selected').val() != '0' || $('#year option:selected').val() != '00')
		{
			if ($('#day option:selected').val() == '0' || $('#month option:selected').val() == '0' || $('#year option:selected').val() == '00')
			{
				return false;	
			}
			else
			{	
				
				return true;
			}
		} 
		else{
			return true;
		}
	});
	var daysinmonth = '';
	//validate date
	$.validator.addMethod("checkAvailableDateFormatRegister2", function(value, element) {
		if ($('#day option:selected').val() != '0' && $('#month option:selected').val() != '0' && $('#year option:selected').val() != '00')
		{
			var monthdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

			 daysinmonth = monthdays[parseFloat($('#month option:selected').val())-1];
			
			if ($('#month option:selected').val() == "02" &&
			  ($('#year option:selected').val() % 400 == 0 ||
			  ($('#year option:selected').val() % 4 == 0 &&
			  $('#year option:selected').val() % 100 != 0)))
			  {
				monthdays[document.getElementById('month').value-1]++;
				daysinmonth = monthdays[$('#month option:selected').val()-1];
			  }
			
			
			if ($('#day option:selected').val() > monthdays[parseFloat($('#month option:selected').val())-1])
			{
			  return (false);
			}
			else
			{
				
				return true;
			}
		}
	});
	$.validator.addMethod("checktelephone1", function(value, element) {
		if(jQuery.trim(value)!= '')
		{
		if (check_phone_length(jQuery.trim(value))==false){
			return false;
		}
		else
		{
			return true;
		}
		}
		else
		{
			return true;
		}
		});
	$.validator.addMethod("checktelephone2", function(value, element) {
		if(jQuery.trim(value) != '')
		{
		if (check_phone_number(jQuery.trim(value))==false){
			return false;
		}
		else
		{
			return true;
		}
		}
		else
		{
			return true;
		}
		});
	$.validator.addMethod("checktelephone3", function(value, element) {
		if(jQuery.trim(value) != '')
		{
		if (check_phone_zeros(jQuery.trim(value))==false){
			return false;
		}
		else
		{
			return true;
		}
		}
		else
		{
			return true;
		}
		});
	$.validator.addMethod("checkValidAddress1", function(value, element) {
		if(jQuery.trim(value) != '')
		{
			if (!validAddress(jQuery.trim(value)))
			{
				return false;	
			}	
			else
			{
				return true;
			}
			if (validateDoubleSpace(jQuery.trim(value)) != '-1')
			{
				return true;	
			}
			else
			{
				return false;
			}
		}
		else
		{
			return true;
		}
		});
	$.validator.addMethod("checkValidAddress2", function(value, element) {
		if(jQuery.trim(value) != '')
		{
			if (!validAddress(jQuery.trim(value)))
			{
				return false;	
			}	
			else
			{
				return true;
			}
			if (validateDoubleSpace(jQuery.trim(value)) != '-1')
			{
				return true;	
			}
			else
			{
				return false;
			}
		}
		else
		{
			return true;
		}
		});

	$.validator.addMethod("checkCityState", function(value, element) {
		if(jQuery.trim(value) != '' && element.type == 'text')
		{
			if (jQuery.trim(value).length == 1)
			{
				the_name_test = /^[a-zA-Z]{1}$/;
			   	city_OK = the_name_test.test(jQuery.trim(value));
			   	
			   	if(!city_OK) 
			   	{
			   		return false;
			   	}
			   	else
			   	{
				   	return true;
				}
			}
			else if(jQuery.trim(value).length > 1) 
			{
				
				if(!validCityState(jQuery.trim(value))) 
				{
					return false;
				}
				else if(!isNaN(jQuery.trim(value)))
				{
					return false;
				}
				else
				{
					return true;
				}
			}	
		}
		else
		{
			return true;
		}
		});

	$.validator.addMethod("checkPostalCode", function(value, element) {
		if(jQuery.trim(value) != '')
		{
			if (jQuery.trim(value).length < 4)
			{
				return false;	
			}
			
			else if (value <= 0)
			{
				return false;	
			}		
			
			else if (!validPostCode(jQuery.trim(value)))
			{
				return false;	
			}
			else
			{
				return true;
			}		
		}
		else
		{
			return true;
		}
		});
	$.validator.addMethod("checkconsortia", function(value, element) {
		if ($('#con_company_other:checked').val()=='8')
		{
			 if ($('#consortia_other').val()=='')
				{
					return false;	
				}
			 else{
					return true;
				 }		
		}
		else
		{
			return true;
		}
		});
	jQuery("#register2").validate({
		rules: {
				day:{
				checkDateFormatRegister2:true
			},
			month:{
				checkDateFormatRegister2:true
			},
			year: {
				checkDateFormatRegister2:true
				},
			mobile:{
					checktelephone1:true,
					checktelephone2:true,
					checktelephone3:true
				},
			work_telephone:{
					checktelephone1:true,
					checktelephone2:true,
					checktelephone3:true
					},
			address1:{
				checkValidAddress1:true
			},
			address2:{
				checkValidAddress2:true
			},	
			city :{
				checkCityState:true					
				},
			state :{
					checkCityState:true
					},
			post_code:{
						checkPostalCode:true	
					},
			consortia_other :{
					checkconsortia:true	
					}				
		},
		messages: {
			day:{
			checkDateFormatRegister2:"Please select valid date of birth"
		},
		month:{
			checkDateFormatRegister2:"Please select valid date of birth"
			
		},
		year: {
			checkDateFormatRegister2:"Please select valid date of birth"
			
			},
		mobile:{

				checktelephone1:"Mobile Number should be mininum 8 digits",
				checktelephone2:"Please enter valid Mobile Number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid Mobile Number (Ex: +234-235-2535)"
			},
		work_telephone:{
				checktelephone1:"Work Telephone Number should be mininum 8 digits",
				checktelephone2:"Please enter valid Work Telephone Number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid Work Telephone Number (Ex: +234-235-2535)"
				},
		address1:{
			checkValidAddress1:"Please enter valid address 1"
		},
		address2:{
			checkValidAddress2:"Please enter valid address 2"
		},	
		city :{
			checkCityState:"Please enter valid city"				
			},
		state :{
				checkCityState:"Please enter valid state"
				},
		post_code:{
					checkPostalCode:"Please enter valid post / zip code"	
				},
		consortia_other :{
				checkconsortia:"Please enter other value or uncheck the checkbox"
				}
				
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#day") ) {
			      $("#error_date").html( error );
			     } 
			else if ( element.is("#month") ) {
			      $("#error_date").html( error );
			     }
			else if ( element.is("#year") ) {
			      $("#error_date").html( error );
			     } 
			  else if ( element.is("#mobile") ) {
			      $("#error_mobile").html( error );
			     }
			  else if ( element.is("#work_telephone") ) {
			      $("#error_work_telephone").html( error );
			     }
			  else if ( element.is("#address1") ) {
			      $("#error_address_line1").html( error );
			     }
			  else if ( element.is("#address2") ) {
			      $("#error_address_line2").html( error );
			     }
			  else if ( element.is("#city") ) {
			      $("#error_city").html( error );
			     }
			  else if ( element.is("#state") ) {
			      $("#error_state").html( error );
			     }
			  else if ( element.is("#post_code") ) {
			      $("#error_post_code").html( error );
			     }
			  else if ( element.is("#consortia_other") ) {
			      $("#error_consortia_other").html( error );
			     }     
		}
	});
	$.validator.addMethod("CheckCurrentPasswordInProfile", function(value, element) { 
		if($('#password').val() != '' && $('#pwdCheck').val()=='fail')
		{
			return false
		}
		else
		{
			return true;
		}
		});
	jQuery("#update").validate({
		rules: {
				sec_question : {
					checkSecurityQuestion : true
				},
				sec_answer: {
					required:true,
					checkSecurityAnswer : true
				},
				first_name:{
					required:true,
					checkValidFirstLastName:true
				},
				last_name:{
					required:true,
					checkValidFirstLastName:true
				},
				telephone:{
					checktelephone1:true,
					checktelephone2:true,
					checktelephone3:true
				},
				day:{
					checkDateFormatRegister2:true
				},
				month:{
					checkDateFormatRegister2:true
				},
				year: {
					checkDateFormatRegister2:true
					},
					mobile:{
						checktelephone1:true,
						checktelephone2:true,
						checktelephone3:true
					},
				work_telephone:{
						checktelephone1:true,
						checktelephone2:true,
						checktelephone3:true
						},
				address1:{
							checkValidAddress1:true
						},
				address2:{
							checkValidAddress2:true
						},
				post_code:{
							checkPostalCode:true	
						},
				city :{
					checkCityState:true					
					},
				state :{
						checkCityState:true
						},
				consortia_other :{
					checkconsortia:true	
					},	
				password:{
					required:true,
					CheckCurrentPasswordInProfile:true
				}
				
		},
		messages: {
			day:{
			checkDateFormatRegister2:"Please select valid date of birth"
		},
		month:{
			checkDateFormatRegister2:"Please select valid date of birth"
			
		},
		year: {
			checkDateFormatRegister2:"Please select valid date of birth"
			
			},
			sec_question:{
				checkSecurityQuestion: "Please select security question"
			},
			sec_answer: {
				required:"Please enter valid security answer",
				checkSecurityAnswer : "Please enter valid security answer"
			},
			first_name:{
				required:"Please enter valid first name",
				checkValidFirstLastName:"Please enter valid first name"
			},
			last_name:{
				required:"Please enter valid last name",
				checkValidFirstLastName:"Please enter valid last name"
			},
			telephone:{
				checktelephone1:"Telephone number should be mininum 8 digits",
				checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid telephone number (Ex: +234-235-2535)"
			},
			mobile:{
				checktelephone1:"Mobile Number should be mininum 8 digits",
				checktelephone2:"Please enter valid Mobile Number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid Mobile Number (Ex: +234-235-2535)"
			},
		work_telephone:{
				checktelephone1:"Work Telephone Number should be mininum 8 digits",
				checktelephone2:"Please enter valid Work Telephone Number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid Work Telephone Number (Ex: +234-235-2535)"
				},
		address1:{
					checkValidAddress1:"Please enter valid address 1"
		},
		address2:{
				checkValidAddress2:"Please enter valid address 2"
		},
		post_code:{
			checkPostalCode:"Please enter valid post / zip code"	
		},
		city :{
			checkCityState:"Please enter valid city"				
			},
		state :{
				checkCityState:"Please enter valid state"	
				},
			password:{
				required:"Please enter password",
				CheckCurrentPasswordInProfile:"Please enter correct password"
			},
			consortia_other :{
				checkconsortia:"Please enter other value or uncheck the checkbox"
				}
		},
		  errorPlacement: function(error, element) {
			 if ( element.is("#first_name") ) {
			      $("#error_first_name").html( error );
			     }
			  else if ( element.is("#last_name") ) {
			      $("#error_last_name").html( error );
			     }
			  else if ( element.is("#sec_question") ) {
			      $("#error_sec_question").html( error );
			     }
			  else if ( element.is("#sec_answer") ) {
			      $("#error_sec_answer").html( error );
			     }
			  else if ( element.is("#telephone") ) {
			      $("#error_telephone").html( error );
			     }
			 if ( element.is("#day") ) {
			      $("#error_date").html( error );
			     } 
			else if ( element.is("#month") ) {
			      $("#error_date").html( error );
			     }
			else if ( element.is("#year") ) {
			      $("#error_date").html( error );
			     } 
			else if ( element.is("#mobile") ) {
			      $("#error_mobile").html( error );
			     }
			  else if ( element.is("#work_telephone") ) {
			      $("#error_work_telephone").html( error );
			     }
			  else if ( element.is("#address1") ) {
			      $("#error_address1").html( error );
			     }
			  else if ( element.is("#address2") ) {
			      $("#error_address2").html( error );
			     }
			  else if ( element.is("#post_code") ) {
			      $("#error_post_code").html( error );
			     }
			  else if ( element.is("#city") ) {
			      $("#error_city").html( error );
			     }
			  else if ( element.is("#state") ) {
			      $("#error_state").html( error );
			     }
			  else if ( element.is("#consortia_other") ) {
			      $("#error_consortia_other").html( error );
			     } 
			  else if ( element.is("#password") ) {
			      $("#error_password").html( error );
			     }
		}
	});
	//admin add user
	$.validator.addMethod("CheckEmptyFields", function(value, element) {
		$(":input").each(function() {
			   if($(this).val() === ""){
				   $('#error_empty_fields').removeAttr('style').css("color","red");
				   $('#error_empty_fields').html("Please enter any of the search type");
			    return false;
			   }
			   else
				   {
				   $('#error_empty_fields').html("");
				   return true;
				   }
			});
		});	
	
	$('#adminSearchForm').submit(function() {
			if($('#email_address').val() == ''&& $('#first_name').val() == ''&& $('#last_name').val() == ''&& $('#postcode').val() == '' )
				{
				 $('#error_empty_fields').removeAttr('style').css("color","red");
				   $('#error_empty_fields').html("Please enter any of the search type");
				   return false;
				}
			else
				{
				$('#error_empty_fields').html("");
				 return true;
				}
		});
	$("#adminSearchForm").validate({
		rules: {
				email_address: {
				email:true
			}
		},
		messages: {
			email_address:{
				email:"Please enter a valid email"
				}
			},
			 errorPlacement: function(error, element) {
				 if ( element.is("#email_address") ) {
				      $("#error_email_address").html( error );
				     }
			}
		});
//admin add user
	$.validator.addMethod("checkAgency", function(value, element) {
		var agencyNameCheck = /^(?:[a-zA-Z0-9]['\s]?)+[a-zA-Z0-9]$/i.test(jQuery.trim(value));
		if($("#travel_agent_yes:checked").length==1) {
			if(jQuery.trim(value)==""){
				return true;
			} else {
				if(agencyNameCheck){
					return true;
				}
				else
					{
					return false;
					}
				
			}	
		} else return true;
		}); 
	jQuery("#registerFromAdmin").validate({
		rules: {
			iata:{
				checkRadio:true,
				checkIata:true
			},
			email_address: {
					required:true,
					email:true,
					emailCheck:true,
					emailFormatCheck:true
				},
			password:{
					required:true,
					minlength: 8,
					maxlength:32,
					passEmail:true,
					noSpace:true
					
				},
			cpassword:{
					required:true,
					confirmPassword:true
					},
				sec_question : {
					checkSecurityQuestion : true
				},
				sec_answer: {
					required:true,
					checkSecurityAnswer : true
				},
				first_name:{
					required:true,
					checkValidFirstLastName:true
				},
				last_name:{
					required:true,
					checkValidFirstLastName:true
				},
				telephone:{
					checktelephone1:true,
					checktelephone2:true,
					checktelephone3:true
				},
				day:{
					checkDateFormatRegister2:true
				},
				month:{
					checkDateFormatRegister2:true
				},
				year: {
					checkDateFormatRegister2:true
					},
					mobile:{
						checktelephone1:true,
						checktelephone2:true,
						checktelephone3:true
					},
				work_telephone:{
						checktelephone1:true,
						checktelephone2:true,
						checktelephone3:true
						},
				address1:{
							checkValidAddress1:true
						},
				address2:{
							checkValidAddress2:true
						},
				post_code:{
							checkPostalCode:true	
						},
				city :{
					checkCityState:true					
					},
				state :{
						checkCityState:true
						},
				register_country:{
							required:true
						},
				consortia_other :{
					checkconsortia:true	
					}
		},
		messages: {
			iata:{
			checkRadio:"Please enter IATA number",
			checkIata: "Please enter valid IATA number"
				},
			email_address: {
				required: "Please enter email",
				email: "Please enter valid email",
				emailCheck:"Your email has already been registered",
				emailFormatCheck:"Please enter valid email"
			},
			password: {
				required: "Please enter password",
				minlength: "Minimum length should be 8",
				maxlength: "Maximum length should be 32",
				passEmail: "The password cannot be same as email",
				noSpace: "Cannot use space in password"
			},
			cpassword:{
				required:"Please confirm your password",
				confirmPassword: "The password and confirm password should be same"
			},
			day:{
			checkDateFormatRegister2:"Please select valid date of birth"
		},
		month:{
			checkDateFormatRegister2:"Please select valid date of birth"
			
		},
		year: {
			checkDateFormatRegister2:"Please select valid date of birth"
			
			},
			sec_question:{
				checkSecurityQuestion: "Please select security question"
			},
			sec_answer: {
				required:"Please enter the security answer",
				checkSecurityAnswer : "Please enter valid security answer"
			},
			first_name:{
				required:"Please enter first name",
				checkValidFirstLastName:"Please Enter Valid First Name"
			},
			last_name:{
				required:"Please enter last name",
				checkValidFirstLastName:"Please enter valid last name"
			},
			telephone:{
				checktelephone1:"Telephone number should be mininum 8 digits",
				checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid telephone number (Ex: +234-235-2535)"
			},
			mobile:{
				checktelephone1:"Mobile Number should be mininum 8 digits",
				checktelephone2:"Please enter valid Mobile Number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid Mobile Number (Ex: +234-235-2535)"
			},
		work_telephone:{
				checktelephone1:"Work Telephone Number should be mininum 8 digits",
				checktelephone2:"Please enter valid Work Telephone Number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid Work Telephone Number (Ex: +234-235-2535)"
				},
		address1:{
					checkValidAddress1:"Please enter valid address 1"
		},
		address2:{
				checkValidAddress2:"Please enter valid address 2"
		},
		post_code:{
			checkPostalCode:"Please enter valid post / zip code"	
		},
		city :{
			checkCityState:"Please enter valid city"				
			},
		state :{
				checkCityState:"Please enter valid state"	
				},
		register_country:{
			required: "Please select country of residence"
			},
			consortia_other :{
				checkconsortia:"Please enter other value or uncheck the checkbox"
				}
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#iata") ) {
			      $("#error_iata_number").html( error );
			     } 
			else if ( element.is("#agency_name") ) {
			      $("#error_agency_name").html( error );
			     }
			else if ( element.is("#email_address") ) {
			      $("#error_email").html( error );
			     } 
			  else if ( element.is("#password") ) {
			      $("#error_password").html( error );
			     }
			  else if ( element.is("#cpassword") ) {
			      $("#error_cpassword").html( error );
			     }
			  else if ( element.is("#first_name") ) {
			      $("#error_first_name").html( error );
			     }
			  else if ( element.is("#last_name") ) {
			      $("#error_last_name").html( error );
			     }
			  else if ( element.is("#sec_question") ) {
			      $("#error_sec_question").html( error );
			     }
			  else if ( element.is("#sec_answer") ) {
			      $("#error_sec_answer").html( error );
			     }
			  else if ( element.is("#telephone") ) {
			      $("#error_telephone").html( error );
			     }
			 if ( element.is("#day") ) {
			      $("#error_date").html( error );
			     } 
			else if ( element.is("#month") ) {
			      $("#error_date").html( error );
			     }
			else if ( element.is("#year") ) {
			      $("#error_date").html( error );
			     } 
			else if ( element.is("#mobile") ) {
			      $("#error_mobile").html( error );
			     }
			  else if ( element.is("#work_telephone") ) {
			      $("#error_work_telephone").html( error );
			     }
			  else if ( element.is("#address1") ) {
			      $("#error_address1").html( error );
			     }
			  else if ( element.is("#address2") ) {
			      $("#error_address2").html( error );
			     }
			  else if ( element.is("#post_code") ) {
			      $("#error_post_code").html( error );
			     }
			  else if ( element.is("#city") ) {
			      $("#error_city").html( error );
			     }
			  else if ( element.is("#state") ) {
			      $("#error_state").html( error );
			     }
			  else if ( element.is("#register_country") ) {
			      $("#error_register_country").html( error );
			     }
			  else if ( element.is("#consortia_other") ) {
			      $("#error_consortia_other").html( error );
			     } 
		}
	});
//site search
	$("#searchform").bind("keypress", function(e) {
									 
		  if (e.keyCode == 13)
		  {
			  if ($("#searchform").valid()) {
			        if($('#keyword').val() == 'Please enter keyword')
			        {
			        	$(".search_field").removeAttr('style').css("color","red");
			        	$("#keyword").val("Please enter keyword");
			        	$("#keyword").keypress(function() {
			        		if($("#keyword").val()== 'Please enter keyword'){
			        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
				        		$("#keyword").val("");
				        		}
			        		});
				        return false;
				    }
			        else if($("#keyword").val()== 'Enter valid Keyword'){
			        	$(".search_field").removeAttr('style').css("color","red");
			        	$("#keyword").val("Enter Valid Keyword");
			        	$("#keyword").keypress(function() {
			        		if($("#keyword").val()== 'Enter valid keyword'){
			        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
				        		$("#keyword").val("");
				        		}
			        		});
				        return false;
				    }
			        else if($("#keyword").val().length <3){
			        	$(".search_field").removeAttr('style').css("color","red");
			        	$("#keyword").val("Enter valid keyword");
			        	$("#keyword").keypress(function() {
			        		if($("#keyword").val()== 'Enter valid keyword'){
			        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
				        		$("#keyword").val("");
				        		}
			        		});
				        return false;
				    }
			        else if($("#keyword").val()!= ''){
					
						var url =$("#base_url").val();
						var key_val =$("#keyword").val();							
			        	var query_reg = /^[a-zA-Z0-9"'` ]+$/i;
						var query_string =  query_reg.test(key_val);	
						//if(key_name){var tst=1;}else{var tst =2;}
						
						
					/*	if(query_string)
			        	{						
							var url =$("#base_url").val();
							var query_keyword = $("#keyword").val();
							window.location.href = url+'/index/searchresults?keyword='+key_val;
			        		<!--$('#searchform').submit();-->
			        	}
			        	else*/
			        	if(!query_string){
			        		$(".search_field").removeAttr('style').css("color","red");
				        	$("#keyword").val("Enter valid keyword");
				        	$("#keyword").keypress(function() {
				        		if($("#keyword").val()== 'Enter valid keyword'){
				        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
					        		$("#keyword").val("");
					        		}
				        		});
				        	return false;
			        	}else{
							
							//var query_keyword = $("#keyword").val();
							window.location.href = url+'/index/searchresults?keyword='+key_val;
						}
			        	
				    }
			        else
			        {
						var url =$("#base_url").val();
							var query_keyword = $("#keyword").val();
							window.location.href = url+'/index/searchresults?keyword='+query_keyword;
		        	// $('#searchform').submit();
			        }
					return false;
		        }else{ 
		        	$(".search_field").removeAttr('style').css("color","red");
		        	$("#keyword").val("Please enter keyword");
		        	$("#keyword").keypress(function() {
		        		if($("#keyword").val()== 'Please enter keyword'){
		        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
			        		$("#keyword").val("");
			        		}
		        		});
			        return false;
			        }
			  
		}
		});
	
	 $(".search_field").focus(function(srcc)
			    {
				 	$(this).removeAttr('style').css("color","#4E4E4E");
		            $(this).val("");
			    });
			jQuery("#searchform").validate({
				rules: {
				keyword: {
							required:true
						}
				},
				messages: {
					keyword: {
						required: ""
					}
				}
			});
					    
			  $("#searchAnchor").click(function() {
											
			        if ($("#searchform").valid()) {
				        if($('#keyword').val() == 'Please enter keyword')
				        {
				        	$(".search_field").removeAttr('style').css("color","red");
				        	$("#keyword").val("Please enter keyword");
				        	$("#keyword").keypress(function() {
				        		if($("#keyword").val()== 'Please enter keyword'){
				        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
					        		$("#keyword").val("");
					        		}
				        		});
					        return false;
					    }
				        else if($("#keyword").val()== 'Enter valid keyword'){
				        	$(".search_field").removeAttr('style').css("color","red");
				        	$("#keyword").val("Enter valid keyword");
				        	$("#keyword").keypress(function() {
				        		if($("#keyword").val()== 'Enter valid keyword'){
				        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
					        		$("#keyword").val("");
					        		}
				        		});
					        return false;
					    }
				        else if($("#keyword").val().length <3){
				        	$(".search_field").removeAttr('style').css("color","red");
				        	$("#keyword").val("Enter valid keyword");
				        	$("#keyword").keypress(function() {
				        		if($("#keyword").val()== 'Enter valid keyword'){
				        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
					        		$("#keyword").val("");
					        		}
				        		});
					        return false;
					    }
				        else if($("#keyword").val()!= ''){
				        	var name = /^[a-zA-Z0-9"'` ]+$/i;
				        	if(name.test($("#keyword").val()))
				        	{
								
								//$('#searchform').submit();
								var url =$("#base_url").val();
								var query_keyword = $("#keyword").val();
								window.location.href = url+'/index/searchresults?keyword='+query_keyword;
				        	}
				        	else
				        	{
				        		$(".search_field").removeAttr('style').css("color","red");
					        	$("#keyword").val("Enter valid keyword");
					        	$("#keyword").keypress(function() {
					        		if($("#keyword").val()== 'Enter valid keyword'){
					        			$(".search_field").removeAttr('style').css("color","#4E4E4E");
						        		$("#keyword").val("");
						        		}
					        		});
					        	return false;
				        	}
				        	
					    }
				        else
				        {	
						
			        	 $('#searchform').submit();
				        }
			        }else{ 
			        	$(".search_field").removeAttr('style').css("color","red");
			        	$("#keyword").val("Please enter keyword");
			        	$("#keyword").keypress(function() {
			        		if($("#keyword").val()== 'Please enter keyword'){
			        		$(".search_field").removeAttr('style').css("color","#4E4E4E");
			        		$("#keyword").val("");
			        		}
			        		});
				        return false;
				        }
			    });
// Admin Profile update
			    
				jQuery("#adminProfileUpdate").validate({
					rules: {
							sec_question : {
								checkSecurityQuestion : true
							},
							sec_answer: {
								required:true,
								checkSecurityAnswer : true
							},
							first_name:{
								required:true,
								checkValidFirstLastName:true
							},
							last_name:{
								required:true,
								checkValidFirstLastName:true
							},
							telephone:{
								checktelephone1:true,
								checktelephone2:true,
								checktelephone3:true
							},
							day:{
								checkDateFormatRegister2:true
							},
							month:{
								checkDateFormatRegister2:true
							},
							year: {
								checkDateFormatRegister2:true
								},
								mobile:{
									checktelephone1:true,
									checktelephone2:true,
									checktelephone3:true
								},
							work_telephone:{
									checktelephone1:true,
									checktelephone2:true,
									checktelephone3:true
									},
							address1:{
										checkValidAddress1:true
									},
							address2:{
										checkValidAddress2:true
									},
							post_code:{
										checkPostalCode:true	
									},
							city :{
								checkCityState:true				
								},
							state :{
									checkCityState:true	
									}
							
							
					},
					messages: {
						
						day:{
						checkDateFormatRegister2:"Please select valid date of birth"
					},
					month:{
						checkDateFormatRegister2:"Please select valid date of birth"
						
					},
					year: {
						checkDateFormatRegister2:"Please select valid date of birth"
						
						},
						sec_question:{
							checkSecurityQuestion: "Please select security question"
						},
						sec_answer: {
							required:"Please enter security answer",
							checkSecurityAnswer : "Please enter valid security answer"
						},
						first_name:{
							required:"Please Enter First Name",
							checkValidFirstLastName:"Please Enter Valid First Name"
						},
						last_name:{
							required:"Please enter last name",
							checkValidFirstLastName:"Please enter valid last name"
						},
						telephone:{
							checktelephone1:"Telephone number should be mininum 8 digits",
							checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
							checktelephone3:"Please Enter valid telephone number (Ex: +234-235-2535)"
						},
						mobile:{
							checktelephone1:"Mobile Number should be mininum 8 digits",
							checktelephone2:"Please enter valid Mobile Number (Ex: +234-235-2535)",
							checktelephone3:"Please enter valid Mobile Number (Ex: +234-235-2535)"
						},
					work_telephone:{
							checktelephone1:"Work Telephone Number should be mininum 8 digits",
							checktelephone2:"Please enter valid Work Telephone Number (Ex: +234-235-2535)",
							checktelephone3:"Please enter valid Work Telephone Number (Ex: +234-235-2535)"
							},
					address1:{
								checkValidAddress1:"Please enter valid address 1"
					},
					address2:{
							checkValidAddress2:"Please enter valid address 2"
					},
					post_code:{
						checkPostalCode:"Please enter valid post / zip code"	
					},
					city :{
						checkCityState:"Please enter valid city"				
						},
					state :{
							checkCityState:"Please enter valid state"	
							}
					},
					  errorPlacement: function(error, element) {
						if ( element.is("#email_address") ) {
						      $("#error_email").html( error );
						     } 
						  else if ( element.is("#first_name") ) {
						      $("#error_first_name").html( error );
						     }
						  else if ( element.is("#last_name") ) {
						      $("#error_last_name").html( error );
						     }
						  else if ( element.is("#sec_question") ) {
						      $("#error_sec_question").html( error );
						     }
						  else if ( element.is("#sec_answer") ) {
						      $("#error_sec_answer").html( error );
						     }
						  else if ( element.is("#telephone") ) {
						      $("#error_telephone").html( error );
						     }
						 if ( element.is("#day") ) {
						      $("#error_date").html( error );
						     } 
						else if ( element.is("#month") ) {
						      $("#error_date").html( error );
						     }
						else if ( element.is("#year") ) {
						      $("#error_date").html( error );
						     } 
						else if ( element.is("#mobile") ) {
						      $("#error_mobile").html( error );
						     }
						  else if ( element.is("#work_telephone") ) {
						      $("#error_work_telephone").html( error );
						     }
						  else if ( element.is("#address1") ) {
						      $("#error_address1").html( error );
						     }
						  else if ( element.is("#address2") ) {
						      $("#error_address2").html( error );
						     }
						  else if ( element.is("#post_code") ) {
						      $("#error_post_code").html( error );
						     }
						  else if ( element.is("#city") ) {
						      $("#error_city").html( error );
						     }
						  else if ( element.is("#state") ) {
						      $("#error_state").html( error );
						     }
					}
				});
	// edit user in admin
				jQuery("#adminEditUserupdate").validate({
					rules: {
							sec_question : {
								checkSecurityQuestion : true
							},
							sec_answer: {
								required:true,
								checkSecurityAnswer : true
							},
							first_name:{
								required:true,
								checkValidFirstLastName:true
							},
							last_name:{
								required:true,
								checkValidFirstLastName:true
							},
							telephone:{
								checktelephone1:true,
								checktelephone2:true,
								checktelephone3:true
							},
							day:{
								checkDateFormatRegister2:true
							},
							month:{
								checkDateFormatRegister2:true
							},
							year: {
								checkDateFormatRegister2:true
								},
								mobile:{
									checktelephone1:true,
									checktelephone2:true,
									checktelephone3:true
								},
							work_telephone:{
									checktelephone1:true,
									checktelephone2:true,
									checktelephone3:true
									},
							address1:{
										checkValidAddress1:true
									},
							address2:{
										checkValidAddress2:true
									},
							post_code:{
										checkPostalCode:true	
									},
							city :{
								checkCityState:true					
								},
							state :{
									checkCityState:true
									},
							consortia_other :{
										checkconsortia:true	
										}
					},
					messages: {
						
						day:{
						checkDateFormatRegister2:"Please select valid date of birth"
					},
					month:{
						checkDateFormatRegister2:"Please select valid date of birth"
						
					},
					year: {
						checkDateFormatRegister2:"Please select valid date of birth"
						
						},
						sec_question:{
							checkSecurityQuestion: "Please select security question"
						},
						sec_answer: {
							required:"Please enter security snswer",
							checkSecurityAnswer : "Please enter valid security answer"
						},
						first_name:{
							required:"Please enter first name",
							checkValidFirstLastName:"Please enter valid first name"
						},
						last_name:{
							required:"Please enter last name",
							checkValidFirstLastName:"Please enter valid last name"
						},
						telephone:{
							checktelephone1:"Telephone Number should be mininum 8 digits",
							checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
							checktelephone3:"Please enter valid telephone number (Ex: +234-235-2535)"
						},
						mobile:{
							checktelephone1:"Mobile Number should be mininum 8 digits",
							checktelephone2:"Please enter valid Mobile Number (Ex: +234-235-2535)",
							checktelephone3:"Please enter valid Mobile Number (Ex: +234-235-2535)"
						},
					work_telephone:{
							checktelephone1:"Work Telephone Number should be mininum 8 digits",
							checktelephone2:"Please enter valid Work Telephone Number (Ex: +234-235-2535)",
							checktelephone3:"Please enter valid Work Telephone Number (Ex: +234-235-2535)"
							},
					address1:{
								checkValidAddress1:"Please enter valid address 1"
					},
					address2:{
							checkValidAddress2:"Please enter valid address 2"
					},
					post_code:{
						checkPostalCode:"Please enter valid post / zip code"	
					},
					city :{
						checkCityState:"Please enter valid city"				
						},
					state :{
							checkCityState:"Please enter valid state"
							},
					consortia_other :{
						checkconsortia:"Please enter other value or uncheck the checkbox"
						}
					},
					  errorPlacement: function(error, element) {
						if ( element.is("#email_address") ) {
						      $("#error_email").html( error );
						     } 
						  else if ( element.is("#first_name") ) {
						      $("#error_first_name").html( error );
						     }
						  else if ( element.is("#last_name") ) {
						      $("#error_last_name").html( error );
						     }
						  else if ( element.is("#sec_question") ) {
						      $("#error_sec_question").html( error );
						     }
						  else if ( element.is("#sec_answer") ) {
						      $("#error_sec_answer").html( error );
						     }
						  else if ( element.is("#telephone") ) {
						      $("#error_telephone").html( error );
						     }
						 if ( element.is("#day") ) {
						      $("#error_date").html( error );
						     } 
						else if ( element.is("#month") ) {
						      $("#error_date").html( error );
						     }
						else if ( element.is("#year") ) {
						      $("#error_date").html( error );
						     } 
						else if ( element.is("#mobile") ) {
						      $("#error_mobile").html( error );
						     }
						  else if ( element.is("#work_telephone") ) {
						      $("#error_work_telephone").html( error );
						     }
						  else if ( element.is("#address1") ) {
						      $("#error_address1").html( error );
						     }
						  else if ( element.is("#address2") ) {
						      $("#error_address2").html( error );
						     }
						  else if ( element.is("#city") ) {
						      $("#error_city").html( error );
						     }
						  else if ( element.is("#state") ) {
						      $("#error_state").html( error );
						     }
						  else if ( element.is("#post_code") ) {
						      $("#error_post_code").html( error );
						     }
						  else if ( element.is("#consortia_other") ) {
						      $("#error_consortia_other").html( error );
						     }
					}
				});
				//new activity notes - admin
				jQuery("#activityNotes").validate({
					rules: {
					activity_notes: {
								required:true
							}
						
					},
					messages: {
						activity_notes: {
							required: "Please enter activity note"
							
						}
					},
					  errorPlacement: function(error, element) {
						if ( element.is("#activity_notes") ) {
						      $("#error_activity_notes").html( error );
						     } 
						    
					}
				});
				//new wishlist - user
				jQuery("#newwishlist").validate({
					rules: {
					wishlist_name: {
								required:true
							},
					wishlist_desc:{
								required:true
							}		
							
						
					},
					messages: {
						wishlist_name: {
							required: "Please enter wishlist name"
							
						},
						wishlist_desc:{
							required:"Please enter wishlist description"
						}
					},
					  errorPlacement: function(error, element) {
						if ( element.is("#wishlist_name") ) {
							 $("#fail_wishlist_msg").html('');
						      $("#error_wishlist_name").html( error );
						     } 
						else if ( element.is("#wishlist_desc") ) {
							 $("#fail_wishlist_msg").html( '' );
						      $("#error_wishlist_desc").html( error );
						     }  
					}
				});
				
	//share wishlist
	jQuery.validator.addMethod("multiemail1", function(value, element) {
        if (this.optional(element)) {
            return true;
        }
        var emails = value.split( new RegExp( "\\s*[,;]\\s*", "gi" ) );
        var emails1 = value.split( new RegExp( "\\s*;\\s*", "gi" ) );
        var emails2 = value.split( new RegExp( "\\s*,\\s*", "gi" ) );
        
        if(emails1.length>1 && emails2.length>1) {
        	return false;	
        } else if(emails1.length>1){
        	var email_seperator = ';';
			document.getElementById('email_seperator').value = email_seperator;
        } else if(emails2.length>1){
        	var email_seperator = ',';
			document.getElementById('email_seperator').value = email_seperator;
        }
        return true;}, "Use Either Commas Or Semicolons");
	jQuery.validator.addMethod("multiemail2", function(value, element) {
        if (this.optional(element)) {
            return true;
        }
        var emails = value.split( new RegExp( "\\s*[,;]\\s*", "gi" ) );
        var emails1 = value.split( new RegExp( "\\s*;\\s*", "gi" ) );
        var emails2 = value.split( new RegExp( "\\s*,\\s*", "gi" ) );
        
        if(emails1.length>1 && emails2.length>1) {
        	return false;	
        } else if(emails1.length>1){
        	var email_seperator = ';';
			document.getElementById('email_seperator').value = email_seperator;
        } else if(emails2.length>1){
        	var email_seperator = ',';
			document.getElementById('email_seperator').value = email_seperator;
        }
        valid = true;
        for(var i in emails) {
            value = emails[i];
            valid=valid && jQuery.validator.methods.email.call(this, value,element);
        }
        return valid;}, "Please enter valid email addresses");
	jQuery("#shareList").validate({
		rules: {
		multiple_emails: {
		multiemail1:true,
		multiemail2:true,
		required:true
				},
		message:{
					required:true
				}		
		},
		messages: {
			multiple_emails:{
					required:"Please enter email addresses"
		},
			message:{
				required:"Please enter your message"
			}
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#multiple_emails") ) {
			      $("#error_multiple_emails").html( error );
			     } 
			else if ( element.is("#message") ) {
			      $("#error_message").html( error );
			     }     
		}
	});

// add to wishlist - property footer
	$.validator.addMethod("checkSelectWishRadio", function(value, element) {
		if($("#radio_select:checked").length==1) {
			if($('#wishlist_avail').val() == '')
				{
				 return false;
				}
			else{
				 return true;
			}
			
		} else return true;
		});
	$.validator.addMethod("checkCreateWishNameRadio", function(value, element) {
		if($("#radio_create:checked").length==1) {
			if($('#new_wishname').val() == '')
				{
				 return false;
				}
			else{
				 return true;
			}
			
		} else return true;
		});	
	$.validator.addMethod("checkCreateWishDescRadio", function(value, element) {
		if($("#radio_create:checked").length==1) {
			if($('#new_wishdesc').val() == '')
				{
				 return false;
				}
			else{
				 return true;
			}
			
		} else return true;
		});
	$.validator.addMethod("checkCreateWishDescText", function(value, element) {
		  if(jQuery.trim(value) != '')
		  {
			  return true; 
		  }
		  else
		  {
			  return false;
		  }
		});
	$.validator.addMethod("checkCreateWishNameTest", function(value, element) {
			var name = /^[a-zA-Z0-9 ]+$/i;
			return name.test(jQuery.trim(value));
		});
	
	jQuery('#propertieslist').validate({
		rules: {
		wishlist_avail: {
		checkSelectWishRadio:true
				},	
		new_wishname: {
			checkCreateWishNameRadio:true,
			checkCreateWishNameTest:true
					},
		new_wishdesc: {
			checkCreateWishDescRadio:true,
			checkCreateWishDescText:true
					}	
	  },
		messages:{
			wishlist_avail: {
			checkSelectWishRadio:'Please select a wishList'
					},
			new_wishname: {
				checkCreateWishNameRadio:'Please enter wishList name',
				checkCreateWishNameTest:"Please enter valid wishList name"
				},
			new_wishdesc: {
				checkCreateWishDescRadio:"Please enter wishList description",
				checkCreateWishDescText:"Please enter valid wishList description"
						}
		},
		errorPlacement: function(error, element) {
			if ( element.is("#wishlist_avail") ) {
			      $("#error_wishlist_avail").html( error );
			     } 
			else if ( element.is("#new_wishname") ) {
			      $("#error_new_wishname").html( error );
			     } 
			else if ( element.is("#new_wishdesc") ) {
			      $("#error_new_wishdesc").html( error );
			     }
		}
		
	});
	
	//stepone - date validations
	$.validator.addMethod("endDateLessThanToday", function(value, element) {
		 var d = new Date();

		 var curr_date = d.getDate();

		 var curr_month = d.getMonth()+1;

		 var curr_year = d.getFullYear();

		 var today = curr_date + "/" + curr_month + "/" + curr_year;
		 todayValue = ddmmyyyyToDate(today);
		 endDateValue = ddmmyyyyToDate(value);
		 
		 var startDate = $('#date_from').val();
		 if(todayValue > endDateValue)
		 {
			 return false; 
		 }
		
		 else
		 {
			 return true;
		 }
    });
	$.validator.addMethod("endDateLessThanStart", function(value, element) {
		 var d = new Date();

		 var curr_date = d.getDate();

		 var curr_month = d.getMonth()+1;

		 var curr_year = d.getFullYear();

		 today = curr_date + "/" + curr_month + "/" + curr_year;
		 var startDate = $('#date_from').val();
		 var startDateValue = ddmmyyyyToDate(startDate);
		 var endDateValue = ddmmyyyyToDate(value);
		 if(endDateValue < startDateValue)
		 {
			 return false; 
		 }
		 else
		 {
			 return true;
		 }
   });
	
	$.validator.addMethod("startEqualToEnd", function(value, element) {
		 var startDate = $('#date_from').val();
		 var endDate = $('#date_to').val();
		 var startDateValue = ddmmyyyyToDate(startDate);
		 var endDateValue = ddmmyyyyToDate(endDate);
		 if((startDateValue - endDateValue) == 0)
		 {
			 return false; 
		 }
		 else
		 {
			 return true;
		 }
  });
	$.validator.addMethod("startDateLessThanToday", function(value, element) {
		 var d = new Date();
		 var curr_date = d.getDate();

		 var curr_month = d.getMonth()+1;

		 var curr_year = d.getFullYear();

		 today = curr_date + "/" + curr_month + "/" + curr_year;
		 todayValue = ddmmyyyyToDate(today);
		 startDateValue = ddmmyyyyToDate(value);
		 var endDate = $('#date_to').val();
		 if(todayValue > startDateValue)
		 {
			 return false; 
		 }
		 else
		 {
			 return true;
		 }
   });
	$.validator.addMethod("startDateGreaterThanEnd", function(value, element) {
		 var d = new Date();

		 var curr_date = d.getDate();

		 var curr_month = d.getMonth()+1;

		 var curr_year = d.getFullYear();

		 var today = curr_date + "/" + curr_month + "/" + curr_year;
		 var startValue = ddmmyyyyToDate(value);
		 var endDate = $('#date_to').val();
		 var endDateValue = ddmmyyyyToDate(endDate);
		 if(startValue > endDateValue)
		 {
			 return false; 
		 }
		 else
		 {
			 return true;
		 }
  });

    var messager = function() {
    	var maxOccupancy = $('#max_occupancy').val();
        return "Total number of guests cannot exceed "+parseInt(maxOccupancy);
    };
    
	$.validator.addMethod("checkMax", function(value, element) { 
		var maxOccupancy = $('#max_occupancy').val();
		if(parseInt(value,10)>parseInt(maxOccupancy,10)){
			return false;
		} else {
			return true;
		}
	},messager);
		$.validator.addMethod("checkDuration", function(value, element) {
		
		if(value==0)
		{
			return false;
		}
		else
		{
			return true;
		}

		});
	//validate stepone booking
	jQuery("#stepone").validate({
		rules: {
		total_psgs: {
				required:true,
				number:true,
				digits:true,
				min:1,
				checkMax:true
				},
		date_from: {
			required:true,
			startDateLessThanToday:true,
			startDateGreaterThanEnd:true,
			startEqualToEnd:true
			},		
		date_to: {
				required:true,
				endDateLessThanToday:true,
				endDateLessThanStart:true,
				startEqualToEnd:true
				},
		duration:{
				checkDuration:true
		}
		},
		
		messages: {
			total_psgs:{
					required:"Please enter total number of guests",
					number:"Please enter only numbers",
					digits:"Please enter only digits",
					min:"Please enter atleast one guest"
			},
		date_from: {
				required:"Please select Start Date",
				startDateLessThanToday:"Please select start date greater than today",
				startDateGreaterThanEnd:"Please select start date less than end date",
				startEqualToEnd:"Start date and end date cannot be same"
				
				},		
		date_to: {
					required:"",
					endDateLessThanToday:"Please select end date greater than today",
					endDateLessThanStart: "Please select end date greater than start date",
					startEqualToEnd:"Start date and end date cannot be same"
					},
		duration:{
				checkDuration:"Please select Duration"
				}
		},
		errorPlacement: function(error, element) {
			if ( element.is("#total_psgs") ) {
			      $("#error_passengers").html( error );
			     } 
			else if ( element.is("#date_from") ) {
			      $("#error_date_from").html( error );
			     } 
			else if ( element.is("#date_to") ) {
			      $("#error_date_to").html( error );
			     } 
			else if ( element.is("#duration") ) {
			      $("#error_duration").html( error );
			     }
		}
	});
	// validations steptwo
	$.validator.addMethod("checkExtraServices", function(value, element) {
		if ($('#interest').attr("checked"))
		{
			 if (jQuery.trim(value)=='')
				{
					return false;	
				}
			 else{
					return true;
				 }		
		}
		else
		{
			return true;
		}
		});
	$.validator.addMethod("checkCountryPostalCode", function(value, element) {
		
		if((parseInt($('#country option:selected').val())!= 6105) && (parseInt($('#country option:selected').val()) != 6171) && (parseInt($('#country option:selected').val()) != 6098))
		{
			if(value == '')
				{
				return false;
				}
			else{
				return true;
			}
			
		}
		else
		{
			return true;
		}

		});
	jQuery("#steptwo").validate({
		rules: {
				email_address: {
					required:true,
					email:true
				},
				reenter_email: {
					required:true,
					email:true,
					equalTo:'#email_address'
				},
				first_name:{
					required:true,
					checkValidFirstLastName:true
				},
				last_name:{
					required:true,
					checkValidFirstLastName:true
				},
				home_telephone:{
					required:true,
					checktelephone1:true,
					checktelephone2:true,
					checktelephone3:true
				},
				mobile:{
					checktelephone1:true,
					checktelephone2:true,
					checktelephone3:true
				},
				fax:{
					checktelephone1:true,
					checktelephone2:true,
					checktelephone3:true
				},
				address_line1:{
						required:true,
						checkValidAddress1:true
				},
				address_line2:{
							checkValidAddress2:true
						},
				address_line3:{
							checkValidAddress2:true
						},
				post_code:{
							checkCountryPostalCode:true,
							checkPostalCode:true	
						},
				city :{
						required:true,
						checkCityState:true					
					},
				country:{
						required: true
						},
				extra_services:{
							checkExtraServices:true	
						}
		},
		messages: {
			email_address: {
					required: "Please complete email address",
					email: "This email address is not valid"
			},
			reenter_email: {
				required: "Please re-enter email address",
				email: "This email address is not valid",
				equalTo:"The email addresses do not match"
			},
			first_name:{
					required:"Please complete first name",
					checkValidFirstLastName:"Please enter valid first name"
			},
			last_name:{
					required:"Please complete last name",
					checkValidFirstLastName:"Please enter valid surname"
			},
			home_telephone:{
				required:"Please complete home telephone number",
				checktelephone1:"Telephone number should be mininum 8 digits",
				checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid telephone number (Ex: +234-235-2535)"
			},
			mobile:{
				checktelephone1:"Mobile Number should be mininum 8 digits",
				checktelephone2:"Please enter valid Mobile Number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid Mobile Number (Ex: +234-235-2535)"
			},
			fax:{
				checktelephone1:"Fax number should be mininum 8 digits",
				checktelephone2:"Please enter valid fax number (Ex: +234-235-2535)",
				checktelephone3:"Please enter valid fax number (Ex: +234-235-2535)"
			},
			address_line1:{
				required:"Please complete address",
				checkValidAddress1:"Please enter valid address 1"
			},
			address_line2:{
					checkValidAddress2:"Please enter valid address 2"
			},
			address_line3:{
				checkValidAddress2:"Please enter valid address 3"
			},
			post_code:{
				checkCountryPostalCode:"Please complete postal code",
				checkPostalCode:"Please enter valid postal code"	
			},
			city :{
				required:"Please complete city",
				checkCityState:"Please enter valid city"				
			},
			country:{
				required: "Please complete country"
			},
			extra_services:{
				checkExtraServices:"Please complete extra services"	
			}
		},
		  errorPlacement: function(error, element) {
			if ( element.is("#email_address") ) {
			      $("#error_email_address").html( error );
			     }
			else if ( element.is("#reenter_email") ) {
			      $("#error_reenter_email").html( error );
			     }
			else if ( element.is("#first_name") ) {
			      $("#error_first_name").html( error );
			     }
			else if ( element.is("#last_name") ) {
			      $("#error_last_name").html( error );
			     }
			else if ( element.is("#home_telephone") ) {
			      $("#error_home_telephone").html( error );
			     }
			else if ( element.is("#mobile") ) {
			      $("#error_mobile").html( error );
			     }
			else if ( element.is("#fax") ) {
			      $("#error_fax").html( error );
			     }
			else if ( element.is("#address_line1") ) {
			      $("#error_address_line1").html( error );
			     }
			else if ( element.is("#address_line2") ) {
			      $("#error_address_line2").html( error );
			     }
			else if ( element.is("#address_line3") ) {
			      $("#error_address_line3").html( error );
			     }
			else if ( element.is("#post_code") ) {
			      $("#error_post_code").html( error );
			     }
			else if ( element.is("#city") ) {
			      $("#error_city").html( error );
			     }
			else if ( element.is("#country") ) {
			      $("#error_country").html( error );
			     }
			else if ( element.is("#extra_services") ) {
			      $("#error_extra_services").html( error );
			     }
			 
		}
	});
	
//paywithcard
	$.validator.addMethod("selectCountryPayWithCard", function(value, element) {
		if($('#billing_country option:selected').val() == '- Select a Country -' || $('#billing_country option:selected').val() == '0')
		{
			return false;
		}
		else
		{
			return true;
		}
	});
	$.validator.addMethod("checkCurrency", function(value, element) {
		if($('#akbp_currency_mt_code option:selected').val() == 'Select' || $('#akbp_currency_mt_code option:selected').val() == '0')
		{
			return false;
		}
		else
		{
			 $("#error_akbp_currency_mt_code").html('');
			return true;
		}
	});
	$.validator.addMethod("checkedTerms", function(value, element) {
		if ($('#terms').attr("checked"))
		{
			 return true;	
		}
		else
		{
			return false;
		}
		});
	$.validator.addMethod("inexcheckedTerms", function(value, element) {
		if ($('#in_ex_terms').attr("checked"))
		{
			 return true;	
		}
		else
		{
			return false;
		}
		});
	$.validator.addMethod("checkPaymentAmount", function(value, element) {
		var bookingDate = $('#bookingDate').val();
		var bookingDueAmount = $('#bookingDueAmount').val();
		var bookingDateValue = ddmmyyyyToDate(bookingDate);
		var d = new Date();

		 var curr_date = d.getDate();

		 var curr_month = d.getMonth()+1;

		 var curr_year = d.getFullYear();

		 var today = curr_date + "/" + curr_month + "/" + curr_year;
		 var todayValue = ddmmyyyyToDate(today);
		 var diff = bookingDateValue - todayValue;
		 var days = Math.floor(diff / (1000 * 60 * 60 * 24 ));
		 
		 if(days < 71)
		 {
			 $('#transction_amount').val(bookingDueAmount); 
			$('#transction_amount').attr("readonly", true); 
		 	return false;
		 }
		 else if(days >= 71)
			 {
			 	return true;
			 }
	});
	
    var checkPaymentPercent = function() {
    	var bookingDueAmount = $('#bookingDueAmount').val();
		var thirtyPercent = Math.round(bookingDueAmount*0.3);
        return "Please Enter Min Amount "+thirtyPercent.toFixed(2);
    };
	
	
	$.validator.addMethod("checkPaymentAmountPercent", function(value, element) {
		var bookingDate = $('#bookingDate').val();
		var bookingDueAmount = $('#bookingDueAmount').val();
		var transction_amount = $('#transction_amount').val();
		var thirtyPercent = Math.round(bookingDueAmount*0.3);
		var bookingDateValue = ddmmyyyyToDate(bookingDate);
		var d = new Date();
		 var curr_date = d.getDate();

		 var curr_month = d.getMonth()+1;

		 var curr_year = d.getFullYear();

		 var today = curr_date + "/" + curr_month + "/" + curr_year;
		 var todayValue = ddmmyyyyToDate(today);
		 var diff = bookingDateValue - todayValue;
		 var days = Math.floor(diff / (1000 * 60 * 60 * 24 ));

			 if(transction_amount < thirtyPercent)
				 {
				 	return false;
				 }
			 else{
				 	return true;
			 	 }
		
	},checkPaymentPercent);
	
		jQuery("#paywithcard").validate({
		rules: {
			name_on_card:{
			required:true,
			checkValidFirstLastName:true
		},
		billing_address_line1:{
				required:true,
				checkValidAddress1:true
		},
		billing_address_line2:{
					checkValidAddress2:true
				},
		billing_city :{
			required:true,
			checkCityState:true					
		},
		billing_state:{
			required:true,
			checkCityState:true	
		},
		billing_country:{
			selectCountryPayWithCard: true
		},
		billing_telephone_number:{
			required:true,
			checktelephone1:true,
			checktelephone2:true,
			checktelephone3:true
		},
		billing_email_id: {
			required:true,
			email:true
		},
		transction_amount:{
			required:true,
			number:true,
			checkPaymentAmountPercent:true
		},
		akbp_currency_mt_code:{
			checkCurrency:true
		},
		terms:{
			checkedTerms:true
		},
		billing_post_code:{
					required:true,
					checkPostalCode:true	
				}
},
messages: {
	
	name_on_card:{
			required:"Please enter name on card",
			checkValidFirstLastName:"Please enter valid name on card"
	},
	billing_address_line1:{
		required:"Please enter address 1",
		checkValidAddress1:"Please enter valid address 1"
	},
	billing_address_line2:{
			checkValidAddress2:"Please enter valid address 2"
	},
	billing_post_code:{
		required:"Please enter postal code",
		checkPostalCode:"Please enter valid postal code"	
	},
	billing_city :{
		required:"Please enter city",
		checkCityState:"Please enter valid city"				
	},
	billing_state :{
		required:"Please enter state",
		checkCityState:"Please enter valid state"				
	},
	billing_country:{
		selectCountryPayWithCard: "Please select country"
	},
	billing_telephone_number:{
		required:"Please enter telephone number",
		checktelephone1:"Telephone number should be mininum 8 digits",
		checktelephone2:"Please enter valid telephone number (Ex: +234-235-2535)",
		checktelephone3:"Please enter valid telephone number (Ex: +234-235-2535)"
	},
	terms:{
		checkedTerms:"Please confirm before proceeding"
	},
	billing_email_id: {
		required:"Please enter email address",
		email:"Please enter valid email address"
	},
	transction_amount:{
		required:"Please enter payment amount",
		number:"Please enter only numbers"
	},
	akbp_currency_mt_code:{
		checkCurrency:"Please select currency"
	}
	
},
  errorPlacement: function(error, element) {
	if ( element.is("#name_on_card") ) {
	      $("#error_name_on_card").html( error );
	     }
	else if ( element.is("#billing_address_line1") ) {
	      $("#error_billing_address_line1").html( error );
	     }
	else if ( element.is("#billing_address_line2") ) {
	      $("#error_billing_address_line2").html( error );
	     }
	else if ( element.is("#billing_post_code") ) {
	      $("#error_billing_post_code").html( error );
	     }
	else if ( element.is("#billing_city") ) {
	      $("#error_billing_city").html( error );
	     }
	else if ( element.is("#billing_state") ) {
	      $("#error_billing_state").html( error );
	     }
	else if ( element.is("#billing_telephone_number") ) {
	      $("#error_billing_telephone_number").html( error );
	     }
	else if ( element.is("#billing_country") ) {
	      $("#error_billing_country").html( error );
	     }
	else if ( element.is("#terms") ) {
	      $("#error_terms").html( error );
	     }
	else if ( element.is("#billing_email_id") ) {
	      $("#error_billing_email_id").html( error );
	     }
	else if ( element.is("#transction_amount") ) {
	      $("#error_transction_amount").html( error );
	     }
	else if ( element.is("#akbp_currency_mt_code") ) {
	      $("#error_akbp_currency_mt_code").html( error );
	     }
}
});

		
//paywithbank
		
		$.validator.addMethod("checkPaymentType", function(value, element) {
			if($('#akbp_bank_payment_type_mt_id option:selected').val() == 'Select' || $('#akbp_bank_payment_type_mt_id option:selected').val() == '0')
			{
				return false;
			}
			else
			{
				 $("#error_akbp_bank_payment_type_mt_id").html('');
				return true;
			}
		});
		$.validator.addMethod("checkbankName", function(value, element) { 
		    return this.optional(element) || /^[a-zA-Z0-9 ]+$/i.test(jQuery.trim(value));  
		    });
		
	    var checkPaymentBankPercent = function() {
	    	var bookingDueAmount = $('#bookingDueAmount').val();
			var thirtyPercent = Math.round(bookingDueAmount*0.3);
	        return "Please Enter Min Amount "+thirtyPercent.toFixed(2);
	    };
		
		
		$.validator.addMethod("checkPaymentBankAmountPercent", function(value, element) {
			var bookingDate = $('#bookingDate').val();
			var bookingDueAmount = $('#bookingDueAmount').val();
			var transction_amount = $('#cheque_amount').val();
			var thirtyPercent = Math.round(bookingDueAmount*0.3);
			var bookingDateValue = ddmmyyyyToDate(bookingDate);
			var d = new Date();
			 var curr_date = d.getDate();

			 var curr_month = d.getMonth()+1;

			 var curr_year = d.getFullYear();

			 var today = curr_date + "/" + curr_month + "/" + curr_year;
			 var todayValue = ddmmyyyyToDate(today);
			 var diff = bookingDateValue - todayValue;
			 var days = Math.floor(diff / (1000 * 60 * 60 * 24 ));

				 if(transction_amount < thirtyPercent)
					 {
					 	return false;
					 }
				 else{
					 	return true;
				 	 }
			
		},checkPaymentBankPercent);
		
		jQuery("#paywithbank").validate({
			rules: {
			akbp_bank_payment_type_mt_id:{
				checkPaymentType:true
			},
			akbp_currency_mt_code:{
				checkCurrency:true
			},
			transction_amount:{
				required:true,
				number:true
			},
			bank_name:{
				required:true,
				checkbankName:true
			},
			transfer_datetime:{
				required:true
			},
			bank_account_number:{
				number:true
			},
			cheque_amount:{
				required:true,
				number:true
				//checkPaymentBankAmountPercent:true
			},
			cheque_number:{
				required:true,
				checkbankName:true
			}
	},
	messages: {
		
		akbp_bank_payment_type_mt_id:{
				checkPaymentType:"Please select payment type"
		},
		akbp_currency_mt_code:{
			checkCurrency:"Please select currency"
		},
		transction_amount:{
			required:"Please enter payment amount",
			number:"Please enter only numbers"
		},
		bank_name:{
			required:"Please enter bank name",
			checkbankName:"Please enter valid bank name"
		},
		transfer_datetime:{
			required:"Please select transfer date"
		},
		bank_account_number:{
			number:"Please enter only numbers"
		},
		cheque_amount:{
			required:"Please enter cheque amount",
			number:"Please enter only numbers"
		},
		cheque_number:{
			required:"Please enter cheque number",
			checkbankName:"Please enter valid cheque number"
		}
		
	},
	  errorPlacement: function(error, element) {
		if ( element.is("#akbp_bank_payment_type_mt_id") ) {
		      $("#error_akbp_bank_payment_type_mt_id").html( error );
		     }
		else if ( element.is("#akbp_currency_mt_code") ) {
		      $("#error_akbp_currency_mt_code").html( error );
		     }
		else if ( element.is("#transction_amount") ) {
		      $("#error_transction_amount").html( error );
		     }
		else if ( element.is("#bank_name") ) {
		      $("#error_bank_name").html( error );
		     }
		else if ( element.is("#transfer_datetime") ) {
		      $("#error_transfer_datetime").html( error );
		     }
		else if ( element.is("#bank_account_number") ) {
		      $("#error_bank_account_number").html( error );
		     }
		else if ( element.is("#cheque_amount") ) {
		      $("#error_cheque_amount").html( error );
		     }
		else if ( element.is("#cheque_number") ) {
		      $("#error_cheque_number").html( error );
		     }
	}
	});

		
//cancel Booking
		jQuery("#cancelBooking").validate({
			 rules: {
			reason_for_cancel: {
						required:true
					}
		        },
		        messages: {
		        	reason_for_cancel: {
					required:"Please enter reason for cancellation"
				}
		        },
		  	  errorPlacement: function(error, element) {
		  		if ( element.is("#reason_for_cancel") ) {
		  		      $("#error_reason_for_cancel").html( error );
		  		     } 
		        }
		});
		
		
	

		
		
		
		$("#compareselected").submit(function()
			{
				var total = 0;
				
				var max = $('#compareselected input:checkbox').length;
				for (var idx = 1; idx <= max; idx++) {
					if($('#compare'+idx).attr('checked'))
					{
						total++;
					}
				}
				
				if(total>4)
				{
					$('#error_compare').html('Please select only 4 properties to compare');
						$('#error_compare').css('color','red');
					return false;
				}
				else if(total== 0)
				{
					$('#error_compare').html('Please select properties to compare');
						$('#error_compare').css('color','red');
					return false;
				}
				else if(total < 2)
				{
					$('#error_compare').html('Please select minimum 2 properties to compare');
						$('#error_compare').css('color','red');
					return false;
				}
				
				else
				{							
					document.compareselected.sel_val.value = document.searchForm.sel_val.value
					return true;
					
				}			
			});
			
		//suitcasestepone - date validations
		$.validator.addMethod("endDateLessThanToday", function(value, element) {
			 var d = new Date();

			 var curr_date = d.getDate();

			 var curr_month = d.getMonth()+1;

			 var curr_year = d.getFullYear();

			 var today = curr_date + "/" + curr_month + "/" + curr_year;
			 todayValue = ddmmyyyyToDate(today);
			 endDateValue = ddmmyyyyToDate(value);
			 
			 var startDate = $('#date_from').val();
			 if(todayValue > endDateValue)
			 {
				 return false; 
			 }
			
			 else
			 {
				 return true;
			 }
	    });
		$.validator.addMethod("endDateLessThanStart", function(value, element) {
			 var d = new Date();

			 var curr_date = d.getDate();

			 var curr_month = d.getMonth()+1;

			 var curr_year = d.getFullYear();

			 today = curr_date + "/" + curr_month + "/" + curr_year;
			 var startDate = $('#date_from').val();
			 var startDateValue = ddmmyyyyToDate(startDate);
			 var endDateValue = ddmmyyyyToDate(value);
			 if(endDateValue < startDateValue)
			 {
				 return false; 
			 }
			 else
			 {
				 return true;
			 }
	   });
		$.validator.addMethod("suitcasestartEqualToEnd", function(value, element) {
			 var startDate = $('#date_from').val();
			 var endDate = $('#date_to').val();
			 var startDateValue = ddmmyyyyToDate(startDate);
			 var endDateValue = ddmmyyyyToDate(endDate);
			 if((startDateValue - endDateValue) == 0)
			 {
				 return false; 
			 }
			 else
			 {
				 return true;
			 }
	  });
		$.validator.addMethod("startDateLessThanToday", function(value, element) {
			 var d = new Date();
			 var curr_date = d.getDate();

			 var curr_month = d.getMonth()+1;

			 var curr_year = d.getFullYear();

			 today = curr_date + "/" + curr_month + "/" + curr_year;
			 todayValue = ddmmyyyyToDate(today);
			 startDateValue = ddmmyyyyToDate(value);
			 var endDate = $('#date_to').val();
			 if(todayValue > startDateValue)
			 {
				 return false; 
			 }
			 else
			 {
				 return true;
			 }
	   });
		$.validator.addMethod("startDateGreaterThanEnd", function(value, element) {
			 var d = new Date();

			 var curr_date = d.getDate();

			 var curr_month = d.getMonth()+1;

			 var curr_year = d.getFullYear();

			 var today = curr_date + "/" + curr_month + "/" + curr_year;
			 var startValue = ddmmyyyyToDate(value);
			 var endDate = $('#date_to').val();
			 var endDateValue = ddmmyyyyToDate(endDate);
			 if(startValue > endDateValue)
			 {
				 return false; 
			 }
			 else
			 {
				 return true;
			 }
	  });

	    var suitmessager = function() {
	    	var maxOccupancy = $('#max_occupancy').val();
	        return "Total number of guests cannot exceed "+parseInt(maxOccupancy);
	    };
	    
		$.validator.addMethod("suitcheckMax", function(value, element) { 
			var maxOccupancy = $('#max_occupancy').val();
			if(parseInt(value,10)>parseInt(maxOccupancy,10)){
				return false;
			} else {
				return true;
			}
		},suitmessager);
		
		//validate stepone booking
		jQuery("#suitcasestepone").validate({
			 rules: {
			total_psgs: {
					required:true,
					number:true,
					digits:true,
					min:1,
					suitcheckMax:true
					},
			date_from: {
				required:true,
				startDateLessThanToday:true,
				startDateGreaterThanEnd:true,
				suitcasestartEqualToEnd:true
				},		
			date_to: {
					required:true,
					endDateLessThanToday:true,
					endDateLessThanStart:true,
					suitcasestartEqualToEnd:true
				},
			duration:{
				checkDuration:true
				}
			},
			messages: {
				total_psgs:{
						required:"Please enter total number of guests",
						number:"Please enter only numbers",
						digits:"Please enter only digits",
						min:"Please enter atleast one guest"
				},
			date_from: {
					required:"Please select start date",
					startDateLessThanToday:"Please select start date greater than today",
					startDateGreaterThanEnd:"Please select start date less than end date",
					suitcasestartEqualToEnd:"Start date and end date cannot be same"
					
					},		
			date_to: {
						required:"Please select end date",
						endDateLessThanToday:"Please select end date greater than today",
						endDateLessThanStart: "Please select end date greater than start date",
						suitcasestartEqualToEnd:"Start date and end date cannot be same"
						},
			duration:{
						checkDuration:"Please select duration"
				}
			},
			errorPlacement: function(error, element) {
				if ( element.is("#total_psgs") ) {
				      $("#error_passengers").html( error );
				     } 
				else if ( element.is("#date_from") ) {
				      $("#error_date_from").html( error );
				     } 
				else if ( element.is("#date_to") ) {
				      $("#error_date_to").html( error );
				     } 
				else if ( element.is("#duration") ) {
			      $("#error_duration").html( error );
			     }
			}
			
		});
	
	// cart validation
	jQuery("#cart").validate({
		rules: {
			in_ex_terms:{
				inexcheckedTerms:true
			},
			terms:{
				checkedTerms:true
			}
		},
		messages: {
			in_ex_terms:{
				inexcheckedTerms:"Please confirm the Inclusions and Exclusion before proceeding"
			},
			terms:{
				checkedTerms:"Please confirm our Terms & Conditions before proceeding"
			}
		},
		errorPlacement: function(error, element) {
			if ( element.is("#in_ex_terms") ) {
				$("#error_in_ex_terms").html( error );
			}
			else if ( element.is("#terms") ) {
				$("#error_terms").html( error );
			}
		}
	});		
});

