$(document).ready(function()
{
	//add code for ahref tool tip
	//$('a.title').cluetip({splitTitle: '|'});
	
	//var message = 'You missed to fill following mandatory field(s)';
	var message = "You missed to fill required field(s). They have been highlighted below";
	var message1 = 'You missed to fill required field. It has been highlighted below';
	
	//create classes for validation
	$('.alph_num').alphanumeric();
	$('.alph_num_username').alphanumeric({allow:".@"});
	$('.num_phone').numeric({allow:"+- "})
	$('.only_numeric').numeric({allow:""})
	$('.num_zip').alphanumeric({allow:"-"})
	$('.num_amount').numeric({allow:"."})
	$('.shoes_model').alphanumeric({allow:"- "})
	$('.alpha_numeric').alphanumeric({allow:"@#$%&-+*_. "})
	
	jQuery.validator.messages.required = "";
	
	//Validate User Registration form
        $("#frmRegister").bind("invalid-form.validate", function(e, validator) {									
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }	
        }).validate({	
					rules: {  
							FirstName:{  
									 required:true  
								 },		 
							 LastName:{  
									 required:true  
								 },
							Email:{
									 required:true,
									 email:true,
									 remote:'check_email.php'
							},
							Password:{
									required:true,
									minlength: 6
							},
							RePassword:{
									required:true
							},
							CaptchaCode:{
									required:true
							}
						},
						messages: {  
								FirstName: {  
									 required:"First name can not be left blank."  
								 },
								LastName: {  
									 required:"Last name can not be left blank."  
								 },
								Email:{  
									 required: "Email can not be left blank.",
									 email: "Provide valid email address.",
									 remote:jQuery.format("Email \"{0}\" have been used.")
								},
								Password:{  
									 required: "Password can not be left blank.",
									 minlength: "Password should be at least 6 character long."
								},
								RePassword:{  
									 required: "Confirm password can not be left blank.",
									 equalTo: "Confirm password should be matched with password entered above."
								},
								CaptchaCode: {  
									 required:"Please enter security code shown in image."  
								 },
							} 
				});
		
		//Validate Login form
		$("#frmLogin").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				if($("#error_warning_msg"))
				{
					$("#error_warning_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                       /* var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate();
		//validate Forgot Password
		$("#frmForgotPwd").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message1);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate();
		
		//Validate Change password form
        $("#frmChangePassword").bind("invalid-form.validate", function(e, validator) {									
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }	
        }).validate({	
				rules: {  
						OldPassword:{  
								 required:true  
							 },
						Password:{
								required:true,
								minlength: 6
						},
						RePassword:{
								required:true
						}
					},
					messages: {  
							OldPassword: {  
								 required:"Old Password can not be left blank.",
								 equalTo: "Entred value doesn't matched with existing Old password."
							 },
							Password:{  
								 required: "Password can not be left blank.",
								 minlength: "Password should be at least 6 character long."
							},
							RePassword:{  
								 required: "Confirm password can not be left blank.",
								 equalTo: "Confirm password should be matched with password entered above."
							}
						} 
		});
		
		//validate contact Us form
        $("#contact_us").bind("invalid-form.validate", function(e, validator) {									
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }	
        }).validate({	
				rules: {  
						f_name:{  
								 required:true  
							 },
						l_name:{
								required:true
						},
						contact_email:{
								required:true
						},
						message:{
								required:true
						},
						CaptchaCode:{
								required:true
						} 
					},
					messages: {  
							f_name: {  
								 required:"First name can not be left blank."
							 },
							l_name:{  
								 required: "Last name can not be left blank."
							},
							contact_email:{  
								 required: "E-mail address can not be left blank.",
								 email: "Please provide valid E-mail address."
							},
							message:{  
								 required: "Message can not be left blank."
							},
							CaptchaCode:{  
								 required: "Security code can not be left blank."
							}
						} 
		});
		
		//Validate Request Call form
		$("#quick_contact").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				if($("#error_warning_msg"))
				{
					$("#error_warning_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                       /* var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate();
		
		//Validate Newsletter form
		$("#news_letter").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				if($("#error_warning_msg"))
				{
					$("#error_warning_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                       /* var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate();
		
		//validate refer to friend form
		$("#share_property").bind("invalid-form.validate", function(e, validator) {									
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }	
        }).validate({	
				rules: {  
						to_email:{  
								 required:true,
								 email:true
							 },
						my_email:{
								required:true,
								email:true
						},
						my_name:{
								required:true
						}
					},
					messages: {  
							to_email: {  
								 required:"To email can not be left blank.",
								 email: "Please provide valid E-mail address."
							 },
							my_email:{  
								 required: "Your email can not be left blank.",
								 email: "Please provide valid E-mail address."
							},
							my_name:{  
								 required: "Your name can not be left blank."
							}
						} 
		});
		//validate request property info form
		$("#frmReqInfo").bind("invalid-form.validate", function(e, validator) {									
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }	
        }).validate({	
				rules: {  
						first_name:{  
								 required:true
							 },
						last_name:{  
								 required:true
							 },	 
						email:{
								required:true,
								email:true
						},
						phone:{
								required:true
						},
						comments:{
								required:true
						}
					},
					messages: {  
							first_name: {  
								 required:"First name can not be left blank."
							 },
							 last_name: {  
								 required:"Last name can not be left blank."
							 },
							email:{  
								 required: "Your email can not be left blank.",
								 email: "Please provide valid E-mail address."
							},
							phone:{  
								 required: "Phone can not be left blank."
							},
							comments:{  
								 required: "Comment can not be left blank."
							}
						} 
		});
		
						   
$.validator.setDefaults({
	submitHandler: function() { 
	$("#frmRegister").submit();
	$("#my_account").submit();
	$("#MemberAccount").submit();
	$("#frmLogin").submit();
	$("#frmForgotPwd").submit();
	$("#contact_us").submit();
	$("#refer_friend").submit();
	}
});
						   
	 $("input.phone").mask("(999)999-9999");			   
	 $("input.zipcode").mask("99999");						   
});


function save_user_fav_property(mls_no)
{
	var url = "search.php";
	var postData = "save=yes&mls_no="+mls_no;
	var handleSuccess = function(o)
	{
		//alert(o.responseText);
		//if added successfully
		if(o.responseText==1)
		{
			//window.location.reload();
			alert("This property has been added to your favorite list.");
			window.location = 'favorite_properties.php';
		}
		//if failure
		if(o.responseText==2)
		{
			alert("Error occured please try again later.");
		}
		//not logged in
		if(o.responseText==3)
		{
			alert("Please login first to save this property.");
			window.location = 'do_login.php';
		}
		//already exists
		if(o.responseText==4)
		{
			alert("This property already saved in your favorite list.");
		}
	};
	var handleFailure = function(o)
	{
		alert("Sorry. your browser not able to handle this request.");
	};
	var deleteCallBack =
	{
		  success:handleSuccess,
		  failure:handleFailure
	};
	var request = YAHOO.util.Connect.asyncRequest('POST', url, deleteCallBack, postData);
}
