// MOSTRA O TEXTO OCULTO
function changetext(alvo){
	if(alvo.style.display==""||alvo.style.display=="block"){
		alvo.style.display="none";
	} else {
		alvo.style.display="block";
	}
}
//-----------------------------------------------------------------------------------
function VerificaQuantidadeCarater(CampoObrigatorio,ValorCampo,QuantMin,QuantMax){

	var CampoObrigatorio;
	var ValorCampo;
	var QuantMin;
	var QuantMax;

	// QUANTIDADE EXATA SE FOR OBRIGTÓRIO
	if (QuantMin == QuantMax){
		if(CampoObrigatorio == 's'){
			if (ValorCampo.length != QuantMax) {
				return true;
			}
		}
	}
	// CAMPO OBRIGATÓRIO - QUANTIDADE MÍNIMA	- QUANTIDADE MÁXIMA
	if (CampoObrigatorio == "s"){ // SE FOR OBRIGATORIO
		if(ValorCampo.length == 0 || 
			  ValorCampo.length < QuantMin ||
			  ValorCampo.length > QuantMax){
			  return true;
		}
	} else { // SE NÃO FOR OBRIGATORIO VERIFICA SE FOR => 1 E QUANT MAX
		if(ValorCampo.length < QuantMin & ValorCampo.length >= 1){
			return true;
		}
		if(ValorCampo.length > QuantMax){
			return true;
		}
	}
}
//-----------------------------------------------------------------------------------------------------------------------------------
// ABRE UMA PÁGINA FULL
	/*function AlertAjudaForm(msg,campo){
		var msg = msg;
		var campo = campo; 
	  	alert(msg);
		campo.focus();
		campo.style.backgroundColor = "yellow";
		return;
	} */

//if (this.name!='fullscreen'){ 
  //window.open('sim/default.ASP','fullscreen','fullscreen,scrollbars') 
//}
// FIM DA PAGINA FULL

