var lIntMin;
var lIntMax;


 // fncLimitaTextArea : limita o tamanho de uma text area e informa a qtd
 //                     de caracteres digitados.

 function FncLimitaTextArea (pObjTA, pIntTam, pObjDisplay) {
    if(pObjTA.value.length > pIntTam) {
	pObjTA.value = pObjTA.value.substr(0,pIntTam);
	alert("O limite de texto é de " + pIntTam + " caracteres.")
    }
    if (pObjDisplay.innerHTML != null) {
       pObjDisplay.innerHTML = pObjTA.value.length + " - " + pIntTam;
    }
 }

 // fncVerifyStandardAlfaNum : verificação padrão de alfanum

 function fncVerifyStandardAlfaNum (pObjField, pStrName, pIntMin, pIntMax) {
    var pStrFormattedR = new Array;


    lIntMin = pIntMin;
    lIntMax = pIntMax;

    lIntReturn = GenJsValidateAlfaNumeric(pStrFormattedR, pObjField.value, lIntMin, lIntMax, 1);
    if(lIntReturn < 0) {
        FncJsMsgError (lIntReturn, pStrName);
        pObjField.focus();
        return false;
    }

    pObjField.value = pStrFormattedR[0];
    return true;
 }

 // fncVerifyStandardEmail : verificação padrão de email

 function fncVerifyStandardEmail (pObjField, pStrName, pIntMax) {
    var pStrFormattedR = new Array;


    lIntMax = pIntMax;

    lIntReturn = GenJsValidateEmail(pStrFormattedR, pObjField.value, lIntMax, 0);
    if(lIntReturn < 0) {
        FncJsMsgError (lIntReturn, pStrName);
        pObjField.focus();
        return false;
    }

    pObjField.value = pStrFormattedR[0];
    return true;
 }


 // fncVerifyStandardText : verificação padrão de texto
 //                         (NoTrim, NoCaps, Reject '' & "")

 function fncVerifyStandardText (pObjField, pStrName, pIntMin, pIntMax) {
    var pStrFormattedR = new Array;

    lIntMin = pIntMin;
    lIntMax = pIntMax;

    lIntReturn = GenJsValidateText(pStrFormattedR, pObjField.value, lIntMin, lIntMax, 1, 1, 3, 3);
    if(!FncJsMsgError(lIntReturn, pStrName)) {
        pObjField.focus();
       return false;
    }

    pObjField.value = pStrFormattedR[0];
    return true;
 }

 // fncVerifyStandardCombo : verificação standard de combo
 //

 function fncVerifyStandardCombo (pObjField, pStrName) {

    lIntReturn = GenJsVerifyCombo(pObjField, "");
    if(!FncJsMsgError(lIntReturn, pStrName))	{
        pObjField.focus();
	return false;
    }

    return true;
 }

 // fncVerifyStandardNumber : verificação padrão de numero
 //                           (Formato Brasileiro)
 function fncVerifyStandardNumber (pObjField, pStrName, pDblMin, pDblMax, pIntDecimals, pIntOptional) {
    var pStrFormattedR = new Array;

    lIntMin = pDblMin;
    lIntMax = pDblMax;

    lIntReturn = GenJsValidateNumber(pStrFormattedR, pObjField.value, 1, pDblMin, pDblMax, pIntDecimals, pIntOptional);
    if(!FncJsMsgError(lIntReturn, pStrName)) {
        pObjField.focus();
       return false;
    }

    return true;
 }

 // fncVerifyStandardDate : verificação padrão de data
 //                           (Formato Brasileiro)
 function fncVerifyStandardDate (pArrResult, pObjField, pStrName, pStrMin, pStrMax, pIntOptional) {
    var pStrFormattedR = new Array;

    lStrDataMin = pStrMin.substr(pStrMin.length-2) + "/" + pStrMin.substr(4, 2) + "/" + pStrMin.substr(0, 4);
    lStrDataMax = pStrMax.substr(pStrMax.length-2) + "/" + pStrMax.substr(4, 2) + "/" + pStrMax.substr(0, 4);

    lIntReturn = GenJsValidateDate(pStrFormattedR, pObjField.value, 1, "/", pStrMin, pStrMax, pIntOptional)
    if(!FncJsMsgError(lIntReturn, pStrName)) {
       return false;
    }

    pArrResult[0] = pStrFormattedR[0];
    return true;
 }

