// JavaScript Document

var ReloadMenu = function(){
	$.ajax({
		type: "POST",
		data: "act=MENU",
		url: "index.php?l="+$('div#menu ul.lang li a.selected').parent('li').attr('class'),
		success: function(retour) {
			$('div#menu ul:not(".lang")').remove();
			$('div#menu').append(retour);
		}
	});
}

var IniMask = function(){
	
	$("a#logo").unbind().click(function(e){
		e.preventDefault();
		$("#menu ul:not('.lang') li a").removeClass('selected');
		$.address.value($(this).attr('rel'));
		return false;
	});
	
	$("#menu ul li a").unbind().click(function(e){
		e.preventDefault();
		var page = $(this).attr('rel');
		if($(this).parent('li').parent('ul').hasClass('lang')){
			$("#menu ul li a").removeClass('selected');
		}else{
			$("#menu ul:not('.lang') li a").removeClass('selected');
		}
		$(this).addClass('selected');
		$.address.value(page);
		return false;
	});	
	
	Resize();
	
	$('a.zoom').fancybox({
		'padding' : 0,
		'overlayOpacity' : 0.9,
		'overlayColor' : '#000'
	});
	
	if( $("#map_canvas").length > 0 ) initialize('fr', 46.2214883, 6.1466812);
	
}

var HideMask = function(page){
	
	$(".formError").remove();
	$("div#mask").fadeOut('slow', function(){
		$("#contenu").empty();
	});
	
}

var ShowMask = function(page){
	
	Loader();
	$(".formError").remove();
	$("div#mask").fadeIn('slow', function(){
		LoadPage(page);
	});
	
}

var LoadPage = function(page){
	$.ajax({
		type: "POST",
		data: { act: 'AJAX' },
		url: page,
		success: function(retour) {
			$("#contenu").animate({"opacity":0}, function(){
				$("#contenu").empty().append(retour);
				Animate(page);
			});
			Unbind();
		}
	});
}

var Animate = function(page){
	
	if( $('div#contenu ul.slider').length ){ // si page galerie
		$('div#contenu ul.slider').empty();
	}
	
	if( $('div#contenu ul.slider').length == 0 ){
		ImageLoading(page);
	}else{
		Appear(page);	
	}
	
	return false;
	
}

var ImageLoading = function(page){
	var loadedImage = 0;
	var nbImages = $('div#contenu img').length;
	
	if( nbImages > 0 ){
		
		$('div#contenu img').load(function(){
			loadedImage ++;
			if(loadedImage == nbImages){ 
				Appear(page);
				return false; 
			}
		});
		
	}else{
		Appear(page);
	}
}

var Appear = function(page){
	
	$("#contenu").animate({ 'top' : ( GetPosition() )+'px'}, function(){
		$(this).animate({'opacity':1}, function(){
			$('div#contenu').animate({ 'opacity' : 1 }, function(){
				if( $('div#contenu ul.slider').length > 0){
					var vir = page.lastIndexOf(',');
					var pt = page.lastIndexOf('.');
					var nb = page.substring(vir+1,pt);
					LoadGalerie( nb );
					return false;
				}else{	
					Loader();
				}
			});	
		});															  
	});
		
}

var GetPosition = function(){
	var div = $("#contenu > div").height() / 2;
	var menu = $("#contenu > ul").height() + 20;
	var win = ( $(document).height() - 60 + menu ) / 2;
	var posTop = win - div;
	if( posTop <= menu) posTop = menu;
	return posTop;
}

var Resize = function(){
	$(window).resize(function(){
		$("#contenu").css({
			'top' : ( GetPosition() )+'px'
		});
	});
}

var Loader = function(act){
	Unbind();
	if($("#loading").length == 0){
		$('<div id="loading"></div>').appendTo( $('#mask') );
	}else{
		$('#loading').remove();
		IniMask();
		Navigation();
	}
}

var Unbind = function(){
	$("ul.filtre li a, ul.nav li a, #menu ul li a, a.zoom, a#logo").unbind().click(function(e){ 
		e.preventDefault();
	});
	$("form").submit(function() { return false; });
}
