$(document)
		.ready(
				function() {
					$("#dialog").dialog("destroy");
					$("#comment").click(function() {
						$("#dialog").dialog("open");
					});

					var name = $("#name"), email = $("#email"), phone = $("#phone"), allFields = $(
							[]).add(name).add(email).add(phone), tips = $(".validateTips");

					function updateTips(t) {
						if (t != "")
							tips.text(t).addClass("ui-state-highlight");
						else
							tips.addClass("ui-state-highlight");
						setTimeout(function() {
							tips.removeClass("ui-state-highlight", 1500);
						}, 500);
					}

					function checkLength(o, n, min, max) {
						if (o.val().length > max || o.val().length < min) {
							o.addClass("ui-state-error");
							updateTips("Длина поля " + n + " должа быть от "
									+ min + " до " + max + ".");
							return false;
						} else {
							return true;
						}
					}

					function checkInputs(email, phone) {
						if (email.val().length > 0 && phone.val().length > 0)
							return checkLength(email, "e-mail", 6, 80)
									&& checkRegexp(
											email,
											/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
											"E-mail должен быть вида: name@site.ru")
									&& checkLength(phone, "телефон", 7, 20);
						else if (email.val().length < 1
								&& phone.val().length > 0
								|| email.val().length > 0
								&& phone.val().length < 1) {
							if (email.val().length < 1
									&& phone.val().length > 0)
								return checkLength(phone, "телефон", 7, 20);
							else
								return checkLength(email, "e-mail", 6, 80)
										&& checkRegexp(
												email,
												/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
												"E-mail должен быть вида: name@site.ru");
						} else {
							email.addClass("ui-state-error");
							phone.addClass("ui-state-error");
							updateTips("Укажите телефон или e-mail.");
							return false;

						}
					}

					function checkRegexp(o, regexp, n) {
						if (!(regexp.test(o.val()))) {
							o.addClass("ui-state-error");
							updateTips(n);
							return false;
						} else {
							return true;
						}
					}

					$("#dialog").dialog({
						autoOpen : false,
						// height : 350,
						// width : 350,
						modal : true,
						buttons : {
							"Задать вопрос" : function() {
								var bValid = true;
								allFields.removeClass("ui-state-error");

								if (checkInputs(email, phone)) {
									$.ajax({
										url : "http://www.fenix-chistka.ru/zadat-vopros", // указываем URL и
										data : "name=" + encodeURI(name.val())
												+ "&mail=" + email.val()
												+ "&tel=" + phone.val()
												+ "&question=" + encodeURI($("#question").val()),
										type : "GET",
										async : true
									});
									$(this).dialog("close");
								}
							}
						},
						close : function() {
							allFields.val("").removeClass("ui-state-error");
						}
					});
				});
