var spotlight;var Spotlight = new Class({	initialize: function (id, delay) {		this.spotlightRoot = $(id);				this.links = $ES('.playlist ul li', this.spotlightRoot);		this.panels = $ES('.panels .panel', this.spotlightRoot);		this.panelCount = this.panels.length;		this.defaultDelay = delay;		this.isPlaying = false;				// Quick Error Checking		if (this.links.length != this.panels.length) {			alert('Inconsistent number of links and panels');			return;		}				this.activePanel = 0;		this.links[this.activePanel].addClass('active');				var localThis = this;				this.links.each(function (item, index) {			$E('a', item).addEvent('click', function (e) {				var event = new Event(e);				event.stop();				localThis.pause();				localThis.showPanel(index);			});		});				this.fadeIn(this.activePanel);		this.scrollToLink(this.activePanel);		this.play();			},	showPanel: function(panelId) {	   var localThis = this;			if (panelId != this.activePanel) {			this.fadeOut(this.activePanel);			this.fadeIn(panelId);                      			this.activePanel = panelId;			}				// get the delay		if (this.isPlaying) {		  var activePanelDiv = $E('div', this.panels[panelId]);		  var panelClass = activePanelDiv.getProperty('class');		  if (panelClass != '') {		      var delay = panelClass.replace('delay_', '');		      localThis.pause();		      //localThis.play.delay((delay * 1000) - localThis.defaultDelay, localThis);		      (function() { if (localThis.isPlaying) {localThis.play()} }).delay((delay * 1000) - localThis.defaultDelay, localThis);		  }		}	},	fadeIn: function(panelId) {		var localThis = this;		var fadePanel = this.panels[panelId];			var fx = new Fx.Style(fadePanel, 'opacity', {			duration: 450,			fps: 8,			onStart: function () {				fadePanel.setStyle('opacity', 0);				fadePanel.setStyle('display', 'block');				fadePanel.getElements('.movie').setStyle('visibility', 'hidden');								var panelSize = $E('.panels', localThis.spotlightRoot).getSize();				fadePanel.setStyle('height', panelSize.size.y);				fadePanel.setStyle('width', panelSize.size.x);				var innerDiv = $E('div', fadePanel);				var innerDivPadding = innerDiv.getStyle('padding-top').toInt() + innerDiv.getStyle('padding-bottom').toInt();				var innerDivHeight = panelSize.size.y - innerDivPadding + 'px';				innerDiv.setStyle('height', innerDivHeight);				localThis.links[panelId].addClass('active');			},			onComplete: function() {				fadePanel.getElements('.movie').setStyle('visibility', 'visible');			}		});		fx.start(0, 1);	},	fadeOut: function(panelId) {		var localThis = this;		var fadePanel = this.panels[panelId];				var fx = new Fx.Style(fadePanel, 'opacity', {			duration: 500,			onStart: function() {				fadePanel.getElements('.movie').setStyle('visibility', 'hidden');				localThis.links.each(function (item) { item.removeClass('active') });			},			onComplete: function () {				fadePanel.setStyle('display', 'none');			}		});		fx.start(1, 0);	},	play: function() {		var playControl = this.spotlightRoot.getElement('.playlist .playControl');		playControl.removeEvents();		var localThis = this;		playControl.addEvent('click', function (event) { localThis.next(); localThis.pause();  });		playControl.setHTML('<img src="http://www.umbc.edu/images_ad/thumbs/next.png" height="28" width="100" alt=""/>');		this.animation = this.next.periodical(this.defaultDelay, this);		this.isPlaying = true;	},	pause: function() {		var playControl = this.spotlightRoot.getElement('.playlist .playControl');		playControl.removeEvents();		var localThis = this;				$clear(this.animation);		this.isPlaying = false;	},		previous: function() {		var nextPanel = this.activePanel - 1;		if (nextPanel < 0) {			nextPanel = this.panelCount - 1;		}		this.showPanel(nextPanel);		this.scrollToLink(nextPanel);	},	next: function() {		var nextPanel = this.activePanel + 1;		if ((nextPanel + 1) > this.panelCount) {			nextPanel = 0;		}		this.showPanel(nextPanel);		this.scrollToLink(nextPanel);	},	scrollToLink: function(panelId) {		panelId = panelId - 2;		if (panelId < 0) panelId = 0;		var linkPos = this.links[panelId].getCoordinates();		var link2Pos = $E('.playlist ul', this.spotlightRoot).getCoordinates();		//console.log(linkPos.top - link2Pos.top);		//alert(linkPos.top);		$E('.playlist ul', this.spotlightRoot).scrollTo(0, linkPos.top - link2Pos.top);	}});window.addEvent('domready', function () {	spotlight = new Spotlight('moduleSpotlight', 7000);});