// LAKE DISTRICT DESKTOPS GALLERY OUTPUT
// (C) ANDY BANNISTER 2004
// HTTP://WWW.LAKEDISTRICTDESKTOPS.COM/

// displays pictures from frompicture to topicture; if latestset = 1
// then frompicture is calculated as being the latest picture

function showgallery (frompicture, topicture, latestset) {

// SET UP MONTH NAMES
var days=['Sun','Mon','Tue', 'Wed', 'Thu', 'Fri','Sat']
var months =['January','February','March','April','May','June','July','August','September','October','November','December']

// GET TODAY'S DAY AND ALLOW FOR SILLY DATE SETTINGS ON THE USER'S MACHINE
var todaysdate = new Date;
var cutoffdate=new Date("21 December, 2005")
if (todaysdate < cutoffdate) {todaysdate=cutoffdate}


// IF THEY WANT TO PRINT THE LATEST SET OF PHOTOS (INDICATED BY PASSING 1 TO THIS FUNCTION)
// THEN WORK OUT WHICH PHOTOS TO PRINT
if (latestset==1) {
	frompicture=picoftheday(0)	
	topicture=Math.floor(frompicture/100);
	topicture=topicture*100+1
	if ((frompicture-topicture+1)>photofilename.length) {topicture= frompicture-photofilename.length+1}
}

// DEAL WITH THE "EXACTLY 100" PROBLEM
if (topicture>frompicture) {topicture=frompicture-100}
//if (topicture==frompicture) {topicture=frompicture-100}

// NUMBER OF PICTURES WE WILL SHOW
numpictures=frompicture-topicture+1

// INITIALISE VARIABLES; THE TWO ARRAYS HOLD THE PICTURE NAMES AND DATES FOR EACH ROW
var picturecount = 0
var datetext=new Array(4)
var labeltext=new Array(4)

// WORK OUT THE NUMBER OF THE MOST RECENT PICTURE
numtoppicture=photofilename[0].slice(4,14)

// Do we need to strip off a long filename ??
if (numtoppicture.charAt(3)=="_") {numtoppicture = numtoppicture.slice(0,3)}

// WORK OUT WHERE TO START SHOWING PICTURES IN THE WHOLE SET
currentpicture=numtoppicture-frompicture

// START THE TABLE GOING

document.write("<table align='center'>")
document.write("<tr>")

// LOOP THROUGH ALL THE PICTURES WE NEED TO PRINT

for (var num=0; num<numpictures; num++) {

	// WORK OUT THE DATE OF THIS PICTURE

	var photoyear=("20" + photothumb[currentpicture].slice(1,3))
	var photomonth=(photothumb[currentpicture].slice(3,5))-1
	var photoday=(photothumb[currentpicture].slice(5,7))	
	
	var photodate=new Date(photoyear,photomonth,photoday,0,0,0)

	// STRIP OFF LEADING ZEROES FROM THE DAY NUMBER
	if (photoday.slice(0,1) < 1) {photoday=photoday.slice(1,2)}
	
	// WRITE A TD CELL FOR THIS PHOTO AND FILL IT WITH IMG AND AHREF DETAILS

	document.write("<td valign='top' align='center' width='150'>")

	// PASS IMAGE NAME TO THE VIEWER OPENER FUNCTION
	document.write("<a href=")
	document.write("javascript:openimage("+currentpicture+")")
	document.write(">")

	document.write("<img src='http://homepage.mac.com/andybannister/thumb/" + photothumb[currentpicture]+".jpg' height='80' width='107' style='border: black solid 1px;'></a></td>")

	// SAVE THE DATE DETAILS AND PICTURE CAPTION FOR THE NEXT <TR> ROW

	datetext[picturecount]=("<span class='smalltext'><b>" + days[photodate.getDay()] + " " + photoday + " " + months[photomonth] + " " + photoyear + "</b></span>")

	labeltext[picturecount]=("<br><span class='smalltext'>" + phototitle[currentpicture] + "</span>");
		
	// INCREMENT THE PHOTO COUNTERS: picturecount CYCLES FROM 1-4 (PER ROW) AND CURRENTPICTURES TELLS
	// US WHERE WE ARE IN THE ARRAY

	picturecount = picturecount + 1
	currentpicture = currentpicture + 1

	// CHECK IF WE HAVE COME TO THE END OF A ROW

	if (picturecount < 4) {document.write("<td width='20'>&nbsp;&nbsp;</td>")}

	// IF WE'VE COME TO THE END OF A ROW, WE NEED A NEW <TR> AND THEN FILL THE CELLS BELOW
	// WITH THE DATE AND CAPTION DATA

	if (picturecount == 4) {
		document.write("</tr>")
		document.write("<tr>")
		for (var i=0; i<4; i++) {
			document.write("<td valign='top' align='center' width='150'>")
			document.write(datetext[i])
			document.write(labeltext[i])
			document.write("</td>")
			if (i < 3) {document.write("<td width='20'>&nbsp;&nbsp;</td>")}
		}
		if (num<numpictures) {
			document.write("</tr></table><br>")
			document.write("<table align='center'>")
			document.write("<tr>")
		}
		picturecount=0		// RESET THE ROW COUNTER
	}
	
}

// ONCE WE GET TO HERE, THE MAIN LOOP HAS ENDED

// BUT WE NEED TO ESTABLISH IF THE LAST ROW HAS LESS THAN FOUR PICTURES. IF IT DOES, THEN
// WE NEED TO PAD OUT THE SPARE SPACE WITH REQUISITE NUMBER OF CELLS

if (picturecount < 4) {
	// THIS DEALS WITH THE PHOTO ROW
	for (var i=0; i<(4-picturecount);i++) {
		document.write("<td width='150'>&nbsp;&nbsp</td>")
		if ((i+picturecount) < 3) {document.write("<td width='20'>&nbsp;&nbsp;</td>")}
	}
	// PUT IN THE DATES AD CAPTIONS FOR THE LAST FEW PHOTOS
	document.write("</tr><tr>")
	for (var j=0; j<picturecount; j++) {
		document.write("<td valign='top' align='center' width='150'>")
		document.write(datetext[j])
		document.write(labeltext[j])
		document.write("</td><td width='20'>&nbsp;&nbsp;</td>")
	}

}



document.write("</tr>")
document.write("</table>")


}






