$(document).ready(function() {
	$("a[rel='external']").attr("target","_blank");
	$("#home form")
		.submit(function(event) {
			event.preventDefault();
			$.ajax({
				data: $(this).serialize(),
				dataType: "json",
				error: function(XMLHttpRequest, textStatus, errorThrown){
					alert("Não foi possível subscrever.\nPor favor volte a tentar mais tarde.");
				},
				success: function(data, textStatus){
					alert(data.msg);
				},
				timeout: "10000",
				type: $(this).attr("method"),
				url: $(this).attr("action")
			});
		})
		.children("input")
		.focus(function() {
			if ($(this).val() == "escreva aqui o email")
				$(this).val("");
		})
		.blur(function() {
			if ($(this).val() == "")
				$(this).val("escreva aqui o email")
		})
		.blur();
	if ($("#home #contacts img").length > 1) {
		setInterval(
			function() {
				$("#home #contacts img:last")
					.fadeTo(1500, 0, function() {
						$(this)
							.prependTo("#home #contacts")
							.fadeTo(0, 1);
					});
			},
			8000
		);
	}

	var move_right = true;
	var scale = 0;
	$("div.screen")
		.each(function() {
			$(this)
				.css('left', $(this).index()*($("#content").width()+1000))
				.show();
		});

	$("#intro a")
		.click(function(event) {
			event.preventDefault();
			$("#header a")
				.click()
				.fadeTo(0,0)
				.css('visibility','visible')
				.fadeTo(1500,1);
		});
	$("#header a")
		.click(function(event) {
			event.preventDefault();
			$("div.screen")
				.each(function() {
					$(this)
						.animate(
							{
								left: ($(this).index()-1)*($("#content").width()+1000)
							},
							1500,
							'easeOutExpo'
						);
				});
			$('#newsletter img')
				.animate({left:0});
			var footer = $("#footer");
			if (footer.css('visibility') != 'visible') {
				footer
					.css('visibility', 'visible')
					.fadeTo(1000,1);
				$("#header a")
					.css('cursor', 'default');
			}
			$('#newsletter_nav')
				.fadeTo(1000,0, function() {
					$(this).css('visibility', 'hidden');
				});
			$('#newsletters ul')
				.css(
					"top",
					0
				);
		});
	$('#newsletters li a')
		.click(function(event){
			event.preventDefault();
			$("#header a")
				.css('cursor', 'pointer');
			$("#newsletters > div.viewport a.active")
				.removeClass("active");
			$("#newsletter_nav > div")
				.text(
					$(this)
						.addClass("active")
						.text()
				);
			$("#footer")
				.fadeTo(1000,0, function() {
					$(this).css('visibility', 'hidden');
				});
			$('#newsletter_nav')
				.css('visibility', 'visible')
				.fadeTo(1000,1);
			$("div.screen")
				.not(":first")
				.each(function() {
					$(this)
						.animate(
							{
								left: ($(this).index()-2)*($("#content").width()+1000)
							},
							1500,
							'easeOutExpo'
						);
				});
			$("#newsletter > div.viewport")
				.html(
					$('<img src="' + $(this).attr("href") + '" alt="" />')
						.load(function() { //When the image has loaded do something!
							if ($(this).width() > $("#content").width()) {
								$("#newsletter > a")
									.show();
							}
							else {
								$("#newsletter > a")
									.hide();
							}
						})
				);
		});

	$('#newsletter > a')
		.bind({
			mouseenter:
				function() {
					move_right = ($(this).clearQueue().fadeTo(1000,.01).prev().length);
					interval =
						setInterval(
							function() {
								$('#newsletter img')
									.css(
										"left",
										function(index, value) {
											var aux = parseInt(value);
											var aux2;
											if (move_right) {
												aux2 = aux - scale;
												var aux3 = -($(this).width() - $("#content").width());
												if (aux2 > aux3)
													return Math.max(aux3, aux2);
											}
											else {
												aux2 = aux + scale;
												if (aux2 < 0)
													return Math.min(0, aux2);
											}
											clearInterval(interval);
											return aux;
										}
									);
							},
							15
						);
				},
			mouseleave:
				function() {
					$(this).clearQueue().fadeTo(0,0);
					clearInterval(interval);
				},
			mousemove:
				function(ev) {
					_mouseX = ev.clientX;
					if (move_right) {
						scale = Math.abs(($(this).width()-($("#content").width()-_mouseX))/15);
					}
					else {
						scale = Math.abs(($(this).width()-_mouseX)/15);
					}
				},
			click:
				function(ev) {
					ev.preventDefault();
				}
		})
		.fadeTo(0, 0);

	$('#newsletters > a')
		.live({
			mouseenter:
				function() {
					move_down = ($(this).next().length);
					interval =
						setInterval(
							function() {
								$('#newsletters ul')
									.css(
										"top",
										function(index, value) {
											var aux = parseInt(value);
											if (!move_down) {
												aux2 = aux - 1;
												var aux3 = -($(this).height() - $("#newsletters div.viewport").height());
												if (aux2 > aux3)
													return Math.max(aux3, aux2);
											}
											else {
												aux2 = aux + 1;
												if (aux2 < 0)
													return Math.min(0, aux2);
											}
											clearInterval(interval);
											return aux;
										}
									);
							},
							15
						);
				},
			mouseleave:
				function() {
					clearInterval(interval);
				},
			click:
				function(ev) {
					ev.preventDefault();
				}
		});
	$('#newsletter_nav > a')
		.click(function(ev) {
			ev.preventDefault();
			move_right = ($(this).prev().length);
			var link = null;
			var aux = $("#newsletters > div.viewport a.active");
			var pivot = aux.parent();
			if (move_right && pivot.prev().length) {
				aux.removeClass("active");
				link = pivot.prev().children("a").addClass("active");
			}
			if (!move_right && pivot.next().length) {
				aux.removeClass("active");
				link = pivot.next().children("a").addClass("active");
			}

			if (link == null) {
				return;
			}
			else {
				$("#newsletter_nav > div").text(link.text());
			}

			$("#newsletter > div.viewport")
				.prepend(
					$('<img src="' + link.attr("href") + '" alt="" />')
						.fadeTo(0,0)
						.load(function() { //When the image has loaded do something!
							$(this)
								.fadeTo(1000,1, function() {
									if ($(this).width() > $("#content").width()) {
										$("#newsletter > a")
											.show();
									}
									else {
										$("#newsletter > a")
											.hide();
									}
								})
								.next()
								.fadeTo(1000,0, function() {
									$(this).remove();
								});
						})
				);
		});
});

