	/********************************************
	 * Data       	: 02/2008                    			    *
	 * copyright 	: Contacto Net                		    *
	 * Autor 		: Alex Venâncio                	  *
	 * Módulo     	: Funções Gerais              	 *
	 ********************************************/
	
	//------------------------------------------------------------------------------------------------------
	// FUNCAO UTILIZADA PARA MOSTRAR O MENU NA HOME
	//------------------------------------------------------------------------------------------------------	
	
	function MostraSubMenu( nome ) 
	{ 
		document.getElementById("" + nome + "").style.display='';
	}
	
	function EscondeSubMenu( nome ) 
	{ 
		document.getElementById("" + nome + "").style.display='none';
	}
	
	
	function TiraFundoLogin( campo )
	{
		document.getElementById("" + campo + "").style.backgroundColor = "#FFFFFF";

	}	
	
	function troca(str,strsai,strentra)
	{
		while(str.indexOf(strsai)>-1)
		{
			str = str.replace(strsai,strentra);
		}
		return str;
	}	
	
	function troca(str,strsai,strentra)
	{
		while(str.indexOf(strsai)>-1)
		{
			str = str.replace(strsai,strentra);
		}
		return str;
	}

	//------------------------------------------------------------------------------------------------------
	// formata valor quando vai digitando no input
	// EXEMPLO: onKeydown="FormataMoeda(this,10,event)"
	//------------------------------------------------------------------------------------------------------	
	function FormataMoeda(campo,tammax,teclapres,caracter)
{
	if(teclapres == null || teclapres == "undefined")
	{
		var tecla = -1;
	}
	else
	{
		var tecla = teclapres.keyCode;
	}

	if(caracter == null || caracter == "undefined")
	{
		caracter = ".";
	}

	vr = campo.value;
	
	if(caracter != "")
	{
		vr = troca(vr,caracter,"");
	}
		vr = troca(vr,"/","");
		vr = troca(vr,",","");
		vr = troca(vr,".","");

		tam = vr.length;
		
	if(tecla > 0)
	{
		if(tam < tammax && tecla != 8)
		{
			tam = vr.length + 1;
		}

		if(tecla == 8)
		{
			tam = tam - 1;
		}
	}
	
	if(tecla == -1 || tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105)
	{
		if(tam <= 2)
		{ 
			campo.value = vr;
		}
		if((tam > 2) && (tam <= 5))
		{	
			campo.value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam);
		}
		if((tam >= 6) && (tam <= 8))
		{
			campo.value = vr.substr(0, tam - 5) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
		if((tam >= 9) && (tam <= 11))
		{
			campo.value = vr.substr(0, tam - 8) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
		if((tam >= 12) && (tam <= 14))
		{
			campo.value = vr.substr(0, tam - 11) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
		if((tam >= 15) && (tam <= 17))
		{
			campo.value = vr.substr(0, tam - 14) + caracter + vr.substr(tam - 14, 3) + caracter + vr.substr(tam - 11, 3) + caracter + vr.substr(tam - 8, 3) + caracter + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam);
		}
	}
}
	
	//------------------------------------------------------------------------------------------------------
	// Formata valor para float
	//------------------------------------------------------------------------------------------------------
	function formata_valor(valor)
	{
		var formatando = new String(valor);
		if(formatando.indexOf(".") != "-1"){
			var mat = formatando.split(".");
			mat[0] = mat[0].replace(",",".");
			if(mat[1].length < 2) mat[1] = mat[1] + "0";
			else if(mat[1].length > 2)	mat[1] = mat[1].substr(0,2);
			return mat[0] + "." + mat[1];
		}else return formatando +".00"
	}

	//------------------------------------------------------------------------------------------------------
	// verifica se a tecla pressionada é permitida para um campo numérico
	// EXEMPLO: onKeyPress="return ver_tecla( event );"
	//------------------------------------------------------------------------------------------------------
	function ver_tecla( evento )
	{
	    if( navigator.appName == "Netscape" ) var tecla = evento.which; else var tecla = evento.keyCode;
	    if( (tecla > 43 && tecla < 59) || tecla == 40 || tecla == 41 || tecla == 8  ) return true; else return false;
		
	}

	//------------------------------------------------------------------------------------------------------
	// verifica se o CNPJ digitado é valido
	// EXEMPLO: Onblur="return ValidaCPF( event );"
	//------------------------------------------------------------------------------------------------------
	function ValidaCPF()
	{
		StrCPF = document.getElementById("cpf").value
			if(StrCPF != ''){
				x = 0;
				soma = 0;
				dig1 = 0;
				dig2 = 0;
				texto = "";
				StrCPF1="";
				len = StrCPF.length;
				x = len -1;
			for (var i=0; i <= len - 3; i++){
				y = StrCPF.substring(i,i+1);
				soma = soma + ( y * x);
				x = x - 1;
				texto = texto + y;
			}
			dig1 = 11 - (soma % 11);
			if (dig1 == 10) dig1=0 ;
			if (dig1 == 11) dig1=0 ;
			StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ;
			x = 11; soma=0;
			for (var i=0; i <= len - 2; i++){
				soma = soma + (StrCPF1.substring(i,i+1) * x);
				x = x - 1;
			}
			dig2= 11 - (soma % 11);
			if (dig2 == 10) dig2=0;
			if (dig2 == 11) dig2=0;
			if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2)){
				return true
			}
			alert ("Número do CPF Inválido !");
			document.getElementById("cpf").focus();
			// return false;
		}else{
				return false;
		}
	}

