var imgpath = '/img/lookbook/';

var currentCategory;

var patternNos = new Object;
var lbCategories = new Array('collection', 'weddings', 'parties', 'kb', 'social');

var collection = new Array(
	'kelly-mint-wH', 'carolina-sunset-wH',

// added 2010-03-12
'chloe-anise_s',
'leigh-linen_kb',
'ava-rattan_s',
'lauren-cape_kbp',
'jackie-sunf_w',
'avery-hyd_w',
'ingrid-melon_w',
'chloe-gard_w',
'audrey-blu_kbp',
'lauren-saddle_w',
'brig-blanc_s',
'ava-ver_w',
'lauren-prep_s',
'ella-lemon_kbp',
'kelly-gold_kbp',
'leigh-seaf_kbp',
	
	'jane-links-sH', 'gingham-spearmint-kbH',
	'grace-sage-wH', 'jackie-coral-sH',

// added 2010-03-12
'ella-lemon_w',
'avery-hyd_kbp',
'kelly-peac-w',
'audrey-butt_kbp2',
'audrey-blu_kbp2',
'ava-dusk_s',
'avery-khaki_s',
'ava-soleil_p',
'brig-glace_s',
'chloe-zinn_p',
'diane-canary_kbp',
'leigh-apr_w',
'jackie-navy_s',
'coco-noir_p',
'kate-earth_s',

	'brigitte-rose-wH', 'diane-canary-pH',
	'patchwork-truff-kbH', 'jane-jeweled-sH',
	'avery-saffron-kbH', 'ella-spa-pH',
	'ingrid-tea-sH', 'audrey-blush-pH',
	'coco-mer-wH', 'ella-shell-kbH',
	'kelly-mint-sH', 'jackie-domino-sH',
	'diane-bark-pH', 'grace-sage-kbH',
	'brigitte-rose-sH', 'carolina-sangria-wH',
	'avery-moss-sH', 'ella-lemon-kbH',
	'jackie-kellygrn-pH', 'petite-marine-kbH',
	'kate-lilac-wH', 'audrey-aqua-pH',
	'patchwork-lemon-kbH', 'jane-eyelet-sH',
	'diane-bark-sH', 'ella-spa-wH',
	'audrey-blush-kbH', 'grace-sky-sH',
	'ingrid-orchid-wH', 'kelly-gold-pH',
	'petite-americ-kbH', 'ingrid-tea-wH',
	'carolina-greige-pH', 'jane-chinois-pH',
	'kate-grass-kbH', 'diane-palm-sH',
	'grace-creme-wH', 'gingham-golden-kbH'
	);

var weddings = new Array(
// added 2010-03-12
	'ingrid-melon_w', 'chloe-gard_w',
	'ava-ver_w', 'ella-lemon_w',
	'avery-hyd_w', 'jackie-sunf_w',
	'lauren-saddle_w', 'kelly-peac-w',
	'leigh-apr_w',

	'grace-sage-wH', 'brigitte-rose-wH',
	'carolina-sunset-wH', 'kelly-mint-wH',
	'ingrid-orchid-wH', 'coco-mer-wH',
	'carolina-sangria-wH', 'grace-creme-wH',
	'ella-spa-wH', 'ingrid-tea-wH',
	'kate-lilac-wH', 'kelly-gold-pH',
	'jackie-kellygrn-pH', 'carolina-greige-pH'
	);

var parties = new Array(
// added 2010-03-12
	'ava-soleil_p', 'coco-noir_p',
	'chloe-zinn_p',

	'ella-spa-pH', 'audrey-blush-pH',
	'ingrid-tea-wH', 'diane-canary-pH',
	'jackie-kellygrn-pH', 'patchwork-truff-kbH',
	'avery-saffron-kbH', 'diane-bark-pH',
	'audrey-aqua-pH', 'petite-americ-kbH',
	'kelly-gold-pH', 'kate-lilac-wH',
	'ella-lemon-kbH', 'grace-sage-kbH',
	'jane-chinois-pH', 'carolina-greige-pH',

	'leigh-linen_kb', 'audrey-blu_kbp',
	'lauren-cape_kbp', 'ella-lemon_kbp',
	'kelly-gold_kbp', 'avery-hyd_kbp',
	'audrey-butt_kbp2', 'leigh-seaf_kbp',
	'diane-canary_kbp', 'audrey-blu_kbp2'
	);

