var currentlySelectedTab = 0;
var theImages;
var allImagesLoaded;

var loadedTime;

var theImageTimer = null;
var timeBetweenScrolls = 6000;
var timeToScroll = 300;
var animSlices = 20;
var firstImageLeft = 0;
var targetImageLeft;
var imageMoveDirection;
var imageMoveAmount;
var timeBetweenSlices;
var currentImage = 0;
var previousImage;
var imageScrollingOn = true;

var numberOfNewsItems;
var numberOfTweets;

var currentNewsTopDiv = 1;
var currentNewsTopPos = 50;
var newsDivHeight;

var currentTweetTopDiv = 1;
var currentTweetTopPos = 50;
var tweetDivHeight;

var targetNewsTop;
var targetNewsItem = 0;

var targetTweetTop;
var targetTweetItem = 0;

var currentSpeed;

var scrollingPanels = true;

function localPageInit()
{
	// alert(document.getElementById("outerNews1").offsetHeight);
	// alert(document.getElementById("outerTwitter1").offsetHeight);
	
	// duplicate the latest news and twitter feeds and position them correctly
	
	numberOfNewsItems = numberOfTweets = 0;
	
	// latest news first
	var n = document.getElementById("outerNews1").cloneNode(true);
	n.setAttribute('id','outerNews2');
	for(l=0;l<n.childNodes.length;l++)
	{
		if(n.childNodes[l].id != undefined)
		{
			i = n.childNodes[l].id;
			i = "_"+i;
			n.childNodes[l].id = i;
			numberOfNewsItems++;
		}
	}
	t = document.getElementById("outerNews1").offsetHeight;
	newsDivHeight = t;
	document.getElementById("newsWrapper").appendChild(n);
	tt = 50+t;
	document.getElementById("outerNews2").style.top = tt+"px";
	document.getElementById("outerNews1").style.top = "50px";
	
	// now the twitter feed
	var n = document.getElementById("outerTwitter1").cloneNode(true);
	n.setAttribute('id','outerTwitter2');
	for(l=0;l<n.childNodes.length;l++)
	{
		if(n.childNodes[l].id != undefined)
		{
			i = n.childNodes[l].id;
			i = "_"+i;
			n.childNodes[l].id = i;
			numberOfTweets++;
		}
	}
	t = document.getElementById("outerTwitter1").offsetHeight;
	tweetDivHeight = t;
	document.getElementById("twitterWrapper").appendChild(n);
	tt=50+t;
	document.getElementById("outerTwitter2").style.top = tt+"px";
	document.getElementById("outerTwitter1").style.top = "50px";

	setNewsTargets();
	setTweetTargets();
	
	setTimeout("scrollNewsUp()",3000);
	
	allImagesLoaded = false;
	
	loadedTime = new Date().getTime();
	
	theImages = new Array();
	
	theImages[0] = new Array();
	theImages[0] [0] = new Image;
	theImages[0] [1] = "benfleet.jpg";
	theImages[0] [2] = "Stellisons Benfleet - <a href='stores/benfleet'>click here to visit the store pages</a>";
	theImages[0] [3] = "Stellisons Benfleet";
	
	theImages[1] = new Array();
	theImages[1] [0] = new Image;
	theImages[1] [1] = "brentwood.jpg";
	theImages[1] [2] = "Stellisons Brentwood - <a href='stores/brentwood'>click here to visit the store pages</a>";
	theImages[1] [3] = "Stellisons Brentwood";
	
	theImages[2] = new Array();
	theImages[2] [0] = new Image;
	theImages[2] [1] = "chelmsford.jpg";
	theImages[2] [2] = "Stellisons Chelmsford - <a href='stores/chelmsford'>click here to visit the store pages</a>";
	theImages[2] [3] = "Stellisons Chelmsford";
	
	theImages[3] = new Array();
	theImages[3] [0] = new Image;
	theImages[3] [1] = "colchester.jpg";
	theImages[3] [2] = "Stellisons Colchester - <a href='stores/colchester'>click here to visit the store pages</a>";
	theImages[3] [3] = "Stellisons Colchester";
	
	theImages[4] = new Array();
	theImages[4] [0] = new Image;
	theImages[4] [1] = "hornchurch.jpg";
	theImages[4] [2] = "Stellisons Hornchurch - <a href='stores/hornchurch'>click here to visit the store pages</a>";
	theImages[4] [3] = "Stellisons Hornchurch";
	
	theImages[5] = new Array();
	theImages[5] [0] = new Image;
	theImages[5] [1] = "kitchen-centre.jpg";
	theImages[5] [2] = "Stellisons Kitchen Centre - <a href='stores/kitchens'>click here to visit the pages</a>";
	theImages[5] [3] = "The Kitchen Centre";
	
	theImages[6] = new Array();
	theImages[6] [0] = new Image;
	theImages[6] [1] = "westcliff.jpg";
	theImages[6] [2] = "Stellisons Westcliff - <a href='stores/westcliff'>click here to visit the store pages</a>";
	theImages[6] [3] = "Stellisons Westcliff";
	
	
	// now load the images
	theImages[0] [0].src = "images/homepage/stores/"+theImages[0] [1];
		
	theImages[0] [0].onLoad = imageIsLoaded(0);
}

