/*
*	DEBUGGING
*/
var Debugger = {};
Debugger.VERBOSE = false;
Debugger.NOTICE = "notice";
Debugger.WARNING = "notice";
Debugger.ERROR = "error";
Debugger.UNDEFINED_ERROR = "undefined error";
Debugger.message = function(messageString, messageType)
{
	if(messageType == undefined) var messageType = Debugger.UNDEFINED_ERROR;
	if(Debugger.VERBOSE) alert("\"" + messageType + "\": " + messageString);
}

/*
*	swaps a displayed image to an image defined by file
*	f.e. rollOver effect
*
*	@id		string, node of the image to swap
*	@file	string, path and filename of image that should be displayed
*/
function swapImage(id, file)
{
	if(document.getElementById(id))
	{
		document.getElementById(id).src = file;
	}
	else
	{
		Debugger.message("swapImage: node " + id + " does not exist", Debugger.NOTICE);
	}
}
/*
*	QUICKLINKS
*/
var QL_PROJECT_WIDTH = 380;
var QL_MAX_PROJECTS = 9;
var QL_PROJECTS_PER_PAGE = 2;

var currentQLPage = 0;
var ql_isRunning = false;

function nextQLProjects(id)
{
	if(document.getElementById(id) && currentQLPage < (QL_MAX_PROJECTS / QL_PROJECTS_PER_PAGE - 1) && !ql_isRunning)
	{
		ql_isRunning = true;		
		currentQLPage++;
		Effect.MoveBy(id, 0, -QL_PROJECT_WIDTH * QL_PROJECTS_PER_PAGE, {afterFinish:ql_finished});
	}
}
function prevQLProjects(id)
{
	if(document.getElementById(id) && currentQLPage > 0 && !ql_isRunning)
	{
		ql_isRunning = true;
		currentQLPage--;
		Effect.MoveBy(id, 0, QL_PROJECT_WIDTH * QL_PROJECTS_PER_PAGE, {afterFinish:ql_finished});
	}
}
function ql_finished(obj)
{
	ql_isRunning = false;
}
/*
*	CONTENT
*/
var C_PROJECT_WIDTH = 680;
var C_MAX_PROJECTS = 9;
var C_PROJECTS_PER_PAGE = 1;

var currentCPage = 0;
var c_isRunning = false;

function nextCProjects(id)
{
	if(document.getElementById(id) && currentCPage < (C_MAX_PROJECTS / C_PROJECTS_PER_PAGE - 1) && !c_isRunning)
	{
		c_isRunning = true;		
		currentCPage++;
		
		generateContentProjectNavigation("projectNavigation", "cProjects");
		
		Effect.MoveBy(id, 0, -C_PROJECT_WIDTH * C_PROJECTS_PER_PAGE, {afterFinish:c_finished});
	}
}
function prevCProjects(id)
{
	if(document.getElementById(id) && currentCPage > 0 && !c_isRunning)
	{
		c_isRunning = true;
		currentCPage--;
		
		generateContentProjectNavigation("projectNavigation", "cProjects");
		
		Effect.MoveBy(id, 0, C_PROJECT_WIDTH * C_PROJECTS_PER_PAGE, {afterFinish:c_finished});
	}
}
function gotoCProjectsPage(pageIndexValue, id)
{
	if(document.getElementById(id) && !c_isRunning)
	{
		var pageIndex = pageIndexValue;
		if(pageIndex == "FIRST_PAGE") pageIndex = 0;
		else if(pageIndex == "LAST_PAGE") pageIndex = C_MAX_PROJECTS - 1;
		
		c_isRunning = true;
		var distance = currentCPage - pageIndex;
		currentCPage = pageIndex;
		
		generateContentProjectNavigation("projectNavigation", "cProjects");
		
		Effect.MoveBy(id, 0, distance * C_PROJECT_WIDTH, {afterFinish:c_finished});
	}
}
function c_finished(obj)
{
	c_isRunning = false;
}
function generateContentProjectNavigation(navigationContainerId, projectsContainerId)
{
	if(document.getElementById(navigationContainerId) && document.getElementById(projectsContainerId))
	{	
		var output = "";
		for(var i = 0; i < C_MAX_PROJECTS; i++)
		{	
			if(i == currentCPage) output += '<a class="isActive" onclick="gotoCProjectsPage(' + String(i) + ', \'' + String(projectsContainerId) + '\')">' + String(i + 1) + '</a>';
			else output += '<a onclick="gotoCProjectsPage(' + String(i) + ', \'' + String(projectsContainerId) + '\')">' + String(i + 1) + '</a>';
		}
		document.getElementById(navigationContainerId).innerHTML = output;
	}
}
