var FeatureShow = {
	currentFeature: 1,
	featureCount: 1,
	slideshow: null,

	init: function() {
		// hide all images that aren't the first
		var featureList = $$('ul.imageList')[0];
		if(featureList)
		{
			// set the initial image count
			this.featureCount = featureList.immediateDescendants().length;

			featureList.immediateDescendants().each(function(s) {
				if(!s.hasClassName('1'))
				{
					s.hide();
				}
			});

			var featureText = $$('p.featureText');
			featureText.each(function(s) {
				if(!s.hasClassName('1'))
				{
					s.hide();
				}
			});

			$$('ul.tabList')[0].show();
			$$('ul.tabList')[0].immediateDescendants().each(function(s, i) {
				var href = s.down('a');
				if(href)
				{
					Event.observe(href, 'click', FeatureShow.showImage.bindAsEventListener(FeatureShow, i + 1));
				}
			});

			//FeatureShow.slideshow = setInterval("FeatureShow.nextImage()", FeatureShow.slideshowTimer);
		}
	},

	showImage: function(event, featureIndex) {
		if(event != null)
		{
			Event.stop(event);
		}

		if((featureIndex >= 1) && (featureIndex <= this.featureCount))
		{
			var featureList = $$('ul.imageList')[0];
			var featureText = $$('p.featureText');

			var toHide = null; var toShow = null;
			featureList.immediateDescendants().each(function(s, i) {
				if(s.hasClassName(FeatureShow.currentFeature))
				{
					toHide = s;
				}
				else if(s.hasClassName(featureIndex))
				{
					toShow = s;
				}
			});

			if((toHide != null) && (toShow != null))
			{
				Effect.Fade(toHide, {
					duration: 0.5,
					afterFinish: function() { Effect.Appear(toShow, { duration: 0.3 } ); }
				});
			}

			var toHideText = null; var toShowText = null;
			featureText.each(function(s, i) {
				if(s.hasClassName(FeatureShow.currentFeature))
				{
					toHideText = s;
				}
				else if(s.hasClassName(featureIndex))
				{
					toShowText = s;
				}
			});

			if((toHide != null) && (toShow != null))
			{
				toHideText.hide();
				toShowText.show();
			}

			this.currentFeature = featureIndex;
			$$('ul.tabList')[0].immediateDescendants().each(function(s) {
				if(s.hasClassName(featureIndex))
				{
					s.addClassName('on');
				}
				else
				{
					s.removeClassName('on');
				}

				if(s.hasClassName('imageOfTotal'))
				{
					s.innerHTML = featureIndex + " of " + FeatureShow.featureCount;
				}
			});
		}
	}
};

var sfEls = $$('li.tooltipMenu a');
sfEls.each(function(s) {
	s.observe("mouseover", function(evt) { evt.element().addClassName("sfhover"); }).
		observe("mouseout", function(evt) { evt.element().removeClassName("sfhover") });
});

FeatureShow.init();
