var force      = 0;
var cursor     = null;
var currModule = null;
var tox;
var currx;

function animate (module)
{
	if (cursor == null) {
		cursor = document.getElementById ('navcursor');
	}
	
	currx = getElementPosition (cursor);
	tox   = Math.round (getElementPosition (module) + (module.offsetWidth / 2) - (cursor.offsetWidth / 2));
	force = 1;	
}

function go (module)
{
	if (typeof module == "string") {
		module = document.getElementById (module);
		currModule = module;
	}
		
	animate (module);
}

function back ()
{
	if (currModule != null)
	{
		animate (currModule);
	}
}

function move()
{	
	if (force == 0) {
		return;
	}
	
	force = (tox - currx) / 7;
	
	if (force > -0.4 && force < 0.4) {
		currx = tox;
		force = 0;
	}
		
	currx += force;

	cursor.style.left = currx + 'px';
}

function getElementPosition (e)
{
	var x = e.offsetLeft;	
    var c = e.offsetParent;
    
    while (c) {
        x += c.offsetLeft;
        c = c.offsetParent;
    }
    
    return x;
}

setInterval (move, 20);

