/* --------------------------------------------------------
 * MMG-CRM - developed for Tabcorp
 * Tabaret Membership Program
 * Copyright (C) 2004-2006 MMG interactive
 * 
 * MMG interactive versioning:
 * ---------------
 * $Revision: 1960 $
 * $Author: chris $
 * $Date: 2006-09-29 17:53:06 +1000 (Fri, 29 Sep 2006) $ 
 * 
 * Tabcorp versioning:
 * -------------------
 * $Tag1$
 * $Tag2$
 * $Tag3$
 * --------------------------------------------------------
 */


// scrollChannels.js


var currentPos = [0,0];
var ChannelsOBJ, GlobalNextTab, GlobalBackTab

function initChannelPanel() {
	
	var scrollDIV = document.getElementById('ChannelScrollArea');
	var nextTAB = document.getElementById('ArrowRight');
	var backTAB = document.getElementById('ArrowLeft');
	
	if (scrollDIV != null) {
		if (nextTAB != null) {
			GlobalNextTab = nextTAB;
		}
		if (backTAB != null) {
			GlobalBackTab = backTAB;
		}
		ChannelsOBJ = scrollDIV;
		setNavStates();
	}
}


function setNavStates() {
	var c = Math.round((ChannelCount - 6) / 2);
	var sz = c * -235;
	
	if(currentPos[0] > sz && ChannelCount > 6) {
		btnENABLE(GlobalNextTab);
		GlobalNextTab.onclick = showNext;
	} else {
		btnDISABLE(GlobalNextTab);
		GlobalNextTab.onclick = null;
	}
	if(currentPos[0] < 0 && ChannelCount > 6) {
		btnENABLE(GlobalBackTab);
		GlobalBackTab.onclick = showLast;
	} else {
		btnDISABLE(GlobalBackTab);
		GlobalBackTab.onclick = null;
	}
	document.getElementById("focusGetter").focus();
}

function showNext() {
	btnDISABLE(GlobalNextTab);
	GlobalNextTab.onclick = null;
	var newPos = currentPos[0] - 235;
	doPosChangeMem(ChannelsOBJ, currentPos,[newPos,0],20,20,0.5,"R");
}
	
function showLast() {
	btnDISABLE(GlobalBackTab);
	GlobalBackTab.onclick = null;
	var newPos = currentPos[0] + 235;
	doPosChangeMem(ChannelsOBJ, currentPos,[newPos,0],20,20,0.5,"L");
}

function btnENABLE(n)	{
	r = n.src.toString();
	x = ".gif"
	y = r.indexOf(x) - 1;
	z = r.substring(0,y);
	z += "1.gif"
	n.src = z;
}

function btnDISABLE(n)	{
	r = n.src.toString();
	x = ".gif"
	y = r.indexOf(x) - 1;
	z = r.substring(0,y);
	z += "0.gif"
	n.src = z;
}

function finishAnim(dir) {
	dir == "R" ? btnENABLE(GlobalNextTab) : btnENABLE(GlobalBackTab);
	dir == "R" ? GlobalNextTab.onclick = showNext : GlobalBackTab.onclick = showLast;
	dir == "R" ? currentPos[0] = currentPos[0] - 235 : currentPos[0] = currentPos[0] + 235;
	setNavStates();
}


			
			
//*******************

function doWidthChangeMem(elem,startWidth,endWidth,steps,intervals,powr) {
//Width changer with Memory by www.hesido.com
	if (elem.widthChangeMemInt) window.clearInterval(elem.widthChangeMemInt);
	var actStep = 0;
	elem.widthChangeMemInt = window.setInterval(
		function() {
			elem.currentWidth = easeInOut(startWidth,endWidth,steps,actStep,powr);
			elem.style.width = elem.currentWidth+"px";
			actStep++;
			if (actStep > steps) window.clearInterval(elem.widthChangeMemInt);
		}
		,intervals)

}

//*******************

function doPosChangeMem(elem,startPos,endPos,steps,intervals,powr,direction) {
//Position changer with Memory by www.hesido.com
	if (elem.posChangeMemInt) window.clearInterval(elem.posChangeMemInt);
	var actStep = 0;
	elem.posChangeMemInt = window.setInterval(
		function() {
			elem.currentPos = [
				easeInOut(startPos[0],endPos[0],steps,actStep,powr),
				easeInOut(startPos[1],endPos[1],steps,actStep,powr)
				];
			elem.style.left = elem.currentPos[0]+"px";
			elem.style.top = elem.currentPos[1]+"px";
			actStep++;
			if (actStep > steps) {
				window.clearInterval(elem.posChangeMemInt);
				finishAnim(direction);
			}
		}
		,intervals)

}

//*******************

function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) {
//Generic Animation Step Value Generator By www.hesido.com
	var delta = maxValue - minValue;
	var stepp = minValue+(Math.pow(((1 / totalSteps)*actualStep),powr)*delta);
	return Math.ceil(stepp)
}
