/**
* FUNÇÃO DE PÓS TRATAMENTO DA TELA DE LOGIN
**/
function trataLogin() {
	/**
	* VERIFICA LOGIN
	* 1º -> Abrir Chamado Pelo E-Mail - idemail
	* 2º -> Autenticação Integrada - idAuth
	* 3º -> Login Normal
	**/
	if($F('idemail') != '' && !isForced)
		verificaLogin(false);
	else if($F('idAuth') == 'A')
		verificaLogin(true);
	else
		desabilitaForm(false);
}

/**
* FUNÇÃO QUE SUBMETE O LOGIN
**/
function submitLogin() {
	if($('idSolicitante'))
		executarLink('html/sys/syssolicitante/portal/portal.php');
	else
		executarLink('html/index.php');
}

//ROTINA DE DESABILITAR / HABILITAR FORMULÁRIO DE LOGIN
function desabilitaForm(idDisabled) {
	// DESABILITA O FORMULÁRIO
	for(i = 0; i < $('frmLogin').elements.length; i++) {
		var objFrm = $('frmLogin').elements[i];
		$(objFrm).disabled = idDisabled;
	}

	// SETA FOCO NO PRIMEIRO CAMPO
	if (!idDisabled)
	{
		try
		{
			$('cdusuario').focus();
		}
		catch(e)
		{}
	}
}

/**
* FUNÇÃO QUE REALIZA O LOGIN POR AJAX E CARREGA AS MENSAGENS DE ERRO SEM SUBMIT
* CASO O LOGIN OCORRA COM SUCESSO  - > SUBMIT NA PAGINA SENÃO CARREGA DIV COM MENSAGEM DE ERRO
* PARÂMETRO IDAUTH = REALIZA O LOGIN PARA A AUTENTICAÇÃO INTEGRADA COM O IIS
* PARAMETRO DE CONTROLE PARA O SOLICITANTE
**/
function verificaLogin(idAuth) {
	var url = 'framework/login/request/';

	if($('idSolicitante'))
		url += 'solicitante/';
	else
		url += 'atendente/';

	url += 'getLogin.php';

	if($F('idemail') != '')
		var flagPermit = true;
	else{
		if($F('cdusuario') != '' && $F('cdsenha') != '')
			var flagPermit = true;
		else
			var flagPermit = false;
	}

	if(flagPermit || idAuth) {
		// PARÂMETROS
		var pars = Form.serialize('frmLogin');
		new Ajax.Updater({success:'divErro'}, url, {parameters: pars, evalScripts: true});
	}else{
		// LIMPA A DIV DE ERRO
		$('divErro').innerHTML = !isEmpty(['cdusuario', 'cdsenha']) ? '<div class="MENSAGEM" style="width:100%;">' + QLabel[3] + '</div>' : '';
	}
}

/**
* FUNÇÃO DE CONTROLE DA SENHA
* É ACIONADA NA TELA DE ESQUECI SENHA
**/
function esqueciSenha() {
	if($F('esquecisenha') != '') {
		var url = 'framework/login/request/';

		if($('idSolicitante'))
			url += 'solicitante/';
		else
			url += 'atendente/';

		url += 'getSenha.php';

		var pars = Form.serialize('frmLogin');
		new Ajax.Request(url, {parameters: pars});
	}
}

/**
* FUNÇÃO DE CONTROLE DA LINGUA DO USUÁRIO
* TAMBÉM VERIFICA SE O USUÁRIO POSSUI MAIS DE UM REGISTRO PAI VINCULADO ENTÃO GERA UM COMBO
* É ACIONADA QUANDO O FOCO DO USUÁRIO OU E-MAIL É PERDIDO (onBlur)
**/
function buscaDados() {
	if(Form.findFirstElement('frmLogin') && Form.findFirstElement('frmLogin').value != '' && !isEmpty('cdusuario')) {
		var url = 'framework/login/request/';

		if($('idSolicitante'))
			url += 'solicitante/getContactInfo.php';
		else
			url += 'atendente/getUserInfo.php';

		// DESABILITA BOTÃO DE LOGAR
		$('btnLogin').disabled = true;

		var pars = Form.serialize('frmLogin');
		new Ajax.Request(url, {parameters: pars});
	}else{
		hideCombo();
	}
}

/**
* FUNÇÃO QUE MONTA O COMBO AUXILIAR (CLIENTE OU USUÁRIO)
**/
function getCombo() {
	var url = 'framework/login/request/';

	if($('idSolicitante'))
		url += 'solicitante/getCliente.php';
	else
		url += 'atendente/getEmpresa.php';

	var pars = Form.serialize('frmLogin');
	new Ajax.Request(url, {parameters: pars, onComplete: showCombo});
}

/**
* FUNÇÃO PARA MOSTRAR A LINHA DA TABELA CORRESPONDENTE AO COMBO
**/
function showCombo(objResponse) {
	if($F('idAuth') == 'A')
		var divName = 'divComboAuth';
	else
		var divName = 'divCombo';

	$(divName).innerHTML = objResponse.responseText;

	if(objResponse.ResponseText != '')
		$('trCombo').className = 'DIVSHOW';
}

