/*
$(document).ready(function(){
	$("#customer_info").validate();
});
*/
$(document).ready(function() {
	// validate signup form on keyup and submit
	
	var sign_in_val = $("#sign_in_frm").validate({
		rules: {
			spassword: {
				required: true,
				minlength: 3
			},
			semail: {
				required: true,
				email: true
			}
		},
		messages: {
			spassword: {
				required: "Enter Password",
				rangelength: jQuery.format("At Least {0} characters")
			},
			semail: {
				required: "Required",
				minlength: "Not Valid"
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
						
			//alert(element.val());
			element.parent().find('.status').html(error);

		},
		// set this class to error-labels to indicate valid fields
		success: function(label) {
			// set &nbsp; as text for IE
			label.html("&nbsp;").addClass("checked");
		}
	});
	
	$.validator.messages.required = "Required";
	var validator = $("#customer_info").validate({
		rules: {
			name:  {
				required: true,
				minlength: 2
			},
			surname:  {
				required: true,
				minlength: 2
			},
			password: {
				required: true,
				minlength: 6
			},
			repassword: {
				required: true,
				minlength: 6,
				equalTo: "#cpass"
			},
			email: {
				required: true,
				email: true,
				emailCheck:true	
			}, // close the email
			confirm_email: {
				required: true,
				email: true
			}, // close the email
			address: {
				required: true,
				minlength: 2
			},
			mob: {
				minlength: 8,
				number: true
			}
		},
		messages: {
			name: "Enter your firstname",
			surname: "Enter your lastname",
			password: {
				required: "Provide a password",
				rangelength: jQuery.format("Enter at least {0} characters")
			},
			repassword: {
				required: "Repeat your password",
				minlength: jQuery.format("Enter at least {0} characters"),
				equalTo: "Enter the same password as above"
			},
			email: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address",
				remote: jQuery.format("{0} is already in use. Please log in.")
			},
			confirm_email: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address",
				remote: jQuery.format("{0} is already in use. Please log in.")
			},
			mob: {
				required: "Please enter your mobile phone number",
				minlength: "Please enter a valid number",
				number: "Please use only numeric characters."
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
						
			//alert(element.val());
			element.parent().find('.status').html(error);

		},
		// set this class to error-labels to indicate valid fields
		success: function(label) {
			// set &nbsp; as text for IE
			label.html("&nbsp;").addClass("checked");
		}
	});

	// extend the validation plugin to do remote email dupe checking 
	// - from http://www.ferdychristant.com/blog//pages/jQuery%20validation%20code
	// did it this way because (I think) IE wasn't waiting for the sync request when doing it with remote call
	jQuery.validator.addMethod('emailCheck', function(email) {
		var url = "./assets/snippets/search/ajax/actions.php?action=check_email_account";
		$.ajax({
			cache: false,
			async: false,
			type: "GET",
			data: "email=" + email,
			url: url,
			success: function(msg) {
				if (msg == 'false') { 					
					//	user exists in db,  allow user to try to login
                	$("#loginFormContainer").show(); 						// show the container that has the login form
                    
					$('#customer_info').validate().cancelSubmit = true; 	// remove the validation from the rest of the form
					//$(".customer_details_form_container").hide();			// hide the customer details
					$("#loginPassword").focus();							// focus on the password field
					
                } // end if
                else {
                	$("#cemail").val($("#loginEmail").val());				// put the email in the email address
                	$(".customer_details_form_container").show(); 		
                	$("#loginEmailContainer").hide(); 	
                	$("#enterLink").hide(); 			
                }
			}
		});
		return true;
	}, '');

});

