﻿Type.registerNamespace("Finatica");
Type.registerNamespace("Finatica.Head");

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

Finatica.Head.openLogin = function() {
	$('div.notificator-container').append($("div.login"));
	$('div.notificator-container > div.login').slideDown('fast');
	$('input.loginUsernameInput').focus();
}

Finatica.Head.closeLogin = function(loginID)
{
	$("#" + loginID).slideUp('fast');	
}

Finatica.Head.checkLoginInfo = function(postBackTarget) 
{
	if ($(".loginUsernameInput").val() == '') { $find(Finatica.Common.NotificatorID).addMessage('alert', 'Не введен e-mail', 3000); return false; }
	if ($(".loginPasswordInput").val() == '') { $find(Finatica.Common.NotificatorID).addMessage('alert', 'Не введен пароль', 3000); return false; }

	var	validationProxy = new Finatica.WebServices.ValidationHelper();
	validationProxy.TryLogIn($(".loginUsernameInput").val(), $(".loginPasswordInput").val(), Finatica.Head.onServiceSucceeded, Finatica.Head.onFail, postBackTarget);
}

Finatica.Head.sendActivationID = function(username)
{
	var commonProxy = new Finatica.WebServices.CommonServices();
	commonProxy.SendActivationLink(username, Finatica.Head.onServiceSucceeded, Finatica.Head.onFail, null);
}

Finatica.Head.onServiceSucceeded = function(result, userContext, methodName) {

	if (methodName == "TryLogIn") {
		if (result == "LOGIN_SUCCESS") { __doPostBack(userContext, ''); }
		if (result == "LOGIN_FAILURE") { $find(Finatica.Common.NotificatorID).addMessage('error', 'Неправильный логин/пароль'); }
		if (result == "LOGIN_USERLOCKEDOUT") { $find(Finatica.Common.NotificatorID).addMessage('error', 'Вы исчерпали количество попыток ввода пароля. Попробуйте повторно авторизоваться через 15 минут или воспользуйтесь функцией восстановления пароля'); }
		if (result == "LOGIN_NOT_ACTIVATED") {
			$find(Finatica.Common.NotificatorID).addMessage('alert', 'Ваша учетная запись не активирована.  <a href="#" onclick="Finatica.Head.sendActivationID(\'' + $(".loginUsernameInput").val() + '\'); return false;">Запросить активационную ссылку повторно</a>');
		}		
	}
	else if (methodName == "SendActivationLink") {
		if (result == true) { $find(Finatica.Common.NotificatorID).addMessage('success', 'Активационная ссылка успешно отправлена'); }
		else { $find(Finatica.Common.NotificatorID).addMessage('error', 'Ошибка отправки активационной ссылки'); }
	}
}

Finatica.Head.onFail = function() 
{
	if (methodName == "TryLogIn") {	
		$find(Finatica.Common.NotificatorID).addMessage('error', 'Ошибка аутентификации'); 
	}
	else if (methodName == "SendActivationLink") {			
		$find(Finatica.Common.NotificatorID).addMessage('error', 'Ошибка отправки активационной ссылки'); 
	}
}
