var imageFilenames = [];
imageFilenames[1] = "2/Look_1.jpg";
imageFilenames[2] = "2/Look_2.jpg";
imageFilenames[3] = "2/Look_3a.jpg";
imageFilenames[4] = "2/Look_3b.jpg";
imageFilenames[5] = "2/Look_4a.jpg";
imageFilenames[6] = "2/Look_4b.jpg";
imageFilenames[7] = "2/Look_5.jpg";
imageFilenames[8] = "2/Look_6.jpg";
imageFilenames[9] = "2/Look_7.jpg";
imageFilenames[10] = "2/Look_8.jpg";
imageFilenames[11] = "2/Look_9.jpg";
imageFilenames[12] = "2/Look_10a.jpg";
imageFilenames[13] = "2/Look_10b.jpg";
imageFilenames[14] = "2/Look_11.jpg";
imageFilenames[15] = "2/Look_12.jpg";
imageFilenames[16] = "2/Look_13a.jpg";
imageFilenames[17] = "2/Look_13b.jpg";
imageFilenames[18] = "2/Look_14a.jpg";
imageFilenames[19] = "2/Look_14b.jpg";
imageFilenames[20] = "2/Look_15b.jpg";
imageFilenames[21] = "2/Look_15c.jpg";
imageFilenames[22] = "2/Look_15d.jpg";
imageFilenames[23] = "2/Look_16a.jpg";
imageFilenames[24] = "2/Look_16b.jpg";
imageFilenames[25] = "2/Look_17b.jpg";
imageFilenames[26] = "2/Look_17c.jpg";
imageFilenames[27] = "2/Look_18b.jpg";
imageFilenames[28] = "2/Look_18c.jpg";
imageFilenames[29] = "2/Look_19a.jpg";
imageFilenames[30] = "2/Look_19b.jpg";
imageFilenames[31] = "2/Look_20_detail.jpg";
imageFilenames[32] = "3/1.jpg";
imageFilenames[35] = "3/4Front.jpg";
imageFilenames[36] = "3/5.jpg";
imageFilenames[37] = "3/6Front.jpg";
imageFilenames[38] = "3/7.jpg";
imageFilenames[39] = "3/8.jpg";
imageFilenames[40] = "3/9.jpg";
imageFilenames[41] = "3/10.jpg";
imageFilenames[42] = "3/11.jpg";
imageFilenames[43] = "3/12.jpg";
imageFilenames[44] = "3/13.jpg";
imageFilenames[45] = "3/14.jpg";
imageFilenames[46] = "3/15.jpg";
imageFilenames[47] = "3/16.jpg";
imageFilenames[48] = "3/17.jpg";
imageFilenames[49] = "3/18.jpg";
imageFilenames[50] = "3/19.jpg";
imageFilenames[51] = "3/20Back.jpg";
imageFilenames[71] = "5/Look_1_front_back.jpg";
imageFilenames[72] = "5/Look_2.jpg";
imageFilenames[73] = "5/Look_3.jpg";
imageFilenames[74] = "5/Look_4.jpg";
imageFilenames[75] = "5/Look_5.jpg";
imageFilenames[76] = "5/Look_6_front_back.jpg";
imageFilenames[77] = "5/Look_7.jpg";
imageFilenames[78] = "5/Look_8.jpg";
imageFilenames[79] = "5/Look_9.jpg";
imageFilenames[80] = "5/Look_10_front_back.jpg";
imageFilenames[81] = "5/Look_11_front_back.jpg";
imageFilenames[82] = "5/Look_12.jpg";
imageFilenames[83] = "5/Look_13.jpg";
imageFilenames[84] = "5/Look_14_front_back.jpg";
imageFilenames[85] = "5/Look_15.jpg";
imageFilenames[86] = "5/Look_16.jpg";
imageFilenames[87] = "5/Look_17_front_back.jpg";
imageFilenames[88] = "5/Look_18.jpg";
imageFilenames[89] = "5/Look_19.jpg";
imageFilenames[110] = "7/S0501E.jpg";
imageFilenames[111] = "7/S0502E.jpg";
imageFilenames[112] = "7/S0503E.jpg";
imageFilenames[113] = "7/S0504E.jpg";
imageFilenames[114] = "7/S0505E.jpg";
imageFilenames[115] = "7/S0506E.jpg";
imageFilenames[116] = "7/S0507E.jpg";
imageFilenames[117] = "7/S0508E.jpg";
imageFilenames[118] = "7/S0509E.jpg";
imageFilenames[119] = "7/S0510E.jpg";
imageFilenames[120] = "7/S0511E.jpg";
imageFilenames[121] = "7/S0512E.jpg";
imageFilenames[122] = "7/S0513E.jpg";
imageFilenames[123] = "7/S0514E.jpg";
imageFilenames[124] = "7/S0515E.jpg";
imageFilenames[125] = "7/S0516E.jpg";
imageFilenames[126] = "7/S0517E.jpg";
imageFilenames[127] = "7/S0518E.jpg";
imageFilenames[128] = "7/S0519E.jpg";
imageFilenames[129] = "7/S0520E.jpg";
imageFilenames[130] = "8/2005_winter_08.jpg";
imageFilenames[131] = "8/2005_winter_07.jpg";
imageFilenames[132] = "8/2005_winter_03.jpg";
imageFilenames[133] = "8/2005_winter_04.jpg";
imageFilenames[134] = "8/2005_winter_10.jpg";
imageFilenames[135] = "8/2005_winter_09.jpg";
imageFilenames[136] = "8/2005_winter_17.jpg";
imageFilenames[137] = "8/2005_winter_11.jpg";
imageFilenames[138] = "8/2005_winter_20.jpg";
imageFilenames[139] = "8/2005_winter_13.jpg";
imageFilenames[140] = "8/2005_winter_16.jpg";
imageFilenames[141] = "8/2005_winter_19.jpg";
imageFilenames[142] = "8/2005_winter_06.jpg";
imageFilenames[143] = "8/2005_winter_18.jpg";
imageFilenames[144] = "8/2005_winter_15.jpg";
imageFilenames[145] = "8/2005_winter_02.jpg";
imageFilenames[146] = "8/2005_winter_22.jpg";
imageFilenames[147] = "8/2005_winter_21.jpg";
imageFilenames[148] = "8/2005_winter_14.jpg";
imageFilenames[149] = "8/2005_winter_12.jpg";
imageFilenames[150] = "8/2005_winter_01_01a.jpg";
imageFilenames[151] = "8/2005_winter_05.jpg";
imageFilenames[152] = "9/1_Suzanne.jpg";
imageFilenames[153] = "9/2_Agnieska.jpg";
imageFilenames[154] = "9/3_Aline.jpg";
imageFilenames[155] = "9/4_Aline_T.jpg";
imageFilenames[156] = "9/5_Laiane.jpg";
imageFilenames[157] = "9/6_Danielle.jpg";
imageFilenames[158] = "9/7_Cordula.jpg";
imageFilenames[159] = "9/8_Matthew.jpg";
imageFilenames[160] = "9/9_David.jpg";
imageFilenames[161] = "9/10_Steve.jpg";
imageFilenames[162] = "9/11_Sarah_S.jpg";
imageFilenames[163] = "9/12_Alexandra.jpg";
imageFilenames[164] = "9/13_Heidi.jpg";
imageFilenames[165] = "9/14_Josefine_front_back.jpg";
imageFilenames[166] = "9/15_Allison.jpg";
imageFilenames[167] = "9/16_TJ.jpg";
imageFilenames[168] = "9/17_Jamison.jpg";
imageFilenames[169] = "9/18_Melody.jpg";
imageFilenames[170] = "9/19_Vivian.jpg";
imageFilenames[171] = "9/20_Edward.jpg";
imageFilenames[172] = "9/21_Olga.jpg";
imageFilenames[173] = "9/22_Tania.jpg";
imageFilenames[174] = "9/23_Kosta.jpg";
imageFilenames[175] = "9/24_Jana.jpg";
imageFilenames[176] = "9/25_Mark.jpg";
imageFilenames[177] = "9/26_Jordan.jpg";
imageFilenames[178] = "9/27_Sonja.jpg";
imageFilenames[179] = "9/28_Koos.jpg";
imageFilenames[180] = "9/29_Bruna_front_back.jpg";
imageFilenames[181] = "10/FW06-01Coco.jpg";
imageFilenames[182] = "10/FW06-02Nadya.jpg";
imageFilenames[183] = "10/FW06-03OlgaSherer.jpg";
imageFilenames[184] = "10/FW06-04Kate.jpg";
imageFilenames[185] = "10/FW06-05Ajuma.jpg";
imageFilenames[186] = "10/FW06-06Kelsey.jpg";
imageFilenames[187] = "10/FW06-07Michelle.jpg";
imageFilenames[188] = "10/FW06-08Katherine.jpg";
imageFilenames[189] = "10/FW06-09Brittini.jpg";
imageFilenames[190] = "10/FW06-10Heidi.jpg";
imageFilenames[191] = "10/FW06-11Amy.jpg";
imageFilenames[192] = "10/FW06-12Coco.jpg";
imageFilenames[193] = "10/FW06-13Olga.jpg";
imageFilenames[194] = "10/FW06-14Yulia.jpg";
imageFilenames[195] = "10/FW06-15Kelsey.jpg";
imageFilenames[196] = "10/FW06-16Rosie.jpg";
imageFilenames[197] = "10/FW06-17Anastasia.jpg";
imageFilenames[198] = "10/FW06-18Daria.jpg";
imageFilenames[199] = "10/FW06-19Ingerid.jpg";
imageFilenames[200] = "10/FW06-20Ashley.jpg";
imageFilenames[201] = "10/FW06-21Ajuma.jpg";
imageFilenames[202] = "11/amanda.jpg";
imageFilenames[203] = "11/celine.jpg";
imageFilenames[204] = "11/christina.jpg";
imageFilenames[205] = "11/cisa.jpg";
imageFilenames[206] = "11/diana.jpg";
imageFilenames[207] = "11/gracie.jpg";
imageFilenames[208] = "11/helene.jpg";
imageFilenames[209] = "11/ingrid.jpg";
imageFilenames[210] = "11/jade.jpg";
imageFilenames[211] = "11/janine.jpg";
imageFilenames[212] = "11/jessica.jpg";
imageFilenames[213] = "11/kareen.jpg";
imageFilenames[214] = "11/kelsey.jpg";
imageFilenames[215] = "11/lexa.jpg";
imageFilenames[216] = "11/masha.jpg";
imageFilenames[217] = "11/michelli.jpg";
imageFilenames[218] = "11/oxana.jpg";
imageFilenames[219] = "11/temple.jpg";
imageFilenames[220] = "11/theresa.jpg";
imageFilenames[221] = "11/uliana.jpg";
imageFilenames[222] = "12/01_20.jpg";
imageFilenames[223] = "12/02_01.jpg";
imageFilenames[224] = "12/03_05.jpg";
imageFilenames[225] = "12/04_13.jpg";
imageFilenames[226] = "12/05_05.jpg";
imageFilenames[227] = "12/06_01.jpg";
imageFilenames[228] = "12/07_03.jpg";
imageFilenames[229] = "12/08_10_20.jpg";
imageFilenames[230] = "12/09_12_14.jpg";
imageFilenames[231] = "12/10_10.jpg";
imageFilenames[232] = "12/11_04.jpg";
imageFilenames[233] = "12/12_06_19.jpg";
imageFilenames[234] = "12/13_07.jpg";
imageFilenames[235] = "12/14_01_08.jpg";
imageFilenames[236] = "12/15_06_15.jpg";
imageFilenames[237] = "12/16_06_18.jpg";
imageFilenames[238] = "12/17_09.jpg";
imageFilenames[239] = "12/r1_10.jpg";
imageFilenames[240] = "12/r2_03.jpg";
imageFilenames[241] = "12/r3_07.jpg";
imageFilenames[242] = "12/r4_01.jpg";
imageFilenames[243] = "13/MaryPingSS08-01Raschell.jpg";
imageFilenames[244] = "13/MaryPingSS08-02Julia.jpg";
imageFilenames[245] = "13/MaryPingSS08-03Zuzanna.jpg";
imageFilenames[246] = "13/MaryPingSS08-04Amanda.jpg";
imageFilenames[247] = "13/MaryPingSS08-05ShuPei.jpg";
imageFilenames[248] = "13/MaryPingSS08-06Helena.jpg";
imageFilenames[249] = "13/MaryPingSS08-07Lily.jpg";
imageFilenames[250] = "13/MaryPingSS08-08Maria.jpg";
imageFilenames[251] = "13/MaryPingSS08-09Nanou.jpg";
imageFilenames[252] = "13/MaryPingSS08-010Alek.jpg";
imageFilenames[253] = "13/MaryPingSS08-011Theresa.jpg";
imageFilenames[254] = "13/MaryPingSS08-012Nathalie.jpg";
imageFilenames[255] = "13/MaryPingSS08-013Gaye.jpg";
imageFilenames[256] = "13/MaryPingSS08-014Irina.jpg";
imageFilenames[257] = "13/MaryPingSS08-015Cory.jpg";
imageFilenames[258] = "13/MaryPingSS08-016Reid.jpg";
imageFilenames[259] = "13/MaryPingSS08-017.Cindy.jpg";
imageFilenames[260] = "13/MaryPingSS08-018Ksenia.jpg";
imageFilenames[261] = "13/MaryPingSS08-019Britnee.jpg";
imageFilenames[262] = "13/MaryPingSS08-020Bruna.jpg";
imageFilenames[263] = "13/MaryPingSS08-021Zuzanna.jpg";

