//===> VARIAVEIS GLOBAIS DO SITE
var corErro = "#FFE0E0";
var corAcerto = "";
var pgLargura = 0;
var pgAltura = 0;
var winAltura = 0;
var lLayer = 0;
var tLayer = 0;
var posicaoRolagem = 0;
var nivelOpacidade = 0;
var campoFoco = "";
var htmlCarregando = "<div style='position:relative; left:40%; width:150px; height:50px;'><div style='position:relative; width:100px; left:25%; height:16px; top: 15px'><img src='../images/ajaxloading1.gif' width='16' height='16' align='absmiddle' style='margin-right:10px'><span class='txt10'>Aguarde!</span></div></div>";

function enviaFoco(){
	document.getElementById(campoFoco).focus()	
}

//===> CARREGANDO AS MEDIDAS DA PAGINA
function carregaMedidas(divLargura, divAltura){
	if(document.all){
		//===> IE
		pgLargura = screen.width;
		pgAltura = document.body.scrollHeight
	}else{ 
		//===> FF
		pgLargura = document.width;
		pgAltura = document.height
	}
	winAltura = document.documentElement.clientHeight;
	posicaoRolagem = document.documentElement.scrollTop;
	lLayer = (pgLargura / 2) - (divLargura / 2);
	tLayer = (posicaoRolagem * 1) + 50;
}

