//===================================================================================
function cpf(cpf){	// sustr - começa a contar do zero.
		if (cpf.length < 14)
			return false;	
		if (!isNumeric(cpf.substr(0,3)))
			return false;		
		if (cpf.substr(3,1)!=".")
			return false;		
		if (!isNumeric(cpf.substr(4,3)))
			return false;
		if (cpf.substr(7,1)!=".")
			return false;		
		if (!isNumeric(cpf.substr(8,3)))
			return false;	
		if (cpf.substr(11,1)!="-")
			return false;				
		if (!isNumeric(cpf.substr(12,2)))
			return false;			
		
		return true;		
}

//===================================================================================




//===================================================================================
function isNumeric(ptexto) {
    var numeric = true;
    for (i=0; i < ptexto.length; i++) {
        if (!isDigit(ptexto.charAt(i)) ) {
            numeric = false;
            break;
        }
    }
    return numeric;
}

//===================================================================================
function isNumericInt(campo) {

	var t = 0;
	for(cont=0;cont<campo.length;cont++)
	{
		if(campo.charAt(cont) != "0" && campo.charAt(cont) != "1" && campo.charAt(cont) != "2" && campo.charAt(cont) != "3" && campo.charAt(cont) != "4" && campo.charAt(cont) != "5" && campo.charAt(cont) != "6" && campo.charAt(cont) != "7" && campo.charAt(cont) != "8" && campo.charAt(cont) != "9")
			{
			return (false);
			}
	}
	return (true);
}



//===================================================================================
function isDigit(pchar) {
    return ("0123456789,.".indexOf(pchar)>=0);
}

//===================================================================================
function isEmail(mail) {
	var ponto = 0;
	var arroba = 0;
	var letraAntes = 0;
	var letraDepois = 2;
	var i = 0;
	var l = mail.length;
	var ch = 0;
	if (l < 10)	return (false);
	for (i = 0; i < l; i++) {
		ch = mail.charCodeAt(i);
		if (ch == 46) {
			if (arroba > 0)	ponto += 1;
		} else {
			if (ch == 64) {
				arroba += 1;
			} else {
				if (((ch >= 65) && (ch <= 90)) || ((ch >= 97) && (ch <= 122))) {
					if (arroba > 0)
						letraDepois += 1;
					else
						letraAntes += 1;
				} else {
					if ((ch != 45) && (ch != 95)) {
						if ((ch < 48) || (ch > 57)) {
							return (false);
						}
					}
				}
			}
		}
	}
	if ((arroba == 1) && (ponto > 0) && (letraAntes > 1) && (letraDepois > 5)) {
		return (true);
	} else {
		return (false);
	}
}

//===================================================================================
function isCPF (CPF) {

   var number, soma, i, ok;

	ok = false;
	number = trim(CPF);
	soma = 0;
	
	if (number == '') {
	   return true;
	}
	
	if (number.length == 11) { //typenumber == 0) {            // CPF
		if(number.length == 11) {
			for (i=0; i < 9; i++)   //Cálculo do primeiro dígito
				soma += (10 - i) * (number.charAt(i) - '0');
			soma = 11 - (soma % 11);
			if (soma > 9) soma = 0;
			if (soma == (number.charAt(9) - '0')) {
				soma = 0;
				for (i=0; i < 10; i++)   //Cálculo do segundo dígito
					soma += (11 - i) * (number.charAt(i) - '0');
				soma = 11 - (soma % 11);
				if (soma > 9) soma = 0;
				if (soma == (number.charAt(10) - '0')) {
					ok = true;
				}
			}
		}
	}
	return ok;
}

//===================================================================================
function isCNPJ (CNPJ) {

   var number, soma, i, ok;

	ok = false;
	number = trim(CNPJ);
	soma = 0;	
	
	if (number.length == 14) { //typenumber == 1) {            // CNPJ
		if(number.length == 14) {
			for (i=0, j = 5; i < 12; i++) {
				soma += j-- * (number.charAt(i) - '0');
				if (j < 2) j = 9;
			}
			soma = 11 - (soma % 11);
			if (soma > 9) soma = 0;
			if (soma == (number.charAt(12) - '0')) {
				soma = 0;
				for (i=0, j = 6; i < 13; i++) {
					soma += j-- * (number.charAt(i) - '0');
					if (j < 2) j = 9;
				}
				soma = 11 - (soma % 11);
				if (soma > 9) soma = 0;
				if (soma == (number.charAt(13) - '0')) {
					ok = true;
				}
			}
		}
	}
	return ok;
}

