function validar(){

	var illegalChars = /\W/;
	var erro=0;
	
	var nome=document.frm.nome.value;
	var nascimento=document.frm.nascimento.value;
	
	var email=document.frm.email.value;
	var telefone1=document.frm.telefone1.value;
	var telefone2=document.frm.telefone2.value;
	
	var cidade=document.frm.cidade.value;
	var uf=document.frm.uf.value;
	var cep=document.frm.cep.value;
	
	var userid=document.frm.userid.value;
	var senha1=document.frm.senha1.value;
	var senha2=document.frm.senha2.value;

	if (userid==""){
	    alert("Informe o Usuário(ID)");
	    document.frm.userid.focus(); 
	    erro++;
	    return false;
	}
	
	if (userid.length<5){
	    alert("O Usuário(ID) deve conter no minímo 5(cinco) caracteres!");
	    document.frm.userid.focus(); 
	    erro++;
	    return false;
	}
	
	if (illegalChars.test(userid)) {
		alert("O Usuário(ID) deve conter somente letras e/ou números!");
		document.frm.userid.focus(); 
		document.frm.userid.select();
		erro++;
		return false;
	}	

	if (senha1==""){
	    alert("Informe sua senha para acesso");
	    document.frm.senha1.focus(); 
	    erro++;
	    return false;
	}
	
	if (senha1.length<6){
	    alert("A senha deve conter no mínimo 6 caracteres!");
	    document.frm.senha1.focus(); 
	    erro++;
	    return false;
	}
	    
	if (senha2==""){
	    alert("Repita sua senha");
	    document.frm.senha2.focus(); 
	    erro++;
	    return false;
	}
	    
	if (senha1!=senha2){
	    alert("As senhas informadas não conferem ou não são iguais");
	    document.frm.senha1.focus(); 
	    erro++;
	    return false;
	}
	
	
	if (nome==""){
	    alert("Informe seu nome completo");
	    document.frm.nome.focus(); 
	    erro++;
	    return false;
	}
	
	if (nome.indexOf(' ')==-1){
	    alert("Informe o seu nome completo");
	    document.frm.nome.focus(); 
	    erro++;
	    return false;
	}
	
	if (nascimento==""){
	    alert("Informe sua data de nascimento");
	    document.frm.nascimento.focus(); 
	    erro++;
	    return false;
	}
	
	var hoje = new Date();
	var anoAtual = hoje.getFullYear();
	var barras = nascimento.split("/");
	if (barras.length == 3){
	var dia = barras[0];
	var mes = barras[1];
	var ano = barras[2];
	var resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
	if (!resultado) {
	    alert("Informe uma data válida");
	    document.frm.nascimento.focus(); 
	    erro++;
	    return false;
	}
	} else {
	    alert("Informe uma data válida");
	    document.frm.nascimento.focus();
	    erro++; 
	    return false;
	}

	if (email==""){
	    alert("Informe um e-mail para contato");
	    document.frm.email.focus(); 
	    return false;
	}
	
	if(email.indexOf('@')==-1 || email.indexOf('.')==-1 ) {
	    alert("Informe um e-mail válido");
	    document.frm.email.focus(); 
	    erro++;
	    return false; 
	}

	if (telefone1=="" && telefone2==""){
	    alert("Informe ao menos um telefone para contato");
	    document.frm.telefone1.focus(); 
	    erro++;
	    return false;							
	}
	
	if (cidade==""){
	    alert("Informe a cidade de sua localidade");
	    document.frm.cidade.focus(); 
	    erro++;
	    return false;
	}
	
	if (uf==""){
	    alert("Informe a UF(sigla referente ao estado da federação) de sua localidade");
	    document.frm.uf.focus(); 
	    erro++;
	    return false;
	}
	
	if (cep==""){
	    alert("Informe o CEP de sua localidade");
	    document.frm.cep.focus(); 
	    erro++;
	    return false;
	}
	
	if(document.getElementById('caixa_aceito').checked==false){
	    alert("Para se cadastrar é necessário aceitar os Termos de Utilização do Serviço.");
	    erro++;
	    return false;
	}

	var xmlhttp = false;
	
	try {
	    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	    try {
	    	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (E) {
	    	xmlhttp = false;
	    }
	}
	
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	    xmlhttp = new XMLHttpRequest();
	}
	
	var serverPage="touser_client/includes/autenticuser.php?usuario="+userid+"&email="+email;
	
	var res;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			res = xmlhttp.responseText;
	    	
	   		if (res=="1"){
	   		   alert("Usuário(ID) indisponível. Favor, inserir outro ID");
	   		   document.frm.userid.value="";
	   		   document.frm.userid.focus(); 
	   		   erro++;
	   		} else if(res=="2") {
	   		   alert("E-mail indisponível para novo cadastro. Favor, inserir outro email");
	   		   document.frm.email.focus(); 
	   		   erro++;				
	   		} else if(res=="3") {
	   		   alert("Usuário(ID) indisponível. Favor, inserir outro ID");
	   		   document.frm.userid.value="";
	   		   document.frm.userid.focus(); 
	   		   erro++;				
	   		}								
	   		
	   		if(erro=="0"){
	   		   document.frm.submit();
	   		}	
	    
	    }
	}
	xmlhttp.send(null);	
}


function maskformat(e,src,mask) {
if(window.event) { _TXT = e.keyCode; } 
else if(e.which) { _TXT = e.which; }
if(_TXT > 47 && _TXT < 58) { 
 var i = src.value.length; var saida = mask.substring(0,1); var texto = mask.substring(i)
 if (texto.substring(0,1) != saida) { src.value += texto.substring(0,1); } 
    return true; } else { if (_TXT != 8) { return false; } 
 else { return true; }
}
}

function masktel(objeto, sMask, evtKeyPress) {
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;


if(document.all) { // Internet Explorer
    nTecla = evtKeyPress.keyCode;
} else if(document.layers) { // Nestcape
    nTecla = evtKeyPress.which;
} else {
    nTecla = evtKeyPress.which;
    if (nTecla == 8) {
        return true;
    }
}

    sValue = objeto.value;

    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( " ", "" );
    sValue = sValue.toString().replace( " ", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    mskLen = fldLen;

    while (i <= mskLen) {
      bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
      bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

      if (bolMask) {
        sCod += sMask.charAt(i);
        mskLen++; }
      else {
        sCod += sValue.charAt(nCount);
        nCount++;
      }

      i++;
    }

    objeto.value = sCod;

    if (nTecla != 8) { // backspace
      if (sMask.charAt(i-1) == "9") { // apenas números...
        return ((nTecla > 47) && (nTecla < 58)); } 
      else { // qualquer caracter...
        return true;
      } 
    }
    else {
      return true;
    }
}

function convertField(field) {
field.value = field.value.toUpperCase();
}
