var data;
var activeItem;
var activePage;	
var itemCount;
var pageCount;
var photos = new Array();
var photoDescription = new Array();
var photoTnFile = new Array();
var photoPicFile = new Array();

function loadGallery() {
	getData(data);
	initGen();
	getAnchor();
}

function getData(data) {
	itemCount = data.photos.length;
	for (i=0; i<itemCount; i++) {photos[i] = data.photos[i];}
	for (i=0; i<itemCount; i++) {
		photoDescription[i] = photos[i].description;
		photoTnFile[i] = photos[i].tnFile;
		photoPicFile[i] = photos[i].picFile;
		}
	pageCount = Math.floor(itemCount/5.01);
}

function getAnchor() {
	var h = document.location.href;
	var s = h.split('#');
	if (s.length==1 || s[1]=="") {
		generateTN(1);
		generatePic(1);
		}
	else if (s[1]<(itemCount+1) && s[1]>0) {
		generateTN(s[1]);
		generatePic(s[1]);
	}
	else {
		generateTN(1);
		generatePic(1);
		}
}

function loadPic(itemNum) {
	if (activePage!=Math.floor(itemNum/5.01)) generateTN(itemNum);
	activateClass(itemNum);
	generatePic(itemNum);
}

function initGen() {
	$('display_title').innerHTML = "<a href='#'>"+data.galleryName+"</a><br />"+data.galleryDate;
}

function activateClass (activeItem) {
	var currentPage = Math.floor(activeItem/5.01);
	var j = currentPage*5;
	var k = ((currentPage!=pageCount || itemCount%5==0) ? j+5 : (itemCount <=5 ? itemCount : (itemCount%5)+j));
	
	for (i=j; i<k; i++) 
		Element.classNames('tn'+(i+1)).set("noclass");
	Element.classNames('tn'+activeItem).set("active");
}

function generateTN(activeItem) {
	var currentPage = Math.floor(activeItem/5.01);
	var j = currentPage*5;
	var k = ((currentPage!=pageCount || itemCount%5==0) ? j+5 : (itemCount <=5 ? itemCount : (itemCount%5)+j));
	var pageStatusClass;
	
	$("gallery_thumbnails").innerHTML = "";
	for (i=j; i<k; i++) {
		$("gallery_thumbnails").innerHTML +="<a href='#"+(i+1)+"' onClick=\"fireTag('51.2',{'<series>':'special_events','<album_name>':'" + data.galleryDate + " " + data.galleryName.replace('\'', '') + "','<number>':'" + (i+1) + "'}); loadPic("+(i+1)+")\" title='"+ 
			photoDescription[i]+"' id='tn"+(i+1)+"'><img src='"+photoTnFile[i]+"' /></a>";
	}
	activateClass(activeItem);
	$("page_count").innerHTML = "PAGE ";
	for (i=0; i<pageCount+1; i++) {
		if (i == currentPage) pageStatusClass = "current";
		else pageStatusClass = "";
		$("page_count").innerHTML += "<li><a href='#"+((i*5)+1)+"' onClick='loadPic("+((i*5)+1)+
			")' class='"+pageStatusClass+"'>"+(i+1)+"</a></li>";
	}
}

function generatePic(activeItem) {
	var aItem = activeItem-1;
	var image = $("photo_display_img");
	var imageSrc = photoPicFile[aItem];
	
	image.src = '/motorsports/images/global/transparent_pxl.gif';
	new Ajax.Request(imageSrc, {
		'method': 'get',
		'onSuccess': function(req) {
			$("photo_display_img").src = imageSrc;
		}
	});
	activePage = Math.floor(activeItem/5.01);
	$("photo_description").innerHTML = photoDescription[aItem];
	$("photo_nav").innerHTML = "";
	if (aItem == 0) 
		$("photo_nav").innerHTML = "<a id='prev' class='off'><span>[previous]</span></a>";
	else 
		$("photo_nav").innerHTML = "<a id='prev' href='#"+(aItem)+"' onClick='loadPic("
			+(aItem)+")' title='Previous'><span>[previous]</span></a>";
	$("photo_nav").innerHTML += "<span id='navcount'>"+activeItem+" of "+itemCount+"</span>";
	if (activeItem == itemCount) 
		$("photo_nav").innerHTML += "<a id='next' class='off'><span>[previous]</span></a>";
	else 
		$("photo_nav").innerHTML += "<a id='next' href='#"+(++activeItem)+"' onClick='loadPic("
			+(activeItem++)+")' title='Next'><span>[next]</span></a>";
}