//===> CLASSE AJAX
function classeAjax(metodoPg, nomeFuncao, urlDestino){
	var nomeFuncao = nomeFuncao;
	var pesquisando = false;
	var httpObj = getHTTPObject();
	var xmlhttp;
	var valorFuncao;
	var urlAjax;
	var divAjax;
	var carregandoAjax = 0;
	var lightboxAjax = 0;
	var larguraAjax = 0;
	var alturaAjax = 0;
	var centralizarAjax = 0;
	var topAjax = 0;
	var leftAjax = 0;
	var positionAjax = 0;
	var novadivAjax;
	var largura = screen.width;
	var altura = screen.height;

	if(metodoPg == "get")
		carregaAjax(urlDestino)
	else
		formularioAjax(metodoPg, urlDestino)

	//===> RECEITA DE BOLO
	function getHTTPObject(){
		/*@cc_on
		@if(@_jscript_version >= 5)
		try {xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")} catch (e) {try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (E) {xmlhttp=false;}}
		@else
		xmlhttp = false;
		@end @*/
		if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){try {xmlhttp=new XMLHttpRequest();}catch(e){xmlhttp=false;}}
		return xmlhttp;
		//try {xmlhttp=new XMLHttpRequest();} catch (e) {xmlhttp=false;}
		//return xmlhttp;
	}
	
	//===> FUNÇÃO PARA CARREGAR A PÁGINA EM UMA DIV
	function carregaAjax(valorAglomerado){
		//===> CAPTURANDO O VALOR DA FUNCAO
		var partes = valorAglomerado.split(",");
		
		//===> VARIAVEIS PARA CAPTURAR A PRIMEIRA PARTE DOS DADOS
		var esquerda = partes[0];
		var inicio = 0;
		var percorrer = 0;
		var posCaracter = 0;
		var larguraCampo = esquerda.length;
		
		//===> CAPTURANDO A URL
		posCaracter = esquerda.indexOf("|");
		percorrer = posCaracter;
		urlAjax = esquerda.substr(inicio, percorrer);
		//===> CAPTURANDO O NOME DA DIV
		inicio = posCaracter + 1;
		posCaracter = esquerda.indexOf("!");
		percorrer = posCaracter - inicio;
		divAjax = esquerda.substr(inicio, percorrer);
		//===> CAPTURANDO O CARREGANDO
		inicio = posCaracter + 1;
		posCaracter = esquerda.indexOf("$");
		percorrer = posCaracter - inicio;
		carregandoAjax = esquerda.substr(inicio, percorrer);
		//===> CAPTURANDO O LIGHTBOX
		inicio = posCaracter + 1;
		posCaracter = esquerda.indexOf("*");
		percorrer = posCaracter - inicio;
		lightboxAjax = esquerda.substr(inicio, percorrer);
		//===> CAPTURANDO A LARGURA
		inicio = posCaracter + 1;
		percorrer = larguraCampo - inicio;
		larguraAjax = esquerda.substr(inicio, percorrer);
		
		//===> VARIAVEIS PARA CAPTURAR A SEGUNDA PARTE DOS DADOS
		var direita = partes[1];
		var inicio = 0;
		var percorrer = 0;
		var posCaracter = 0;
		var larguraCampo = direita.length;
		
		//===> CAPTURANDO A ALTURA
		posCaracter = direita.indexOf("<");
		percorrer = posCaracter;
		alturaAjax = direita.substr(inicio, percorrer);
		//===> CAPTURANDO O CENTRALIZAR
		inicio = posCaracter + 1;
		posCaracter = direita.indexOf(">");
		percorrer = posCaracter - inicio;
		centralizarAjax = direita.substr(inicio, percorrer);
		//===> CAPTURANDO O TOP
		inicio = posCaracter + 1;
		posCaracter = direita.indexOf("^");
		percorrer = posCaracter - inicio;
		topAjax = direita.substr(inicio, percorrer);
		//===> CAPTURANDO O LEFT
		inicio = posCaracter + 1;
		posCaracter = direita.indexOf("~");
		percorrer = posCaracter - inicio;
		leftAjax = direita.substr(inicio, percorrer);
		//===> CAPTURANDO O POSITION
		inicio = posCaracter + 1;
		posCaracter = direita.indexOf("-");
		percorrer = posCaracter - inicio;
		positionAjax = direita.substr(inicio, percorrer);
		//===> CAPTURANDO O NOME DA NOVA DIV
		inicio = posCaracter + 1;
		percorrer = larguraCampo - inicio;
		novadivAjax = direita.substr(inicio, percorrer);
	
		//===> VERIFICANDO SE A FUNÇÃO LIGHTBOX DEVE SER CHAMADA
		if(lightboxAjax == 1)
			funcaoLgBox(1)
		if(!pesquisando && httpObj){
			carregaMedidas(250, 150);
			if(carregandoAjax == 1){
				if(novadivAjax.length == 0 && lightboxAjax == 0)
					document.getElementById(divAjax).innerHTML = htmlCarregando;
				else{
					document.getElementById("carregando").style.top = tLayer + "px";
					document.getElementById("carregando").style.left = lLayer + "px";
					document.getElementById("carregando").style.visibility = "visible"
				}
			}
			httpObj.open ("get", urlAjax, true);
			httpObj.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=iso-8859-1");
			httpObj.onreadystatechange = exibeNoDiv;
			httpObj.send(null);
		}
		return false;
	}
	
	//===> ENVIANDO OS DADOS DO FORM POR POST
	function formularioAjax(nomeForm, urlDestino){
		//===> VERIFICANDO O TIPO 
		var enctypeForm = nomeForm.indexOf(":file");
		//===> ENVIA O TIPO DE EMPRESA PELA URL
		methodAjax = (nomeForm == "post") ? "get" : "post";
		xmlhttp.open(methodAjax, urlDestino, true)
		if(enctypeForm == -1)
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		else{
			xmlhttp.setRequestHeader("Content-Type", "multipart/form-data; charset=UTF-8");
			nomeForm = nomeForm.substr(0, enctypeForm)
		}
		xmlhttp.onreadystatechange = function(){
			if(xmlhttp.readyState == 4){
				eval(nomeFuncao + "('" + xmlhttp.responseText + "')");
			}
		}
		if(nomeForm != "post"){
			//===> CAPTURANDO E CONCATENANDO OS CAMPOS DO FORM
			var camposForm = document.forms[nomeForm];
			var stringForm = "", adicionaString = true;
			for(i = 0; i < camposForm.length; i++){
				if(camposForm[i].type == "radio" || camposForm[i].type == "checkbox")
					adicionaString = camposForm[i].checked
				else
					adicionaString = true
				if(adicionaString)
					stringForm += camposForm[i].name + "=" + escape(camposForm[i].value) + "&"
			}
		}
		xmlhttp.send(stringForm)
	}
	
	//===> FUNÇÃO CHAMADA AO CARREGAR A PÁGINA (MODO GET)
	function exibeNoDiv(){ 
		if(httpObj.readyState == 4){
			if(httpObj.status == 200){
				if(httpObj.responseText.indexOf("invalid") == -1){
					//===> VERIFICANDO SE A DIV INFORMADA EXISTE
					var selects = document.getElementsByTagName("div");
					var divEncontrada = 0;
					for(i = 0; i < selects.length; i++){
						var resultado = selects[i];
						if(resultado.getAttribute('id') == divAjax)
							divEncontrada = 1
					}
					
					//===> CRIANDO A DIV
					if(divEncontrada == 0){
						var novaDiv = document.createElement("div");
						novaDiv.id = divAjax;
						novaDiv.style.overflow = "auto";
						var zindexDiv = document.getElementById("esconde").style.zIndex + 1;
						novaDiv.style.zIndex = zindexDiv;
						//Modificações aqui by Felipe Magalhães - 19/09/2007 16:38
						if((document.getElementById(novadivAjax) !=null))
							document.getElementById(novadivAjax).appendChild(novaDiv);
					}
					//===> VERIFICANDO SE A PROPRIEDADE POSITION NÃO SERÁ DEFINIDA (0), SE SERÁ RELATIVE (1) OU ABSOLUTE (2)
					if(positionAjax == 1)
						document.getElementById(divAjax).style.position = "relative";
					else if(positionAjax == 2)
						document.getElementById(divAjax).style.position = "absolute";
	
					//===> POSICIONANDO A DIV (1= centro, 2= a esquerda e 3= a direita)
					if(centralizarAjax == 1){
						carregaMedidas(larguraAjax, alturaAjax);
						document.getElementById(divAjax).style.top = tLayer + "px";
						document.getElementById(divAjax).style.left = lLayer + "px";
					}
					else if(centralizarAjax == 2){
						//===> POSICIONANDO A ESQUERDA
						document.getElementById(divAjax).style.top = "0px";
						document.getElementById(divAjax).style.left = "0px";
					}else if(centralizarAjax == 3){
						//===> POSICIONANDO A DIREITA
						document.getElementById(divAjax).style.top = "0px";
						var ldiv = pgLargura - larguraAjax;
						document.getElementById(divAjax).style.left = (ldiv - 25) + "px";
					}
					if(larguraAjax != 0 && document.getElementById(divAjax)!=null)
						//===> ALTERANDO AS DIMENSÕES DA DIV (SE NECESSÁRIO)
						document.getElementById(divAjax).style.width = larguraAjax
					if(alturaAjax != 0 && document.getElementById(divAjax)!=null)
						//===> ALTERANDO AS DIMENSÕES DA DIV (SE NECESSÁRIO)
						document.getElementById(divAjax).style.height = alturaAjax
					if((topAjax != 0 || leftAjax != 0) && centralizarAjax == 0){
						//===> ALTERANDO O POSICIONAMENTO DA DIV
						document.getElementById(divAjax).style.top = topAjax;
						document.getElementById(divAjax).style.left = leftAjax
					}
					if(carregandoAjax == 1)
						//===> EXIBINDO O CARREGANDO
						document.getElementById("carregando").style.visibility = "hidden";
					//===> JOGANDO O CONTEUDO HTML NA DIV
					if(document.getElementById(divAjax)!=null){
						document.getElementById(divAjax).style.visibility = "visible";
						document.getElementById(divAjax).innerHTML = httpObj.responseText;
					}
					//document.getElementById(divAjax).style.height = "";
					pesquisando = false;
					if(nomeFuncao != "")
						eval(nomeFuncao + "()");
				}
			}
		}
		pesquisando = false;
	}
}

