﻿
function validaCPF(pCpf) {
		 cpf = pCpf.value;
		 erro = new String;
		 if (cpf.length < 9) erro = "Sao necessarios 11 digitos para verificacao do CPF! "; 
		 var nonNumbers = /\D/;
		 if (nonNumbers.test(cpf)) erro = "Número de CPF inválido, preecha corretamente!"; 
		 if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999" || cpf == "12345678909"){
				erro = "Número de CPF inválido, preecha corretamente!"
	   }
	   var a = [];
	   var b = new Number;
	   var c = 11;
	   for (i=0; i<11; i++){
			   a[i] = cpf.charAt(i);
			   if (i < 9) b += (a[i] * --c);
	   }
	   if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	   b = 0;
	   c = 11;
	   for (y=0; y<10; y++) b += (a[y] * c--); 
	   if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
	   if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
			   erro ="Número de CPF inválido, preecha corretamente!";
	   }
	   if (erro.length > 0 && pCpf.value!=""){
			   alert(erro);
			   return false;
	   }
	   return true;
}

////RETORNA SOMENTE NUMEROS
function fSomenteNumeros(evt){
	var key_code = evt.keyCode  ? evt.keyCode  :
				   evt.charCode ? evt.charCode :
				   evt.which    ? evt.which    : void 0;
	// Habilita teclas <DEL>, <TAB>, <ENTER>, <ESC> e <BACKSPACE>
	//alert(key_code);
	if (key_code == 8  ||  key_code == 9  ||  key_code == 13  ||  key_code == 27  ||  key_code == 46 ||  key_code == 44)
	{
		return true;
	}
	// Habilita teclas <HOME>, <END>, mais as quatros setas de navegação (cima, baixo, direta, esquerda)
	else if ((key_code >= 35)  &&  (key_code <= 40))
	{
		return true
	}
	// Habilita números de 0 a 9
	else if ((key_code >= 48)  &&  (key_code <= 57))
	{
		return true
	}
	return false;
}

// Formata valores para visualização.
function FormataValorBRA(pValor)
{
	if (pValor == "" || parseInt(pValor) == 0){
		return "";
		
	}else{
	
		var i
		var j
		var iDecimal
		var iInteiro
		var iNovoValor

		iInteiro = pValor
		iDecimal = '00'

		// Limpa formatação antiga
		for (i = 0; i < pValor.length; i++)
		{
			if (pValor.charAt(i) == ".")
			{
				pValor = pValor.substring(0,i) + pValor.substring(i + 1,pValor.length);
			}
		}
		
		// Separa a parte Inteira da parte Decimal
		i = 0
		for (i = 0; i < pValor.length; i++)
		{
			if (pValor.charAt(i) == ",")
			{
				iInteiro = pValor.substring(0,i)
				iDecimal = pValor.substring(i + 1,pValor.length)
			}
		}

		// Formata a parte decimal para duas casas no mínimo.
		if (iDecimal.length <= 1)
		{
			iDecimal = iDecimal + "0"
		}

		// Formata a parte inteira para uma casa no mínimo.
		if (iInteiro.length <= 0)
		{
			iInteiro = "0" + iInteiro
		}

		// Formata a parte Inteira.
		iNovoValor = ''
		j = 0
		for (i = iInteiro.length; i > 0; i--)
		{
			j = j + 1
			if (j == 4)
			{
				iNovoValor = iInteiro.substring(i,i-1) + '.' + iNovoValor
				j = 1
			}
			else
			{
				iNovoValor = iInteiro.substring(i,i-1) + iNovoValor
			}
		}

		// Agrega a Parte decimal ao novo valor
		iNovoValor = iNovoValor + "," + iDecimal

		return iNovoValor
	}
}

function FormataValorInt(pValor)
{
	var i
	var j
	var iDecimal
	var iInteiro
	var iNovoValor

	iInteiro = pValor
	iDecimal = '00'

	// Limpa formatação antiga
	for (i = 0; i < pValor.length; i++)
	{
		if (pValor.charAt(i) == ".")
		{
			pValor = pValor.substring(0,i) + pValor.substring(i + 1,pValor.length);
		}
	}
	
	// Separa a parte Inteira da parte Decimal
	i = 0
	for (i = 0; i < pValor.length; i++)
	{
		if (pValor.charAt(i) == ",")
		{
			iInteiro = pValor.substring(0,i)
			iDecimal = pValor.substring(i + 1,pValor.length)
		}
	}

	// Formata a parte inteira para uma casa no mínimo.
	if (iInteiro.length <= 0)
	{
		iInteiro = "0" + iInteiro
	}

	// Formata a parte Inteira.
	iNovoValor = ''
	j = 0
	for (i = iInteiro.length; i > 0; i--)
	{
		j = j + 1
		if (j == 4)
		{
			iNovoValor = iInteiro.substring(i,i-1) + '.' + iNovoValor
			j = 1
		}
		else
		{
			iNovoValor = iInteiro.substring(i,i-1) + iNovoValor
		}
	}

	return iNovoValor
}



