// -----------------------------------------------------------------------------------
// 
// 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 APIs copyright their respective owners
//
// -----------------------------------------------------------------------------------
// --- version date: 11/28/05 --------------------------------------------------------

// get current photo id from URL
var thisURL = document.location.href;
var splitURL = thisURL.split("#");
var photoId = splitURL[1] - 1;

// if no photoId supplied then set default
var photoId = (!photoId)? 0 : photoId;

// CSS border size x 2
var borderSize = 10;

// Photo directory for this gallery
var photoDir = "gallery";

// Define each photo's name, height, width, and caption
var sections = new Array(
    new Array("oils_recent", new Array(
        new Array("/oils/2006/CartePostale21X24.jpg", "584", "415", "Carte Postale, Oil on Canvas, 21x24"),
        new Array("/oils/2006/clock_master_8x10_oil_on_linen.jpg", "400", "543", "Clock Master"),
        new Array("/oils/2005/adult_games_8x10_oil_on_wood.jpg", "600", "455", "Adult Games, Oil On Wood, (8x10)"),
        new Array("/oils/2005/age_of_time_8x10_oil_on_wood.jpg", "600", "452", "Age Of Time, Oil On Wood, (8x10)"),
        new Array("/oils/2005/architectural_irreality_30x40_oil_on_canvas.jpg", "600", "436", "Architectural Irreality, Oil On Canvas, (30x40)"),
        new Array("/oils/2005/foggy_12x12_oil_on_wood.jpg", "600", "425", "Foggy, Oil On Wood, (12x12)"),
        new Array("/oils/2005/horizon_&_beyond_8x10_oil_on_wood.jpg", "1000", "720", "Horizon & Beyond, Oil On Wood, (8x10)"),
        new Array("/oils/2005/look_from_a_far_8x10_oil_on_wood.jpg", "1000", "758", "Look From A Far, Oil On Wood, (8x10)"),
        new Array("/oils/2005/magical_mystery_tour_II_8x10_oil_on_wood.jpg", "600", "414", "Magical Mystery Tour Ii, Oil On Wood, (8x10)"),
        new Array("/oils/2005/moody_blues_II_7x9_oil_on_wood.jpg", "600", "423", "Moody Blues Ii, Oil On Wood, (7x9)"),
        new Array("/oils/2005/puppeteer_dance_for_two_36x24_oil_on_canvas.jpg", "394", "600", "Puppeteer Dance For Two, Oil On Canvas, (36x24)"),
        new Array("/oils/2005/surrealistic_dream_II_16x20_oil_on_canvas.jpg", "600", "408", "Surrealistic Dream Ii, Oil On Canvas, (16x20)"),
        new Array("/oils/2005/untitled_9x12_oil_on_wood.jpg", "600", "437", "Untitled, Oil On Wood, (9x12)"),
        new Array("/oils/2005/violin_solo_for_angel_9x12_oil_on_wood.jpg", "600", "414", "Violin Solo For Angel, Oil On Wood, (9x12)"),
        new Array("/oils/2006/WinecoloredDays40X30.jpg", "688", "1000", "Wine Colored Days, Oil on Canvas, 40x30")
        )),
    new Array("oils_old", new Array(
        new Array("/oils/1999/clock-work_world_48x60_oil_on_canvas.jpg", "632", "491", "Clock-work World, Oil On Canvas, (48x60)"),
        new Array("/oils/1999/concert_for_stone_echo_with_cello_72x24_oil_on_canvas.jpg", "500", "165", "Concert For Stone Echo With Cello, Oil On Canvas, (72x24)"),
        new Array("/oils/1999/dream_and_delusion_30x40_oil_on_linen.jpg", "643", "464", "Dream And Delusion, Oil On Linen, (30x40)"),
        new Array("/oils/1999/dynamic_flight_48x60_oil_on_linen.jpg", "628", "491", "Dynamic Flight, Oil On Linen, (48x60)"),
        new Array("/oils/1999/e-flat_nocturne_24x36_oil_on_linen.jpg", "657", "446", "E-flat Nocturne, Oil On Linen, (24x36)"),
        new Array("/oils/1999/gradiva_30x40_oil_on_linen.jpg", "606", "438", "Gradiva, Oil On Linen, (30x40)"),
        new Array("/oils/1999/inspiration_24x54_oil_on_canvas.jpg", "685", "314", "Inspiration, Oil On Canvas, (24x54)"),
        new Array("/oils/1999/invisible_world_48x56_oil_on_canvas.jpg", "577", "492", "Invisible World, Oil On Canvas, (48x56)"),
        new Array("/oils/1999/jester_36x24_oil_on_canvas.jpg", "321", "500", "Jester, Oil On Canvas, (36x24)"),
        new Array("/oils/1999/lonely_day_18x12_oil_on_linen.jpg", "414", "600", "Lonely Day, Oil On Linen, (18x12)"),
        new Array("/oils/1999/minuet_50x58_oil_on_canvas.jpg", "587", "491", "Minuet, Oil On Canvas, (50x58)"),
        new Array("/oils/1999/moody_blues_20x24_oil_on_linen.jpg", "500", "359", "Moody Blues, Oil On Linen, (20x24)"),
        new Array("/oils/1999/morning_dream_36x48_oil_on_canvas.jpg", "469", "629", "Morning Dream, Oil On Canvas, (36x48)"),
        new Array("/oils/1999/old_&_forgotten_31x39_oil_on_canvas.jpg", "428", "534", "Old & Forgotten, Oil On Canvas, (31x39)"),
        new Array("/oils/1999/old_warf_30x40_oil_on_canvas.jpg", "557", "427", "Old Warf, Oil On Canvas, (30x40)"),
        new Array("/oils/1999/rendezvous_48x74_oil_on_linen.jpg", "667", "423", "Rendezvous, Oil On Linen, (48x74)"),
        new Array("/oils/1999/rhapsody_in_blue_50x58_oil_on_linen.jpg", "560", "489", "Rhapsody In Blue, Oil On Linen, (50x58)"),
        new Array("/oils/1999/sensation_of_time_II_30x40_oil_on_linen.jpg", "546", "425", "Sensation Of Time Ii, Oil On Linen, (30x40)"),
        new Array("/oils/1999/strangers_in_the_night_30x36_oil_on_linen.jpg", "640", "529", "Strangers In The Night, Oil On Linen, (30x36)"),
        new Array("/oils/1999/tristan_and_isolde_45x65_oil_on_canvas.jpg", "692", "486", "Tristan And Isolde, Oil On Canvas, (45x65)"),
        new Array("/oils/1999/white_night_30x40_oil_on_linen.jpg", "500", "400", "White Night, Oil On Linen, (30x40)"),
        new Array("/oils/1999/window_30x40_oil_on_linen.jpg", "500", "373", "Window, Oil On Linen, (30x40)"),
        new Array("/oils/2000/a_beginning_of_a_legend_16x20_oil_on_canvas.jpg", "640", "456", "A Beginning Of A Legend, Oil On Canvas, (16x20)"),
        new Array("/oils/2000/awaiting_fate_10x16_oil_on_canvas.jpg", "756", "456", "Awaiting Fate, Oil On Canvas, (10x16)"),
        new Array("/oils/2000/beam_into_my_french_ancestry_16x20_oil_on_canvas.jpg", "640", "473", "Beam Into My French Ancestry, Oil On Canvas, (16x20)"),
        new Array("/oils/2000/casanova_20x24_oil_on_linen.jpg", "391", "500", "Casanova, Oil On Linen, (20x24)"),
        new Array("/oils/2000/columbus_16x20_oil_on_canvas.jpg", "640", "490", "Columbus, Oil On Canvas, (16x20)"),
        new Array("/oils/2000/conductor_9x12_oil_on_canvas.jpg", "396", "532", "Conductor, Oil On Canvas, (9x12)"),
        new Array("/oils/2000/grandfather's_clock_16x20_oil_on_canvas.jpg", "640", "475", "Grandfather's Clock, Oil On Canvas, (16x20)"),
        new Array("/oils/2000/moon_sonata_24x18_oil_on_linen.jpg", "362", "498", "Moon Sonata, Oil On Linen, (24x18)"),
        new Array("/oils/2000/st_petersburg_tango_20x24_oil_on_canvas.jpg", "599", "483", "St Petersburg Tango, Oil On Canvas, (20x24)"),
        new Array("/oils/2000/time_10x12_oil_on_canvas.jpg", "413", "500", "Time, Oil On Canvas, (10x12)"),
        new Array("/oils/2000/trying_to_fix_the_time_16x20_oil_on_canvas.jpg", "640", "473", "Trying To Fix The Time, Oil On Canvas, (16x20)"),
        new Array("/oils/2000/virtuoso_16x20_oil_on_canvas.jpg", "471", "599", "Virtuoso, Oil On Canvas, (16x20)"),
        new Array("/oils/2001/baby_face_24x36_oil_on_canvas.jpg", "300", "444", "Baby Face, Oil On Canvas, (24x36)"),
        new Array("/oils/2001/beauty_12x12_oil_on_wood.gif", "400", "394", "Beauty, Oil On Wood.gif, (12x12)"),
        new Array("/oils/2001/holy_family_29x23_oil_on_canvas.jpg", "400", "499", "Holy Family, Oil On Canvas, (29x23)"),
        new Array("/oils/2001/look_5x7_oil_on_wood.jpg", "350", "519", "Look, Oil On Wood, (5x7)"),
        new Array("/oils/2001/march_for_cello_24x36_oil_on_linen.jpg", "350", "523", "March For Cello, Oil On Linen, (24x36)"),
        new Array("/oils/2001/passion_tango_18x18_oil_on_canvas.jpg", "400", "395", "Passion Tango, Oil On Canvas, (18x18)"),
        new Array("/oils/2001/smoker_24x36_oil_on_linen.jpg", "300", "450", "Smoker, Oil On Linen, (24x36)"),
        new Array("/oils/2002/buena_sera_14x8_oil_on_wood.jpg", "400", "588", "Buena Sera, Oil On Wood, (14x8)"),
        new Array("/oils/2002/fly_14x10_oil_on_wood.jpg", "300", "503", "Fly, Oil On Wood, (14x10)"),
        new Array("/oils/2002/green_wine_11x14_oil_on_canvas.jpg", "500", "370", "Green Wine, Oil On Canvas, (11x14)"),
        new Array("/oils/2002/i_know_you_hear_me_8x10_oil_on_canvas.jpg", "500", "323", "I Know You Hear Me, Oil On Canvas, (8x10)"),
        new Array("/oils/2002/music_lession_11x14_oil_on_linen.jpg", "640", "488", "Music Lession, Oil On Linen, (11x14)"),
        new Array("/oils/2002/music_triangle_8x10_oil_on_wood.jpg", "500", "378", "Music Triangle, Oil On Wood, (8x10)"),
        new Array("/oils/2002/passionate_violin_10x8_oil_on_wood.jpg", "300", "469", "Passionate Violin, Oil On Wood, (10x8)"),
        new Array("/oils/2002/piano_concert_11x14_oil_on_canvas.jpg", "500", "383", "Piano Concert, Oil On Canvas, (11x14)"),
        new Array("/oils/2002/prelude_21x12_mixed_media.jpg", "300", "623", "Prelude, Mixed Media, (21x12)"),
        new Array("/oils/2002/solo_in_red_8x10_oil_on_wood.jpg", "500", "313", "Solo In Red, Oil On Wood, (8x10)"),
        new Array("/oils/2004/after_100_years_of_solitude_9x12_oil_on_wood.jpg", "600", "445", "After 100 Years Of Solitude, Oil On Wood, (9x12)"),
        new Array("/oils/2004/after_carnival_00x00_oil_on_linen.jpg", "600", "268", "After Carnival, Oil On Linen, (00x00)"),
        new Array("/oils/2004/artist's_studio_20x16_oil_on_canvas.jpg", "397", "600", "Artist's Studio, Oil On Canvas, (20x16)"),
        new Array("/oils/2004/back_yard_of_memories_8x10_oil_on_wood.jpg", "600", "480", "Back Yard Of Memories, Oil On Wood, (8x10)"),
        new Array("/oils/2004/domino_9x12_oil_on_wood.jpg", "600", "422", "Domino, Oil On Wood, (9x12)"),
        new Array("/oils/2004/egocentric_8x10_oil_on_wood.jpg", "600", "457", "Egocentric, Oil On Wood, (8x10)"),
        new Array("/oils/2004/european_cities_1_11x14_oil_on_linen.jpg", "600", "450", "European Cities 1, Oil On Linen, (11x14)"),
        new Array("/oils/2004/european_cities_2_11x14_oil_on_linen.jpg", "600", "450", "European Cities 2, Oil On Linen, (11x14)"),
        new Array("/oils/2004/european_cities_3_8x10_oil_on_linen.jpg", "450", "357", "European Cities 3, Oil On Linen, (8x10)"),
        new Array("/oils/2004/gone_with_the_wind_8x10_oil_on_wood.jpg", "600", "487", "Gone With The Wind, Oil On Wood, (8x10)"),
        new Array("/oils/2004/in_the_pool_room_20x16_oil_on_canvas.jpg", "441", "600", "In The Pool Room, Oil On Canvas, (20x16)"),
        new Array("/oils/2004/magical_mystery_tour_9x12_oil_on_linen.jpg", "600", "441", "Magical Mystery Tour, Oil On Linen, (9x12)"),
        new Array("/oils/2004/master_class_9x12_oil_on_wood.jpg", "600", "484", "Master Class, Oil On Wood, (9x12)"),
        new Array("/oils/2004/music_lesson_cello_14x11_oil_on_canvas.jpg", "450", "600", "Music Lesson Cello, Oil On Canvas, (14x11)"),
        new Array("/oils/2004/music_lesson_violin_14x11_oil_on_wood.jpg", "402", "600", "Music Lesson Violin, Oil On Wood, (14x11)"),
        new Array("/oils/2004/niche_16x20_oil_on_linen.jpg", "600", "470", "Niche, Oil On Linen, (16x20)"),
        new Array("/oils/2004/pool_battle_field_11x14_oil_on_linen.jpg", "600", "453", "Pool Battle Field, Oil On Linen, (11x14)"),
        new Array("/oils/2004/recital_in_the_yard_50x58_oil_on_linen.jpg", "600", "483", "Recital In The Yard, Oil On Linen, (50x58)"),
        new Array("/oils/2004/red_cello_11x14_oil_on_linen.jpg", "600", "458", "Red Cello, Oil On Linen, (11x14)"),
        new Array("/oils/2004/till_the_last_drop_24x18_oil_on_canvas.jpg", "436", "600", "Till The Last Drop, Oil On Canvas, (24x18)"),
        new Array("/oils/2004/time_keeper_48x60_oil_on_linen.jpg", "600", "440", "Time Keeper, Oil On Linen, (48x60)"),
        new Array("/oils/2004/tour_de_force_9x12_oil_on_wood.jpg", "600", "436", "Tour De Force, Oil On Wood, (9x12)"),
        new Array("/oils/2004/vision_24x20_mixed_media.jpg", "485", "600", "Vision, Mixed Media, (24x20)"),
        new Array("/oils/2004/what_dreams_may_come_8x10_oil_on_wood.jpg", "473", "600", "What Dreams May Come, Oil On Wood, (8x10)"),
        new Array("/oils/2004/wild_cards_20x16_oil_on_linen.jpg", "469", "600", "Wild Cards, Oil On Linen, (20x16)")
        )),
    new Array("pastels", new Array(
        new Array("/pastels/city_tunes_24x32_pastel_on_paper.jpg", "374", "500", "City Tunes, Pastel On Paper, (24x32)"),
        new Array("/pastels/dangerous_game_32x24_pastel_on_paper.jpg", "368", "500", "Dangerous Game, Pastel On Paper, (32x24)"),
        new Array("/pastels/drunk_and_horny_40x36_pastel_on_paper.jpg", "306", "500", "Drunk And Horny, Pastel On Paper, (40x36)"),
        new Array("/pastels/still_life_32x24_pastel_on_paper.jpg", "370", "500", "Still Life, Pastel On Paper, (32x24)"),
        new Array("/pastels/trick_36x40_pastel_on_paper.jpg", "500", "360", "Trick, Pastel On Paper, (36x40)"),
        new Array("/pastels/wheel_of_fortune_24x32_pastel_on_paper.jpg", "500", "407", "Wheel Of Fortune, Pastel On Paper, (24x32)")
        )),
    new Array("drawings", new Array(
        new Array("/drawings/dominoes_11x14_pencil_on_paper.jpg", "500", "339", "Dominoes, Pencil On Paper, (11x14)")
        )),
    new Array("etchings", new Array(
        new Array("/etchings/jester_14x9_etching_on_paper.jpg", "303", "500", "Jester, Etching On Paper, (14x9)"),
        new Array("/etchings/nude_6x4_etching_on_paper.jpg", "355", "500", "Nude, Etching On Paper, (6x4)")
        )),
    new Array("inks", new Array(
        new Array("/inks/a_look_from_afar_16x20.jpg", "600", "423", "A Look From Afar, (16x20)"),
        new Array("/inks/celloist_11x14_ink_on_paper.jpg", "500", "395", "Celloist, Ink On Paper, (11x14)"),
        new Array("/inks/in_search_of_dali_14x11_ink_on_paper.jpg", "417", "548", "In Search Of Dali, Ink On Paper, (14x11)"),
        new Array("/inks/ink_composition_23_16x24.jpg", "600", "430", "Ink Composition 23 (16x24)"),
        new Array("/inks/ink_composition_24_16x24.jpg", "600", "401", "Ink Composition 24 (16x24)"),
        new Array("/inks/ink_composition_27_16x24.jpg", "435", "600", "Ink Composition 27 (16x24)"),
        new Array("/inks/ink_composition_29_16x24.jpg", "600", "411", "Ink Composition 29 (16x24)"),
        new Array("/inks/kiss_18x14_ink_on_paper.jpg", "377", "500", "Kiss, Ink On Paper, (18x14)"),
        new Array("/inks/november_11x14_ink_on_paper.jpg", "488", "600", "November, Ink On Paper, (11x14)"),
        new Array("/inks/old_clock_18x24_ink_on_paper.jpg", "500", "393", "Old Clock, Ink On Paper, (18x24)"),
        new Array("/inks/roman_figures_14x11_ink_on_paper.jpg", "443", "598", "Roman Figures, Ink On Paper, (14x11)"),
        new Array("/inks/soul_conductor_16x24_ink_on_paper.jpg", "500", "383", "Soul Conductor, Ink On Paper, (16x24)"),
        new Array("/inks/wild_cello_11x14_ink_on_paper.jpg", "500", "362", "Wild Cello, Ink On Paper, (11x14)")
        )),
    new Array("media", new Array(
        new Array("/media/composition_14_7x5_mixed_media.jpg", "425", "600", "Composition 14, Mixed Media, (7x5)"),
        new Array("/media/composition_15_7x5_mixed_media.jpg", "415", "600", "Composition 15, Mixed Media, (7x5)"),
        new Array("/media/composition_16_7x5_mixed_media.jpg", "545", "600", "Composition 16, Mixed Media, (7x5)"),
        new Array("/media/tripych_I_7x11_mixed_media.jpg", "600", "397", "Tripych I, Mixed Media, (7x11)"),
        new Array("/media/tripych_II_7x9_mixed_media.jpg", "600", "371", "Tripych Ii, Mixed Media, (7x9)")
        )),
    new Array("jewish", new Array(
        new Array("/jewish/family_duet_12x9_oil_on_canvas.jpg", "434", "600", "Family Duet, Oil On Canvas, (12x9)"),
        new Array("/jewish/shttetle_night_12x14_oil_on_linen.jpg", "500", "598", "Shttetle Night, Oil On Linen, (12x14)"),
        new Array("/jewish/sthettle_solo_10x8_oil_on_wood.jpg", "400", "607", "Sthettle Solo, Oil On Wood, (10x8)"),
        new Array("/jewish/traditional_12x9_oil_on_linen.jpg", "446", "600", "Traditional, Oil On Linen, (12x9)")
        )),
    new Array("whimsical", new Array(
        new Array("/oils/2005/art_deco_music_20x16_oil_on_linen.jpg", "430", "600", "Art Deco Music, Oil On Linen, (20x16)"),
        new Array("/oils/2005/ballerina_14x11_oil_on_linen.jpg", "416", "600", "Ballerina, Oil On Linen, (14x11)"),
        new Array("/oils/2005/love_letter_20x16_oil_on_canvas.jpg", "404", "600", "Love Letter, Oil On Canvas, (20x16)")
        )),
    new Array("collages", new Array(
        new Array("/collages/Fiddler14X11PaperCollage.jpg", "549", "700", "Fiddler, Collage, (14x11)"),
        new Array("/collages/MusicLesson14X11PaperCollage.jpg", "459", "600", "Music Lesson, Collage, (14x11)"),
        new Array("/collages/Proposal10X10PaperCollage.jpg", "459", "600", "Proposal, Collage, (10x10)")
        )),
    new Array("illustrations", new Array(
        new Array("/illustrations/illustration1.jpg", "792", "900", "Illustration 1"),
        new Array("/illustrations/illustration2.jpg", "1304", "1000", "Illustration 2"),
        new Array("/illustrations/illustration3.jpg", "850", "1116", "Illustration 3"),
        new Array("/illustrations/illustration4.jpg", "420", "600", "Illustration 4")
        )),
    new Array("abstract", new Array(
        new Array("/abstract/AbstractComposition1_48X36AbstractWorks.jpg", "486", "600", "Abstract Composition 1, Oil On Linen, (48x36)"),
        new Array("/abstract/AbstractComposition2_48X36AbstractWorks.jpg", "486", "600", "Abstract Composition 2, Oil On Linen, (48x36)"),
        new Array("/abstract/AbstractComposition3_48X36AbstractWorks.jpg", "516", "600", "Abstract Composition 3, Oil On Linen, (48x36)")
        ))
)

