/******************************************************************
	CADASTRO PROMOÇÃO
******************************************************************/

function validaCadastro()
{
	with (document.formulario)
	{
		if (isEmpty(nome))
		{
			abreAlerta("Preencha seu nome.");
			nome.focus();
			return;
		}
		
		if (isEmpty(email))
		{
			abreAlerta("Preencha seu e-mail.");
			email.focus();
			return;
		}
		
		if (!isEmail(email))
		{
			abreAlerta("E-mail digitado é inválido.");
			email.focus();
			return;
		}
		
		if (isEmpty(cpf))
		{
			abreAlerta("Preencha seu cpf.");
			cpf.focus();
			return;
		}
		
		if (!isCpf(cpf.value))
		{
			abreAlerta("O cpf digitado é inválido.");
			cpf.focus();
			return;
		}
		
		if (isEmpty(sexo))
		{
			abreAlerta("Selecione seu gênero.");
			sexo.focus();
			return;
		}
		
		if (isEmpty(telefone))
		{
			abreAlerta("Preencha um telefone de contato.");
			telefone.focus();
			return;
		}
		
		if (isEmpty(endereco))
		{
			abreAlerta("Preencha o endereço.");
			endereco.focus();
			return;
		}
		
		if (isEmpty(numero))
		{
			abreAlerta("Preencha o número do prédio/residência.");
			numero.focus();
			return;
		}
		
		if (isEmpty(bairro))
		{
			abreAlerta("Preencha o bairro.");
			bairro.focus();
			return;
		}
		
		if (isEmpty(estado))
		{
			abreAlerta("Selecione o estado onde reside.");
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Selecione a cidade onde reside.");
			cidade.focus();
			return;
		}
		
		if (isEmpty(cep))
		{
			abreAlerta("Preencha o cep.");
			cep.focus();
			return;
		}
		
		if (isEmpty(nascimento))
		{
			abreAlerta("Preencha sua data de nascimento.");
			nascimento.focus();
			return;
		}
		
		if(!isDate(nascimento))
		{
			abreAlerta("A data de nascimento preenchida é inválida.");
			nascimento.focus();
			return;
		}
		
		if (isEmpty(escolaridade))
		{
			abreAlerta("Selecione sua escolaridade.");
			escolaridade.focus();
			return;
		}
		
		if (isEmpty(calce))
		{
			abreAlerta("Preencha o número de seu calce.");
			calce.focus();
			return;
		}
				
		//Capta os dados do formulário
		var dados = $("#formulario").serialize();
		
		$.post("send.acoes.php?acao=promocao_cadastro", dados, function(msg){
	
			var fim = $.trim(msg);
			
			if (fim == "ok")
			{
				carregaClip('promo_ok?idpromo='+$("#promocao").val());
			}
			
			if (fim == "ja_tem")
			{
				carregaClip('promo_ja?idpromo='+$("#promocao").val());
			}
			
			if (fim == "erro")
			{
				abreAlerta('Ocorreu um erro ao enviar seu cadastro, tente novamente.');
			}
			
		}, "html");
	}	
}


/******************************************************************
	BUSCA
******************************************************************/

function validaBusca()
{
	var chave = $("#tag");
	
	if (chave.val() == "BUSCA" || chave.val() == "")
	{
		abreAlerta("Preencha a palavra chave que deseja buscar.");
		chave.focus();	
	}
	else
	{
		location.href = "busca.php?palavra="+chave.val();	
	}
}

/******************************************************************
	COMENTÁRIOS
******************************************************************/