function parseNumber(number)
{
	var s=new String(number);
	
	while(s.indexOf('.') >=0)
	{
		s=s.replace('.','')
	}
	
	
	while(s.indexOf(',') >=0)
	{
		s=s.replace(',','.')
	}
return s
}


function m_CEP(campo,tammax) {



var vr = campo.value;

vr = vr.replace( "-", "" );

vr = vr.replace( ".", "" );

var tam = vr.length;



if (tam < tammax) { tam = vr.length + 1; }



tam = tam - 1;

if ( (tam > 2) && (tam <= 8) ) {

vr = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ); }

if ( (tam == 7) ) {

vr = vr.substr( 0, tam - 5 ) + '' + vr.substr( tam - 5, tam ); }



campo.value = vr;

}



function fformatanumero(Total)
{

	num3 = Total;
	num3 = num3.toString().replace(/\$|\,/g,'');

	if(isNaN(num3))
	num3 = "0";
	sign = (num3 == (num3 = Math.abs(num3)));
	num3 = Math.floor(num3*100+0.50000000001);
	cents3 = num3%100;
	num3 = Math.floor(num3/100).toString();
	if(cents3<10)
	cents3 = "0" + cents3;
	for (var i = 0; i < Math.floor((num3.length-(1+i))/3); i++)
	num3 = num3.substring(0,num3.length-(4*i+3))+'.'+
	num3.substring(num3.length-(4*i+3));

	Total = (num3 + ',' + cents3);
	
	return Total;
}

function FormataTelefone(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode; }
else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
}

sValue = objForm[strField].value;

// Limpa todos os caracteres de formatação que
// já estiverem no campo.
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( ":", "" );
fldLen = sValue.length;
mskLen = sMask.length;

i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;

while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
bolMask = bolMask || (sMask.charAt(i) == ":")

if (bolMask) {
sCod += sMask.charAt(i);
mskLen++; }
else {
sCod += sValue.charAt(nCount);
nCount++;
}

i++;
}

objForm[strField].value = sCod;

if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
return true;
} }
else {
return true;
}
} 



function isNUMB(c) { 
	if((cx=c.indexOf(","))!=-1) { 
		c = c.substring(0,cx)+"."+c.substring(cx+1); 
	} 
	if((parseFloat(c) / c != 1)) { 
		if(parseFloat(c) * c == 0) { 
			return(1); 
		} else { 
			return(0); 
		} 
	} else { 
		return(1); 
	} 
} 

function LIMP(c) { 
	while((cx=c.indexOf("-"))!=-1) { 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf("/"))!=-1) { 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf(","))!=-1) { 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf("."))!=-1) { 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf("("))!=-1) { 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf(")"))!=-1) { 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf(" "))!=-1) { 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	return(c); 
} 

function VerifyCNPJProspect(CNPJ) { 
	CNPJ = LIMP(CNPJ); 
	if(isNUMB(CNPJ) != 1) { 
		//return(0); 
		return(1);
	} else { 
		if(CNPJ == 0) { 
			//return(0); 
			return(1);
		} else { 
			g=CNPJ.length-2; 
			if(RealTestaCNPJ(CNPJ,g) == 1) { 
				g=CNPJ.length-1; 
				if(RealTestaCNPJ(CNPJ,g) == 1) { 
				//	 VERIFICA SE O CNPJ É MATRIZ
				//	if(CNPJ.substring(8,12) == '0001') {
				//		return(1);
				//	} else {
					//	//return(0);
						return(1);
					//}
				} else { 
					//return(0); 
					return(1);
				} 
			} else { 
				//return(0); 
				return(1);
			} 
		} 
	} 
} 

function VerifyCNPJ(CNPJ) { 
	CNPJ = LIMP(CNPJ); 
	if(isNUMB(CNPJ) != 1) { 
		return(0); 
	} else { 
		if(CNPJ == 0) { 
			return(0); 
		} else { 
			g=CNPJ.length-2; 
			if(RealTestaCNPJ(CNPJ,g) == 1) { 
				g=CNPJ.length-1; 
				if(RealTestaCNPJ(CNPJ,g) == 1) { 
					return(1);
				} else { 
					return(0); 
				} 
			} else { 
				return(0); 
			} 
		} 
	} 
} 

