var initDOM = false;

function refresh_captcha()
{
	$("#captcha_image").attr("src", "indicator.gif");
	var captchaImage = new Image(110, 60);
	captchaImage.onload = function()
	{
		$("#captcha_image").attr("src", captchaImage.src);
	};
	captchaImage.src = "captcha/captcha.php?rnd="+Math.random(100);
	
}

function registration()
{
	if (!initDOM)
		return false;
		
	var $popup = $("#popup_reg");
	var $popup_ajax = $popup.find(".ajaxLoaderP");
	var $name = $("#popup_reg_name");
	var $lastname = $("#popup_reg_lastname");
	var $email = $("#popup_reg_email");
	var $phone = $("#popup_reg_phone");
	var $pass = $("#popup_reg_pass");
	var $pass2 = $("#popup_reg_pass2");
	var $captcha = $("#popup_reg_captcha");
    var $alias = $("#popup_reg_alias");
	
	var default_name = "Ваше имя";
	var default_lastname = "Ваша фамилия";
	var default_email = "Ваш e-mail";
	var default_phone = "Ваш номер телефона";
	var default_pass = "Пароль";
	var default_pass2 = "Пароль еще раз";
	var default_captcha = "Код с картинки";
		
	$popup.modal(
	{
		closeClass: "cancel", 
		opacity:30,
		overlayCss: {backgroundColor:"#000"},
		onShow: function (dialog) 
		{
			_gaq.push(["_trackEvent", "Popups", "Open", "Registration"]);
			var captchaImage = new Image(110, 60);
			captchaImage.onload = function()
			{
				$("#captcha_image").attr("src", captchaImage.src);
			};
			captchaImage.src = "captcha/captcha.php";
			
			//Имя
			var is_p_reg_name_m = false, p_reg_name_focus = 0;
			var temp_reg_name = '';
			
			$name.data('focus', p_reg_name_focus);
			$name.data('is_input_modifed', is_p_reg_name_m);
			$name.data('temp_value', temp_reg_name);
			$name.data('default_value', default_name);
			$name.data('children', []);
			
			classGrey($name);
			get_input($name).val(default_name)
				.bind("focus", {obj: $name}, input_focus)
				.bind("blur", {obj: $name}, input_blur);
			get_sub_div($name)
				.bind("mouseenter", {obj: $name}, input_mouseenter)
				.bind("mouseleave", {obj: $name}, input_mouseleave);
				
			
			//Фамилия
			var is_p_reg_lastname_m = false, p_reg_lastname_focus = 0;
			var temp_reg_lastname = '';
			
			$lastname.data('focus', p_reg_lastname_focus);
			$lastname.data('is_input_modifed', is_p_reg_lastname_m);
			$lastname.data('temp_value', temp_reg_lastname);
			$lastname.data('default_value', default_lastname);
			$lastname.data('children', []);
			
			classGrey($lastname);			
			get_input($lastname).val(default_lastname)
				.bind("focus", {obj: $lastname}, input_focus)
				.bind("blur", {obj: $lastname}, input_blur);			
			get_sub_div($lastname)
				.bind("mouseenter", {obj: $lastname}, input_mouseenter)
				.bind("mouseleave", {obj: $lastname}, input_mouseleave);

			//email
			var is_p_с_email_m = false, p_c_email_focus = 0;
			var temp_reg_email = '';
			
			$email.data('focus', p_c_email_focus);
			$email.data('is_input_modifed', is_p_с_email_m);
			$email.data('temp_value', temp_reg_email);
			$email.data('default_value', default_email);
			$email.data('children', []);
			
			classGrey($email);			
			get_input($email).val(default_email)
				.bind("focus", {obj: $email}, input_focus)
				.bind("blur", {obj: $email}, input_blur);			
			get_sub_div($email)
				.bind("mouseenter", {obj: $email}, input_mouseenter)
				.bind("mouseleave", {obj: $email}, input_mouseleave);
				
			//Номер телефона
			var is_p_с_phone_m = false, p_c_phone_focus = 0;
			var temp_reg_phone = '';
			
			$phone.data('focus', p_c_phone_focus);
			$phone.data('is_input_modifed', is_p_с_phone_m);
			$phone.data('temp_value', temp_reg_phone);
			$phone.data('default_value', default_phone);
			$phone.data('children', []);
			
			classGrey($phone);			
			get_input($phone).val(default_phone)
				.bind("focus", {obj: $phone}, input_focus)
				.bind("blur", {obj: $phone}, input_blur);
			get_sub_div($phone)
				.bind("mouseenter", {obj: $phone}, input_mouseenter)
				.bind("mouseleave", {obj: $phone}, input_mouseleave);
				
			//Пароль
			var is_p_reg_pass_m = false, p_reg_pass_focus = 0;
			var temp_reg_pass = '';
			
			$pass.data('focus', p_reg_pass_focus);
			$pass.data('is_input_modifed', is_p_reg_pass_m);
			$pass.data('temp_value', temp_reg_pass);
			$pass.data('default_value', default_pass);
			$pass.data('children', []);

			classGrey($pass);	
			get_input($pass).val(default_pass)
				.bind("focus", {obj: $pass}, input_pass_focus);
			get_pass_input($pass)
				.bind("blur", {obj: $pass}, input_pass_blur);
			get_sub_div($pass)
				.bind("mouseenter", {obj: $pass}, input_pass_mouseenter)
				.bind("mouseleave", {obj: $pass}, input_pass_mouseleave);
				
			//Пароль еще раз
			var is_p_reg_pass2_m = false, p_reg_pass2_focus = 0;
			var temp_reg_pass2 = '';
			
			$pass2.data('focus', p_reg_pass2_focus);
			$pass2.data('is_input_modifed', is_p_reg_pass2_m);
			$pass2.data('temp_value', temp_reg_pass2);
			$pass2.data('default_value', default_pass2);
			$pass2.data('children', []);
			
			classGrey($pass2);	
			get_input($pass2).val(default_pass2)
				.bind("focus", {obj: $pass2}, input_pass_focus);
			get_pass_input($pass2)
				.bind("blur", {obj: $pass2}, input_pass_blur);
			get_sub_div($pass2)
				.bind("mouseenter", {obj: $pass2}, input_pass_mouseenter)
				.bind("mouseleave", {obj: $pass2}, input_pass_mouseleave);

			//Код картинки
			var is_p_reg_capcha_m = false, p_reg_capcha_focus = 0;
			var temp_reg_capcha = '';
			
			$captcha.data('focus', p_reg_capcha_focus);
			$captcha.data('is_input_modifed', is_p_reg_capcha_m);
			$captcha.data('temp_value', temp_reg_capcha);
			$captcha.data('default_value', default_captcha);
			$captcha.data('children', []);
			
			classGrey($captcha);			
			get_input($captcha).val(default_captcha)
				.bind("focus", {obj: $captcha}, input_focus)
				.bind("blur", {obj: $captcha}, input_blur);
			get_sub_div($captcha)
				.bind("mouseenter", {obj: $captcha}, input_mouseenter)
				.bind("mouseleave", {obj: $captcha}, input_mouseleave);

			$(".save").focus();
			//Сохраняем
			$popup.find(".save").click(function()
			{
				_gaq.push(['_trackEvent', 'Popups', 'Save', 'Registration']);
				var name = get_input($name).val();
				var lastname = get_input($lastname).val();
				var email = get_input($email).val();
				var phone = get_input($phone).val();
				var pass = get_pass_input($pass).val();
				var pass2 = get_pass_input($pass2).val();
				var captcha_code = get_input($captcha).val();
                var alias = get_input($alias).val();
				
				if (name == '' || hasClass($name, "grey"))
				{
					get_input($name).focus().val("");
					show_error($name, "Укажите Ваше имя");
					return false;
				}
				else
					hide_error($name);
					
				if (lastname == '' || hasClass($lastname, "grey"))
				{
					get_input($lastname).focus().val("");
					show_error($lastname, "Укажите Вашу фамилию");
					return false;
				}
				else
					hide_error($lastname);
					
				if (email == '' || hasClass($email, "grey"))
				{
					get_input($email).focus().val("");
					show_error($email, "Укажите Ваш e-mail");
					return false;
				}
				else
					hide_error($email);
					
				if (phone == '' || hasClass($phone, "grey"))
				{
					get_input($phone).focus().val("");
					show_error($phone, "Укажите Ваш номер телефона");
					return false;
				}
				else
					hide_error($phone);
					
				if (pass == '' || hasClass($pass, "grey"))
				{
					get_input($pass).focus().val("");
					show_error($pass, "Укажите Ваш пароль");
					return false;
				}
				else
					hide_error($pass);
					
				if (pass2 == '' || hasClass($pass2, "grey"))
				{
					get_input($pass2).focus().val("");
					show_error($pass2, "Укажите Ваш пароль еще раз");
					return false;
				}
				else
					hide_error($pass2);
			
				if (pass != pass2)
				{
					get_pass_input($pass).val("").focus();
					get_pass_input($pass2).val("");
					show_error($pass, "Пароли не совпадают");
					show_error($pass2, "Пароли не совпадают");
					return false;
				}
				else
				{
					hide_error($pass);
					hide_error($pass2);
				}
				//Hot captcha off
				if (0 && (captcha_code == '' || hasClass($captcha, "grey")))
				{
					get_input($captcha).val("").focus();
					show_error($captcha, "Укажите код с картинки");
					return false;
				}
				else
					hide_error($captcha);
				
                $("#errorAlias").hide();
				$popup_ajax.show();
				
				$.ajax(
				{
					type: "POST", 
					url: "processing.php", 
					data: {
						'page': 'registration',
						'action': 'new_reg', 
						'name': name,
						'lastname': lastname,
						'email': email,
						'password': pass, 
						'password2': pass2,
						'captcha_value': captcha_code,
                        'phone': phone,
                        'alias': alias,
						'rnd': Math.random(100)
					},
					dataType: "json",
					beforeSend: function(xhr) 
					{
						xhr.setRequestHeader("Cookie", document.cookie);
					},
					success: function(data)
					{
						$popup_ajax.hide();						
						if (data.success == 0)
						{
                            show_error($pass2, "Укажите Ваш e-mail");
							//$("#popup_reg_error").html("Произошла ошибка, попробуйте позже").show();
							return false;
						}
						if (data.success == 2)
						{
                            show_error($name, "Укажите Ваше имя");
							//$("#popup_reg_error").html("Укажите Ваше имя").show();
							return false;
						}
						if (data.success == 3)
						{
                            show_error($lastname, "Укажите Вашу фамилию");
							//$("#popup_reg_error").html("Укажите Вашу фамилию").show();
							return false;
						}
						if (data.success == 4)
						{
                            show_error($email, "Укажите Ваш e-mail");
							//$("#popup_reg_error").html("Укажите Ваш e-mail").show();
							return false;
						}
						if (data.success == 5)
						{
                            show_error($pass, "Укажите Ваш пароль");
							//$("#popup_reg_error").html("Укажите Ваш пароль").show();
							return false;
						}
						if (data.success == 6)
						{
                            show_error($pass2, "Пароли не совпадают");
							//$("#popup_reg_error").html("Пароли не совпадают").show();
							return false;
						}
						if (data.success == 7)
						{
                            show_error($email, "Укажите Ваш e-mail в формате user@domain.ru");
							//$("#popup_reg_error").html("Укажите Ваш e-mail в формате user@domain.ru").show();
							return false;
						}
						if (data.success == 8)
						{
                            show_error($email, "Данный e-mail уже используется");
							//$("#popup_reg_error").html("Данный e-mail уже используется").show();
							return false;
						}
						if (data.success == 9)
						{
                            show_error($captcha, "Неверно указали код с картинки");
							//$("#popup_reg_error").html("Неверно указали код с картинки").show();
							return false;
						}
                        if (data.success == 10)
                        {
                            show_error($phone, "Не указан телефон");
                            //$("#popup_reg_error").html("Не указан телефон").show();
                            return false;
                        }
                        if (data.success == 11)
                        {
                            show_error($phone, "Данный номер телефона уже используется");
                            //$("#popup_reg_error").html("Данный номер телефона уже используется").show();
                            return false;
                        }
                        if (data.success == 12)
                        {
                            show_error($phone, "Неверный формат номера телефона");
                            //$("#popup_reg_error").html("Неверный формат номера телефона").show();
                            return false;
                        }   
                        if (data.success == 13)
                        {
                            //show_error($alias, "Адрес уже занят. Выбирите другой или оставьте поле пустым");
                            $("#errorAlias").html("Адрес уже занят. Выбирите другой или оставьте поле пустым").show();
                            get_input($alias).val('');
                            return false;
                        }                                                                                               
						
						if (data.success == 1)
						{							
							window.location = "?page=userpage&id="+data.user_id;
							$.modal.close();
						}
					},
					error: function(XMLHttpRequest, textStatus, errorThrown)
					{
					}
				});
					
				return false;
			});
		}
	});
}

