
window.addEvent('domready', function() {

	if(!$('events'))
		return false;

	// Repeat the first event at the bottom, so the scrolling is seamless
	$('events').getFirst().clone().inject('events','bottom');

	// Initalize Variables
	var eventScroller = new Fx.Scroll('events');
	var eventElements = $$('#events .event');
	var eventCurrent  = 1;
	var eventInterval;
	var eventPause;

	var eventChange = function(){

		if(eventElements.length <= eventCurrent)
		{
			// We've hit the limit on the events
			// We need to reset the counter
			eventCurrent = 1;

			// We need to move the scroller
			// to the very top
			eventScroller.set(0,0);
		}

		// Advance to the next event...
		eventScroller.toElement(eventElements[eventCurrent]);

		eventCurrent++;

	};

	if(eventElements.length > 1)
	{
		// Only start the rotator if we have more that one event,
		// as it's rather pointless.
		eventInterval = eventChange.periodical(5000); // Delay in milliseconds

		// Pause the scroller when the mouse moves over it
		$('events').addEvent('mouseover', function(){
			$clear(eventPause);
			$clear(eventInterval);
		});

		// Resume the scroller one second after the mouse moves out
		$('events').addEvent('mouseout', function(){
			eventPause = (function(){
				eventChange();
				eventInterval = eventChange.periodical(5000); // Delay in milliseconds
			}).delay(1000); // Delay in milliseconds
		});
	}


});



/**
 * Print the current page
 */
function print_page()
{
	window.print();
}


/**
 * Choose the appropiate font size
 * Allowed sizes: large | small
 */
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