function RealTestaCNPJ(CNPJ,g) { 
	var VerCNPJ=0; 
	var ind=2; 
	var tam; 
	for(f=g;f>0;f--) { 
		VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind; 
		if(ind>8) { 
			ind=2; 
		} else { 
			ind++; 
		} 
	} 
	VerCNPJ%=11; 
	if(VerCNPJ==0 || VerCNPJ==1) { 
		VerCNPJ=0; 
	} else { 
		VerCNPJ=11-VerCNPJ; 
	} 
	if(VerCNPJ!=parseInt(CNPJ.charAt(g))) { 
		return(0); 
	} else { 
		return(1); 
	} 
} 

function FormataCGC(Formulario, Campo, TeclaPres) { 
	var tecla = TeclaPres.keyCode; 
	var strCampo; 
	var vr; 
	var tam; 
	var TamanhoMaximo = 14; 
	
	eval("strCampo = document." + Formulario + "." + Campo); 
	
	vr = strCampo.value; 
	vr = vr.replace("/", ""); 
	vr = vr.replace("/", ""); 
	vr = vr.replace("/", ""); 
	vr = vr.replace(",", ""); 
	vr = vr.replace(".", ""); 
	vr = vr.replace(".", ""); 
	vr = vr.replace(".", ""); 
	vr = vr.replace(".", ""); 
	vr = vr.replace(".", ""); 
	vr = vr.replace(".", ""); 
	vr = vr.replace(".", ""); 
	vr = vr.replace("-", ""); 
	vr = vr.replace("-", ""); 
	vr = vr.replace("-", ""); 
	vr = vr.replace("-", ""); 
	vr = vr.replace("-", ""); 
	tam = vr.length; 

	if (tam < TamanhoMaximo && tecla != 8) { 
		tam = vr.length + 1; 
	} 
	
	if (tecla == 8) { 
		tam = tam - 1; 
	} 
	
	if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105) { 
		if (tam <= 2) { 
			strCampo.value = vr; 
		} 
		if ((tam > 2) && (tam <= 6)) { 
			strCampo.value = vr.substr(0, tam - 2) + '-' + vr.substr(tam - 2, tam); 
		} 
		if ((tam >= 7) && (tam <= 9)) { 
			strCampo.value = vr.substr(0, tam - 6) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
		} 
		if ((tam >= 10) && (tam <= 12)) { 
			strCampo.value = vr.substr(0, tam - 9) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
		} 
		if ((tam >= 13) && (tam <= 14)) { 
			strCampo.value = vr.substr(0, tam - 12) + '.' + vr.substr(tam - 12, 3) + '.' + vr.substr(tam - 9, 3) + '/' + vr.substr(tam - 6, 4) + '-' + vr.substr(tam - 2, tam); 
		} 
		if ((tam >= 15) && (tam <= 17)) { 
			strCampo.value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + '-' + vr.substr(tam - 2, tam); 
		} 
	} 
	//alert(strCampo.value)
} 

function TESTA() { 
	if(VerifyCNPJ(document.forms[0].txtcnpj.value) == 1) { 
		//alert("CNPJ válido!"); 
	} else { 
		alert("CNPJ não é válido!");
		document.forms[0].txtcnpj.value = "";
	} 
	return; 
} 

// CHECAR O EMAIL
function checkmail(){
	with(document.formulario){
		if(txtemail.value != "") {
			if(txtemail.value.indexOf('@',0) == -1 || txtemail.value.indexOf('.',0) == -1 ){
				alert("e-mail inválido! Preencher corretamente.");
				txtemail.focus();
			}
		}
	}
}

function fChecarEmail(obj){
	if(obj.value != "") {
		if(obj.value.indexOf('@',0) == -1 || obj.value.indexOf('.',0) == -1 ){
			alert("e-mail inválido! Preencher corretamente.");
			obj.focus();
		}
	}
}

