ScienceRotation = Class.create();
ScienceRotation.prototype = {
	interval: 10,
	initialize: function(interval) {
		if (interval) this.interval = interval;
		var div = $('headerrotation').getElementsByClassName('header');
		total = div.length;
		for (var i=0; i<div.length; i++) {
			Element.addClassName(div[i], 'script')
			Element.hide(div[i]);
		}
		var link = $('headerrotation').getElementsByTagName('a');
		if (link.length>0) {
			for (var i=0; i<link.length; i++) {
				if (link[i].className == "next") {
					Event.observe(link[i], 'click', ScienceRotation.prototype.next, false);
					link[i].className += " script";
				} else if (link[i].className == "previous") {
					Event.observe(link[i], 'click', ScienceRotation.prototype.previous, false);
					link[i].className += " script";
				}
			}
		}
		var default_div = $('headerrotation').getElementsByClassName('default')[0];
		if (default_div != '' || default_div != 'undefined' || default_div != 'null') {
			var default_div = default_div.id;
			default_div = parseInt(default_div.toString().substring(6,default_div.toString().length));
			autoId = default_div;
		} else {
			autoId = Math.ceil(Math.random()*total); //random default headerrotation image
		}
		Effect.Appear('header'+autoId);
		autoChange = window.setInterval(function() {
			Effect.Fade('header'+autoId);
			autoId = (autoId<total) ? (autoId+1) : 1;
			Effect.Appear('header'+autoId);
		},this.interval*1000);
	},
	previous: function(ev) {
		clearInterval(autoChange);
		if(!ev) { ev = window.event; }
		var clickedLink = (window.event) ? window.event.srcElement : ev.target;
		while (!clickedLink.tagName || clickedLink.tagName.toLowerCase() != "a") clickedLink = clickedLink.parentNode;
		while (clickedLink.className.indexOf('header') < 0) clickedLink = clickedLink.parentNode;
		var id = clickedLink.id;
		var num = parseInt(id.toString().substring(6,id.toString().length));
		var prev = (num>1) ? (num-1) : total;
		Effect.Fade('header'+num);
		Effect.Appear('header'+prev);
	},
	next: function(ev) {
		clearInterval(autoChange);
		if(!ev) { ev = window.event; }
		var clickedLink = (window.event) ? window.event.srcElement : ev.target;
		while (!clickedLink.tagName || clickedLink.tagName.toLowerCase() != "a") clickedLink = clickedLink.parentNode;
		while (clickedLink.className.indexOf('header') < 0) clickedLink = clickedLink.parentNode;
		var id = clickedLink.id;
		var num = parseInt(id.toString().substring(6,id.toString().length));
		var next = (num<total) ? (num+1) : 1;
		Effect.Fade('header'+num);
		Effect.Appear('header'+next);
	}
}