function validaTrabalhe()
{
	with (document.formulario)
	{
		if (isEmpty(nome))
		{
			abreAlerta("Preencha seu nome.");
			nome.focus();
			return;
		}
		
		if (isEmpty(email))
		{
			abreAlerta("Preencha seu e-mail.");
			email.focus();
			return;
		}
		
		if (!isEmail(email))
		{
			abreAlerta("E-mail digitado é inválido.");
			email.focus();
			return;
		}
		
		if (isEmpty(telefone))
		{
			abreAlerta("Preencha seu telefone.");
			telefone.focus();
			return;
		}
		
		if (isEmpty(dia))
		{
			abreAlerta("Preencha sua Data de Nacimento.");
			dia.focus();
			return;
		}
		
		if (isEmpty(mes))
		{
			abreAlerta("Preencha sua Data de Nacimento.");
			mes.focus();
			return;
		}
		
		if (isEmpty(ano))
		{
			abreAlerta("Preencha sua Data de Nacimento.");
			ano.focus();
			return;
		}
		
		if (isEmpty(resumo))
		{
			abreAlerta("Preencha seu resumo de experiências profissionais.");
			resumo.focus();
			return;
		}	
		
		//Capta os dados do formulário
		var dados = $("#formulario").serialize();
		
		$.post("send.acoes.php?acao=trabalhe", dados, function(msg){
	
			if (msg == "ok")
			{
				abreAlerta('Seus dados foram enviados com sucesso e está sendo analisado pela equipe da Duda Lelê. Obrigado.');
			}
			
			if (msg == "erro")
			{
				abreAlerta('Ocorreu um erro ao enviar seus dados, tente novamente.');
			}
			
			clearForm("#formulario");
			
		});
	}	
}


/******************************************************************
	CONTATO
******************************************************************/

function validaContato()
{
	with (document.formulario)
	{
			if (isEmpty(nome))
			{
				abreAlerta("Preencha seu nome.");
				nome.focus();
				return;
			}
			
			if (isEmpty(email))
			{
				abreAlerta("Preencha seu e-mail.");
				email.focus();
				return;
			}
			
			if (!isEmail(email))
			{
				abreAlerta("E-mail digitado é inválido.");
				email.focus();
				return;
			}
			
			if (isEmpty(telefone))
			{
				abreAlerta("Preencha um telefone de contato.");
				telefone.focus();
				return;
			}
			
			if (isEmpty(comentario))
			{
				abreAlerta("Preencha seu comentário.");
				comentario.focus();
				return;
			}
		}
					
		//Capta os dados do formulário
		var dados = $("#formulario").serialize();
		
		$.post("send.acoes.php?acao=contato", dados, function(msg){
	
			if (msg == "ok")
			{
				abreAlerta('Mensagem enviada com sucesso.\nObrigado, Equipe Duda Lelê.');
			}
			
			if (msg == "erro")
			{
				abreAlerta('Ocorreu um erro ao enviar seu contato, tente novamente.');
			}
			
			clearForm("#formulario");
			
		});
	
}


/******************************************************************
	ALERTA
******************************************************************/

function abreAlerta(msg)
{
	alert(msg); 	
}


/******************************************************************
	FOCUS E BLUR
******************************************************************/

function onFocus(campo, valor)
{
	if (campo.value == valor)
	{
		campo.value = "";
	}
}

function onBlur(campo, valor)
{
	if (campo.value == "")
	{
		campo.value = valor;
	}
}


/******************************************************************
	VALIDAÇÕES PADRÃO
******************************************************************/


function clearForm(form) 
{
	// iterate over all of the inputs for the form
	// element that was passed in
	$(':input', form).each(function() {
		
		var type = this.type;
		var tag = this.tagName.toLowerCase(); // normalize case
		
		// it's ok to reset the value attr of text inputs,
		// password inputs, and textareas
		if (type == 'text' || type == 'password' || tag == 'textarea')
			this.value = "";
		
		// checkboxes and radios need to have their checked state cleared
		// but should *not* have their 'value' changed
		else if (type == 'checkbox' || type == 'radio')
			this.checked = false;
		
		// select elements need to have their 'selectedIndex' property set to -1
		// (this works for both single and multiple select elements)
		else if (tag == 'select')
			this.selectedIndex = -1;
		
	});
}

