// JavaScript Document

// Variaveis Globais
var permissao	=	true;	// flag para verificar se função anterior acabou.
var func			=	0;		// controla qual função deve se feita depois da função loadXMLDoc(url)

/*==================================
FUNÇÃO QUE INICIA O PROCESSO DO AJAX
------------------------------------
Parâmetros:
url : qual a url que o objeto ira
			abrir	deve conter todas os
			parâmetros que a página irá
			receber.
		
f		:	qual função ira executar após
			a abertura do objeto xml.
			[ver funcao executaFuncao()]
==================================*/
function startAjax(url,f)
{
	if(permissao){
		permissao = false;
		mostraLoad();
		func = f;
		loadXMLDoc(url, true);
	}
}

function startAjaxN(url,f)
{
	if(permissao){
		permissao = false;
		mostraLoad();
		func = f;
		loadXMLDoc(url, false);
	}
}
/*=======================
FIM DA FUNÇÃO startAjax()
=======================*/


/*===========================================================
FUNÇÃO PARA CRIAR A ABRIR O OBJETO XMLHttpRequest
-------------------------------------------------------------
É chamada pela function startAjax();
-------------------------------------------------------------
Browsers testados:				firefox 1.5.0.3								Ok
													IE 6.0.2800.1106							Ok
===========================================================*/
function loadXMLDoc(url, async){
	// Código para Mozilla, etc.
	if (window.XMLHttpRequest){
		xmlhttp=new XMLHttpRequest();
		xmlhttp.onreadystatechange=executaFuncao;
		if(async){
			xmlhttp.open('GET',url,true);
		}else{
			xmlhttp.open('GET',url,false);
		}
		xmlhttp.send(null);
	}
	// Código para IE
	else if (window.ActiveXObject){
		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
		if (xmlhttp){
			xmlhttp.onreadystatechange=executaFuncao;
			if(async){
				xmlhttp.open('GET',url,true);
			}else{
				xmlhttp.open('GET',url,false);
			}
			xmlhttp.send();
		}
	}
}
/*========================
FIM DA FUNÇÃO loadXMLDoc()
========================*/


/*================================================================
FUNÇÃO QUE CHAMA A FUNÇÃO DESEJADA PARA A AÇÃO
------------------------------------------------------------------
É chamada pela function loadXMLDoc();
------------------------------------------------------------------
Browsers testados:				firefox 1.5.0.3								Ok
													IE 6.0.2800.1106							Ok
------------------------------------------------------------------
Verifica qual o valor da variável func e chama a função específica
================================================================*/
function executaFuncao(){
	if (func==1){
		geraPagina();
	}else if(func==2){
		chamaHome();
	}else if(func==3){
		validaLogin();
	}else if(func==4){
		servicoVerifica();
	}
}
/*===========================
FIM DA FUNÇÃO executaFuncao()		
===========================*/

/*==================================================================================
FUNÇÃO QUE ESCREVE O CONTEÚDO DA PÁGINA ABERTA PELO XMLHtmlRequest NA DIV 'conteudo'
------------------------------------------------------------------------------------
É chamada pela function executaFuncao();
------------------------------------------------------------------------------------
Browsers testados:			firefox 1.0.7										Ok
												IE 6.0.2900.2180								Ok
==================================================================================*/
function geraPagina(){
	var conteudo = document.getElementById('conteudo');
	if(xmlhttp.readyState==4){
		conteudo.innerHTML = xmlhttp.responseText;	
		escondeLoad();
		permissao = true;
	}
}
/*=========================
FIM DA FUNÇÃO geraPagina()
=========================*/

/*========================================================
FUNÇÃO QUE ABRE A URL 'capa.asp'
----------------------------------------------------------
É chamada na página 'default.asp'
----------------------------------------------------------
Browsers testados:			firefox 1.0.7										Ok
												IE 6.0.2900.2180								Ok
========================================================*/
function chamaHome(){
	if(xmlhttp.readyState==4){
		permissao = true;
		startAjax('capa.asp',1);
	}
}

