$(document).ready(init);
function init(){
	resizeInit();
//	chargerMur();
//	chargerPopupInfo();
	insertAudioPlayer();
	initDiaporama();
//	insertVideoPlayer();/**/
	activeAjax();
	initBlur();
}
function resizeInit(){
	$(window).resize(resizeAll);
	resizeAll();
}
function resizeAll(){
	var h=$(this).height();
	var w=$(this).width();
	w=Math.max(1180,w);
	
	var h1=553;
	var h0=Math.floor((h-h1)/2);
	var h2=h-h0-h1;
	h0=Math.max(h0,35);
	h2=Math.max(h2,35);
	
	$("#entete").css({width: w});	
	$("#corps").css({width: w});	
	$("#titre span.fond").css({width: w});
	$("#pied").css({width: w});/**/
	
	$("#entete").css({height: h0});	
	$("#corps").css({top: h0});	
	$("#titre span.fond").css({top: h0+h1/2-95});
	$("#pied").css({top: h0+h1, height: h2});
	
	$("#blocInfo").css({top: h0-15, height: h1+30});
	var x1= w/2+$("#corps .coulisse").width()/2-$("#blocInfo").width();
	$("#blocInfo").css({left: x1});
	
	var largeur=0;
	$("#menu li").each(function(){
		largeur+=$(this).width()+11; // valeur de margin + padding + border
	});
	$("#menu ul").css({marginLeft: $("#menu").width()-largeur-7, width: largeur});/**/
}
function hideTitre(){
	$("#titre").hide();
}
function showTitre(){
	$("#titre").show();
}
function chargerMur(){
	$("#mur").load("mur-table.html",{},distribuerImages);
}
function distribuerImages(){
	for (var i=0; i<43; i++){
		$("#images li.item-"+(i+1)+":first").each(function(){
			var image=$("img", $(this)).attr("src");
			var titre=$("span", $(this)).html();
			var url=$("a", $(this)).attr("href");
			var rel=$("a", $(this)).attr("rel");
			$("#mur td:eq("+i+")").each(function(){
				$("#mur td:eq("+i+")").attr("background", image);
				$("#mur td:eq("+i+")").html('<a href="'+url+'" rel="'+rel+'"><span>'+titre+'</span></a>');
				$("#mur td:eq("+i+") a").height($(this).height());
			});
		});
	}
	initEtiquette();
}
function initEtiquette(){
	$("#etiquette").hide();
	$("#mur td a").mouseover(function(){
		afficheEtiquette($(this),250);
		desactiveAnimationEtiquettes();
	});
	$("#mur td a").mouseout(function(){
		masqueEtiquette();
		activeAnimationEtiquettes();
	});
	if (!$("#titre").is(":visible")){
		activeAnimationEtiquettes();
	}
}
function afficheEtiquette(elt,delai){
	var txt=$("span",elt).html();
	$("#etiquette .texte").html(txt);
	
	var w=$(elt).width();
	var h=$(elt).height();
	var x=$(elt).position().left+w/2-100;
	var y=$(elt).position().top+h-30;
	$("#etiquette").css({left: x, top: y });

	$("#etiquette").hide().fadeIn(delai);
}
function masqueEtiquette(){
	$("#etiquette").fadeOut(500);
//	$("#etiquette .texte").html("");
}
function activeAnimationEtiquettes(){
	tab=new Array();
	var cp=0;
	$("#mur td a").each(function(){
		tab.push(cp++);
	});
	tab.sort(function() { return 0.5 - Math.random() });
	index=0;
	metronome=setInterval("etiquetteSuivante()", 4000);
	animationEtiquetteActive=true;
}
function desactiveAnimationEtiquettes(){
	clearInterval(metronome);
	animationEtiquetteActive=false;
}
function etiquetteSuivante(){
	$("#etiquette").fadeOut(500,function(){
		if (animationEtiquetteActive){
			afficheEtiquette($("#mur td a:eq("+tab[index]+")"),1000);
			index++;
			if (index>=tab.length){
				index=0;
			}
		}
	});
}
function debug(){
	var cp=0;
	$("#mur td").each(function(){
		$(this).html(cp);
		$(this).html(cp);
		cp++;
	});
}
function initInfoReportage(){
	$("#blocInfo").hide();
	$("#blocInfo a.fermer").click(function(){
		$("#blocInfo").fadeOut(500);
		$(this).blur();
		return false;
	});
}/**/
function initDiaporama(){
	diaporama=false;
}
function onLoadMenuReportage(){
	activeAudioPlayer();
//	insertVideoPlayer();
	afficheDiaporamaBtn();
	$("li.play a.actif").click(function(){
		if (diaporama){
			desactiveDiaporama();
		} else {
			activeDiaporama();
		}
		$(this).blur();
		return false;
	});
	$("li.next a.actif, li.prev a.actif, li.planche a.actif").click(function(){
		if (diaporama){
			desactiveDiaporama();
		}/**/
		$(this).blur();
	});
	$("li.texte a.actif").click(function(){
		if($("#blocInfo").is(":visible")){
			$("#blocInfo").fadeOut(500);
		} else {
			$("#blocInfo").fadeIn(500);
		}
		$(this).blur();
		return false;
	});
	$('#pied a').click(function(){
		$(this).blur();
	});
}
function afficheDiaporamaBtn(){
	if (diaporama){
		$("li.play").addClass("pause");
	} else {
		$("li.play").removeClass("pause");
	}
}
function activeDiaporama(){
	if ($("li.next a.actif").length==0){ // si c'est la dernière photo
		diaporama=false;
		return;
	}
	diaporama=true;
	chrono=window.setInterval("photoSuivante()",5000);
	afficheDiaporamaBtn();
	photoSuivante();
}
function desactiveDiaporama(){
	diaporama=false;
	window.clearInterval(chrono);
	afficheDiaporamaBtn();
}
function photoSuivante(){
	if ($("li.play a.actif").length==0){
		desactiveDiaporama();
		return;
	}
	var url=$("li.play a.actif").attr("rel");
	chargeUrl(url);
}
function insertAudioPlayer(){
	var flashVars=new Object();
//	flashVars.fichierSon=$("li.son a.actif").attr("href");
	if (checkSound()){
		flashVars.lecture="on";
	} else {
		flashVars.lecture="off";
	}
	var flashParams=new Object();
	flashParams.menu="false";
	flashParams.wmode="transparent";
	swfobject.embedSWF("audioPlayer.swf", "audioPlayer", "40px", "40px", "9.0.45", '', flashVars, flashParams, {id: 'audioPlayer', name: 'audioPlayer'});
} 
/**/
function activeAudioPlayer(){
	if (!$("li.son a.actif").length) return;
	
	var fichierSon=$("li.son a.actif").attr("href");
	chargeSon(fichierSon,checkSound());
	if (!checkSound()){
		$("li.son").addClass("sonoff");
	}
	$("li.son a.actif").click(function(){
		if(changeSound()){
			$(this).parent().removeClass("sonoff");
		} else {
			$(this).parent().addClass("sonoff");
		}
		$(this).blur();
		return false;
	});
}
function changeSound(){
	if (checkSound()){
		$.cookie('son','off');
	} else {
		$.cookie('son','on');
	}
	doSoundLikeCookie();
	return checkSound();
}
function checkSound(){
	var cook=$.cookie('son');
	if (cook==null){
		return true;
	}
	return (cook=="on");
}
function doSoundLikeCookie(){
	if (checkSound()){
		joueSon();
	} else {
		stoppeSon();
	}
}/**/
function chargeSon(fichier,bool){
	if ($("#audioPlayer").length==0) return;
	var boolStr="false";
	if(bool){
		boolStr="true";
	}
	var args=fichier+"&"+boolStr;
	$('#audioPlayer').externalInterface({
		method: 'chargeSon',
		args: args,
		success: function(data){},
		error:function(error){}
	});/**/
}
function joueSon(){
	if ($("#audioPlayer").length==0) return;
	$('#audioPlayer').externalInterface({method:'joueSon'});
}
function pauseSon(){
	if ($("#audioPlayer").length==0) return;
	$('#audioPlayer').externalInterface({method:'pauseSon'});
}
function stoppeSon(){
	if ($("#audioPlayer").length==0) return;
	$('#audioPlayer').externalInterface({method:'stoppeSon'});
}/**/
function insertVideoPlayer(){ // /!\ seulement appelé par dans le fichier inc-flv.html
	if ($("#playerVideo").length==0){ return }
	
	var flashVars=new Object();
	flashVars.fichier=$("#playerVideo a").attr("href");
	var flashParams=new Object();
	flashParams.menu="false";
	flashParams.wmode="transparent";
	flashParams.allowFullScreen="true";
	swfobject.embedSWF("playerVideo.swf", "playerVideo", "778px", "516px", "9.0.45", '', flashVars, flashParams, {id: 'playerVideo', name: 'playerVideo'});
}
function changePage(tab){
	if (freeze) return;
	tab_ok=tab;
	// freeze navigation
	freeze=true;
	// launch all target's changes
	var nb=tab_ok.length;
	for (var i=0; i<nb; i++){
		changeDiv(i);
	}/**/
}
function changeDiv(num){
	// skip if already loaded (compare title attribute) and callback for success
	if (verifieDiv(num)){
		return;
	}
	if (tab_ok[num].url!=""){
		$.ajax({
			url: tab_ok[num].url,
			success: function(data){
				// onsuccess stamp title attribute
				var elt=$("#"+tab_ok[num].id+" div.loadZone");
				elt.attr("urlencours",tab_ok[num].url);
				
				var delai=500;
				if(tab_ok[num].delai!=undefined){
					delai=tab_ok[num].delai;
				}
				
				elt.fadeOut(delai,function(){
					elt.html(data);
					$(".fade", elt).each(function(){
						$(this).load(function(){
							$(this).parents(".fadeParent").each(function(){
								$(this).css("display","block").hide().fadeIn(delai);
							});
						});
					});
					
					elt.fadeIn(delai);
					
					var callback=tab_ok[num].callback;
					if (callback!=undefined){
						window[callback]();
					}				
					// verifie chargement page
					quandDivChange();
				});/**/
			},
			error: function(HMLHttpReq, msg, obj){
				$.ajax(this); // si la connexion échoue on recommence ! grrr...
			}
	   });
	} else {
		var elt=$("#"+tab_ok[num].id+" div.loadZone");
		elt.attr("urlencours","");
		var delai=500;
		elt.fadeOut(delai,function(){
			elt.html("");
			elt.hide();
			var callback=tab_ok[num].callback;
			if (callback!=undefined){
				window[callback]();
			}
			quandDivChange();
		});
	}
}
function quandDivChange(){
	resizeAll();
	freeze=!verifiePage();
}
function verifiePage(){
	// from idTab, check if anchor = title
	var nb=tab_ok.length;
	for (var i=0; i<nb; i++){
		var bool=verifieDiv(i);
		if (!bool) return false;
	}
	return true;
}
function verifieDiv(num){
	// on #id, read title
	var title=$("#"+tab_ok[num].id+" div.loadZone").attr("urlencours");
	// return comparison with ancre
	return (title==tab_ok[num].url);
}


