/*******************************/
function mostra(varquivo,vtitulo) {
/*******************************/
//   window.open(varquivo,vtitulo,'toolbar=no,location=no,directories=no,status=no');
   window.open(varquivo,'','scrollbars=yes');
}

/***************************/
function escondeSubmit(which) {
/***************************/
//	which.disabled=true;
	which.Submit.disabled=true;
	return true;
} 

/*************************/
function checacampos(which) {
/*************************/
//formato: TSSN_nomecampo, onde:
//letra1=tipo (T)exto, (N)úmero, (S)elect, (R)adio, (D)ata, (C)heckbox
//letra2=required (S/N)
//letra3=(S/N),Checagem padrão pelo tipo do campo, texto, número, etc...
//letra4=(S/N),Checagem específica pelo nome do campo, caso email, cpf, etc...

escondeSubmit(which);
var pass=true; 
mensagem="";
if(document.images) {
   var tamanho=which.length-1;
   var tempobj=which.elements[0]; 
   for(ind=0;ind<tamanho;ind++)  { 
      var tempobj=which.elements[ind]; 
      var nomecampo=tempobj.name;
      if(nomecampo.substring(4,5)=="X")  {
         var valor=which.elements[ind].value;
         if(valor!=""&&valor.length>0)
            if(nomecampo.substring(0,1)=="T") //&&(nomecampo.substring(2,3)=="S"||nomecampo.substring(3,4)=="S"))
               which.elements[ind].value=arrumaT(which.elements[ind].value);

         mensagem="";

         //CAMPO 2 - REQUIRED S ou N
               if(nomecampo.substring(1,2)=="S") {   
                 //alert("required "+ind+" - "+tempobj.name);
                 if((nomecampo.substring(0,1)=="T"&&tempobj.value=="")
                    ||(nomecampo.substring(0,1)=="N"&&tempobj.value=="")
                    ||(nomecampo.substring(0,1)=="D"&&tempobj.value=="")
                    ||(nomecampo.substring(0,1)=="S"&&tempobj.selectedIndex==0)
                    ||(nomecampo.substring(0,1)=="C"&&tempobj.checked==false)
                    ||(nomecampo.substring(0,1)=="R"&&tempobj.selectedIndex==0)) {
                      //document.write("falhou!");
                      pass=false; 
                      mensagem="Campo não permite valor em branco";
                      break; }
               }//campo 2

          //CAMPO 3 - Checagem padrão pelo tipo de campo (T,N,D,S,R)
               if(nomecampo.substring(2,3)=="S") { 
                  if(nomecampo.substring(0,1)=="T")
                     mensagem=checaT(tempobj.value);
                  if(nomecampo.substring(0,1)=="N")
                     mensagem=checaN(tempobj.value);
                  if(nomecampo.substring(0,1)=="D") {
                     if(nomecampo.toUpperCase().indexOf("NASC")!=-1)
                        mensagem=checaD(tempobj.value,1910,2006)
                     else
                        mensagem=checaD(tempobj.value,0,0);
                  }
                  if(mensagem!="")  {
                     pass=false;
                     break; }
               }//campo 3
		
          //CAMPO 4 - Checagem pelo nome de campo (nome,cep,email,etc)
              if(nomecampo.substring(3,4)=="S") { 
                 if(nomecampo.toUpperCase().indexOf("NOME")!=-1&&nomecampo.substring(0,1)=="T")  {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       break; }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       break; }
                    mensagem=checanome(tempobj.value);
                 }
              
                 if(nomecampo.toUpperCase().indexOf("MAIL")!=-1&&nomecampo.substring(0,1)=="T")  {
                    mensagem=checaemail(tempobj.value);
                    document.formficha.elements[ind].value=document.formficha.elements[ind].value.toLowerCase();  }
                 if(nomecampo.toUpperCase().indexOf("CPF")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checacpf(tempobj.value);
                 if(nomecampo.toUpperCase().indexOf("ENDER")!=-1&&nomecampo.substring(0,1)=="T") {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       break; }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       break; }
                 }   
                 if(nomecampo.toUpperCase().indexOf("BAIRRO")!=-1&&nomecampo.substring(0,1)=="T") {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       break; }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       break; }
                 }   
                 if(nomecampo.toUpperCase().indexOf("CIDADE")!=-1&&nomecampo.substring(0,1)=="T") {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       break; }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       break; }
                 }   
                 if(nomecampo.toUpperCase().indexOf("IDENT")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checarg(tempobj.value);
                 if(nomecampo.toUpperCase().indexOf("CEP")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checacep(tempobj.value);
                 if(nomecampo.toUpperCase().indexOf("FONE")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checafone(tempobj.value);
//                 if(nomecampo.toUpperCase().indexOf("DDD")!=-1&&nomecampo.substring(0,1)=="N")
//                    if(document.formficha.NNSS_FONE.value!=''&&tempobj.value=='')  {
//                       pass=false;
//                       mensagem="Se indicou no. de telefone, deve preencher este campo!";
//                       break; }
//                 if(nomecampo.toUpperCase().indexOf("CONDI")!=-1&&nomecampo.substring(0,1)=="T")  
//                    if(document.formficha.SSNN_DEFIC.value.substring(0,1)!='N'&&tempobj.value=='')  {
//                       pass=false;
//                       mensagem="Se Indicou ser portador de necessidade, deve preencher este campo!";
//                       break; }
//                 if(nomecampo.toUpperCase().indexOf("OPC2")!=-1&&nomecampo.substring(0,1)=="S") 
//                    mensagem=checaopc2(document.formficha.SSSN_OPC1.value,tempobj.value);
                 //fte tem tres opcoes
//                 if(nomecampo.toUpperCase().indexOf("OPC3")!=-1&&nomecampo.substring(0,1)=="S") {
//                    mensagem=checaopc2(document.formficha.SSSN_OPC1.value,tempobj.value);
//                    if(mensagem==""&&tempobj.value!='999')
//                       mensagem=checaopc2(document.formficha.SSSS_OPC2.value,tempobj.value);
//                 }
                 if(nomecampo.toUpperCase().indexOf("QSC")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checaqsc(tempobj.value);
                 //if(nomecampo.toUpperCase().indexOf("ENEM")!=-1&&nomecampo.substring(0,1)=="N")
								 if(nomecampo.toUpperCase().indexOf("ENEM")!=-1&&nomecampo.substring(0,2)=="S") 
                    mensagem=checaenem(tempobj.value);


//                    if(document.formficha.SSNS_ENEM.value=='S') {
//                       if(document.formficha.NNSS_CODENEM.value==""||document.formficha.NNSS_ANOENEM.value=="") {
//                          pass=false;
//                          mensagem="Se indicou que quer utilizar o ENEM, estes dados devem ser informados!";
//                          break; }
//                       if(document.formficha.NNSS_CODENEM.value.length<12) {
//                          pass=false;
//                          mensagem="Número de inscrição no ENEM tem 12 dígitos!";
//                          break; }
//                       if(document.formficha.NNSS_ANOENEM.value<1998||document.formficha.NNSS_ANOENEM.value>2005) {
//                          pass=false;
//                          mensagem="Ano informado inválido!";
//                          break; }
//                    }
                    //mensagem=checaenem(tempobj.value);

                 if(mensagem!="")  {
                   pass=false;
                   break; }
              } //campo 4
    }}}

    if(!pass) {
       var shortfieldname=tempobj.name.substring(5,30).toUpperCase();
			 if (shortfieldname=='SPAM') shortfieldname='DESEJA_INFO';  
       var alt_txt=tempobj.title;			 
			 alert(mensagem+" - Campo: "+alt_txt+".");
			 //alert(mensagem+" - Campo: "+shortfieldname+"."); 
       //if(tempobj.name.substring(0,1)!="C"&&tempobj.name.substring(0,1)!="S")  //checkbox d  erro!
       which.elements[ind].focus();
			 //which.elements[ind].select();
			 which.Submit.disabled=false;
       return false; } 
    else 
       if(confirm("Conferiu todos os dados? Se sim, clique OK para enviar (após enviar, não será permitida alteração de nenhum dado) ou Cancelar para retornar a ficha."))
          return true;
       else  {
          which.Submit.disabled=false;
          return false;  }
}