function isEmpty(str)
{
	if (str.value == "" || str.value.length == 0)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isDefValue(str, def)
{
	if (str.value == def)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isInvalidFormat(str)
{
	var er = new RegExp(/[@!#$%&*+=?|-]/);
	
	if (typeof(str.value) == "string")
	{
        if (er.test(str.value))
		{ 
			return true; 
		}
    }
	else if (typeof(str) == "object")
	{
        if (er.test(str))
		{
           return true;
        }
    }
	else
	{
        return false;
    }
}

function isEqual(str1, str2)
{
	if (str2.value == str1.value)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isNotEqual(str, val)
{
	if (str.value != val)
	{
		return true;	
	}
	else
	{
		return false;
	}
}

function isDate(str) 
{
	var dia = str.value.substr(0,2);
	var mes = str.value.substr(3,2);
	var ano = str.value.substr(6,4);
	
	var data = new Date();
	var intDia;
	var intMes;
	var intAno;

	data.setFullYear(ano, mes-1, dia);

	intDia = (data.getDate() == dia);
	intMes = (data.getMonth() == mes-1);
	intAno = (data.getFullYear() == ano);

	if (intDia && intMes && intAno)
	{
		return true;
	}
	else
	{
		return false;	
	}
}

function isEmail(str)
{
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
   
    if (typeof(str.value) == "string")
	{
        if (er.test(str.value))
		{ 
			return true; 
		}
    }
	else if (typeof(str) == "object")
	{
        if (er.test(str))
		{
           return true;
        }
    }
	else
	{
        return false;
    }
}

function isImage(str)
{
    var er = new RegExp(/[\w]+\.(gif|jpg|bmp|png|jpeg)$/gi);
   
    if (typeof(str.value) == "string")
	{
        if (er.test(str.value))
		{ 
			return true; 
		}
    }
	else if (typeof(str) == "object")
	{
        if (er.test(str))
		{
           return true;
        }
    }
	else
	{
        return false;
    }
}

function isDDD(str)
{
	var ddd = str.value.substr(1,2);
	
	if (ddd == "00" || str.length == 0 || str == "")
	{
		return false;
	}
	else
	{
		return true;	
	}
}

function isPhoneNumber(str)
{
	var fone   = str.value.substr(5,9);
	var digito = str.value.substr(5,1);
	var numero = fone.replace(".", "");	
	
	if (numero == "00000000" || numero == "11111111" || numero == "22222222" || numero == "33333333" || numero == "44444444" || numero == "55555555" || numero == "66666666" || numero == "77777777" || numero == "88888888" || numero == "99999999" || str.value.length < 14 || str.value == "" || digito == 0 || digito == 8 || digito == 9)
	{
		return false;
	}
	else
	{
		return true;	
	}
}

function isCelularNumber(str)
{
	var fone   = str.value.substr(5,9);
	var digito = str.value.substr(5,1);
	var numero = fone.replace(".", "");
	
	if (numero == "00000000" || numero == "11111111" || numero == "22222222" || numero == "33333333" || numero == "44444444" || numero == "55555555" || numero == "66666666" || numero == "77777777" || numero == "88888888" || numero == "99999999" || str.value.length < 14 || str.value == "" || digito < 8)
	{
		return false;
	}
	else
	{
		return true;	
	}
}

function isInteger(str)
{
	var er = new RegExp(/^[0-9]+$/);
	
	if (er.test(str.value)) 
	{
		return true;
	} 
	else 
	{
		return false;
	}
}

function testFileType(fileName, fileTypes) //['gif', 'jpg', 'png', 'jpeg']
{
	if (!fileName) return;
	
	dots = fileName.split(".");
	
	//get the part AFTER the LAST period.
	fileType = "." + dots[dots.length-1];
	
	return (fileTypes.join(".").indexOf(fileType) != -1) ? true : false;
}

function calculaIdade(d, m, y)
{
	var dia = parseInt(d);
	var mes = parseInt(m)-1;
	var ano = parseInt(y);
	
	var age;
	var now = new Date();
	
	diaAtual = now.getDate();
	mesAtual = now.getMonth();
	anoAtual = now.getFullYear();
	
	if ((mesAtual > mes)||(mesAtual == mes & diaAtual >= dia))
	{
		age = ano;
	}
	else
	{
		age = ano+1;
	}
	
	return anoAtual-age;
}