/*/ DESABILITA A TECLA DIREITA DO MOUSE 
   var ns = (document.layers)? true:false;
   var ie = (document.all)? true:false;

   if (ns) document.captureEvents(Event.MOUSEDOWN || Event.CLICK);
   document.onclick = protegeFonte;
   document.onmousedown = protegeFonte;

   function protegeFonte(e) {
     if(invocouMenuContexto=((ns&&(e.which==3)) ||(ie&&(window.event.button==2))))
       alert ("Direitos reservados");


     return invocouMenuContexto;
   }

   function cleanup() {
     if (ns) document.releaseEvents(Event.MOUSEDOWN || Event.CLICK);
   }
*/
//------------------------------------------------------------------------------------------
//CLICA NO LINK MOSTRA TEXTO
function changetext(alvo){
	if(alvo.style.display=="" || alvo.style.display=="block"){
		alvo.style.display="none";
	} else {
		alvo.style.display="block";
	}
}
//------------------------------------------------------------------------------------------
//VALIDA O A APROVAÇÃO DE REGISTROS 
function confirmaLogOut(){ 
	
	var confirma_info; 
	confirma_info = 'Deseja realmente efetuar LOGOUT e sair do PAINEL DE CONTROLE?\n\n';
	confirma_info+= 'Para continuar no Pinel de Controle, clique em CANCELAR\n';
	confirma_info+= 'Para CONFIRMAR e SAIR, clique em OK';
	//confirma_info+= document.form1.PUB_ID.value;
	//confirma_info+= campo1_nome+': '+campo1.value+'\n\n';
	//confirma_info+= campo2_nome+': '+campo2.value+'\n\n';
	//confirma_info+= campo5_nome+': '+campo5.value+'\n\n';
	//confirma_info+= campo4_nome+': '+campo4.value+'\n\n';
	//confirma_info+= '\nPara confirmar o envio clique em OK';
    if (confirm(confirma_info)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
	
}

//------------------------------------------------------------------------------------------
//VALIDA O A APROVAÇÃO DE REGISTROS 
function validaFormAprovarReg(){ 
	
	var confirma_info; 
	confirma_info = 'Para CONFIRMAR as opções ';
	confirma_info+= 'selecionados, clique em OK';
	//confirma_info+= document.form1.PUB_ID.value;
	//confirma_info+= campo1_nome+': '+campo1.value+'\n\n';
	//confirma_info+= campo2_nome+': '+campo2.value+'\n\n';
	//confirma_info+= campo5_nome+': '+campo5.value+'\n\n';
	//confirma_info+= campo4_nome+': '+campo4.value+'\n\n';
	//confirma_info+= '\nPara confirmar o envio clique em OK';
	//confirma_info+= '\nPara corrigir clique em CANCELAR';
    if (confirm(confirma_info)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
	
}

//------------------------------------------------------------------------------------------

function validaFormEliminarReg(){ 
	var msg; 
	msg = 'Para CONFIRMAR A ELIMINAÇÃO DEFINITIVA '+'\n\n';
	msg+= 'do(s) registros(s) selecionados clique em OK';
	//confirma_info+= document.form1.PUB_ID.value;
	//confirma_info+= campo1_nome+': '+campo1.value+'\n\n';
	//confirma_info+= campo2_nome+': '+campo2.value+'\n\n';
	//confirma_info+= campo5_nome+': '+campo5.value+'\n\n';
	//confirma_info+= campo4_nome+': '+campo4.value+'\n\n';
	//confirma_info+= '\nPara confirmar o envio clique em OK';
	//confirma_info+= '\nPara corrigir clique em CANCELAR';
    if (confirm(msg)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
}

//------------------------------------------------------------------------------------------

function confirmaExclusaoRegistro(tipoRegistro){ 
	var msg; 
	var msg; 
	msg = 'Para confirmar a EXCLUSÃO do Registro clique em OK';
    if (confirm(msg)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
}

//------------------------------------------------------------------------------------------

function confirmaDiversos(msg){ 
	var msg; 
    if (confirm(msg)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
}

//------------------------------------------------------------------------------------------

function confirmaExclusaoPublicacao(){ 
	var msg; 
	msg = 'Para confirmar a EXCLUSÃO da Publicação e todos os seus COMPLEMENTOS clique em OK';
    if (confirm(msg)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
}

//------------------------------------------------------------------------------------------

function confirmaExclusaoArea(){ 
	var msg; 
	msg = 'ATENÇÃO!\n';
	msg+= 'A exclusão de uma ou mais ÁREAS impedirá o acesso dos\n';
	msg+= 'Administradores às Publicações vinculadas.\n\n';
	msg+= 'Para confirmar a EXCLUSÃO clique em OK';
    if (confirm(msg)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
}

//------------------------------------------------------------------------------------------

function confirmaExclusaoAdministrador(){ 
	var msg; 
	msg = 'ATENÇÃO!\n';
	msg+= 'A exclusão de um ou mais ADMINISTRADORES implicará na exclusão\n';
	msg+= 'de todas as PÉRMISSÕES e ÁREAS vinculadas.\n\n';
	msg+= 'Para confirmar a EXCLUSÃO clique em OK';
    if (confirm(msg)){ 
       // document.FORM.submit() 
    } else {
		return false;
	}
}

//------------------------------------------------------------------------------------------

function WindowOpen(url, largura, altura){
	var url = url; 
	var largura = largura;
	var altura = altura; 
	window.open(url, '_blank','titlebar=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+largura+'px,height='+altura+'px,left=0,top=0');
}
//------------------------------------------------------------------------------------------

function WindowOpenFull(url){
	var url = url;
	window.open(url, '_blank','titlebar=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+screen.width+',height='+screen.height+',left=0,top=0');
}

//------------------------------------------------------------------------------------------

// NEGA A ABERTURA DO MENU CODIGO FONTE
//function verCodigoFonte() {
    //if (event.button==2) {
        //alert("Menu Não Disponível!");
    //}
    //return false;
//}
// FIM DA NEGAÇÃO DO MENU CODIGO FONTE

//------------------------------------------------------------------------------------------

function validaEmail(strEmail){
	// VALIDAÇÃO DE EMAIL
	// 1 Livre - ReEmail1 aceita nome-local com todos os caracteres permitidos na RFC 2822: [\w!#$%&'*+/=?^`{|}~-]; e o domínio tem definição bem livre, por nome basicamente fixando apenas que o TLD deve ter entre 2 e 6 caracteres: [A-Za-z]{2,6}; ou por número IP entre colchetes: \[\d{1,3}(\.\d{1,3}){3}\]. 
	// 2 Compacto - ReEmail2 limita os caracteres permitidos no nome-local de forma mais compacta e restritiva, porém cobre os casos mais comuns. Aceita como nome-local uma ou mais palavras separadas por ponto ([\w-]+(\.[\w-]+)*), onde cada palavra é definida por [\w-]+ permitindo assim letra, dígito, sublinhado e hífen. Também limita o tamanho de nomes de domínio entre 2 e 63 caracteres apenas com letras, dígitos, sublinhado e hífen: [\w-]{2,63}. 
	// 3 Restrito - ReEmail3 é uma variação da ReEmail2, mas força nomes de domínio entre 2 e 63 caracteres, deixa de usar a seqüência \w para não permitir o sublinhado e garante que não há hífen nem na primeira nem na última posição, conforme RFC 1034/1035. O resultado é o seguinte para representar um nome de domínio: [A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]. 
	//var reEmail1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	//var reEmail2 = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail3 = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail = reEmail3;
	
	var strEmail = strEmail;
	if (reEmail.test(strEmail)) {
		// O E-MAIL ESTA OK
	} else if (strEmail != null && strEmail != "") {
		return false;
	}
}
// FIM DA VALIDAÇÃO DE EMAIL

//------------------------------------------------------------------------------------------

// VALIDA CPF
function validaCpf(strCpf){
	
	var s = strCpf;
	// NÃO PODE OS NUMEROS ABAIXO:
	if(s == 00000000000 || s == 11111111111 || s == 22222222222 ||
	   s == 33333333333 || s == 44444444444 || s == 55555555555 ||
	   s == 66666666666 || s == 77777777777 || s == 88888888888 ||
	   s == 99999999999){ 
	   return false; 
	}
	
	var i; 
	var c = s.substr(0,9); 
	var dv = s.substr(9,2); 
	var d1 = 0; 
	  
	for (i = 0; i < 9; i++) { 
		d1 += c.charAt(i)*(10-i); 
	} 
	  
	if (d1 == 0){ 
		return false; 
	} 
	  
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
  
	if (dv.charAt(0) != d1){ 
		return false; 
	} 
	  
	d1 *= 2; 
	for (i = 0; i < 9; i++)	{ 
		d1 += c.charAt(i)*(11-i); 
	} 
	  
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(1) != d1) { 
		return false; 
	} 
}

// FIM DA VALIDAÇÃO DE CPF 

//------------------------------------------------------------------------------------------

// VALIDA SE FOR CNPJ
function validaCnpj(strCnpj){
	
	CNPJ = strCnpj;
	erro = new String;

	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++){
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { 
		a[12] = 0 } else { a[12] = 11-x 
	}
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]); 
	}
	if ((x = b % 11) < 2) { 
		a[13] = 0; } else { a[13] = 11-x; 
	}
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		return false;
	}
}
// FIM DA VALIDAÇÃO DE CNPJ

//------------------------------------------------------------------------------------------

// VERIFICA A DATA
function validaData(strData){
	
	// 1 Simples — valida apenas o uso de dígitos, nas posições e quantidade certas: 1 a 2 dígitos para dia e para mês, 1 a 4 dígitos para ano. 
	// 2 Média — testa os dígitos possíveis em cada posição: o primeiro dígito do dia, se houver, deve ser de 0 a 3 ([0-3]?\d); o primeiro dígito do mês, se houver, deve ser 0 ou 1 ([01]?\d); passamos a aceitar apenas 2 ou 4 dígitos para o ano. 
	// 3 Avançada — garante as faixas de valores corretas para dias 1 a 31 ((0?[1-9]|[12]\d|3[01])) e meses 1 a 12 ((0?[1-9]|1[0-2])). E aqui optamos por forçar os 2 primeiros dígitos do ano (correspondentes ao século), quando fornecidos, a serem 19 ou 20 ((19|20)?\d{2}). 
	// 4 Completa — valida os dias permitidos de acordo com o mês. Para este último, foram criados três grupos alternativos de pares dia/mês: 
	//   Os dias 1 a 29 ((0?[1-9]|[12]\d)) são aceitos em todos os meses (1 a 12): (0?[1-9]|1[0-2]) 
	//   Dia 30 é válido em todos os meses, exceto fevereiro (02): (0?[13-9]|1[0-2]) 
	//   Dia 31 é permitido em janeiro (01), março (03), maio (05), julho (07), agosto (08), outubro (10) e dezembro (12): (0?[13578]|1[02]). 
	// 5 Tradicional — data no formato DD/MM/AAAA, basicamente é a data Completa, porém sem a opcionalidade do zero à esquerda no dia ou mês menor que 10 e sem a opcionalidade e verificação de século no ano, aceitando qualquer seqüência de 4 dígitos (\d{4}) como ano. 
	//var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
	//var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
	//var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
	var reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
	//var reDate5 = /^((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}$/;
	var reDate = reDate4;
	
	var valor = strDate;
	if (reDate.test(valor)) {
		// DATA OK
	} else if (campo.value != null && campo.value != "") {
		return false;
	}
}
//------------------------------------------------------------------------------------------

	// RETIRA A SELEÇÃO DOS CHECKBOX DE UM FORM
	function deselecionarTodosCheckbox(){ 
	   for (i=0;i<document.form1.elements.length;i++) 
		  if(document.form1.elements[i].type == "checkbox") 
			 document.form1.elements[i].checked=0 
	}
	
//------------------------------------------------------------------------------------------

	// SELECIONA TODOS OS  CHECKBOX DE UM FORM
	function selecionarTodosCheckbox(){
	   for (i=0;i<document.form1.elements.length;i++) 
		  if(document.form1.elements[i].type == "checkbox") 
			 document.form1.elements[i].checked=1 
	}
	
//------------------------------------------------------------------------------------------

// VALIDA NO MOMENTO A DIGITAÇÃO PARA CAMPOS DE INCLUSÃO(EM BRANCO) - COLOCAR NO CAMPO DO FORM
// onKeyUp=" javascript: return validaDigitacao(document.form1.ASS_EMAIL,'email','E-MAIL PRINCIPAL');"
function validaDigitacao(campo,tipo,nome){
	// PARAMETROS RECEBIDOS
	var campo = campo;
	var tipo = tipo;
	var nao_digitar;
	
	// INVALIDOS EMAIL
	var nao_digitar_invalidos_email;
	nao_digitar_invalidos_email = "°ºª§¬¢£³²¹";
	nao_digitar_invalidos_email+= "'\"#$&%¨~´`*^(){}[]<>|\\/:;,!?+=";
	nao_digitar_invalidos_email+= "àçáëõãüñäéöïêâóòúù";
	nao_digitar_invalidos_email+= "ÀÇÁËÕÃÜÑÄÉÖÏÊÂÓÒÚÙ";
	nao_digitar_invalidos_email+= " ";
	// INVALIDOS URL
	nao_digitar_invalidos_url = nao_digitar_invalidos_email+"@._";
	// INVALIDOS CPF/CNPJ
	nao_digitar_invalidos_cpf_cnpj = "-";
	// A-Z 
	var nao_digitar_A_Z = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	// a-z 
	var nao_digitar_a_z = "abcdefghijklmnopqrstuvwxyz";
	// SO NÚMEROS 
	var nao_digitar_diferente_numeros;
	nao_digitar_diferente_numeros = nao_digitar_invalidos_cpf_cnpj;
	nao_digitar_diferente_numeros+= nao_digitar_invalidos_url;
	nao_digitar_diferente_numeros+= nao_digitar_A_Z;
	nao_digitar_diferente_numeros+= nao_digitar_a_z;

	if(tipo == "url"){
		nao_digitar = nao_digitar_invalidos_url;
	} else 
	if(tipo == "cep" || tipo == "cpf_cnpj" || tipo == "numero"){
		nao_digitar = nao_digitar_diferente_numeros;
	} else 
	if(tipo == "email"){
		nao_digitar = nao_digitar_invalidos_email;
	}
	
	// VERIFICA O SOLICITADO
	var campo_valor = campo.value;
	var nr_caracteres = campo.value.length;
	var nr_carac_invalidos = nao_digitar.length; 
	var x;
	var y;
	for(y=0;y<=nr_carac_invalidos;y++){
		var caracter = nao_digitar.substr(y,1);
		for(x=1;x<=nr_caracteres;x++){
			if(campo_valor.substr((nr_caracteres-1),1) == caracter){
				campo.style.backgroundColor = "yellow";
				//alert("Para o Campo "+nome+",  "+campo_valor.substr((nr_caracteres-1),1)+"  é um caracter inválido ou desnecessário e será retirado.");
					campo.value = campo_valor.substr(0,nr_caracteres-1);
				return false;
			} 
		}
	}
}
	
//------------------------------------------------------------------------------------------