﻿
var clients = new Array();
var pageInfo = new Array();

var maxImages = 5;
var maxHeight = 350;
var maxWidth  = 320;
var thumbScale = .20;
var imgPath   = "images/client/";

function setImage(imgElem, imageObj, isThumb)
{
	var imageSrc;
	
	if (isThumb)
	{
		var srcParts = imageObj.src.split('.');
		imageSrc = srcParts[0] + "T." + srcParts[1];
		
	}
	else
		imageSrc = imageObj.src;
	
	imgElem.src = imgPath + imageSrc;
}

function XsetImage(imgElem, imageObj, isThumb)
{
	var scaleFactor = 1;
	
	if (imageObj.height > maxHeight)
	{
		scaleFactor = maxHeight / imageObj.height;	
	}
	else if (imageObj.width > maxWidth)
	{
		scaleFactor = maxWidth / imageObj.width;	
	}
	
	if (isThumb)
		scaleFactor *= thumbScale;
		
	imgElem.src    = imgPath + imageObj.src;
	imgElem.width  = scaleFactor * imageObj.width;
	imgElem.height = scaleFactor * imageObj.height;
}

function buildClient(container, clientIndex)
{
	
}

function scrollPage(pageNum, client)
{
	if ((pageNum != null) && ((pageNum < 1) || (pageNum > pageInfo.length)))
		return;
		
	var getRandom = false;
	
	if (client == null)
	{
		if (getRandom)
		{
			while (true)
			{
				var clientNum = Math.floor(Math.random() * (clients.length - 1));
				client = clients["_" + clientNum];
				
				if (client.active && ((pageNum == null) || (client.page == pageNum)))
					break;
			}
		}
		else
		{
			var clientNum = pageInfo[pageNum - 1].firstClientNum;
			
			client = clients["_" + clientNum];
		}

//		if (client == null)
//			return; // screwed up!
	}

//	alert(pageNum + ': ' + client.id + ': ' + client.page);	
	
	pageNum = client.page;

	var stickTwice = (gPinnedRef == -1); // we're not pinned; so stick twice to select, but then un-pin

	stickRef(client.id);
	
	if (stickTwice)
		stickRef(client.id);

	for (var i = 1; i <= pageInfo.length; i++)
	{
 		var list = document.getElementById("clients" + i);
 		
 		if (list == null) break;
 		
 		list.style.display = (pageNum == i) ? "block" : "none";
	}
}

function loadClient(clientIndex)
{
	var client = clients["_" + clientIndex + ""];
	var mainDiv = document.getElementById("clientMainDiv");
	var mainImage = document.getElementById("clientMain");

	mainDiv.style.display = "none";
	setImage(mainImage, client.images[0]);
	mainDiv.style.display = "block";
	
	for (var i = 0; i < client.images.length; i++)
	{
		var imgDiv  = document.getElementById("clientThumbDiv_" + i);
		var imgElem = document.getElementById("clientThumb_"    + i);
		
		setImage(imgElem, client.images[i], true);
		
		imgDiv.style.display = (i > 0) ? "block" : "none";
	}

	// hide what we don't have images for
	for (var i = client.images.length; i < maxImages; i++)
	{
		var imgDiv  = document.getElementById("clientThumbDiv_" + i);
		imgDiv.style.display = "none";
	}
}

function nextImage(fromThumb)
{
	var client = clients["_" + gCurrRef];

	if (fromThumb == null)
	{
		fromThumb = (client.activeThumb + 1) % client.images.length;
	}
	
	var mainImage     = document.getElementById("clientMain");
	var fromThumbDiv  = document.getElementById("clientThumbDiv_" + fromThumb);
	var mainThumbDiv  = document.getElementById("clientThumbDiv_" + client.activeThumb);

	setImage(mainImage, client.images[fromThumb]);
	
	fromThumbDiv.style.display = "none";
	mainThumbDiv.style.display = "block";
	
	client.activeThumb = fromThumb;
}

function onLoad()
{
	showRef(0);
}

