﻿$(document).ready(function()
{
	var windowHeight = $(window).height();
	var wrapperHeight = $('#master_wrapper').height();
	
	if(wrapperHeight < windowHeight)
	{
		$('#master_wrapper').css('margin-top',(Math.floor((windowHeight - wrapperHeight) / 2) + $(window).scrollTop()));
	}
	
	$('#nome').focus();
	
	$('#btn_enviar').click(function(){
		$('#message').slideUp('slow', function(){
			$('#waiting').slideUp('slow', function(){
				if(valida_form())
				{
					//colocar o focu no input do nome no form para evitar que o cursor fique piscando a esmo pela tela
					$('#nome').focus();
					
					//se o form validou destiva os inputs dele inclusive o submit
					$(':input:not(:submit)','form').attr('disabled','disabled');
					$('#form btn_enviar').attr('disabled','disabled');
					$('#form textarea').attr('disabled','disabled');
					
					$('#waiting').slideDown('slow',function(){
						$.ajax(
						{
							type:'POST',
							url:'http://www.landesign.art.br/contato_handler.php',
							dataType:'json',
							cache:false,
							data:{nome:$('#nome').val(),mail:$('#mail').val(),fone:$('#fone').val(),assunto:$('#assunto').val(),observacao:$('#observacao').val()},
							success:function(data)
							{
								$('#waiting').slideUp('slow', function()
								{
									if(data.error)
									{
										$('#message').removeClass().addClass('error').text(data.msg).slideDown('slow');
									}
									else
									{
										//limpa todos os inputs do form, dentro do div em questao apenas, que nao são submit pra nao sumir o texto do botão de submit que ta dentro do div
										$(':input:not(:submit)','form').val([]);
										
										//reativa os inputs
										$(':input:not(:submit)','form').removeAttr('disabled');
										$('#form btn_enviar').removeAttr('disabled');
										$('#form textarea').removeAttr('disabled');
										
										//exibe msg de sucesso
										$('#message').removeClass().addClass('success').text(data.msg).slideDown('slow');
									}
								});
							},
							error:function(xhr_obj)
							{
								$('#waiting').slideUp('slow', function()
								{
									$('#message').removeClass().addClass('error').html('ERRO: '+xhr_obj.responseText).slideDown('slow');
								});
							}
						});
					});
					return false;//nao permite o submit padrao do form em caso de ajax request enviada com sucesso
				}
				return false;//nao permite o submit padrao do form em caso de erro no valida form
			});
		});
		
		//sempre no click do submit tem que retornar false aconteça o que acontecer, se retirar esse return aqui misteriosamente abre dialogo de download
		return false;
	});
});

function valida_form()
{
	if($('#nome').val() == '' || $('#nome').val() == 'Preencha este campo.')
	{
		$('#nome').css('color','#f60');
		$('#nome').attr('value','Preencha este campo.');
		$('#nome').focus();
		
		return false;
		
		/*
		$('#error_nome').slideUp('slow',function()
		{
			$('#error_nome').removeClass().addClass('error').text('Preencha o campo "Nome".').slideDown('slow', function()
			{
				//$('#error_nome').show('slow',function(){
					$('#nome').focus();
				//});
			});
		});
		return false;
		*/
	}
	else
	{
		$('#nome').css('color','#fff');
	}
	
	if($('#mail').val() == '' || $('#mail').val() == 'Preencha este campo.')
	{
		$('#mail').css('color','#f60');
		$('#mail').attr('value','Preencha este campo.');
		$('#mail').focus();
		
		return false;
		
		/*
		$('#message').slideUp('slow',function()
		{
			$('#message').removeClass().addClass('error').text('Preencha o campo "E-mail".').slideDown('slow', function()
			{
				$('#mail').focus();
			});
		});
		return false;
		*/
	}
	else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($('#mail').val())))
	{
		$('#mail').css('color','#f60');
		$('#mail').attr('value','e-mail inválido, tente novamente.');
		$('#mail').focus();
		
		return false;
		
		/*
		$('#message').slideUp('slow',function()
		{
			$('#message').removeClass().addClass('error').text('O e-mail está incorreto.').slideDown('slow', function()
			{
				$('#mail').focus();
			});
		});
		return false;
		*/
	}
	else
	{
		$('#mail').css('color','#fff');
	}
	
	if($('#fone').val() == '' || $('#fone').val() == 'Preencha este campo.')
	{
		$('#fone').css('color','#f60');
		$('#fone').attr('value','Preencha este campo.');
		$('#fone').focus();
		
		return false;
		
		/*
		$('#message').slideUp('slow',function()
		{
			$('#message').removeClass().addClass('error').text('Preencha o campo "Fone".').slideDown('slow', function()
			{
				$('#fone').focus();
			});
		});
		return false;
		*/
	}
	else if($('#fone').val().length < 13 || $('#fone').val() == 'fone inválido, tente novamente.')
	{
		$('#fone').css('color','#f60');
		$('#fone').attr('value','fone inválido, tente novamente.');
		$('#fone').focus();
		
		return false;
		
		/*
		$('#message').slideUp('slow',function()
		{
			$('#message').removeClass().addClass('error').text('O número do telefone está incompleto.').slideDown('slow', function()
			{
				$('#fone').focus();
			});
		});
		return false;
		*/
	}
	else
	{
		$('#fone').css('color','#fff');
	}
	
	if($('#assunto').val() == '' || $('#assunto').val() == 'Preencha este campo.')
	{
		$('#assunto').css('color','#f60');
		$('#assunto').attr('value','Preencha este campo.');
		$('#assunto').focus();
		
		return false;
		
		/*
		$('#message').slideUp('slow',function()
		{
			$('#message').removeClass().addClass('error').text('Preencha o campo "Assunto".').slideDown('slow', function()
			{
				$('#assunto').focus();
			});
		});
		return false;
		*/
	}
	else
	{
		$('#assunto').css('color','#fff');
	}
	
	if($('#observacao').val() == '' || $('#observacao').val() == 'Preencha este campo.')
	{
		$('#observacao').css('color','#f60');
		$('#observacao').attr('value','Preencha este campo.');
		$('#observacao').focus();
		
		return false;
		
		/*
		$('#message').slideUp('slow',function()
		{
			$('#message').removeClass().addClass('error').text('Preencha o campo "qual é o assunto".').slideDown('slow', function()
			{
				$('#observacao').focus();
			});
		});
		return false;
		*/
	}
	else
	{
		$('#observacao').css('color','#fff');
	}
	
	return true;
}

//helpers
function Mascara(o,f)
{
	v_obj = o;
  v_fun = f;
  setTimeout("execmascara()",1);
}

function execmascara()
{
	v_obj.value = v_fun(v_obj.value);
}

function fone_mask(v)
{
	v = v.replace(/\D/g,"");
	v = v.replace(/^(\d\d)(\d)/g,"($1)$2");
	v = v.replace(/(\d{4})(\d)/,"$1-$2");
	return v;
}

function limpa_xss(v)
{
	v = v.replace(/[^_@\. \? \! \( \) , àáâäã èéêë ìíîï òóôöõ ùúûü ç ÀÁÂÄÃ ÈÉÊË ÌÍÎÏ ÒÓÔÖÕ ÙÚÛÜ Ç a-z A-Z 0-9-\s]/g, "");
	v = v.replace(/(\'|")/g, "");
	return v;
}

function autotab(id_campo_origem, campo_origem_maxlength, id_campo_destino)
{
	if($('#'+id_campo_origem).val().length == campo_origem_maxlength)
	{
		$('#'+id_campo_destino).focus();
	}
}