/*============================================================================
FUNÇÕES DE CHAMADA
============================================================================*/
function capa(){
	startAjax('capa.asp',1);
}

function empresa(){
	startAjax('empresa.asp',1);
}

function parceria(){
	startAjax('parceria.html',1);
}

function produto(idProdutoGrupo){
	if(idProdutoGrupo==0){
		startAjax('produto.asp',1);
	}else{
		startAjax('produto.asp?idProdutoGrupo='+idProdutoGrupo,1);
	}
}

function portfolio(idPortfolioGrupo){
	if(idPortfolioGrupo==0){
		startAjax('portfolio.asp',1);
	}else{
		startAjax('portfolio.asp?idPortfolioGrupo='+idPortfolioGrupo,1);
	}
}

function fale(idMensagemAssunto){
	startAjax('fale.asp?idMensagemAssunto='+idMensagemAssunto,1);
}

function cliente(idCliente){
	if(idCliente==0){
		startAjax('cliente.asp',1);
	}else{
		startAjax('cliente.asp?idCliente='+idCliente,1);
	}
}

function servico(idServico){
	if(idServico==0){
		startAjax('servico.asp',1);
	}else{
		startAjax('servicoStatus.asp?idServico='+idServico,4);
	}
}

function servicoVerifica(){
	if(xmlhttp.readyState==4){
		var array		=	xmlhttp.responseText.split(',');
		var login		=	array[0];
		var destino = array[1];
		var acesso	=	array[2];
		var idServico	=	array[3];
		
		if((acesso == 1) || (login == 0)){
			window.location = destino;
		}else{
			permissao = true;
			startAjax('servico.asp?idServico='+trim(idServico),1);
		}
	}
}

function validaFrmLogin(idServico){
	var usuario	=	document.getElementById('usuario');
	var senha		=	document.getElementById('senha');
	var msgBox	=	document.getElementById('msgBox');
	
	if (usuario.value.length == 0){
		msgBox.innerHTML =  'Preencher o campo usuário.';
		msgBox.style.color = '#900000';
		usuario.focus();
		return false;
	}else if (senha.value.length == 0){
		msgBox.innerHTML =  'Preencher o campo senha.';
		msgBox.style.color = '#900000';
		senha.focus();
		return false;
	}else{
		msgBox.innerHTML = 'Aguarde...';
		msgBox.style.color = '#009000';
		startAjax('login.asp?usuario='+usuario.value+'&senha='+senha.value+'&idServico='+idServico, 3);
	}
}

function validaLogin(){
	var conteudo;
	var msgBox = document.getElementById('msgBox');
	var conteudo = document.getElementById('conteudo');
	var destino = document.getElementById('destino').value;
	msgBox.innerHTML = 'Verificando usuário e senha.';					/*Insere a mensagem de verificando caso demore aparece			*/
	msgBox.style.color = '#009000';															/*Altera a cor para verde																		*/
	if (xmlhttp.readyState==4) {
		//--[Lê as informações que retornaram da página ajaxLogin.asp
		conteudo = xmlhttp.responseText;
		if (conteudo == 1){																				/*Se a página não retornou o id do usuário									*/
			msgBox.innerHTML = 'Usuário ou senha incorretos.';			/*Insere a menssagem de erro na div com id msgBox						*/
			msgBox.style.color = '#900000';													/*Altera a cor para vermelho																*/
			document.getElementById('usuario').value	=	'';
			document.getElementById('senha').value		=	'';
			document.getElementById('usuario').focus();
		}else if(conteudo == 2){
			msgBox.innerHTML = 'Aguardando liberação do sistema!';	/*Insere a mensagem de ok na div														*/
			msgBox.style.color = '#009000';													/*Altera a cor para verde																		*/
		}else{																										/*Se a página retornou o id do usuário											*/
			msgBox.innerHTML = 'Login correto.';										/*Insere a mensagem de ok na div														*/
			msgBox.style.color = '#009000';													/*Altera a cor para verde																		*/
			window.location = destino;
		}
		permissao = true;
		escondeLoad();
	}
}
