/******************************************************************
	ACESSO RÁPIDO
******************************************************************/

function acessoRapido(id)
{
	$("#filtro #marca option[value='"+id+"']").attr("selected", "selected");
	$("#filtro").submit();
}


/******************************************************************
	ACESSO POR MARCA
******************************************************************/

function acessaMarca(id)
{
	location.href = "seminovos.php?marca="+id;
}


/******************************************************************
	CADASTRO
******************************************************************/

function validaCadastro()
{
	with (document.cadastro)
	{
		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 o telefone de contato.");
			telefone.focus();
			return;
		}
		
		if (isEmpty(estado))
		{
			abreAlerta("Selecione o estado.");
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Preencha a cidade.");
			cidade.focus();
			return;
		}
		
		if (isEmpty(loja))
		{
			abreAlerta("Selecione a loja de preferência.");
			loja.focus();
			return;
		}
		
		travaBotao();
		submit();
	}	
}


/******************************************************************
	ESTOU INTERESSADO
******************************************************************/

function validaProposta()
{
	with (document.propostainteresse)
	{
		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(estado))
		{
			abreAlerta("Selecione o estado.");
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Preencha a cidade.");
			cidade.focus();
			return;
		}
		
		if (!isEmpty(atual))
		{
			if (isEmpty(status))
			{
				abreAlerta("Selecione o status de seu veículo.");
				status.focus();
				return;
			}
		}
		
		if (isEmpty(proposta))
		{
			abreAlerta("Preencha sua proposta.");
			proposta.focus();
			return;
		}
		
		travaBotao();
		var dados = $("#propostainteresse").serialize();
		
		$.post("send.acoes.php", dados, function(msg){
	
			var fim = msg;
			
			
			if (fim == "ok")
			{
				abreAlerta("Proposta enviada com sucesso, em breve um de nossos vendedores irá entrar em contato com você. Obrigado. Equipe Seminovos Empresas Carburgo.");
			}
			
			if (fim == "erro")
			{
				abreAlerta("Ocorreu um erro ao enviar seus dados. Tente novamente.");
			}
			
			destravaBotao();
			
			nome.value = "";
			email.value = "";
			telefone.value = "";
			estado.options[0].selected = true;
			status.options[0].selected = true;
			cidade.value = "";
			atual.value = "";
			proposta.value = "";
			
		});
	}	
}

/******************************************************************
	ESTOU INTERESSADO
******************************************************************/

function validaIndique()
{
	with (document.indique)
	{
		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(amigo_nome))
		{
			abreAlerta("Preencha o nome do seu amigo(a).");
			amigo_nome.focus();
			return;
		}
		
		if (isEmpty(amigo_email))
		{
			abreAlerta("Preencha o e-mail de seu amigo(a).");
			amigo_email.focus();
			return;
		}
		
		if (!isEmail(amigo_email))
		{
			abreAlerta("E-mail digitado é inválido.");
			amigo_email.focus();
			return;
		}
		
		travaBotao();
		var dados = $("#indique").serialize();
		
		$.post("send.acoes.php", dados, function(msg){
	
			var fim = $.trim(msg);
			
			if (fim == "ok")
			{
				abreAlerta("Indicação enviada com sucesso.");
			}
			
			if (fim == "erro")
			{
				abreAlerta("Ocorreu um erro ao enviar sua indicação. Tente novamente.");
			}
			
			destravaBotao();
			
			nome.value = "";
			email.value = "";
			amigo_nome.value = "";
			amigo_email.value = "";
			
		});
	}	
}


/******************************************************************
	FILTRO
******************************************************************/

function validaFiltro()
{
	with (document.filtro)
	{
		if (!isEmpty(anode) || !isEmpty(anoate))
		{
			if (anode.value > anoate.value)
			{
				abreAlerta("O ano inicial não pode ser maior que o ano final.");
				anoate.focus();
				return;
			}
		}
		
		if (!isEmpty(precode) || !isEmpty(precoate))
		{
			if (precode.value > precoate.value)
			{
				abreAlerta("O preço inicial não pode ser maior que o preço final.");
				anoate.focus();
				return;
			}
		}
				
		travaBotao();
		submit();
	}	
}


/******************************************************************
	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(estado))
		{
			abreAlerta("Selecione o estado onde reside.");
			estado.focus();
			return;
		}
		
		if (isEmpty(cidade))
		{
			abreAlerta("Selecione a cidade onde reside.");
			cidade.focus();
			return;
		}
		
		if (isEmpty(assunto))
		{
			abreAlerta("Selecione o assunto.");
			assunto.focus();
			return;
		}
				
		if (isEmpty(mensagem))
		{
			abreAlerta("Preencha a mensagem.");
			mensagem.focus();
			return;
		}
				
		travaBotao();
		submit();
	}	
}


/******************************************************************
	ALERTA
******************************************************************/

function abreAlerta(msg)
{
	alert(msg); 	
}


/******************************************************************
	INPUT SUBMIT
******************************************************************/

function travaBotao(inp)
{
	var btn = (inp==null || inp=="") ? "input:image" : inp;
	$(btn).attr("disabled", "disabled");	
}

function destravaBotao(inp)
{
	var btn = (inp==null || inp=="") ? "input:image" : inp;
	$(btn).removeAttr("disabled");	
}


/******************************************************************
	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;
}
