var lSite = 990; // Largeur utile du site
var xBackgroundPos = 500; // Horizontal (+ la photo va à gauche, - à droite)
var yBackgroundPos = 510;
var isOnMenuThematique, isOnDescriptionCategorie;  // variables globales pour gérer la rétractation du panneau de gauche


// Exécution dès que le DOM est chargé
$(function(){
	$("body").append("<div id='zoneDeContenuBackground'></div>");	
	$("#partieGauche").append("<div id='menuBackground'></div>");	

	// Patch pour l'angle arrondi du header, qui ne peut pas être réalisé en CSS à cause du background-image
	if ($("#header a:first").hasClass("selected")) $("#header").append("<img src='"+BlogThemeURL+"/pic/header/patchAngleArrondiOrange.png' id='patchHeader' />");
	else $("#header").append("<img src='"+BlogThemeURL+"/pic/header/patchAngleArrondi.png' id='patchHeader' />");	
	
	// Simplification du beadcrumb si on est dans une categorie parent
	// (exemple : "Artisan > Artisan" devient "Artisan")
	if ($("#beadcrumb a").size() > 0)	 {		
		if ($("#beadcrumb a:first").text() == $("#beadcrumb h1").text()) {
			$("#beadcrumb a:first").remove();
			$("#beadcrumb .chevron:first").remove();
		}
	}
	
	// Dimensionnement du menu	
	hTotMenu = 410;
	nbItems = $("ul#menu li a").size();
	hItem = Math.floor(hTotMenu / nbItems);
	hDernierItem = hTotMenu - (hItem * (nbItems-1));
	
	hPolice = 15;
	paddingItem = (hItem - hPolice)>>1;
	
	$("ul#menu li a").css({height:(hItem-paddingItem)+"px", paddingTop:paddingItem+"px"});	
	$("ul#menu li a:last").css({height:(hDernierItem-paddingItem)+"px", paddingTop:paddingItem+"px"});	
	
	gestionPanneauLateral();	
});


// Exécution dès que la page est entièrement chargée
function go()
{
	// Gestion des mises en avant sur l'annuaire
	if ($(".ficheEnAvant").size() > 0)	gestionFichesEnAvant();
	
	// Gestion du zoom sur les photos
	if ($("img.zoomable").size() > 0) initZoom();
	
	// Gestion du clic n'importe où sur un item (template category)
	// Equivaut au clic sur le lien contenu dans l'item	
	$(".fiche").click(function(){		
		lien = $(this).find("a").first().attr('href');
		document.location.href=lien;
	});

	// Affichage de la première mini-image dans les catégories
	$(".fiche").each(function(){
		//Nombre de photos
		nb = $(this).children("a").children("img").size();
		//Choix d'une photos aléatoirement
		k = Math.floor(Math.random()*nb);
		//Affichage de la photos choisis (les autres sont masquées)
		$(this).children("a").children("img").hide().eq(k).show();
	});
	$(".product").each(function(){
		//Nombre de photos
		nb = $(this).children("a").children("img").size();
		//Choix d'une photos aléatoirement
		k = Math.floor(Math.random()*nb);
		//Affichage de la photos choisis (les autres sont masquées)
		$(this).children("a").children("img").hide().eq(k).show();
	});
	$(".actu").each(function(){
		//Nombre de photos
		nb = $(this).children("a").children("img").size();
		//Choix d'une photos aléatoirement
		k = Math.floor(Math.random()*nb);
		//Affichage de la photos choisis (les autres sont masquées)
		$(this).children("a").children("img").hide().eq(k).show();
	});
	
	// Affichage de la première photos aléatoirement sur une fiche
	$("#photosFiche").each(function(){
		//Nombre de photos
		nb = $(this).children("a").children("img").size();
		//Choix d'une photos aléatoirement
		k = Math.floor(Math.random()*nb);
		//Affichage de la photos choisis (les autres sont masquées)
		$(this).children("a").children("img").hide().eq(k).show();
	});
	
	// S'il n'y a aucune photo sur une fiche, on masque le bloc photo de l'onglet présentation
	if ($("#photosFiche a").size() == 0) $("#photosFiche").hide();
	
	// Affichage de la première photos aléatoirement sur une actualité
	$("#photosActualite").each(function(){
		//Nombre de photos
		nb = $(this).children("a").children("img").size();
		//Choix d'une photos aléatoirement
		k = Math.floor(Math.random()*nb);
		//Affichage de la photos choisis (les autres sont masquées)
		$(this).children("a").children("img").hide().eq(k).show();
	});
	// Affichage de la première photos sur un produit
	$("#photosProduit").each(function(){
		//Nombre de photos
		nb = $(this).children("a").children("img").size();
		//Choix d'une photos aléatoirement
		k = Math.floor(Math.random()*nb);
		//Affichage de la photos choisis (les autres sont masquées)
		$(this).children("a").children("img").hide().eq(k).show();
	});

	// Masquer 2 champs du formulaire contribute
	$("p.champs_contribute:eq(0), p.champs_contribute:eq(1)").hide();	

	// Gestion des onglets pour les fiches
	gestionOnglets();
	
	positionnerElements();
	window.onresize = positionnerElements;	
	$("body").css("visibility", "visible");
	
	// Chargement du background du site
	urlFond = BlogThemeURL + "/pic/background/background.png";
	$("body").append("<img id='imgBG' src='"+urlFond+"' style='display:none;' />");	
	$("#imgBG").load(function(){
		$("body").css("backgroundImage", "url("+urlFond+")");
		$(this).remove();		
	});
}