function imageIsLoaded(count)
{
	//alert("loaded "+count);
	
	count++;
	if(count < 7)
	{
		theImages[count] [0].src = "images/homepage/stores/"+theImages[count] [1];
		theImages[count] [0].onLoad = imageIsLoaded(count);
	}
	else
	{
		
		// the images are all loaded, so now I need to add them to the page
		// the FIRST image is already there, of course...
		for(c=1;c<7;c++)
		{
			i = document.createElement("img");
			i.id = "store"+c;
			i.width = "460px";
			i.height = "285px";
			i.alt = theImages[c] [3];
			i.src = theImages[c] [0].src;
			i.style.zIndex="1";
			
			p = c * 460;
			p+= "px";
			
			i.style.left = p;
			
			document.getElementById("thePictures").appendChild(i);
		}
		allImagesLoaded = true;
		
		now = new Date().getTime();
		
		elapsed = now - loadedTime;
		
		if(elapsed < timeBetweenScrolls)
		{
			elapsed = timeBetweenScrolls - elapsed;
			theImageTimer = setTimeout("scrollToImage(1)",elapsed);
		}
		else
			scrollToImage(1);
	}
}

function selectNewTab(t)
{
	if(t == currentlySelectedTab)
		return;
	
	tabs = new Array("aboutStellisons","pricePromise","findNearest");
	
	
	// make the text visible and hide the old one
	document.getElementById(tabs[currentlySelectedTab]+"Text").style.display = "none";
	
	document.getElementById(tabs[t]+"Text").style.display = "block";
	
	// now change the class names of the tabs
	switch(t)
	{
		case 0:
			classes = new Array("selected","secondary","tertiary");
		break;
		case 1:
			classes = new Array("secondary","selected","secondary");
		break;
		case 2:
			classes = new Array("tertiary","secondary","selected");
		break;
	}
	
	for(c=0;c<3;c++)
	{
		document.getElementById(tabs[c]+"Link").className = classes[c]+"Tab";
	}
	
	currentlySelectedTab = t;
	
	// move the window to the top of the textContent box
	p = document.getElementById("mainContent").offsetTop;
	p+= document.getElementById("textContent").offsetTop; // they're nested inside each other
	window.scrollBy(0,p);
}

function scrollToImage(i)
{
	previousImage = currentImage;
	currentImage = i;
	
	document.getElementById("pictureTextBox").innerHTML = "";
	document.getElementById("dot"+previousImage).className = "";
	
	targetImageLeft = (0 - i) * 460;
	imageMoveDirection = targetImageLeft < firstImageLeft ? -1 : 1;
	imageMoveAmount = Math.abs(firstImageLeft - targetImageLeft);
	imageMoveAmount = Math.ceil(imageMoveAmount / animSlices);
	timeBetweenSlices = Math.ceil(timeToScroll / animSlices);
	
	goScroll(); // no timer the first time round - we're already at the end of the starting period
}

