window.addEvent('domready',function() {
	/* settings */
	var showDuration = 4000;
	var container = $('slideshow-container');
	var images = container.getElements('img');
	/*var caption = container.getElementsByClassName('csc-textpic-text');
	for(var ic=1;ic<caption.length;ic++){
		caption[ic].fade('out');
	}
	*/
	var titre = container.getElements('h1');
	for(var ic=1;ic<titre.length;ic++){
		titre[ic].fade('out');
	}
	
	var currentIndex = 0;
	var interval;
	var toc = [];
	var tocWidth = 15;
	var tocActive = 'toc-active';
	
	/* new: starts the show */
	var start = function() { interval = show.periodical(showDuration); };
	var stop = function() { $clear(interval); };
	/* worker */
	var show = function(to) {
		
		images[currentIndex].fade('out');
		//caption[currentIndex].fade('out');
		titre[currentIndex].fade('out');
		toc[currentIndex].removeClass(tocActive);
		
		currentIndex = ($defined(to) ? to : (currentIndex < images.length - 1 ? currentIndex+1 : 0));
		images[currentIndex].fade('in');
		//caption[currentIndex].fade('in');
		titre[currentIndex].fade('in');
		
		toc[currentIndex].addClass(tocActive);
	};
	
	/* new: control: table of contents */
	images.each(function(img,i){
		toc.push(new Element('a',{
			text: i+1,
			href: '#',
			'class': 'toc' + (i == 0 ? ' ' + tocActive : ''),
			events: {
				click: function(e) {
					if(e) e.stop();
					stop();
					show(i);
				}
			},
			styles: {
				left: ((i + 1) * (tocWidth))
			}
		}).inject(container));
		if(i > 0) { img.set('opacity',0); }
	});
	
	/* new: control: next and previous */
	var next = new Element('a',{
		href: '#',
		id: 'next',
		text: '>>',
		events: {
			click: function(e) {
				if(e) e.stop();
				stop(); show();
			}
		}
	}).inject(container);
	var previous = new Element('a',{
		href: '#',
		id: 'previous',
		text: '<<',
		events: {
			click: function(e) {
				if(e) e.stop();
				stop(); show(currentIndex != 0 ? currentIndex -1 : images.length-1);
			}
		}
	}).inject(container);
	
	/* new: control: start/stop on mouseover/mouseout */
	container.addEvents({
		mouseenter: function() { stop(); },
		mouseleave: function() { start(); }
	});
	
	/* start once the page is finished loading */
	window.addEvent('load',function(){
		start();
	});
});

