( function($) {
	$( function() {
		// search form, hide it, search labels to modify, filter classes nocmx and error
	});

	$( function() {

		$().ready( function() {
			// avoid submitting from form directly with incorrect parameters
			$("#userForgetForm").submit(function() {
				return false;
			});
			var validator = $("#userForgetForm").validate( {
				errorClass: "errorRed",
				errorElement: "p",
				onfocusin: function(element) {
					this.lastActive = element;
					// this.settings.unhighlight &&
					// this.settings.unhighlight.call( this, element,
					// this.settings.errorClass );
					// this.errorsFor(element).hide();
				},
				onfocusout: function(element) {
				},
				onkeyup: function(element) {
				},
				onclick: function(element) {
					//this.settings.unhighlight && this.settings.unhighlight.call( this, element, this.settings.errorClass );
					// this.errorsFor(element).hide();
				},
				highlight: function(element, errorClass) {
					$("#userForgetForm").find("p[forer=" + element.name + "]").css('color', '#F00');
					$("#userForgetForm").find("p[forer=" + element.name + "]").css('display', 'block');
					/* set bg yellow */
					$("#userForgetForm").find("p[forer=" + element.name + "]").parent().addClass("errorMask");
				},
				unhighlight: function(element, errorClass) {
					$("#userForgetForm").find("p[forer=" + element.name + "]").css('color', '#746C61');
					$("#userForgetForm").find("p[forer=" + element.name + "]").css('display', 'block');
	
					/* reset bg yellow */
					$("#userForgetForm").find("p[forer=" + element.name + "]").parent().removeClass("errorMask");
				},
				check: function(element) {
					$("#userForgetForm").find("label[forer=" + element.name + "]").css('display', 'block');
				},
				rules: {
					"account": {
						required: true,
						minlength: 5,
						maxlength: 75,
						email: true
					}
				},
				messages: {
					"account": {
						required: "Please enter e-mail address in the proper format (name@domain.com).",
						minlength: "Please enter e-mail address in the proper format (name@domain.com).",
						maxlength: "Please enter e-mail address in the proper format (name@domain.com).",
						email: "The e-mail address is invalid. Please enter e-mail address in the proper format (name@domain.com)."
					}
				}
			});

			// $("#userForgetForm #returnToLogin").click(function() {
			// $("#login-email").css("display","none");
			// $("#login").css("display","block");
			// });

			$("#userForgetForm #login-submit").click( function() {
				if (validator.form()) {
					$(this).forgetPassword();
				}
			});

			// for enter keyboard submit
			$("#userForgetForm :input").each( function() {
				$(this).keypress( function(e) {
					var key = window.event ? e.keyCode : e.which;
					if (key.toString() == "13") {
						$("#userForgetForm #login-submit").click();
					}
				});
			});
		});
	});

	$.fn.forgetPassword = function() {
		var options = {
			success: function(result) {
				// var jsonArray = eval(result); 
				// jsonObj = jsonArray[0];
				if (result.success == false) {
					$("#userForgetForm #message").html(result.message);
					return;
				} else {
					$("#userForgetForm #message").html(result.message);
				}
			},
			error: function(xhr, status) {
				if (xhr.status > 200 && xhr.status <= 500) {
					alert("error comminucation.");
				}
			},
			complete: function(xhr, status) {
				//var height = 130+$("#formPanl3").height(); 
				// $(window.parent.document).find("#submitPage").height(height);
			},
			dataType: "json"
		};

		$("#userForgetForm").ajaxSubmit(options);
	}
})(jQuery);