/************************************ zoomMedia *******************************/
var NET = (navigator.userAgent.indexOf("Netscape")>-1) ? 1 : 0;
var FF = (navigator.userAgent.indexOf("Firefox")>-1) ? 1 : 0;
var SF = (navigator.userAgent.indexOf("Safari")>-1) ? 1 : 0;
var IE6 = (navigator.userAgent.indexOf("MSIE 6")>-1) ? 1 : 0;
var IE7 = (navigator.userAgent.indexOf("MSIE 7")>-1) ? 1 : 0;
var diapoHeight = '';
var zoomTimeout = 10000; // Timeout permettant d'arreter le script de zoom si le fichier n'existe pas ou si il met trop de temps à charger;
var zoomTime = 0;
var fadeTime = 0;
var maxVignette = 7; // Nombre de vignettes visibles à la fois dans le diapo
var pageCourante = 1;
var tDiapo;
var navZoomDiapoSize = 600;

function getWindowHeight() {
	var windowHeight=0;
	if (typeof(window.innerHeight)=='number') {
		windowHeight=window.innerHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body&&document.body.clientHeight) {
				windowHeight=document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}

function getWindowWidth() {
	var windowWidth=0;
	if (typeof(window.innerWidth)=='number') {
		windowWidth=window.innerWidth;
	}
	else {
		if (document.documentElement && document.documentElement.clientWidth) {
			windowWidth = document.documentElement.clientWidth;
		}
		else {
			if (document.body&&document.body.clientWidth) {
				windowWidth=document.body.clientWidth;
			}
		}
	}
	return windowWidth;
}

function zoom(fichier) {
	zoomMedia(fichier);
	return false;
}

function changerSource(src, legende){
	document.getElementById('imgZoom2').src = src;
	document.getElementById('zoomLegende').innerHTML = legende;
	document.getElementById('divZoomContenu').style.visibility = "hidden";
	document.getElementById('imgZoom2').style.visibility = "hidden";
	document.getElementById('divZoomMessage').innerHTML = "<br /><br /><strong>Chargement de l'image en cours ...</strong>";
	setTimeout("_preload()", 100);
	setTimeout("fadeIn()", 100);
}

function fadeIn(){
	document.getElementById('divZoomContenu').style.opacity = fadeTime/100;
	document.getElementById('divZoomContenu').style.filter = 'alpha(opacity='+fadeTime+')';
	fadeTime+=20;
	if (fadeTime<101) setTimeout("fadeIn()", 100);		
	else {
		fadeTime=0;
		document.getElementById('divZoomMessage').innerHTML = "";
	}
}

function fadeOut(){
	document.getElementById('divZoomContenu').style.opacity = fadeTime/100;
	fadeTime-=20;
	if (fadeTime>-1) setTimeout("fadeOut()", 100);		
	else fadeTime=0;
}

function diapoSuivant() {
		pageCourante++;
		var max=0;
		
		precedent = '<a href="#" onclick="diapoPrecedent()">&lt;&lt;</a>';
		if (pageCourante * maxVignette >= tDiapo.length)	suivant = '';
		else suivant = '<a href="#" onclick="diapoSuivant()">&gt;&gt;</a>';

		html='<div id="divAction">'+precedent+'&nbsp;<a href="#" onclick="cacherMontrerDiapo()"><img src="medias/cacher-montrer.jpg" border="0" /></a>&nbsp;'+suivant+'</div><div id="intraDiapo">';
		if (tDiapo.length>maxVignette*pageCourante) max = maxVignette*pageCourante;
		else max = tDiapo.length;
		debut = (pageCourante * maxVignette) - maxVignette;
		for(var i=debut; i<max; i++) {
			html+= '<div class="divVignetteDiapo"><img class="vignetteDiapo" src="'+tDiapo[i][1]+'" onclick="changerSource(\'' + tDiapo[i][0] + '\',\'' + tDiapo[i][2] + '\')" /></div>';
		}
		html+='</div>';
		document.getElementById('divZoomDiapo').innerHTML=html;
}

function diapoPrecedent(fichier) {
		pageCourante--;
		var max=0;
		
		if (pageCourante<2) precedent = '';
		else precedent = '<a href="#" onclick="diapoPrecedent()">&lt;&lt;</a>';
		suivant = '<a href="#" onclick="diapoSuivant()">&gt;&gt;</a>';
		
		html='<div id="divAction">'+precedent+'&nbsp;<a href="#" onclick="cacherMontrerDiapo()"><img src="medias/cacher-montrer.jpg" border="0" /></a>&nbsp;'+suivant+'</div><div id="intraDiapo">';
		if (tDiapo.length>maxVignette*pageCourante) max = maxVignette*pageCourante;
		else max = tDiapo.length;
		debut = (pageCourante * maxVignette) - maxVignette;
		for(var i=debut; i<max; i++) {
			html+= '<div class="divVignetteDiapo"><img class="vignetteDiapo" src="'+tDiapo[i][1]+'" onclick="changerSource(\'' + tDiapo[i][0] + '\',\'' + tDiapo[i][2] + '\')" /></div>';
		}
		html+='</div>';
		document.getElementById('divZoomDiapo').innerHTML=html;
}

function cacherMontrerDiapo() {
	if (document.getElementById('intraDiapo').style.display == 'none') {
		document.getElementById('intraDiapo').style.display = 'block';
	}else {
		document.getElementById('intraDiapo').style.display = 'none';
	}
}

function cacherWindowedElements() {
	var elts = document.getElementsByTagName("embed");
	for (var i=0; i<elts.length; i++) {
		elts[i].style.display = 'none';
	}
	elts = document.getElementsByTagName("object");
	for (var i=0; i<elts.length; i++) {
		elts[i].style.display = 'none';
	}
}

function montrerWindowedElements() {
	var elts = document.getElementsByTagName("embed");
	for (var i=0; i<elts.length; i++) {
		elts[i].style.display = 'block';
	}
	elts = document.getElementsByTagName("object");
	for (var i=0; i<elts.length; i++) {
		elts[i].style.display = 'block';
	}
}

function zoomMedia(fichier) {
	pageCourante = 1;
	cacherWindowedElements();
	
	if (document.getElementById('divZoom')) nodeZoom = document.getElementById('divZoom');
	else {
		var nodeZoom = document.createElement("div");
		nodeZoom.id = "divZoom";
	}
	if (document.getElementById('divZoomContenu')) nodeZoomContenu = document.getElementById('divZoomContenu');
	else {
		var nodeZoomContenu = document.createElement("div");
		nodeZoomContenu.id = "divZoomContenu";
	}
	
	if (document.getElementById('divZoomMessage')) nodeZoomMessage = document.getElementById('divZoomMessage');
	else {
		nodeZoomMessage = document.createElement("div");
		nodeZoomMessage.id = "divZoomMessage";
	}
	nodeZoomMessage.innerHTML = "<br /><br /><strong>Chargement de l'image en cours ...</strong>";
	
	if (document.getElementById('divZoomDiapo')) {
		nodeZoomDiapo = document.getElementById('divZoomDiapo');
		nodeZoomDiapo.innerHTML = '';
	}
	else {
		var nodeZoomDiapo = document.createElement("div");
		nodeZoomDiapo.id = "divZoomDiapo";
	}
	
	nodeZoom.style.display = "block";
	nodeZoomMessage.style.display = "block";
	nodeZoomContenu.style.visibility = "hidden";
	
	if (typeof(fichier) == 'object') {
		nodeZoomDiapo.style.display = "block";
		tDiapo = fichier;
		var html='';
		var max=0;

		if (pageCourante * maxVignette >= tDiapo.length)	suivant = '';
		else suivant = '<a href="#" onclick="diapoSuivant()">&gt;&gt;</a>';

		html+='<div id="divAction">&nbsp;<a href="#" onclick="cacherMontrerDiapo()"><img src="js/cacher-montrer.jpg" border="0" /></a>&nbsp;'+suivant+'</div><div id="intraDiapo">';
		if (fichier.length>maxVignette) max = maxVignette;
		else max = fichier.length;
		for(var i=0; i<max; i++) {
			html+= '<div class="divVignetteDiapo"><img class="vignetteDiapo" src="'+fichier[i][1]+'" onclick="changerSource(\'' + fichier[i][0] + '\',\'' + fichier[i][2] + '\')" /></div>';
		}
		html+='</div>';
		nodeZoomDiapo.innerHTML=html;
		
	}
		
	if (IE6) {
		nodeZoom.style.position = "absolute";
		nodeZoomContenu.style.position = "absolute";
		nodeZoomDiapo.style.position = "absolute";
	}
	

	nodeZoomMessage.style.position='fixed';
	nodeZoomMessage.style.top='100px';	
	nodeZoomDiapo.style.position='fixed';	
	nodeZoomDiapo.style.bottom='0px';	
	nodeZoomMessage.style.left=(getWindowWidth()/2-100)+"px";
	nodeZoomDiapo.style.left=(getWindowWidth()/2-navZoomDiapoSize/2)+"px";
	if (typeof(fichier) == 'object') {
		nodeZoomContenu.innerHTML = '<a href="#null" onclick="hideZoom();return false;"><img id="imgZoom2" src="'+fichier[0][0]+'" alt="Impossible de charger l image, fermer le zoom" border="0"/></a><br /><br /><span id="zoomLegende">'+fichier[0][2]+'</span>';
	}
	else {
		nodeZoomContenu.innerHTML = '<a href="#null" onclick="hideZoom();return false;"><img id="imgZoom2" src="'+fichier+'" alt="Impossible de charger l image, fermer le zoom" border="0"/></a>';
	}
	if (FF) nodeZoom.style.top = "0px";
	else nodeZoom.style.pixelTop = 0;
	
	nodeZoom.style.width = "100%";
	nodeZoom.style.height = "100%";
	nodeZoom.style.margin = "0px 0px 0px 0px";
	nodeZoom.style.padding = "10px 0px 0px 0px";
	if (FF) nodeZoomContenu.style.top = "0px";
	else nodeZoomContenu.style.pixelTop = 0;
	document.body.appendChild(nodeZoomMessage);
	document.body.appendChild(nodeZoom);
	document.body.appendChild(nodeZoomContenu);
	document.body.appendChild(nodeZoomDiapo);
	if (IE6) {
		nodeZoomMessage.style.position='absolute';
		nodeZoomMessage.style.top = document.documentElement.scrollTop;
		nodeZoomDiapo.style.position='absolute';	
	}
	setTimeout("_preload()", 100);
	setTimeout("fadeIn()", 100);
}

function _preload() {
	if (!document.getElementById('imgZoom2').complete && zoomTime<=zoomTimeout){
		zoomTime+=200;
		setTimeout("_preload()", 200);
	} else {
		zoomTime = 0;
		_resize();
		document.getElementById('divZoomContenu').style.display = "block";
		document.getElementById('divZoomContenu').style.visibility = "visible";
		document.getElementById('divZoomMessage').innerHTML = "";
	}
}

function hideZoom() {
	document.getElementById('imgZoom2').blur();
	document.getElementById('divZoom').style.display = "none";
	document.getElementById('divZoomContenu').style.display = "none";
	document.getElementById('divZoomDiapo').style.display = "none";
	document.getElementById('imgZoom2').style.display = "none";
	document.getElementById('divZoomMessage').style.display = "none";
	montrerWindowedElements();
}

function _resize() {
	if (document.getElementById('divZoom')) {
		if (document.getElementById('divZoom').style.display == "block") {
			document.getElementById('divZoomContenu').style.overflow = 'visible';
			var w = document.getElementById('imgZoom2').width;
			var h = document.getElementById('imgZoom2').height;
			var m = Math.floor(getWindowWidth()/2 - w/2);
			if (m<0) m="0px";
			else m+="px";
			document.getElementById('divZoomContenu').style.marginLeft = m;
			var m2 = Math.floor(getWindowHeight()/2 - h/2);
			if (m2<0) m2="0px";
			else m2+="px";
			document.getElementById('divZoomContenu').style.marginTop= m2;
			// Si l'image dépasse la taille de la page on affiche les scrolls supplémentaires
			if (w > getWindowWidth()) {
				document.getElementById('divZoomContenu').style.overflow = 'scroll';
				document.getElementById('divZoomContenu').style.width = (getWindowWidth()-15)+"px";
			}
			if (h > getWindowHeight()) {
				document.getElementById('divZoomContenu').style.overflow = 'scroll';
				document.getElementById('divZoomContenu').style.height = (getWindowHeight()-30)+"px";
			}
			document.getElementById('divZoomDiapo').style.left=(getWindowWidth()/2-navZoomDiapoSize/2)+"px";
			if (IE6) IE6_resize(h, w);
			document.getElementById('divZoomContenu').style.visibility = "visible";
			document.getElementById('imgZoom2').style.visibility = "visible";
		}
	}
}

function IE6_resize(h, w) {
	document.getElementById('divZoom').style.width = getWindowWidth()+document.documentElement.scrollLeft + "px";
	document.getElementById('divZoom').style.height = getWindowHeight()+"px";
	document.getElementById('divZoom').style.top = document.documentElement.scrollTop;
	m = Math.floor(getWindowHeight()/2 - h/2)+document.documentElement.scrollTop;
	if (m<0) m = "0px";
	else m+= "px";
		
	m2 = Math.floor(getWindowWidth()/2 - w/2)+document.documentElement.scrollLeft;
	if (m2<0) m2 = "0px";
	else m2+= "px";
	document.getElementById('divZoomContenu').style.marginTop = m
	document.getElementById('divZoomContenu').style.marginLeft= m2;
	document.getElementById('divZoomDiapo').style.bottom = '0px';		
}

window.onresize = _resize;
if (IE6) window.onscroll = _resize;