
function abrirUrl(p) {
	
	window.location.href = p;	
	
}


function AbrirPopup(p) {
	
	document.getElementById(p).style.visibility = '';	
	
}

function FecharPopup(p) {
	
	document.getElementById(p).style.visibility = 'hidden';	
	
}

function Numerico(e) {
	
	var t = e.keyCode ? e.keyCode: e.which ? e.which: e.charCode;
	
	if ( ( t > 47 && t < 58 ) || ( t == 37 ) || ( t == 39 ) || ( t == 8 ) || ( t == 9 ) ) {
		
		return true;
		
	} else {
		
		return false;	
		
	}
	
}

function LimparElementos(obj){

	var ind = 0;
	
	if ( (arguments.length > 0) && arguments[1] ) {
	
		ind = arguments[1];
	
	}
	
	while (obj.childNodes.length > ind){
		//remove o primeiro no dos resultados antigos
		obj.removeChild(obj.childNodes[obj.childNodes.length-1]);

	}
	
	
		
}

function GrifaLinha(pLinha, cor) {
	
	if ( !cor ) {

		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.backgroundColor='#FFFF99';}
		
	} else {
		
		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.backgroundColor=cor;}

	}
	
}

function DesgrifaLinha(pLinha, cor) {
	
	if (!cor) {
		
		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.backgroundColor='#FFFFFF';}
		
	} else {
		
		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.backgroundColor='';}
		
	}
	
}

function Sublinhar(pLinha, cor) {
	
	if ( !cor ) {

		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.textDecoration='underline';}
		
	} else {
		
		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.backgroundColor=cor;}

	}
	
}

function nSublinhar(pLinha, cor) {
	
	if (!cor) {
		
		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.textDecoration='';}
		
	} else {
		
		if(pLinha!=ultimaLinhaSelecionada){pLinha.style.backgroundColor='';}
		
	}
	
}

var ultimaLinhaSelecionada=null;

function selecionaLinha(pLinha)	{

	
	if(pLinha!=ultimaLinhaSelecionada) {
	
		pLinha.style.backgroundColor='#CCCCCC';	
		
		if(ultimaLinhaSelecionada!=null) {
		
			ultimaLinhaSelecionada.style.backgroundColor='#FFFFFF';
					
		}
					
		ultimaLinhaSelecionada=pLinha;
		
	}

//Fim da função para colorir a linha selecionada.
}

function gE(tI) { // Esta funcao paga o elemento pelo ID

  if (document.getElementById) { return document.getElementById(tI); }

  else if (document.all) { return document.all[tI]; } else return false;

}

// Funçao para iniciarmos o Ajax no browser do cliente.

function openAjax() {



		var ajax;

		

		try{

			ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.

		}catch(ee){

			try{

				ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS

			}catch(e){

				try{

					ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS

				}catch(E){

					ajax = false;

				}

			}

		}

		return ajax;

}



var arFilaAJX = new Array();

var iArFilaAJX = 0;



/*Funcao execAJAX reduzida para criar a fila*/

function execAJAX(url,acao) {

			

			arFilaAJX[iArFilaAJX] = arguments;

			//Se não há conexões pendentes, executa

			if( (iArFilaAJX+1)==arFilaAJX.length)execAJAXUnico()

	

/*			alert("iArFilaAJX: "+ iArFilaAJX)

			alert(arFilaAJX.length)*/

} 



function execAJAXUnico(){

			posAr 	= arFilaAJX[iArFilaAJX]

			url 	= posAr[0]

			acao	= posAr[1]



			url += "&d=" + new Date().getTime();

			

			var ajax = openAjax(); // Inicia o Ajax.

			ajax.open("GET", url, true); // Envia a página que realizará a consulta propriamente dita

			/* verifica se o terceiro argumento [2] existe e é uma funçao. */

			if ( (posAr.length > 2) && (posAr[2]) && (typeof(posAr[2]) == 'function') ){

				var func = posAr[2];

				

				if (posAr[3]){

					var obj = posAr[3];

				}

			}

			





			ajax.onreadystatechange = function() {

				if(ajax.readyState == 1) { // Quando estiver carregando, exibe uma camada: Carregando...

					gE('divCarreg').style.visibility = "visible";

				}

				if(ajax.readyState == 4) { // Quando estiver tudo pronto.

					

					if(ajax.status == 200) {

						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).

						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)

						resultado = unescape(resultado); // Resolve o problema dos acentos

						gE('divCarreg').style.visibility = "hidden"; //Oculta o "Carregando..."

						if (func){

							if (obj){

								eval('func(resultado,obj)')

							} else {

								eval('func(resultado)');

							}

							

						} else {

							

							retornaAJAX(resultado,acao); // Manda o resultado para uma funç?o de retorno.

						}

						

						//Roda o próximo

						iArFilaAJX++

						if(iArFilaAJX<arFilaAJX.length)setTimeout("execAJAXUnico()",20);



					} else {

						

						gE('divCarreg').innerHTML = "Erro no AJAX.";

						alert("Ocorreu um erro no AJAX ("+ ajax.statusText + ")"); //Caso ocorram erros, exibe um aviso.

						gE('divCarreg').style.visibility = "hidden"; //Oculta o "Carregando..."

					}

				}

			} 

			ajax.send(null); // submete

}