// Exécution à chaque redimensionnement de la page
// pour adapter les blocs à la fenêtre
function positionnerElements()
{
	// Blocs principaux
	l = $(window).width(); h = $(window).height();	
	
	xPartieGauche = (l-lSite) >> 1;	if (xPartieGauche < 0) xPartieGauche = 0;		
	yPartieGauche = $("#partieGauche").offset().top;
	hPartieGauche = h - yPartieGauche;
	lPartieGauche = $("#partieGauche").width();
	
	xPartieDroite = xPartieGauche + lPartieGauche;
	yPartieDroite = $("#partieDroite").offset().top;
	hPartieDroite = h - yPartieDroite;
	lPartieDroite = l - xPartieDroite;	
	
	$("#partieGauche").css({left:xPartieGauche+"px", height:hPartieGauche+"px"});
	$("#partieDroite").css({left:xPartieDroite+"px", width:lPartieDroite+"px", height:hPartieDroite+"px"});	
	$("#header").css({left:xPartieDroite+"px", width:lPartieDroite+"px"});
	$("#logo").css({left:(xPartieDroite-255)+"px"});
	
	// Arrière plan de la zone de contenu
	yZoneDeContenuBackground = $("#zoneDeContenuBackground").offset().top;
	hZoneDeContenuBackground = h - yZoneDeContenuBackground;
	$("#zoneDeContenuBackground").css({height:hZoneDeContenuBackground+"px", left:xPartieDroite+"px"});

	// Arrière plan du menu
	hMenuBackground = Math.max(410, hPartieGauche);
	$("#menuBackground").css({height:hMenuBackground+"px"});
	
	// Photo de fond du site
	xBackground = xPartieGauche-xBackgroundPos;
	yBackground = yPartieGauche-yBackgroundPos;	
	$("body").css("backgroundPosition", xBackground+"px "+yBackground+"px");
	
	// Recherche
	$("#search").css("left", (xPartieDroite+10)+"px");
	if ($("#titrePage").size() > 0) $("#titrePage").css("left", (xPartieDroite+10)+"px");
	
	$(".contenuFiche").append("<div style='clear:both;'>&nbsp;</div>");
	$(".contenuActualite").append("<div style='clear:both;'>&nbsp;</div>");
}