var blowupZ = 5000;
var drawInReverse = [];
var blinkers = [];
var resetBlinkers = false;

Event.observe(window, "load", init, false);

// Smoothly scroll to a div (event handler)
var handleScrollToId = function(e) {
	Event.stop(e);
	this.blur();
	this.onclick = function() { return false; };
	var scrollToEl = $(this.scrollToId);
	if (scrollToEl) {
		// Turn off other highlighting
		resetBlinkers = true;	
		$$(".highlighted").each(function(el) {
			el.removeClassName("highlighted");
		});
		// Highlight the link
		this.addClassName("highlighted");
		// Scroll to the target div
		new Effect.ScrollTo(scrollToEl, {offset: -80, duration: 1.0, afterFinish: function() { 
				// Highlight highlightable spans within the scrolled-to div
				scrollToEl.getElementsBySelector(".highlightable").each(function(el) {
					el.addClassName("highlighted");
				});
				blinkers = $$(".highlighted.blinkwhenhighlighted");
			}});
	}
}

// Blink
function blink(on) {
	setTimeout("blink(" + (on ? "false" : "true") + ");", on ? 1200 : 200);
	if (on && resetBlinkers) {
		resetBlinkers = false;
		$$(".blinkwhenhighlighted").each(function(el) { el.setStyle({visibility: "visible"}); });
	}
	else blinkers.each(function(el) { el.setStyle({visibility: on ? "visible" : "hidden"}); });
}