function auth()
{
	if (!initDOM)
		return false;
		
	var $popup = $("#popup_auth");
	var $popup_ajax = $popup.find(".ajaxLoaderP");

	var $email = $("#popup_auth_email");
	var $pass = $("#popup_auth_pass");
    var $regMe = $("#regMe");
	
	var $passRecovery = $("#forgetPass");
	
	var default_email = "Ваш e-mail";
	var default_pass = "Пароль";
		
	$popup.modal(
	{
		closeClass: "cancel", 
		opacity:30,
		overlayCss: {backgroundColor:"#000"},
		onShow: function (dialog) 
		{
			_gaq.push(['_trackEvent', 'Popups', 'Open', 'Auth']);
			//email			
			var is_p_с_email_m = false, p_c_email_focus = 0;
			var temp_reg_email = '';
			
			$email.data('focus', p_c_email_focus);
			$email.data('is_input_modifed', is_p_с_email_m);
			$email.data('temp_value', temp_reg_email);
			$email.data('default_value', default_email);
			$email.data('children', []);
			
			classGrey($email);			
			get_input($email).val(default_email)
				.bind("focus", {obj: $email}, input_focus)
				.bind("blur", {obj: $email}, input_blur);			
			get_sub_div($email)
				.bind("mouseenter", {obj: $email}, input_mouseenter)
				.bind("mouseleave", {obj: $email}, input_mouseleave);
			
			//Пароль
			var is_p_reg_pass_m = false, p_reg_pass_focus = 0;
			var temp_reg_pass = '';
			
			$pass.data('focus', p_reg_pass_focus);
			$pass.data('is_input_modifed', is_p_reg_pass_m);
			$pass.data('temp_value', temp_reg_pass);
			$pass.data('default_value', default_pass);
			$pass.data('children', []);

			classGrey($pass);	
			get_input($pass).val(default_pass)
				.bind("focus", {obj: $pass}, input_pass_focus);
			get_pass_input($pass)
				.bind("blur", {obj: $pass}, input_pass_blur);
			get_sub_div($pass)
				.bind("mouseenter", {obj: $pass}, input_pass_mouseenter)
				.bind("mouseleave", {obj: $pass}, input_pass_mouseleave);

			$(".save").focus();
			//Сохраняем
			$popup.find(".save").click(function()
			{
				_gaq.push(['_trackEvent', 'Popups', 'Save', 'Auth']);
				var email = get_input($email).val();
				var pass = get_pass_input($pass).val();
				
				if (email == '' || $("#popup_auth_email").hasClass("grey"))
				{
					$("#popup_auth_email").focus().val("").removeClass("grey").addClass("blue");
                    show_error($email, "Укажите Ваш e-mail");
					//$("#popup_auth_error").html("Укажите Ваш e-mail").show();
					return false;
				}
				if (pass == '' || $("#popup_auth_pass").hasClass("password_grey"))
				{
					$("#popup_auth_pass").focus().val("").removeClass("password_grey").addClass("password_blue");
                    show_error($pass, "Укажите Ваш пароль");
					//$("#popup_auth_error").html("Укажите Ваш пароль").show();
					return false;
				}
				
				$popup_ajax.show();
				
				$.ajax(
				{
					type: "POST", 
					url: "processing.php", 
					data: {
						'page': 'authorization',
						'action': 'auth', 
						'email': email,
						'password': pass, 
						'rnd': Math.random(100)
					},
					dataType: "json",
					beforeSend: function(xhr) 
					{
						xhr.setRequestHeader("Cookie", document.cookie);
					},
					success: function(data)
					{
						$popup_ajax.hide();
						
						if (data.success == 0)
						{
                            show_error($pass, "Произошла ошибка, попробуйте позже");
							//$("#popup_auth_error").html("Произошла ошибка, попробуйте позже").show();
							return false;
						}
						if (data.success == 4)
						{
                            show_error($email, "Укажите Ваш e-mail");
							//$("#popup_auth_error").html("Укажите Ваш e-mail").show();
							return false;
						}
						if (data.success == 5)
						{
                            show_error($pass, "Укажите Ваш пароль");
							//$("#popup_auth_error").html("Укажите Ваш пароль").show();
							return false;
						}
						if (data.success == 7)
						{
							show_error($email, "Укажите Ваш e-mail в формате user@domain.ru");
                            //$("#popup_auth_error").html("Укажите Ваш e-mail в формате user@domain.ru").show();
							return false;
						}
						if (data.success == 8)
						{
                            show_error($pass, "Неверный e-mail или пароль");
							//$("#popup_auth_error").html("Неверный e-mail или пароль").show();
							return false;
						}
						if (data.success == 1)
						{							
							window.location.reload();
							$.modal.close();
						}
					},
					error: function(XMLHttpRequest, textStatus, errorThrown)
					{
					}
				});
					
				return false;
			});
            
            //Регистрация
            $regMe.click(function()
            {
                $.modal.close(); 
                registration();
            });
			
			//Восстановление пароля
			$passRecovery.click(function()
            {
                $.modal.close(); 
                pass_recovery();
            });
		}
	});
}