var photoArray = sections[0][1];

// Number of photos in this gallery
var photoNum = photoArray.length;

/*--------------------------------------------------------------------------*/

// Additional methods for Element added by SU, Couloir
Object.extend(Element, {
	getWidth: function(element) {
   	element = $(element);
   	return element.offsetWidth; 
	},
	setWidth: function(element,w) {
   	element = $(element);
    	element.style.width = w +"px";
	},
	setHeight: function(element,h) {
   	element = $(element);
    	element.style.height = h +"px";
	},
	setSrc: function(element,src) {
    	element = $(element);
    	element.src = src; 
	},
	setHref: function(element,href) {
    	element = $(element);
    	element.href = href; 
	},
	setInnerHTML: function(element,content) {
		element = $(element);
		element.innerHTML = content;
	}
});

/*--------------------------------------------------------------------------*/

var Slideshow = Class.create();

Slideshow.prototype = {
	initialize: function(photoId) {
		this.photoId = photoId;
		this.photo = 'Photo';
		this.photoBox = 'Container';
		this.prevLink = 'PrevLink';
		this.nextLink = 'NextLink';
		this.captionBox = 'CaptionContainer';
		this.caption = 'Caption';
		this.counter = 'Counter';
		this.loader = 'Loading';
	},
	getCurrentSize: function() {
		// Get current height and width, subtracting CSS border size
		this.wCur = Element.getWidth(this.photoBox) - borderSize;
		this.hCur = Element.getHeight(this.photoBox) - borderSize;
	},
	getNewSize: function() {
		// Get current height and width
		this.wNew = photoArray[photoId][1];
		this.hNew = photoArray[photoId][2];
        if (this.wNew > 600) {
            this.hNew = this.hNew / (this.wNew / 600)
            this.wNew = 600;
        }
    },
	getScaleFactor: function() {
		this.getCurrentSize();
		this.getNewSize();
		// Scalars based on change from old to new
		this.xScale = (this.wNew / this.wCur) * 100;
		this.yScale = (this.hNew / this.hCur) * 100;
	},
	setNewPhotoParams: function() {
		// Set source of new image
		Element.setSrc(this.photo,photoDir + photoArray[photoId][0]);
		// Set anchor for bookmarking
		Element.setHref(this.prevLink, "#" + (photoId+1));
		Element.setHref(this.nextLink, "#" + (photoId+1));
	},
	setPhotoCaption: function() {
		// Add caption from gallery array
		Element.setInnerHTML(this.caption,photoArray[photoId][3]);
		Element.setInnerHTML(this.counter,((photoId+1)+'/'+photoNum));
	},
	resizePhotoBox: function() {
		this.getScaleFactor();
		new Effect.Scale(this.photoBox, this.yScale, {scaleX: false, duration: 0.3, queue: 'front'});
		new Effect.Scale(this.photoBox, this.xScale, {scaleY: false, delay: 0.5, duration: 0.3});
		// Dynamically resize caption box as well
		Element.setWidth(this.captionBox,this.wNew-(-borderSize));
	},
	showPhoto: function(){
		new Effect.Fade(this.loader, {delay: 0.5, duration: 0.3});
		// Workaround for problems calling object method "afterFinish"
		new Effect.Appear(this.photo, {duration: 0.5, queue: 'end', afterFinish: function(){Element.show('CaptionContainer');Element.show('PrevLink');Element.show('NextLink');}});
	},
	nextPhoto: function(){
		// Figure out which photo is next
		(photoId == (photoArray.length - 1)) ? photoId = 0 : photoId++;
		this.initSwap();
	},
	prevPhoto: function(){
		// Figure out which photo is previous
		(photoId == 0) ? photoId = photoArray.length - 1 : photoId--;
		this.initSwap();
	},
	initSwap: function() {
		// Begin by hiding main elements
		Element.show(this.loader);
		Element.hide(this.photo);
		Element.hide(this.captionBox);
		Element.hide(this.prevLink);
		Element.hide(this.nextLink);
		// Set new dimensions and source, then resize
		this.setNewPhotoParams();
		this.resizePhotoBox();
		this.setPhotoCaption();
	}
}

