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);

	}

}


