// Valida um grupo de caracteres dentro do que foi digitado
function verifica(campos){
	campos=campos.split("-");
	for(i=0;i<campos.length;i++){
		if (document.form1.elements[campos[i]].value==""){
			alert('Favor preencher todos os campos obrigatórios');
			document.form1.elements[campos[i]].focus();
			return false;
		}
	}
}

function deleta(pagina){
	if(confirm('Deseja realmente deletar este item?')){
		location.href=pagina;
	}
}

function isLetra( caractere, strValidos ){
	if ( strValidos.indexOf( caractere ) == -1){
    	return false;
	}
    return true;
}

// LE APENAS NUMEROS E A BARRA
function ssledata(data) {
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789"

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);
        
        if ( tecla == BACKSPACE ){
                return true;
		}else{
			tam = data.value.length;
			if ((tam == 2) || (tam == 5)){
				data.value = data.value + "/";
			}else if (tam == 10){
				key = "^";				
			}
		}
        return ( isLetra(key, strValidos)); 
}

// LÊ APENAS NÚMEROS
function ssleord(numero) {
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789"

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);
        
        if ( tecla == BACKSPACE ){
        	return true;
		}
        return ( isLetra(key, strValidos)); 
}

function sslereal(numero) { //v2.0
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789."

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);
        
        if ( tecla == BACKSPACE )
                return true;
        return ( isLetra(key, strValidos));
}

function sslecampo(campo, event)
	{
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789abcdefghijlmnopqrstuvxzwyk012êéèâôâíóàáíìùúãõçABCDEFGHIJLMNOPQRSTUVXZWYKÂÊÔÁÉÍÀÓÃÕÇ/\\!?@#$%&*-_=+[](){};,.| "
//		var strValidos = "^a]"

        CheckTAB=true;
        tecla= event.keyCode;
        key = String.fromCharCode(tecla);

        if ( tecla == BACKSPACE )
                return true;
        return ( isLetra(key, strValidos));   
} 

function ssUpper(campo, event){
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789abcdefghijlmnopqrstuvxzwyk012êéèâôâíóàáíìùúãõçABCDEFGHIJLMNOPQRSTUVXZWYKÂÊÔÁÉÍÀÓÚÃÕÇ/\\!?@#$%&*-_=+[](){};,.| ";

        CheckTAB=true;
        tecla= event.keyCode;
        
		key = String.fromCharCode(tecla).toUpperCase();		
		
        if ( tecla == BACKSPACE ){
        	return true;
		} else {
			if ( strValidos.indexOf(key) == -1){
		    	return false;
			} else {
				window.event.keyCode = key.charCodeAt();
			}
		}
}

function ssopenwin(theURL,winName,features) {
  window.open(theURL,winName,features);
}

/*function sslecampo(campo) { //v2.0
	tecla= event.keyCode;
		
        key = String.fromCharCode(tecla);
	alert(key);
    var strValidos = "0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK "
    if ( strValidos.indexOf( key ) == -1 ){
       return false;
	}
}*/

function ssleestado (formulario){ 
	if (formulario.value == ""){
		alert ("Favor selecionar o estado");
		
	}
}

// Monta a data atual
function hoje(data){
	if (data.value.length < 10){
		dataatual = new Date();
		dia = dataatual.getDate();
		
		if (dia < 10){
			dia = "0" + dia;}
			
		mes = (dataatual.getMonth() + 1);
		
		if (mes < 10){
			mes = "0" + mes;}
			
		ano = dataatual.getYear();	
		
		data.value = (dia + "/" +  mes + "/" + ano);
	}
}