//===> LIMPAR A DIV
function limpaDiv(nomeDiv, destravaPg)
{ 
	document.getElementById(nomeDiv).innerHTML = "";
	document.getElementById(nomeDiv).style.width = "0px";
	document.getElementById(nomeDiv).style.height = "0px";
	document.getElementById(nomeDiv).style.visibility = "hidden";
	if(destravaPg == 1){
		var divEsconde = document.getElementById("esconde");
		divEsconde.style.width = "0px";
		divEsconde.style.height = "0px";
		funcaoLgBox(0);
	}
}

//===> CRIANDO UM EFEITO ESTILO LIGHTBOX
function funcaoLgBox(acao){
	carregaMedidas(0, 0);
	var divEsconde = document.getElementById("esconde");
	if(acao == 1){
		//document.body.style.overflowY = "hidden";
		divEsconde.style.width = "100%";
		var lgboxAltura = ((pgAltura * 1) > (winAltura * 1)) ? pgAltura : winAltura;
		divEsconde.style.height = lgboxAltura + "px";
		nivelOpacidade = 1;
		alteraSelects("esconde");
	}else{
		//document.body.style.overflowY = "auto"
		nivelOpacidade = 8;
		alteraSelects("mostra");
	}
	if(document.all)
		eval("document.getElementById('esconde').style.filter = 'Alpha(Opacity=" + nivelOpacidade + "0)'");
	else
		eval("document.getElementById('esconde').style.opacity = '0." + nivelOpacidade + "'");
	alteraOpacidade = setInterval("executaLgBox(" + acao + ")", 5);
}

