	// <![CDATA[		// -----------------------------------------------------------------------------------	// 	// This page coded by Scott Upton	// http://www.uptonic.com | http://www.couloir.org	//	// This work is licensed under a Creative Commons License	// Attribution-ShareAlike 2.0	// http://creativecommons.org/licenses/by-sa/2.0/	//	// Associated API copyright 2002, Travis Beckham (www.squidfingers.com)	//	// -----------------------------------------------------------------------------------	// --- version date: 04/30/05 ------------------------------------------------------		var photoDir = "images/"; // Location of photos for gallery	var borderSize = 6;	 // = 2x CSS border size		// get current photo id from URL	var thisURL = document.location.href;	var splitURL = thisURL.split("#");	var photoId = splitURL[1] - 1;		// if no id in query string then set to 0	photoId = (!photoId)? 0:photoId;			// Define each photo's name, height, width, and caption	var photoArray = new Array(		// Source, Width, Height, Captionnew Array("../images/java/coffeecups5.jpg", "277", "560", "Coffee Cups 5 - Acrylic on Canvas, 40 X 20, 2003"),new Array("../images/java/coffeecups6.jpg", "274", "549", "Coffee Cups 6 - Acrylic on Canvas, 40 X 20, 2003"),             new Array("../images/java/JavaBenefits.jpg", "374", "370", "Java Benefits - Mixed Media & Acrylic on Canvas, 30 X 30, 2003"),new Array("../images/java/SMCoff-Crois.jpg", "488", "384", "Small Coffee and Croissant - Acrylic on Canvas, 14 X 18, 2003"),new Array("../images/java/LGCoff-Crois.jpg", "550", "553", "Large Coffee and Croissant - Acrylic on Canvas, 40 X 40, 2002"),new Array("../images/java/coffeedanish.jpg", "494", "624", "Coffee and Danish - Acrylic on Canvas, 18 X 14, 2001"),new Array("../images/java/breakfast-med.jpg", "400", "306", "Breakfast - Acrylic on Canvas, 14 X 18, 2001"));		// Number of photos in this gallery	var photoNum = photoArray.length;		// Create access to 'Detect' object and a place to put instances of 'HTMLobj'	API = new Detect();		// CREATE INSTANCES & LOAD	loadAPI = function(){		// Instantiate HTMLobj		API.Container		= new HTMLobj('Container');		API.Photo			= new HTMLobj('Photo');		API.PhotoContainer	= new HTMLobj('PhotoContainer');		API.LinkContainer	= new HTMLobj('LinkContainer');		API.PrevLink		= new HTMLobj('PrevLink');		API.NextLink		= new HTMLobj('NextLink');		API.CaptionBlock	= new HTMLobj('CaptionBlock');		API.Counter			= new HTMLobj('Counter');		API.Caption			= new HTMLobj('Caption');		API.LoadImg			= new HTMLobj('LoadImg');				// Show initial photo		cyclePhoto(photoId);	}	onload = loadAPI;		// Fade in photo when it is loaded from the server	initFade = function(){		// Show PhotoContainer again		API.PhotoContainer.show();				// Be certain the tween is complete before fading, too		var fade_timer = setInterval('startFade()', 1000);								// Fade photo in when ready and clear listener		startFade = function(){			if(API.Container._tweenRunning == false){				clearInterval(fade_timer);								// Be certain fade is done running before allowing next/previous links to work				// This avoids rapid fade-in when users click next/previous links in quick succession				var adv_timer = setInterval('permitNextPrev()', 500);								// Permit next/previous links to function normally when fade is completed				permitNextPrev = function(){					if(API.Photo._fadeRunning == false){						clearInterval(adv_timer);												// Only show links if there is more than one photo in array						if(photoNum > 1){							API.LinkContainer.displayShow();							document.getElementById('NextLink').onclick = nextPhoto;							document.getElementById('PrevLink').onclick = prevPhoto;						}					} else {						return;					}				}				// Swap out loading animation to spare CPU cycles when hidden anyway				API.LoadImg.setSrc("images/slideshow/start.gif");								// Show caption again				API.CaptionBlock.show();								// Fade photo in				API.Photo.fadeIn(0,15,33);			} else {				return;			}		}	}		// Prevent next/previous	falsify = function(){		return false;	}		// Go to next photo	nextPhoto = function(){		// Go to next photo		if(photoId == (photoArray.length - 1)){			photoId = 0;		} else {			photoId++;		}		cyclePhoto(photoId);	}		// Go to previous photo	prevPhoto = function(){		// If at start, go back to end		if(photoId == 0){			photoId = photoArray.length - 1;		} else {			photoId--;		}		cyclePhoto(photoId);	}		// Alter class of elements	changeElementClass = function(objId,setClass) {		document.getElementById(objId).className = setClass;	}		// Function to load subsequent photos in gallery	cyclePhoto = function(photoId){						// Swap in loading animation		API.LoadImg.setSrc("images/slideshow/loading_ani2.gif");				// Hide link container if it is not already hidden		API.LinkContainer.displayHide();				// Hide photo container and caption temporarily		API.Photo.hide();		API.Photo.setOpacity(0);		API.CaptionBlock.hide();				// Get dimensions of photo		var wNew = photoArray[photoId][1];		var hNew = photoArray[photoId][2];				// Start tween on a delay		var wCur = API.Container.getWidth() - borderSize;		var hCur = API.Container.getHeight() - borderSize;				// Begin tweening on a short timer		setTimeout('API.Container.tweenTo(easeInQuad, ['+wCur+', '+hCur+'], ['+wNew+','+hNew+'], 7)',500);		setTimeout('API.LinkContainer.sizeTo('+wNew+','+hNew+')',500);		setTimeout('API.PrevLink.sizeTo('+wNew/2+','+hNew+')',500);		setTimeout('API.NextLink.sizeTo('+wNew/2+','+hNew+')',500);		setTimeout('API.CaptionBlock.sizeTo('+wNew+',18)',500);				// Get new photo source		var newPhoto = photoDir + photoArray[photoId][0];				// Set source, width, and height of new photo		API.Photo.setSrc(newPhoto);				API.Photo.sizeTo(wNew,hNew);				// Set links to new targets based on photoId		API.NextLink.setHref("#" + (photoId+1));		API.PrevLink.setHref("#" + (photoId+1));		API.Counter.setInnerHtml((photoId+1)+" of "+photoNum+" |");		API.Caption.setInnerHtml(photoArray[photoId][3]);				// Event listeners for onload and onclick events		document.getElementById('Photo').onload = initFade;				// Block next/previous links until permitNextPrev() has fired		document.getElementById('NextLink').onclick = falsify;		document.getElementById('PrevLink').onclick = falsify;	}	// ]]>
