
	$().ready(function() {
	
		// LANDING COLUMNS
		$("div.landing ul.columns li").hover(function() {
			$(this).find("img.color").fadeIn(400);
			$(this).find("div.rollover").css({zIndex:20,display:"none"}).fadeIn(400);
		},function() {
		 	$(this).find("img.color").stop().fadeOut(50,function() { $(this).css("opacity","1"); });
		 	$(this).find("div.rollover").stop().fadeOut(50,function() { $(this).css("opacity","1"); });
		});
		
		// DETAIL
		$("div.projects ul.project_frame").css("width",Math.floor(1000*($("div.projects ul.project_frame li.project").length))+1000);
		
		// PROJECT NAV
		$("ul.project_nav li.previous").hover(function() {
			var desc = "<span>previous:</span> "+get_project_name(get_previous_project());
			$("ul.project_nav li.desc").html(desc);
		},function() {
			$("ul.project_nav li.desc").html("");
		});
		$("ul.project_nav li.next").hover(function() {
			var desc = "<span>next:</span> "+get_project_name(get_next_project());
			$("ul.project_nav li.desc").html(desc);
		},function() {
			$("ul.project_nav li.desc").html("");
		});
		$("ul.project_nav li.previous").click(go_to_previous_project);
		$("ul.project_nav li.next").click(go_to_next_project);
		
		// IMAGE NAV
		$("li.project div.image_nav").each(function() {
			var images = $(this).parent().find("ul.image_frame li").length;
			for(var i = 1; i <= images; i++) {
				if(i!=1) {
					$(this).find("ul").append($("<li class=\"line\"></li>"));
				}
				var number = i;
				if(number < 10) {
					number = "0"+number;	
				}
				$(this).find("ul").append($("<li class=\"number\"><a href=\"#"+number+"\">"+number+"</a></li>"));
			}
			$(this).find("ul li:first a").addClass("active");
			$(this).css({display:"block","top":Math.floor((425-$(this).height())/2)+"px"});
		});
		$("li.project div.image_nav a.previous").click(image_nav_previous);
		$("li.project div.image_nav a.next").click(image_nav_next);
		$("li.project div.image_nav li.number a").click(function() {
			go_to_image($(this).parent().parent().parent().parent(),Math.floor($(this).text()));
			return false;
		});
		
		/* INFO BAR */
		$("div.info_bar ul.information div.tab a.more").click(function() {
			show_information_rollover($(this).parent().parent().find("div.rollover"));
			return false;
		});
		$("div.info_bar ul.information div.tab p a").click(function() {
			show_information_rollover($(this).parent().parent().parent().find("div.rollover"));
			return false;
		});
		$("div.info_bar ul.information div.rollover a.close").click(function() {
			$(this).parent().stop().slideUp(200);
			return false;																	 
		});
		update_info_bar();
		
		/* LOAD DEFAULT PROJECT */
		var project_id = window.location.hash;
		if(project_id.length > 0) {
			project_id = project_id.replace(/#/,"");
			project_id = Math.floor(project_id);
			var input = $("ul.project_frame li.project input[value="+project_id+"]");
			if($(input).length > 0) {
				var project_by_id = $(input).parent();
				var project_position = get_id($(project_by_id).attr("id"));
				if(project_position > 1) {
					go_to_default_project(project_position);
				}
			}
		}
		
		$("ul.project_frame li.project div.images").css("display","block");
		$("div.info_bar").css("display","block");
		
	});

	function go_to_image(project,image) {
		if(return_position) {
			var _return_position = return_position;
			return_position = false;
			$(project).find("li a.active").removeClass("active");
			var numbers = $(project).find("li.number");
			$(numbers[_return_position-1]).find("a").addClass("active");
			var position = -425*(image-1);
			$(project).find("ul.image_frame").stop().animate({top: position+"px"},500, function() {
				var position = -425*(_return_position-1);
				$("li.remove").remove();
				$(this).css("top",position+"px");
				turn_on_nav();
			});
		} else {
			$(project).find("li a.active").removeClass("active");
			var numbers = $(project).find("li.number");
			$(numbers[image-1]).find("a").addClass("active");
			var position = -425*(image-1);
			$(project).find("ul.image_frame").stop().animate({top: position+"px"},500, function() { turn_on_nav(); });
		}
	}
	
	function turn_on_nav() {
		$("li.project div.image_nav a.previous").unbind("click",empty).bind("click",image_nav_previous);
		$("li.project div.image_nav a.next").unbind("click",empty).bind("click",image_nav_next);
		$("ul.project_nav li.previous").unbind("click",empty).bind("click",go_to_previous_project);
		$("ul.project_nav li.next").unbind("click",empty).bind("click",go_to_next_project);	
	}
	
	function turn_off_nav() {
		$("li.project div.image_nav a.previous").unbind("click",image_nav_previous).bind("click",empty);
		$("li.project div.image_nav a.next").unbind("click",image_nav_next).bind("click",empty);
		$("ul.project_nav li.previous").unbind("click",go_to_previous_project).bind("click",empty);
		$("ul.project_nav li.next").unbind("click",go_to_next_project).bind("click",empty);	
	}
	
	function image_nav_previous() {
		var total = $(this).parent().parent().find("ul.image_frame li").length;
		var current = Math.floor($(this).parent().find("li a.active").text());
		if(current > 1) {
			go_to_image($(this).parent().parent(),current-1);
		} else {
			var images = $(this).parent().parent().find("ul.image_frame li");
			var current_image = $(images[current-1]);
			var position = -425*total;
			$(this).parent().parent().find("ul.image_frame").append($(current_image).clone().addClass("remove")).css("top",position+"px");
			return_position = total;
			go_to_image($(this).parent().parent(),total);				
		}
		turn_off_nav();
		return false;		
	}
	
	function image_nav_next() {
		var total = $(this).parent().parent().find("ul.image_frame li").length;
		var current = Math.floor($(this).parent().find("li a.active").text());
		if(current < total) {
			go_to_image($(this).parent().parent(),current+1);
		} else {
			var images = $(this).parent().parent().find("ul.image_frame li");
			var current_image = $(images[current-1]);
			$(this).parent().parent().find("ul.image_frame").prepend($(current_image).clone().addClass("remove")).css("top","0");
			return_position = 1;
			go_to_image($(this).parent().parent(),2);				
		}
		turn_off_nav();
		return false;	
	}
	
	function go_to_project(project) {
		
		turn_off_nav();
		if(return_position) {
			current_project = return_position;
		} else {
			current_project = project;
		}		
		var project_id = $("li#project_"+current_project).find("input").val();
		window.location.hash = project_id;
		
		var position = -1000*(project-1);
		$("ul.project_frame").animate({ left: position+"px"},700, function() { 
			turn_on_nav();
			if(return_position) {
				$("ul.project_frame li.remove").remove(); 
				var position = -1000*(return_position-1);
				$(this).css("left", position+"px");
				return_position = false;
			}
		});
		
		update_info_bar();
		$("div.info_bar div.rollover").css("display","none");
		
	}	
	function go_to_default_project(project) {
		current_project = project;
		var position = -1000*(project-1);
		$("ul.project_frame").css({ left: position+"px" });
		update_info_bar();
		$("div.info_bar div.rollover").css("display","none");
		
	}
	
	function go_to_previous_project() {
		var previous = get_previous_project();
		if(previous==total_projects) {
			var projects = $("ul.project_frame li.project");
			var project = $(projects[current_project-1]);
			var position = -1000*total_projects;
			$("ul.project_frame").append($(project).clone().addClass("remove").attr("id","project_copy")).css("left",position+"px");
			return_position = total_projects;
			go_to_project(total_projects);
		} else {
			go_to_project(previous);
		}
		var desc = "<span>previous:</span> "+get_project_name(get_previous_project());
		$("ul.project_nav li.desc").html(desc);
		return false;		
	}
	
	function go_to_next_project() {
		var next = get_next_project();
		if(next==1) {
			var projects = $("ul.project_frame li.project");
			var project = $(projects[current_project-1]);
			$("ul.project_frame").prepend($(project).clone().addClass("remove").attr("id","project_copy")).css("left","0");
			return_position = 1;
			go_to_project(2);
		} else {
			go_to_project(next);
		}
		var desc = "<span>next:</span> "+get_project_name(get_next_project());
		$("ul.project_nav li.desc").html(desc);
		return false;
	}
	
	function get_previous_project() {
		if(current_project > 1) {
			return Math.floor(current_project)-1;
		} else {
			return total_projects;
		}	
	}
	
	function get_next_project() {
		if(current_project < total_projects) {
			return Math.floor(current_project)+1;
		} else {
			return 1;
		}		
	}
	
	function get_project_name(number) {
		return $($("ul.project_frame li#project_"+number)).find("h3").text();
	}
	
	function show_information_rollover(rollover) {
		$(rollover).slideDown(400, function() { update_rollover_text(); });
		$(rollover).find("p.scroll").jScrollPane({ showArrows:false, scrollbarWidth: 11, dragMaxHeight: 30, dragMinHeight: 30 });
	}
	
	function update_rollover_text() {
		//sIFR.replace(gotham_book, { selector:'div.portfolio div.info_bar h4', selectable:false, transparent: true, css: '.sIFR-root { color: #ffffff; font-size: 13; letter-spacing: -0.2; }', thickness: -90, sharpness: 0, tuneHeight: -8, tuneWidth: 10, fitExactly: true, forceSingleLine: true });
	}
	
	function update_info_bar() {
		update_related_media();
		update_documentation();
		update_information();
	}
	
	function update_related_media() {
		var items = $("div.info_bar div.related_media ul li");
		$("div.info_bar div.related_media ul li:visible").css("display","none");
		$(items[current_project-1]).css("display","block");
		if($(items[current_project-1]).text().length > 0) {
			$("div.info_bar div.related_media").css("display","block");
		} else {
			$("div.info_bar div.related_media").css("display","none");
		}
	}
	
	function update_documentation() {
		var items = $("div.info_bar div.documentation ul li");
		$("div.info_bar div.documentation ul li:visible").css("display","none");
		$(items[current_project-1]).css("display","block");
		if($(items[current_project-1]).text().length > 0) {
			$("div.info_bar div.documentation").css("display","block");
		} else {
			$("div.info_bar div.documentation").css("display","none");
		}
	}
	
	function update_information() {
		var items = $("div.info_bar ul.information li");
		$("div.info_bar ul.information li:visible").css("display","none");
		$(items[current_project-1]).css("display","block");
		//sIFR.replace(gotham_book, { selector:'div.portfolio div.info_bar h3', selectable:false, opaque: true, css: '.sIFR-root { color: #484848; font-size: 13; letter-spacing: -0.2; }', thickness: 80, sharpness: 0, tuneHeight: -8, tuneWidth: 10, fitExactly: true, forceSingleLine: true });
	}