$(function(){
	
	/* BLOG SPINNER STARTPAGE */
	var $spinner = $("#blogSpinner");
	var $wrapper = $("#blogWrapper");
	var $holders = $(".blogHolder");
	var $pluts = $("#blogPluts");
	var x = 0;
	
	// Functions
	var plut_click = function(){
		var ix = $(this).index();
		var $nextHolder = $holders[ix];
		
		$spinner.scrollTo($nextHolder, 500);
		
		$(this).siblings().removeClass("active");
		$(this).addClass("active");
	};
	
	// Loop through our holders to make pluts for nav
	$holders.each(function(){
		var $div = $("<div/>"); // Create the div

		if(x == 0) // Set active if first one
			$div.addClass("active");
		x++;
		
		// Bind some events to this plutt
		$div.bind("click", plut_click);
		
		// Add
		$pluts.append($div);
	});
	
	var p = $pluts.parent().width();
	p = Math.round(p / 2);
	var c = $pluts.width();
	c = Math.round(c / 2)/2;
	
	$pluts.css("marginLeft", p-c +"px");


	/* CALENDAR STUFF */
	var portletUrl = "/91.2515a6131325af11a8680004467/12.61634b11132ea96ac4f80006497.portlet";
	$("#calendar #calendar_next, #calendar #calendar_prev").live("click", function(){
		var href = $(this).attr("href");
		href = href.replace("#!","").replace("#%21", "");

		$.get(portletUrl+"?"+ href, function(callback) {
			$("#calendar").html($(callback).html());
			$("#calendar a[rel^='prettyPhoto']").prettyPhoto();
		});
	});
	
	var portletUrlBig = "/4.61634b11132ea96ac4f80006860/12.61634b11132ea96ac4f80006870.portlet";
	$("#big_calendar #big_prev, #big_calendar #big_next").live("click", function(){
		var href = $(this).attr("href");
		href = href.substring(href.indexOf("?"));

		$.get(portletUrlBig+href, function(callback){
			$("#big_calendar").html($(callback).html());
			$("#big_calendar a[rel^='prettyPhoto']").prettyPhoto();
		});
		
		return false;
	});
	
	/* PROJECTS SLIDER */
	$(".project_regions input").uniform();
	
	var plut_click_project = function() {
		var ix = $(this).index();
		var $holders = $(this).parent().parent().find(".all_projects");
		var $nextHolder = $holders.find(".projects_section")[ix];
		
		$holders.stop().scrollTo($nextHolder, 500);
		
		$(this).siblings().removeClass("active");
		$(this).addClass("active");
	};

	var pluttify = function($obj){ //$(".all_projects").each(function()
		var $pluts = $obj.parent().find(".projectPluts");
		var x = 0;
		$pluts.html("");
		$(".projects_section", $obj).each(function(){
			var $plutt = $("<div/>");
			
			if(x == 0) $plutt.addClass("active");
			
			$plutt.bind("click", plut_click_project);
			$pluts.append($plutt);
			
			x++;
		});
	};
	
	var calc_plutts = function($obj, onload) {
		// First sections
		var $sections = $(".projects_section", $obj);
		$sections.each(function(){
			var children = $(this).children();
			children.each(function(){
				$(".all_projects_holder", $obj).append($(this));
			});
		});
		if($sections.length > 0)
			$sections.remove();
		// Then projects
		if(onload) {
			var $projects = $(".project_puff", $obj);
		} else {
			var $projects = $(".project_puff:visible", $obj);
		}
		
		for (var i=0; i<$projects.length; i+=8) {
			$projects.slice(i,i+8).wrapAll("<div class='projects_section'></div>");
		}
		
		pluttify($obj);
		
		var $holders = $obj;
		var $nextHolder = $holders.find(".projects_section")[0];
		
		$holders.stop().scrollTo($nextHolder, 500);
	};
	
	var visibilityMapMarkers = function(id, tf) {
		id = id.replace("\\","");
		for(var i=0; i<markers.length; i++) {
			console.log(markers[i].parent_id +"=="+ id);
			if(markers[i].parent_id == id) {
				markers[i].setVisible(tf);
			}
		}
	};
	
	$(".all_projects").each(function(){
		calc_plutts($(this), true);
	});
	
	$(".project_title").bind("click", function(){
		var $hidden = $(this).parent().find(".project_hidden");
		if($hidden.is(":visible")) {
			$hidden.slideUp("fast");
			$(this).parent().removeClass("project_holder_open");
		} else {
			var $t = $(this);
			$(".project_hidden:visible").slideUp("fast").parent().removeClass("project_holder_open");
		
			$(this).parent().addClass("project_holder_open");
		
			$hidden.slideDown("fast", function(){
				$.scrollTo($t, 500, { offset: -20 });
			});
		}
	});
	
	$(".project_regions input").bind("change", function(){
		var id = $(this).val();
		if($(this).is(":checked")) {
			$(".region_"+ id.replace(".", "\\.")).show();
		} else {
			$(".region_"+ id.replace(".", "\\.")).hide();
		}
		
		calc_plutts($(".all_projects", $(this).closest(".project_hidden")), false);
	});
	
	$("#regions_holder input").bind("change", function(){
		var id = $(this).val();
		id = id.replace(".","\\.");
		
		$(".project_holder .project_hidden").slideUp("fast");
		
		if($(this).is(":checked")) {
			$("#region_holder_"+ id).fadeIn("fast");
			visibilityMapMarkers(id, true);
		} else {
			$("#region_holder_"+ id).fadeOut("fast");
			visibilityMapMarkers(id, false);
		}
	});
	
	var projectSearchUrl = "/4.61634b11132ea96ac4f80008509/12.61634b11132ea96ac4f80008519.portlet";
	$("#project_free_search").bind("submit", function(){
		var q = $("input", this).val();

		$.get(projectSearchUrl, { q: q, startnode: "4.86a6bda131b662bdc980001782" }, function(callback){
			$("#search_result_holder").html(callback).parent().slideDown("fast");
			console.log("searching");
		});
	});
	
	$(".project_puff").bind("click", function(){
		return false;
	});
	
});