// Enlarge or shrink an image
function blowup() {
	var pieceId = parseInt(this.id.substr(5));
	if (this.origDims == undefined) this.origDims = this.getDimensions();
	if (this.enlarged) {
		this.enlarged = false;
		this.setStyle({position: "relative", top: "0px", left: "0px",
				width: this.origDims.width + "px", height: this.origDims.height + "px"})
		this.up(".image").setStyle({zIndex: 1});
		if (!this.hasBeenEnlarged) Element.remove(this.next(".loading"));
		this.src = "images/small/" + imageFilenames[pieceId];
	}
	else {
		var newHeight = 660;
		var newWidth = parseInt(this.origDims.width * (newHeight / this.origDims.height));
		if (newWidth > 966) {
			newWidth = 966;
			newHeight = parseInt(this.origDims.height * (newWidth / this.origDims.width));
		}
		this.enlarged = true;
		this.setStyle({position: "absolute",
				top: parseInt((this.origDims.height - newHeight) / 2) + "px", left: parseInt((966 - newWidth) / 2) + "px",
				width: newWidth + "px", height: newHeight + "px"});
		this.up(".image").setStyle({zIndex: blowupZ++});
		if (!this.hasBeenEnlarged) {
			Event.observe(this, "load", blowupLoaded);
			new Insertion.After(this, '<span class="loading" style="z-index: ' + (blowupZ++) + '; ' + 
					'top: ' + parseInt((this.origDims.height - newHeight) / 2) + 'px; ' +
					'left: ' + parseInt((966 - newWidth) / 2) + 'px;">Loading...</span>');
		}
		this.src = "images/large/" + imageFilenames[pieceId];
	}
}
function blowupLoaded(e) {
	var img = $(e.currentTarget || e.srcElement);
	img.hasBeenEnlarged = true;
	Event.stopObserving(img, "load", blowupLoaded);
	Element.remove(img.next(".loading"));
}

