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();
// Dummy up Log if log.js is not included
if (!window["Log"]) {
		var Log = {};
		Log.info = Log.log = Log.warn = Log.error = Log.assert = Log.dir = Log.dirxml = Log.trace = Log.group = function(){};
		Log.groupCollapsed = Log.groupEnd = Log.time = Log.timeEnd = Log.profile = Log.profileEnd = Log.count = Log.debug = Log.info
}

function loadGallery() {
	getData(data);
	initGen();
	getAnchor();
	addthis.addEventListener('addthis.menu.share', onAddThis_Share);
}

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/15.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/15.01)) generateTN(itemNum);
	activateClass(itemNum);
	generatePic(itemNum);
}

function initGen() {
	$('display_title').innerHTML = "<a href='#'>"+data.galleryName+"</a><br />"
		+data.galleryDesc+"<br />"+data.galleryDate;
	//$('gallery_heading_link').href += "#"+data.seriesShortName;
}

function activateClass (activeItem) {
	var currentPage = Math.floor(activeItem/15.01);
	var j = currentPage*15;
	var k = ((currentPage!=pageCount || itemCount%15==0) ? j+15 : (itemCount <=15 ? itemCount : (itemCount%15)+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/15.01);
	var j = currentPage*15;
	var k = ((currentPage!=pageCount || itemCount%15==0) ? j+15 : (itemCount <=15 ? itemCount : (itemCount%15)+j));
	var pageStatusClass;
	
	$("gallery_thumbnails").innerHTML = "";
	for (i=j; i<k; i++) {
		$("gallery_thumbnails").innerHTML +="<a href='#"+(i+1)+"' onClick=\"fireTag('51.2',{'<series>':'" + data.seriesShortName + "','<album_name>':'" + 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*15)+1)+"' onClick='loadPic("+((i*15)+1)+
			")' class='"+pageStatusClass+"'>"+(i+1)+"</a></li>";
	}
}

function generatePic(activeItem) {
	


	
	//addthis.button('#sharethis_div');
	window.location.hash = activeItem
	var aItem = activeItem-1;
	var image = $("photo_display_img");
	var imageSrc = photoPicFile[aItem];
	var imageThumb = window.location.protocol+"//"+window.location.host+photoTnFile[aItem]
	var imageDesc = photoDescription[aItem]
	var imageTitle = data["galleryName"]
	customAddThisButton("#sharethis_div",  window.location.href, imageTitle, imageDesc, imageThumb, window.location.href, "560", "340")
	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/15.01);
	$("photo_description").innerHTML = photoDescription[aItem] + "<br/><a class='addthis_button'></a>";
	
	$("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>";
}

function onAddThis_Share(evt){
	Log.info("heard addthis.menu.share")
	var data =getDataArray()
	var ft=
	{
		'<series>':data.seriesShortName,
		'<album_name>':data.galleryName.replace('\'',''),
		'<year>':getYearFromGalleryDate(data.galleryDate),
		'<Social_Media_Type>':evt.data.service
	}
	fireTag('65.1',ft);
}

function getYearFromGalleryDate(str){
	var patt1=/([0-9]*)/gi;
	var matchAry = str.match(patt1)
	var index =(matchAry.length>1)?matchAry.length-2:0
	var aDate = matchAry[matchAry.length-2]
	aDate =(aDate)?aDate:""
	return (aDate.length==2)?"20"+aDate:aDate	
}

function fireLoad(){
	//fireTag('38.1',{'<series>':getDataArray().seriesShortName,'<album_name>':getDataArray().galleryName.replace('\'','')});
	var data =getDataArray()
	var ft=
	{
		'<series>':data.seriesShortName,
		'<album_name>':data.galleryName.replace('\'',''),
		'<year>':getYearFromGalleryDate(data.galleryDate)
	}
	fireTag('38.1',ft);
}
