// Função chamada quando a página é carregada.
function CheckDataSaved()
{
	// Lê valores no cookie
	var version = $.cookie('version');
	var licenciadoID = $.cookie('licenciadoID');
	var licenciadoNome = $.cookie('licenciadoNome');
	var company = $.cookie('company');
	var userLogin = $.cookie('userLogin');

	
	// Se não havia versão salva no cookie, assume V2 por default
	if (version == null) {version = 'V2';}

	
	// Attribui checked no checkbox de acordo com versão
	if (version == 'V2')
	{
		$("#prodV2").attr('checked', 'checked');
		$("#prodV3").removeAttr('checked');
	}
	else if (version == 'V3')
	{
		$("#prodV3").attr('checked', 'checked');
		$("#prodV2").removeAttr('checked');
	}

	
	// Chamo a função que, de acordo com a versão, exibe os ícones dos browsers e atribui o action ao formulário
	SetVersion(version);

	
	// Atribui LicenciadoID e Company de acordo com o que está salvo no cookie
	$("#licenciadoID").val( licenciadoID );
	$("#company").val( company );

	
	// Se não houver valor nos cookies para licenciadoNome e userLogin, continuará aparecendo o texto default do campo.
	if (licenciadoNome != null) { $("#licenciadoNome").val( licenciadoNome ); }
	if (userLogin != null) { $("#userLogin").val( userLogin ); }
	
	
	// Se houver valor em company, é pq havia dados de login salvos em cookies. Assim deixa-se o Checkbox SalvarLogin marcado.
	if (company != null) {
		$("#salvarLogin").attr('checked', 'checked')
	}
}

// Quando o usuário clicar no checkbox da versão, os campos "licenciadoNome", "licenciadoID" e "company" terão seus valores resetados
function ChangeVersion(p)
{
	// Pendente de colocar texto no licenciadoNome de acordo com o idioma em questão.
	$("#licenciadoNome").val("Seu Licenciado");
	$("#licenciadoID").val("");
	$("#company").val("");
	
	SetVersion(p);
}

// Função utilizada por dois eventos diferentes
// 	 - CheckDataSaved() quando página é carregada
//	 - Quando o usuário clica no checkbox de uma versão: ChangeVersion()
function SetVersion(p)
{
	var licenciadoNome = $("#licenciadoNome").val();

	var domain = document.domain.replace("cms.", "");  // Este replace é temporário
	var producao = (domain == "www.reserve.com.br");
	var protocol = (producao && ((p == "V3") || (p == "V2" && (licenciadoNome == "Cargill" || licenciadoNome == "Demonstração" || licenciadoNome == "Accenture")))) ? "https://" : "http://";
	
	// Action and Icons
	if (p == 'V2')
	{
		//* Ajuste para deixar apenas Cargill, Accenture e Demonstração como ambiente seguro no V2. *//
		// document.getElementById('frmLogin').action = (licenciadoNome == "Cargill" || licenciadoNome == "Demonstração" || licenciadoNome == "Accenture") ? "https" : "http" + '://www.reserve.com.br/empresa/acessoempresa.asp';
		document.getElementById('frmLogin').action = protocol + domain + "/empresa/acessoempresa.asp";
		$("#iconsBrowsersV2").show();
		$("#iconsBrowsersV3").hide();
	}
	else if (p == 'V3')
	{
		//document.getElementById('frmLogin').action = 'https://www.reserve.com.br/v3/Logon.aspx';
		document.getElementById('frmLogin').action = protocol + domain + "/v3/Logon.aspx";
		$("#iconsBrowsersV2").hide();
		$("#iconsBrowsersV3").show();
	}
}

// Função para abrir pop-up de recuperar senha, de acordo com versão e licenciado selecionados
function RecoverPass()
{
	var url;
	var licenciadoID = $("#licenciadoID").val();
	
	if (licenciadoID == "")
	{
		alert("Informe Seu Licenciado");
		return false;
	}
	
	if ($('input[name=version]:radio:checked').val() == "V2") {url = 'http://www.reserve.com.br/noLogin.asp?A='+ $('#company').val() +'';}
	if ($('input[name=version]:radio:checked').val() == "V3") {url = 'https://www.reserve.com.br/v3/Geral/RecuperarSenha.aspx?IDLicenciado='+ $('#licenciadoID').val() +'';}
	
	window.open(url, 'RecoverPass', 'height=370, width=550, scrollbars=no, status=no, toolbar=no, menubar=no');

	return true
}

