// Set the total number of photographs, and their location here:

var numPhotos = 0;
var photoLoc = 'photographs/';

//

var galleryId = '';
var archSetIndex = 0;

var curRow = 1;
var curPic = 1;
var curPointPos = 1;
var numRows = 0;
var lastRow = false;
var first = true;
var locked = true;
var numPerRow = 5;
ct = 'container1';
//archSetIndex=0;

function changeTo(num) {
	if(locked==false) {
	  	currentOpac(ct, 0, 500);
		movePointer(num);
		if (first==true) {
			ct = 'container2';
			mp = 'mainphoto2';
		} else {
			ct = 'container1';
			mp = 'mainphoto1';
		}
//		var image = photoLoc + (numPhotos+1-((curRow-1)*numPerRow+num))+'.jpg';
		var image = photoLoc + ((curRow-1)*numPerRow+num)+'.jpg';
		curPic = num;
		getImage(mp, image, ct);
		first = !first;
	}
}

function loadGalleryPage(k) {
	currentPage = 'gallery';
	archSetIndex = k;
	numPhotos = parseInt(archSet[k*numCols+4]);
	galleryId = archSet[k*numCols+1] + archSet[k*numCols] + '/';
	loadUrl('gallery.txt?' + Math.random());
	photoLoc = 'photographs/' + galleryId;
	var waiting = true;
	
}

function swapGalleryPage(direction) {
	if (direction != 'older' && direction != 'newer') return;
	k = archSetIndex;
	nEntries = archSet.length/numCols;
	go = true;
	while (go) {
		if (direction == 'older') {
			k++;
			if (k>=nEntries) k=0;
		} else if (direction == 'newer') {
			k--;
			if (k<0) k=nEntries-1;
		}
		if (archSet[k*numCols+4] != '') {
			loadGalleryPage(k);
			go = false;
		}
	}
}

function loadGallery() {
	currentOpac('container1', 100, 10);
	currentOpac('container2', 100, 10);
	currentOpac('container1', 1, 10);
	currentOpac('container2', 1, 10);
	document.getElementById('stage').style.zIndex = 1;
	for(i=1;i<=numPerRow;i++) {
	  	changeOpac(0, 'i'+i);
		changeOpac(80, 'i'+i);
	}

	numRows = parseInt((numPhotos-1)/numPerRow) + 1;
	changeRow(1);
	locked = false;
	changeTo(1);

	var divArray = document.getElementsByTagName('img');
	for (var i = 0, max = divArray.length; i < max; i++) {
		if (divArray[i].className=='finditem') {
			divArray[i].onmouseover = opacUp;
			divArray[i].onmouseout = opacDown;
		}
	}
	
	document.getElementById('desc').innerHTML = '<h1>Concert ' + archSet[archSetIndex*numCols] + ', ' + archSet[archSetIndex*numCols + 1] + ': ' + archSet[archSetIndex*numCols + 5] + '</h1>';
}

function changeRow(toRow) {
	curPic = 0;
	document.getElementById('point').style.visibility='hidden';
	curRow = toRow;
	document.getElementById('status').innerHTML = 'page ' +	curRow + ' / ' + numRows;
	for (i=1;i<=numPerRow;i++) {
	  	changeOpac(1, 'i'+i);
		document.getElementById('i'+i).style.visibility='visible';
	}
	var visiblePics = numPerRow;
	if (toRow == numRows) {
		visiblePics = numPhotos - numPerRow*(toRow - 1);
	}
	for (z=1;z<=visiblePics;z++) {
//	  	var j = numPhotos + 1 - ((toRow-1)*numPerRow + z);
	  	var j = (toRow-1)*numPerRow + z;
		changePic('i' + z, photoLoc + j + 'a.jpg');
	}
	if (toRow == numRows) {
		for (i=numPerRow;i>visiblePics;i--) {
			document.getElementById('i'+i).style.visibility='hidden';
		}
	}
}

function changePic(id, pic) {
	var img = document.createElement('img');
	var preImg = document.getElementById(id);
	img.onload = function (evt) {
		preImg.src=this.src;
		currentOpac(id, 80, 350);
	}
	img.src = pic;
	return false;
}

function getImage(pExistingImageID, pImageURL, ct){
	locked = true;
	document.getElementById('load').style.visibility='visible';
	var img = document.createElement('img');
	var cont = document.getElementById(ct).style;
	var preImg = document.getElementById(pExistingImageID);
	img.onload = function (evt) {
		document.getElementById('load').style.visibility='hidden';
		preImg.src=this.src;
		preImg.width=this.width;
		preImg.height=this.height;
		cont.left=document.getElementById('stage').offsetWidth/2-this.width/2 + 'px';
		cont.top=document.getElementById('stage').offsetHeight/2-this.height/2 + 'px';
		currentOpac(ct, 100, 500);
		locked = false;
	}
	img.src = pImageURL;
	return false;
}

function goToNextPic() {
	if ((curRow-1)*numPerRow+curPic==numPhotos) {
		if(curRow!=1) {
			changeRow(1);
		}
		changeTo(1);
	} else if (curPic+1>numPerRow) {
		changeRow(curRow+1);
		changeTo(1);
	} else {
		changeTo(curPic+1);
	}
}

function movePointer(toPosition) {
	var toLeft = (toPosition-1)*96+7;
	document.getElementById('point').style.top=toLeft+'px';
	document.getElementById('point').style.visibility='visible';
}
