// JavaScript Document
$(document).ready(function() {

	$("#navbar ul li").mouseenter(function () {
		$(this).find("ul:first").fadeIn('fast');
	});

	$("#navbar ul li").mouseleave(function () {
		$(this).find("ul:first").fadeOut('fast');
	});
	
	// design menu
	$("#navbar ul li ul").each(function() {
		$(this).find("li:first").css("padding-top", "15px");
		$(this).find("li:last").css("padding-bottom", "15px");
		$(this).find("li:first").before("<li class='first-item'></li>");
	});
	
	$("#gallery a").click(function(e) {
		e.preventDefault();
	});
	
	$("a.colorbox").colorbox();

	$("a.ver-mapa").colorbox({width:1003, maxWidth:1003, initialWidth:1003, maxHeight:392, height:392, initialHeight:392, rel: false});
	
	$('#galleria').each(function()  {
		$('#galleria').galleria();
	 });

	$('#gallery').each(function() {
		slideShow();
	});

	$('.oformSend').click(function(e) {
		e.preventDefault();
		$('span.error').remove();
		var hasError = false;
		$('.obrigatorio').each(function() {
			if($.trim($(this).val()) == "") {
				var labelText = $(this).prev('label').text();
				$(this).prev('label').append('<span class="error">&nbsp;(obrigat&oacute;rio)</span>');
				hasError = true;
			} else if($(this).hasClass('email')) {
				var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
				if(!emailReg.test($.trim($(this).val()))) {
					var labelText = $(this).prev('label').text();
					$(this).prev().append('<span class="error">&nbsp;(Informe um e-mail inv&aacute;lido)</span>');
					hasError = true;
				}
			}
		});
		if(!hasError) {
			var formInput = $('#oform').serialize();
			$.post($(this).attr('action'), formInput, function(data) {
				if(data.response) {
					$('#oform').fadeOut(500, function() {
						$('#oform .input').val('');
						$('.formulario').html('<h2>Seu contato foi enviado com sucesso!</h2>');
					 });
				}
			}, "json");
		} else {
			//$(this).addClass('oformSend');
		}
	 });
});

function slideShow() {

	//Set the opacity of all images to 0
	$('#gallery a').css({opacity: 0.0});
	
	//Get the first image and display it (set it to full opacity)
	$('#gallery a:first').css({opacity: 1.0});
	
	//Set the caption background to semi-transparent
	$('#gallery .caption').css({opacity: 0.7});

	//Resize the width of the caption according to the image width
	$('#gallery .caption').css({width: $('#gallery a').find('img').css('width')});
	
	//Get the caption of the first image from REL attribute and display it
	$('#gallery .content').html($('#gallery a:first').find('img').attr('rel'))
	.animate({opacity: 0.7}, 400);
	
	//Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('gallery()', 6000);
	
}

function gallery() {
	
	//if no IMGs have the show class, grab the first image
	var current = ($('#gallery a.show')?  $('#gallery a.show') : $('#gallery a:first'));

	//Get next image, if it reached the end of the slideshow, rotate it back to the first image
	var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $('#gallery a:first') :current.next()) : $('#gallery a:first'));	
	
	//Get next image caption
	var caption = next.find('img').attr('rel');	
	
	//Set the fade in effect for the next image, show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
	
	//Set the opacity to 0 and height to 1px
	$('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });	
	
	//Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
	$('#gallery .caption').animate({opacity: 0.7}, 100).animate({height: '60px'}, 500 );
	
	//Display the content
	$('#gallery .content').html(caption);
	
	
}

