function addEvent(f, type, node) {
	if (window.addEventListener) {
		(node || document).addEventListener((type || 'DOMContentLoaded'), f, false);
	}
	else {
	    (node || window).attachEvent('on' + (type || 'load'), f);
    }
}

addEvent(function() {
	var nb = document.getElementById('portalsNextButton');
	var pb = document.getElementById('portalsPrevButton');
	if (nb) {
		nb.onmousedown = scroll;
	}
	if (pb) {
		pb.onmousedown = scroll;
	}
});

function scroll() {
	var carusel = document.getElementById('scrollable');
	var offset = carusel.offsetLeft;
	var caruselWidth = carusel.parentNode.clientWidth;

	if ('portalsNextButton' == this.id) {
		var vector = -1;
		var shift = (offset < -caruselWidth * (carusel.clientWidth/caruselWidth - 2)) ? caruselWidth : offset;
	}
	else {
		var vector = 1;
		var shift = (!offset) ? -carusel.clientWidth  : offset;
	}
	if (!carusel.moving) {
		carusel.moving = true;
		$(carusel).animate({ 'left': shift + caruselWidth * vector}, 'fast');
		$(carusel).queue(function () {
			carusel.moving = false;
			$(this).dequeue();
		});
	}
	return false;
}