/*************************/
function checacampos_ajax(which) {
/*************************/
//formato: TSSN_nomecampo, onde:
//letra1=tipo (T)exto, (N)úmero, (S)elect, (R)adio, (D)ata, (C)heckbox
//letra2=required (S/N)
//letra3=(S/N),Checagem padrão pelo tipo do campo, texto, número, etc...
//letra4=(S/N),Checagem específica pelo nome do campo, caso email, cpf, etc...

//escondeSubmit(which);
var pass=true; 
mensagem="";
//if(document.images) 
//{
   		
			var tempobj=document.getElementById(which); 
      //var nomecampo=tempobj.name;
			var nomecampo=which;
      if(nomecampo.substring(4,5)=="X")  
			{
         var valor=tempobj.value;
         if(valor!=""&&valor.length>0)
            if(nomecampo.substring(0,1)=="T") //&&(nomecampo.substring(2,3)=="S"||nomecampo.substring(3,4)=="S"))
               tempobj.value=arrumaT(tempobj.value);

         mensagem="";

         //CAMPO 2 - REQUIRED S ou N
               if(nomecampo.substring(1,2)=="S") {   
                 //alert("required "+ind+" - "+tempobj.name);
                 if((nomecampo.substring(0,1)=="T"&&tempobj.value=="")
                    ||(nomecampo.substring(0,1)=="N"&&tempobj.value=="")
                    ||(nomecampo.substring(0,1)=="D"&&tempobj.value=="")
                    ||(nomecampo.substring(0,1)=="S"&&tempobj.selectedIndex==0)
                    ||(nomecampo.substring(0,1)=="C"&&tempobj.checked==false)
                    ||(nomecampo.substring(0,1)=="R"&&tempobj.selectedIndex==0)) {
                      //document.write("falhou!");
                      pass=false; 
                      mensagem="Campo não permite valor em branco";
                      //break; 
											}
               }//campo 2

          //CAMPO 3 - Checagem padrão pelo tipo de campo (T,N,D,S,R)
               if(nomecampo.substring(2,3)=="S") { 
                  if(nomecampo.substring(0,1)=="T")
                     mensagem=checaT(tempobj.value);
                  if(nomecampo.substring(0,1)=="N")
                     mensagem=checaN(tempobj.value);
                  if(nomecampo.substring(0,1)=="D") {
                     if(nomecampo.toUpperCase().indexOf("NASC")!=-1)
                        mensagem=checaD(tempobj.value,1910,2006)
                     else
                        mensagem=checaD(tempobj.value,0,0);
                  }
                  if(mensagem!="")  {
                     pass=false;
                     //break; 
										 }
               }//campo 3
		
          //CAMPO 4 - Checagem pelo nome de campo (nome,cep,email,etc)
              if(nomecampo.substring(3,4)=="S") { 
                 if(nomecampo.toUpperCase().indexOf("NOME")!=-1&&nomecampo.substring(0,1)=="T")  {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       //break; 
											 }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       //break; 
											 }
                    mensagem=checanome(tempobj.value);
                 }
              
                 if(nomecampo.toUpperCase().indexOf("MAIL")!=-1&&nomecampo.substring(0,1)=="T")  {
                    mensagem=checaemail(tempobj.value);
                    document.formficha.elements[ind].value=document.formficha.elements[ind].value.toLowerCase();  }
                 if(nomecampo.toUpperCase().indexOf("CPF")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checacpf(tempobj.value);
                 if(nomecampo.toUpperCase().indexOf("ENDER")!=-1&&nomecampo.substring(0,1)=="T") {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       //break; 
											 }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       //break; 
											 }
                 }   
                 if(nomecampo.toUpperCase().indexOf("BAIRRO")!=-1&&nomecampo.substring(0,1)=="T") {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       //break; 
											 }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       //break; 
											 }
                 }   
                 if(nomecampo.toUpperCase().indexOf("CIDADE")!=-1&&nomecampo.substring(0,1)=="T") {
                    if(tempobj.value.indexOf(";")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (;)";
                       //break; 
											 }
                    if(tempobj.value.indexOf("´")!=-1)  {
                       pass=false;
                       mensagem="Caractere não permitido neste campo (')";
                       //break; 
											 }
                 }   
                 if(nomecampo.toUpperCase().indexOf("IDENT")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checarg(tempobj.value);
                 if(nomecampo.toUpperCase().indexOf("CEP")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checacep(tempobj.value);
                 if(nomecampo.toUpperCase().indexOf("FONE")!=-1&&nomecampo.substring(0,1)=="N")
                    mensagem=checafone(tempobj.value);
//                 if(nomecampo.toUpperCase().indexOf("DDD")!=-1&&nomecampo.substring(0,1)=="N")
//                    if(document.formficha.NNSS_FONE.value!=''&&tempobj.value=='')  {
//                       pass=false;
//                       mensagem="Se indicou no. de telefone, deve preencher este campo!";
//                       break; }


                 if(mensagem!="")  {
                   pass=false;
                   //break; 
									 }
              } //campo 4
    //} }
 }

    if(!pass) {
       var shortfieldname=tempobj.name.substring(5,30).toUpperCase();
			 if (shortfieldname=='SPAM') shortfieldname='DESEJA_INFO';  
       var alt_txt=tempobj.title;			 
			 alert(mensagem+" - Campo: "+alt_txt+".");
			 //alert(mensagem+" - Campo: "+shortfieldname+"."); 
       //if(tempobj.name.substring(0,1)!="C"&&tempobj.name.substring(0,1)!="S")  //checkbox d  erro!
       tempobj.focus();
			 //which.elements[ind].select();			 
       return false; } 
    else 
      // if(confirm("Conferiu todos os dados? Se sim, clique OK para enviar (após enviar, não será permitida alteração de nenhum dado) ou Cancelar para retornar a ficha."))
          return true;
