
// VALIDA TAMANHO DA STRING
function WSsize(obj,size){
    var stri = new String(obj.value);
         if ( stri.length < size ){
                 return false;
         }
         return true;
}

// VALIDA NÚMEROS NA STRING
function WSnum(obj){
     var str = new String(obj.value);
     var bOk = 1;
     for (i = 0; i < str.length; i++){
             if ( str.substring(i,i+1) < "0" ||  "9" < str.substring(i,i+1) ){
                     i = str.length;
                     bOk = 0;
             }
     }
     if (bOk == 0)        {
             return false;
     }
     return true;
}

// VALIDA E-MAIL
function WSemail(obj){
     var str = new String(obj.value);
     var bOk = 0;
     for (i = 0; i < str.length; i++){
             if ( str.charAt(i) == "@" ){
                     i = str.length;
                     bOk = 1;
             }
     }
     if (bOk == 0)        {
             return false;
     }
     return true;
}

function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";

	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	}
	} //for

	return temp
}
// fim da funcao

// VALIDA CPF
function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	
	if(s=='00000000000')
		return false;
	else if(s=='11111111111')
		return false;
	else if(s=='22222222222')
		return false;
	else if(s=='33333333333')
		return false;
	else if(s=='44444444444')
		return false;
	else if(s=='55555555555')
		return false;
	else if(s=='66666666666')
		return false;
	else if(s=='77777777777')
		return false;
	else if(s=='88888888888')
		return false;
	else if(s=='99999999999')
		return false;
	
	
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
        if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1)
	{
		return false;
	}

	d1 *= 2;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)
	{
		return false;
	}
        return true;
}

// VALIDA DADOS
function WSvalidadados(){
    d = document.WSdados;
    // informações pessoais
    // NOME
    if ( !WSsize(d.nome,2) ){
        alert("Você deve informar o seu nome!");
        d.nome.focus();
        return false;
    }
    // NASCIMENTO
    if ( !WSsize(d.nascimento,10) ){
        alert("Você deve informar a sua data de nascimento!");
        d.nascimento.focus();
        return false;
    }
    // ENDEREÇO
    if ( !WSsize(d.endereco,2) ){
        alert("Você deve informar o seu endereço!");
        d.endereco.focus();
        return false;
    }
    // NUMERO
    if ( !WSsize(d.numero,1) ){
        alert("Você deve informar o seu número!");
        d.numero.focus();
        return false;
    }
    // BAIRRO
    if ( !WSsize(d.bairro,2) ){
        alert("Você deve informar o seu bairro!");
        d.bairro.focus();
        return false;
    }
    // CEP
    if ( !WSsize(d.cep,8) ){
        alert("Você deve informar o seu CEP!\nEx.: 99999000\nNão utilize '-'");
        d.cep.focus();
        return false;
    }
    if ( !WSnum(d.cep) ){
        alert("Você deve informar o seu CEP!\nEx.: 99999000\nNão utilize '-'");
        d.cep.focus();
        return false;
    }
    // CIDADE
    if ( !WSsize(d.cidade,2) ){
        alert("Você deve informar a sua cidade!");
        d.cidade.focus();
        return false;
    }
    // ESTADO
    if( d.estado.value == "UF" ){
        alert("Você deve informar o seu Estado!");
        d.estado.focus();
        return false;
    }
    // TELEFONE
    if ( !WSsize(d.ddd_tel,2) ){
        alert("Você deve informar o seu DDD e o telefone!");
        d.ddd_tel.focus();
        return false;
    }
    // TELEFONE
    if ( !WSsize(d.telefone,7) ){
        alert("Você deve informar o seu DDD e o telefone!");
        d.telefone.focus();
        return false;
    }
    // CELULAR
    // E-MAIL
    if ( !WSemail(d.email) ){
        alert("Você deve informar o seu e-mail!");
        d.email.focus();
        return false;
    }
    // CPF
    if( !valida_CPF(d.cpf.value) ){
    	alert("Você deve informar o seu CPF!\nNão utilize '.' ou '-'");
        d.cpf.focus();
        return false;
    }
    // RG
    if ( !WSsize(d.rg,2) ){
        alert("Você deve informar o seu RG!\nNão utilize '.' ou '-'");
        d.rg.focus();
        return false;
    }
    if ( !WSnum(d.rg) ){
        alert("Você deve informar o seu RG!\nNão utilize '.' ou '-'");
        d.rg.focus();
        return false;
    }
    // SENHA
    if ( !WSsize(d.senha,2) ){
        alert("Você deve informar a sua senha!");
        d.senha.focus();
        return false;
    }

    return true;

} // wsvalidadados

// VALIDAR DADOS DO FORMULÁRIO
function WSdadosForm(){
       if ( WSvalidadados() ){
               document.WSdados.submit();
       }
}
