
// *****************************
// jQuery code for DEFAULT.ASPX
// *****************************

var carouselPhotos_items = [
	{ imagesrc:'Noche2009-001.jpg', title:'Noche de Gourmet 2009' },
	{ imagesrc:'Noche2009-023.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-024.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-025.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-026.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-027.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-028.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-029.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-030.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-031.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-032.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-033.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-034.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-035.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-036.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-037.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-039.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-040.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-041.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-042.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-043.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-044.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-045.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-046.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-047.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-048.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-049.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-051.jpg', title:'Noche de Gourmet 2009 Red Carpet' },
	{ imagesrc:'Noche2009-052.jpg', title:'Noche de Gourmet 2009 Red Carpet' }
];

function carouselPhotos_preload()
{
	for (var i = 0; i < carouselPhotos_items.length; i++)
	{
		var carouselImageSrc = "photos/thumbs/" + carouselPhotos_items[i].imagesrc;
		var carouselImage = $("<img />").attr("src", carouselImageSrc);
	}
}

function carouselPhotos_getItemHTML(item)
{
	return '<a href="photos/' + item.imagesrc + '" title="' + item.title + '"><img src="photos/thumbs/' + item.imagesrc + '" alt="' + item.title + '" /></a>';
};

function carouselPhotos_itemLoad(carousel, state)
{
	for (var i = carousel.first; i <= carousel.last; i++)
	{
		if (carousel.has(i))
			continue;
		
		if (i > carouselPhotos_items.length)
			break;
		
		// Create an object from HTML
		var item = $(carouselPhotos_getItemHTML(carouselPhotos_items[i - 1])).get(0);
		
		// Apply thickbox
		tb_init(item);
		
		carousel.add(i, item);
	}
};


function carouselPhotos_itemVisibleIn(carousel, item, i, state, evt)
{
    // The index() method calculates the index from a given index which is out of the actual item range
    var idx = carousel.index(i, carouselPhotos_items.length);
    
	// Create an object from HTML
	var item = $(carouselPhotos_getItemHTML(carouselPhotos_items[idx - 1])).get(0);
	
	// Apply thickbox
	tb_init(item);
	
	carousel.add(i, item);
};

function carouselPhotos_itemVisibleOut(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

$(document).ready(function() {
	
	// Shuffle the carousel images
	carouselPhotos_items = $.shuffle(carouselPhotos_items);
	
	// Preload the carousel images
	carouselPhotos_preload();
	
	// Fire up the carousel
	$("#carouselPhotos").jcarousel({
		vertical: true,
		buttonPrevHTML: null,
		buttonNextHTML: null,
		scroll: 2,
		auto: 5,
		animation: "fast",
		wrap: "circular",
		itemLoadCallback: {onBeforeAnimation: carouselPhotos_itemLoad},
		itemVisibleInCallback: {onBeforeAnimation: carouselPhotos_itemVisibleIn},
		itemVisibleOutCallback: {onAfterAnimation: carouselPhotos_itemVisibleOut}
	});
});