//===================================================================================
function isDate(campo) {
	if (campo != ""){
		if(campo.charAt(2) != "/" || campo.charAt(5) != "/" || campo.length != 10){
			return(false);
		}
		for(i=0;i<10;i++){
			if(i != 2 && i != 5){
				if(campo.charAt(i) != 0 && campo.charAt(i) != 1 && campo.charAt(i) != 2 && campo.charAt(i) != 3 && campo.charAt(i) != 4 && campo.charAt(i) != 5 && campo.charAt(i) != 6 && campo.charAt(i) != 7 && campo.charAt(i) != 8 && campo.charAt(i) != 9 || campo.charAt(i) == " "){
					return(false);
				}
			}
		}
		var Dia = 0;
		var Mes = 0;
		var Ano = 0;
		var Resto = 0;
		Dia = campo.substring(0,2);
		Mes = campo.substring(3,5);
		Ano = campo.substring(6,10);
		if (Ano < 1900) {
			return(false);
		}
		if ((Mes < 1) || (Mes > 12)) {
			return(false);
		}
		if ((Dia < 1) || (Dia > 31)) {
			return(false);
		}
		if ((Mes == "01") && (Dia <= 31)) {
			return(true);
		}
		if (Mes == "02") {
			Resto = Ano % 4;
			if ((Resto == 0) && (Dia <= 29)) {
				return(true);
			}
			if ((Resto != 0) && (Dia <= 28)) {
				return(true);
			}
		}
		if ((Mes == "03") && (Dia <= 31)) {
			return(true);
		}
		if ((Mes == "04") && (Dia <= 30)) {
			return(true);
		}
		if ((Mes == "05") && (Dia <= 31)) {
			return(true);
		}
		if ((Mes == "06") && (Dia <= 30)) {
			return(true);
		}
		if ((Mes == "07") && (Dia <= 31)) {
			return(true);
		}
		if ((Mes == "08") && (Dia <= 31)) {
			return(true);
		}
		if ((Mes == "09") && (Dia <= 30)) {
			return(true);
		}
		if ((Mes == "10") && (Dia <= 31)) {
			return(true);
		}
		if ((Mes == "11") && (Dia <= 30)) {
			return(true);
		}
		if ((Mes == "12") && (Dia <= 31)) {
			return(true);
		}
		return(false);
	}
}
//===================================================================================
function ltrim(ptexto) {
    var i = 0;
    while (i<ptexto.length && (ptexto.charAt(i)== " " || ptexto.charAt(i)=="'")) {
        i++;
    }
    return (ptexto.substring(i,ptexto.length));
}
//=================================================================================== 
function rtrim(ptexto) {
    var i = ptexto.length-1;
    while (i>0 && (ptexto.charAt(i) == " " || ptexto.charAt(i)=="'")) {
        i--;
    }
    return (ptexto.substring(0,i+1));
}
//===================================================================================    
function formataMoeda(objValor){
	
	var intValor;
	
	if (typeof(objValor) == 'object')
		intValor = objValor.value;
	else
		intValor = objValor + '';
		
		
	var centavo;

	var arrTemp = intValor.split('.');

	var retorno = '';

	if (trim(arrTemp[0]) != '')
		if (typeof(arrTemp[1]) != 'undefined'){
			centavo = arrTemp[1].substr(0,2)
			
			if (centavo.length < 2){
				centavo = centavo * 10;
			}
				
			if (eval(arrTemp[1].substr(2,1))>=5)
				centavo++;
			
			if (isNaN(centavo) || centavo == 0 || centavo == ''){
				retorno = arrTemp[0] + '.' + '00';
			}else{
				retorno = arrTemp[0] + '.' + centavo;
			}
		}else{
			retorno = arrTemp[0] + '.' + '00';
		}
	
	if (typeof(objValor) == 'object')
		objValor.value = retorno
	else
		return retorno; 
}

//===================================================================================    
function trim(ptexto) {
    return ltrim(rtrim(ptexto));
}

//===================================================================================    

function  isMoney(vTexto){
	valTeste = 3/2;
	strTeste = valTeste.toString();
	sepDec = strTeste.substring(1,2);
	var csDec = inStr(vTexto,sepDec);
	if (!csDec>0 || csDec+2!=vTexto.length)return false;
	if (inStr(vTexto,"+")>0 || inStr(vTexto,"-")>0)return false;
	if (isNaN(vTexto.substr(0,csDec-1)) || isNaN(vTexto.substr(csDec,2))) return false;
	return true;
}