/**
* Exibe as conexões LDAP disponíveis.
**/
function showConexoes()
{
	// Desabilita botão de logar.
	$('btnLogin').disabled = true;
	
	var url = 'framework/login/request/getConexao.php';
	var pars = 'idauthatendente=' + ($('idSolicitante') ? 'N' : 'Y');
	new Ajax.Updater({success:'divConexao'}, url, {parameters: pars, evalScripts: true});
}

/**
* FUNÇÃO PARA OCULTAR A LINHA DA TABELA CORRESPONDENTE AO COMBO
**/
function hideCombo() {
	$('trCombo').className = 'DIVHIDE';
	$('divCombo').innerHTML = '';
}

/**
* FUNÇÕES DE CONTROLE DA DIV DE ESQUECI A SENHA
**/
function mostraDivEsqueciSenha()
{
	showQWindow("divEsqueciSenha", {showDiv: true, name: "divLembreteSenha", title: arrayTranslate[4], width: 350, height: 80});
}

/**
* FUNÇÃO DE ABRIR CHAMADO
**/
function openChamado(cdChamado) {
	if($('idSolicitante'))
		executarLink('html/sys/syssolicitante/incident/incident.php?cdchamado=' + cdChamado, true);
	else
		executarLink('html/hd/hdchamado/cadastro_chamado.php?cdchamado=' + cdChamado, true);
}

/**
* FUNÇÃO DE ABRIR O DOCUMENTO DA BASE
**/
function openDocumento(cdDocumento) {
	executarLink(pathWeb + '/html/bc/bcdocumento/biblioteca/request/viewDocumento.php?cddocumento=' + cdDocumento + '&popup=true', true, true, true, 530);
}

/**
* FUNÇÃO QUE MARCA UMA LÍNGUA
**/
function defineLanguage(cdLingua) {
	// DESMARCA A LÍNGUA ANTERIOR
	if ($F('cdlingua') > 0 && $('imgLang' + $F('cdlingua'))) {
		$('imgLang' + $F('cdlingua')).style.borderColor = '#F6F6F6';
	}

	if (cdLingua) {
		// MARCA LINGUA ANTERIOR
		$('cdlingua').value = cdLingua;
		if ($('imgLang' + cdLingua)) {
			$('imgLang' + cdLingua).style.borderColor = '#495F9B';
		}
	}
	
	$j.ajax({
		type: "POST",
		url: pathWeb + '/html/sys/sysportal/request/getMensagensLingua.php',
		data: "cdlingua="+cdLingua,
		success: function(html){
			$j('#dsmensagemlogin').html(html);
		}
	});

}

/**
* FUNÇÕES DA DIV DE DEMO
**/
function exibeDivDemo() {
	intervaloDemo = window.setInterval('atualizaTempo();', 1000);
	var url = 'framework/login/splashDemo.php';
	var pars = 'idlingua=' + $F('idlingua');
	showQWindow(url, {name: 'splashDemo', title: arrayTranslate[2], width: 500, parameters: pars, close: false});
}

var intervaloDemo = null;
var tempoDemo = 9;

function atualizaTempo() {
	if(tempoDemo == 0) {
		clearInterval(intervaloDemo);
		submitLogin();
	}
	$('divDemoTempo').innerHTML = tempoDemo;
	tempoDemo--;
}

/**
* FUNÇÕES DA LICENCA
**/
function alterarLicenca() {
	var url = 'framework/login/request/processLicenca.php';
	var pars = 'idlingua=' + $F('idlingua');
	showQWindow(url, {name: 'divLicenca', title: arrayTranslate[3], width: 600, height: 155, parameters: pars});
}

function processLicenca() {
	// TESTA CAMPOS
	var strMsg = '';

	if(isEmpty('nmempresa'))
		strMsg += '<br/>- ' + arrayTranslate[0];
	if(isEmpty('dschave'))
		strMsg += '<br/>- ' + arrayTranslate[1];

	if(strMsg != '') {
		strMsg = QLabel[4] + strMsg;
		showQAlert(strMsg, {type: 'exclamation', width: 450});
		return;
	}

	// BLOQUEIA CAMPO DE PROCESSAR
	$('btnProcessLicenca').disabled = true;

	var url = 'framework/login/request/processLicenca.php';
	var pars = [
		'Acao=1',
		'nmempresa=' + codificarHTML($F('nmempresa')),
		'dschave=' + $F('dschave'),
		'idlingua=' + $F('idlingua')
	];
	new Ajax.Request(url, {parameters: pars.join('&')});
}

/**
* VERIFICA A CONFIGURAÇÃO CASE-SENSITIVE DO BANCO.
**/
function checkDB(){
	var url = 'framework/login/request/checkDB.php';
	var pars = 'idlingua=' + $F('idlingua');
	new Ajax.Request(url, {parameters: pars});
}

// AO CARREGAR O LOGIN
Event.observe(window, 'load', function(){
	//checkDB();
	trataLogin();
});