var kb = new Array(
// added 2010-03-12
	'leigh-linen_kb', 'audrey-blu_kbp',
	'lauren-cape_kbp', 'ella-lemon_kbp',
	'kelly-gold_kbp', 'avery-hyd_kbp',
	'audrey-butt_kbp2', 'leigh-seaf_kbp',
	'diane-canary_kbp', 'audrey-blu_kbp2',
	'chloe-zinn_p',

	'gingham-spearmint-kbH', 'petite-americ-kbH',
	'ella-lemon-kbH', 'patchwork-lemon-kbH',
	'audrey-blush-kbH', 'petite-marine-kbH',
	'avery-saffron-kbH', 'gingham-golden-kbH',
	'grace-sage-kbH', 'patchwork-truff-kbH',
	'ella-shell-kbH', 'kate-grass-kbH'
	);

var social = new Array(
// added 2010-03-12
	'chloe-anise_s', 'ava-rattan_s',
	'jackie-navy_s', 'brig-blanc_s',
	'ava-dusk_s', 'lauren-prep_s',
	'kate-earth_s', 'avery-khaki_s',
	'brig-glace_s',

	'jackie-coral-sH', 'avery-moss-sH',
	'brigitte-rose-sH', 'jane-links-sH',
	'diane-canary-pH', 'jane-jeweled-sH',
	'ingrid-tea-sH', 'diane-bark-sH',
	'jackie-domino-sH', 'kelly-mint-sH',
	'grace-sky-sH', 'jane-eyelet-sH',
	'diane-palm-sH', 'kelly-gold-sH'
	);

function addImages() {
	// add all large images and build pattern index (patternNos) into master array (collection)
	// (pattern index will be used to build sidebars for subsets of entire line)
	var mi = $('mainImgs');
	for (var l=0; l<lbCategories.length; l++) {
		var c = eval(lbCategories[l]);
		for (var i=0; i<c.length; i++) {
			// add large image
			var newi = document.createElement('img');
			newi.src = imgpath + c[i] + '.jpg';
			newi.reloadCount = "0";
			newi.id = lbCategories[l] + i + 'lg';
			newi.style.display = 'none';
			newi.className = 'lookbookMainImg';
			mi.appendChild(newi);
			
			// save this image's index in the collection array
			if (lbCategories[l] == 'collection') {
				var c2 = c[i].replace(/\-/g, '');
				patternNos[c2] = i;
			}
		}
	}
}
	
function buildSidebar(sb) {
	var leftSidebarImage = true;
	var a = eval(sb);
	var s = document.createElement('div');
	s.id = sb + 'Sidebar';
	s.className = 'sidebar show';
	var sr, si;
	for (var i=0; i<a.length; i++) {
		// start sidebar row
		if (leftSidebarImage) {
			sr = document.createElement('div');
			sr.className = 'lookbookScrollItemRow';
		}
		
		// build sidebar image
		si = document.createElement('img');
		si.id = sb + i;
		si.className = 'lookbookScrollItem';
		si.src = imgpath;

/*
		if (sb == 'collection') {
			si.src += i;
		}
		else {
			var thea = a[i].replace(/\-/g, "");
			//si.src += eval('patternNos.'+thea);
si.setAttribute('pattern', a[i]);
			si.src += (patternNos[thea] || (patternNos[thea] == 0)) ? patternNos[thea] : '999';
		}
*/
		si.src += a[i] + '_th';
		
		si.src += '.jpg';
		si.reloadCount = "0";
		if (leftSidebarImage) {
			si.style.left = '0px';
		}
		else {
			si.style.right = '0px';
		}
		si.onmouseover = function () { itemOver(this); }
		si.onmouseout  = function () { itemOut(this); }
		si.onclick     = function () { return lookbookShowSelection(this); }
		sr.appendChild(si);
		
		// add row to sidebar
		if (!leftSidebarImage) {
			s.appendChild(sr);
		}
		
		leftSidebarImage = !leftSidebarImage;
	}

	// add partial last row to sidebar if nec.
	if (!leftSidebarImage) {
		s.appendChild(sr);
	}
	
	// add sidebar to container
	$('lookbookScrollContainer').appendChild(s);
}

