// site wide javascript
function flipSnav(obj){
	if(typeof obj=="undefined"){
		var seq = document.body.id;
		loadSnav = 'nav-' + seq;
		var obj = $(loadSnav);
	} else {
		var seq = obj.id.replace("nav-","");
	}
	var nxtSib = $(obj).siblings();
	if($('navstep').empty()){
		obj.className = 'over';
		obj.up().className = 'on';
		nxtSib[0].className = 'snshow';
		$('navstep').innerHTML = seq;
	}
	else{
		if($('navstep').innerHTML == seq){
			obj.className = '';
			nxtSib[0].className = '';
			$('navstep').innerHTML = '';
		}
		else{
			var prevSnav = 'nav-' + $('navstep').innerHTML;
			var psObj = $(prevSnav);
			psObj.className = '';
			var nxtSib2 = psObj.siblings();
			nxtSib2[0].className = '';
			obj.className = 'over';
			nxtSib[0].className = 'snshow';
			$('navstep').innerHTML = seq;
		}
	}
	var a = obj.next('ul').getElementsBySelector('a');
	if (window.location.href.substr(location.href.length - 1, 1) == '/') {
		var loc = window.location.href + 'index.html'; 
	}
	else {
		var loc = window.location.href.replace('#','');
	}
	for(var i=0; i < a.length; i++) {
		if (a[i].href == loc) {
			a[i].setAttribute("class", "over");
			a[i].setAttribute("className", "over");
		}
	}	
}
var slider = "";
function init_scroller() {
	slider = new Control.Slider('handle', 'track', {
		axis: 'vertical',
		range:$R(0,100),
		sliderValue:0,
		onSlide: function(v) { scrollVertical(v, $('scrollable'), slider);  },
		onChange: function(v) { scrollVertical(v, $('scrollable'), slider); }
	});
	
	// mozilla
	Event.observe('scrollable', 'DOMMouseScroll', wheel);
	Event.observe('track', 'DOMMouseScroll', wheel);
	// IE/Opera
	Event.observe('scrollable', 'mousewheel', wheel);
	Event.observe('track', 'mousewheel', wheel);
	
	// control arrows
	var intervalId;
	Event.observe('track-top', 'mouseover', function(e) {intervalId = setInterval("moveScroll(1)",100)});
	//Event.observe('track-top', 'mouseup', function(e) {clearInterval(intervalId)});
	Event.observe('track-top', 'mouseout', function(e) {clearInterval(intervalId)});
	Event.observe('track-bot', 'mouseover', function(e) {intervalId = setInterval("moveScroll(-1)",100)});
	//Event.observe('track-bot', 'mouseup', function(e) {clearInterval(intervalId)});
	Event.observe('track-bot', 'mouseout', function(e) {clearInterval(intervalId)});
	
	// disable vertical scrolling if text doesn't overflow the div
	if ($('scrollable').scrollHeight <= $('scrollable').offsetHeight) {
		slider.setDisabled();
		$('wrap').hide();
	}
}
function set_plos() {
	window.onload = plos_go;
}
function plos_go() {
	for(var i = 0;i < plos.length;i++)
		eval(plos[i]);
}
function plo_add(jso) {
	plos[plos.length] = jso;
}
var plos = new Array();
plo_add("flipSnav()");
plo_add("init_scroller()");
set_plos();