function init() {
	// Replace all links to named anchors, with a smooth scroll to the div that has id equal to the specified name
	// From http://scripty.walterdavisstudio.com/smooth.html
	$$("a").each(function(el) {
		if (el.href && el.href.indexOf("#") > -1) {
			el.scrollToId = el.href.split("#")[1];
			el.observe("click", handleScrollToId.bind(el));
		}
	});
	// Display the divs from bottom to top so the document stays scrolled to the bottom as it grows,
	// and load the images from bottom to top so the bottom ones load first.
	// This is done as recursive function so there can be a delay between each call via setTimeout,
	// so that the browser's page display appears progressive and so that the JavaScript is non-blocking.
	drawInReverse = $$("div.drawinreverse");
	displayDiv(drawInReverse.length - 1);
}
function displayDiv(i, keepDistanceToBottom, scrollTop) {
	if (keepDistanceToBottom == undefined) keepDistanceToBottom = 0;
	var el = drawInReverse[i];
	// Load images in this div, also in reverse order within the div 
	el.getElementsBySelector("img.drawinreverse").reverse().each(function(img) {
		img.src = "images/small/" + imageFilenames[parseInt(img.id.substr(5))];
		Event.observe(img, "click", blowup);
	});
	// Display this div
	el.setStyle({display: "block"});
	// Scroll to the bottom unless the user scrolls to somewhere other than where the 
	// previous call of this function scrolled to
	if ((scrollTop != undefined) && (scrollTop != document.body.scrollTop)) {
		keepDistanceToBottom = document.body.scrollHeight - document.body.scrollTop;
	}
	window.scrollTo(0, document.body.scrollHeight - keepDistanceToBottom);
	scrollTop = document.body.scrollTop;
	// Do the previous div
	if (i > 0) setTimeout(function() { displayDiv(i - 1, keepDistanceToBottom, scrollTop); }, 1);
	// Or display the navigation if we're done
	else {
		$$(".navigation").each(function(nav) { nav.setStyle({display: "block"}); });
		blink();
	}
}