function gestionOnglets() 
{
	// S'il y a au moins un bloc de classe contenuFiche, alors on est bien sur une fiche et on affiche les onglets
	if ($(".contenuFiche").size() > 0)
	{
		// Création du menu avec les onglets
		che = BlogThemeURL + "/pic/icones/";
		$("#beadcrumb").after("<div id='menuFiche'></div>");				
		$("#menuFiche")
			.append("<a id='btn_presentation' href='#'><img src='"+che+"presentation.png' alt='Présentation' />Présentation</a>")
			.append("<a id='btn_actualite' href='#'><img src='"+che+"actualite.png' alt='Actualités' />Actualités</a>")
			//.append("<a id='btn_vitrine' href='#'><img src='"+che+"vitrine.png' alt='Vitrine' />Vitrine</a>")
			.append("<a id='btn_horaires' href='#'><img src='"+che+"horaires.png' alt='Horaires' />Horaires</a>")
			.append("<a id='btn_photos' href='#'><img src='"+che+"photos.png' alt='Photos' />Photos</a>")
			.append("<a id='btn_description' href='#'><img src='"+che+"description.png' alt='Description' />Description</a>")
			.append("<a id='btn_planGmap' href='#'><img src='"+che+"plan.png' alt='Plan accès' />Plan</a>")
			.append("<a id='btn_commentaires' href='#'><img src='"+che+"commentaires.png' alt='Commentaires' />Commentaires</a>");
	
	
		// Affichage de l'onglet courant uniquement
		onglet = parent.location.hash; 
		if (onglet == "") onglet = "presentation"; else onglet = onglet.substr(1);		
		$(".contenuFiche").hide();
		$(".contenuFiche."+onglet).show();		
		$("#menuFiche a#btn_"+onglet).addClass("actif");
	
		// Gestion des clics sur les onglets
		$("#menuFiche a").click(function(){
			idBtn = $(this).attr('id');
			onglet = idBtn.substr(4);
			$(".contenuFiche").hide();			
			$(".contenuFiche."+onglet).fadeIn(200);
			$("#menuFiche a").removeClass("actif");
			$(this).addClass("actif");
			parent.location.hash = "#"+onglet;
			return false;			
		});
		$("#photosFiche a").click(function(){
			idBtn = $(this).attr('class');
			onglet = idBtn.substr(4);
			$(".contenuFiche").hide();			
			$(".contenuFiche."+onglet).fadeIn(200);
			$("#menuFiche a").removeClass("actif");
			$("#menuFiche a#"+idBtn).addClass("actif");
			parent.location.hash = "#"+onglet;
			return false;			
		});
		$("#photosProduit a").click(function(){
			idBtn = $(this).attr('class');
			onglet = idBtn.substr(4);
			$(".contenuFiche").hide();			
			$(".contenuFiche."+onglet).fadeIn(200);
			$("#menuFiche a").removeClass("actif");
			$("#menuFiche a#"+idBtn).addClass("actif");
			parent.location.hash = "#"+onglet;
			return false;			
		});
		$("#presentationProduit a").click(function(){
			idBtn = $(this).attr('class');
			onglet = idBtn.substr(4);
			$(".contenuFiche").hide();			
			$(".contenuFiche."+onglet).fadeIn(200);
			$("#menuFiche a").removeClass("actif");
			$("#menuFiche a#"+idBtn).addClass("actif");
			parent.location.hash = "#"+onglet;
			return false;			
		});
		
		// Suppression de l'onglet horaires si les horaires ne sont pas renseignées
		// Idem pour photos
		// Idem pour GMap
		// Idem pour commentaires
		// Idem pour actualite
		// Idem pour vitrine
		if ($("table#tableauHoraires").size() == 0) $("a#btn_horaires").hide();
		if ($("img.photoFiche").size() == 0) $("a#btn_photos").hide();
		if ($("div#evaluationProduit").size() == 0) $("a#btn_description").hide();
		if ($("div#mapGoogleV2").size() == 0) $("a#btn_planGmap").hide();
		if ($("div.commentaires form#comment-form").size() == 0) $("a#btn_commentaires").hide();
		if ($("div.actualite div.orbg-item-body").size() == 0) $("a#btn_actualite").hide();
		if ($("div.vitrine div.orbg-item-body").size() == 0) $("a#btn_vitrine").hide();
	}
	
	
	// S'il y a au moins un bloc de classe contenuActualite, alors on est bien sur une fiche et on affiche les onglets
	if ($(".contenuActualite").size() > 0)
	{
		// Création du menu avec les onglets
		che = BlogThemeURL + "/pic/icones/";
		$("#beadcrumb").after("<div id='menuFiche'></div>");		
		$("#menuFiche")
			.append("<a id='btn_presentation' href='#'><img src='"+che+"presentation.png' alt='Présentation' />Présentation</a>")			
			.append("<a id='btn_photos' href='#'><img src='"+che+"photos.png' alt='Photos' />Photos</a>")
			.append("<a id='btn_commentaires' href='#'><img src='"+che+"commentaires.png' alt='Commentaires' />Commentaires</a>");			
	
		// Affichage de l'onglet courant uniquement
		onglet = parent.location.hash; 
		if (onglet == "") onglet = "presentation"; else onglet = onglet.substr(1);		
		$(".contenuActualite").hide();
		$(".contenuActualite."+onglet).show();		
		$("#menuFiche a#btn_"+onglet).addClass("actif");
	
		// Gestion des clics sur les onglets
		$("#menuFiche a").click(function(){
			idBtn = $(this).attr('id');
			onglet = idBtn.substr(4);
			$(".contenuActualite").hide();			
			$(".contenuActualite."+onglet).fadeIn(200);
			$("#menuFiche a").removeClass("actif");
			$(this).addClass("actif");
			parent.location.hash = "#"+onglet;
			return false;			
		});
		$("#photosActualite a").click(function(){
			idBtn = $(this).attr('class');
			onglet = idBtn.substr(4);
			$(".contenuActualite").hide();			
			$(".contenuActualite."+onglet).fadeIn(200);
			$("#menuFiche a").removeClass("actif");
			$("#menuFiche a#"+idBtn).addClass("actif");
			parent.location.hash = "#"+onglet;
			return false;			
		});
		
		// Suppression de l'onglet horaires si les horaires ne sont pas renseignées
		// Idem pour photos
		//if ($("table#tableauHoraires").size() == 0) $("a#btn_horaires").hide();				
		if ($("img.photoFiche").size() == 0) $("a#btn_photos").hide();		
	}
}