function inStr(vString,vString2){
	if (vString.length>0 && vString2.length>0){
		for(i=0;i<vString.length;i++){
			if (vString.substr(i,vString2.length)==vString2)return i+1;
		}
		return 0;
	}
	else return 0;
}

//===================================================================================   

// Função para contagem de caracteres em campo TEXTAREA 

function limita (campo, tamanhomaximo)
{
	var tamanho = (campo.value.length);
	var tex = campo.value;
	if (tamanho >= tamanhomaximo) 
	{
		campo.value=tex.substring(0,tamanhomaximo-1); 
	}
		return true;
}
	
function contacampo(campoIN, campoOUT, tamanhomaximo) 
{
	var campoIN = campoIN;
	var campoOUT = campoOUT;	
	campoOUT.value = tamanhomaximo - campoIN.value.length;
	
}			

//===================================================================================   

// Função para contagem de caracteres em campo TEXTAREA 
// Modo de Usar:

// Campo de Entrada
// <textarea name="nometextarea" rows="8" cols="70" WRAP 
// onKeyPress="javascript:limita(document.nomeformulario.nometextarea, 1500);"
// onKeyUp="javascript:contacampo(document.nomeformulario.nometextarea, 
// document.nomeformulario.tamanho, 1500)"> </textarea>

// Campo de Saída - Mostra a quantidade atual de caracteres
// <input type="text" name="tamanho" size="4" value="1500" READONLY 
// onKeyUp="javascript:contacampo(document.respcotacao.RES_DSCPROD, 
// document.respcotacao.tamanho, 1500);" style="font-size:Verdana; border-color: 
// #000000; border-style: double; border-width: 0px; background-color: #FFFFFF">

function limita (campo, tamanhomaximo)
{
	var tamanho = (campo.value.length);
	var tex = campo.value;
	if (tamanho >= tamanhomaximo) 
	{
		campo.value=tex.substring(0,tamanhomaximo-1); 
	}
		return true;
}
	
function contacampo(campoIN, campoOUT, tamanhomaximo) 
{
	var campoIN = campoIN;
	var campoOUT = campoOUT;	
	campoOUT.value = tamanhomaximo - campoIN.value.length;
	
}			

//=================================================================================== 
function popup(pagina,nome,altura,largura,top,left,scrolll,toolbar,location,menu,resize) 
{
	var janela;
	var top2 = (screen.height - altura) / 2;
	var left2 = (screen.width  - largura) / 2;		
	janela = window.open(pagina,nome,'width='+largura+',height='+altura+',top='+top2+',left='+left2+',scrollbars='+scrolll+',toolbar='+toolbar+',location='+location+',menubar='+menu+',resizable='+resize);
	janela.focus();
}
//=================================================================================== 
function popup2(pagina,nome,altura,largura,top,left,scroll,toolbar,location,menu,resize) 
{
	var janela;
	var top2 = (screen.height - altura) / 2;
	var left2 = (screen.width  - largura) / 2;		
	janela = window.open(pagina,nome,'width='+largura+',height='+altura+',top='+top2+',left='+left2+',scrollbars='+scroll+',toolbar='+toolbar+',location='+location+',menubar='+menu+',resizable='+resize);
	janela.focus();
}
//=================================================================================== 

	function consisteNum(){
		
		var key = event.keyCode;
		
		if  (!((key >= 48) && (key <= 57)))
		{
			event.keyCode = 0;
		}
	}
//=================================================================================== 
	function consisteData(){
		
		var key = event.keyCode;
		
		var contBarra = contaString(event.srcElement.value,'/');

		if (key == 92 || key == 47){
			if (contBarra < 2)
				event.keyCode = 47;
			else
				event.keyCode = 0;
		}else if (!((key >= 48) && (key <= 57))){
			event.keyCode = 0;
		}
	}
//=================================================================================== 	
	function contaString(vString,vString2){
		var temp = 0;
		if (vString.length>0 && vString2.length>0){
			for(i=0;i<vString.length;i++){
				//alert(vString.substr(i,vString2.length) + ' = ' + vString2)
				if (vString.substr(i,vString2.length)==vString2){
					temp++;
				}
			}
			return temp;
		}
		else return 0;
	}	
//=================================================================================== 	
function consisteTelefone(){
		
	var key = event.keyCode;
		
	if  (!((key >= 48) && (key <= 57)) && !(key == 45))
	{
		event.keyCode = 0;
	}
}


