	$(function() {
		$("#dialog").dialog("destroy");
			var name = $("#auth_name"),
			password = $("#auth_password"),
			create_name = $("#create_name"),
			create_password = $("#create_password"),
			create_password2 = $("#create_password2"),
			create_email = $("#create_email"),
			create_inmail = $("input[type='checkbox']"),
			allFields = $([]).add(name).add(password),
			create_allFields = $([]).add(create_name).add(create_password).add(create_password2).add(create_email).add(create_inmail),
			tips = $(".validateTips");
			
		function updateTips(t) {
			tips
				.text(t)
				.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 checkRegexp(o,regexp,n) {

			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass('ui-state-error');
				updateTips(n);
				return false;
			} else {
				return true;
			}

		}
		
		function checkPasswords(pass1,pass2) {

			if ( pass1.val() == pass2.val() ) {
				return true;
			} else {
				updateTips("Пароли не совпадают.");
				return false;
			}

		}

		$("#dialog-auth").dialog({
			autoOpen: false,
			height: 320,
			width: 350,
			modal: true,
			buttons: {
				'Вход': function() {
					var bValid = true;
					allFields.removeClass('ui-state-error');
					bValid = bValid && checkLength(name,"логина",3,20);
					bValid = bValid && checkLength(password,"пароля",6,20);
					if (bValid) {
						$.post("login.php", { auth_name: name.val(), auth_password: password.val() },
							function(data){
								if (data == "0") {
										updateTips("Не верно");
									}
								if (data == "1") {
										/*location.reload();*/
										document.location.href = "/mysettings";
									}
							});
					}
				},
				'Отмена': function() {
					$(this).dialog('close');
				}
			},
			close: function() {
				allFields.val('').removeClass('ui-state-error');
			}
		});
		$("#dialog-create").dialog({
			autoOpen: false,
			height: 430,
			width: 350,
			modal: true,
			buttons: {
				'Регистрация': function() {
					var bValid = true;
					create_allFields.removeClass('ui-state-error');
					bValid = bValid && checkLength(create_name,"логина",3,20);
					bValid = bValid && checkLength(create_password,"пароля",6,20);
					bValid = bValid && checkLength(create_password2,"пароля",6,20);
					bValid = bValid && checkLength(create_email,"email'а",6,80);
					bValid = bValid && checkRegexp(create_name,/^[a-z]([0-9a-z_])+$/i,"Логин может содержать символы a-z, 0-9 и должен начинаться не с цифр.");
					bValid = bValid && checkRegexp(create_password,/^([0-9a-zA-Z])+$/,"Пароль может содержать символы : a-z 0-9");
					bValid = bValid && checkRegexp(create_password2,/^([0-9a-zA-Z])+$/,"Пароль может содержать символы : a-z 0-9");
					bValid = bValid && checkRegexp(create_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@domain.ru");
					bValid = bValid && checkPasswords(create_password,create_password2);
					if (bValid) {
						$.post("registration.php", { create_name: create_name.val(), create_password: create_password.val(), create_email: create_email.val(), create_inmail: create_inmail.is(':checked') },
							function(data){
								if (data == "0") {
									$("#dialog-create").dialog('close');
									document.location.href = "/doactivation";
								} 
								if (data == "011") { updateTips("Пользователь с таким логином существует."); }
								if (data == "022") { updateTips("Пользователь с таким email'ом существует."); }
								if (data == "01122") { updateTips("Пользователь с таким логином и email'ом существует."); }
							});
					}
				},
				'Отмена': function() {
					$(this).dialog('close');
				}
			},
			close: function() {
				create_allFields.val('').removeClass('ui-state-error');
			}
		});
		
		$('#auth-user')			
			.click(function() {
				$('#dialog-auth').dialog('open');
			});
		$('#authuser')			
			.click(function() {
				$('#dialog-auth').dialog('open');
			});
		$('#create-user')
			.click(function() {
				$('#dialog-create').dialog('open');
			});		
		
		$( "#dialog-activation" ).dialog({
			modal: true,
			buttons: {
				Ok: function() {
					$( this ).dialog( "close" );
				}
			}
		});
		$( "#dialog-doactivation" ).dialog({
			modal: true,
			buttons: {
				Ok: function() {
					$( this ).dialog( "close" );
				}
			}
		});
		$('#auth-reg').click(function() {
		$( "#dialog-authreg" ).dialog({
			modal: true,
			width: 600,
			buttons: {
				'Вход': function() {
					$( this ).dialog( "close" );
					$('#dialog-auth').dialog('open');
				},
				'Регистрация': function() {
					$( this ).dialog( "close" );
					$('#dialog-create').dialog('open');
				},
				'Отмена': function() {
					$( this ).dialog( "close" );
				}
			}
		});
		});
	});
