/**
 * Os validadores daqui são apenas validadores 
 * retornam SEMPRE boolean
 * @return boolean 
 */

/*************************************************
 * Verifica se o CPF é válido
 *************************************************/
function checacpf (cpf){
    if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
        return false;
    soma = 0;
    for (i=0; i < 9; i ++)
        soma += parseInt(cpf.charAt(i)) * (10 - i);
    resto = 11 - (soma % 11);
    if (resto == 10 || resto == 11)
        resto = 0;
    if (resto != parseInt(cpf.charAt(9)))
        return false;
    soma = 0;
    for (i = 0; i < 10; i ++)
        soma += parseInt(cpf.charAt(i)) * (11 - i);
    resto = 11 - (soma % 11);
    if (resto == 10 || resto == 11)
        resto = 0;
    if (resto != parseInt(cpf.charAt(10)))
        return false;
    return true;
}



/*************************************************
 * Verifica se a data é válida
 *************************************************/
	function validar_data(data){
		arData = data.split("/");
		//if(tiraespacos(data)=='') return false;
		if(arData.length!=3){
			retorno = false;
		}else{
			retorno = verificadata(arData[0],arData[1],arData[2]);
		}
		return retorno;
	}
 
	function verificadata(dia,mes,ano){
	 var x = true;
	 if( dia == '' || mes== ''|| ano== '' ) return false;
	 
	 if(mes<1 || mes>12) x= false;
	 
	 if(mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12){
	  if(dia>=1 && dia<=31) x = true;
	  else x = false;
	 }
	 
	 if(mes==4 || mes==6 || mes==9 || mes==11){
	  if(dia>=1 && dia<=30) x = true;
	  else x = false;
	    }
	 
	 if(mes==2){
	 if((ano%4==0 && ano%100!=0)|| ano%400==0){
	   if(dia>=1 && dia<=29) x = true;
	   else x = false;
	  }else{
	   if(dia>=1 && dia<=28) x = true;
	   else x = false;
	  }
	    }
	 
	 if(x==true) return true;
	 else return false;
	}

	function validar_hora(hora) {
		var re = new RegExp("([01][0-9]|2[0-3]):([0-5][0-9])") ; // testa data no formato 'dd/mm/aa 
		return re.test(hora);
	}


	/*************************************************
	 * Verifica se o email é válido
	 *************************************************/
	/**
	 * @param String email
	 * @return boolean
	 */
	function validar_email(email){
		if (email == "") {
			return false;
		} else {
			prim = email.indexOf("@")
			if(prim < 2) {
				return false;
			}
			if(email.indexOf("@",prim + 1) != -1) {
				return false;
			}
			if(email.indexOf(".") < 1) {
				return false;
			}
			if(email.indexOf(" ") != -1) {
				return false;
			}
			if(email.indexOf("zipmeil.com") > 0) {
				return false;
			}
			if(email.indexOf("hotmeil.com") > 0) {
				return false;
			}
			if(email.indexOf(".@") > 0) {
				return false;
			}
			if(email.indexOf("@.") > 0) {
				return false;
			}
			if(email.indexOf(".com.br.") > 0) {
				return false;
			}
			if(email.indexOf("/") > 0) {
				return false;
			}
			if(email.indexOf("[") > 0) {
				return false;
			}
			if(email.indexOf("]") > 0) {
				return false;
			}
			if(email.indexOf("(") > 0) {
				return false;
			}
			if(email.indexOf(")") > 0) {
				return false;
			}
			if(email.indexOf("..") > 0) {
				return false;
			}
		}
		return true;
	}