jQuery(function($)
{
	/**
	 *
	 * Adiciona o menu
	 *
	 **/
	$('p#desenvolvimentoWeb').after('<ul id="menu"></ul>');
	$('ul#menu').append('<li><a href="#portfolio" id="linkPortfolio" title="Conhe&ccedil;a alguns sites desenvolvidos">Portfolio</a></li>');
	$('ul#menu').append('<li><a href="#contato" id="linkContato" title="Entre em contato comigo!">Contato</a></li>');



	/**
	 *
	 * Cria os links para avançar para a próxima página e para voltar à página anterior do portfolio
	 *
	 **/
	$('div#principal div#portfolio').after('<a class="prevPage">P&aacute;gina anterior</a>');
	$('div#principal div#portfolio').after('<a class="nextPage">Pr&oacute;xima p&aacute;gina</a>');



	/**
	 *
	 * Carrega o slideshow
	 *
	 **/
	$('div#principal div#portfolio').scrollable({ size: 1, items: '.sites' });



	/**
	 *
	 * Cria o formulário
	 *
	 **/
	form  = '<form action="enviarMsg.php" method="post">';
	form += '	<fieldset>';
	form += '		<label for="nome" id="labelNome" title="Informe seu nome">Nome:</label>';
	form += '		<input type="text" name="nome" id="nome" maxlength="50" title="Informe seu nome" />';
	form += '		<label for="email" id="labelEmail" title="Informe seu e-mail">E-mail:</label>';
	form += '		<input type="text" name="email" id="email" maxlength="50" title="Informe seu e-mail" />';
	form += '		<label for="mensagem" id="labelMsg" title="Escreva sua mensagem">Mensagem:</label>';
	form += '		<textarea name="mensagem" id="mensagem" rows="5" cols="50"></textarea>';
	form += '		<button type="submit" id="btnEnviar" title="Enviar!">Enviar!</button>';
	form += '	</fieldset>';
	form += '</form>';

	$('div#principal').append('<div id="formulario"></div>');
	$('div#principal div#formulario').append(form);



	/**
	 *
	 * Botão "Fechar"
	 *
	 **/
	$('div#principal div#formulario').after('<a href="#Fechar" id="botaoFechar" title="Fechar">Fechar</a>');
	$('a#botaoFechar').click(function()
	{
		$('div#principal div#portfolio, div#principal div#formulario, a.prevPage, a.nextPage, a#botaoFechar').fadeOut('fast');
		return false;
	});



	/**
	 *
	 * Exibe o portfolio
	 *
	 **/
	$('a#linkPortfolio').click(function()
	{
		$('div#principal div#portfolio, a.prevPage, a.nextPage, a#botaoFechar').fadeIn('fast');
		$('div#principal div#formulario').fadeOut('fast');
		return false;
	});



	/**
	 *
	 * Exibe o formulário
	 *
	 **/
	$('a#linkContato').click(function()
	{
		$('div#principal div#formulario, a#botaoFechar').fadeIn('fast');
		$('div#principal div#portfolio, a.prevPage, a.nextPage').fadeOut('fast');
		return false;
	});


	/**
	 *
	 * Validação do formulário de contato
	 *
	**/
	$('div#principal div#formulario form').submit(function()
	{

		// Nome
		nome = $('input#nome');

		if(isEmpty('nome'))
		{
			alert('Informe o seu nome!');
			nome.focus();
			return false;
		}

		// Tamanho do nome
		if(nome.val().length < 3)
		{
			alert('Verifique o nome (deve possuir pelo menos 3 caracteres)');
			nome.focus();
			return false;
		}


		// E-mail
		email = $('input#email');

		if(isEmpty('email'))
		{
			alert('Informe o e-mail!');
			email.focus();
			return false;
		}

		// Valida o e-mail
		if(!validaEmail(email.val()))
		{
			alert('E-mail inválido! Verifique o e-mail digitado');
			email.focus();
			return false;
		}


		// Mensagem
		mensagem = $('textarea#mensagem');
		
		if(isEmpty('mensagem'))
		{
			alert('Escreva uma mensagem!');
			mensagem.focus();
			return false;
		}

		// Tamanho da mensagem
		if(mensagem.val().length < 3)
		{
			alert('Verifique sua mensagem (mínimo de 3 caracteres)');
			mensagem.focus();
			return false;
		}
		else if(mensagem.val().length > 4096)
		{
			alert('Verifique sua mensagem (máximo de 4096 caracteres)');
			mensagem.focus();
			return false;
		}

	});

});


/**
 * validaEmail(email)
 *
 * Descrição:
 * Valida o e-mail informado, utilizando Expressões Regulares
 *
 * email: E-mail que será validado
 *
**/
function validaEmail(email)
{
	var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
	return (filter.test(email)) ? true : false;
}


/**
 * isEmpty()
 *
 * Descrição:
 * Verifica se o campo está vazio
 *
 * idInput: ID do input/textarea que será validado
 *
**/
function isEmpty(idInput)
{
	return ($('#' + idInput).val() == '') ? true : false;
}


/**
 * isEquals()
 *
 * Descrição:
 * Verifica se o valor do input/textarea é igual ao valor informado
 *
 * idInput: ID do input/textarea que será validado
 * compararCom: Valor que será utilizado na comparação
 *
**/
function isEquals(idInput, compararCom)
{
	return ($('#' + idInput).val() == compararCom) ? true : false;
}


/**
 * lengthOf(idInput, operation, compararCom)
 *
 * Descrição:
 * Verifica o tamanho (length) informado no input de acordo com a operação especificada
 *
 * idInput: ID do input/textarea que será validado
 * operation: Operação que será efetuada
 * compararCom: Valor que será utilizado na comparação
 *
**/
function lengthOf(idInput, operation, compararCom)
{
	var valueLength = $('#' + idInput).val().length;
	var result = false;

	switch(operation)
	{
		case '>':
			result = (valueLength > compararCom) ? true : false;
			break;

		case '>=':
			result = (valueLength >= compararCom) ? true : false;
			break;

		case '<':
			result = (valueLength < compararCom) ? true : false;
			break;

		case '<=':
			result = (valueLength <= compararCom) ? true : false;
			break;

		case '==':
			result = (valueLength == compararCom) ? true : false;
			break;

		case '!=':
			result = (valueLength != compararCom) ? true : false;
			break;
	}

	return result;
}


