//=====================================  VALIDAO DOS CAMPOS, E VERIFICA OS CAMPOS QUE SO NMERICOS E EMAIL ==============================
//============================================================================================================================================
//============================================================================================================================================


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_validateForm() { //v4.0 
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; 
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); 
if (val) { nm=val.name; if ((val=val.value)!="") 

//Email 
{ 
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); 
if (p<1 || p==(val.length-1)) errors+='- '+nm+' não contém um e-mail com sintaxe válida.\n';  // esse p é a primeira parte do email 
} 

//validar números requeridos 
else if (test!='R') { num = parseFloat(val); 
if (isNaN(val)) errors+='- '+nm+' Somente números.\n'; 
if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); 
min=test.substring(8,p); max=test.substring(p+1); 
if (num<min || max<num) errors+='- '+nm+' o número precisa estar entre '+min+' e '+max+'.\n'; 
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é obrigatório.\n'; } 
} 
// Errores 
if (errors) alert('Erro ao submeter o formulário:\n'+errors); 
document.MM_returnValue = (errors == ''); 
}

//============================================================================FUNO DE VERIFICAO DE DATA SE ESTA CORRETA ==============
//========================================================================================================================================
//========================================================================================================================================


function valida_data(Wparam) {
      if (Wparam.value != ""){
      barra = Wparam.value.indexOf("/")
      dia = Wparam.value.substring(0,barra) 
      string1 = Wparam.value.substring(barra+1) 
      barra = string1.indexOf("/")
      mes = string1.substring(0,barra)
      ano = string1.substring(barra+1)
      data = dia + mes + ano
      if (data.length < 8) {
      alert("O formato correto da data  dd/mm/aaaa");
      Wparam.focus();
      return false;
      }
      if (dia > 31 || dia < 1){
      alert("Dia digitado  invlido");
      Wparam.focus();
      return false;
      }
      if (mes > 12 || mes < 1){
      alert("Ms digitado  invlido");
      Wparam.focus();
      return false;
      }
      if (mes == 4 || mes == 6 || mes == 9 || mes == 11){
      if (dia > 30){
      alert("O ms "+mes+" possui 30 dias");
      Wparam.focus();
      return false;
      }
      }
      if (mes == 02){
      bis = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
      if (dia>29 || (dia==29 && !bis)){
      hoje = new Date()
      anoh = hoje.getYear()
      mesh = hoje.getMonth()
      if (anoh > ano) { t = "teve" }
      else { 
      if(anoh < ano){ t = "ter" }
      else{
      if(mesh > 2){ t = "teve" }
      else{
      if(mesh < 2){ t = "ter"}
      else{ t = "tem"
      }
      }
      }
      }
      alert("Fevereiro do ano "+ano+" no "+t+" "+dia+" dias");
      Wparam.focus();
      return false;
      }
      }
}
}



function Verifica_Cep(cep, obrigatorio){   
//Se o parâmetro obrigatório for igual à zero, significa que elepode estar vazio, caso contrário, não   
    var cep    = document.getElementById(cep);   
		//alert (cep);
    var strcep = cep.value;   
    if((obrigatorio == 1) || (obrigatorio == 0 && strcep != "")){   
        if (strcep.length != 9){   
            alert("CEP informado inválido.");   
            cep.focus();   
            return false   
        }else{   
            if (strcep.indexOf("-") != 5){   
                alert("Formato de CEP informado inválido.");   
                cep.focus();   
                return false   
            }else{   
                if (isNaN(strcep.replace("-","0"))){   
                    alert("CEP informado inválido.");   
                    cep.focus();   
                    return false   
                }   
            }   
        }   
    }       
}   



function mascaraCep(objeto){
	if (objeto.value.indexOf("-") == -1 && objeto.value.length > 5){ objeto.value = ""; }
	if (objeto.value.length == 5){
		objeto.value += "-";
	}
	
}



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;

function doDate(data, pFmt)
{
  var data = document.getElementById(data);
	var pStr = data.value; 
	var Wparam = data.value; 
      barra = Wparam.indexOf("/");
      dia = Wparam.substring(0,barra) ;
      string1 = Wparam.substring(barra+1);
      barra = string1.indexOf("/");
      mes = string1.substring(0,barra);
      ano = string1.substring(barra+1);
     // data = dia + mes + ano;
			//alert (ano);
			
	var alerta = false;			
	eval("reDate = reDate" + pFmt);
	if (reDate.test(pStr)) {
		//alert(pStr + " é uma data válida.");
	} else if (pStr != null && pStr != "") {
		//alert(pStr + " NÃO é uma data válida.");
		//data.focus();
		var alerta = true;	
		
	}
      if (mes == 02){
      bis = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
      if (dia>29 || (dia==29 && !bis)){
			var alerta = true;	
      }	
			}
			if (alerta == true){
  		alert(pStr + " NÃO é uma data válida.");
  		data.focus();			
			}
} // doDate


function SomenteNumero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 47 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true;
    }
}			
 
 function SomenteNumeroSemZero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 48 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true ;
    }
}		


      function AbreJanela(arquivo)
      {
      
         var janela =window.open(arquivo,'nenWin','resizable=yes,toolbar=no,status=no,menubar=no,scrollbars=no, personalbar=no,fullscreen');
      	 if(janela == null)
      	 		alert("Não foi possível acessar o ambiente de submissão. Desative o seu bloqueador de Pop-up para esse site");
      	 
      }


				function mostrarTopicosAjuda(destino){
      								// showBox();
    									 requisicao(destino,'staticbuttons');
											 document.getElementById('staticbuttons').style.display="inline";
      								// document.getElementById('carregadiv').style.width=400;
    									// document.getElementById("showimage").style.left = screen.availWidth - 410;
				}		

					
function validacpf(s){ 
										//INI Alt 2rios para seguencia de números iguais
										var trava = false;
										var numanterior = 0;
										for (x=0;x<10;x++) {
										num = s.substr(x,1); 
										
										if (x!=0 && num!=numanterior){trava=true;}
                    numanterior = num; 										
										}
										if (trava == false){return false;}
										//FIM				
				
				
  									 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; } 
                     return true; 
            } 
						function valida_cnpj(CNPJ){  
						    if(Vale = (CNPJ.length == 14))     
								for(z=0;z<2;z++){       
								   Soma = 0;        
									 for(i=(5+z),j=0;j<(12+z);i--,j++){          
									     Soma += (CNPJ.substr(j, 1) * i);           
											 if(i == 2) i = 10;        
									 }        
									 Fim = (((Soma % 11) < 2) ? 0 : (((Soma % 11) == 10) ? 1 : 11-(Soma % 11)));       
									 if(!(Vale = (CNPJ.substr((12+z),1) == Fim)))           
									     break;     
								}  
								if (Vale == false){return false;}
								return Vale;
					}   

					
					

function formataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;    
    // 13=enter, 8=backspace as demais retornam 0(zero)
    // whichCode==0 faz com que seja possivel usar todas as teclas como delete, setas, etc    
    if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))
    	return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
 
 
    if (strCheck.indexOf(key) == -1) 
    	return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) 
        	break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) 
        	aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) 
    	objTextBox.value = '';
    if (len == 1) 
    	objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) 
    	objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        	objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}

