google.load('dojo', '1.5');

google.setOnLoadCallback(function() {
	if (slideshowImages) {
		dojo.require('dojo.data.ItemFileReadStore');
		dojo.require('dojox.image.SlideShow');
		
		function init() {
			Slideshow.createDataStore();
			Slideshow.createSlideshow();
		}
		
		setTimeout(function(){
			dojo.addOnLoad(init);
		}, 100);
	}
});

Slideshow = {
	count: null,
	dataStore: null,
	slideshow: null,
		
	changeIndex: function(e) {
		var li = e.currentTarget;
		var newIndex = parseInt(dojo.attr(li, 'index'));
		
		Slideshow.slideshow.showImage(newIndex);
	},
	
	createDataStore: function() {
		Slideshow.dataStore = new dojo.data.ItemFileReadStore({
			data: slideshowImages
		});
	},
	
	createSlideshow: function() {
		var element = dojo.byId('slideshow');
		var count = 0;
		var navigation = dojo.create('div', {
			'class': 'navigation'
		});
		var navigationLeft = dojo.create('div', {
			'class': 'navigation-left left'
		});
		var navigationCenter = dojo.create('div', {
			'class': 'navigation-center left'
		});
		var navigationRight = dojo.create('div', {
			'class': 'navigation-right left'
		});
		var navigationClear = dojo.create('div', {
			'class': 'clear'
		});

		
		Slideshow.slideshow = new dojox.image.SlideShow({
			autoLoad: true,
			autoStart: true,
			fixedHeight: true,
			hasNav: false,
			imageHeight: 350,
			imageLargeAttr: 'image',
			imageWidth: 700,
			loop: true,
			noLink: true,
			showTitle: false,
			slideshowInterval: 5,
			titleAttr: 'title'
		});
		Slideshow.slideshow.placeAt(element);
		Slideshow.slideshow.innerWrapper.className = 'innerWrapper';
		
		Slideshow.slideshow.setDataStore(Slideshow.dataStore, {
			query: {}
		});
		
		var ul = dojo.create('ul', null, navigation);
		Slideshow.count = slideshowImages.items.length - 1;
		
		for (i = 0; i <= Slideshow.count; i++) {
			var li = dojo.create('li', {
				'index': i
			}, ul);
			
			dojo.connect(li, 'onclick', function(e) {
				Slideshow.changeIndex(e);
			});
		}
		
		dojo.place(ul, navigationCenter)
		dojo.place(navigationLeft, navigation);
		dojo.place(navigationCenter, navigation);
		dojo.place(navigationRight, navigation);
		dojo.place(navigationClear, navigation);
		dojo.place(navigation,Slideshow.slideshow.innerWrapper);
		
		var navigationItems = dojo.query('#slideshow .navigation ul li');
		
		dojo.connect(Slideshow.slideshow, 'showImage', function() {
			dojo.forEach(navigationItems, function(li) {
				var index = parseInt(dojo.attr(li, 'index'));
				
				if (dojo.hasClass(li, 'active'))
					dojo.removeClass(li, 'active');
				
				if (index == Slideshow.slideshow.imageIndex)
					dojo.addClass(li, 'active');
			});
		});
	}
};
