$(document).ready(function(){
	
	jQuery.extend(jQuery.browser,
		{SafariMobile : navigator.userAgent.toLowerCase().match(/iP(ad|hone)/i) }
	);
	
	var width_for_padding = 0;
	
	$(".current_nav").css("opacity", "1");
	$(".current_nav").css("-moz-opacity", "1");
	$(".current_nav").css("filter", "alpha(opacity=100)");

	function adjust_size() {					
		var height_nav = $(".nav").height();
		var height_document = $(window).height();
		var height_for_padding = height_document - height_nav;
		
		$('.section').each(function(index){
			var width_section = $(this).width();
			var width_document = $(window).width();

			width_for_padding = width_document - width_section;
			var padding = "0 " +  width_for_padding / 2 + "px";

			$(this).css("margin", padding);	
		});

		$(".navs").css("padding-top", height_for_padding / 2 + "px");
		
	}
	
	adjust_size();
	
	function bt_new(){
		if ($(".project_cover").hasClass("current_nav")) {
			$(".bt_right").addClass("bt_right_bio");
		}
		else {
			$(".bt_right").removeClass("bt_right_bio");
		}
	}
	
	function right(event){
		if ($(".current_section").next().length != 0) {
			$(".bt_right").unbind("click");
			var size = $(".current_section").width() + width_for_padding;
			var div = $(".current_section").next();
			if (div.index() === $(".current_nav").find(".section").last().index()) {
				size = size - ($(window).width() - size);
			}
			$(".current_nav").animate({ marginLeft: "-="+ size }, 200, function(){
				$(".current_section").removeClass("current_section");
				$(div).addClass("current_section");
				refresh_controls();
				bt_new();
				$(".bt_right").bind("click", right);
			});
		}
		return false;
	}
	
	function left(event){
		if ($(".current_section").prev().length != 0) {
			$(".bt_left").unbind("click");
			var size = $(".current_section").prev().width() + width_for_padding;
			var div = $(".current_section").prev();
			if (div.index() === $(".current_nav").find(".section").first().index()) {
				size = size - ($(window).width() - size);
			}
			$(".current_nav").animate({ marginLeft: '+='+ size }, 200, function(){
				$(".current_section").removeClass("current_section");
				$(div).addClass("current_section");
				refresh_controls();
				bt_new();
				$(".bt_left").bind("click", left);
			});
		}
		return false;
	}
	
	function bottom(event){
		if ($(".current_nav").next().length != 0) {
			$(".bt_bottom").unbind("click");
			clean_effect();
			var size = $(".current_nav").height();
			$(".navs").animate({ marginTop: '-='+ size }, 200, function(){
				$(".current_nav").find(".section").removeClass("current_section");
				var div = $(".current_nav").next();
				$(".current_nav").removeClass("current_nav");
				$(div).addClass("current_nav");
				$(div).css("opacity", "1");
				$(div).animate({ marginLeft: '0' }, 200, function(){});
				$(div).find(".section:first-child").addClass("current_section");
				refresh_controls();
				bt_new();
				$(".bt_bottom").bind("click", bottom);
			});
		}
		return false;
	}
	
	function top(event){
		if ($(".current_nav").prev().length != 0) {
			$(".bt_top").unbind("click");
			clean_effect();
			var size = $(".current_nav").prev().height();
			$(".navs").animate({ marginTop: '+='+ size }, 200, function(){
				$(".current_nav").find(".section").removeClass("current_section");
				var div = $(".current_nav").prev();
				$(".current_nav").removeClass("current_nav");
				$(div).addClass("current_nav");
				$(div).css("opacity", "1");
				$(div).animate({ marginLeft: '0' }, 200, function(){});
				$(div).find(".section:first-child").addClass("current_section");
				refresh_controls();
				bt_new();
				$(".bt_top").bind("click", top);
			});
		}
		return false;
	}
	
	
	
	// iPad
	function rightIpad(event){
		if ($(".current_section").next().length != 0) {
			$(".bt_right").unbind("click");
			var size = $(".current_section").width() + width_for_padding;
			var div = $(".current_section").next();
			if (div.index() === $(".current_nav").find(".section").last().index()) {
				size = size - ($(window).width() - size);
			}
			
			var margin_left = $(".current_nav").css("margin-left").replace("px", "");
			margin_left = parseInt(margin_left) - parseInt(size)
			$(".current_nav").css("margin-left", margin_left);

			$(".current_section").removeClass("current_section");
			$(div).addClass("current_section");
			refresh_controls();
			bt_new();
			$(".bt_right").bind("click", right);
		}
		return false;
	}
	
	function leftIpad(event){
		if ($(".current_section").prev().length != 0) {
			$(".bt_left").unbind("click");
			var size = $(".current_section").prev().width() + width_for_padding;
			var div = $(".current_section").prev();
			if (div.index() === $(".current_nav").find(".section").first().index()) {
				size = size - ($(window).width() - size);
			}
			
			var margin_left = $(".current_nav").css("margin-left").replace("px", "");
			margin_left = parseInt(margin_left) + parseInt(size)
			$(".current_nav").css("margin-left", margin_left);
			
			$(".current_section").removeClass("current_section");
			$(div).addClass("current_section");
			refresh_controls();
			bt_new();
			$(".bt_left").bind("click", left);
		}
		return false;
	}
	
	function bottomIpad(event){
		if ($(".current_nav").next().length != 0) {
			$(".bt_bottom").unbind("click");
			clean_effect();
			var size = $(".current_nav").height();
			
			var margin_top = $(".navs").css("margin-top").replace("px", "");
			margin_top = parseInt(margin_top) - parseInt(size)
			$(".navs").css("margin-top", margin_top);
				
			$(".current_nav").find(".section").removeClass("current_section");
			var div = $(".current_nav").next();
			$(".current_nav").removeClass("current_nav");
			$(div).addClass("current_nav");
			$(div).css("opacity", "1");
			$(div).css("margin-left", "0px");
			$(div).find(".section:first-child").addClass("current_section");
			refresh_controls();
			bt_new();
			$(".bt_bottom").bind("click", bottom);
	
		}
		return false;
	}
	
	function topIpad(event){
		if ($(".current_nav").prev().length != 0) {
			$(".bt_top").unbind("click");
			clean_effect();
			var size = $(".current_nav").prev().height();
			
			var margin_top = $(".navs").css("margin-top").replace("px", "");
			margin_top = parseInt(margin_top) + parseInt(size)
			$(".navs").css("margin-top", margin_top);
			
			$(".current_nav").find(".section").removeClass("current_section");
			var div = $(".current_nav").prev();
			$(".current_nav").removeClass("current_nav");
			$(div).addClass("current_nav");
			$(div).css("opacity", "1");
			$(div).css("margin-left", "0px");
			$(div).find(".section:first-child").addClass("current_section");
			refresh_controls();
			bt_new();
			$(".bt_top").bind("click", top);
		}
		return false;
	}
	
	$(".project_telefonica .slide_two").click(function(){
		$(".modal", this).removeClass("hide");
		$(".fechar_telefonica").removeClass("hide");
		$(".mask_telefonica").removeClass("hide");
		$('.mask_telefonica').fadeIn(9000);	
		$('.mask_telefonica').fadeTo("slow",0.8);	
	});
	
	$(".fechar_telefonica").live("click", function(){
		$(this).addClass("hide");
		$(".mask_telefonica").addClass("hide");
		$(".modal").addClass("hide");
	});
	
	$(".modal").click(function(){
		$(this).addClass("hide");
		$(".mask_telefonica").addClass("hide");
		$(".fechar_telefonica").addClass("hide");
	});
	
	$(".project_mvbill .slide_five").click(function(){
		$(".modal_mvbill", this).removeClass("hide");
		$(".fechar_mvbill").removeClass("hide");
		$(".mask_mvbill").removeClass("hide");
		$('.mask_mvbill').fadeIn(9000);	
		$('.mask_mvbill').fadeTo("slow",0.8);	
	});
	
	$(".fechar_mvbill").live("click", function(){
		$(this).addClass("hide");
		$(".mask_mvbill").addClass("hide");
		$(".modal_mvbill").addClass("hide");
	});
	
	$(".modal").click(function(){
		$(this).addClass("hide");
		$(".mask_telefonica").addClass("hide");
		$(".fechar_telefonica").addClass("hide");
	});
	
	$(".project_wallmart .slide_three").click(function(){
		$(".modal_walmart", this).removeClass("hide");
		$(".fechar").removeClass("hide");
		$(".mask").removeClass("hide");
		$('.mask').fadeIn(9000);	
		$('.mask').fadeTo("slow",0.8);	
	});
	
	$(".fechar").live("click", function(){
		$(this).addClass("hide");
		$(".modal_walmart").addClass("hide");
		$(".mask").addClass("hide");
	});
	
	$(".modal_walmart").click(function(){
		$(this).addClass("hide");
		$(".mask").addClass("hide");
		$(".fechar").addClass("hide");
	});
	
	$(window).keydown(function(event) {
		if (event.keyCode == 39){
			$(".bt_right").click();
		} else if (event.keyCode == 40) {
			$(".bt_bottom").click();
		} else if (event.keyCode == 38) {
			$(".bt_top").click();
		} else if (event.keyCode == 37) {
			$(".bt_left").click();
		}
	});
	
	if($.browser.SafariMobile){
		$(".bt_top").bind("click", topIpad);
		$(".bt_bottom").bind("click", bottomIpad);
		$(".bt_left").bind("click", leftIpad);
		$(".bt_right").bind("click", rightIpad);
	} else {
		$(".bt_top").bind("click", top);
		$(".bt_bottom").bind("click", bottom);
		$(".bt_left").bind("click", left);
		$(".bt_right").bind("click", right);
	}
	
	bt_new();
	
	
	// iPad e iPhone
	
	start_touch_x = 0;
	end_touch_x = 0;
	
	start_touch_y = 0;
	end_touch_y = 0;
	
	$(".current_section").live("touchstart", function(event) {
		event.preventDefault();
		var e = event.originalEvent;
		if (e.touches.length == 1) {
			var touch = e.touches[0]
			start_touch_x = touch.pageX;
			start_touch_y = touch.pageY;
		}
	});
	
	$(".current_section").live("touchmove", function(event) {
		event.preventDefault();
		var e = event.originalEvent;
		if (e.touches.length == 1) {
			var touch = e.touches[0]
			end_touch_x = touch.pageX;
			end_touch_y = touch.pageY;
		}
	});
	
	$(".current_section").live("touchend", function(event) {
		event.preventDefault();
		var e = event.originalEvent;
		
		var result_x = start_touch_x - end_touch_x;
		var result_y = start_touch_y - end_touch_y;
	
		if (Math.abs(result_x) > Math.abs(result_y)) {
			if (result_x > 50) {
				right();
				return;
			} else {
				left();
				return;
			}
		} else {
			if (result_y > 50) {
				bottom();
			} else {
				top();
			}
		}				

	});
	
});

function refresh_controls() {

	if ($(".current_section").next().length == 0) {
		$(".bt_right").addClass("hide");
		$(".bt_left").removeClass("hide");
	}

	if ($(".current_section").prev().length == 0) {
		$(".bt_left").addClass("hide");
		$(".bt_right").removeClass("hide");
	}

	if ($(".current_section").prev().length != 0 && $(".current_section").next().length != 0) {
		$(".bt_left").removeClass("hide");
		$(".bt_right").removeClass("hide");
	}

	if ($(".current_nav").next().length == 0) {
		$(".bt_top").removeClass("hide");
		$(".bt_bottom").addClass("hide");
	}

	if ($(".current_nav").prev().length == 0) {
		$(".bt_top").addClass("hide");
		$(".bt_bottom").removeClass("hide");
	}

	if ($(".current_nav").prev().length != 0 && $(".current_nav").next().length != 0) {
		$(".bt_top").removeClass("hide");
		$(".bt_bottom").removeClass("hide");
	}
	
}

function clean_effect() {
	$(".current_nav").css("opacity", "0.3");
	$(".current_nav").css("-moz-opacity", "0.3");
	$(".current_nav").css("filter", "alpha(opacity=30)");
}
