var slideSizeList = new Array(0, 281, 280, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281);
var curSlides = new Array(15, 1, 2, 3, 4, 5); //(where the second one is the center)
var totalSlides = 15;
var auto = true;
var timer = null;
var restart = null;
var sliding = false;

function returnNewPositions(direction)
{
	var newPositions = new Array(0,0,0,0,0,0);
	if (direction == 'next')
	{
		newPositions[0]= -(slideSizeList[curSlides[1]] + 133 + slideSizeList[curSlides[2]] + 133 + slideSizeList[curSlides[3]]);
		newPositions[1]= -(slideSizeList[curSlides[2]] + 133 + slideSizeList[curSlides[3]]);
		newPositions[2]= -(slideSizeList[curSlides[3]]);
		newPositions[3]= (849 - slideSizeList[curSlides[4]]) / 2;
		newPositions[4]= 849;
		newPositions[5]= 849 + slideSizeList[curSlides[4]] + 133;
	}
	else if (direction == 'prev')
	{
		newPositions[0]= -(slideSizeList[curSlides[5]] + 133 + slideSizeList[curSlides[0]] + 133 + slideSizeList[curSlides[1]]);
		newPositions[1]= -(slideSizeList[curSlides[0]] + 133 + slideSizeList[curSlides[1]]);
		newPositions[2]= -(slideSizeList[curSlides[1]]);
		newPositions[3]= (849 - slideSizeList[curSlides[2]]) / 2;
		newPositions[4]= 849;
		newPositions[5]= 849 + slideSizeList[curSlides[2]] + 133;
	}
	return newPositions
}

function prevSlide(e)
{
	Event.stop(e);
	if (auto == true)
	{
		clearInterval(timer);
		auto = false;
		
		restart = setTimeout("restartSlideShow()",8000);		
	}
	
	if (e != 'auto')
	{
		var s=s_gi('christiesdev');
        s.linkTrackVars='eVar44,eVar14,events';
        s.linkTrackEvents='event35';
        s.eVar44= 'takeover panel '+curSlides[1];
        s.eVar14= 'previous takeover arrow'
        s.events='event35';
        s.tl(true,'o','Homepage Takeover Arrows');
    }
	
	if (!sliding)
	{
		sliding = true;
		var newPositions = returnNewPositions('prev');

		$('panel'+(curSlides[1])).setStyle({'left': newPositions[1]+'px'});
		
		new Effect.Morph('panel'+(curSlides[0]), {
			  style: 'left: '+(newPositions[1])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[1]), {
			  style: 'left: '+(newPositions[2])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[2]), {
			  style: 'left: '+(newPositions[3])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[3]), {
			  style: 'left: '+(newPositions[4])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[4]), {
			  style: 'left: '+(newPositions[5])+'px', 
			  duration: 0.8 
			});
		new Effect.Opacity('panel'+(curSlides[1]), { from: 0, to: 1.0, duration: 0.8 });
		new Effect.Opacity('panel'+(curSlides[4]), { from: 1.0, to: 0, duration: 0.8 });
		
		var newDescElement = $('panel'+(curSlides[2])).down('div.description');
		var oldDescElement = $('panel'+(curSlides[3])).down('div.description');

		new Effect.Appear(newDescElement, { duration: 0.8 });
		new Effect.Fade(oldDescElement, { duration: 0.8 });
		
		//new Effect.Appear($('background'+(curSlides[2])), { duration: 0.8 });
		//new Effect.Fade($('background'+(curSlides[3])), { duration: 0.8 });
		
		for (i=5; i>0; --i)
		{
			curSlides[i] = curSlides[i-1];
		}
		if (curSlides[0] == 1)
		{
			curSlides[0] = totalSlides;
		}
		else
		{
			curSlides[0] = curSlides[1]-1;
		}
		
		sliding = false;
	}
}

function restartSlideShow()
{
  auto = true;
  timer = setInterval("nextSlide('auto')", 4000);
}

