
Event.observe(window, "load", initProjects);

var projectIndex = 1;

function initProjects() {
	loadProject();
}

function loadProject() {
	var projectArray = $$("li.project");
	var p = projectArray[projectIndex];
	var id = p.identify();

	new Ajax.Updater(id, "/selected/load_project/"+id, {asynchronous:true, evalScripts:true, insertion:Insertion.Top, parameters:"authenticity_token=" + encodeURIComponent(authToken) });
	
	projectIndex++;
	if (projectIndex < projectArray.length) {
		setTimeout("loadProject()", 1000);
	}
}

Event.observe(window, "load", manageDescriptions);
Event.observe(window, "scroll", manageDescriptions);
Event.observe(window, "resize", manageDescriptions);

function manageDescriptions() {
	var imageArray = $$("#projects li.project");	
	imageArray.sort(sortDiff);

	$("desc_" + imageArray[0].identify()).show();
	
	for (var i=1; i<imageArray.length; i++) {
		$("desc_" + imageArray[i].identify()).hide();
	}
}

function sortDiff(a, b) {
	return getDiff(a) - getDiff(b);
}

function getDiff(item) {
	var viewport_center = document.viewport.getHeight()/2;
	
	var dist_from_top = item.viewportOffset().top - viewport_center;
	var dist_from_bottom = item.viewportOffset().top + item.getHeight() - viewport_center;
	
	return Math.min( Math.abs(dist_from_top), Math.abs(dist_from_bottom) );
}


