/* Quinze-Mille */

///////////////////////////////////////////////////////////////////////////////////
// DOM Ready

$(document).ready(function() {
	////////////////////////////////////////////////////////////////////////////
	// Génération des identifiants Slides
	//    name[Slider]       : définis ce calque comme faisant partie des calques mobiles
	//    id="currentSlide"  : seul le Slide actif doit posséder cette propriété (id réservé)
	
	var x = 0;
	$('body').append('<div id="Slide" style="position: absolute; top: 0; left: 0; width: 100%; overflow: hidden;"><div id="Slider" style="position: absolute; top: 0 left: 0; overflow: visible"></div></div>');

	$('#Main > div[name=Slide], #Main > div[name=SlideBoutique]').each(function (i, e) {
			$('#Slider').append(e);
			
			$(this).css('position', 'absolute');
			$(this).css('top', '0');
			$(this).css('left', x+'px');
			
			if($(this).attr('name') == 'Slide') {
				if($(this).parent().find('#currentSlide').length <= 0)
					$(this).attr('id', 'currentSlide');
				
				x += $(this).width();
			}
			else {
				if((x - ($(this).width() + $(window).width()) / 2) < 0) {
					$('#currentSlide').attr('id', '');
					$(this).attr('id', 'currentSlide');
				}
				
				$(this).css('width',( $(this).find('img').width() + $(this).find('ul').width() + 175) + 'px');
				x += $(this).width();
			}
		});
	
	////////////////////////////////////////////////////////////////////////////
	// Centrage horizontale du calque principal (#Main), automatique
	
	$('#Slide').css('height', $('#Main').css('height'));		// Le calque Main se déplace, et avec lui, l'ensemble des pages de contenus	
	$('#Slider > div[name=Slide]').css('opacity', '0');
	
	////////////////////////////////////////////////////////////////////////////
	// Initialisation des Slides
	
	setNavigation();
	moveToCurrentSlide();
	$(window).resize();	
	
	////////////////////////////////////////////////////////////////////////////
	// Création des FancyBox s'il y a lieu
	
	if($('.DespPlus a').length > 0) {
		$('.DespPlus').parent().parent().find('> img').css('cursor', 'pointer');
		$('.DespPlus').parent().parent().find('> img').click(function() {
			$(this).parent().find('li.DespPlus > a').trigger('click');
		});
		
		$('.DespPlus').find('a').fancybox({
			'cyclic'			:true,
			'titleShow'			: true,
			'overlayOpacity'	: 0.7,
			'overlayColor'		: '#000',
			'titlePosition'		:'over', 
			'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
								return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') +(currentArray.length > 1?'<span id="fancyNav"><a href="#" name="imagePrecedente"> < image précédente</a> | <a href="#" name="imageSuivante"> image suivant > </a></span>':'')+'</span>';
								},
			'onComplete'		: function() {
									$('span#fancyNav a[name=imagePrecedente]').click(function () { $.fancybox.prev(); });
									$('span#fancyNav a[name=imageSuivante]').click(function () { $.fancybox.next(); });
								}
		});
	}
	
	if($('ul.rea a').length > 0) {
		$('ul.rea').find('a').fancybox({
			'cyclic'			:true,
			'titleShow' 		:true, 
			'overlayOpacity' 	:0.7, 
			'overlayColor' 		:'#000',
			'titlePosition'		:'over', 
			'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
								return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') +(currentArray.length > 1?'<span id="fancyNav"><a href="#" name="imagePrecedente"> < image précédente</a> | <a href="#" name="imageSuivante"> image suivant > </a></span>':'')+'</span>';
								},
			'onComplete'		: function() {
									$('span#fancyNav a[name=imagePrecedente]').click(function () { $.fancybox.prev(); });
									$('span#fancyNav a[name=imageSuivante]').click(function () { $.fancybox.next(); });
								}
		});
	}

	////////////////////////////////////////////////////////////////////////////
	// Formulaire de contact

	$('#contactform').submit(function(){
		var action = $(this).attr('action');
		
		$('#contactform #submit').attr('disabled','disabled').after('<img src="images/form/ajax-loader.gif" class="loader" />');
		
		$("#message").slideUp(750,function() {
		$('#message').hide();			
		
		$.post(action, { 
			name: $('#name').val(),
			adress: $('#adress').val(),
			codepostal: $('#codepostal').val(),
			pays: $('#pays').val(),
			email: $('#email').val(),
			comments: $('#comments').val(),
		},
			function(data){
				document.getElementById('message').innerHTML = data;
				$('#message').slideDown('slow');
				$('#contactform img.loader').fadeOut('fast',function(){$(this).remove()});
				$('#contactform #submit').attr('disabled',''); 
				if(data.match('success') != null) $('#contactform').slideUp('slow');
				
			}
		);
		
		});
		
		return false; 
	});
});

