// plugin pour les sliders reas et tumblr
(function($) {
	$.fn.slime = function(params) {	
			// Fusionner les paramètres par défaut et ceux de l'utilisateur
			params = $.extend( {delai_transition: 300, class_slide: "slime", slide_visible: 1, hauteur: 150, largeur: 258, marge: 5}, params);
			
			var conteneur = $(this);
			conteneur.css({width: '100%', height: params.hauteur+'px'});
			
			var pos_left = 0;
			conteneur.children('div').each(function(){
				$(this).children('img').css({width: params.largeur+"px", height: params.hauteur+"px"});
				$(this).css({width: params.largeur+"px", height: params.hauteur+"px", overflow: 'hidden', position: 'absolute', left: pos_left+'px'});
				pos_left = $(this).width()+pos_left+params.marge;
			});
			
			var mousedown = false;
			conteneur.mousedown(function(){
				mousedown = true;
			}).mouseup(function(){
				mousedown = false;
			}).mousemove(function(){
				if (mousedown){
				
				}	
			});
			
	// Permettre le chaînage par jQuery
	return this;
	};
})(jQuery);

// plugin pour les textes placeholders du formulaire
(function($) {
	$.fn.ghost = function(params) {	
			// Fusionner les paramètres par défaut et ceux de l'utilisateur
			params = $.extend( {content: ""}, params);
			
			// on supprime les ghost à la soumission du formulaire
			// console.log($(this).parents('form'));
			$(this).parents('form').submit(function(){
				$(this).find(":input").each(function(){
					if ($(this).val() == $(this).data("ghost"))
						$(this).val("");
				});
			});
			
			this.each(function() {
				if (params.content != "")
					$(this).data("ghost", params.content).val(params.content).addClass("input_ghost");
				else
					$(this).data("ghost", $(this).val()).addClass("input_ghost");
			
				$(this).focus(function(){
					if ($(this).val() == $(this).data("ghost"))
						$(this).val("");
					$(this).removeClass("input_ghost");
				}).blur(function(){
					if ($(this).val() == "")
						$(this).addClass("input_ghost").val($(this).data("ghost"));
				});
			});
	// Permettre le chaînage par jQuery
	return this;
	};
})(jQuery);

var delai_menu = 200;
var delai_contenu = 300;
var petit_style = false;
var menu_actuel = "";

function placer_centre(delai){
	var contenu = menu_actuel.substring(5,50);
	$('#centre').animate({marginTop : '-'+($('#'+contenu).data('hauteur')/2)+'px'}, delai);
}

function placer_marqueur_menu(largeur,position,delai){
	$('#marqueur').stop().animate({
			width:largeur,
			left:position
		},
		delai
	);
}

function changer_style(){
	// console.log(petit_style)
	if (petit_style)
		$('link[@rel*=style][title=petit]').attr("href","petit.css");
	else
		$('link[@rel*=style][title=petit]').attr("href","");
}

function get_hauteurs(){
	$('section').each(function(){
		$(this).css('visibility','hidden').show().data('hauteur', $(this).outerHeight()).hide().css('visibility','visible');
	});
	var contenu = menu_actuel.substring(5,50);
	$('#centre').css({marginTop : '-'+($('#'+contenu).data('hauteur')/2)+'px'});
}

$(function(){
	// redirection selon l'ancre
	var ancre= window.location.hash.replace('#','');
	if (ancre != "")
		menu_actuel = "menu_"+ancre;
	else
		menu_actuel = "menu_profil";

	// adaptation du style pour petits écrans
	// if ($(document).width() < 990 || $(document).height() < 526){
		// petit_style = true;
		// changer_style();
	// }
	// $(window).resize(function(){
		// if ($(document).width() < 990 || $(document).height() < 526){
			// if (!petit_style){
				// petit_style = true;
				// changer_style();
			// }
		// }
		// else{
			// if (petit_style){
				// petit_style = false;
				// changer_style();
			// }
		// }
	// });
	
	// chargement des pages
	$("#centre section").each(function(i){
		var section = $(this);
		$("nav ul").append("<li id='menu_"+section.attr("id")+"'><a href='#"+section.attr("id")+"'>"+section.attr("alt")+"</a></li>");
		$.ajax({
			url: $(this).attr("id")+".php",
			success: function(data) {
				section.children(".footer_section").before(data);
				// si c'est la dernière page que l'on charge, on affiche la page en cours
				if (i+1 == $("#centre section").length){
					get_hauteurs();
					placer_centre();
					var contenu = menu_actuel.substring(5,50);
					$('#'+contenu).slideDown(delai_contenu);
					$('#loading_overlay').fadeOut(delai_contenu);
				}
			}
		});
	});

	// désactivation des effets
	$('#bouton_fx').toggle(function(){
		$.fx.off = true;
		$(this).addClass("bouton_fx_off");
	},function(){
		$.fx.off = false;
		$(this).removeClass("bouton_fx_off");
	});



	// menu
	$('nav li').hover(function(){
		var offset = $(this).offset();
		var largeur = $(this).outerWidth();
		placer_marqueur_menu(largeur, offset.left, delai_menu);
	},function(){
		var offset = $('#'+menu_actuel).offset();
		var largeur = $('#'+menu_actuel).outerWidth();
		placer_marqueur_menu(largeur, offset.left, delai_menu);
	}).click(function(e){
		// console.log($(this).attr('id')+" "+menu_actuel);
	
		if ($(this).attr('id') != menu_actuel){
			// ancien contenu
			var contenu = menu_actuel.substring(5,50);
			$('#'+contenu).slideUp(delai_contenu);
			$('.titre_section').hide();
			
			menu_actuel = $(this).attr('id');
			
			// nouveau contenu
			contenu = menu_actuel.substring(5, 50);
			$('#'+contenu).slideDown(delai_contenu);
			placer_centre(delai_contenu);
			$('#titre_'+contenu).show();
		}
	});
	
	// marquage et placement du menu actuel
	$('#'+menu_actuel.substring(5,50)).show();
	placer_centre(0);
	$('#centre').show();
	var offset = $('#'+menu_actuel).offset();
	placer_marqueur_menu($('#'+menu_actuel).outerWidth(), offset.left, 0);
	
});