// preload important images
function preload() {
	var img = new Image;
	for (var t=0; t<lbCategories.length; t++) {
		img.src = imgpath + 'lookbook-tab-' + lbCategories[t] + '.gif';
	}
	img.src = '/img/scroll-up.gif';
	img.src = '/img/scroll-down.gif';
}

function lookbookMakeAllUnselected() {
	var i = document.getElementsByTagName('img');
	for (var n=0; n<i.length; n++) {
		if (i[n].className == "lookbookScrollItem") {
			i[n].nowSelected=false;
			i[n].style.borderColor='white';
		}
	}
	currentLookbookSelection = null;
}
function lookbookMakeSelected(i) {
	var scrollByAmt = i.offsetTop + i.clientHeight - $('collectionSidebar').clientHeight;
	if (scrollByAmt > 0) {
		// do something
	}
	lookbookMakeAllUnselected();
	$(i.id).nowSelected=true;
	$(i.id).style.borderColor='#857E78';
	currentLookbookSelection = i.id;
}
function lookbookShowSelection(i) {
	// i (image element) required
	if (!i) return;
	if (i.id == currentLookbookPatternId) return;

	if (showCategoryTimeout) clearTimeout(showCategoryTimeout);

	// change big image
	if (!($(i.id +'lg').complete || $(i.id +'lg').style.width))
		$(i.id +'lg').src = $(i.id +'lg').src; // reload
	Effect.Fade((currentLookbookPatternId || 'default')+'lg', { duration:1, from:1.0, to:0.0 });
	Effect.Appear(i.id +'lg', { duration:1, from:0.0, to:1.0 });
	currentLookbookPatternId = i.id;

	// place a border around the clicked sidebar choice
	lookbookMakeSelected(i);
	return false;
}
function lookbookClearTabs() {
	// make all the tabs unselected
	var d = document.getElementsByTagName('a');
	for (var n=0; n<d.length; n++) {
		if (d[n].className.indexOf('tab ') == 0) {
			d[n].className = d[n].className.replace("Over", "");
		}
	}
}
function hideSidebars() {
	// hide all the sidebar groups
	var d = document.getElementsByTagName('div');
	for (var n=0; n<d.length; n++) {
		if (d[n].className.indexOf('sidebar') == 0) {
			d[n].className = 'sidebar hide';
		}
	}
}

var showCategoryTimeout;

function showCategory(tab, delay) {
	if (currentCategory == tab.id) return;
	
	if (delay == null) delay = 0;
	
	hideSidebars();
	lookbookMakeAllUnselected();
	if (!$(tab.id+'Sidebar')) buildSidebar(tab.id);
	$(tab.id+'Sidebar').className = 'sidebar show';
	
	lookbookClearTabs();
	lookbookTabOver(tab);
	
	currentCategory = tab.id;
	CSBfleXcroll(currentCategory+'Sidebar');
	
	// show first image in category
	showCategoryTimeout = setTimeout("lookbookShowSelection($(currentCategory+'0'))", delay);
	
	return false;
}
function lookbookTabOver(tab) {
	if (currentCategory != tab.id)
		tab.className += 'Over';
}
function lookbookTabOut(tab) {
	if (currentCategory != tab.id)
		tab.className = tab.className.replace("Over", "");
}
function lookbookPrev() {
	var p = currentCategory;
	var last = eval(p).length - 1;
	var n;
	if (!currentLookbookPatternId) {
		n = last;
	}
	else {
		if (match = currentLookbookPatternId.match(/^\D+(\d+)$/)) {
			n = parseInt(match[1])-1;
			if (n < 0) n = last;
		}
	}
	lookbookShowSelection($(p+n));
}
function lookbookNext() {
	var p = currentCategory;
	var last = eval(p).length - 1;
	var n;
	if (!currentLookbookPatternId) {
		n = 0;
	}
	else {
		if (match = currentLookbookPatternId.match(/^\D+(\d+)$/)) {
			n = parseInt(match[1])+1;
			if (n > last) n = 0;
		}
	}
	lookbookShowSelection($(p+n));
}

function init() {
	preload();
	addImages();
	showCategory($('collection'), 2000);
}

window.onload = init;
