// JavaScript: Validacao e formatacao dos formularios
// Autora: Andressa K. Pires (Cinte)

function limpaCampo(item, msg) {
	var cmp = item;
	var txt = msg;

	if (cmp.value == txt) {
		cmp.value = "";
	}
}

function preencheCampo(item, msg) {
	var cmp = item;
	var txt = msg;

	if (cmp.value == "") {
		cmp.value = txt;
	}
}

// E-mail :: Verificacao
function verifEmail(item) {
	var email = item.value;
	var erro = "O e-mail deve conter um endereço eletrônico válido!";

	if (email != '') {
		//Expressao Regular utilizada para validar o endereço de email
		var expressaoRegular = /^[a-zA-Z0-9_\.-]{2,}@([A-Za-z0-9_-]{2,}\.)+[A-Za-z]{2,4}$/;
		if ( !expressaoRegular.test(email) ) {
			alert(erro);
			item.value = "";
			return false;
		}
		return true;
	}
}

// Separador de digito
function separadorDigito(texto) {
	var textonum = "";
	var tam = texto.length;
	var x = 0;
	for(x=0; x<tam; x++) {
		if (!isNaN(texto.charAt(x)))
			textonum = textonum + texto.charAt(x);
	}
	return textonum;
}

// Separador de numero
function separadorNumero(item) {
	var textonum = "";
	var texto = item.value;
	var tam = texto.length;
	var x = 0;
	for(x=0; x<tam; x++) {
		if ((!isNaN(texto.charAt(x))) && (texto.charAt(x) != " "))
			textonum = textonum + texto.charAt(x);
	}
	return textonum;
}

// Comparar datas
function comparaData(data_inicial, data_final) {

	//Verifica se a data inicial é maior que a data final
	str_data_inicial = data_inicial.value;
	str_data_final   = data_final.value;
	dia_inicial      = data_inicial.value.substr(0,2);
	dia_final        = data_final.value.substr(0,2);
	mes_inicial      = data_inicial.value.substr(3,2);
	mes_final        = data_final.value.substr(3,2);
	ano_inicial      = data_inicial.value.substr(6,4);
	ano_final        = data_final.value.substr(6,4);

	var erro = 'A data de contratação deve ser maior que a data atual!';

	if (ano_inicial < ano_final) {
		alert(erro);
		data_inicial.value = "";
		return false
	} else {
		if (ano_inicial == ano_final) {
			if (mes_inicial < mes_final) {
				alert(erro);
				data_inicial.value = "";
				return false
			} else {
				if (mes_inicial == mes_final) {
					if (dia_inicial < dia_final) {
						alert(erro);
						data_inicial.value = "";
						return false
					}
				}
			}
		}
	}
}

// Data :: Formatacao
function formataData(item) {
	var data = "";
	var datasemsep = separadorDigito(item.value);
	var x = 0;
	for (x = 0; x < datasemsep.length; x++){
		switch(x) {
			case 2 :
			case 4 :
				data = data + "/" + datasemsep.charAt(x);
				break;
			default :
				data = data + datasemsep.charAt(x);
		}
	}

	item.value = data;
	return true;
}

// Data :: Verificacao
function verifData(item) {
	var hoje = new Date();
	var anoAtual = hoje.getFullYear();
	var barras = item.value.split("/");
	var erro = "A data está inválida!";

	if (barras.length == 3) {
		var dia = barras[0];
		var mes = barras[1];
		var ano = barras[2];
		var resultado;
		resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano >= anoAtual && ano < (anoAtual+1)));

		if (!resultado) {
			alert(erro);
			item.value = "";
			return false;
		}
		else {
			if (((ano % 4) == 0) && ((ano % 100) == 0) && ((ano % 400) == 0)) {
				if (mes == 2) {
					if (dia > 29) {
						alert(erro + " O mês de fevereiro não possui mais de 29 dias nesse ano.");
						item.value = "";
						return false;
					}
					else
						return true;
				}
				else
					return true;
			}
			else {
				if ((ano % 100) != 0){
					if ((ano % 4) == 0){
						if (mes == 2) {
							if (dia > 29) {
								alert(erro + " O mês de fevereiro não possui mais de 29 dias.");
								item.value = "";
								return false;
							}
							else
								return true;
						}
						else
							return true;
					}
					else {
						if (mes == 2) {
							if (dia > 28) {
								alert(erro + " O mês de fevereiro não possui mais de 28 dias nesse ano.");
								item.value = "";
								return false;
							}
							else
								return true;
						}
						else
							return true;
					}
				}
				else {
					if (mes == 2) {
						if (dia > 28) {
							alert(erro + " O mês de fevereiro não possui mais de 28 dias nesse ano.");
							item.value = "";
							return false;
						}
						else
							return true;
					}
					else
						return true;
				}
			}
		}
	}
	else {
		if (item.value == "") {
			return true;
		} else {
			alert(erro);
			item.value = "";
			return false;
		}
	}
}

// Numero
function formataNumero(item) {
	var num = separadorNumero(item);
   	item.value = num;
	return true;
}