//       else  {
//          which.Submit.disabled=false;
//          return false;  }
}


/**********************/
function arrumaT(Campo)  {
/**********************/
	//2espacos - acentos - upper
//	alert("entrou em ArrumaT");
	var Acentos= "áàãâÁÀÃÂéêÉÊíÍóõôÓÕÔúüÚÜçÇabcdefghijklmnopqrstuvwxyz";
	var Traducao="AAAAAAAAEEEEIIOOOOOOUUUUCCABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var Posic, Carac;
	var Templog="";
	for(var ia=0;ia<Campo.length;ia++)  {
		Carac=Campo.charAt(ia);
		Posic=Acentos.indexOf(Carac);
		if(Posic>-1)
			Templog+=Traducao.charAt(Posic);
		else
			Templog+=Campo.charAt(ia);
	}
	return(Templog);
}


/*******************/
function checaT(ptxt)  
/*******************/
{
  var letra, ccletra=0, letra1=0, letra2=0, letra3=0;

  if(ptxt.length==0)
		return "";

	for(var ins=0;ins<ptxt.length;ins++) 
	{
		letra=asc(ptxt.substring(ins,ins+1));  //letras, ponto ou hifen
		ccletra=ccletra+1;
		if(ccletra==1)
			letra1=letra;
		if(ccletra==2)
			letra2=letra;
		if(ccletra==3)
			letra3=letra;
		if(ccletra==4)  
		{
			letra1=letra;
			ccletra=1;   
		}
		if(ins==0)
			if((letra<65||letra>90)&&(letra<48||letra>57)) //primeiro caractere só letra ou numeros!
				return "Não começou com letras ou números.";
		//if((letra<65||letra>90)&&letra!=46&&letra!=45&&letra!=39&&letra!=32)
	   
		//sim: !"'(),-./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
		//nao: #$%&*+:;<=>?@[\]^_{|}~

	  //if(ins+1==ptxt.length)
		//  if((letra<65||letra>90)&&(letra<48||letra>57)) //primeiro caractere só letra ou numeros!
		//	  return "Não terminou com letras ou números.";
		if((letra>34&&letra<39)||(letra>57&&letra<65)||(letra>90&&letra<97)||letra>122||letra==42||letra==43||letra==39&&letra!=32)
			return "Caractere Estranho("+chr(letra)+").";
		if(letra1==letra2&&letra2==letra3)
			return "Caracteres repetidos("+chr(letra)+").";
	}
    
	
	return "";
}


