function boot() {
	initRollovers();
	initScrolling();
}

function initRollovers() {
	var ele = document.getElementsByTagName('img');
	for (var i = 0; i < ele.length; i++) {
		if (ele[i].className.match(/rollover/)) roll(ele[i]);
	}
}

function roll(e) {
	e.onmouseover = on;
	e.onmouseout = off;
}

function on() { this.src = this.src.replace(/\.jpg$/, '_h.jpg'); }
function off() { this.src = this.src.replace(/_h\.jpg/, '.jpg'); }

var scrollState = {};

function initScrolling() {
	
	var ele = document.getElementById('scrollable');
	if (!ele) return;
	
	var inner = document.createElement('div');
	inner.className = 'inner';
	inner.innerHTML = ele.innerHTML;
	inner.style.top = 0;
	
	ele.innerHTML = '';
	ele.appendChild(inner);
	
	scrollState.max = inner.offsetHeight - ele.offsetHeight;
	
	if (scrollState.max <= 0) return;
	
	var up = document.createElement('img')
	up.src = 'images/scroll_up.jpg';
	up.className = 'up';
	ele.appendChild(up);
	
	var down = document.createElement('img');
	down.src = 'images/scroll_down.jpg';
	down.className = 'down';
	ele.appendChild(down);
	
	scrollState.element = inner;
	scrollState.direction = null;
	
	up.onmousedown = scrollUp;
	up.onmouseup = scrollOff;
	down.onmousedown = scrollDown;
	down.onmouseup = scrollOff;
	
	window.setInterval(scroll, 50);
	
}

function scrollUp() { scrollState.direction = 'up'; }
function scrollDown() { scrollState.direction = 'down'; }
function scrollOff() { scrollState.direction = null; }

function scroll() {
	var ss = scrollState;
	var curr = parseInt(ss.element.style.top);
	if (!ss.direction) return;
	if (ss.direction == 'up' && curr < 0) {
		curr += 3;
		if (curr > 0) curr = 0;
	} else if (ss.direction == 'down' && curr > -ss.max) {
		curr -= 3;
		if (curr < -ss.max) curr = -ss.max;
	}
	ss.element.style.top = '' + curr + 'px';
}
