/*
* обработчик формы регистрции для проекта book4baby
*/

$( function () {
/***************************************************************
**************** обработка блока Забыли пароль *****************
****************************************************************/
	
	//убираем косяк с формой снизу
	$('#frgtPassBlk #sign-up').css({'padding-bottom': '0px'});
	
	//показываем форму
        /*
	$('span.pswforgot>a').click( function (e)
	{
		$('#frgtPassBlk').slideDown(500);
		e.preventDefault();
	});
        */
	
	//убираем форму
	$('#frgtPassBlk div.close>a').click( function (e)
	{
		$('#frgtPassBlk').slideUp(500);
		e.preventDefault();
	});
	
	//делаем подсказки в поле ввода
	var frgEnailDefTxt = $('#frgEmailId').val();
	$('#frgEmailId').focus( function ()
	{
		if($(this).val() == frgEnailDefTxt)
		{
			$(this).val('').css({
				color: "#000",
				"font-style": "normal"
			});
		}
	}).blur( function ()
	{
		if($(this).val() == '')
		{
			if($('#errFrgEmaiMsg').length)
			{
				$('#errFrgEmaiMsg').remove();
			}
			$(this).val(frgEnailDefTxt).css({
				color: "#959595",
				"font-style": "italic"
			});
		}
	});
	
	//нажимаем на кнопку "Отослать"
	$('#frgtPassBlk .button-reg input').click( function (e)
	{
		$.post('/frgt_email_send.php',
		{
			frgtEmail: $('#frgEmailId').val()
		}, function (data)
		{
			if($(data).find('font.errortext').length)
			{
				$('#frgEmailId').after('<p>'+$(data).find('font.errortext').text() + '</p>');
				$('#frgtPassBlk .input').css({'height': 'auto'});
				$('#frgtPassBlk .input p').css({'margin': '10px', 'font-size': '11px', color: "#f00"});
			}
			else
			{
				if($(data).find('font.notetext').length)
				{
					$('#frgtPassBlk span.input').replaceWith('<p style="color: #006108; font-size: 12px; width: 260px;">' + $(data).find('font.notetext').text() + '</p>');
					$('#frgtPassBlk span.button-reg>input').slideUp(500);
				}
			}
			//$('#frgEmailId').after(data);
		});
		e.preventDefault();
	});


/************************************************************
************************ обработка блока регистрации ********
*************************************************************/

	//Создаем нормальную высоту и чуть приподнимаем низ
	$('.popup div#sign-up').css({
		height: 'auto',
		'padding-bottom': '0px'
	});
	
	//показ подсказок для текстовых полей
	var initTipsForInput = function (inp, errMsgID)
	{
		var nameInput = $(inp);
		var defaultTextName = nameInput.val();
		nameInput.val(defaultTextName).focus( function () {
			if($(this).val() == defaultTextName)
			{
				$(this).val('').css({
					color: "#000",
					"font-style": "normal"
				});
			}
		}).blur( function () {
			if($(this).val() == '')
			{
				if($(errMsgID).length)
				{
					$(errMsgID).remove();
				}
				$(this).val(defaultTextName).css({
					color: "#959595",
					"font-style": "italic"
				});
			}
		});
	}

	//подсказки для поля пароля в форме авторизации
	var initTipsForAuthPassInput = function (nameField)
	{
		var passInpClear = $('.authform input[name="' + nameField + '"][type="text"]');
		var passInpDot = $('.authform input[name="' + nameField + '"][type="password"]');
		var defaultTextPass = passInpClear.val();
		passInpClear.live('focus', function () {
			if($(this).val() == defaultTextPass)
			{
				
				$(this).replaceWith('<input name="' + nameField + '" style="color: #000" type="password" value="" max_length="50" size="17"/>');
				$('.authform input[name="' + nameField + '"][type="password"]').focus().live('blur', function () {
					if($(this).val() == '')
					{
						$(this).replaceWith('<input name="' + nameField + '" type="text" value="' + defaultTextPass + '" max_length="50" size="17" />');
					}
				});
			}
		});
	}
	$('.authform input[name="USER_PASSWORD"][type="password"]').replaceWith('<input name="USER_PASSWORD" type="text" value="Введите пароль..." max_length="50" size="17" />');
	$('.authform input[name="USER_LOGIN"]').val('Введите логин...');
	initTipsForAuthPassInput('USER_PASSWORD');
	initTipsForInput($('.authform input[name="USER_LOGIN"]'));

	//скрываем форму регистрации
	$(".popup").hide();

	//биндим ссылку "зарегистрироваться" на показ формы
	$("span.text-auth a").click( function(e) {
		$(".popup").slideDown(500);
		return false;
	});

	//биндим закрытие формы по крестику
	$(".popup div.close").click( function (e) {
		$(".popup").slideUp(500);
		return false;
	});

	//Стираем сообщения об ошибках
	var errorArea = $('.popup span.error');
	errorArea.css({color: "#f00"}).text('');
	$("#sign-up").css({ height: "auto" });
	
	//делаем подсказки для полей пароля в форме регистрации
	var initTipsForPassInput = function (nameField, errMsgID)
	{//'.popup input[name="REGISTER[PASSWORD]"]'
		var passInpClear = $('.popup input[name="' + nameField + '"][type="text"]');
		var passInpDot = $('.popup input[name="' + nameField + '"][type="password"]');
		var defaultTextPass = passInpClear.val();
		passInpClear.live('focus', function () {
			if($(this).val() == defaultTextPass)
			{
				
				$(this).replaceWith('<input size="30" name="' + nameField + '" style="color: #000" type="password" />');
				$('.popup input[name="' + nameField + '"][type="password"]').focus().live('blur', function () {
					if($(this).val() == '')
					{
						if($(errMsgID).length)
						{
							$(errMsgID).remove();
						}
						$(this).replaceWith('<input size="30" name="' + nameField + '" type="text" value="' + defaultTextPass + '" />');
					}
				});
			}
		});
	}

	//убираем подсказки при фокусе
	initTipsForInput($('.popup input[name="REGISTER[NAME]"]'), '#nameError');
	initTipsForInput($('.popup input[name="REGISTER[LAST_NAME]"]'), '#lastNameError');
	//initTipsForInput($('.popup input[name="REGISTER[LOGIN]"]'));
	$('.popup input[name="REGISTER[LOGIN]"]').parent().parent().remove();
	//initTipsForInput($('.popup input[name="REGISTER[PASSWORD]"]'));
	initTipsForPassInput("REGISTER[PASSWORD]", '#passError');
	//initTipsForInput($('.popup input[name="REGISTER[CONFIRM_PASSWORD]"]'));
	initTipsForPassInput("REGISTER[CONFIRM_PASSWORD]", '#confPassError');
	initTipsForInput($('.popup input[name="REGISTER[EMAIL]"]'), '#emailError');

	//обработка отправки регистрации
	var regBtn = $('input[name=register_submit_button]');
	regBtn.click( function () {
		errorArea.text('');
		$("#sign-up").css({ height: "auto" });
		if($('input[name=i_agree]:checked').length && $('.popup input[name="REGISTER[PASSWORD]"][type="password"]').val().length >= 6 && $('.popup input[name="REGISTER[PASSWORD]"][type="password"]').val() == $('.popup input[name="REGISTER[CONFIRM_PASSWORD]"][type="password"]').val())
		{
			$.post("/reg_post.php",
				{
					NAME: $('.popup input[name="REGISTER[NAME]"]').val(),
					LAST_NAME: $('.popup input[name="REGISTER[LAST_NAME]"]').val(),
					LOGIN: $('.popup input[name="REGISTER[LOGIN]"]').val(),
					PASSWORD: $('.popup input[name="REGISTER[PASSWORD]"]').val(),
					CONFIRM_PASSWORD: $('.popup input[name="REGISTER[CONFIRM_PASSWORD]"]').val(),
					EMAIL: $('.popup input[name="REGISTER[EMAIL]"]').val()
				}, function (data) 
				{
					if($(data).find("font.errortext").length)
					{
						errorArea.html($(data).find("font.errortext").html()).hide().show(500);
						$("#sign-up").animate({ height: "auto" }, 500);
					}
					else
					{
						if ($(data).find("font.notetext").length)
						{
							$("#sign-up table").slideUp(500, function () {
								$(this).remove();
								$("#sign-up .error").html("<p style='color: #006108'>Cпасибо за регистрацию!</p><br /><p style='color: #000; font-size: 12px;'>На ваш e-mail была выслана ссылка.<br />Для активации аккаунта и получения<br />подарка пройдите<br />по ссылке указанной в письме.</p>").hide().slideDown(500);
								$("#sign-up").css({ height: "auto" });
							});
							
						}
						else
						{
							$("#sign-up table").remove();
							$("#sign-up .error").html("<p style='color: #f00'>Неизвестная ошибка</p>").hide().slideDown(500);
						}
					}
				}
			);
		}
		else
		{
			errorArea.text("Вы не приняли условия публично оферты");
			$("#sign-up").css({ height: "auto" });
		}
		return false;
	});
	
	
	//Выводим сообщения об ошибках в полях Email, Password, Confirm password до отправки формы
	$('.popup input[name="REGISTER[EMAIL]"]').change( function ()
	{
		if($(this).length)
		{
			if($('.popup #emailError').length)
			{
				$('.popup #emailError').remove();
			}
			var pattern = /^[a-zA-Z0-9._-а-яА-Я]+@[a-zA-Z0-9.-а-яА-Я]+\.[a-zA-Zа-яА-Я]{2,4}$/gi;
			if(!pattern.test($(this).val()))
			{
				$(this).after('<p id="emailError" style="color: #f00; font-size: 10px;">Неверный формат e-mail</p>');
				$('.input').css({height: "auto"});
				$("#sign-up").css({ height: "auto" });
			}
		}
	});
	$('.popup input[name="REGISTER[PASSWORD]"][type="password"]').live('change', function () {
		if($('.popup #confPassError').length)
		{
			$('.popup #confPassError').remove();
		}
		if($('.popup #passError').length)
		{
			$('.popup #passError').remove();
		}
		if($(this).val().length < 6)
		{
			$(this).after('<p id="passError" style="color: #f00; font-size: 10px;">Пароль должен быть 6 символов или больше</p>');
			$('.input').css({height: "auto"});
			$("#sign-up").css({ height: "auto" });
		}
		else
		{
			if($('.popup input[name="REGISTER[CONFIRM_PASSWORD]"][type="password"]').val() != '')
			{
				if($('.popup input[name="REGISTER[CONFIRM_PASSWORD]"][type="password"]').val() != $(this).val())
				{
					$('.popup input[name="REGISTER[CONFIRM_PASSWORD]"][type="password"]').after('<p id="confPassError" style="color: #f00; font-size: 10px;">Пароли не совпадают</p>');
				}
				else
				{
					if($('.popup #confPassError').length)
					{
						$('.popup #confPassError').remove();
					}
				}
			}
		}
	});
	$('.popup input[name="REGISTER[CONFIRM_PASSWORD]"][type="password"]').live('change', function () {
		if($('.popup #confPassError').length)
		{
			$('.popup #confPassError').remove();
		}
		if($(this).val() != $('.popup input[name="REGISTER[PASSWORD]"]').val())
		{
			
			$(this).after('<p id="confPassError" style="color: #f00; font-size: 10px;">Пароли не совпадают</p>');
			$('.input').css({height: "auto"});
			$("#sign-up").css({ height: "auto" });
		}
	});
});
