var displayInfoBulle = false; //si true 
var posX = 0; //position en X de la souris
var pposY = 0; //position en Y de la souris
var slideOK = true; //si true le slide est autorisé sinon.... et ben naaaaaan !!!!

//paramètres de la page
var pageAct = 1;
var nbPP;
var nbPages;
var nbRep;
var skin;

$(document).ready(function(){
	//récupération des paramètres de la page
	nbPP = $("#paramsNbPP").attr("value");
	nbPages = $("#paramsNbPages").attr("value");
	nbRep = $("#paramsNbRep").attr("value");
	skin = $("#paramsSkin").attr("value");
	
	majInfos("");
	
	//affichage direct d'un reportage au chargement de la page
	if($("#affDirect").attr("value") != "false")
		affRepIssuu($("#affDirect").attr("value"));
	
	//gestion des infobulles
	$(document).mousemove(function(e){
		posX = e.pageX;
		posY = e.pageY;
		
		//on bouge l'infobulle que si elle est affichée
		if(displayInfoBulle)
			deplaceInfoBulle(posX, posY);
	});
	
	//affichage de l'infobulle avec son contenu lorsqu'on passe sur un élément
	//type infoBulle ou infoBulleInfo
	/*$(".infoBulle,.infoBulleInfo").hover(function(){
		displayInfoBulle = true;
		$("#infoBulleContent").html($(this).attr("name"));
		$("#infoBulle").css("display", "block");
	}, function(){
		displayInfoBulle = false;
		$("#infoBulle").css("display", "none");
	});*/
	
	$(".infoBulle,.infoBulleInfo").live('mouseover', function(){
		displayInfoBulle = true;
		$("#infoBulleContent").html($(this).attr("name"));
		$("#infoBulle").css("display", "block");
	});
	
	$(".infoBulle,.infoBulleInfo").live('mouseout', function(){
		displayInfoBulle = false;
		$("#infoBulle").css("display", "none");
	});
	
	$(".repListe").hover(function(){
		$(this).css("backgroundColor", "#b4cad8");
	}, function(){
		$(this).css("backgroundColor", "#f5f5f5");
	});
	
	/*--- GESTION DES EVENEMENTS ---*/
	/*---                        ---*/
	
	//sélection de page dans la liste
	$("#selectPage").change(function(){
		affPage(parseInt($(this).attr("value")));
	});
	
	//gestion de la barre de boutons
	$("#btnFirst").click(function(){
		slide("d", "max");
	});
	
	$("#btnFastPrev").click(function(){
		slide("d", 5);
	});
	
	$("#btnPrev").click(function(){
		slide("d", 1);
	});
	
	$("#btnNext").click(function(){
		slide("g", 1);
	});
	
	$("#btnFastNext").click(function(){
		slide("g", 5);
	});
	
	$("#btnLast").click(function(){
		slide("g", "max");
	});
	
	//gestion des cliques sur les repMois et repListe
	$(".repMois,.repListe").click(function(){
		affRep(parseInt($(this).attr("name")));
	});
	
	//gestion des clique pour affichage issuu
	/*$(".imgRep").click(function(){
		affRepIssuu(parseInt($(this).attr("name")));
	});*/
	$(".imgRep").live("click", function(){
		affRepIssuu(parseInt($(this).attr("name")));
	});
	
	/*---                            ---*/
	/*--- FIN GESTION DES EVENEMENTS ---*/
});

//affichage d'un reportage issuu
function affRepIssuu(num){
	$.get("skins/"+skin+"/ajaxEmbed.php", {idSujet: num, lang: $("#paramsLang").attr("value")}, function(data){
		$("#blocVisuFlash").html(data);
		$("#blocVisuFlash").css("display", "block");
	});
}

//fermeture d'un issuu
function closeFlash(){
	$("#blocVisuFlash").css("display", "none");
	$("#blocVisuFlash").html("");
}