function fInfoCliente(ClienteID){
		caminho = "Cliente.asp?acao=Alterar&cod="+ClienteID
		fParametros = "Width=1000, Height=800, Top=200, Left=500, Scrollbars=YES, Resizable=NO, Directories=NO, Location=NO, Menubar=NO, Status=NO, Titlebar=NO, Toolbar=NO";		
		window.open(caminho,'',fParametros);
	}
	function fInfoProprietario(ClienteID){
		caminho = "Proprietario.asp?acao=Alterar&cod="+ClienteID
		fParametros = "Width=1000, Height=800, Top=200, Left=500, Scrollbars=YES, Resizable=NO, Directories=NO, Location=NO, Menubar=NO, Status=NO, Titlebar=NO, Toolbar=NO";
		window.open(caminho,'',fParametros);
	}	
	function fInfoAtendimento(AtendimentoID){
		caminho = "InfoAtendimento.asp?info=1&id="+AtendimentoID
		window.open(caminho,'','width=700,height=700,top=0,left=0,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no');
	}
	function fInfoVisita(VisitaID){
		caminho = "InfoVisita.asp?VisitaID="+VisitaID
		window.open(caminho, '_blank', 'height=240, width=720, menubar=no, toolbar=no, location=no')
	}
	function textCounter(field, countfield, maxlimit) {
		if (field.value.length > maxlimit)
			field.value = field.value.substring(0, maxlimit);
		else 
			countfield.value = maxlimit - field.value.length;
	}
	
	//// CONTROLE DA ORDEM DE EXIBIÇÃO 
	function fOrdemExibicao(xCampo,xNcampo){
		with(document.formulario){
			//alert(xCampo)
			if (campo.value == encodeURI(xCampo) && ordem.value == "DESC"){
					ordem.value = "ASC"
			}else{
				ordem.value = "DESC"
			}
			campo.value = encodeURI(xCampo)
			ncampo.value= xNcampo
			submit()
		}
	}
	
	//// CONTROLE DA ORDEM DE EXIBIÇÃO 
	function fOrdemExibicao2(contador){
		if (document.getElementById('ncampo').value == contador && document.getElementById('ordem').value == "DESC"){
			document.getElementById('ordem').value = "ASC"
		}else{
			document.getElementById('ordem').value = "DESC"
		}
		document.getElementById('ncampo').value= contador
		document.getElementById('formGrid').submit()
	}
	
	//// FORMATA DATA 
	function fFormataData(campo,tecla){ 
		// Por Tiago Araujo Silva (tiago@tiagoaraujo.com)
			
		separador="/"; // Você pode definir o separador. Ex: "/" ou "-" ou "."
		
		tecla=tecla.keyCode; // Identifica a tecla, caso seja backspace
		
		valor=campo.value.split(''); // Pega o valor do campo e transforma cada caractere em uma string
		formatado=""; // Variável para carregar formatação temporariamente
		
		i=0; // variável de controle
		
		while(i<valor.length){ // Loop para cada caractere do campo
			caractere=valor[i]; // Seleciona um caractere para ser formatado
			numeros=/^\d+$/; // Variavel contendo números positivos
					// Verifica se é número ou "barra"
			if(numeros.test(caractere) || caractere==separador){ formatado+=String(caractere);}
					// Verifica se precisa de barra, se a tecla for backspace, então a barra não é adicionada
					// Se for para adicionar barra, aumenta ++ variável de controle "i" para pular a barra adicionada
			if((formatado.length==2 || formatado.length==5) && tecla!=8){formatado+=separador; i++;}
					
			i++; // Se houver, passa para o próximo caractere
		}
		
		campo.value=formatado; // Atribui o valor formatado ao campo
		
		if (formatado.length == 10){
			if(!formatado.match(/^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/)){
				alert('Data Inválida! - ' + campo.value);
				campo.value = '';
				campo.focus;
			}
		}
	}
	
	function DetalhesExportacao(fUnidade){
		if(fUnidade!=""){
			caminho = "PubExportacaoXML.asp?acao=Alterar&cod="+fUnidade
			window.open(caminho,'','width=850,height='+screen.height+',top=0,left=0,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no');
		}
	}
	
	
	//formata moeda pra float
	function fFormataMoeda(xValor){
		var valorTemp = xValor.replace(".","");
		valorTemp = valorTemp.replace(",",".");
		//alert(valorTemp);
		return valorTemp;
	}
	
	// formata valor float para moeda
	function float2moeda(num) {

		x = 0;

		if(num<0) {
		num = Math.abs(num);
		x = 1;
		} if(isNaN(num)) num = "0";
		cents = Math.floor((num*100+0.5)%100);

		num = Math.floor((num*100+0.5)/100).toString();

		if(cents < 10) cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'
		+num.substring(num.length-(4*i+3)); ret = num + ',' + cents; if (x == 1) ret = ' - ' + ret;return ret;
	}
	
////////////////////////