function gestionPanneauLateral()
{
	// Sélection du bouton et du panneau courant en se basant sur les informations du breadcrumb
	if ($("#beadcrumb").size() > 0)	{
		categ = $("#beadcrumb a:first").text();
		indiceItem = -1;
		$("ul#menu li a").each(function(k){if ($(this).text() == categ) indiceItem = k;});
		if (indiceItem != -1) {
			$("ul#menu li a").eq(indiceItem).addClass("selected");
			$(".descriptionCategorie").eq(indiceItem).addClass("selected");
		}
	}
	
	// On cache tous les panneaux sauf celui sélectionné, s'il existe
	// Et on gère l'affichage des panneaux au survol des boutons, mais pas leur disparition
	$(".descriptionCategorie").hide();	
	$("ul#menu li a").each(function(k){		
		if ($(this).hasClass("selected")) $(".descriptionCategorie").eq(k).show().addClass("selected");
		$(this).mouseenter(function(){
			$(".descriptionCategorie").hide();
			$(".descriptionCategorie").eq(k).show();
		});
	});
	
	// Gestion de la rétractation du panneau
	$("ul#menu").mouseenter(function(){isOnMenuThematique=true;})
					.mouseleave(function(){isOnMenuThematique=false; verifRetractationPanneau();});
	$(".descriptionCategorie").mouseenter(function(){isOnDescriptionCategorie=true;})
					.mouseleave(function(){isOnDescriptionCategorie=false; verifRetractationPanneau();});
					
	// Gestion du hover des boutons du menu
	$("ul#menu li a").not(":selected").mouseenter(function(){
		$("ul#menu li a").removeClass("myhover");
		$(this).addClass("myhover");
	});
}

function verifRetractationPanneau() {setTimeout("verifRetractationPanneauBis();", 150);}
function verifRetractationPanneauBis() 
{
	if ( (!isOnDescriptionCategorie) && (!isOnMenuThematique) ) 
	{
		$(".descriptionCategorie").hide();
		$(".descriptionCategorie.selected").show();
		$("ul#menu li a").removeClass("myhover");
	}
}

function gestionFichesEnAvant()
{
	$(".ficheEnAvant").hide();
	$(".ficheEnAvant:first").addClass("selected").show();
	setInterval("ficheEnAvant_next();", 15000);
}

function ficheEnAvant_next()
{
	$(".ficheEnAvant.selected").removeClass("selected").fadeOut(400, function(){
		obj = $(this).next();
		if ( ! obj.hasClass("ficheEnAvant")) obj = $(".ficheEnAvant:first");
		obj.fadeIn(400).addClass("selected");
	});
}

function initZoom()
{
	$("img.zoomable").click(function(){
		src = $(this).attr('src');
		x = $(this).offset().left; y = $(this).offset().top;
		l1 = $(this).width(); deltaX = 0.844 * l1;		
		$("#photoZoom").remove();
		$("body").append("<img src='"+src+"' id='photoZoom' />");
		$("#photoZoom").css("height", "125px").css("left", x+"px").css("top", y+"px").animate({height:336,left:"-="+deltaX,top:'-=105'}, 250, function(){
			$("#photoZoom").one("click", function(){				
				$(this).animate({height:125, left:"+="+deltaX, top:"+="+105}, 250, function(){
					$(this).remove();
				});
			}).one("mouseleave", function(){
				$(this).animate({height:125, left:"+="+deltaX, top:"+="+105}, 250, function(){
					$(this).remove();
				});
			});
		});
	});
}