/*--------------------------------------------------------------------------*/

// Establish CSS-driven events via Behaviour script
var myrules = {
	'#Photo' : function(element){
		element.onload = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.showPhoto();
		}
	},
	'#PrevLink' : function(element){
		element.onmouseover = function(){
//			soundManager.play('beep');
		}
		element.onclick = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.prevPhoto();
//			soundManager.play('select');
		}
	},
	'#NextLink' : function(element){
		element.onmouseover = function(){
//			soundManager.play('beep');
		}
		element.onclick = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.nextPhoto();
//			soundManager.play('select');
		}
	},
	a : function(element){
		element.onfocus = function(){
			this.blur();
		}
	}
};

// Add window.onload event to initialize
Behaviour.addLoadEvent(init);
Behaviour.apply();
function init() {
	var myPhoto = new Slideshow(photoId);
	myPhoto.initSwap();
//	soundManagerInit();
}

function showSection(section_name, link) {
    resetLinks();
    highlightLink(link);
    for (i = 0; i < sections.length; i++) {
        name = sections[i][0];
        if (name == section_name) {
            photoArray = sections[i][1]
            photoNum = photoArray.length;
            photoId = 0;
            init();
        }
    }

}

function highlightLink(link) {
    link.className = "selectedLink";
}

function resetLinks(){
    div = $('sideBar');
    var links = $A(div.getElementsByTagName('a'));
    for (i = 0; i < links.length; i++) {
        l = links[i];
        l.className = "plainLink";
    }
}