function executaLgBox(acao){
	document.getElementById("esconde").style.visibility = "visible";
	if(document.all){
		var nivelOpacidade = document.getElementById("esconde").style.filter;
		nivelOpacidade = nivelOpacidade.substr(14, 1) * 1
	}else{
		var nivelOpacidade = document.getElementById("esconde").style.opacity;
		nivelOpacidade = nivelOpacidade.replace(".", "") * 1
	}
	if(acao == 1){
		if(nivelOpacidade < 8){
			nivelOpacidade += 2;
			document.getElementById("esconde").style.filter = "Alpha(Opacity=" + nivelOpacidade + "0)";
			document.getElementById("esconde").style.opacity = "0." + nivelOpacidade
		}else
			clearInterval(alteraOpacidade);
	}else{
		if(nivelOpacidade > 0){
			nivelOpacidade -= 2;
			document.getElementById("esconde").style.filter = "Alpha(Opacity=" + nivelOpacidade + "0)";
			document.getElementById("esconde").style.opacity = "0." + nivelOpacidade
		}else{
			clearInterval(alteraOpacidade);
			document.getElementById("esconde").style.visibility = "hidden";
		}
	}
}

//===> EXIBIR O CARREGANDO PARA FUNCOES SIMPLES
function exibeCarregando(tipoAcao){
	if(tipoAcao == 1){
		carregaMedidas();
		document.getElementById("carregando").style.top = tLayer + "px";
		document.getElementById("carregando").style.left = lLayer + "px";
		document.getElementById("carregando").style.visibility = "visible"
	}else
		document.getElementById("carregando").style.visibility = "hidden";
}

//===> EXIBINDO/ESCONDENDO AS SELECTS
function alteraSelects(acaoSelect){
	var selects = document.getElementsByTagName("select");
	for(i = 0; i < selects.length; i++){
		var statusSelect = (acaoSelect == "esconde") ? "hidden" : "visible";
		document.getElementById(selects[i].getAttribute("id")).style.visibility = statusSelect;
	}
}