//------------------------------------------------------------------------------------------------------
	// verifica se o CNPJ digitado é valido
	// EXEMPLO: Onblur="return ValidaCNPJ( document.getElementById('NOMECAMPO').value );"
	//------------------------------------------------------------------------------------------------------
	function ValidaCNPJ(cnpj)
	{

		var i = 0;
		var l = 0;
		var strNum = "";
		var strMul = "6543298765432";
		var character = "";
		var iValido = 1;
		var iSoma = 0;
		var strNum_base = "";
		var iLenNum_base = 0;
		var iLenMul = 0;
		var iSoma = 0;
		var strNum_base = 0;
		var iLenNum_base = 0;

		if (cnpj == ""){
			alert("Preencha o campo CNPJ.");
			return false;
		}
	  
		l = cnpj.length;
	  
		for (i = 0; i < l; i++) {
			caracter = cnpj.substring(i,i+1)
			if ((caracter >= '0') && (caracter <= '9')){
				strNum = strNum + caracter;
			}
		}

		if(strNum.length != 14){
			alert("CNPJ deve conter 14 caracteres.");
			return false;
		}
	  
		strNum_base = strNum.substring(0,12);
		iLenNum_base = strNum_base.length - 1;
		iLenMul = strMul.length - 1;
	  
		for(i = 0;i < 12; i++){
			iSoma = iSoma +
	        parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) *
	        parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10);
		}
	  
		iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11);
	  
		if(iSoma == 11 || iSoma == 10){
			iSoma = 0;
		}

		strNum_base = strNum_base + iSoma;
		iSoma = 0;
		iLenNum_base = strNum_base.length - 1
	  
		for(i = 0; i < 13; i++){
			iSoma = iSoma +
	        parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) *
	        parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10)
		}
		
		iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11);
	  
		if(iSoma == 11 || iSoma == 10){
			iSoma = 0;
		}
		
		strNum_base = strNum_base + iSoma;
	  
		if(strNum != strNum_base){
			alert("CNPJ inválido.");
			return false;
		}
	}
	
	//------------------------------------------------------------------------------------------------------
	// mascara para CEP
	//EXEMPLO: onkeydown="return validaCep( event, this );"
	//------------------------------------------------------------------------------------------------------
	function validaCep(objeto, evento)
	{
		var tecla = objeto.keyCode;
		var cep = evento;
		if(tecla != 8){
			if(cep.value.length == 5)  cep.value += '-';
		}
	}

	//------------------------------------------------------------------------------------------------------
	// mascara para TELEFONE 
	// EXEMPLO: onkeydown=" return ValidaNumTelefone( event, this );"
	//------------------------------------------------------------------------------------------------------
	function ValidaNumTelefone(objeto, evento)
	{
		var tecla = objeto.keyCode;
		var telefone= evento;
		if(tecla != 8){
			if(telefone.value.length == 0)  telefone.value += '(';
			if(telefone.value.length == 3)  telefone.value += ') ';
			if(telefone.value.length == 9)  telefone.value += '-';
		}
	}
	
	//------------------------------------------------------------------------------------------------------
	// mascara para TELEFONE 
	// EXEMPLO: onkeydown=" return ValidaNumTelefone2( event, this );"
	//------------------------------------------------------------------------------------------------------
	function ValidaNumTelefone2(objeto, evento)
	{
		var tecla = objeto.keyCode;
		var telefone= evento;
		if(tecla != 8){
			if(telefone.value.length == 4)  telefone.value += '-';
		}
	}	
	//------------------------------------------------------------------------------------------------------
	// mascara para IE 
	// EXEMPLO: onkeydown=" return validaIE( event, this );"
	//------------------------------------------------------------------------------------------------------
	function validaIE(objeto, evento)
	{
		var ie = evento;
		var tecla = objeto.keyCode;
		if(tecla != 8){
			if(ie.value.length == 3)   ie.value += '.';
			if(ie.value.length == 7)   ie.value += '.';
			if(ie.value.length == 11)  	ie.value += '.';
		}
	}

	//------------------------------------------------------------------------------------------------------
	// mascara para CNPJ
	// EXEMPLO: onkeydown=" return MascaraCnpj( event, this );"
	//------------------------------------------------------------------------------------------------------
	function MascaraCnpj(objeto, evento)
	{
		var CNPJ = evento;
		var tecla = objeto.keyCode;
		if(tecla != 8){
			if(CNPJ.value.length == 2)   CNPJ.value += '.';
			if(CNPJ.value.length == 6)   CNPJ.value += '.';
			if(CNPJ.value.length == 10)  CNPJ.value += '/';
			if(CNPJ.value.length == 15)  CNPJ.value += '-';
		}
	}
	
	//------------------------------------------------------------------------------------------------------
	// mascara para Data
	// EXEMPLO: onkeydown=" return validaData( event, this );"
	//------------------------------------------------------------------------------------------------------
	function validaData(objeto, evento)
	{
		var tecla = objeto.keyCode;
		var data = evento;
		if(tecla != 8){
			if(data.value.length == 2)  data.value += '/';
			if(data.value.length == 5)  data.value += '/';
		}
	}
	
	//------------------------------------------------------------------------------------------------------
	// Valida E-mail
	// EXEMPLO: onblur=" return ValidaEmail( this.value );"
	//------------------------------------------------------------------------------------------------------
	function ValidaEmail( valor )
	{
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))){ 
			alert("Favor informar um e-mail válido.");
			return false;
		} 
	}

	function MascaraCPF( cpf ) 
	{
		var s = new String(cpf);
		s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
		tam = s.length + 1;
		if (tam > 3 && tam < 7){
			cpf = s.substr(0,3) + '.' + s.substr(3, tam);
		}	
		if (tam >= 7 && tam < 10){
			cpf = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
		}	
		if (tam >= 10 && tam <= 12){
			cpf = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
		}
		
		return cpf;
	}
	
	function validarCPF( cpf )
	{
		var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
		if(!filtro.test(cpf)){
			window.alert("CPF inválido. Tente novamente.");
			return false;
		}
		
		cpf = remove(cpf, ".");
		cpf = remove(cpf, "-");
			
		soma = 0;
		for(i = 0; i < 9; i++)
			soma += parseInt(cpf.charAt(i)) * (10 - i);
			resto = 11 - (soma % 11);
			if(resto == 10 || resto == 11)
				resto = 0;
			if(resto != parseInt(cpf.charAt(9))){
				window.alert("CPF inválido. Tente novamente.");
				return false;
			}
			soma = 0;
			for(i = 0; i < 10; i ++)
				soma += parseInt(cpf.charAt(i)) * (11 - i);
				resto = 11 - (soma % 11);
			if(resto == 10 || resto == 11)
				resto = 0;
			if(resto != parseInt(cpf.charAt(10))){
				window.alert("CPF inválido. Tente novamente.");
				return false;
			}
			return true;
		}
			 
	 function remove(str, sub)
	 {
	   i = str.indexOf(sub);
	   r = "";
	   if (i == -1) return str;
	   r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
	   return r;
	 }
	
	function Mascara(tipo, campo, teclaPress) 
	{
		if (window.event){
			var tecla = teclaPress.keyCode;
		} else {
			tecla = teclaPress.which;
		}
	 
		var s = new String(campo.value);
		// Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
		s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
	 
		tam = s.length + 1;
	 
		if ( tecla != 9 && tecla != 8 ) {
		
			switch (tipo){
				case 'CPF' :
					if (tam > 3 && tam < 7){
						campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
					}	
					if (tam >= 7 && tam < 10){
						campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
					}	
					if (tam >= 10 && tam < 12){
						campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
					}	
				break;
		 
				case 'CNPJ' :
		 
					if (tam > 2 && tam < 6){
						campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
					}	
					if (tam >= 6 && tam < 9){
						campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
					}	
					if (tam >= 9 && tam < 13){
						campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
					}	
					if (tam >= 13 && tam < 15){
						campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
					}	
				break;
		 
				case 'TEL' :
					if (tam > 2 && tam < 4){
						campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
					}	
					if (tam >= 7 && tam < 11){
						campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
					}	
				break;
		 
				case 'DATA' :
					if (tam > 2 && tam < 4){
						campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
					}	
					if (tam > 4 && tam < 11){
						campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
					}	
				break;
				
				case 'CEP' :
					if (tam > 5 && tam < 7){
						campo.value = s.substr(0,5) + '-' + s.substr(5, tam);
					}	
				break;
			}
		}
	}

	//------------------------------------------------------------------------------------------------------
	// Funcoes do Filtro
	//------------------------------------------------------------------------------------------------------
	function openFiltro() 
	{
		document.getElementById("filtro").style.display = "block";
		var altura_tela = screen.height;
		var largura_tela = screen.width;
		var altura = 250;
		var largura = 300;
		var esquerda = (screen.width - largura)/2;
		var topo = (screen.height - altura)/2;
		document.getElementById("filtro").style.top = topo;
		document.getElementById("filtro").style.left = esquerda;
		document.getElementById("tudo").style.display = "block";
		document.body.style.overflow='hidden';
	}
	
	function closeFiltro() 
	{
		document.getElementById("filtro").style.display = "none";
		document.getElementById("tudo").style.display = "none";
		document.getElementById("ColValue[nome]").value = ' ';
		document.body.style.overflow='';
	}
	
	function voltaPagina()
	{
		document.getElementById("ordenar").submit();
	}
	
	function nomeComposto(valor)
	{
		if (valor.indexOf(" ")==-1){ 
		return false;		
	   }
	   return true;
   }