document.addEvent('domready', init);

function init() {
	
	// SLIDESHOW
	
	$('grid').setStyle('opacity', 0.2);
	
	var timer;
	var current = 0;
	var firstload = 1;
	var currentSlide = 0;
	var slideshowItems;
	var stopSlide = false;
	var slideshowTarget = $('slides').getElement('ul');	
	
	function slideshow(etat) {
		
		var slideshowLength = slideshowItems.length - 1;
		
		if(etat) {
			
			$clear(timer);
			stopSlide = true;
			
			if(etat == 'next') {
					
				if(current < slideshowLength) current++;
				else current = 0;
			
			} else if(etat == 'back') {
				
				if(current <= 0) current = slideshowLength;
				else current--;
				
			} else {
				
				current = 0;
				stopSlide = false;
			
			}
			
		}
		
		$('paginate').getElement('.current_image').set('html', (current + 1));
		$('paginate').getElement('.total_image').set('html', (slideshowLength + 1));
		
		var myImages = new Asset.images([slideshowItems[current]], {
			onComplete: function() {
				
				var slideItem = new Element('li', {
					'id': 'slide_' + currentSlide,
					'styles': {
						'background-image':'url(' + slideshowItems[current] + ')',
						'z-index': currentSlide
					}
				});
				
				slideItem.slideTween = new Fx.Tween(slideItem, {
					duration: 1000, 
					transition: Fx.Transitions.Quart.easeOut,
					link: 'cancel',
					onComplete: function(el) {
						
						if(!stopSlide) {
							
							var delay = 3000;
							if(firstload) delay = 2000;
							
							timer = (function() {
									  
									if(current < slideshowLength) current++;
									else current = 0;
									slideshow();
													 
							}).delay(delay);
						
						} else {
							
							$clear(timer);
							
						}
								
						firstload = 0;
						currentSlideId = slideItem.get('id').split('_').pop().toInt()
						if($('slide_' + (currentSlideId - 2))) $('slide_' + (currentSlideId - 2)).destroy();

					}
				}).set('opacity', firstload);
		
				slideItem.slideTween.start('opacity', 1);
				slideItem.inject(slideshowTarget, 'top');
				currentSlide++;

			}
			
		});
		
	}
		
	$('paginate').getElement('a.gonext').addEvent('click', function (evt) {
																	 
		slideshow('next');
				
	});
	
	$('paginate').getElement('a.goback').addEvent('click', function (evt) {
																	 
		slideshow('back');
				
	});
		
	$('nav').getElement('.contact').addEvent('click', function(evt) {
		
		$('contact').setStyle('display','block');
	
	});
	
	$('contact').getElement('.close_contact').addEvent('click', function(evt) {
		
		$('contact').setStyle('display','none');
	
	});
	
	$('gohome').getElement('a').addEvent('click', function(evt) {
		
		window.location.href = $('nav').getElement('a.section').get('href');
	
	});
	
	var idsec = 0;
	var init = true;
	
	$('nav').getElements('a.section').each(function(elm, i) {
											
		elm.addEvents({
			'mouseenter':function(evt) {
				
				if(idsec !== i) {
					
					this.getElement('.off').setStyle('display', 'none');
					this.getElement('.active').setStyle('display', 'none');
					this.getElement('.hover').setStyle('display', 'block');
				
				}
				
			},
			'mouseleave':function(evt) {
				
				if(idsec !== i) {
				
					this.getElement('.off').setStyle('display', 'block');
					this.getElement('.active').setStyle('display', 'none');
					this.getElement('.hover').setStyle('display', 'none');
				
				}
				
			}
			
		});
		
	});
	
	var memClick = false;
	
	var historyListner = (function() {
		
		var currentClick;
		
		if(window.location.href.split('#/').length > 1) {
			
			currentClick = window.location.href.split('#/').pop().split('/').shift();
			
		} else {
			
			currentClick = $('nav').getElement('a.section').get('href').split('#/').pop().split('/').shift();

		}
		
		if(memClick !== currentClick)	{
			
			if(!init) {
				
				slideshowTarget.getElements('li').each(function(el, i) {
						
					el.slideTween.cancel();
																
				});
				
			}
			
			init = false;
			slideshowTarget.empty();
			
			var mid = $('t_' + currentClick).get('href').split('#/').pop().split('/').shift();
			
			new Request({
				method: 'post', 
				url: 'json.php',
				data: 'id=' + mid,
				evalScripts: true,
				link: 'cancel',
				onSuccess: function(responseText, responseXML) {
					
					slideshowItems = responseText.split(',');
					slideshow('new');
					
				}
			}).send();	
			
			$('nav').getElements('a.section').each(function(elm, i) {
				
				if(elm.get('id') == 't_' + currentClick) idsec = i;
			
			});
			
			$('paginate').getElement('.client_name').set('html', 'client ' + $('t_' + currentClick).getElement('img').get('alt').toLowerCase());
			$('nav').getElements('a.section .off').setStyle('display', 'block');
			$('nav').getElements('a.section .active').setStyle('display', 'none');
			$('nav').getElements('a.section .hover').setStyle('display', 'none');
			$('t_' + currentClick).getElement('.off').setStyle('display', 'none');
			$('t_' + currentClick).getElement('.active').setStyle('display', 'block');
			
			memClick = currentClick;
			
		}
							   
	}).periodical('100');

	$('nav').getElement('a.section').fireEvent('click');
	
}

