// JavaScript Document

/////////////////////////////////////////////////////////////////
// <Webroom Soluções Interativas>							   //
// CRIADO POR ........: Alessandro Angeruzzi				   //
// TIPO Script........: Java Script							   //
// DATA CRIACAO.......: 04/03/2004							   //
//		Descrição do Script:								   //
// 			Função de validação do formulário de cadastro de   //
//		usuários via site									   //
/////////////////////////////////////////////////////////////////

function verificaData(Data)
 {
  var dma = -1;
  var data = Array(3);
  var ch = Data.charAt(0); 
  for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ){
   data[++dma] = '';
   if(ch!='/' && i != 0) return false;
   if(i != 0 ) ch = Data.charAt(++i);
   if(ch=='0') ch = Data.charAt(++i);
   while( ch >= '0' && ch <= '9' ){
    data[dma] += ch;
    ch = Data.charAt(++i);
   } 
  }
  if(ch!='') return false;
  if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
  if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
  if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 0 || parseInt(data[2]) > 99 ) && (parseInt(data[2]) < 1900 || parseInt(data[2]) > 9999))) return false;
  if(data[2] < 50) data[2] = parseInt(data[2]) + 2000;
  else if(data[2] < 100) data[2] = parseInt(data[2]) + 1900;
  switch(parseInt(data[1])){
   case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
   case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break;}
   default: { if(parseInt(data[0]) > 31) return false;}
  }
  return true; 
 }

function valida_cadastro()
{
	if (cadastro.nome.value == ""){
		alert("Por favor, digite o seu nome!");
		cadastro.nome.focus();
		return (false);
	}
	if (cadastro.email.value == ""){
		alert("Por favor, digite o seu email!");
		cadastro.email.focus();
		return (false);
	}
	else 
	{
		validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
		strEmail = cadastro.email.value;
		// search email text for regular exp matches
		if (strEmail.search(validRegExp) == -1) {
		  alert('E-mail inválido!'); 
		  cadastro.email.focus(); 
		  return (false);
		}
	}
	if (cadastro.senha.value == ""){
		alert("Por favor, digite uma senha!");
		cadastro.senha.focus();
		return (false);
	}
	if (cadastro.senhaconf.value == ""){
		alert("Por favor, confirme sua senha!");
		cadastro.senhaconf.focus();
		return (false);
	}
	if (cadastro.senha.value != cadastro.senhaconf.value){
		alert("A senha digitada e a confirmação não conferem\nPor Favor, digite sua senha novamente");
		cadastro.senha.value="";
		cadastro.senhaconf.value="";
		cadastro.senha.focus();			
		return (false);
	}
	if (cadastro.nasc.value != ""){
		if (!verificaData(cadastro.nasc.value)){
		  alert('Data Inválida');
		  cadastro.nasc.focus();
		  return(false);
		}
	}
	return true;
}