/**********************************/
function checaD(pdata,anomin,anomax)  {
/**********************************/
	//data - anomax é o ano máximo permitido, 0 aceita tudo!idem anomin!
	var Date=new String(pdata);	

	//alert("entrou em checaD");
	var Day="";
	var Month="";
	var Year="";

   if(pdata.length==0)
		return "";

	i=0;
	for(i=0;(i<Date.length)&&(Date.charAt(i)!='/');i++)
		Day=Day+Date.charAt(i);
	i++;
	for(;(i<Date.length)&&(Date.charAt(i)!='/');i++)
		Month=Month+Date.charAt(i);
	i++;
	for(;(i<Date.length);i++)
		Year=Year+Date.charAt(i);
	if(Day==""||Month==""||Year=="")
		return "Formato DD/MM/AAAA.";
	for(i=0;i<Date.length;i++) {
		NroAsc=asc(Date.substring(i,i+1));
//		alert("NroAsc->"+NroAsc);
		if(!((NroAsc>=48&&NroAsc<=57)||(NroAsc==47)))  
			return "Formato DD/MM/AAAA.";
		}
	if(checaN(Month)!="")  
		return "Mês inválido";
        if((eval(Month)>12)||(eval(Month)<1))
		return "Mês inválido";
	if(checaN(Day)!="")
		return "Dia inválido";
        if((eval(Day)>31)||(eval(Day)<1))
		return "Dia inválido";
        if((eval(Day)==31)&&(eval(Month)==2||eval(Month)==4||eval(Month)==6||eval(Month)==9||eval(Month)==11))
		return "Dia inválido";
        if((eval(Day)==30)&&(eval(Month)==2))
                return "Dia inválido";
	if(checaN(Year)!="")
		return "Ano inválido";
	if(anomin!=0&&eval(Year)<anomin)
		return "Ano inválido";
	if(anomax!=0&&eval(Year)>anomax)
		return "Ano inválido";
	return "";
}
//178