function nextSlide(e)
{	
	if (e != 'auto')
	{
		Event.stop(e);
		if (auto == true)
		{
			clearInterval(timer);
			auto = false;
			
			restart = setTimeout("restartSlideShow()",8000);					
		}
		var s=s_gi('christiesdev');
        s.linkTrackVars='eVar44,eVar14,events';
        s.linkTrackEvents='event35';
        s.eVar44= 'takeover panel '+curSlides[1];
        s.eVar14= 'next takeover arrow'
        s.events='event35';
        s.tl(true,'o','Homepage Takeover Arrows');
	}
	
	if (!sliding)
	{
		sliding = true;
		var newPositions = returnNewPositions('next');
		
		$('panel'+(curSlides[5])).setStyle({'left': newPositions[5]+'px'});

		new Effect.Morph('panel'+(curSlides[1]), {
			  style: 'left: '+(newPositions[0])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[2]), {
			  style: 'left: '+(newPositions[1])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[3]), {
			  style: 'left: '+(newPositions[2])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[4]), {
			  style: 'left: '+(newPositions[3])+'px', 
			  duration: 0.8 
			});
		new Effect.Morph('panel'+(curSlides[5]), {
			  style: 'left: '+(newPositions[4])+'px', 
			  duration: 0.8 
			});
		new Effect.Opacity('panel'+(curSlides[5]), { from: 0, to: 1.0, duration: 0.8 });
		new Effect.Opacity('panel'+(curSlides[2]), { from: 1.0, to: 0, duration: 0.8 });
		
		var newDescElement = $('panel'+(curSlides[4])).down('div.description');
		var oldDescElement = $('panel'+(curSlides[3])).down('div.description');

		new Effect.Appear(newDescElement, { duration: 0.8 });
		new Effect.Fade(oldDescElement, { duration: 0.8 });
		
		//new Effect.Appear($('background'+(curSlides[4])), { duration: 0.8 });
		//new Effect.Fade($('background'+(curSlides[3])), { duration: 0.8 });
		
		for (i=0; i<5; ++i)
		{
			curSlides[i] = curSlides[i+1];
		}
		if (curSlides[5] == totalSlides)
		{
			curSlides[5] = 1;
		}
		else
		{
			curSlides[5] = curSlides[5]+1;
		}
		
		sliding = false;		
	}
}

function showTooltip()
{
	$('hoverImg').show();
	Event.observe('headerLink', 'mousemove', positionTT);
}
function hideTooltip()
{
	$('hoverImg').hide();
	Event.stopObserving('headerLink', 'mousemove', positionTT);
}

function positionTT(event)
{
	$('hoverImg').style.left = (Event.pointerX(event)-5) + "px";  
	$('hoverImg').style.top = (Event.pointerY(event)+25) + "px";  
}

function initialize()
{		
	Event.observe('arrowPrev', 'click', prevSlide, false);
	Event.observe('arrowNext', 'click', nextSlide, false);
	//Event.observe('headerLink', 'mouseover', showTooltip, false);
	//Event.observe('headerLink', 'mouseout', hideTooltip, false);
	timer = setInterval("nextSlide('auto')", 4000);
	new Effect.Opacity('arrowPrev', { from: 0, to: 1.0, duration: 0.8 });
	new Effect.Opacity('arrowNext', { from: 0, to: 1.0, duration: 0.8 });
}

function resize()
{
	var innerHeight = 628;
	if (self.innerHeight) {
        myInnerHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
	    myInnerHeight = document.documentElement.clientHeight;
	}
	else if (document.body) {
	    myInnerHeight = document.body.clientHeight;
	}
	else {
	    return;
	}
	adjustHeight = innerHeight - myInnerHeight;
	window.resizeBy(0, adjustHeight);
}

//document.observe("dom:loaded", resize, false);
Event.observe(window, 'load', initialize, false);