function execAJAXPOST(url,acao) {

			/* verifica se o terceiro argumento [2] existe e é uma funçao. */

			if ( (arguments.length > 2) && (arguments[2]) && (typeof(arguments[2]) == 'function') ){

				var func = arguments[2];

				var prms = arguments[3];

			}

			var ajax = openAjax(); // Inicia o Ajax.

			ajax.open("POST", url, true); // Envia a página que realizará a consulta propriamente dita

			

			ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

	       	ajax.setRequestHeader("Content-length", prms.length);

    	   	ajax.setRequestHeader("Connection", "close");

				

			ajax.onreadystatechange = function() {

				if(ajax.readyState == 1) { // Quando estiver carregando, exibe uma camada: Carregando...

					gE('divCarreg').style.visibility = "visible";

				}

				if(ajax.readyState == 4) { // Quando estiver tudo pronto.

					

					if(ajax.status == 200) {

						var resultado = ajax.responseText; // Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).

						resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)

						resultado = unescape(resultado); // Resolve o problema dos acentos

						gE('divCarreg').style.visibility = "hidden"; //Oculta o "Carregando..."

						if (func){



							eval('func(resultado)');

							

						} else {

							

							retornaAJAX(resultado,acao); // Manda o resultado para uma funç?o de retorno.

						}

					} else {

						

						gE('divCarreg').innerHTML = "Erro no AJAX.";

						alert("Ocorreu um erro no AJAX ("+ ajax.statusText + ")"); //Caso ocorram erros, exibe um aviso.

						gE('divCarreg').style.visibility = "hidden"; //Oculta o "Carregando..."

					}

				}

			} 



			ajax.send(prms); // submete

}



function pegaVal(prm){

	

	return preparaVal(gE(prm).value);

}



function pegaValTinyMCE(prm){

	return preparaVal(tinyMCE.get(prm).getContent());

}



function preparaVal(prm){

	var content = prm.replace(/\+/g, "&#43");

	content = content.replace(/\\/g, "&#92");

	content = escape(content);

	return content;

}

function validarCPF(prm) {
	
				var CPF = prm; // Recebe o valor digitado no campo

				// Aqui começa a checagem do CPF
				var POSICAO, I, SOMA, DV, DV_INFORMADO;
				var DIGITO = new Array(10);
				DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado
				
				// Desemembra o número do CPF na array DIGITO
				for (I=0; I<=8; I++) {
				  DIGITO[I] = CPF.substr( I, 1);
				}
				
				// Calcula o valor do 10º dígito da verificação
				POSICAO = 10;
				SOMA = 0;
				   for (I=0; I<=8; I++) {
					  SOMA = SOMA + DIGITO[I] * POSICAO;
					  POSICAO = POSICAO - 1;
				   }
				DIGITO[9] = SOMA % 11;
				   if (DIGITO[9] < 2) {
						DIGITO[9] = 0;
				}
				   else{
					   DIGITO[9] = 11 - DIGITO[9];
				}
				
				// Calcula o valor do 11º dígito da verificação
				POSICAO = 11;
				SOMA = 0;
				   for (I=0; I<=9; I++) {
					  SOMA = SOMA + DIGITO[I] * POSICAO;
					  POSICAO = POSICAO - 1;
				   }
				DIGITO[10] = SOMA % 11;
				   if (DIGITO[10] < 2) {
						DIGITO[10] = 0;
				   }
				   else {
						DIGITO[10] = 11 - DIGITO[10];
				   }
				
				// Verifica se os valores dos dígitos verificadores conferem
				DV = DIGITO[9] * 10 + DIGITO[10];
				   if (DV != DV_INFORMADO) {
					  alert('O CPF informado é inválido.');
					  document.getElementById("txtCPF").focus();
					  return false;
				   } 
				   
				return true;
	
}

/*

document.write("<div id=\"divCarreg\"  " + 

			   "style=\"position:absolute;right:5px;top:5px;width:87px; " + 

			   "height:23px;z-index:1; " + 

			   "font-family: Arial, Helvetica, sans-serif;font-size: 12px; " + 

			   "font-weight: bold;color: #FFFFFF;background-color: #CC3300; " + 

			   "visibility: hidden;text-align:center;vertical-align:middle; " + 

			   "\" >Carregando...</div>")

*/

