function move(step) {
	var projectIndex = $("project-index");
	var page = projectIndex.currentPage;
	var pageCount = projectIndex.pageCount;
	var pageWidth = projectIndex.pageWidth;
	
	var newPosition = projectIndex.position + (step * projectIndex.pageWidth);
	
	if (newPosition < 0) {
		newPosition = 0;
	}
	
	if (newPosition + projectIndex.pageWidth > projectIndex.totalWidth) {
		newPosition = projectIndex.totalWidth - projectIndex.pageWidth;
	}
	
	if (newPosition != projectIndex.position) {
		var duration = (projectIndex.position - newPosition) / projectIndex.pageWidth * 0.8;
		
		if (duration < 0) {
			duration = -duration;
		}

		new Effect.MoveBy(projectIndex, 0, projectIndex.position - newPosition, {
			duration: duration,
			transition: function(pos) {  return 1 - ((pos - 1) * (pos - 1)); },
			afterFinish: function() {
				projectIndex.position = newPosition;
				updateProjectIndexButtons();
			}
		});
	}
}

function more() {
	move(1);
}

function less() {
	move(-1);
}

function updateProjectIndexButtons() {
	var index = $('project-index');

	if (index.pageCount > 1) {
		if (index.position > 0) {
			$('project-index-button-less').className = "active";
		} else {
			$('project-index-button-less').className = "inactive";
		}
		
		if (index.position >= (index.totalWidth - index.pageWidth)) {
			$('project-index-button-more').className = "inactive";
		} else {
			$('project-index-button-more').className = "active";
		}
	} else {
		$('project-index-button-less').className = "unused";
		$('project-index-button-more').className = "unused";
	}
}
