// ***********************************************************************
// Biblioteca de funções JavaScrpit para checar o preenchimento correto
// de campos de um formulário
// Autores: Gaspar Vianna, Singo Ando e !Maurício Jun @ rits.org.br
// Parâmetros: <nome do formulário>, <nome do campo>, <mensagem do alert em caso de erro>
// Data: 04/2003
// ***********************************************************************
//*****************************************************

// ###### CHK_CAMPO_SENHA2 ######
// Detecta se campo de senha foi preenchido corretamente
function chk_campo_senha2 (form_nome, campo_nome1, campo_nome2) {
	if (trim(eval('document.'+form_nome+'.'+campo_nome1+'.value')).length == 0) {
		alert ('Você precisa preencher o campo Senha');
		eval('document.'+form_nome+'.'+campo_nome1+'.focus()');
		return (false); 
	}

	if (trim(eval('document.'+form_nome+'.'+campo_nome2+'.value')).length == 0) {
		alert ('Você precisa preencher o campo confirma senha');
		eval('document.'+form_nome+'.'+campo_nome2+'.focus()');
		return (false); 
	}
	 
	if (trim(eval('document.'+form_nome+'.'+campo_nome1+'.value')).length != 0) {
		if (trim(eval('document.'+form_nome+'.'+campo_nome2+'.value')).length != 0)  {
		 	if (eval('document.'+form_nome+'.'+campo_nome1+'.value') != eval('document.'+form_nome+'.'+campo_nome2+'.value')){
				alert ('As senhas preenchidas não conferem');
				return (false);
			}	
		}
	}
return (true)
}


// ###### CHK_CAMPO_SENHA ######
// Detecta se campo de senha foi preenchido corretamente (para Loja, senha_conf pode ser em branco)
function chk_campo_senha (form_nome, campo_nome1, campo_nome2, msg,msg2) {
	if (trim(eval('document.'+form_nome+'.'+campo_nome1+'.value')).length == 0)
	{
		alert (msg);
		eval('document.'+form_nome+'.'+campo_nome1+'.focus()');
		return (false); 
	}
	
	if 	(trim(eval('document.'+form_nome+'.'+campo_nome2+'.value')).length == 0)
	{
		alert (msg);
		eval('document.'+form_nome+'.'+campo_nome2+'.focus()');
		return (false); 
	}
	
	 
	if (trim(eval('document.'+form_nome+'.'+campo_nome1+'.value')).length != 0) {
		if (trim(eval('document.'+form_nome+'.'+campo_nome2+'.value')).length != 0)  {
		 	if (eval('document.'+form_nome+'.'+campo_nome1+'.value') != eval('document.'+form_nome+'.'+campo_nome2+'.value')){
				//alert ('As senhas preenchidas não conferem');
				alert (msg2);
				return (false);
			}	
		}
	}
return (true)
}

// ###### CHK_CAMPO_TEXTO ######
// Detecta se campo foi preenchido. Não permite preenchimento com 
// apenas espaços
function chk_campo_texto (form_nome, campo_nome, msg) {

 	if (trim(eval('document.'+form_nome+'.'+campo_nome+'.value')).length == 0) 
	{
 		alert (msg);
	 	eval('document.'+form_nome+'.'+campo_nome+'.focus()');
 		return (false); 
	} 
	return (true)
}

// ##############################
//*****************************************************
// ###### CHK_CAMPO_RADIO ######
// Um dos campos deve ser preenchido
function chk_campo_radio(form_nome, campo_nome, msg) {
var checa_radio = false;
for (conta = 0; conta < eval('document.'+form_nome+'.'+campo_nome+'.length'); conta++) {
	if (eval('document.'+form_nome+'.'+campo_nome+'[conta].checked')) {
		checa_radio = true; 
	}
}
if (!checa_radio) {
	alert(msg);	
	
	return (false);
}
return (true);
}

// ##############################
//*****************************************************
// ###### CHK_CAMPO_SELECT ######
// O valor default deve estar = 0 (Zero)
function chk_campo_select(form_nome, campo_nome, msg) {

with (eval('document.'+form_nome+'.'+campo_nome)) {  
	if (options[selectedIndex].value == 0) {  
		alert(msg);  
        return (false);  
	}    
}
return (true);
}

// ##############################
//*****************************************************
// ###### CHK_CAMPO_EMAIL #######
function chk_campo_email(form_nome, campo_nome, msg) {
     var checa_email;
     checa_email = VerificaEmail(eval('document.'+form_nome+'.'+campo_nome+'.value'));
     if (checa_email < 0) {
          if (checa_email == -1) {
               alert(msg);
          }
          if (checa_email == -2) {
               //alert("Não é permitido utilizar espaços em um email.");
			    alert(msg);
          }
          if (checa_email == -3) {
               //alert("O símbolo @ deve estar contido em um email.");
			   alert(msg);
          }
          if (checa_email == -4) {
               //alert("Deve existir pelo menos um ponto após o símbolo @.");
			    alert(msg);
          }
          if (checa_email == -5) {
               //alert("Um endereço de email não pode terminar com um ponto.");
			    alert(msg);
          }
          if (checa_email == -6) {
              // alert("É obrigatória a presença de algum caracter entre o símbolo @ e o ponto.");
			    alert(msg);
          }
          if (checa_email == -7) {
               //alert("Um endereço de email não pode começar pelo símbolo @");
			    alert(msg);
          }
          eval('document.'+form_nome+'.'+campo_nome+'.focus()');
     }
     else {
	 	return (true);
     }
}

// VerificaEmail() verifica se o email está no formato correto
function VerificaEmail(email) {
var at_pos;
var pd_pos;
var sp_pos;
var em_len;

// checa se foi preenchido
em_len = email.length;
if (em_len < 1) {
	return -1;
}

// checa se existem espaços
sp_pos = email.indexOf(" ", 0);
if (sp_pos != -1) {
	return -2;
}

// procura o símbolo @
at_pos = email.indexOf("@", 0);
if (at_pos == -1) {
	return -3;
}

// procura por um ponto depois do símbolo @
pd_pos = email.indexOf(".", at_pos);
if (pd_pos == -1) {
	return -4;
}

// checa se o último dado é um ponto
if (pd_pos == (em_len - 1)) {
	return -5;
}

// Se certifica que existe pelo menos um caracter entre a @ e o ponto
if (pd_pos == (at_pos + 1)) {
	return -6;
}

// Se certifica que o email não começa com um símbolo @
if (at_pos == 0) {
	return -7;
}
return 1;
}

// ##############################
//*****************************************************
// ###### TRIM ######
// Remove espaços a direita e a esquerda de um texto
function trim(strText)   {     
    while (strText.substring(0,1) == ' ')   
        strText = strText.substring(1, strText.length);  
   
    while (strText.substring(strText.length-1,strText.length) == ' ')  
        strText = strText.substring(0, strText.length-1);  
  
    return strText;  
}  
// ##############################
//*****************************************************
