
// Funções de validação das páginas
// Última Alteração: 29/02/2000
// alert('java');

//==============================================================================================
// Variáveis Globais
// Amanda
//==============================================================================================
    var form  = document.formulario;
    var msg   = "";
    var campo = "";
    var campos = "";
	  var contador = "1";

//==============================================================================================
// Função principal que validará cada campo, chamando todas as funções de validação necessárias
// para o mesmo.
// Amanda
//==============================================================================================
    function Validar_Formulario(pagina){
//      alert('entrei Validar_Formulario');
      var mensagem = "";
      var senha1_preenchida = false;
      var senha2_preenchida = false;
      var Parcela_Invalida = false;
      form =  document.formulario;
      var num_elementos =  form.elements.length;
      // Retorna caso o login cadastrado contenha algum dado
//      if ((pagina=="CS") && (form.Login_Cadastrado.value != "")) return true;
      if ((pagina=="ID") || (pagina=="MC")){
         if(!Verifica_Check('Unidade')) {
            mensagem = 'Selecione alguma unidade. \n';
            campo = form.Marcar_Todos;
         }
      }
      for (var i = num_elementos-1; i >= 0 ; i--){	  	   
        var elemento = form.elements[i].name;
//		alert(elemento);
         if ((pagina=="CU") && (form.Login_Cadastrado.options[form.Login_Cadastrado.selectedIndex].value != "") && (elemento != "Codigo_Unidade"))
             continue;
        //validando o campo Nome_Entidade
        if(elemento == "Nome_Entidade"){
          if ((IsEmpty(form.Nome_Entidade)) && ((pagina == 'CC') || (pagina == "CS") || (pagina == "CU") || (pagina == "CM")|| (pagina == "CA"))){
            campo = form.Nome_Entidade;
            mensagem = "Informe o Nome \n\n" + mensagem ;
            continue;
          }
        }
		//validando o campo de Email
		if (elemento == "Email"){
		   if (IsEmpty(form.Email) && (pagina == "CA")){
		      campo = form.Email;
              mensagem = "Informe o E-mail \n\n" + mensagem ;
              continue;
		   }
	   
		   if ( (IsEmpty(form.Email) ) && 
		       ( (form.Toda_Correspondencia.checked) || (form.Agenda_Pagamentos.checked) || 
			     (form.Agenda_Eventos.checked) ||
			     ( ((pagina == "CU") || (pagina == "CM")) && (form.Balancete_Email.checked) 
				 )
			   )
			  ) {
			   mensagem = "Você optou por receber informações por e-mail. \nInforme o seu e-mail. \n\n" + mensagem;
               campo = form.Email;
               continue;
		   }		   
		}		 
		//validando o campo Tipo_Endereco
		if (elemento == "Tipo_Endereco"){	
		   if (((pagina == "CU") || (pagina == "CM"))&& (form.Tipo_Endereco.style.backgroundColor == "#eeeeee")){ 
		     continue;			 
		   }		   
		   else if ((IsEmpty(form.Tipo_Endereco)) && ((pagina == 'CC')|| (pagina == "CU") || (pagina == "CM")|| (pagina == "CS") || (pagina == "CA"))){
		      campo = form.Tipo_Endereco;
			  mensagem = "Informe o Tipo de Endereço \n\n" + mensagem;
			  continue
		   }
		}
		//validando o campo de Endereço
		if (elemento == "Endereco"){			   
		   if (((pagina == "CU")||(pagina == "CM")) && (form.Endereco.style.backgroundColor == "#eeeeee")){ 
		     //alert('entrei');
		     continue;			 
		   }		   
		   else if ((IsEmpty(form.Endereco)) && ((pagina == 'CC')|| (pagina == "CU") || (pagina == "CM")|| (pagina == "CS") || (pagina == "CA"))){
		      campo = form.Endereco;
			  mensagem = "Informe o Endereço \n\n" + mensagem;
			  continue
		   }
		}
		//validando o campo de Bairro
		if (elemento == "Bairro"){
		   if (((pagina == "CU") || (pagina == "CM") )&& (form.Bairro.style.backgroundColor == "#eeeeee")){ 		     
		     continue;			 
		   }		   
		   if ((IsEmpty(form.Bairro)) && ((pagina == 'CC') || (pagina == "CU") || (pagina == "CM") || (pagina == "CS") || (pagina == "CA"))){
              campo = form.Bairro;
			  mensagem = "Informe o Bairro \n\n" + mensagem;
			  continue
		   }
		}
		
		//validando o campo de Chave de acesso
		if (elemento == "chave"){
		   if (IsEmpty(form.chave)){
              campo = form.chave;
			  mensagem = "Informe a Chave de Acesso \n\n" + mensagem;
			  continue
		   }
		}
		
		//validando o campo cep
        if(elemento == "CEP"){
          if ( !Validar_Campo_Numerico(form.CEP, "-.") ){
            campo = form.CEP;
            mensagem = "O CEP possui caracteres inválidos \nCaracteres válidos:'0123456789 - .'\n\n" + mensagem ;
            continue;
          }
		  if (((pagina == "CU")|| (pagina == "CM")) && (form.CEP.style.backgroundColor == "#eeeeee")){ 		     
		     continue;			 
		   }
//		  if ((IsEmpty(form.CEP)) && ((pagina == 'CC') || (pagina == "CU") || (pagina == "CS") || (pagina == "CA"))){
//		     campo = form.CEP;
//             mensagem = "Informe o CEP \n\n" + mensagem;
//             continue;
//		  }
        }
		//validando o campo Municipio
		if (elemento == "Municipio"){
		   if (((pagina == "CU") || (pagina == "CM"))&& (form.Municipio.style.backgroundColor == "#eeeeee")){ 		     
		     continue;			 
		   }
		   if ((IsEmpty(form.Municipio)) && ((pagina == 'CC') || (pagina == "CU") || (pagina == "CM") || (pagina == "CS") || (pagina == "CA"))){
		     campo = form.Municipio;
             mensagem = "Informe o Municipio \n\n" + mensagem;
             continue;
		   }
		}
		//validando o campo Estado
		if (elemento == "Estado"){
		   if (((pagina == "CU") || (pagina == "CM"))&& (form.Estado.style.backgroundColor == "#eeeeee")){ 		     
		     continue;			 
		   }
		   if ((IsEmpty(form.Estado)) && ((pagina == 'CC') || (pagina == 'CA') || (pagina == "CU") || (pagina == "CM") || (pagina == "CS") || (pagina == "CA"))){
		     campo = form.Estado;
             mensagem = "Informe o Estado \n\n" + mensagem;
             continue;
		   }
		}
		
		// validando creci
		if (elemento == "Creci"){
		   if (IsEmpty(form.Creci)){
		      campo = form.Creci;
              mensagem = "Informe o Creci \n\n" + mensagem;
		   }	  
           continue;
		}	  
		
		// validando campo email
		if (elemento == "Email"){
		   if ((IsEmpty(form.Email)) && (pagina == "CA")){
		      campo = form.Email;
              mensagem = "Informe o email \n\n" + mensagem;
              continue;
		   } else {
		     if ((!IsEmpty(form.Email)) && (!Valida_Email(form.Email.value))){
		      campo = form.Email;
              mensagem = "Email inválido \n\n" + mensagem;
              continue;
			   
			 } 
		   }		
	       	
		}		
		
		//validando o campo Complemento_Unidade
		if (elemento == "Complemento_Unidade") {		   
		   if ((IsEmpty(form.Complemento_Unidade)) && ((pagina == "CU") || (pagina == "CM"))){
		      campo = form.Complemento_Unidade;
              mensagem = "Informe o Complemento da unidade \n\n" + mensagem;
              continue;
		   }
		}
		//validando o campo Destino_Cobranca
		/*if (elemento == "Destino_Cobranca"){		
		   if ((form.Destino_Cobranca.value == "Outro Endereço") && ((IsEmpty(form.Endereco)) ||  
		       (IsEmpty(form.Bairro)) || (IsEmpty(form.Cep)) || (IsEmpty(form.Municipio))
			   (IsEmpty(form.Estado)))){   
		      campo = form.Destino_Cobranca;
              mensagem = "Quando o envio de correspondência é para outro endereço, \nos campos Endereço, Bairro, CEP, Município e Estado \nsão de preenchimento obrigatório. \n\n" + mensagem ;
			  continue;   
		   }		   		   
		}*/
		//validando o Codigo_Unidade
        if(elemento == "Codigo_Unidade"){
		  if (!Validar_Campo_Numerico(form.Codigo_Unidade, "")){
		      campo = form.Codigo_Unidade;
              mensagem = "O Número possui caracteres inválidos \nCaracteres válidos:'0123456789 '\n\n" + mensagem ;
              continue;   
		  }
          if (IsEmpty(form.Codigo_Unidade)){
            campo = form.Codigo_Unidade;
            mensagem = "Informe o Número \n\n" + mensagem ;
            continue;
          }
        }        
        //validando o Desconto/Multa
        if(elemento == "Desconto_Multa_1") {
           msg = Verifica_Multa_Desconto();
           if (msg != "") {
              campo = form.Dias_1;
              mensagem = msg + mensagem;
           }
        }
		//validando o campo  DDD_Residencial
		if(elemento == "DDD_Residencial"){
          if ( !Validar_Campo_Numerico(form.DDD_Residencial, "() ")) {
            campo = form.DDD_Residencial;
            mensagem = "O DDD do telefone residencial possui caracteres inválidos \n Caracteres válidos:'(0123456789)' \n\n" + mensagem ;
            continue;
          }
        }
        //validando o campo  Telefone_Residencial
        if(elemento == "Telefone_Residencial"){
          if ( !Validar_Campo_Numerico(form.Telefone_Residencial, "(-) ")) {
            campo = form.Telefone_Residencial;
            mensagem = "O telefone residencial possui caracteres inválidos \n Caracteres válidos:'(0123456789)-' \n\n" + mensagem ;
            continue;
          }
        }
		//validando o campo  DDD_Comercial
		if(elemento == "DDD_Comercial"){
          if ( !Validar_Campo_Numerico(form.DDD_Comercial, "() ")) {
            campo = form.DDD_Comercial;
            mensagem = "O DDD do telefone comercial possui caracteres inválidos \n Caracteres válidos:'(0123456789)' \n\n" + mensagem ;
            continue;
          }
        }
        //validando o campo  Telefone_Comercial
        if(elemento == "Telefone_Comercial"){
          if ( !Validar_Campo_Numerico(form.Telefone_Comercial, "(-) ")) {
            campo = form.Telefone_Comercial;
            mensagem = "O Telefone Comercial possui caracteres inválidos \n Caracteres válidos:'0123456789 ()-'\n\n" + mensagem;
            continue;
          }
        }
		//validando o campo  DDD_Movel
		if(elemento == "DDD_Movel"){
          if ( !Validar_Campo_Numerico(form.DDD_Movel, "() ")) {
            campo = form.DDD_Movel;
            mensagem = "O DDD do telefone móvel possui caracteres inválidos \n Caracteres válidos:'(0123456789)' \n\n" + mensagem ;
            continue;
          }
        }
        //validando o campo  Telefone_Movel
        if(elemento == "Telefone_Movel"){
          if ( !Validar_Campo_Numerico(form.Telefone_Movel, "(-) ")) {
            campo = form.Telefone_Movel;
            mensagem = "O Telefone Móvel possui caracteres inválidos \n Caracteres válidos:'0123456789 ()-' \n\n" + mensagem;
            continue;
          }
        }
		//validando o campo  DDD_Fax
		if(elemento == "DDD_Fax"){
          if ( !Validar_Campo_Numerico(form.DDD_Fax, "() ")) {
            campo = form.DDD_Fax;
            mensagem = "O DDD do fax possui caracteres inválidos \n Caracteres válidos:'(0123456789)' \n\n" + mensagem ;
            continue;
          }
        }
        //validando o campo  Telefone_Fax
        if(elemento == "Telefone_Movel"){
          if ( !Validar_Campo_Numerico(form.Telefone_Fax, "(-) ")) {
            campo = form.Telefone_Fax;
            mensagem =  "O Fax possui caracteres inválidos \n Caracteres válidos:'0123456789 ()-' \n\n" + mensagem;
            continue;
          }
        }
        //validando o campo CPF
        if(elemento == "CPF"){
          if ( !Validar_Campo_Numerico(form.CPF, ".-/")) {
            campo = form.CPF;
            mensagem = "O CPF possui caracteres inválidos \n Caracteres válidos:'0123456789.-/'\n\n"  + mensagem;
            continue;
          }
          var CPFaux = RetiraCaracteresInvalidos(form.CPF.value,11);
          var NR_CPF = CPFaux.substr(0,9);
          var NR_DV  = CPFaux.substr(9,2);
		  //alert(NR_CPF);
		  //alert(NR_DV);
          if ((NR_CPF == null) || (NR_CPF.length == 0)){
            campo = form.CPF;
            mensagem = "CPF inválido \n\n" + mensagem;
            continue;
          }
          if(! valida_CPF(NR_CPF, NR_DV,"CPF do Declarante") ) {
            campo = form.CPF;
            mensagem = "CPF inválido \n\n" + mensagem;
            continue;
          }
        }
        //validando o campo CGC				
 /*       if(elemento == "CGC"){
          if ( (!IsEmpty(form.CGC)) && (!IsEmpty(form.CEI)))   {
            campo    = form.CGC;
            mensagem = "Informe o número do CGC ou o número do CEI \n\n" + mensagem;
            continue;
          }
          if ( !Validar_Campo_Numerico(form.CGC, ".-/")) {
            campo = form.CGC;
            mensagem = "O campo CGC possui caracteres inválidos \n Caracteres válidos:'0123456789./-'\n\n" + mensagem;
            continue;
          }
		  if (!(isEmpty(form.CGC.value))) {
             var CGCaux = RetiraCaracteresInvalidos(form.CGC.value,14);
             var NR_CGC = CGCaux.substr(0,12);
             var NR_DV = CGCaux.substr(12,2);

             if ((isEmpty(NR_CGC))) {
                campo = form.Cgc;
                mensagem = "CGC inválido.\n\n" + mensagem;
				continue;
			}
             else if( !ValidaCGC(CGCaux) ) {
                  campo = form.Cgc;
                  mensagem = "CGC inválido.\n\n" + mensagem;
				  continue;
             }
          }
		}  */
        //validando o campo Inscricao_Municipal
        if(elemento == "Inscricao_Municipal"){
          if ( !Validar_Campo_Numerico(form.Inscricao_Municipal, "./-")) {
            campo = form.Inscricao_Municipal;
            mensagem = "A Inscrição Municipal possui caracteres inválidos \n Caracteres válidos:'0123456789./-'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Inscricao_Estadual
        if(elemento == "Inscricao_Estadual"){
          if ( !Validar_Campo_Numerico(form.Inscricao_Estadual, "./-")) {
            campo = form.Inscricao_Estadual;
            mensagem = "A Inscricao Estadual possui caracteres inválidos \n Caracteres válidos:'0123456789./-'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Identidade_Data_Emissao
        if(elemento == "Identidade_Data_Emissao"){
          if ( !Validar_Campo_Data(form.Identidade_Data_Emissao) ){
            mensagem = "Data de Emissão inválida (dd/mm/aaaa) \n\n" + mensagem;
            campo = form.Identidade_Data_Emissao;
          }
        }
        //validando o campo Data_inclusao
        if(elemento == "Data_Inclusao"){
          if ( !Validar_Campo_Data(form.Data_Inclusao) ){
            mensagem = "Data de Inclusao inválida (dd/mm/aaaa) \n\n" + mensagem;
            campo = form.Data_Inclusao;
          }
        }
        //validando o campo Data_Nascimento
        if(elemento == "Data_Nascimento"){
          if ( !Validar_Campo_Data(form.Data_Nascimento) ){
            mensagem = "Data de Nascimento inválida (dd/mm/aaaa) \n\n" + mensagem;
            campo = form.Data_Nascimento;
          }
        }
        //validando o campo Numero_de_Apartamentos
        if(elemento == "Numero_de_Apartamentos"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Apartamentos, "")) {
            campo = form.Numero_de_Apartamentos;
            mensagem = "O campo Apartamentos possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Blocos
        if(elemento == "Numero_de_Blocos"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Blocos, "")) {
            campo = form.Numero_de_Blocos;
            mensagem = "O campo Blocos possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n"  + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Piscinas
        if(elemento == "Numero_de_Piscinas"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Piscinas, "")) {
            campo = form.Numero_de_Piscinas;
            mensagem = "O campo Piscinas possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n"  + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Casas
        if(elemento == "Numero_de_Casas"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Casas, "")) {
            campo = form.Numero_de_Casas;
            mensagem = "O campo Casas possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Andares
        if(elemento == "Numero_de_Andares"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Andares, "")) {
            campo = form.Numero_de_Andares;
            mensagem = "O campo Andares possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Churrasqueiras
        if(elemento == "Numero_de_Churrasqueiras"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Churrasqueiras, "")) {
            campo = form.Numero_de_Churrasqueiras;
            mensagem = "O campo Churrasqueiras possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Salas_Comerciais
        if(elemento == "Numero_de_Salas_Comerciais"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Salas_Comerciais, "")) {
            campo = form.Numero_de_Salas_Comerciais;
            mensagem = "O campo Salas Comerciais possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Elevadores
        if(elemento == "Numero_de_Elevadores"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Elevadores, "")) {
            campo = form.Numero_de_Elevadores;
            mensagem = "O campo Elevadores possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Quadras_Esportes
        if(elemento == "Numero_de_Quadras_Esportes"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Quadras_Esportes, "")) {
            campo = form.Numero_de_Quadras_Esportes;
            mensagem = "O campo Quadras de Esportes possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Lojas_Comerciais
        if(elemento == "Numero_de_Lojas_Comerciais"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Lojas_Comerciais, "")) {
            campo = form.Numero_de_Lojas_Comerciais;
            mensagem = "O campo Lojas Comerciais possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Empregados
        if(elemento == "Numero_de_Empregados"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Empregados, "")) {
            campo = form.Numero_de_Empregados;
            mensagem = "O campo Empregados possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Play_Ground
        if(elemento == "Numero_de_Play_Ground"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Play_Ground, "")) {
            campo = form.Numero_de_Play_Ground;
            mensagem = "O campo Play Ground possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Vagas
        if(elemento == "Numero_de_Vagas"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Vagas, "")) {
            campo = form.Numero_de_Vagas;
            mensagem = "O campo Vagas de Garagem possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Numero_de_Salao_Festas
        if(elemento == "Numero_de_Salao_Festas"){
          if ( !Validar_Campo_Numerico(form.Numero_de_Salao_Festas, "")) {
            campo = form.Numero_de_Salao_Festas;
            mensagem = "O campo Salão de Festas possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Dia_Vencimento_Cota
        if(elemento == "Dia_Vencimento_Cota"){
          if (IsEmpty(form.Dia_Vencimento_Cota)){
            campo = form.Dia_Vencimento_Cota;
            mensagem = "Informe o Dia de Vencimento da Cota \n\n" + mensagem;
            continue;
          }
          if ( !Validar_Campo_Numerico(form.Dia_Vencimento_Cota, "")) {
            campo = form.Dia_Vencimento_Cota;
            mensagem = "O campo Dia do Vencimento da Cota possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
            continue;
          }
          if ((form.Dia_Vencimento_Cota.value < 1) || (form.Dia_Vencimento_Cota.value > 31)){
            campo = form.Dia_Vencimento_Cota;
            mensagem = "O campo Dia do Vencimento da Cota contém um dia inválido \n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Valor_Taxa_Administracao
        if(elemento == "Valor_Taxa_Administracao"){
          if ( (!form.Taxa_Administracao.checked)  && (IsEmpty(form.Valor_Taxa_Administracao)) ){
            campo = form.Valor_Taxa_Administracao;
            mensagem = "Informe o Valor da Taxa de Administração\n\n" + mensagem;
            continue;
          }
          if ( !Validar_Campo_Numerico(form.Valor_Taxa_Administracao, ",")) {
            campo = form.Valor_Taxa_Administracao;
            mensagem = "O campo Valor possui caracteres inválidos \n Caracteres válidos:'0123456789 ,'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Dia_Debito_Taxa_Administracao
        if(elemento == "Dia_Debito_Taxa_Administracao"){
		   if ( (!form.Taxa_Administracao.checked)  && (IsEmpty(form.Dia_Debito_Taxa_Administracao)) ){
              campo = form.Dia_Debito_Taxa_Administracao;
              mensagem = "Informe o Dia de Débito da Taxa de Administração \n\n" + mensagem;
              continue;
           }           
           if ( !Validar_Campo_Numerico(form.Dia_Debito_Taxa_Administracao, "")) {
              campo = form.Dia_Debito_Taxa_Administracao;
              mensagem = "O campo Dia do Débito possui caracteres inválidos \n Caracteres válidos:'0123456789'\n\n" + mensagem;
              continue;
           }
           if ((!IsEmpty(form.Dia_Debito_Taxa_Administracao )) &&
              ((form.Dia_Debito_Taxa_Administracao.value < 1) || (form.Dia_Debito_Taxa_Administracao.value > 31))){
              campo = form.Dia_Debito_Taxa_Administracao;
              mensagem = "O campo Dia do Débito contém um dia inválido \n\n" + mensagem;
              continue;
           }
        }
        //validando o campo Fracao_Terreno
        if(elemento == "Fracao_Terreno"){
          if (IsEmpty(form.Fracao_Terreno)){
            campo = form.Fracao_Terreno;
            mensagem = "Informe a Fração Ideal de Terreno \n\n" + mensagem;
            continue;
          }
          if ( !Validar_Campo_Numerico(form.Fracao_Terreno, ",")) {
            campo = form.Fracao_Terreno;
            mensagem = "O campo Fracao Ideal de Terreno possui caracteres inválidos \n Caracteres válidos:'0123456789,'\n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Fracao_Outro_Criterio
        if(elemento == "Fracao_Outro_Criterio"){
           if ( !Validar_Campo_Numerico(form.Fracao_Outro_Criterio, ",")) {
             campo = form.Fracao_Outro_Criterio;
             mensagem = "O campo Fracao por Outro Criterio possui caracteres inválidos \n Caracteres válidos:'0123456789,'\n\n" + mensagem;
             continue;
           }
        }        
        //validando o campo Login
        if (elemento == "Login") {
          if (IsEmpty(form.Login))  {// pois o login é obrigatório
             campo = form.Login;
             mensagem = "Informe o Login \n\n" + mensagem;
            continue;
          }
          else if ( ( form.Login.value.length > 20 ) ||
		            ( form.Login.value.length < 4 ) )  {
            campo = form.Login;
            mensagem = "O Login deve conter de 4 a 20 caracteres \n\n" + mensagem;
            continue;
          }
        }
        //validando o campo Senha
        if (elemento == "Senha") {
          if ((IsEmpty(form.Senha)) ){ // && (pagina=="CA")
            campo = form.Senha;
            mensagem = "Informe a Senha \n\n" + mensagem;
            continue;
          }
          else if ( ( form.Senha.value.length > 20 ) ||
		            ( form.Senha.value.length < 4 ) ) {
            campo = form.Senha;
            mensagem = "A Senha deve conter de 4 a 20 caracteres \n\n" + mensagem;
            continue;
          }
          senha1_preenchida = true;
        }
        //validando o campo Confirmacao_Senha
        if(elemento == "Confirmacao_Senha"){
          if (IsEmpty(form.Confirmacao_Senha)){ //&& (pagina=="CA")) {
             campo = form.Confirmacao_Senha;
             mensagem = "Informe a Confirmação da Senha \n\n" + mensagem;
	         continue;
          }
          senha2_preenchida = true;
        }       

        //validando o campo Desc_Tipo_Complemento
        if (elemento == "Tipo_Complemento"){
             if ( (form.Tipo_Complemento.options[form.Tipo_Complemento.selectedIndex].value == "Outros") && (IsEmpty(form.Desc_Tipo_Complemento)) ) {
              mensagem = "Informe a Descrição do Tipo de Cliente \n\n" + mensagem;
              campo = form.Desc_Tipo_Complemento;
              continue;
           }
        }

        //validando o campo Administracao_Anterior
        if (elemento == "Administracao_Anterior"){
           if ( (form.Administracao_Anterior.options[form.Administracao_Anterior.selectedIndex].value == "Outros") && (IsEmpty(form.Desc_Admin_Anterior)) ) {
              mensagem = "Informe a Descrição da Administracao Anterior \n\n" + mensagem;
              campo    = form.Desc_Admin_Anterior;
              continue;
           }
        }

        //validando o campo Tipo_Administracao
        if(elemento == "Tipo_Administracao"){
          if (IsEmpty(form.Tipo_Administracao)){
            campo = form.Tipo_Administracao;
            mensagem =  "Informe o Tipo de Administração \n\n" + mensagem;
            continue;
          }
        }

//alteraçoes começa aqui

         // validando data de pagamento de recibos
         if ((elemento.substring(0,14)=="Data_Pagamento_") && (form.elements[i+2].checked)){
            if (IsEmpty(form.elements[i])) {
                 campo = form.elements[i];
                 mensagem = "Preencha o campo Data de Pagamento do recibo numero "+
                            elemento.substring(15,elemento.length-1)+"\n\n" + mensagem;
            }
            if ( !Validar_Campo_Data(form.elements[i])) {
                 campo = form.elements[i];
                 mensagem = "O campo Data de Pagamento do recibo numero "+
                            elemento.substring(15,elemento.length-1)+
                            " possui caracteres inválidos \n\n" + mensagem;
            }
           continue;
         }
         // validando valor de pagamento de recibos
         if ((elemento.substring(0,14)=="Valor_Pago_") && (form.elements[i+1].checked)){
            if (IsEmpty(form.elements[i])){
                 campo = form.elements[i];
                 mensagem = "Preencha o campo Valor Pago do recibo numero "+
                            elemento.substring(15,elemento.length-1)+"\n\n" + mensagem;
            }
            if ( !Validar_Campo_Numerico(form.elements[i], ",")) {
                 campo = form.elements[i];
                 mensagem = "O campo Valor Pago do recibo numero "+
                            elemento.substring(15,elemento.length-1)+
                            " possui caracteres inválidos \n Caracteres válidos:'0123456789,'\n\n" + mensagem;
            }
         }
       //validando o campo  Data Lancamento
        if(elemento == "Data_Lancamento"){
          if (IsEmpty(form.Data_Lancamento)){
             mensagem = "Informe a Data do Lançamento \n\n" + mensagem;
          }
		  else{
            if ( !Validar_Campo_Data(form.Data_Lancamento) ){
               mensagem = "Data de Lançamento inválida (dd/mm/aaaa) \n\n" + mensagem;
               campo = form.Data_Lancamento;
            } 
			else{ 
               if (pagina=="ML"){ 
			     if (!Valida_Periodo(form.Fechamento,form.Data_Lancamento)){
                    mensagem = "Data de Lançamento não pode ser menor que a data do fechamento \n\n" + mensagem;
                    campo = form.Data_Lancamento;
				 }
		      }
			}  
		  }
		    
        }

        //validando o campo Parcela
        if(elemento == "Parcela"){
          if (!IsEmpty(form.Parcela)){
            if (!Valida_Parcela(form.Parcela)){
               Parcela_Invalida = true;
               continue;
            }
          }
        }
        //validando o campo valor
        if(elemento == "Valor"){
          //alert('valor');
          if (IsEmpty(form.Valor)){
             campo = form.Valor;
             mensagem =  "Informe o Valor. \n\n" + mensagem;
          }
          else
            if ( !Validar_Campo_Numerico(form.Valor, ".,")) {
               campo = form.Valor;
               mensagem = "O campo Valor possui caracteres inválidos \n Caracteres válidos:'0123456789.,'\n\n" + mensagem;
          }
          continue;
        }
        //validando o campo  Data Inicial
        if(elemento == "Data_Final"){
		  /*if (pagina == "FL") {
		     if (IsEmpty(form.Data_Inicial)) {
			    mensagem = "Informe a Data Inicial. \n\n" + mensagem;
                campo = form.Data_Inicial;
                continue;
			 }
		     if (IsEmpty(form.Data_Final)) {
			    mensagem = "Informe a Data Final. \n\n" + mensagem;
                campo = form.Data_Final;
                continue;
			 }			 
		  }*/
		  //alert('Validar_Campo_Data(form.Data_Inicial)');		
          if ( !Validar_Campo_Data(form.Data_Inicial) ){		    
            mensagem = "Data Inicial inválida (dd/mm/aaaa) \n\n" + mensagem;
            campo = form.Data_Inicial;
            continue;
          }
          //validando o campo  Data Final
          if ( !Validar_Campo_Data(form.Data_Final) ){
            mensagem = "Data Final inválida (dd/mm/aaaa) \n\n" + mensagem;
            campo = form.Data_Final;
            continue;
          }
          if (!Valida_Periodo(form.Data_Inicial,form.Data_Final)){
                 mensagem = "A data final não pode ser menor que a data inicial. \n\n" + mensagem;
                campo = form.Data_Inicial;
                continue;
          }
        }
        //validando o campo  Data Vencimento
        if(elemento == "Data_Vencimento"){
		//alert('validando o campo  Data Vencimento');
          if (IsEmpty(form.Data_Vencimento)){
             mensagem = "Data de vencimento inválida (dd/mm/aaaa). \n\n" + mensagem;
             campo = form.Data_Vencimento;
             continue;
          }
          if ( !Validar_Campo_Data(form.Data_Vencimento) ){
            mensagem = "Data de vencimento inválida (dd/mm/aaaa). \n\n" + mensagem;
            campo = form.Data_Vencimento;
            continue;
          }
        }
       //validando o campo  Data
        if(elemento == "Data"){
		//alert('validando o campo  Data Vencimento');
          if ( !Validar_Campo_Data(form.Data) ){
            mensagem = "Data inválida (dd/mm/aaaa). \n\n" + mensagem;
            campo = form.Data;
            continue;
          }
        }
//Vao até aqui
      }
      //validando as senhas
      if (senha1_preenchida && senha2_preenchida){
        mensagem = Validar_Senha(form.Senha, form.Confirmacao_Senha) + mensagem;
      }
      // mostrando mensagem da parcela inválida
      if (Parcela_Invalida){
         campo = form.Parcela;
         mensagem =  "O campo Parcela é inválido. Existem duas formas de preenchimento: \n\n"+
                     "Parcelas finitas   - número da parcela / total de parcelas Ex.: 07/20 \n\n"+
                     "Parcelas infinitas - mês da parcela / ano da parcela     Ex.: 03/2000 \n\n" ;
      }
      if (mensagem != ""){
        alert(mensagem);
        if ((campo.name != 'Dias_1') && (campo.name != 'Marcar_Todos')){
           campo.focus();
        }
        return false;
      }
      else
        return true;
    }

//==============================================================================================
// Verifica o campo de Multa/Desconto para ver se os campos Dias e Percentual
// devem ficar ou não habilitados.
// Amanda
//==============================================================================================
  function Habilita_Desconto_Multa(campo){
  //alert('entrei no habilita desconto multa');
     form  = document.formulario;
     var num_elementos = form.elements.length;
     campos = new Array(num_elementos);
     if (campo.options[campo.selectedIndex].value == '') {
        mudou = true;
        var tamanho = Monta_Campos(campo,'AM');
        Inibir_Campos(campos,tamanho);
     }
     else{
        mudou = false;
        var tamanho = Monta_Campos(campo,'AM');
        Desinibir_Campos(campos,tamanho);
     }
  }

//==============================================================================================
// Verifica se o campo passado como parâmetro está vazio
// Amanda
//==============================================================================================
   function IsEmpty(campo){
   if  (campo.type == "select-one")
        var field = campo.options[campo.selectedIndex].value
	else 
        var field = campo.value;
    for (var i = 0; i < field.length; i++) {
      var valor = field.charAt(i);
      if (valor != " "){
        return false;
      }
    }
    return true;
   }

//==============================================================================================
// Funções utilizadas para desabilitar campos.
// Amanda
//==============================================================================================

//------------------------------------------------------------------------------------
// Verifica se o campo passado como parâmetro está vazio. Se não estiver, os campos
// especificados deverão ficar desabilitados, o seu conteúdo limpado e o background
// fica cinza. Caso contrário, os campos ficam habilitados.
//------------------------------------------------------------------------------------
   function Verifica_Conteudo(campo,pagina){
//   alert('entrei Verifica_Conteudo');
//   alert('campo.value = ' + campo.value);
//   alert('campo.name = ' + campo.name);
     form  = document.formulario;
     var num_elementos = form.elements.length;
     campos = new Array(num_elementos);
     if (!IsEmpty(campo)) {	 
	   if (campo.name=='Tipo_Pessoa') {
	     if (campo.options[campo.selectedIndex].value == "J") {
		   var tamanho = Monta_Campos(campo, "F");
		   Desinibir_Campos(campos, tamanho);
		 }
		 else {
		   if (campo.options[campo.selectedIndex].value == "F") {
		     var tamanho = Monta_Campos(campo, "J");
		     Desinibir_Campos(campos, tamanho);
		   }
         }
		 var tamanho = Monta_Campos(campo, campo.options[campo.selectedIndex].value);
         Inibir_Campos(campos,tamanho);
	   }	 
	   else {
	     if (campo.name=='Login_Cadastrado')  mudou = true;
		 
		 var tamanho = Monta_Campos(campo, pagina);
		 Inibir_Campos(campos, tamanho);
	   }	 
	 }
     else {
         var tamanho = Monta_Campos(campo,pagina);
         Desinibir_Campos(campos,tamanho);
         if (campo.name=='Login_Cadastrado'){  mudou = false  ;
             document.formulario.Tipo_Pessoa.options[campo.selectedIndex].value='F';
             document.formulario.Tipo_Endereco.options[campo.selectedIndex].value='Residêncial';
            if (pagina == 'CS')
                Verifica_Conteudo(document.formulario.Tipo_Pessoa,pagina)
            else {
                 document.formulario.Tipo_Conta.options[campo.selectedIndex].value='Conta Corrente';
                 document.formulario.Destino_Cobranca.options[campo.selectedIndex].value='Endereço da Unidade';
            }
         }
     }
     return;
   }

//------------------------------------------------------------------------------------
// Monta o array e retorna o número de elementos no mesmo.
//------------------------------------------------------------------------------------
   function Monta_Campos(campo,pagina){
    form = document.formulario; 
    if (campo.name == "Desconto_Multa_1"){ 
        campos[0] = form.Dias_1;
        campos[1] = form.Valor_1;
        return 2;
    }
    if(campo.name == "Login_Cadastrado"){
       campos[0] = form.Nome_Entidade;
       campos[1] = form.Endereco;
       campos[2] = form.Complemento;
       campos[3] = form.Bairro;
       campos[4] = form.CEP;
       campos[5] = form.Municipio;
       campos[6] = form.Estado;
       campos[7] = form.Tipo_Endereco;
       campos[8] = form.Email;
       campos[9] = form.Web_Site;
       campos[10] = form.Telefone_Residencial;
       campos[11] = form.Telefone_Comercial;
       campos[12] = form.Telefone_Movel;
       campos[13] = form.Telefone_Fax;
       campos[14] = form.Tipo_Pessoa;
       campos[15] = form.Login;
       campos[16] = form.Senha;
       campos[17] = form.Confirmacao_Senha;
       campos[18]= form.Profissao;
	   campos[19]= form.Toda_Correspondencia;
	   campos[20]= form.Agenda_Pagamentos;
	   campos[21]= form.Agenda_Eventos;   
       //cadastro de unidade
       if (pagina == "CU" || (pagina == "CM")) {
         campos[22] = form.Fracao_Terreno;
         campos[23] = form.Fracao_Outro_Criterio;
         campos[24] = form.Codigo_Banco;
         campos[25] = form.Nome_Banco;
         campos[26] = form.Codigo_Agencia;
         campos[27] = form.Nome_Agencia;
         campos[28] = form.Tipo_Conta;
         campos[29] = form.Numero_Conta;
         campos[30] = form.Nome_Correntista;
         campos[31] = form.Destino_Cobranca;
         campos[32] = form.Balancete_Email;
         return 33;
      }
       //cadastro de síndico
       if (pagina == "CS") {
          campos[22] = form.Sexo;
          campos[23] = form.CPF;
          campos[24] = form.Identidade;
          campos[25] = form.Identidade_Orgao_Emissor;
          campos[26] = form.Identidade_Data_Emissao;
          campos[27] = form.Data_Nascimento;
          campos[28] = form.CGC;
          campos[29] = form.Inscricao_Estadual;
          campos[30] = form.Inscricao_Municipal;
          campos[31] = form.Nome_Responsavel;
          return 32;
       }
     }
	 //Pessoa Fisica ou Jurídica
     if(campo.name == "Tipo_Pessoa"){
      if (pagina == "F"){
         campos[0] = form.CGC;
         campos[1] = form.Inscricao_Estadual;
         campos[2] = form.Inscricao_Municipal;
         campos[3] = form.Nome_Responsavel;
         return 4;
       }
       if (pagina == "J"){
         campos[0] = form.Sexo;
         campos[1] = form.CPF;
         campos[2] = form.Identidade;
         campos[3] = form.Identidade_Orgao_Emissor;
         campos[4] = form.Identidade_Data_Emissao;
         campos[5] = form.Data_Nascimento;
         campos[6] = form.Profissao;
         return 7;
       }
     }
     if (campo.name == "Desconto_Multa_2"){
        campos[0] = form.Dias_2;
        campos[1] = form.Valor_2;
        return 2;
     }
     if (campo.name == "Desconto_Multa_3"){
        campos[0] = form.Dias_3;
        campos[1] = form.Valor_3;
        return 2;
     }
     if (campo.name == "Desconto_Multa_4"){
        campos[0] = form.Dias_4;
        campos[1] = form.Valor_4;
        return 2;
     }
	 //Tipo_Complemento
	 if(campo.name == "Tipo_Complemento"){
	    if (pagina == "Valores") {
	        campos[0] = "Administradora"
            campos[1] = "Outros"
            return 2;
		}
		else if (pagina == "Campos") {
           campos[0] = form.Desc_Tipo_Complemento;
		   return 1;
		}   
	 }	 
	 //Taxa_Administracao
	 if(campo.name == "Taxa_Administracao"){
	    if (pagina == "Campos") {
     	   campos[0] = form.Valor_Taxa_Administracao;
           campos[1] = form.Dia_Debito_Taxa_Administracao;
		   //alert(campos[0].value);
		   return 2;
		}   	
	 }
	 //Login_Cadastrado
	 if (campo.name == "Login_Cadastrado"){
	    if (pagina == "Valores"){
		   campos[0] = "";
		   return 1;
		}
		if (pagina == "Campos"){
		   campos[0] = form.Nome_Entidade;
           campos[1] = form.Endereco;
           campos[2] = form.Complemento;
           campos[3] = form.Bairro;
           campos[4] = form.CEP;
           campos[5] = form.Municipio;
           campos[6] = form.Estado;
           campos[7] = form.Tipo_Endereco;
           campos[8] = form.Email;
           campos[9] = form.Web_Site;
           campos[10] = form.Telefone_Residencial;
		   campos[11] = form.DDD_Residencial;		   
           campos[12] = form.Telefone_Comercial;
		   campos[13] = form.DDD_Comercial;		   
           campos[14] = form.Telefone_Movel;
		   campos[15] = form.DDD_Movel;
           campos[16] = form.Telefone_Fax;
		   campos[17] = form.DDD_Fax;
		   campos[18] = form.Tipo_Pessoa;
		   campos[19]= form.Toda_Correspondencia;
  	       campos[20]= form.Agenda_Pagamentos;
	       campos[21]= form.Agenda_Eventos;   
		   if (page == "CU" || (page == "CM")) { //page => variável global definida no onload da pagina
		      campos[22] = form.Profissao;
			  campos[23] = form.Destino_Cobranca;
			  campos[24] = form.Login;
			  campos[25] = form.Senha;
			  campos[26] = form.Confirmacao_Senha;
			  campos[27] = 'manter o value'; 
   		      return 28;
		   }
		   else if (page == "CS"){ //page => variável global definida no onload da pagina	      
		      campos[22] = form.Sexo;
              campos[23] = form.CPF;
              campos[24] = form.Identidade;
              campos[25] = form.Identidade_Orgao_Emissor;
              campos[26] = form.Identidade_Data_Emissao;
              campos[27] = form.Data_Nascimento;
              campos[28] = form.Profissao;
		      campos[29] = form.CGC;
              campos[30] = form.Inscricao_Estadual;
              campos[31] = form.Inscricao_Municipal;
              campos[32] = form.Nome_Responsavel;		   
              campos[33] = form.Login;
              campos[34] = form.Senha;
              campos[35] = form.Confirmacao_Senha;
		      campos[36] = 'manter o value'; 
   		      return 37;
		   }           
		}
	 }
	 //Administracao Anterior
	 if(campo.name == "Administracao_Anterior"){
	    if (pagina == "Valores") {
     	   campos[0] = "Administradora"
           campos[1] = "Administradora Virtual"
           campos[2] = "Outros";
		   //alert(campos[0]);
		   //var x = campos[0];
		   return 3;
		}   	
		else if (pagina == "Campos") {
           campos[0] = form.Desc_Admin_Anterior;
		   return 1;
		} 
	 }
	 //Destino_Cobranca
	 if (campo.name == "Destino_Cobranca"){
	    if (pagina == "Valores"){
		 campos[0] = "Outro Endereço";
		 return 1;
		}
		if (pagina == "Campos"){		   
           campos[0] = form.Endereco;
           campos[1] = form.Complemento;
           campos[2] = form.Bairro;
           campos[3] = form.CEP;
           campos[4] = form.Municipio;
           campos[5] = form.Estado;
		   campos[6] = form.Tipo_Endereco;
		   return 7; 
		}
	 }
   }

   //------------------------------------------------------------------------------------
   // Recebe um array de campos a serem habilitados.
   //------------------------------------------------------------------------------------
   function Desinibir_Campos(campos,tamanho){
     for(var i = 0 ; i < tamanho ; i++){
       //alert(campos[i].name);
       campos[i].style.backgroundColor = "#ffffff";
     }
   }
   //------------------------------------------------------------------------------------
   // Recebe um array de campos a serem desabilitados.
   //------------------------------------------------------------------------------------
   function Inibir_Campos(campos,tamanho){
     for(var i = 0 ; i < tamanho ; i++){
       //alert(campos[i].name);
       campos[i].value = "";
       campos[i].style.backgroundColor = "#eeeeee";  //cinza
     }
   }

  //------------------------------------------------------------------------------------
  // Verifica se a variável "mudou" foi setada , para que o foco não vá para os campos
  // desabilitados. Esta função deve ser chamada em todos os campos que podem ficar
  // desabilitados.
  //------------------------------------------------------------------------------------
   function Verifica_Mudanca(campo,campo2){
   //alert(campo.name);
     if (mudou == true) {
       campo.blur();      //remove o foco do objeto especificado;
       campo2.focus();    //joga o foco para o objeto especificado;
       if (campo.type=="checkbox")
           campo.checked=false;
       if (campo.type=="select-one")
           campo.value='';
    }
   }

  function Verifica_Tipo_Pessoa(Tipo_Pessoa,campo,campo2){
    if( ((Tipo_Pessoa == "F") && ( (campo.name == "CGC") || (campo.name == "Inscricao_Estadual") ||
             (campo.name == "Nome_Responsavel") || (campo.name == "Inscricao_Municipal") ))  ||
        ((Tipo_Pessoa == "J") && ( (campo.name == "Sexo") || (campo.name == "CPF") ||
             (campo.name == "Identidade") || (campo.name == "Identidade_Orgao_Emissor") ||
             (campo.name == "Identidade_Data_Emissao") || (campo.name == "Data_Nascimento") ||
             (campo.name == "Profissao"))) ) {
         campo.blur();      //remove o foco do objeto especificado;
		 if (campo2.name=='Confirmar'){
		    document.formulario.Sexo.focus();}
         campo2.focus();    //joga o foco para o objeto especificado;
		 
    }
  }


//==============================================================================================
// Retorna o número de dias do mês de Fevereiro de acordo com o ano passado .
// Amanda
//==============================================================================================
  function Dias_Fevereiro(ano){
    return (((ano % 4 == 0 ) && ((!(ano % 100 == 0)) || (ano % 400 == 0))) ? 29 : 28);
  }

//==============================================================================================
// Verifica se o campo data passado como parâmetro está preenchido corretamente (dd/mm/aaaa).
// Amanda
//==============================================================================================
  function Validar_Campo_Data(campo){
//   alert('entrei no Validar_Campo_Data');
   var data = campo.value + '/';
   var part_data = "";
   var caracter = "";
   var dia = ""; var mes = ""; var ano = "";
   if (!IsEmpty(campo)){
    for (var i=0; i < data.length; i++) {
      if (data.charAt(i) != "/" ){  //joga o caracter que se encontra na posicao "i" da string "valor"
        part_data = part_data + data.charAt(i);
      }
      else { 
        if (dia == ""){
           dia = part_data;
           part_data = "";
        }
        else {
         if (mes == ""){
             mes = part_data;
             part_data = "";
          }
          else{
            if(ano == ""){
               ano = part_data;
               part_data = ""; }
          }
        }
      }
    }
//     alert(dia + '/'+ mes + '/'+ano);
    if ((ano >= 1900) && (ano <= 3000)){
       if ((mes=="01") || (mes=="03") || (mes=="05") || (mes=="07") || (mes=="08") || (mes=="10") || (mes=="12")) {
          if((dia >= 01) && (dia <= 31)){
             return true;
          }
       }
       else{
          if ((mes=="04") || (mes=="06") || (mes=="09") || (mes=="11")) {
             if((dia >= 01) && (dia <= 30)){
               return true;
             }
          }
          else {
             if(mes=="02"){
			   //alert('mes de fevereiro');
               dias_em_fevereiro =  Dias_Fevereiro(ano);
			   //alert('dias_em_fevereiro = ' + dias_em_fevereiro);
               if ((dia >= 01) && (dia <= dias_em_fevereiro)){
                 return true;
               }
             }
          }
       }
    }
    else {
      return false;
    }
   }
   else {
      return true;
   }
  }

//==============================================================================================
// Verifica se o campo passado como parâmetro é  numérico, caso ele esteja preenchido.
// Amanda
//==============================================================================================
    function Validar_Campo_Numerico(campo,char_valido) { 
      var validchars = "0123456789" + char_valido;
      if (!IsEmpty(campo)){
         var valor = campo.value;
         for (var i=0; i < valor.length; i++) {
           var numero = valor.charAt(i); //joga o caracter que se encontra na posicao "i" da string "valor"
           //verifico se eh um caracter valido (numerico)
           if(validchars.indexOf(numero) != -1) {  //retorna -1 quando nao encontra o caracter
             continue
           }
           else {
             return false;
           }
         }
         return true;
      }
      else
         return true;
    }

//==============================================================================================
// Verifica se o que foi digitado no campo de senha é igual ao que foi digitado no campo de
// confirmação de senha.
// Amanda
//==============================================================================================
  function Validar_Senha(campo_senha1, campo_senha2){
    msg = "";
    if (campo_senha1.value != campo_senha2.value) {
       msg = "Sua senha não confere com a confirmação \n\n";
       campo = form.Senha;
    }
    return  msg;
  }

//==============================================================================================
// Elaine
//==============================================================================================
  function isDigit (c) {
          return ((c >= "0") && (c <= "9"))
  }

//==============================================================================================
// Para Retirar caracteres inválidos
// Elaine
//==============================================================================================
  function RetiraCaracteresInvalidos(strCampo,tam) {
     nTamanho = strCampo.length;
     szCampo = "";
     j=0;
     for (i = nTamanho-1;i>=0;i--) {
        if (isDigit(strCampo.charAt(i))) {
           szCampo = strCampo.charAt(i) + szCampo;
           j++;
           if (j > tam) break;
        }
     }
     if (szCampo.length < tam) {
        for (i = szCampo.length;i<tam;i++) {
           szCampo = "0" + szCampo;
        }
     }
     return szCampo;
  }

//==============================================================================================
// Para Validar o Número do CPF
// Elaine
//==============================================================================================
  function valida_CPF(rcpf1,rcpf2,c) {
     d1 = 0;
     for (i=0;i<9;i++)
        d1 += rcpf1.charAt(i)*(10-i);
        d1 = 11 - (d1 % 11);
        if (d1>9) d1 = 0;
        if (rcpf2.charAt(0) != d1)
           return false;
        d1 *= 2;
        for (i=0;i<9;i++)
            d1 += rcpf1.charAt(i)*(11-i);
            d1 = 11 - (d1 % 11);
            if (d1>9) d1 = 0;
            if (rcpf2.charAt(1) != d1)
               return false;
        return true;
  }

//==============================================================================================
// Para Validar o Número do CGC
// Elaine
//==============================================================================================
 function ValidaCGC(CGCaux) {
          var wD = new Array(14);
          for (i=0;i<14;i++)
              wD[i] = CGCaux.charAt(i);

              //Calcula 1o.Digito
              wTotal = (5*CGCaux.charAt(0))+(4*CGCaux.charAt(1))+(3*CGCaux.charAt(2))+(2*CGCaux.charAt(3))+
                       (9*CGCaux.charAt(4))+(8*CGCaux.charAt(5))+(7*CGCaux.charAt(6))+(6*CGCaux.charAt(7))+
                       (5*CGCaux.charAt(8))+(4*CGCaux.charAt(9))+(3*CGCaux.charAt(10))+(2*CGCaux.charAt(11));

              wPriDig = ( wTotal*10 ) % 11;
              if ( wPriDig == 10 ) wPriDig = 0;

              //Calcula 2o.Digito
              wTotal = (6*CGCaux.charAt(0))+(5*CGCaux.charAt(1))+(4*CGCaux.charAt(2))+(3*CGCaux.charAt(3))+
                       (2*CGCaux.charAt(4))+(9*CGCaux.charAt(5))+(8*CGCaux.charAt(6))+(7*CGCaux.charAt(7))+
                       (6*CGCaux.charAt(8))+(5*CGCaux.charAt(9))+(4*CGCaux.charAt(10))+(3*CGCaux.charAt(11))+
                       (2*wPriDig);

              wSegDig = ( wTotal*10 ) % 11;
              if ( wSegDig == 10 ) wSegDig = 0;

              if ((wPriDig != CGCaux.charAt(12)) || (wSegDig != CGCaux.charAt(13)))
                 return false
              else if (CGCaux == '00000000000000')
                 return false
              else
                 return true;
       }
  

//==============================================================================================
//Verifica se tem alguma coisa checado (para nao permitir que um rateio seja inserido sem unidade)
//Amanda
//==============================================================================================

function Verifica_Check(prefixo) {
   form =  document.formulario;
   var elemento;
   for (var i = 0; i < form.elements.length-1 ; i++){
      elemento = form.elements[i].name.substring(0,prefixo.length);
      if (elemento==prefixo) {
         if (form.elements[i].checked==true) {
             return true;
         }
      }
   }
   return false;
}

//==============================================================================================
//Verifica se  o campo1.value=valor entao desabilia campo2 senão habilita campo2 (Ex: Campo Outros)
//Jaricia
//==============================================================================================
  function Habilitar_Campo(campo1,valor,campo2){
    if (campo1.value==valor)
      campo2.style.backgroundColor = "#ffffff"  // habilita
    else {
      campo2.style.backgroundColor = "#eeeeee";  // desabilita
      campo2.value='';
    }
    return true;
  }
  
//==============================================================================================
//Variação da função anterior mas desabilitando/habilitando vários campos (e não somente um)
//Amanda
//==============================================================================================
 function Habilitar_Campos(campo){
//    alert('entrei no habilitar campos');
//    alert('campo.name= ' + campo.name);  
	var achou;
	form  = document.formulario
	campos = new Array(form.elements.length);
    tamanho = Monta_Campos(campo,'Valores');
   	for (var i=0; i<tamanho; i++) {
       //alert("campo.value = " + campo.value);
  // 	   if (campo.value == campos[i]){
  	   if (campo.options[campo.selectedIndex].value == campos[i]){
		           achou = true; //foi selecionado algum dos values que deve habilitar o campos 
   	   }
	   else achou = false;
    }

	tamanho = Monta_Campos(campo,'Campos'); 
    if (achou == true)  {	 
	   if (campo.name == "Login_Cadastrado") return;  
	   for(i=0 ;i<tamanho ;i++){
	      campos[i].style.backgroundColor = "#ffffff"  // habilita		  
	   }
	}
    else {
	   if (campos[tamanho-1] == 'manter o value'){
  	      for(var i=0 ;i<tamanho-1;i++){	
            campos[i].style.backgroundColor = "#eeeeee";  // desabilita sem apagar o conteúdo do input		    
	      }
	   } 
       else { 
	      for(var i=0 ;i<tamanho-1;i++){
	         campos[i].style.backgroundColor = "#eeeeee";  // desabilita		     
			 campos[i].value='';
	      }
	   }
    }
    return true;
  }  
  
//==============================================================================================
//O mesmo da função anterior mas para campos do tipo checkbox  
//Deve ser passado um campo do tipo checkbox e true/false para o parametro 'habilitar'. Se 
// 'habilitar' for true significa que quando o campo estiver checado os campos do array deve ficar
//habilitados
//Amanda
//==============================================================================================  
  function Habilitar_Campos_Checkbox(campo, habilitar){
    //alert('entrei no Habilitar_Campos_Checkbox');    
    form  = document.formulario;
	campos = new Array(form.elements.length);
    tamanho = Monta_Campos(campo,'Campos'); 	
	//alert('campo.name = ' + campo.name); //alert('habilitar = ' + habilitar); //alert('campo.checked = ' + campo.checked);
    if (((campo.checked == true) && (habilitar == true)) || ((!campo.checked) && (habilitar == false)))  { //habilitar == true => significa que é para habilitar os campos do array quando o checkbox estiver checado
	   //alert('1');
	   //habilitando os campos
	   for(i=0 ;i<tamanho ;i++){
	      campos[i].style.backgroundColor = "#ffffff"  // habilita
	   }	     
    }
	else {
	   if (((campo.checked == false) && (habilitar == true)) || ((campo.checked == true) && (habilitar == false))) { //desabilitar == true => significa que é para desabilitar os campos do array quando o checkbox estiver deschecado 
    	 //alert('2');
	     //desabilitando os campos
	     for(var i=0 ;i<tamanho ;i++){
	       campos[i].style.backgroundColor = "#eeeeee";  // desabilita
		   campos[i].value='';   
	     } 
      	} 		
    }
  }


//==============================================================================================
//Verifica se  o campo esta habilitado senão tiver vai para o campo2, ou seja, verifica se o "campo"
//pode receber o foco, se nao puder joga-se o fogo para o "campo2"
//Jaricia
//==============================================================================================
  function Verifica_Campo_Habilitado(campo,campo2){
    //alert('entrei no Verifica_Campo_Habilitado');
	//alert(campo.name);//alert(campo2.name);
    if (campo.style.backgroundColor == "#eeeeee"){
        campo.blur();      //remove o foco do objeto especificado
        //campo.value = '';
        campo2.focus();    //joga o foco po do objeto especificado
		if (campo.type=="checkbox")
           campo.checked = !campo.checked;		
    }
    return true;
  }

//==============================================================================================
   function Chama_Acao(fForm,fParametro,fMensagem){
     if (fMensagem != ''){
        if (!confirm(fMensagem))
           return false;
     } 
     fForm.Parametro.value=fParametro;
     fForm.submit();
     return true;
   }

//==============================================================================================
function arrumacampo(fMsg)
{
  form =  document.formulario;
  if (fMsg == 'Sim') {
     form.Complemento_Unidade.value =
//     form.Tipo_Unidade.options[form.Tipo_Unidade.selectIndex].value.concat(" ".concat(form.Codigo_Unidade.value)) ;
     form.Tipo_Unidade.options[form.Tipo_Unidade.selectedIndex].value+" "+form.Codigo_Unidade.value;

  }
}


//===== Este aquivo já está completo não incluir mais funções os arquivos js só podem
//===== ter no máximo 64kb para que o Netscape possa carrega-lo

//==============================================================================================

// esta funcao solicita ao usuario que informe um nick(apelido) para entrar no chat
function Pede_Nick(pagina,icondo){
     resp=prompt('Entre com seu apelido','');
     if (resp!=null){
			   if (icondo=='sim')
              pagina= pagina+'?icondo=sim&nick_origem='+resp;
				 else
					  pagina= pagina+'?nick_origem='+resp;					 
         window.location.href= pagina;
     }
	 else if(icondo=='sim')
	         window.location.href='/default.htm'
	    
}

function Pede_Nick2(pagina,icondo){
     resp=prompt('Entre com seu apelido','');
     if (resp!=null){
			   if (icondo=='sim')
              pagina= pagina+'&icondo=sim&nick_origem='+resp;
				 else
					  pagina= pagina+'&nick_origem='+resp;					 
         window.location.href= pagina;
     }
	 else if(icondo=='sim')
	         window.location.href='/php/sistema.php?action=Direciona_Usuario'
	    
}


function abreJanela(url){
  				window.open(url, titulo, 'scrollbars=1,resizable=0,menubar=0,toolbar=0,location=0,status=0,width=800,height=600');
  				return true;
}
   
   //==============================================================================================
// Para marcar ou descamrcar campos check
// Jarícia
//==============================================================================================
  function Marcar_Check(Marcar,Prefixo){
      form =  document.formulario;
//Retirado por Erro      for (var i = 0; i < form.elements.length-1 ; i++){
      for (var i = 0; i < form.elements.length ; i++){
		  
          var elemento = form.elements[i].name.substring(0,Prefixo.length);
    //      alert(elemento+'  '+Prefixo );
          if (elemento==Prefixo) form.elements[i].checked=Marcar;
//             if (Marcar=='True') {
//                form.elements[i].checked='true'
//                alert('entrei true'); }
//             else  {
//                form.elements[i].checked=False;
//                alert('entrei no false');}
//          }
      }
  }