//inicio da validação de data
function validata(pData){
pData2 = pData;
pData = pData.value;
		if(pData.length<1){			
			return false;
		}
		if (pData.length<10 && pData.length>=1) {
			alert('Data inválida\nInforme a data no formato (dd/mm/aaaa)');
			pData2.focus();
			return false;
		}
		var ano = '' + pData.substring(6,10);
		var mes = '' + pData.substring(3,5);
		var dia = '' + pData.substring(0,2);
					
		if(dia>'31'){
			alert('Data inválida\nDia Inesistente');
			pData2.focus();
			return false;
		}
							
		if(mes>'12'){
			alert('Data inválida\nMes Inesistente');
			pData2.focus();
			return false;
		}

		if(mes=='02'){
			if(ano%4!=0 && dia>'28'){
				alert('Data Inválida\nEste mes tem apenas 28 dias');
				pData2.focus();
				return false;
			}
			else{
				if(dia>'29'){
					alert('Data Inválida\nEste mes tem apenas 29 dias');
					pData2.focus();
					return false;
				}
			}
		}
		if(mes<='07'){
			if(mes%2==0 && dia>'30'){
				alert('Data inválida\nDia Inesistente');
				pData2.focus();
				return false;
			}
		}
		else{
			if(mes>'08'){
				if(mes%2!=0 && dia>'30'){
					alert('Data inválida!\nDia Inesistente');
					pData2.focus();
					return false;
				}
			}
		}
		
		 //return form_save();		
		//alert('Data correta!!!');			
		return true
	}
		function fCvData(pData,De,Para){
	// 1 - (DD/MM/AAAA)
	// 2 - (MM/DD/AAAA)
	// 3 - (AAAAMMDD)
		switch(De){
			case 1:{
				var ano = '' + pData.substring(6,10);
				var mes = '' + pData.substring(3,5);
				var dia = '' + pData.substring(0,2);
				break;			}
			case 2:{
				var ano = '' + pData.substring(6,10);
				var mes = '' + pData.substring(0,2);
				var dia = '' + pData.substring(3,5);
				break;
			}
			case 3:{
				var ano = '' + pData.substring(0,4);
				var mes = '' + pData.substring(4,6);
				var dia = '' + pData.substring(6,8);
				break;
			}
		}
			if(validata(dia+'/'+mes+'/'+ano)!=True){
				alert('Data inválida');
				pData2.focus();
				return null;
			}

		switch(Para){
			case 1:{
				var datafinal = dia+'/'+mes+'/'+ano;
				break;
			}
			case 2:{
				var datafinal = mes+'/'+dia+'/'+ano;
				break;
			}
			case 3:{
				var datafinal = ano+mes+dia;
				break;
			}
		}
		
		return datafinal
	}
//final da validação de data

function abre_status(pagina){
	window.open(pagina,'janalestatus','width=250,height=100,scrolling=no,toolbars=no,left=250,top=250');
}
// ####<<<< INICIO DA VALIDAÇÃO DE CNPJ/CGC >>>>#### //

function ssvcpf(pCPF_CNPJ){
	if(pCPF_CNPJ.value==''){
		//alert('Por favor informe o CNPJ');
		//document.form1.cnpj.focus();
	}
	else{
		pfValidaCNPJ(pCPF_CNPJ, 'Número inválido')
	}
			
}

function pfValidaCNPJ(msCNPJ, msMSG){
	if (!(checa(msCNPJ.value, msMSG))){
		//msCNPJ.focus();
		return false;
	}
	else{ 
		return true; 
	}
}

function checa(msCNPJ, msMSG){
	if ((msCNPJ.length != 15) && (msCNPJ.length !=11)){
		alert(msMSG);
		return false;
	}
			  
	if ((!(modulo(msCNPJ.substring(0,msCNPJ.length - 2)).toString()+modulo(msCNPJ.substring(0,msCNPJ.length - 1)).toString() == msCNPJ.substring(msCNPJ.length - 2,msCNPJ.length))) && (modulo_cic(msCNPJ.substring(0,msCNPJ.length - 2)) + "" + modulo_cic(msCNPJ.substring(0,msCNPJ.length - 1)) != msCNPJ.substring(msCNPJ.length - 2,msCNPJ.length))){
		alert(msMSG);
		return false;
	}
	return true;
}

function modulo(msCNPJ){
soma=0;
ind=2;
				
	for(pos=msCNPJ.length-1;pos>-1;pos=pos-1){
		soma = soma + (parseInt(msCNPJ.charAt(pos)) * ind);
		ind++;
			      
		if(msCNPJ.length>11){ 
			if(ind>9) ind=2; 
			}
		}
				
	resto = soma - (Math.floor(soma / 11) * 11);
					 
		if(resto < 2){ 
			return 0; 
		}
		else{ 
			return (11 - resto); 
		}
}


function modulo_cic(msCNPJ){
soma=0;
ind=2;
	for(pos=msCNPJ.length-1;pos>-1;pos=pos-1){
		soma = soma + (parseInt(msCNPJ.charAt(pos)) * ind);
		ind++;
				 
		if(msCNPJ.length>11){	
			if(ind>9) ind=2; 
			}
		}				
				
		resto = soma - (Math.floor(soma / 11) * 11);
					  
		if(resto < 2){	
			return 0; 
		}
		else{ 
			return 11 - resto;
		}
}
// ####<<<< FINAL DA VALIDAÇÃO DE CNPJ/CGC >>>>#### \\
// ####<<<< TRAVA DO BOTÃO DIREITO DO MOUSE >>>>#### \\
 function travaMouse() {
/* if (window.Event) 
document.captureEvents(Event.MOUSEUP); 
function nocontextmenu() 
{ 
event.cancelBubble = true 
event.returnValue = false; 
return false; 
} 
function norightclick(e) 
{ 
if (window.Event) 
{ 
if (e.which == 2 || e.which == 3)
return false; 
} 
else 
if (event.button == 2 || event.button == 3) 
{ 
event.cancelBubble = true 
event.returnValue = false; 
alert("Código fonte indisponível");
return false; 
} 

} 
if (document.layers) { 
document.captureEvents(Event.MOUSEDOWN); 
} 
document.oncontextmenu = nocontextmenu; 
document.onmousedown = norightclick; 
document.onmouseup = norightclick; */
}
// <<<<#### FiNAL DO CÓDIGO DE TRAVA ####>>>> \\


