( function($) {
	$( function() {

		$("#closeemail").click( function() {
			$("#email-pop").css("display", "none");
			$("#fade1").css("display", "none");
			$("select").css("visibility", "visible");
		});

		$("#eformulary-email-cancek").click( function() {
			$("#email-pop").css("display", "none");
			$("#fade1").css("display", "none");
			$("select").css("visibility", "visible");
		});

		// $("#email-submit").click(function(){
		// $("#email-pop").css("display","none");
		// $("#email-success").css("display","block");
		// });

		$("#close-email-success").click( function() {
			$("#fade1").css("display", "none");
			$("#email-success").css("display", "none");
			$("select").css("visibility", "visible");
		});

		$().ready( function() {
			// avoid submitting from form directly with incorrect parameters
			$("#eformulary_email_form").submit(function() {
				return false;
			});
			var validator = $("#eformulary_email_form").validate( {
				errorClass: "red",
				errorPlacement: function(error, element) {
					error.css("color", "#F00");
					error.css("font-weight", "normal");
					$("#eformulary_email_form").find("td[forer=" + element.attr('name') + "]").html(error);
				},
				onfocusin: function(element) {
					this.lastActive = element;
					// this.settings.unhighlight &&
					// this.settings.unhighlight.call( this, element,
					// this.settings.errorClass );
				// this.errorsFor(element).hide();
			},
			onclick: function(element) {
			},
			onfocusout: function(element) {
			},
			onkeyup: function(element) {
			},
			highlight: function(element, errorClass) {
				$("#eformulary_email_form").find("label[for=" + element.name + "]").css("color", "#F00");
				$("#eformulary_email_form").find("label[for=" + element.name + "]").css("display", "inline");
				/* set bg yellow */
				// $("#eformulary_email_form
				// table").addClass("borderSpacingUD");
				var labelObj = $("#eformulary_email_form").find("label[for=" + element.name + "]").get(0);
				$(labelObj).parent().css( {
					background: "#FEF7D0"
				});
				$(labelObj).parent().next().css( {
					background: "#FEF7D0"
				});
				$(labelObj).parent().parent().next().find("td").css( {
					background: "#FEF7D0"
				});
			},
			unhighlight: function(element, errorClass) {
				$("#eformulary_email_form").find("label[for=" + element.name + "]").css("color", "#746C61");
				$("#eformulary_email_form").find("label[for=" + element.name + "]").css("display", "inline");
				/* reset bg yellow */
				var labelObj = $("#eformulary_email_form").find("label[for=" + element.name + "]").get(0);
				$(labelObj).parent().css( {
					background: "none"
				});
				$(labelObj).parent().next().css( {
					background: "none"
				});
				$(labelObj).parent().parent().next().find("td").css( {
					background: "none"
				});
			},
			check: function(element) {
				$("#eformulary_email_form").find("label[for=" + element.name + "]").css("display", "inline");
			},
			rules: {
				"seaderName": {
					required: true,
					maxlength: 50
				},
				"seaderMail": {
					required: true,
					email: true,
					maxlength: 50
				},
				"receiverName": {
					required: true,
					maxlength: 50
				},
				"receiverMail": {
					required: true,
					email: true,
					maxlength: 50
				}
			},
			messages: {
				"seaderName": {
					required: "Please fill in all required fields.",
					maxlength: "A valid name is required."
				},
				"seaderMail": {
					required: "Please fill in all required fields.",
					maxlength: "A valid e-mail address is required.",
					email: "A valid e-mail address is required. Please re-enter e-mail address in the proper format (name@domain.com)."
				},
				"receiverName": {
					required: "Please fill in all required fields.",
					maxlength: "A valid name is required."
				},
				"receiverMail": {
					required: "Please fill in all required fields.",
					maxlength: "A valid e-mail address is required.",
					email: "A valid e-mail address is required. Please re-enter e-mail address in the proper format (name@domain.com)."
				}
			}
			});

			$("#eformulary-email-submit").click( function() {
				if (validator.form()) {
					$("#searchEformularyParameter_seaderName").val($("#seaderName").val());
					$("#searchEformularyParameter_seaderMail").val($("#seaderMail").val());
					$("#searchEformularyParameter_receiverName").val($("#receiverName").val());
					$("#searchEformularyParameter_receiverMail").val($("#receiverMail").val());
					$(this).sendEformularyMail();
				}
			});

			// for enter keyboard submit
				$("#eformulary_email_form :input").each( function() {
					$(this).keypress( function(e) {
						var key = window.event ? e.keyCode : e.which;
						if (key.toString() == "13") {
							$("#eformulary_email_form #eformulary-email-submit").click();
						}
					});
				});
			});

		$.fn.sendEformularyMail = function() {
			$("#eformularySearchForm").attr("action", ctx + "/eformulary/sendEformularyMail.json");
			var options = {
				beforeSubmit: function() {

				},
				success: function(result) {
					$("#email-pop").css("display", "none");
					$("#fade1").css("display", "block");
					$("#fade1").css("height", $("#wrap").height());
					$("#email-success").css("display", "block");
				},
				error: function(xhr, status) {
					if (xhr.status > 200 && xhr.status <= 500) {
						alert("error comminucation.");
					}
				},
				dataType: "json"
			};
			$("#eformularySearchForm").ajaxSubmit(options);
		}
	});
})(jQuery);