//function de déplacement de l'infobulle
function deplaceInfoBulle(x, y){
	$("#infoBulle").animate({top: (y+20)+"px", left: (x+20)+"px"}, 0, "linear");
}

/*détermination de la page à affiché en fonction d'un reportage demandé*/
function affRep(num){
	var pageToAff = Math.round((num/nbPP)+0.5);
	affPage(pageToAff, num);
}

/*
fonction déterminant la page à afficher en fonction d'un slide demandé via la barre de boutons

attention : pour afficher la page n+1 on slide vers la gauche et inverssement pour n-1

dir : "d" ou "g" en fonction du bouton cliqué (btn next = gauche par exemple)
nb : nombre de page à faire slider (si "max" on va le plus loin possible
*/
function slide(dir, nb){
	if(slideOK){
		slideOK = false;
		
		var pageToAff;
		
		if(dir == "d"){
			if(nb == "max")
				pageToAff = 1;
			else
				pageToAff = pageAct-nb;
		}
		else{
			if(nb == "max")
				pageToAff = nbPages;
			else
				pageToAff = pageAct+nb;
		}
		
		if(pageToAff < 1)
			pageToAff = 1;
		if(pageToAff > nbPages)
			pageToAff = nbPages;
		
		affPage(pageToAff);
	}
	
	/*if(slideOK)
		majInfos("true");
	else
		majInfos("false");*/
}

//fonction d'affichage d'une page
function affPage(page, i){
	if(page != pageAct){
		var newPageContent = ""; //contenu de la page à afficher
		
		if(page > pageAct){ //slide vers la gauche
			$.get("skins/"+skin+"/ajaxGetPage.php", {page: page, lang: $("#paramsLang").attr("value"), nbPP: $("#paramsNbPP").attr("value")}, function(data){
				newPageContent = data;
				$("#blocPage3").html(data);
			});
			
			marge = "-=999px";
		}
		else{ //slide vers la droite
			$.get("skins/"+skin+"/ajaxGetPage.php", {page: page, lang: $("#paramsLang").attr("value"), nbPP: $("#paramsNbPP").attr("value")}, function(data){
				newPageContent = data;
				$("#blocPage1").html(data);
			});
			
			marge = "+=999px";
		}
		
		pageAct = page;
		changePageSelect(pageAct);
		
		$("#blocSlide").animate({marginLeft: marge}, "normal", function(){
			$("#blocPage2").html(newPageContent);
			$("#blocSlide").animate({marginLeft: "-999px"}, 0, function(){
				if(i != "undefined")
					blink(i);
				
				slideOK = true;
			});
		});
	}
	else if(i != "undefined"){
		blink(i);
		slideOK = true;
	}
}

function changePageSelect(page){
	//majInfos(page);
	
	if(page < 1)
		page = 1;
	if(page > nbPages)
		page = nbPages;
	
	$(".optionPage").removeAttr("selected");
	$(".optionPage").eq(page-1).attr("selected", "selected");
}

function blink(i){
	if(!$.browser.msie)
		$(".repSlide[name="+i+"]").animate({opacity: 0.5}, 200, function(){ $(".repSlide[name="+i+"]").animate({opacity: 1}, 400); });
	
	$(".repSlide").removeClass("reportageBlink");
	$(".repSlide[name="+i+"]").addClass("reportageBlink");
}

//fonction d'affichages en direct des paramètres de la page
//dans le div "#infos" (en mode dev)
function majInfos(txt){
	var str = "";
	
	if(txt != "")
		str = txt
	/*else{
		str = "version skin : "+skin+"<br/>";
		str += "page actuelle : "+pageAct+"<br/>";
		str += "nb pages : "+nbPages+"<br/>";
		str += "nb rep : "+nbRep+"<br/>";
		str += "nb PP : "+nbPP+"<br/>";
	}*/
	
	$("#infos").append(str+"<br/>");
}