jQuery(document).ready(
	function()
		{
		iniciarSessaoChave();
		window.setTimeout(function()
			{jQuery("#login").focus();},500);
		
		if (tipoEntradaLogin==4)
			appletCriada=true;
		}
);
var requisicao=null;
var appletCriada=false;

function validarLogin()
{
document.getElementById("login").value=trim(document.getElementById("login").value);
document.getElementById("senha").value=trim(document.getElementById("senha").value);

if (document.getElementById("login").value!="")	
	if (isFinite(Number(document.getElementById("login").value)))
		{
		if (document.getElementById("senha").value!="")
			{
			if (document.getElementById("divCaptcha").style.display=="block")
				{
				if (document.getElementById("captcha").value!="")
					{
					var url="ajax/ajaxLogins.jsp?comando=validarLogin&matricula="+document.getElementById("login").value+"&senha="+hex_md5(document.getElementById("senha").value)+"&codigoOrgao="+document.getElementById("codigoOrgao").value+"&answer="+document.getElementById("captcha").value;
					
					requisicao=iniciarRequisicao();
					requisicao.onreadystatechange=respostaValidarLogin;
					requisicao.open("GET",url,true);
					requisicao.send(null);
					}
					else
					{
					alert("Preencha o campo <Confirmação>!");
					document.getElementById("captcha").focus();	
					}	
				}
				else
				{	
				var url="ajax/ajaxLogins.jsp?comando=validarLogin&matricula="+document.getElementById("login").value+"&senha="+hex_md5(document.getElementById("senha").value)+"&codigoOrgao="+document.getElementById("codigoOrgao").value+"&answer="+document.getElementById("captcha").value;
				requisicao=iniciarRequisicao();
				requisicao.onreadystatechange=respostaValidarLogin;
				requisicao.open("GET",url,true);
				requisicao.send(null);
				}
			}
			else
			{
			alert("Preencha o campo <Senha>!");
			document.getElementById("senha").focus();
			}
		}
		else
		{
		alert("Login ou senha inválidos!");
		document.getElementById("login").focus();
		}
	else
	{
	alert("Preencha o campo <Login>!");
	document.getElementById("login").focus();
	}
}

function respostaValidarLogin() 
{
if (requisicao.readyState==4) 
	{
	if (requisicao.status==200) 
		{
		var xml=requisicao.responseXML;
		var mensagem=xml.getElementsByTagName("mensagem").item(0).firstChild.data;
		var validado=xml.getElementsByTagName("validado").item(0).firstChild.data;
		
		if (validado==0)
			{
			if (xml.getElementsByTagName("captcha").item(0)!=null)
				{
				document.getElementById("divConhecaSistema").style.display="none";
				document.getElementById("divCaptcha").style.display="block";
				document.getElementById("divBotaoEntrarLogin").style.display="none";			
				}
			
			try
			{
			alert(mensagem);
			document.getElementById("senha").focus();			
			document.getElementById("senha").select();
			}
			catch(e) //tratamento de exceção para o caso de o campo senha não está visível devido à utlização de outro método de login
				{
				
				}
			}
			else
			{
			if (url!='' && url!='null' && url!=null)	
				window.location=unescape(url);
				else
				window.location=proximaPagina;
			}
		}
		else
		alert("Erro interno ao tentar logar: "+requisicao.status);
 	}
}

function novoCaptcha()
{
var url="ajax/ajaxLogins.jsp?comando=novoCaptcha";
requisicao=iniciarRequisicao();
requisicao.onreadystatechange=respostaNovoCaptcha;
requisicao.open("GET",url,'false');
requisicao.send(null);	
}

function respostaNovoCaptcha() 
{
if (requisicao.readyState==4) 
	if (requisicao.status==200) 
		{
		var xml=requisicao.responseXML;
		var contexto=xml.getElementsByTagName("contexto").item(0).firstChild.data;
		
		document.getElementById("divImagemCaptcha").innerHTML="<img src='"+contexto+"/stickyImg' width='170'>";
		}
}

function limparSessaoIndex()
{
var url="ajax/ajaxLimparSessao.jsp";
requisicao=iniciarRequisicao();
requisicao.onreadystatechange=respostaLimparSessaoIndex;
requisicao.open("GET",url,true);
requisicao.send(null);
}

function respostaLimparSessaoIndex() 
{
if (requisicao.readyState==4) 
	if (requisicao.status!=200) 
		alert("Erro interno ao limpar a sessão: "+requisicao.status);
}

