/* PLUGINS
--------------------------------------------*/
$.fn.delay = function(time, callback){
    // Empty function:
    jQuery.fx.step.delay = function(){};
    // Return meaningless animation, (will be added to queue)
    return this.animate({delay:1}, time, callback);
}



/* FUNCTIONS ALLIANCES
--------------------------------------------*/

function clickVignette(event) {
	
	// on désactive le click des vignettes le temps de l'animation
	$('#vignettes ul li a').unbind('click',clickVignetteHandler);
	
	// délai avant la disparition de la vignette
	var delai = 0;
	// on récupère la vignette cliquée
	var target = event.target || event.srcElement;
	
	// récupération d'une éventuelle alliance affichée
	var currentImg = document.getElementById('alliance').getElementsByTagName('img')[0];
	
	// si alliance affichée
	if(currentImg)
	{
		if(target.hasChildNodes())
		// si alliance affichée = vignette cliquée (e.target = <a> qui contient <img />)
		{
			return;
		}
		else
		{
			// on laisse le temps de...
			delai = 1500;
			// restaurer la vignette actuellement cachée et de...
			restoreVignette(currentImg.id);
			// cacher l'alliance affichée
			hideAlliance();
		}
	}
	// on cache la vignette puis on affiche l'alliance
	$(target)
	.delay(delai)
	.animate(
		{left: '113px'},
		1500,
		function() { 
			displayAlliance(target.id);
		}
	);
	// on masque le 'pointer' de la vignette vide (<a>, parent de <img />)
	$(target).parent().css('cursor', 'default');
	// en attendant tout ça, on affiche le loader dans le container '#alliance'	
	$('#alliance').addClass('loading');
	return false;
}

// affiche la grande alliance
function displayAlliance(vignetteId) {
	
	// récupération du nom de fichier à partir de l'id de la vignette 
	var filename = vignetteId.substr(9);
	// récupération de la catégorie courante à partir du nom de fichier
	var cat = filename.substring(0,7);
	
	// on crée l'image de l'alliance
	var img = new Image();	
	
	$(img)
    // lorsque le chargement de l'image est effectué, 
	.load(function () 
		   {
		// au container '#alliance',
		// on ajoute l'image
				$('#alliance').append(this);
				// puis on anime l'image pour la faire apparaître et ensuite on "réactive" le click sur les vignettes
				$(this).animate(
					{left: '0'},
					1000,
					function() 
					{
						$('#vignettes ul li a').bind('click',
							clickVignetteHandler
						)
					}
				);
		})
	// *finalement*, définition de quelques attributs pour la nouvelle image
	.attr('id', filename)
	.attr('src', 'uploads/images/' + cat + '/' + filename +'.jpg')
	.css('cursor', 'pointer');
	
	/*
	$(img).attr('id', filename).attr('src', 'uploads/images/' + cat + '/' + filename +'.jpg').css('cursor', 'pointer');
	$(img).animate(
					{left: '0'},
					1000,
					function() 
					{
						$('#vignettes ul li a').bind('click',
							clickVignetteHandler
						)
					}
				);
	*/
	// ajout de l'événément 'click'
	addEvent(img, 'click', clickAlliance, false);	
}

// click sur la grande alliance
function clickAlliance(event) {
	// récup de l'image cliquée (alliance)
	var target = event.target || event.srcElement;
	// restauration de la vignette correspondante (via id de l'image)
	restoreVignette(target.id);
	// disparition de l'alliance
	$(target).animate(
		{left: '-452px'},
		1500,
		deleteAlliance
	);
}

// mouvement pour cacher la grande alliance
function hideAlliance() {
	$('#alliance img').animate(
		{left: '-452px'},
		1500,
		deleteAlliance
	);		
}

// efface la grande vignette
function deleteAlliance() {
	$('#alliance img').remove();
}

// remet la vignette alliance en place
function restoreVignette(filename) {
	$('#vignette_'+filename).animate(
		{left: '0'},
		1500
	);		
	// on restaure le 'pointer' de la vignette vide (<a>, parent de <img />)
	$('#vignette_'+filename).parent().css('cursor', 'pointer');
}


/* ONLOAD...
--------------------------------------------*/
/*
function setVignettes()
{
	$('#vignettes ul li a').click(function(){return false});
	$('#vignettes ul li a img')
	.bind('click',
		clickVignetteHandler
	);

	
}
*/
function clickVignetteHandler(event)
{
		$('#vignettes ul li a').unbind('click',clickVignetteHandler);
	clickVignette(event);
	return false;
}

// affichage curseur pointer sur menus...
function setCursor() 
{
	$('nav ul, nav a')
	.css('cursor', 'pointer');	
}


(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)


jQuery(document).ready(function(){
	
	jQuery.preLoadImages("/uploads/images/accueil/accueil1.jpg", "/uploads/images/accueil/accueil2.jpg","/uploads/images/accueil/accueil3.jpg","/uploads/images/accueil/accueil4.jpg","/uploads/images/accueil/accueil5.jpg","/uploads/images/accueil/accueil6.jpg");

	$('#vignettes ul li a').bind('click',
		clickVignetteHandler
	);
	setCursor();
	$("input[type=text]").focus(function(){
    	// Select field contents
    	this.select();
	});
	$('#alliance img').css({left:'0px'});
	
	
	
	var map;
	function initMap(){

	var latlng = new google.maps.LatLng(50.5125299, 5.2406999)


				var myOptions = {
					zoom:16,
				  center: latlng,
				  mapTypeId: google.maps.MapTypeId.ROADMAP
				};
				$('#map_canvas').empty();
				map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
				var latlngMarker = new google.maps.LatLng(50.5125299, 5.2406999);
				var marker = new google.maps.Marker({
					  position: latlngMarker, 
					  map: map, 
					  title:"Rue Sainte Catherine 4500 Huy"
				  });

	}
	if(document.getElementById("map_canvas"))
	{
		initMap();	
	}
	
	$('.fancybox').fancybox({
		'width'				: 365,
		'height'			: 190,
        'autoScale'     	: false,
        'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe',
		'scrolling'			: 'no',
		'autoDimensions'	: false
	});

	
});


