 /**
  * Verifica se um campo ou valor de variável é nula ou string vazia ""
  * PARÂMETROS:
  * objeto		 - Variavel que se deseja testar
  */
function isNull(campo){
	strAux = ""; 
	strAux = campo.split(" "); 
	strAux = strAux.join(""); 
	if (strAux == ''){
		return true;
	}
	else{
		return false;
	}
}

/**
 * Coloca máscara em tempo de digitação um campo texto
 * Exemplo de uso: onkeypress="formatMask(this,'##/##/####')"
 * PARÂMETROS:
 * objeto			- Referência do objeto que se deseja colocar a máscara. Ex.: this
 * mask			- Formato da máscara que deverá ser aplicada. Ex.: ##/##/####
 */
function formatMask(objeto,mask){
	var MaskChar = '#';
	if((event.keyCode != 8 && event.keyCode != 36 && event.keyCode != 46) && (!isNull(mask)) && (!isNull(objeto.value))){
		if(objeto.value.length < mask.length){
			if(objeto.value.length == 1 && (mask.charAt(0) != MaskChar)){
				objeto.value = mask.charAt(0) + objeto.value;
			}
			if(mask.charAt(objeto.value.length) != MaskChar){
				objeto.value = objeto.value + mask.charAt(objeto.value.length);
			}
		} else if(objeto.value.length > mask.length) {
			objeto.value = objeto.value.substr(0,mask.length);
		}
	} else {
		objeto.value = objeto.value;
	}
}

/**
 * Coloca o conteúdo de um campo para UPPERCASE
 */
 function toUpper(campo){
 	if(campo.value != ""){
 		campo.value = campo.value.toUpperCase();
 	}
 }
 
 /**
  * Auto TAB
  */
  function autoTab(campo, tamanhoMaximo, proximoCampo){
  	var frm = campo.form;
  	if((campo.value != "") && (campo.value.length == tamanhoMaximo)){
  		frm.elements[proximoCampo].focus();
  	}
  }
  
 
 /**
* Função para validação dos campos de apolice do segurado
* localizados na tela inicial da funcionalidade de agendamento online
*/
function validarSubmeterBusca() {
   
    var isValid = true;  
    var form = window.document.forms[0];       
	
	// Se SEGURADO
    if(form.tipoBusca[0].checked){
                
	   //variavel para receber o campo status da HDA
	   var resgateHDA= window.document.forms[0].status.value;

	    //Valida se todos os campos estão em branco
	   if(form.sucursal.value.length + form.cia.value.length  +
	      form.apolice.value.length  + form.item.value.length + 
	      form.cpfcnpj.value.length == 0) {

		  validateAndSubmit('/buscarPessoa');   
		  return;
	   } 
	   
 	   if (form.cpfcnpj.value.length == 0) {

	   		// Validacao de nao preenchimento dos campos da Apolice
	   		if(form.sucursal.value.length == 0) {
				chamarHDA('bac_ag_sucursal_branco');
				form.sucursal.focus(); 
			} else if (form.cia.value.length == 0) {
				chamarHDA('bac_ag_cia_branco');
				form.cia.focus();
		    } else if (form.apolice.value.length == 0) {
				chamarHDA('bac_ag_apolice_branco');
				form.apolice.focus();
		    } else if (form.item.value.length == 0) {
				chamarHDA('bac_ag_item_branco');
				form.item.focus();
			} else {
				validateAndSubmit('/buscarPessoa');   
			}
			
	   } else if (! validateCpfCnpj(form) ) {
			chamarHDA('bac_ag_validacao_cpfcnpj');
	   } else {
			validateAndSubmit('/buscarPessoa');   
	   }
		
	// Se TERCEIRO
    } else if (form.tipoBusca[1].checked){
		    var form = document.forms[0];
    		if (form.cpfcnpj.value.length == 0) {
    		    if (form.placa.value.length == 0) {
               		chamarHDA('bac_ag_campos_terceiro_branco');
    		    } else {
               		chamarHDA('bac_ag_informe_cpf_cnpj');
    		    }
			} else if (! validateCpfCnpj(form) ) {
				chamarHDA('bac_ag_validacao_cpfcnpj');
	    	} else {
	    		validateAndSubmit('/buscarPessoa');   
           	}     
    }
}

/**
*Função que resgata a actionPath, valida o form, concatena o contexto do sistemas, mais a actionPath e o .do e 
*chama a função submit 
*/
 function validateAndSubmitCadastro(actionPath) {
		var form = document.forms[0];
			
		if (form.cdDiaNasc.value!='' && form.cdMesNasc.value!='' && form.cdAnoNasc.value!='') {
			form.dataNascimento.value = form.cdDiaNasc.value + "/" + form.cdMesNasc.value + "/" + form.cdAnoNasc.value;
		}else{
			form.dataNascimento.value = '';
		}
			
		if (validatePreenchimento(form) && validateForm(form)) {
			form.action = "." + actionPath + ".do";
			form.submit();
		}
	}
	
	
/**
* Função para validar o preenchimento dos campos obrigatorios na tela de cadastramento do agendamento
*/
function validatePreenchimento(form) {

	retorno = false;

	if(form.nome.value.length == 0) {
		chamarHDA('bac_ag_cadastro_nome_branco');
		form.nome.focus(); 	
	} else if (form.cpfcnpj.value.length > 0 && ! validateCpfCnpj(form) ) {
	    chamarHDA('bac_ag_cadastro_cpfcnpj_invalido');	    	
	} else if(form.cpfcnpj.value.length == 0) {
		//form.cpfcnpj.focus();
		chamarHDA('bac_ag_cadastro_cpfcnpj_branco');
	} else if(form.cpfcnpj.value.length == 11 && form.dataNascimento.value.length == 0) {
		chamarHDA('bac_ag_cadastro_data_nascimento_branco');
		form.cdDiaNasc.focus();			
	} else if(form.endereco.value.length == 0) {
		chamarHDA('bac_ag_cadastro_endereco_branco');
		form.endereco.focus();
	} else if(form.email.value.length == 0) {
		chamarHDA('bac_ag_cadastro_email_branco');
		form.email.focus(); 
	} else if(form.ddd.value.length == 0 || form.telefone.value.length == 0) {
		chamarHDA('bac_ag_cadastro_telefone_branco');
		form.ddd.focus(); 

	} else {
		retorno = true;
	}
	
	if ( ! validaNumero(form.numero.value) ) {
		form.numero.value = "";
	}
	
	if ( ! validaNumero(form.cep.value) ) {
		form.cep.value    = "";
	}
	
	return retorno;
}

function validaNumero(value) {

	var bValid = true;
    if (value.length > 0) {
                        
       if (!isAllDigits(value)) {
           bValid = false;
						        
       } else {
           var iValue = parseInt(value);
   	       if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) {
   	            bValid = false;
 	       }
       }
    }
    
    return bValid;
}