// Busca
function verifBG() {
	var bus = $('input[@id=busca]').val();

	if (bus == "Procurar...")
		alert('Informe a palavra chave da busca!');
	else
		$('#formBuscaGeral').submit();
}

// Newsletter :: Abrir
function abreNews() {
	var top, esq, alt, lar;

	if (document.all) {
		top = 310;
		esq = 430;
		lar = 371;
		alt = 186;
	} else {
		top = 330;
		esq = 445;
		lar = 371;
		alt = 186;
	}

	window.open("cancela_informativo.php","","toolbar=no, location=no, directories=yes, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, fullscreen=no, top="+ top +", left="+ esq +", width="+ lar +", height="+ alt +"");
}

// Newsletter :: Fechar
function fechaNews() {
	var janela;
	janela = window.close('cancela_informativo.php');
}

// Recados
function verifRecado() {
	var nom = $('input[@id=nome_rec]').val();
	var ema = $('input[@id=email_rec]').val();
	var rec = $('textarea[@id=recado_rec]').val();

	if (nom == "Nome")
		alert('Informe o seu nome!');
	else if (ema == "E-mail")
			alert('Informe o seu e-mail!');
		else if (rec == "Recado")
				alert('Informe o seu recado!');
			else {
				var tam = rec.length;
				if (tam > 80)
					alert('Seu recado deve conter no máximo 80 caracteres!');
				else {
					e = document.getElementById("email_rec");
	
					if (verifEmail(e) != false) {
						$('#formRecado').submit();
					}
				}
			}
}

//Produtos
function fzrPedido(item) {
	var x = item;
	var cod = $('input[@id=codigo_prod'+x+']').val();
	var tit = $('input[@id=titulo_prod'+x+']').val();
	var pre = $('input[@id=preco_prod'+x+']').val();

	if (cod != '' && tit != '' && pre != '') {
		var confirma = confirm ("Deseja realmente fazer o pedido deste produto?");
		if (confirma == true)
			$('#formProduto'+x).submit();
		else
			return false;
	} else {
		alert('Dados insuficientes para iniciar o pedido! Tente novamente.');
	}
}

//Produtos :: Pedido
function verifPedido() {
	var nom = $('input[@id=nome_p]').val();
	var ema = $('input[@id=email_p]').val();
	var end = $('input[@id=endereco_p]').val();
	var ddd = $('input[@id=ddd_p]').val();
	var tel = $('input[@id=telefone_p]').val();

	if (nom == "")
		alert('Informe o seu nome!');
	else if (ema == "")
			alert('Informe o seu e-mail!');
		else if (end == "")
				alert('Informe o seu endereço completo!');
			else if (ddd == "" || tel == "")
					alert('Informe o seu número de telefone com DDD!');
				else {
					e = document.getElementById("email_p");

					if (verifEmail(e) != false) {
						$('#formPedidoProd').submit();
					}
				}
}

// Fa Clube
function verifFa() {
	var nom = $('input[@id=nome_fa]').val();
	var clu = $('input[@id=faclube_fa]').val();
	var tel = $('input[@id=telefone_fa]').val();
	var ema = $('input[@id=email_fa]').val();
	var msg = $('textarea[@id=mensagem_fa]').val();

	if (nom == "Nome")
		alert('Informe o seu nome!');
	else if (clu == "Fã Clube")
			alert('Informe o nome do Fã Clube!');
		else if (tel == "Telefone")
				alert('Informe o seu telefone para contato!');
			else if (ema == "E-mail")
					alert('Informe o seu e-mail para contato!');
				else if (msg == "Mensagem")
						alert('Informe a sua mensagem!');
					else {
						e = document.getElementById("email_fa");

						if (verifEmail(e) != false) {
							$('#formFaClube').submit();
						}
					}
}

// Contratante
function verifCtt() {
	var nom = $('input[@id=nome_c]').val();
	var dat = $('input[@id=data_c]').val();
	var ema = $('input[@id=email_c]').val();
	var ddd = $('input[@id=ddd_c]').val();
	var tel = $('input[@id=telefone_c]').val();
	var loc = $('input[@id=local_c]').val();
	var msg = $('textarea[@id=mensagem_c]').val();

	if (nom == "")
		alert('Informe o seu nome!');
	else if (dat == "")
			alert('Informe a data que deseja contratar os Cavaleiros do Forró!');
		else if (ema == "")
				alert('Informe o seu e-mail!');
			else if (ddd == "" || tel == "")
					alert('Informe o seu número de telefone com DDD!');
				else if (loc == "")
						alert('Informe sua cidade e estado!');
					else if (msg == "")
							alert('Deixe sua mensagem para os Cavaleiros do Forró!');
						else {
							d = document.getElementById("data_c");
							dA = document.getElementById("data_atual");
							e = document.getElementById("email_c");
	
							if ((verifData(d) != false) && (comparaData(d, dA) != false) && (verifEmail(e) != false)) {
								$('#formContratante').submit();
							}
						}
}