﻿var TimerIDArray = new Array()
var TimerIDCount = 0;

var secs;
var timerID = null;
var timerRunning = false;
var delay = 1000;

function InitializeTimer()
{
  // Set the length of the timer, in seconds
  secs = 8;
  StopTheClock();
  StartTheTimer();
}

function StopTheClock()
{
  if(timerRunning)
      clearTimeout(timerID)
  timerRunning = false
}

function StartTheTimer()
{
  if (secs==0)
  {
		 var afeatureCounter;
		 var atotalFeatures = 4;
		 var awhichIsVisible = 1;
 		 for (afeatureCounter = 1; afeatureCounter <= atotalFeatures; afeatureCounter++) 
		 {
			 acurrentFeatureStyle = eval('document.getElementById(\'Feature' + afeatureCounter + '\').style')
			   	 
			 if (acurrentFeatureStyle.visibility == 'visible') {
				 awhichIsVisible = afeatureCounter;
			 }
		 }
								 
			 awhichIsVisible = awhichIsVisible + 1;
			
			 if (awhichIsVisible==5)
			 {
			  awhichIsVisible = 1;
			 }

		   switchFeature(awhichIsVisible);
	}
	else
  {
      self.status = secs
      secs = secs - 1
      timerRunning = true
      timerID = self.setTimeout("StartTheTimer()", delay)
  }
	
}

function switchFeature(whichFeature)
{
	for (timerIDCounter = 0 ; timerIDCounter < TimerIDCount ; timerIDCounter++) {
		window.clearTimeout(TimerIDArray[timerIDCounter]);
	}
	var speed = Math.round(4000 / 100); 
	var timer = 0;
	var featureCounter;
	var totalFeatures = 4;
	var whichIsVisible = 1;
	for (featureCounter = 1; featureCounter <= totalFeatures; featureCounter++) {
		currentFeatureStyle = eval('document.getElementById(\'Feature' + featureCounter + '\').style')
		if (currentFeatureStyle.visibility == 'visible') {
			whichIsVisible = featureCounter;
		}
		else {
			currentFeatureStyle.opacity = 0;
			currentFeatureStyle.MozOpacity = 0;
			currentFeatureStyle.KhtmlOpacity = 0;
			currentFeatureStyle.filter = "alpha(opacity=0)";
		}
	}
	currentFeatureStyle = eval('document.getElementById(\'Feature' + whichFeature + '\').style');
	currentFeatureStyle.visibility = 'visible';

	if (whichIsVisible != whichFeature) {
		for(i = 100; i >= 0; i = i-10) {
			TimerIDArray[TimerIDCount++] = setTimeout("changeOpac(" + i + ",'Feature" + whichIsVisible + "')",(timer * speed));
			TimerIDArray[TimerIDCount++] = setTimeout("changeOpac(" + eval(100-i) + ",'Feature" + whichFeature + "')",(timer * speed));
			timer++;
		}
		TimerIDArray[TimerIDCount++] = setTimeout("eval('document.getElementById(\\'Feature" + whichIsVisible + "\\').style.visibility = \\'hidden\\'')",(timer * speed));
		
		currentFeatureTabStyle = eval('document.getElementById(\'FeatureWidgetTab' + whichFeature + '\').style')
		previousFeatureTabStyle = eval('document.getElementById(\'FeatureWidgetTab' + whichIsVisible + '\').style');
		previousFeatureTabStyle.backgroundPosition = '0 0';
		currentFeatureTabStyle.backgroundPosition = '0 -27px';

		eval('document.getElementById(\'FeatureWidgetTab' + whichFeature + '\').className=\'FeatureWidgetTabCurrent\'');
		eval('document.getElementById(\'FeatureWidgetTab' + whichIsVisible + '\').className=\'FeatureWidgetTab\'');

		InitializeTimer();
	}
}

function changeOpac(opacity, id)
{
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}