/*******************/
function checaN(pnum)  {
/*******************/
	//<>0-9
	var k;

   if(pnum.length==0)
		return "";

	for(k=0;k<pnum.length;k++)  {
		var c=pnum.charAt(k);
		if(!(c>="0"&&c<="9")) 
			return "Este Campo só pode conter números";
	}
	return "";
}


/***********************/
function checanome(vnome)  {
/***********************/
	//checa caracteres estranhos - SÓ DEIXAR LETRAS, PONTOS, APOSTROFO E HIFEN!
	var letra, ccletra=0, letra1=0, letra2=0, letra3=0, temespaco=false;

   if(vnome.length==0)
		return "";

	for(var inm=0;inm<vnome.length;inm++) {
		letra=asc(vnome.substring(inm,inm+1));  //letras, ponto ou hifen
		ccletra=ccletra+1;
		if(ccletra==1)
			letra1=letra;
		if(ccletra==2)
			letra2=letra;
		if(ccletra==3)
			letra3=letra;
		if(ccletra==4)  {
			letra1=letra;
			ccletra=1;   }
		if(letra==32)
			temespaco=true;

		if(inm==0)
			if((letra<65||letra>90)) //primeiro caractere só letra!
				return "Não começou com letras.";
		if((letra<65||letra>90)&&letra!=46&&letra!=45&&letra!=39&&letra!=32)
			return "Caractere Estranho("+chr(letra)+").";
		if(letra1==letra2&&letra2==letra3)
			return "Caracteres repetidos("+chr(letra)+").";
		}
	if(!temespaco)
		return "Não deixou espaço entre palavras.";
	return "";
}
//226

/*********************/
function checacpf(vcpf)  {
/*********************/
	var digv="", ini=2, fim=10, soma, dgt, ic, jc;

   if(vcpf.length==0)
		return "";

	if(vcpf.length!=11)
		return "Faltando Dígitos";
	for(jc=1;jc<=2;jc++) {
		soma=0;
		for(ic=ini;ic<=fim;ic++) 
			soma+=parseInt(vcpf.substring(ic-jc-1,ic-jc))*(fim+1+jc-ic);  
		if(jc==2) 
			soma+=2*dgt;
		dgt=(10*soma)%11;
		if(dgt==10)
			dgt=0;
		digv+=dgt;
		ini=3;
		fim=11;
	}
//	alert("dac: "+dac+" - vcpf: "+vcpf+" - sub: "+vcpf.substring(vcpf.length-2,vcpf.length));
	if(digv==vcpf.substring(vcpf.length-2,vcpf.length))  
		return "";
	return "Inválido.";
}
//252

