var modalLoginContent

$(document).ready(
	function ()
	{
		var authForm = $('#mfl-form', contents).not('.modal-activationExpires')
		var contents = $('#modal-loginForm div.modalPadding')

		modalLoginContent =
			new modalContents(
				contents,
				{
					'mc-loginForm':
						function()
						{
							var loginValue = $('#mfl-login', authForm).val()
							var passwordValue = $('input[type=password]', authForm).val()
							if ( loginValue.length > 0 && passwordValue.length == 0 )
							{
								setTimeout(
									"$('#mfl-password').focus()",
									100
								)
							}
							else
							{
								setTimeout(
									"$('#mfl-login').focus()",
									100
								)
							}
						},

					'mc-restorePasswordForm':
						function()
						{
							setTimeout(
								"$('#mfrp-email').focus()",
								100
							)
						},

					'mc-restorePasswordForm-fail':
						function()
						{
							setTimeout(
								"$('#mc-restorePasswordForm-fail a.gray-button').focus()",
								100
							)
						}
				}
			)

		/* при клике на ссылочку "Забыли? [пароль]" покажем формочку восстановления пароля */
		$('#modal-restorePasswordForm-input-email-link', contents).click(
			function ()
			{
				modalLoginContent.select( 'mc-restorePasswordForm' )
				return false
			}
		)

		/* при клике на ссылочку "Восстановление пароля" в форме ошибки авторизации покажем формочку восстановления пароля */
		$('#modal-loginForm-authFailed-restore-password-link', contents).click(
			function ()
			{
				modalLoginContent.select( 'mc-restorePasswordForm' )
				return false
			}
		)
		/* при клике на ссылку "попробовать" на форме неудачной авторизации показать форму авторизации */
		$('#modal-loginForm-authFailed-retry', contents).click(
			function ()
			{
				modalLoginContent.select( 'mc-loginForm' )
				return false
			}
		)



		/* включаем валидацию формы авторизации */
		authForm.validateForm(
			{
				submitSelector: 'input[type=submit]',

				markAssociatedLabel: false,
				helpText: null,

				passedHandler:
					function ( submit, helpText )
					{
						submit.removeAttr('disabled')
					},
				failedHandler:
					function ( submit, helpText )
					{
						submit.attr('disabled', 'disabled')
					}
			}
		)
		
		/* включаем трешовщину */
		$('input[type=image]', authForm).hover(
			function()
			{
				$(this).attr('src', '/img/buttons/loginHover.gif');
			},
			function()
			{
				$(this).attr('src', '/img/buttons/loginEnabled.gif');
			}
		)
		

		// клик на кнопку "войти",
		// если от сервера приходит ответ, что логин-пароль не верны, покажем окошко с ошибкой
		authForm.submit(
			function ()
			{
				var submit = $('input[type=submit]', authForm)

				submit.attr('disabled', 'disabled')

				var rememberValue = $('input[type=checkbox]', authForm).attr('checked')
				rememberValue = rememberValue.toString()
				if ( rememberValue != 'true' )
				{
					rememberValue = 'false'
				}

				$.post(
					'/login.html',
					{
						login: $('input[type=text]', authForm).val(),
						password: $('input[type=password]', authForm).val(),
						remember: rememberValue
					},
					function (response)
					{
						parsedResponse = parseInt(response)
						switch ( parsedResponse )
						{
							case 1:
								if( window.location.search.indexOf('activationKey') == -1 )
									window.location.reload();
								else
									window.location = '/'
							break;
							case 2:
								createModalActiovationExpiresContent()

								$('#mcfae-password').val('')
								$('#mcfae-key').val('')

								tb_show(null, '/?TB_inline&height=480&width=600&inlineId=modal-loginForm&modal=true&showHandler=activationExpiresContentReset(true)', null)
							break;
							default:
								// Обработка ошибки (код возврата 0) пошла сюда
								var passwordInput = $('input[type=password]', authForm)

								passwordInput.val('')
								passwordInput.focus()

								modalLoginContent.select( 'mc-loginForm-authFailed' )
							break;
						}
					}
				)

				return false
			}
		)

		var restorePasswordForm = $('#mfrp-form', contents)

		restorePasswordForm.submit(
			function ()
			{
				var submit = $('#mfrp-formSubmitter', restorePasswordForm)
				var emailValue = $('input[type=text]', restorePasswordForm).val()

				submit.attr('disabled', 'disabled')

				$.post(
					'/registration/repair.html',
					{
						email: emailValue
					},
					function (response)
					{
						response = parseInt(response)
						switch ( response )
						{
							case 0:
								$('input[type=text]', restorePasswordForm).val('')
								modalLoginContent.select( 'mc-restorePasswordForm-fail' )
							break;
							case 1:
								modalLoginContent.select( 'mc-restorePasswordForm-success' )
							break;
						}
					}
				)

				return false
			}
		)

		/* включаем валидацию для формы ввода емейла */
		restorePasswordForm.validateForm(
			{
				submitSelector: 'input[type=submit]',

				markAssociatedLabel: false,
				helpText: null,

				valueRegexp:
					{
						'mfrp-email': /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
					},

				passedHandler:
					function ( submit, helpText )
					{
						submit.removeAttr('disabled')
					},
				failedHandler:
					function ( submit, helpText )
					{
						submit.attr('disabled', 'disabled')
					},
				initHandler:
					function ( validate )
					{
						setInterval(
							function()
							{
								if( $('#TB_window').length > 0 )
									validate()
							},
							200
						)
					}
			}
		)

	}
)


function modalLoginContentResetToLogin()
{
	modalLoginContent.hideAll()
	modalLoginContent.select( 'mc-loginForm' )
}