function goScroll()
{
	firstImageLeft+=(imageMoveAmount * imageMoveDirection);
	done = false;
	
	if((firstImageLeft <= targetImageLeft && imageMoveDirection == -1) ||
	   (firstImageLeft >= targetImageLeft && imageMoveDirection == 1))
	{
		// we're done
		firstImageLeft = targetImageLeft;
		done = true;
	}
	
	for(c=0;c<7;c++)
	{
		p = firstImageLeft + (c * 460);
		p+="px";
		document.getElementById("store"+c).style.left = p;
	}
	
	if(!done)
		theImageTimer = setTimeout("goScroll()",timeBetweenSlices);
	else
	{
		document.getElementById("pictureTextBox").innerHTML = theImages[currentImage] [2];
		document.getElementById("dot"+currentImage).className = "dotSelected";
		newImage = currentImage+1;
		if(newImage > 6)
			newImage = 0;
		if(imageScrollingOn)	
			theImageTimer = setTimeout("scrollToImage("+newImage+")",timeBetweenScrolls);
	}
}


function goToImage(i)
{
	if(!allImagesLoaded)
		return;
	
	imageScrollingOn = false;
	
	clearTimeout(theImageTimer);
	
	scrollToImage(i);

}

function scrollNewsUp()
{
	if(!scrollingPanels)
	{
		setTimeout("scrollNewsUp()",50);
		return;
	}
	// for now
	currentNewsTopPos -= Math.floor(currentSpeed);
	currentSpeed*=1.5;
	
	if(currentSpeed > 5)
		currentSpeed = 5;
	
	longerPause = false;
	
	if(currentNewsTopPos <= targetNewsTop)
	{
		currentNewsTopPos = targetNewsTop;
		
		longerPause = true;
	}
	
	if(currentNewsTopPos + newsDivHeight <= 50)
	{
		currentNewsTopDiv = 3 - currentNewsTopDiv;
		currentNewsTopPos += newsDivHeight;
	}
	
	// set the divs
	document.getElementById("outerNews"+currentNewsTopDiv).style.top = currentNewsTopPos + "px";
	p = 3 - currentNewsTopDiv;
	pp = currentNewsTopPos + newsDivHeight;
	document.getElementById("outerNews"+p).style.top = pp + "px";
	
	if(!longerPause)
		setTimeout("scrollNewsUp()",50);
	else
	{
		setNewsTargets();
		setTimeout("scrollTwitterUp()",2500);
	}
}

function scrollTwitterUp()
{
	if(!scrollingPanels)
	{
		setTimeout("scrollTwitterUp()",50);
		return;
	}
	// for now
	currentTweetTopPos -= Math.floor(currentSpeed);
	currentSpeed*=1.5;
	
	if(currentSpeed > 5)
		currentSpeed = 5;
		
	longerPause = false
	
	if(currentTweetTopPos <= targetTweetTop)
	{
		currentTweetTopPos = targetTweetTop;
		
		longerPause = true;
	}
	
	if(currentTweetTopPos + tweetDivHeight <= 50)
	{
		currentTweetTopDiv = 3 - currentTweetTopDiv;
		currentTweetTopPos += tweetDivHeight;
	}
	
	// set the divs
	document.getElementById("outerTwitter"+currentTweetTopDiv).style.top = currentTweetTopPos + "px";
	p = 3 - currentTweetTopDiv;
	pp = currentTweetTopPos + tweetDivHeight;
	document.getElementById("outerTwitter"+p).style.top = pp + "px";
	
	if(!longerPause)
		setTimeout("scrollTwitterUp()",50);
	else
	{	
		setTweetTargets();
		setTimeout("scrollNewsUp()",2500);
	}
}

function setNewsTargets()
{
	targetNewsItem++;
	
	if(targetNewsItem >= numberOfNewsItems)
		targetNewsItem = 0;
	
	divName = currentNewsTopDiv == 1 ? "box"+targetNewsItem : "_box"+targetNewsItem;
	
	target = document.getElementById(divName).offsetTop;
	
	targetNewsTop = 50 - target;
	if(targetNewsItem == 0)
		targetNewsTop = 50 - newsDivHeight;
	
	currentSpeed = 1;
}

function setTweetTargets()
{
	targetTweetItem++;
	
	if(targetTweetItem >= numberOfTweets)
		targetTweetItem = 0;
	
	divName = currentTweetTopDiv == 1 ? "tweet"+targetTweetItem : "_tweet"+targetTweetItem;
	
	target = document.getElementById(divName).offsetTop;
	
	targetTweetTop = 50 - target;
	if(targetTweetItem == 0)
		targetTweetTop = 50 - tweetDivHeight;
	
	currentSpeed = 1;
}