function activeAjax(){
	contenusCharges=new Array();
	var bodyClass=$("body").attr("class");
	if (bodyClass!=""){
		if (bodyClass=="accueil"){
			window.location="spip.php?page=xpages#accueil";
			return;
		}
		if (/^reportage-/.test(bodyClass)){
			var tab=bodyClass.split("-");
			window.location="spip.php?page=xpages#reportage-"+tab[1];
			return;
		}
		if (/^planche-/.test(bodyClass)){
			var tab=bodyClass.split("-");
			window.location="spip.php?page=xpages#planche-"+tab[1];
			return;
		}
		if (/^photo-/.test(bodyClass)){
			var tab=bodyClass.split("-");
			window.location="spip.php?page=xpages#photo-"+tab[1]+"-"+tab[2]; // id_art puis id_doc
			return;
		}
		if (/^info-/.test(bodyClass)){
			var tab=bodyClass.split("-");
			window.location="spip.php?page=xpages#info-"+tab[1];
			return;
		}
		if (!/\#/.test(window.location)){
			window.location="spip.php?page=xpages#entree";
		}
	}
	
	freeze=false;
	$('a[rel]').live('click', function(e) { // clic sur un lien
		var url = $(this).attr('rel');
		if (url=="nofollow external"){
			$(this).attr("target","_blank");
			return true;
		}		
		chargeUrl(url);
		$(this).blur();
		return false;
	});
	$.history.init(function(url) { // chargement de la page
		charge(url == "" ? "default" : url);
	});
}
function chargeUrl(url) { // clic sur un lien
	$.history.load(url);
}
function charge(ancre) { // appel Ajax
	if (declareAgoogle!=undefined){
		declareAgoogle("/spip.php?page=xpages#"+ancre);
	}
	var parms=ancre.split("-");
	switch(parms[0]){
		case "entree":
			stoppeSon();
			var tab=new Array(
				{id:"titre", url:"spip.php?page=inc-titre",delai:1000,callback:"showTitre"},
				{id:"entete", url:""},
				{id:"pied", url:""},
				{id:"corps", url:"spip.php?page=inc-mur",callback:"chargerMur"},
				{id:"info", url:""}
			);
			changePage(tab);
		break;
		case "accueil":
			stoppeSon();
			var tab=new Array(
				{id:"titre", url:"",callback:"hideTitre"},
				{id:"entete", url:"spip.php?page=inc-logo"},
				{id:"pied", url:"spip.php?page=inc-menu"},
				{id:"corps", url:"spip.php?page=inc-mur",callback:"chargerMur"},
				{id:"info", url:""}
			);
			changePage(tab);
		break;
		case "reportage":
			// le menu reportage est il déjà affiché ?
			var title=$("#pied div.loadZone").attr("urlencours");
			var motif =new RegExp("inc\-menu\-reportage");
			if (motif.test(title)){
				var tempo=0;
			}
			var tab=new Array(
				{id:"titre", url:"",callback:"hideTitre"},
				{id:"entete", url:"spip.php?page=inc-logo"},
				{id:"pied", url:"spip.php?page=inc-menu-reportage&id_article="+parms[1], callback:"onLoadMenuReportage", delai: tempo}, // tempo parfois undefined
				{id:"corps", url:"spip.php?page=inc-doc-art&id_article="+parms[1]},
				{id:"info", url:"spip.php?page=inc-info-reportage&id_article="+parms[1], callback:"initInfoReportage"}
			);
			changePage(tab);
		break;
		case "photo":
			// le menu reportage est il déjà affiché ?
			var title=$("#pied div.loadZone").attr("urlencours");
			var motif =new RegExp("inc\-menu\-reportage");
			if (motif.test(title)){
				var tempo=0;
			}

			var tab=new Array(
				{id:"titre", url:"",callback:"hideTitre"},
				{id:"entete", url:"spip.php?page=inc-logo"},
				{id:"pied", url:"spip.php?page=inc-menu-reportage-jpg&id_article="+parms[1]+"&id_document="+parms[2], callback:"onLoadMenuReportage",delai: tempo}, // tempo parfois undefined
				{id:"corps", url:"spip.php?page=inc-photo&id_article="+parms[1]+"&id_document="+parms[2]},
				{id:"info", url:"spip.php?page=inc-info-reportage&id_article="+parms[1], callback:"initInfoReportage"}
			);
			changePage(tab);
		break;
		case "planche":
			// le menu reportage est il déjà affiché ?
			var title=$("#pied div.loadZone").attr("urlencours");
			var motif =new RegExp("inc\-menu\-reportage");
			if (motif.test(title)){
				var tempo=0;
			}
			var tab=new Array(
				{id:"titre", url:"",callback:"hideTitre"},
				{id:"entete", url:"spip.php?page=inc-logo"},
				{id:"pied", url:"spip.php?page=inc-menu-reportage-jpg&id_article="+parms[1], callback:"onLoadMenuReportage",delai: tempo}, // tempo parfois undefined
				{id:"corps", url:"spip.php?page=inc-planche&id_article="+parms[1]},
				{id:"info", url:"spip.php?page=inc-info-reportage&id_article="+parms[1], callback:"initInfoReportage"}
			);
			changePage(tab);
		break;
		case "info":
			stoppeSon();
			var tab=new Array(
				{id:"titre", url:"",callback:"hideTitre"},
				{id:"entete", url:"spip.php?page=inc-logo"},
				{id:"pied", url:"spip.php?page=inc-menu"},
				{id:"corps", url:"spip.php?page=inc-mur",callback:"chargerMur"},
				{id:"info", url:"spip.php?page=inc-info&id_rubrique="+parms[1]}
			);
			changePage(tab);
		break;
		default:
		break;
	}
}