//=================================================================================== 
	function consisteChar()
	{
		var key = event.keyCode;
		
		if  ((key == 34) || (key == 39))
		{
			event.keyCode = 0;
		}
	}
//=================================================================================== 
	function consisteCharNum()
	{
		var key = event.keyCode;
		
		if (((key >= 48) && (key <= 57)) || ((key >= 65) && (key <= 90)) || ((key >= 97) && (key <= 122)))
        {
			event.keyCode = key;
        }
        else
        {
			event.keyCode = 0;
        }
    }
//=================================================================================== 
function consisteHexa()
	{
		
		var key = event.keyCode;
		
		if  (!((key >= 48) && (key <= 57)) && !((key >= 97)&& (key <= 102)) && !((key >= 65) && (key <= 70)))
		{
			event.keyCode = 0;
		}
		
	}
//=================================================================================== 
	function consisteDecimal(){
		var key = event.keyCode;
		
		if(key == 44 && (inStr(event.srcElement.value, '.') == 0)){
			event.keyCode = 46;
		}else if  (!(((key >= 48) && (key <= 57)) || (key==46)) || ((inStr(event.srcElement.value, '.') > 0) && (key==46)) ){
			event.keyCode = 0;
		}
	}
//=================================================================================== 
function retornaCodigoPagina(url){
	//alert(url);
	
	var objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")
	
	objXMLHTTP.Open("GET", url, false)
	objXMLHTTP.Send();

	var objXMLHTTP;
	
	//alert(objXMLHTTP.responseText);
	return objXMLHTTP.responseText;
	
}
//=========================================================================
function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

//=========================================================================
	function formataDataJS(strData){
		var arrTemp;
		var dataTemp;
		
		dataTemp = strData;
		arrTemp = dataTemp.split('/');

		if (arrTemp.length != 3)
			return strData;
		
				
		if (arrTemp[0].length == 1)
			arrTemp[0] = '0' + arrTemp[0];
		
		if (arrTemp[1].length == 1)
			arrTemp[1] = '0' + arrTemp[1];
			
		return arrTemp[0] + '/' + arrTemp[1] + '/' + arrTemp[2]
	}
//
	function preparaComparaData(strData){
		var arrTemp;
		var dataTemp;
		
		dataTemp = strData;
		arrTemp = dataTemp.split('/');

		if (arrTemp.length != 3)
			return strData;

		if (arrTemp[0].length == 1)
			arrTemp[0] = '0' + arrTemp[0];
		
		if (arrTemp[1].length == 1)
			arrTemp[1] = '0' + arrTemp[1];
			
		return arrTemp[1] + '/' + arrTemp[0] + '/' + arrTemp[2]	
	}
	
function URLEncode(vstring)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetci
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = vstring;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" +
				        "(URL encoding only supports 8-bit characters.)\n" +
						"A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for
	
	return encoded;

}
	
	function mudaCampoEnter(campo){
		
		if (event.keyCode == 13){
		
			var num = campo.sourceIndex + 1
		
			while (document.all[num] != 'undefined' && document.all[num].type != 'text'){
				num++;
			}
		
			if (document.all[num] == 'undefined')
				return;

			document.all[num].focus();
		}

	}
	//alert('TooL')
	



function clicaTitulo(campo){
	
	var tabela = campo.parentElement.parentElement;
	var mostrar = false;
	
	for(i=0; i<tabela.childNodes.length; i++) {
		var linha = tabela.childNodes(i);
		var coluna = linha.childNodes(0);

		if (coluna == campo){
			coluna.className = 'titulo_painel_escolhido';
			mostrar = true;
		}else{
			if (coluna.className == 'titulo_painel_escolhido' || coluna.className == 'titulo_painel_n_escolhido'){
				coluna.className = 'titulo_painel_n_escolhido';
			}else{
				if (mostrar)
					linha.style.display = '';
				else
					linha.style.display = 'none';
			}
					
			mostrar = false;
		}
		
	}
}


function abre_janela(arq,width, heigth){
	configurar="fullscreen=yes;toolbar=no,location=no,status=no,menubar=no,scrollbar=no,resizable=yes,width=" + (screen.availWidth - 10) + ",height=" + (screen.availHeight - 30) + ",top=0,left=0"
	configurar="toolbar=no,location=no,status=no,menubar=no,scrollbar=no,resizable=yes,width=" + width + ",height=" + heigth + ",top=0,left=0"
	//configurar="fullscreen=yes"
		window.open(arq,"arq" & arq,configurar);
}