/*********************/
function checacgc(vcgc) {
/*********************/
	var df, resto, digv="";

   if(vcgc.length==0)
		return "";

	cgc=trimnumeros(vcgc);
	if ((cgc.indexOf("-")!=-1)||(cgc.indexOf(".")!=-1)||(cgc.indexOf("/")!=-1))
		return "Inválido.";
	df=5*cgc.charAt(0)+4*cgc.charAt(1)+3*cgc.charAt(2)+2*cgc.charAt(3)+9*cgc.charAt(4)+8*cgc.charAt(5)+7*cgc.charAt(6)+6*cgc.charAt(7)+5*cgc.charAt(8)+4*cgc.charAt(9)+3*cgc.charAt(10)+2*cgc.charAt(11);
	resto=df%11;
	digv+=((resto<=1)?0:(11-resto));
	df=6*cgc.charAt(0)+5*cgc.charAt(1)+4*cgc.charAt(2)+3*cgc.charAt(3)+2*cgc.charAt(4)+9*cgc.charAt(5)+8*cgc.charAt(6)+7*cgc.charAt(7)+6*cgc.charAt(8)+5*cgc.charAt(9)+4*cgc.charAt(10)+3*cgc.charAt(11)+2*parseInt(digv);
	resto=df%11;
	digv+=((resto<=1)?0:(11-resto));
	if(!digv==cgc.substring(cgc.length-2,cgc.length))
		return "Inválido.";
	return "";
}


/********************/
function checarg(pnum)  {
/********************/
	//<>0-9
	var k;

   if(pnum.length==0)
		return "";

	for(k=0;k<pnum.length;k++)  {
		var c=pnum.charAt(k);
                //minas-MG ou M / SP - -X
                if(!((c>="0"&&c<="9")||(c=="M")||(c=="G")||(c=="X"))) 
                        return "Caracteres inválidos no No. de Identidade";
	}
	return "";
}


/*************************/
function checaemail(vemail)  {
/*************************/
	var s=new String(vemail);

   if(s.length==0)
		return "";

	// { } ( ) < > [ ] | \ /
	if ((s.indexOf("{")>=0) || (s.indexOf("}")>=0) || (s.indexOf("(")>=0) || (s.indexOf(")")>=0) || (s.indexOf("<")>=0) || (s.indexOf(">")>=0) || (s.indexOf("[")>=0) || (s.indexOf("]")>=0) || (s.indexOf("|")>=0) || (s.indexOf("\"")>=0) || (s.indexOf("/")>=0) )
		return "Inválido.";
	// & * $ % ? ! ^ ~ ` ' "
	if ((s.indexOf("&")>=0) || (s.indexOf("*")>=0) || (s.indexOf("$")>=0) || (s.indexOf("%")>=0) || (s.indexOf("?")>=0) || (s.indexOf("!")>=0) || (s.indexOf("^")>=0) || (s.indexOf("~")>=0) || (s.indexOf("`")>=0) || (s.indexOf("'")>=0) )
		return "Inválido.";
	// , ; : = #
	if ((s.indexOf(",")>=0) || (s.indexOf(";")>=0) || (s.indexOf(":")>=0) || (s.indexOf("=")>=0) || (s.indexOf("#")>=0) )
		return "Inválido.";
	// procura se existe apenas um @
	if ( (s.indexOf("@") < 0) || (s.indexOf("@") != s.lastIndexOf("@")) )
		return "Inválido.";
	// verifica se tem pelo menos um ponto após o @
	if (s.lastIndexOf(".") < s.indexOf("@"))
		return "Inválido.";
        // verifica se tem um ponto após o @
        if (s.indexOf(".") == (s.indexOf("@")+1))
		return "Inválido.";
        // verifica se tem um ponto antes do @
        if ((s.indexOf(".")+1) == s.indexOf("@"))
		return "Inválido.";
        // verifica come‡a por @
        if (s.indexOf("@")==0)
		return "Inválido.";
	return "";
}