function UpdateFieldsOnSubmit()
{
	document.getElementById('agenciaV2').value = document.getElementById('company').value;
	document.getElementById('loginV2').value = document.getElementById('userLogin').value;
	document.getElementById('senhaV2').value = document.getElementById('userPwd').value;

	if (document.getElementById('company').value == "")
	{
		alert("Informe Seu Licenciado, escolhendo uma das opções oferecidas durante a digitação");
		return false;
	}
	
	switch(document.getElementById('userLogin').value)
	{
	case "":
		alert("Informe Seu Login");
		return false;
		break
	case "Su Login":
		alert("Informe Su Login");
		return false;
		break
	case "Seu Login":
		alert("Informe Seu Login");
		return false;
		break
	}

	switch(document.getElementById('userPwd').value)
	{
	case "":
		alert("Informe Sua Senha");
		return false;
		break
	case "Su Contraseña":
	case "Su Senha":
		alert("Informe Su Contraseña");
		return false;
		break
	case "Sua Senha":
		alert("Informe Sua Senha");
		return false;
		break
	}
	
	$.cookie('version', $('input[name=version]:radio:checked').val(), { expires: 360 });
	
	if ($('#salvarLogin').is(':checked'))
	{
		$.cookie('licenciadoID', $('#licenciadoID').val(), { expires: 360 });
		$.cookie('licenciadoNome', $('#licenciadoNome').val(), { expires: 360 });
		$.cookie('company', $('#company').val(), { expires: 360 });
		$.cookie('userLogin', $('#userLogin').val(), { expires: 360 });
	}
	else
	{
		$.cookie('licenciadoID', null);
		$.cookie('licenciadoNome', null);
		$.cookie('company', null);
		$.cookie('userLogin', null);
	}
	
	return true;
}

// Limpa o licenciado selecionado caso não tenha nenhum ID gravado
// Usado sempre que o cursor é colocado no campo "Licenciado" (onfocus)
function clearLicenciado() {
    var company = document.getElementById('company');
	if (document.getElementById('licenciadoID').value == "")
		company.value = "";
}

function hideValue(campo){

    var licenciado = document.getElementById('licenciadoNome');
	var login = document.getElementById('userLogin');
    var senha = document.getElementById('userPwd');

    switch (campo) {
        case 'licenciado':
            if(licenciado.value == "Seu Licenciado"){
                licenciado.value = "";
				clearLicenciado();
            }
            else if(licenciado.value == ""){
                licenciado.value = "Seu Licenciado";
				clearLicenciado();
            }
        	break;

		case 'Licensee':
            if(licenciado.value == "Licensee"){
                licenciado.value = "";
            }
            else if(licenciado.value == ""){
                licenciado.value = "Licensee";
            }
			else if(licenciado.value == "Seu Licenciado"){
                licenciado.value = "";
            }

        	break;

		case 'Licenciatario':
            if(licenciado.value == "Su Licenciatario"){
                licenciado.value = "";
				clearLicenciado();
            }
            else if(licenciado.value == ""){
                licenciado.value = "Su Licenciatario";
				clearLicenciado();
            }
			else if(licenciado.value == "Seu Licenciado"){
                licenciado.value = "";
				clearLicenciado();
            }
        	break;

		case 'loginEs':
            if(login.value == "Su Login"){
                login.value = "";
            }
            else if(login.value == ""){
                login.value = "Su Login";
            }
			else if(login.value == "Seu Login"){
                login.value = "";
            }
            break;

	    case 'login':
            if(login.value == "Seu Login"){
                login.value = "";
            }
            else if(login.value == ""){
                login.value = "Seu Login";
            }
            break;

		case 'loginEn':
            if(login.value == "Your Login"){
                login.value = "";
            }
            else if(login.value == ""){
                login.value = "Your Login";
				clearLicenciado();
            }
			else if(login.value == "Seu Login"){
                login.value = "";
            }
            break;

        case 'senha':
            if(senha.value == "Sua Senha"){
                senha.value = "";
            }
            else if(senha.value == ""){
                senha.value = "Sua Senha";
            }
            break;
    }
}


// Bloco de código processado assim que a página termina de carregar.
//	- Habilita o autocomplete
//  - Invoca a função CheckDataSaved()
$(document).ready(function() {
	$(function() {
		$('.autocomplete').autocomplete({
			source: function(request, response) {
				$.ajax({
					url: "/DataCore/AutoCompleteLicenciados.asmx/BuscarLicenciados",
					data: "{'version': '" + $('input[name=version]:radio:checked').val() + "', 'licenciado': '" + request.term + "'}",
					dataType: "json",
					type: "POST",
					contentType: "application/json; charset=utf-8",
					dataFilter: function(data) { return data; },
					success: function(data) {
						if (data.d == '') {
							data.d = [{ id: "", label: "Não há resultados", value: ""}];
							response(data.d, function(item) {
								return {
									id: item.ID, label: item.Nome, value: item.NomeCurto
								}
							})
						}
						else if (data.d.length == 1) {
							$("#licenciadoID").val(data.d[0].ID);
							$("#licenciadoNome").val(data.d[0].Nome);
							$("#company").val(data.d[0].NomeCurto);
							response("");
						}
						else {
							response($.map(data.d, function(item) {
								return {
									id: item.ID, label: item.Nome, value: item.NomeCurto
								}
							}))
						}
					},
					error: function(XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); }
				});
			},
			select: function(event, ui) {
				if (ui.item.id != '') {
					$("#licenciadoID").val(ui.item.id);
					$("#licenciadoNome").val(ui.item.label);
					$("#company").val(ui.item.value);
				}
				return false;
			},
			minLength: 2
		});
	});

	CheckDataSaved();
});