///////////////////////////////////////////////////////////////////////////////////
// Event Resize Page

$(window).resize(function() {
	////////////////////////////////////////////////////////////////////////////
	// Centrage verticale du site
	
	$('#Wrap').css('position', 'relative');
	$('#Wrap').css('top', Math.max(0, Math.floor(($(window).height() - $('#Wrap').innerHeight()) / 2))+'px');
	
	$('body').css('background-position', 'center '+(parseInt($('#Wrap').css('top')) - 135)+'px');
	
	////////////////////////////////////////////////////////////////////////////
	// Recalage de la navigation
	
	$('#Slide').css('top', (parseInt($('#Wrap').css('top')) + parseInt($('#Header').css('height')) + parseInt($('#Header').css('margin-bottom')))+'px');	
	$('#Slider').css('left', Math.max(0, Math.floor(($(window).width() - $('#Wrap').innerWidth()) / 2))+'px');
});

///////////////////////////////////////////////////////////////////////////////////
// Mouvement de navigation

function moveToCurrentSlide() {
	var dx = -parseInt($('#currentSlide').css('left'));
	
	$('#Slider > div').each(function() {
			$(this).clearQueue().animate({'left': (parseInt($(this).css('left')) + dx)+'px', 'opacity': (($(this).attr('name') == 'SlideBoutique' || $(this).attr('id')=='currentSlide')?'1':'0')}, 'slow', 'easeInOutQuad');
		});
		
	if($('#currentSlide').length <= 0 || $('#currentSlide').prev().length <= 0)
		$('#prodprecedent').fadeOut('fast');
	if($('#currentSlide').length > 0 && $('#currentSlide').prev().length > 0)
		$('#prodprecedent').fadeIn('fast');
		
	if($('#currentSlide').length <= 0 || $('#currentSlide').next().length <= 0)
		$('#prodsuivant').fadeOut('fast');
	if($('#currentSlide').length > 0 && $('#currentSlide').next().length > 0)
		$('#prodsuivant').fadeIn('fast');
}

///////////////////////////////////////////////////////////////////////////////////
// Définition de la navigation

function setNavigation() {
	$('body').prepend('<div id="navLeft" style="position: absolute; left: 0; top: 0; width: 150px; z-index: 1000; background: #fff;"></div>');
	$('body').append('<div id="navRight" style="position: absolute; left: 0; top: 0; width: 150px; z-index: 1000; background: #fff;"></div>');
	
	$('#NavIntra').empty();
	$('#NavIntra').append('<a id="prodprecedent" href="#"><span class="Onhover">Retour</span></a><a id="prodsuivant" href="#"><span class="Onhover">Suite</span></a>');

	////////////////////////////////////////////////////////////////////////////
	// Click Navigation
	
	$('#prodprecedent').click(function () {
			if($('#currentSlide').length > 0 && $('#currentSlide').prev().length > 0)
				$('#currentSlide').attr('id', '').prev().attr('id', 'currentSlide');
				
			moveToCurrentSlide();
			return false;
		});
	$('#prodsuivant').click(function () {
			if($('#currentSlide').length > 0 && $('#currentSlide').next().length > 0)
				$('#currentSlide').attr('id', '').next().attr('id', 'currentSlide');
				
			moveToCurrentSlide();
			return false;
		});

	////////////////////////////////////////////////////////////////////////////
	// Texte Navigation
	
	if($('#currentSlide').length > 0 && $('#currentSlide').prev().length > 0) {
		if($('#currentSlide').prev().attr('name') === 'Slide')
			$('#prodprecedent').find('span.Onhover').html('Retour');
		else {
			$('#prodprecedent').find('span.Onhover').html('Produit précédent');
			$('#prodprecedent').addClass('boutique');
		}
	}
		
	if($('#currentSlide').length > 0 && $('#currentSlide').next().length > 0) {
		if($('#currentSlide').next().attr('name') === 'Slide')
			$('#prodsuivant').find('span.Onhover').html('Suite');
		else {
			$('#prodsuivant').find('span.Onhover').html('Produit suivant');
			$('#prodsuivant').addClass('boutique');
		}
	}
				
}