/*********************/
function checaender(vend)  {
/*********************/
   alert("entrou em checaender");
   if(vend.length==0)
		return "";

        // { } < > [ ] | 
        if ((vend.indexOf("{")>=0) || (vend.indexOf("}")>=0) || (vend.indexOf("<")>=0) || (vend.indexOf(">")>=0) || (vend.indexOf("[")>=0) || (vend.indexOf("]")>=0) || (vend.indexOf("|")>=0) )
		return "Inválido.";
	// & * $ % ? ! ^ ~ ` ' "
        if ((vend.indexOf("&")>=0) || (vend.indexOf("*")>=0) || (vend.indexOf("$")>=0) || (vend.indexOf("%")>=0) || (vend.indexOf("?")>=0) || (vend.indexOf("!")>=0) || (vend.indexOf("^")>=0) || (vend.indexOf("~")>=0) || (vend.indexOf("`")>=0) || (vend.indexOf("'")>=0) )
		return "Inválido.";
        // ; = #
        if ((vend.indexOf(";")>=0) || (vend.indexOf("=")>=0) || (vend.indexOf("#")>=0) )
		return "Inválido.";
	return "";
}


/*********************/
function checaend(vend)  {
/*********************/
   alert("entrou em checaend");
}


/*********************/
function checacep(vcep) {
/*********************/
	ncep=new String(vcep);

   if(ncep.length==0)
		return "";

        if((ncep.length!=8)&&(ncep.length!=5))
                return "Tamanho Inválido.";
	return "";
}

//305

/***********************/
function checafone(vfone) {
/***********************/
        nfone=new String(vfone);

   if(nfone.length==0)
		return "";

        if((nfone.length!=8)&&(nfone.length!=7))
                return "Tamanho Inválido.";
	return "";
}

/***********************/
function checaopc2(s1,s2)  {
/***********************/
	//NAO pode ser igual a primeira!
	if(s1==s2)
                return "Segunda Opção não pode ser igual à primeira, selecione outra ou escolha 'Sem segunda opção'";
	return "";
}
//314
/***********************/
function checaenem(venem)  {
/***********************/
   nenem=new String(venem);
   if((nenem.length!=0)&&(nenem.length!=12))
      return "Tamanho Inválido.";
	return "";
}

/***********************/
function checaopcprova(s)  {
/***********************/
	return "";
}

/******************/
function checaqsc(s)  {
/******************/
        if(s.length<2)  //armengue p/ residencia indicadores
                return "Tamanho Inválido.";

//        if(eval(s)<00||eval(s)>99)
//                return "Item fora da faixa de valores.";
	return "";
}


/***************************/
function trimnumeros(vstr)  {
/***************************/
	nstr=new String(vstr);
	sf="";
	for(k=0;k<nstr.length;k++)  {
		dg=nstr.charat(k);
		if(asc(dg)>=48&&asc(dg)<=57)  //0-9
			sf=sf+dg; 
	}
	return sf;
}

//350
/************************/
function listacaracteres()  {
/************************/
	var lista
	lista=' !"#$%&\'()*+,-./0123456789:;<=>?@'  //\' é igual a ' !!!
	lista+= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'        //A=65
	lista+= '[\]^_`abcdefghijklmnopqrstuvwxyz'  //a=97
	lista+= '{|}~'
	return lista
}
//361
/****************/
function chr(vchr)  {
/****************/
	var ilista;
	var todos=listacaracteres();
	ilista=vchr-32;
	if(ilista>0)	
	  return todos.charAt(ilista);
	return "";
}

/****************/
function asc(vchr)  {
/****************/
	var ilista=32;
	var todos=listacaracteres();
	for(ii=0;ii<todos.length;ii++) {
		if(vchr==todos.substring(ii,ii+1)) {
			ilista=ilista+ii;
			return ilista;
		}
	}
	return -1;
}

/******************/
function asc2(vchar) {
/******************/
	vc=new String(vchar);
	alert(""+vc+"->"+escape(2));
	return parseInt(escape(vc));  //.substring(1,4));  //unescape() retorna chr() precedido de "%asc"
}