// fncVerifyStandardTel : verificação padrão de telefone
//

 function fncVerifyStandardTel (pObjField, pStrName, pIntType, pIntOptional) {
    var pStrFormattedR = new Array;

    lIntReturn = GenJsValidateTelefone(pStrFormattedR, pObjField.value, pIntType, pIntOptional);
    if(!FncJsMsgError(lIntReturn, pStrName)) {
       pObjField.focus();
       return false;
    }

    pObjField.value = pStrFormattedR[0];
    return true;
 }

 // OtbValidateForm: Valida formulário padrão do Outback.
 function OtbValidateForm(frm) {
    var dummy = new Array();
    var obj;  

    // Pergunta
    obj = frm.txtPergunta;
    if (obj != null) {
	if (!fncVerifyStandardText (obj, 'Pergunta', 1, 100)) {
	   return false;
	}
    }
    
    // nome 
    obj = frm.txtNome ;
    if (obj != null) {
       if (!fncVerifyStandardText (obj, 'Nome', 1, 50)) {
          return false;
       }
    }   

    // email
    obj = frm.txtEmail;
    if (obj != null) {
       if (!fncVerifyStandardEmail (obj, 'Email', 100)) {
           return false;
       }     
   }     
    
    // Endereco
    obj = frm.txtEndereco;
    if (obj != null) {
       if (!fncVerifyStandardText (obj, 'Endereço', 0, 500)) {
          return false;
       }
    }
    
    // Bairro
    obj = frm.txtBairro;
    if (obj != null) {
       if (!fncVerifyStandardText (obj, 'Bairro', 0, 100)) {
          return false;
       }
    }

    // Cidade
    obj = frm.txtCidade;
    if (obj != null) {
       if (!fncVerifyStandardText (obj, 'Cidade', 0, 100)) {
          return false;
       }
    }

    // Estado
    obj = frm.txtSiglaEstado;
    if (obj != null) {
       if (!fncVerifyStandardText (obj, 'Estado', 0, 2)) {
          return false;
       }
    }
   
    // CEP
    obj = frm.txtCep;
        if (obj != null) {
    
    	  switch (GenJsValidateCep (dummy, obj.value, 1)) {
          case  0:
                break;
       
          case -291: 
                alert ('CEP inválido.');
                obj.focus(); 
                return false; 
       
          case -290:
                alert ('Campo CEP é obrigatório.');
                obj.focus(); 
                return false; 
       
          default:
                alert ('Erro interno.');
                obj.focus(); 
                return false; 
         }
               
   }
    
    // DDD
    obj = frm.txtDDD;
    if (obj != null) {
        if (!fncVerifyStandardNumber (obj, 'DDD', 0, 9999, 0, 1)) {
	   return false;  
        }
    }
    
    
    // Telefone
    obj = frm.txtTelefone;
    if (obj != null) {
       if (!fncVerifyStandardTel (obj, 'Telefone', 1, 1)) {
          return false;
       }    
   }
    
    // Assunto
    obj = frm.cboAssunto;
    if (obj != null) {
        if (!fncVerifyStandardCombo (obj, 'Assunto')) {
            return false;
        } 
    }
    
     // Telefone
    obj = frm.txtComentarios;
    if (obj != null) {
       if (!fncVerifyStandardText (obj, 'Comentários', 1, 2000)) {
          return false;
       }    
   }
    
    return true;   
}   

 // OtbValidateTrivia: Valida formulário da trivia.
 function OtbValidateTrivia(frm) {
    var obj = frm.optResposta;
    
    if (obj != null) {
    	if (GenJsVerifyRadio(obj) >= 0) {
    	   return true;
    	}   
    }
    
    alert('Escolha a resposta certa');
    return false;   
}   

 // OtbValidateNewsletter: Valida formulário da newsletter.
 function OtbValidateNewsletter(frm) {


     if(frm.txtNome.value == 'Seu nome') {
       alert('Preencha seu nome');
       frm.txtNome.focus();
       return false;
     }    
 
     if(frm.txtEmail.value == 'Seu e-mail') {
       alert('Preencha seu e-mail');
       frm.txtEmail.focus();
       return false;
     }    
     
     return OtbValidateForm(frm);
}


   