images = Array();

images[0] = "/workspace/img/laurel_canada.gif";
images[1] = "/workspace/img/laurel_philly.gif";
images[2] = "/workspace/img/laurel_festivus.gif";

containerID = "award";
imgID = "billboard";

/* Do not edsit below b*/

addLoadEvent(prepareBillboard);
addLoadEvent(replaceBillboard);

function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	} else {
	window.onload = function(){
		oldonload();
		func();
		}
	}
}

function prepareBillboard(){
	var container = document.getElementById(containerID);
	var img = document.createElement("img");
	img.setAttribute("id",imgID);
	container.appendChild(img);
}

function replaceBillboard(){
	var container = document.getElementById(imgID);
	var shifted = images.shift();
	container.setAttribute("src",shifted);
	images.push(shifted);
	refreshBillboard();
}

function refreshBillboard(){
	setTimeout("replaceBillboard()", 3000);
}

/* Copyright: Guillermo Rauch <http://devthought.com/> - Distributed under MIT - Keep this message! */

var MorphList = new Class({   
	
	Implements: [Events, Options],
	
	options: {/*             
		onClick: $empty,
		onMorph: $empty,*/
		morph: { 'link': 'cancel' }
	},
	
	initialize: function(menu, options) {
		var that = this;
		this.setOptions(options);
		this.menu = $(menu);
		this.menuitems = this.menu.getChildren();
		this.menuitems.addEvents({
			mouseenter: function(){ that.morphTo(this); },
			mouseleave: function(){ that.morphTo(that.current); },
			click: function(ev){ that.click(ev, this); }
		});       
		this.bg = new Element('li', {'class': 'background'}).adopt(new Element('div', {'class': 'left'}));
		this.bg.fade('in').inject(this.menu).set('morph', this.options.morph);
		this.setCurrent(this.menu.getElement('.current'));
	},          

	click: function(ev, item) {
		this.setCurrent(item, true);
		this.fireEvent('onClick', [ev, item]);
	},
	
	setCurrent: function(el, effect){  
		if(el && ! this.current) {
			this.bg.set('styles', { left: el.offsetLeft, width: el.offsetWidth, height: el.offsetHeight, top: el.offsetTop });
			(effect) ? this.bg.fade('hide').fade('in') : this.bg.setOpacity(1);
		}
		if(this.current) this.current.removeClass('current');
		if(el) this.current = el.addClass('current');    
	},         
         
	morphTo: function(to) {
		if(! this.current) return; 
		this.bg.morph({
			left: to.offsetLeft, top: to.offsetTop,
			width: to.offsetWidth, height: to.offsetHeight
		});
		this.fireEvent('onMorph', to);
	}

});

window.addEvent('domready', function() {
	new MorphList($('nav').getElement('ul'));
});

//musicPlayer

function stopMusic(musicID) {
	var objectTags;
	objectTags = document.getElementsByTagName("object");
	if(0 == objectTags.length)
	{
		objectTags = document.getElementsByTagName("embed");
	}
	for(var i=0;i<objectTags.length;i++)
	{
		objectID = objectTags[i].id.substring(11, objectTags[i].id.length);
		
			if(musicID != objectID)
			{
				try
				{
					document.getElementById(objectTags[i].id).SetVariable("closeMusic", 1);
				}
				catch(errorObject)
				{
					//catch errors
				}
			}
	}
}

//musicPop

/*
  moopop: unobtrusive javascript popups via late binding using mootools 1.2
  
  copyright (c) 2007-2008 by gonchuki - http://blog.gonchuki.com
  
  version:	1.1
  released: June 23, 2008
  
  This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    http://creativecommons.org/licenses/by-sa/3.0/
*/

/*
  moopop: unobtrusive javascript popups via late binding using mootools 1.2
  
  copyright (c) 2007-2008 by gonchuki - http://blog.gonchuki.com
  
  version:	1.1
  released: June 23, 2008
  
  This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
    http://creativecommons.org/licenses/by-sa/3.0/
*/

/*
  Basic usage:
    add a rel attribute to your <a> tags to be like this:
      <a href="http://blog.gonchuki.com" rel="popup">foobar</a>
      or
      <a href="http://blog.gonchuki.com" rel="popup[600,400]">foobar</a>
      
    where:
      "popup" is the default string token to match against so the popup behavior
              can be attached.
      "[600,400]" is the (optional) size of the newly created window.
      
    optionally, you can specify an "r" parameter like this:
      "[600,400,r]" that will allow the window to be resizable.
*/

var moopop = {
  width: 0,
  height: 0,
  /*
    Function: captureByRel
      standard capturing method, it's autorun onDomReady and you can manually use it
      to capture a different set of popup windows.
      
    Syntax:
      moopop.captureByRel(value, element);
      
    Arguments:
      value - The partial string to match against the rel attribute of your links.
      element - [optional] a DOM element to restrict which links should be processed.
  */
  captureByRel: function(attrVal, parent) {
    this.capture((parent || document).getElements('a[rel*=' + (attrVal || 'popup') +']'));
  },
  
  /*
    Function: capture
      multipurpose function allowing for different methods of capturing the popups.
      
    Syntax:
      moopop.capture(obj, width, height);
      
    Arguments:
      obj - (mixed) can be either a DOM element, an Array of elements or a className.
      width - [optional] (integer) default width for popups without a given size, if
              specified you must also specify the height.
      height - [optional] (integer) default height for popups without a given size.
  */
  capture: function(el, width, height) {
    if ($defined(width) && $defined(height)) {
      this.width = width;
      this.height = height;
    }

    switch ($type(el)) {
      case 'string':
        el = $$(el);
      case 'element':
      case 'array':
        $splat(el).each(this.add_pop_to, this);
    }

    this.width = null;
    this.height = null;
  },
  
  /*
    Function: add_pop_to
      Primarily used internally but you can also use it to manually attach the popup
      behavior to a single DOM element.
      
    Syntax:
      moopop.add_pop_to(element);
      
    Arguments:
      element - a DOM element to process.
  */
  add_pop_to: function(el) {
    el.addEvent('click', function(e){ e.stop(); this.popup(el); }.bind(this));

    var size = el.get('rel').match(/\[(\d+),\s*(\d+)/) || ['', this.width, this.height];
    var resizable = el.get('rel').match(/,(r)/) || [];

    if (size[1]) el.store('popupprops', 'width=' + size[1] + ', height=' + size[2] + (resizable[1] ? ', scrollbars=yes, resizable=yes' : '') );
  },
  
  /*
    Function: popup
      Triggers the popup behavior on a given link. Used internally but you can also use it to
      force a given unprocessed link to open in a new window.
      
    Syntax:
      moopop.popup(element);
      
    Arguments:
      element - a DOM element to process.
  */
  popup: function(el) {
    window.open(el.get('href'), el.get('name'), el.retrieve('popupprops') || '');
  }
};

/*
  process all links with rel="popup" by default.
*/
window.addEvent('domready', function () {
  moopop.captureByRel('popup');
});/*
  process all links with rel="popup" by default.
*/
window.addEvent('domready', function () {
  moopop.captureByRel('popup');
});