function pass_recovery()
{
	if (!initDOM)
		return false;
	
	var $popup = $("#popup_pass_recovery");
	var $popup_ajax = $popup.find(".ajaxLoaderP");
	var $phone = $("#popup_pas_rec_phone");
	
	var default_phone = "Ваш номер телефона";
	
	$popup.modal(
	{
		closeClass: "cancel", 
		opacity:30,
		overlayCss: {backgroundColor:"#000"},
		onShow: function (dialog) 
		{
			_gaq.push(["_trackEvent", "Popups", "Open", "PassRecovery"]);
			//Номер телефона
			$phone.data('focus', 0);
			$phone.data('is_input_modifed', false);
			$phone.data('temp_value', '');
			$phone.data('default_value', default_phone);
			$phone.data('children', []);
			
			classGrey($phone);			
			get_input($phone).val(default_phone)
				.bind("focus", {obj: $phone}, input_focus)
				.bind("blur", {obj: $phone}, input_blur);
			get_sub_div($phone)
				.bind("mouseenter", {obj: $phone}, input_mouseenter)
				.bind("mouseleave", {obj: $phone}, input_mouseleave);
				
			$(".save").focus();
			//Сохраняем
			$popup.find(".save").click(function()
			{
				var phone = get_input($phone).val();
					
				if (phone == '' || hasClass($phone, "grey"))
				{
					get_input($phone).focus().val("");
					show_error($phone, "Укажите Ваш номер телефона");
					return false;
				}
				else
					hide_error($phone);
					
				
				$popup_ajax.show();
				
				$.ajax(
				{
					type: "POST", 
					url: "processing.php", 
					data: {
						'page': 'authorization',
						'action': 'recovery_password',
                        'phone': phone,
						'rnd': Math.random(100)
					},
					dataType: "json",
					beforeSend: function(xhr) 
					{
						xhr.setRequestHeader("Cookie", document.cookie);
					},
					success: function(data)
					{
						$popup_ajax.hide();	
						
						if (data.success == 2)
						{
                            show_error($phone, "Такой номер телефона не зарегистрирован на сайте");
							return false;
						}
						
						$.modal.close();
					},
					error: function(XMLHttpRequest, textStatus, errorThrown)
					{
					}
				});
					
				return false;
			});
		}
	});
}

$(document).ready(function()
{
	//Enable all functions
    initDOM = true;    
});