$(document).ready(function(){
	$("#orderdialog").dialog({
		autoOpen: false,
		width: 480,
		modal:true,
		resizable: false,
		buttons: {"Отправить": regdialogsubmit, "Отменить": function(){$(this).dialog("close")} },
		close: function() {$("input:text").val('').removeClass('ui-state-error');}
	});

});

function dialogopen() {
	$("#orderdialog").dialog('open');
}

function regdialogsubmit() {
	var actionscript="h_order.php?action=order";

	//alert(1);
	var bValid = true;
	$("input:text").removeClass('ui-state-error');
	bValid = bValid && checkField($("#order_f"));
	bValid = bValid && checkField($("#order_n"));
	bValid = bValid && checkField($("#order_o"));
	bValid = bValid && checkField($("#order_phone"));
	bValid = bValid && checkField($("#order_email"));
	bValid = bValid && checkField($("#order_comment"));

	//alert(2);
	/*
	bValid = bValid && checkRegexp($("#reg_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,"Неверный формат, пример: user@yandex.ru");
	//bValid = bValid && checkLength($("#reg_company"),"компании", 2,150);
	*/

	if (bValid) {
		$.ajaxSetup({
			//beforeSend: function(x) {if(x && x.overrideMimeType) {x.overrideMimeType("application/j-son;charset=UTF-8");} },
			//contentType: "application/json; charset=utf-8",
			error: function(XMLHttpRequest, textStatus, errorThrown){updateTips("Произошла непредвиденная ошибка сервера, регистрация невозможна, просим прощения. ["+textStatus+"---"+errorThrown+"---"+XMLHttpRequest.responseText+"]")},
			dataType: "json"
		          	});

		$.post(
			   actionscript,
			   {email: $("#order_email").val(), fio: $("#order_f").val()+" "+$("#order_n").val()+" "+$("#order_o").val(), phone: $("#order_phone").val(), comment: $("#order_comment").val()},
			   analizeAddResults,
			   "json"
		);
	}
}


function analizeAddResults(data) {
	if(data.errortext!=0) {
		updateTips(data.errortext)
	} else {
		$("#orderdialog").dialog('close');
		$("#OKalert").dialog({
			autoOpen: false,
			width: 380,
			modal:true,
			resizable: false,
			buttons: {"ОК":	function(){$(this).dialog("close")} }
		});
		$("#OKalert").dialog("open");
	}
}

function updateTips(t) {
	$("#validateTips").text(t).effect("highlight",{},1500);
}

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 checkField(o) {

	if ( o.val().length == 0 ) {
		o.addClass('ui-state-error');
		updateTips("Не заполнено обязательное поле.");
		return false;
	} else {
		return true;
	}
}

function checkRegexp(o,regexp,n) {

	if ( !( regexp.test( o.val() ) ) ) {
		o.addClass('ui-state-error');
		updateTips(n);
		return false;
	} else {
		return true;
	}
}
