﻿var SMPFlipper = {
	currentIdx : 0,
	prevIdx : 0,
	timer: 0,
	tabs: null,
	flipSpeed : 10000,
	timerObj: null,
	bFlip: false,
	init: function(tabArray)
	{
		tabs = tabArray;	
		currentIdx = 0;
	},
	updateTimer: function()
	{
		this.timer++;
		if (this.timer == 1) 
		{
			this.timer = 0;
			this.flipTab();
		}
		//$('progressvalue').innerHTML = this.timer*10;
		return;
	},
	
	flipTab: function()
	{
		prevIdx = currentIdx;
		currentIdx++;			
	
		if (currentIdx == tabs.length) 
		{
			currentIdx = 0;
		}		

		tabId = tabs[currentIdx];
		prevTabId = tabs[prevIdx];
		currentTabContent = tabId+'content';
		prevTabContent = prevTabId+'content';
		selectTab($(tabId), 'tabpanel');
		opacity(prevTabContent, 100, 0, 350);
		opacity(currentTabContent, 0, 100, 350);

		return;
	},
	
	toggleFlip: function()
	{
		if (bFlip)
			SMPFlipper.stopFlip()
		else
			SMPFlipper.startFlip();
	},
	
	startFlip: function()
	{
		this.timerObj = setInterval('SMPFlipper.updateTimer();', this.flipSpeed);
		bFlip = true;
	},
	
	stopFlip: function()
	{
		clearInterval(this.timerObj);
		bFlip = false;
	},
	
	updateIdx: function(idx)
	{
		prevIdx = currentIdx;
		currentIdx = idx;
		tabId = tabs[currentIdx];
		prevTabId = tabs[prevIdx];
		currentTabContent = tabId+'content';
		prevTabContent = prevTabId+'content';
		selectTab($(tabId), 'tabpanel');
		opacity(prevTabContent, 100, 0, 350);
		opacity(currentTabContent, 0, 100, 350);
		this.stopFlip();

	},
	
	nextTab: function()
	{
		currentIdx++;
		if (currentIdx == tabs.length) 
		{
			currentIdx = 0;
		}
		this.updateIdx(currentIdx);
	
	},
	
	prevTab: function()
	{
		currentIdx--;
		if (currentIdx < 0) 
		{
			currentIdx = tabs.length-1;
		}

		this.updateIdx(currentIdx);
	
	}
	
}