// ================= Funcoes para rollover do menu principal
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//============== Fim das funcoes do rollover do menu principal

function inverteData(data,campo){
campos = data.value.split('/');
alert(campo);
campo.value = campos[1] + '/' + campos[0] + '/' + campos[2];
}

//=========== Inicio da Função para adicionar zeros a esquerda
function sto(numero,casa){	
	tam = numero.length;
	if (tam<casa){
		for (i=tam;i<casa;i=i+1){
		numero='0'+numero;
		}	
	}
	return numero;
}
function rsto(numero,casa){
	numero.value=sto(numero.value,casa)
}
//=========== Final da Função para adicionar zeros a esquerda
//função para os campo de consulta
function textoReq(texto){
	if (texto.value == ""){
		alert('Se você não preencher o campo,\nserão listados todos os registros.')
	}
}
//função para campos requeridos nos formulários
function campoReq(campo1,campo2,campo3,campo4,campo5){
erro = false;
	if (campo1 != null){
		if (campo1.value == ""){
			erro = true;
			campo1.focus();
		}
		else if (campo2 != null){
			if (campo2.value == ""){
				erro = true;
				campo2.focus();
			}
			else if (campo3 != null){
				if (campo3.value == ""){		
					erro = true;
				campo3.focus();
				}
				else if (campo4 != null){
					if (campo4.value == ""){		
						erro = true;
						campo4.focus();
					}
					else if (campo5 != null){
						if (campo5.value == ""){		
							erro = true;
							campo5.focus();
						}
					}
				}
			}
		}
	}
	if (erro==false){
		return salvar();
	}
	else{
		alert("Favor preencher todos os campos requeridos.");
		return false;
	}
}

function sslehora(hora){
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789"

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);
        
        if ( tecla == BACKSPACE ){
                return true;
		}else{
			tam = hora.value.length;
			if (tam == 2){
				hora.value = hora.value + ":";
			}else if (tam == 5){
				key = "^";
			}
		}
		return ( isLetra(key, strValidos));
}

function ssvhora(hora){
xhora = hora.value
var hor = '' + xhora.substring(0,2);
var minuto = '' + xhora.substring(3,5);
	if ((hor > 23)||(minuto>59)){
		alert('Hora Inválida!');
		hora.focus();
	}
}

function hratual(hora){
	if (hora.value.length < 10){
		horaatual = new Date();
		hr = horaatual.getHours();
		mn = horaatual.getMinutes();
		if (hr<10){
			hr = '0'+hr;
		}
		if (mn<10){
			mn = '0'+mn;
		}
		hora.value = hr+':'+mn;
	}
}

//Função para campos com numeros e pontos..
function sslectb(ctb,padrao) { 
       // onKeyPress="return sslectb(this,'XX.XXX.XXX.X', event)"
	    var BACKSPACE = 8;
        var key;
        var tecla;
		var strValidos = "0123456789"
	 
	    CheckTAB=true;
        tecla= event.keyCode;
        key = String.fromCharCode( tecla);
        if ( tecla == BACKSPACE ){
                return true;
		} else {
			tam = padrao.length;
			pos = ctb.value.length;
			if (padrao.substring(pos,pos+1) == ".") {
				ctb.value = ctb.value + ".";
			}else if (pos > tam-1){
				key = "^";
			}
		}
        return ( isLetra(key, strValidos)); 
}

function valida_ano(campo){
	if(campo.value.length<4){		
		alert('Favor informar o ano com 4 digitos');
		return false;
	}
}

function uppercase(campo){
	    var BACKSPACE = 8;
        var key;
        var tecla;
		var strValidos = "0123456789"
	 
	    CheckTAB=true;
        tecla= event.keyCode;
        key = String.fromCharCode(tecla);

		if ( (tecla == BACKSPACE)||(tecla==37)||(tecla==39)||(tecla==46)||(tecla==35)||(tecla==36)||(tecla==17)||(tecla==18) ){
            return true;
		} else {	
			campo.value=campo.value.toUpperCase();
		}
}