function isEmpty(text){
	var enter1 = "\n",
		enter2 = "\r",
		espaco = " ",
		tab = "\t";
	if (text =="") return true;
	
	//A verifica se o caracter selecionado possui valor válido
	for (var indice = 0; indice < text.length; indice++){
		if (text.charAt(indice) != espaco && 
			text.charAt(indice) != tab &&
			text.charAt(indice) != enter1 && 
			text.charAt(indice) != enter2 )
		return false;
	}
	return true;
}

//função que verifica se o numero de um CPF é válido ou não.
function checkCPF(vCPF)
{
	var mControle = ""
	var mContIni = 2, mContFim = 10, mDigito = 0;
	for (j = 1 ; j <= 2 ; j++){
		mSoma = 0;
 		for (i = mContIni ; i <= mContFim ; i++)
		mSoma = mSoma + (vCPF.substring((i-j-1),(i-j)) * (mContFim + 1 + j - i));
		if (j == 2 ) mSoma = mSoma + ( 2 * mDigito );
 		mDigito = ( mSoma * 10 ) % 11;
		if (mDigito == 10) mDigito = 0;
		mControle1 = mControle;
		mControle = mDigito;
		mContIni = 3;
		mContFim = 11;
	}

	return( (mControle1 * 10) + mControle );
}

function isCPF(field)
{
	if(isEmpty(field)){
		alert("Por favor preencha o campo de CPF");
		d.cpf.focus();
		return false;
	}
	
	field = field.replace( "-", "" );
	field = field.replace( ".", "" );
	field = field.replace( ".", "" );
	
	var campo_filtrado = "", valor_1 = " ", valor_2 = " ", ch = "";
	var valido = false;

	for (i = 0; i < field.length; i++)
	{
		ch = field.substring(i, i + 1);
		if (ch >= "0" && ch <= "9")
		{
			campo_filtrado = campo_filtrado.toString() + ch.toString()
			valor_1 = valor_2;
			valor_2 = ch;
		}
		
		if ((valor_1 != " ") && (!valido)) valido = !(valor_1 == valor_2);
	}
	
	if (!valido) campo_filtrado = "12345678912";

	if (campo_filtrado.length < 11){
		for (i=1; i <= (11 - campo_filtrado.length); i++)
		{
			campo_filtrado = "0" + campo_filtrado;
		}
	}

	if ( ( campo_filtrado.substring(9,11) == checkCPF( campo_filtrado.substring(0,9) ) ) && ( campo_filtrado.substring(11,12)=="") )
	{
		return true;
	}
	alert("CPF incorreto!");
	d.cpf.focus();
	return false;
}

function isEmail(email) 
{
	var s = new String(email);
	// { } ( ) < > [ ] | \ /
	if ((s.indexOf("{")>=0) || (s.indexOf("}")>=0) || (s.indexOf("(")>=0) || (s.indexOf(")")>=0) || (s.indexOf("<")>=0) || (s.indexOf(">")>=0) || (s.indexOf("[")>=0) || (s.indexOf("]")>=0) || (s.indexOf("|")>=0) || (s.indexOf("\"")>=0) || (s.indexOf("/")>=0) )
		return false;
	// & * $ % ? ! ^ ~ ` ' "
	if ((s.indexOf("&")>=0) || (s.indexOf("*")>=0) || (s.indexOf("$")>=0) || (s.indexOf("%")>=0) || (s.indexOf("?")>=0) || (s.indexOf("!")>=0) || (s.indexOf("^")>=0) || (s.indexOf("~")>=0) || (s.indexOf("`")>=0) || (s.indexOf("'")>=0) )
		return false;
	// , ; : = #
	if ((s.indexOf(",")>=0) || (s.indexOf(";")>=0) || (s.indexOf(":")>=0) || (s.indexOf("=")>=0) || (s.indexOf("#")>=0) )
		return false;
	// procura se existe apenas um @
	if ( (s.indexOf("@") < 0) || (s.indexOf("@") != s.lastIndexOf("@")) )
		return false;
	// verifica se tem pelo menos um ponto após o @
	if (s.lastIndexOf(".") < s.indexOf("@"))
		return false;
	return true;
}

function txtBoxFormat(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;

	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) {
		if (sMask.charAt(i-1) == "9") {
			return ((nTecla > 47) && (nTecla < 58)); }
		else {
			return true;
		}
	}
	else {
		return true;
	}
}

function validaForm(){
	d = document.frmPromoter;

	if (d.nome.value == ""){
		alert("Por favor preencha o campo de Nome");
		d.nome.focus();
		return false;
	}

	if (d.sobrenome.value == ""){
		alert("Por Favor prencha o campo de Sobrenome");
		d.sobrenome.focus();
		return false;
	}

	if (d.nascimento.value == ""){
		alert("Por Favor prencha o campo de Nascimento");
		d.nascimento.focus();
		return false;
	}

	if(!isEmail(d.email.value))
	{
		alert("Por favor informe o e-mail!")
		d.email.focus()
		return false;
	}
	if(d.confemail.value != d.email.value)
	{
		alert("A confirmação de seu email e seu email não conferem!")
		d.confemail.focus()
		return false;
	}


	if (d.login.value == ""){
		alert("Por favor preencha o campo de Username");
		d.login.focus();
		return false;
	}

	if(isEmpty(d.senha.value))
	{
		alert("Por favor informe sua senha!")
		d.senha.focus()
		return false;
	}
	if(d.senha.value.length < 4)
	{
		alert("Sua senha deve ter no minimo 4 dígitos!")
		d.senha.focus()
		return false;
	}

	if(d.confsenha.value != d.senha.value)
	{
		alert("A confirmação de sua senha e seu senha não conferem!")
		d.confsenha.focus()
		return false;
	}

	if (d.endereco.value == ""){
		alert("Por Favor prencha o campo de Endereço");
		d.endereco.focus();
		return false;
	}

	if (d.numero.value == ""){
		alert("Por favor preencha o campo de Numero");
		d.numero.focus();
		return false;
	}

	if (d.bairro.value == ""){
		alert("Por Favor prencha o campo de Bairro");
		d.bairro.focus();
		return false;
	}

	if (d.sel_est.value == ""){
		alert("Por favor escolha seu Estado");
		d.sel_est.focus();
		return false;
	}

	if($("#cidades > option:selected").val() == "") {
		alert("Por favor escolha sua Cidade");
		return false;
	}

	if (d.telefone.value == ""){
		alert("Por favor preencha o campo de Telefone");
		d.telefone.focus();
		return false;
	}

	if (!isCPF(d.cpf.value)){
//		alert("Por favor preencha o campo de CPF");
		d.cpf.focus();
		return false;
	}
	if($("#aceitatermos:checked").val() != "1") {
		alert("Você deve aceitar os termos");
		return false;
	}
	
	return true;
}