function logar(e)
{
if (!e)
	var e=window.event;
	
if (e.keyCode)
	tecla=e.keyCode;
	else
	if (e.which)
		tecla=e.which;

if (tecla==13)
	validarLogin();
}

function carregarLogin(id)
{
document.getElementById("login").value=id;
document.getElementById("senha").value="teste";
}

function enviarDadosCertificacao()
{
var identificadorUsuario=null;	

try
{
identificadorUsuario=obterDadosCertificado("Cpf");
}
catch(e)
	{
	alert("Erro ao ler indentificação do certificado digital! Contacte o administrador do Sistema.")
	return;
	}

var url="ajax/ajaxLogins.jsp?comando=enviarDadosCertificacao&identificadorUsuario="+identificadorUsuario+"&codigoOrgao="+document.getElementById("codigoOrgao").value+"&tipoEntradaLogin=4";
requisicao=iniciarRequisicao();
requisicao.onreadystatechange=respostaEnviarDadosCertificacao;
requisicao.open("GET",url,'false');
requisicao.send(null);	
}	


function respostaEnviarDadosCertificacao() 
{
if (requisicao.readyState==4) 
	if (requisicao.status==200) 
		{
		var xml=requisicao.responseXML;
		var usuarioEncontrado=xml.getElementsByTagName("usuarioEncontrado").item(0).firstChild.data;
		
		if (usuarioEncontrado=="true")
			{
			var textoGerado=xml.getElementsByTagName("textoGerado").item(0).firstChild.data;
			var assinatura=assinarHashDetached(textoGerado);
			autenticarAssinatura(assinatura);
			}
			else
			alert("O usuário proprietário do certificado não é um usuário do Sistema Fluxus! Contacte o administrador do Sistema.");	
		}
}


function autenticarAssinatura(assinatura)
{
var url="ajax/ajaxLogins.jsp?comando=validarLogin&assinatura="+assinatura+"&codigoOrgao="+document.getElementById("codigoOrgao").value+"&tipoEntradaLogin=4";
requisicao=iniciarRequisicao();
requisicao.onreadystatechange=respostaValidarLogin;
requisicao.open("GET",url,'false');
requisicao.send(null);	
}	

function alternarLogin()
{
if (tipoEntradaLogin!=4)
	{
	if(!appletCriada)
		{
		var html='<applet id="assinadorDigital" width="1px" height="1px"  '+
				'code="br/gov/trf1/assinador/api/web/applet/AssinadorApplet"	'+
				'archive="'+caminhoURLApplet+'/commons/componentes/certificacaoDigital/assinadorApplet.jar,	'+
				caminhoURLApplet+'/commons/componentes/certificacaoDigital/assembla_msks_jce.jar,	'+
				caminhoURLApplet+'/commons/componentes/certificacaoDigital/assinadorSDK.jar,	'+
				caminhoURLApplet+'/commons/componentes/certificacaoDigital/bcmail-jdk15-133.jar,	'+
				caminhoURLApplet+'/commons/componentes/certificacaoDigital/bcprov-jdk15-133.jar,	'+
				caminhoURLApplet+'/commons/componentes/certificacaoDigital/bctsp-jdk15-133.jar,	'+
				caminhoURLApplet+'/commons/componentes/certificacaoDigital/commons-logging.jar"	'+
				'MAYSCRIPT >	'+
				'<param name=servidorCarimboTempo value="SCT.TRF1.GOV.BR, SCT2.TRF1.GOV.BR">	'+
				'<param name=portaCarimboTempo value="318, 318">	'+
			'</applet>';
		jQuery("body").append(html);
		appletCriada=true;
		}
	tipoEntradaLogin=4;
	document.getElementById("divLoginSenhaEntrar").style.display="none";
	document.getElementById("divCertificacaoDigital").style.display="block";
	document.getElementById("voltarLoginSenhaEntrar").style.display="block";
	}
	else
		{
		tipoEntradaLogin=tipoEntradaLoginOriginal;
		document.getElementById("divLoginSenhaEntrar").style.display="block";
		document.getElementById("divConhecaSistema").style.display="block";
		document.getElementById("divCaptcha").style.display="none";
		document.getElementById("divBotaoCertificacaoDigital").style.display="block";
		document.getElementById("divTecladoVirtual").style.display="none";
		document.getElementById("divCertificacaoDigital").style.display="none";
		habilitarCampoSenha="";
		}

if (jQuery("#login").is(":visible"))
	jQuery("#login").focus();
}

