///////////////////////////////////////////////////////// mise en place lecteur /////////////////////////////////////////////////

//-------------------------------------------------------------------------------------------------------
tpsDiapo=4000;
onDiapo = false;
actionFleche=true;

positionFinal=-160;
varMoveVignette=1;
varMoveCategorie=1;
imgVignetteAfficher=14;
tailleVignettePx=427;
pageVignetteEncour=1;
pageCategEncour=1;
nbreVitesse=6;
categorieActive=0;
larg=0;
haut=0;
largVignette=0;
varPxVignette=0;
switchDiapoCateg=0;

//-------------------------------------------------------------------------------------------------------


function prechargimg() {
	var doc=document;
	if(doc.images){ if(!doc.precharg) doc.precharg=new Array();
	var i,j=doc.precharg.length,x=prechargimg.arguments; for(i=0; i<x.length; i++)
	if (x[i].indexOf("#")!=0){ doc.precharg[j]=new Image; doc.precharg[j++].src=x[i];}}
}


function afficherAide(boutonAide) {
	$('messageHelpGallerie').style.top=(arrayPageSize[3]/2)-190+"px";
	$('messageHelpGallerie').style.left=(arrayPageSize[2]/2)-209+"px";
	setOpacity($('fondMessageHelpGallerie'), 7)
	$('conteneurMessageHelpGallerie').style.display="block";
	$('fondMessageHelpGallerie').style.display="block";
	$('messageHelpGallerie').style.display="block";
	testDiapoOn(); // on arrete le diapo
}

function closeAide() {
	$('conteneurMessageHelpGallerie').style.display="none";
	$('fondMessageHelpGallerie').style.display="none";
	$('messageHelpGallerie').style.display="none";
}





function interceptKeyPress(e) {
    if( !e ) {
        if( window.event ) e = window.event;
        else return;
    }
    //NS 4, NS 6+, Mozilla 0.9+, Opera.
    if( typeof( e.which ) == 'number' || typeof( e.keyCode ) == 'number') {
		
        var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : void 0;
				//if(e.charCode == null || e.charCode == 0 ){
            if(keyCode == 17){
							e.stopPropagation();
							e.preventDefault();
							return false;
						}
						if(keyCode >= 37 &&  keyCode <= 45) {		
							e.stopPropagation();
							e.preventDefault();
							return false;
        		}
    		//}
		}
}

function attachEventListener( obj, type, func, capture ) {
    if(window.addEventListener){ // Mozilla, Netscape, Firefox
        obj.addEventListener( type, func, capture );
    } else { // IE.
        obj.attachEvent( 'on' + type, func );
    }
}









function startGalerie(startCatActive, startImgActive) {
	attachEventListener(document,"keypress",interceptKeyPress,true);
	attachEventListener(document,"keydown",interceptKeyPress,true);

	document.body.className='galerie_body';
	//on gere le fade ici car le lightbox chie !!!!!!!!
	pageVignetteEncour=1;
	
	//openBloc(varMoveVignette, varMoveCategorie);
	
	creationTableau(startCatActive, startImgActive);
	new Effect.Appear('overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity});
	setTimeout('startmyLightbox()',1000);
}


function creationTableau(startCatActive, startImgActive) {
	creationImageArray(startCatActive, startImgActive);	
}

function startmyLightbox() {
	myLightbox.start();
	afficheElementLecture();
}


function afficheElementLecture(imageLink) {
	
	arrayPageSize = getPageSize();
	larg = ((arrayPageSize[2])-360)/2;
	largVignette = arrayPageSize[2];
	haut = arrayPageSize[3]-197;

	$('lecteurImg').style.top=haut+250+"px";
	$('lecteurImg').style.left=larg+"px";
	$('lecteurImg').style.display="block";
	
	Effect.MoveBy($('lecteurImg'), positionFinal, 0 , {duration: 1, transition: Effect.Transitions.slowstop});
	
	$('closeGallerie').style.zIndex =102;
	//$('closeGallerie').style.display="block";
	new Effect.Appear('closeGallerie', { duration: 2, from: 0.0, to: 1});
	$('helpGallerie').style.zIndex =102;
	//$('helpGallerie').style.display="block";
	new Effect.Appear('helpGallerie', { duration: 2, from: 0.0, to: 1});
	
	$('categorie').style.zIndex =103;
	//$('categorie').style.display="block";
	new Effect.Appear('categorie', { duration: 2, from: 0.0, to: 1});

	$('blocVignette').style.zIndex =103;
	//$('blocVignette').style.display="block";
	new Effect.Appear('blocVignette', { duration: 2, from: 0.0, to: 1});
	
	//$('galerieGreentic').style.display="block";
	new Effect.Appear('galerieGreentic', { duration: 6, queue: 'end', from: 0.0, to: 1});

	$('gallerieInfo').style.zIndex =99;
	//$('gallerieInfo').style.display="block";
	new Effect.Appear('gallerieInfo', { duration: 2, from: 0.0, to: 1});
	
	remplirGallerieInfo();
	remplissageCateg();
	displaySlideVignette();
	displaySlideCateg();
	displayFleche();
	outImgClicCatAll(categorieActive);
	new Draggable('lecteurImg',{revert:false});


	if (varMoveVignette==1) {
		varMoveVignette=0;
		moveBlocVignette();
	}
	if (varMoveCategorie==1) {
		varMoveCategorie=0;
		moveBlocCategorie();
	}
	desactiveDiapo();
	//moveBlocCategorie();

}



function remplirGallerieInfo() {
	$('VitesseDiap').innerHTML="<span class='gray'>Vitesse du diaporama : </span>";
	$('VitesseDiap').innerHTML+=" <a id='DV1' href='#' onclick='vitesseDiapo(7000, 1);' class='"+garderLaVitesse(7000)+"'>1</a>";
	$('VitesseDiap').innerHTML+=" <a id='DV2' href='#' onclick='vitesseDiapo(6000, 2);' class='"+garderLaVitesse(6000)+"'>2</a>";
	$('VitesseDiap').innerHTML+=" <a id='DV3' href='#' onclick='vitesseDiapo(5000, 3);' class='"+garderLaVitesse(5000)+"'>3</a>";
	$('VitesseDiap').innerHTML+=" <a id='DV4' href='#' onclick='vitesseDiapo(4000, 4);' class='"+garderLaVitesse(4000)+"'>4</a>";
	$('VitesseDiap').innerHTML+=" <a id='DV5' href='#' onclick='vitesseDiapo(3000, 5);' class='"+garderLaVitesse(3000)+"'>5</a>";
	$('VitesseDiap').innerHTML+=" <a id='DV6' href='#' onclick='vitesseDiapo(2000, 6);' class='"+garderLaVitesse(2000)+"'>6</a>";
}

function garderLaVitesse(maVitesse) {
	if (maVitesse==tpsDiapo) {
		return 'vitesseOn';
	}else{
		return 'vitesseOff';
	}
}

function miseAJourInfoImg(imgEnCour) {
	$('imgEnCour').innerHTML="<span class='gray'>Image : </span>"+imgEnCour+" sur "+(tabImageArray[categorieActive].length);
}

function miseAJourInfoImgTot(imgEnCourTot) {
	$('imgEnCourTot').innerHTML="<span class='gray'>Nombre total d'images : </span>"+imgEnCourTot+" sur "+nbrTotImg;
}

function calculImgEnCourTot(i) {
	var imgEnCourTot=1;
	if (i!=0) {
		for (n=0;n<tabImageArray.length;n++) {
			if (n<i) {
				imgEnCourTot+=tabImageArray[n].length;
			}else if (n==i) {
				imgEnCourTot+=activeImage;
			}
		}
	}else{
		imgEnCourTot=activeImage+1;
	}	
	miseAJourInfoImgTot(imgEnCourTot);
}


function CacherElementLecture() {
	Effect.MoveBy($('lecteurImg'), -positionFinal, 0 , {duration: 1, transition: Effect.Transitions.slowstop});
	$('lecteurImg').style.display="none";
	$('closeGallerie').style.display='none';
	$('helpGallerie').style.display='none';
	$('gallerieInfo').style.display='none';
	$('categorie').style.display='none';
	$('blocVignette').style.display='none';
	$('galerieGreentic').style.display='none';
	closeAide();
	if (varMoveVignette==1) {
		moveBlocVignette();
	}
	if (varMoveCategorie==1) {
		moveBlocCategorie();
	}
	document.body.className='body';
	
}

function moveBlocVignette() {
	if (varMoveVignette==0) {
		varPxVignette=-152;
		varMoveVignette=1;
		varPxVignetteReplace=-70;
		$('aBlocVignetteOnglet').className="galerie_moins";
		$('blocVignette').style.left=largVignette-32+"px";
	}else{
		varPxVignette=152;
		varMoveVignette=0;
		varPxVignetteReplace=-222;
		$('aBlocVignetteOnglet').className="galerie_plus";
		$('blocVignette').style.left=largVignette-35-149+"px";
	}
	Effect.MoveBy($('blocVignette'), 0, varPxVignette , {duration: 0.4, transition: Effect.Transitions.slowstop});
	setTimeout('test('+varPxVignetteReplace+')',500)
}

function test(varPxVignetteReplace) { //pour que le bloc reste coller a la bordure droite ;)
	$('blocVignette').style.left=null;
	$('blocVignette').style.right=varPxVignetteReplace+"px"
}

function moveBlocCategorie() {
	if (varMoveCategorie==0) {
		varPxCategorie=160;//130
		varMoveCategorie=1;
		$('aCategorie').className="galerie_moins";
	}else{
		varPxCategorie=-160;
		varMoveCategorie=0;
		$('aCategorie').className="galerie_plus";
	}
	Effect.MoveBy($('categorie'), 0, varPxCategorie , {duration: 0.4, transition: Effect.Transitions.slowstop});
}

function slideVignette(direction) {
	if (direction=="haut") {
		if (testOpacity($("btDown"))==1) {
			varPxVignette=-tailleVignettePx;
			pageVignetteEncour++;
			Effect.MoveBy($('blocVignetteContentImg'), varPxVignette, 0 , {duration: 0.5, transition: Effect.Transitions.slowstop});
		}
	}else{
		if (testOpacity($("btUp"))==1) {
			varPxVignette=tailleVignettePx;
			pageVignetteEncour--;
			Effect.MoveBy($('blocVignetteContentImg'), varPxVignette, 0 , {duration: 0.5, transition: Effect.Transitions.slowstop});
		}
	}
	
	displaySlideVignette();
}

function displaySlideVignette() {
	if (tabImageArray[categorieActive].length<=imgVignetteAfficher) {
		setOpacity($('btDown'), 3);
		setOpacity($('btUp'), 3);
		$("btDown").className="down off";
		$("btUp").className="up off";
	}
	
	if (tabImageArray[categorieActive].length>pageVignetteEncour*imgVignetteAfficher) {
		setOpacity($('btDown'), 10);
		$("btDown").className="down on";
	}else{
		setOpacity($('btDown'), 3);
		$("btDown").className="down off";
	}
	
	if (pageVignetteEncour>1) {
		setOpacity($('btUp'), 10);
		$("btUp").className="up on";
	}else{
		setOpacity($('btUp'), 3);
		$("btUp").className="up off";
	}
	
}

function slideVignetteAveclecteur() {
	if (activeImage!=0) {
		if (activeImage==imgVignetteAfficher*pageVignetteEncour) {
			slideVignette("haut");
		}
		if ( activeImage==((imgVignetteAfficher-1) * (pageVignetteEncour-1)) ) {
			slideVignette("bas");
		}
	}else{
		if (pageVignetteEncour>=1) {
			var varPxToutEnHaut=0;
			for (q=1;q<pageVignetteEncour;q++) {
				varPxToutEnHaut+=tailleVignettePx;
			}
			Effect.MoveBy($('blocVignetteContentImg'), varPxToutEnHaut, 0 , {duration: 1, transition: Effect.Transitions.slowstop});
			
			pageVignetteEncour=1;
			displaySlideVignette();
		}
	}
}

function slideCateg(direction) {
	if (direction=="haut") {
		if (testOpacity($("btDownCat"))==1) {
			varPxVignette=-tailleVignettePx;
			pageCategEncour++;
			Effect.MoveBy($('contentCatImg'), varPxVignette, 0 , {duration: 0.5, transition: Effect.Transitions.slowstop});
		}
	}else{
		if (testOpacity($("btUpCat"))==1) {
			varPxVignette=tailleVignettePx;
			pageCategEncour--;
			Effect.MoveBy($('contentCatImg'), varPxVignette, 0 , {duration: 0.5, transition: Effect.Transitions.slowstop});
		}
	}
	
	displaySlideCateg();
}


function slideCategAveclecteur() {

	if (categorieActive!=0) {
		if (categorieActive==(imgVignetteAfficher/2)*pageCategEncour) {
			slideCateg("haut");
		}
		if ( categorieActive==(((imgVignetteAfficher/2)-1) * (pageCategEncour-1)) ) {
			slideCateg("bas");
		}
	}else{
		if (pageCategEncour>=1) {
			var varPxToutEnHaut=0;
			for (q=1;q<pageCategEncour;q++) {
				varPxToutEnHaut+=tailleVignettePx;
			}
			Effect.MoveBy($('contentCatImg'), varPxToutEnHaut, 0 , {duration: 1, transition: Effect.Transitions.slowstop});
			
			pageCategEncour=1;
			displaySlideCateg();
			
		}
	}
}
///////////////////////////////////////////////////////// fin mise en place lecteur //////////////////////////////////////////////


///////////////////////////////////////////////////////// remplissage categorie /////////////////////////////////////////////////
function creationImageArray(startCatActive, startImgActive) {
	
	//var imgEnCour=1;
	//var imgEnCourTot=1;
	imageArray= new Array;
	activeImage=startImgActive;
	categorieActive=startCatActive;
	//pageVignetteEncour=1; // on replace le bloc vignette a zero en hauteur
	outImgClicCatAll(startCatActive); // pour la surbrillance des categ
	$('blocVignetteContentImg').style.top=0;
	
	$('titreCat').innerHTML="<span class='gray'>Cat&eacute;gorie : </span>"+tabTitreCateg[categorieActive][2];
	calculImgEnCourTot(categorieActive);
	
	imgTabEnCour=0;
	aDecaler=1
	$('blocVignetteContentImg').innerHTML="";
	for (m=0; m<tabImageArray[startCatActive].length; m++) {
		varLien= new Array;
		imageArray[m]=tabImageArray[startCatActive][m];
		for(y=0;y<imageArray[m].length;y++) {
			varLien[y]=imageArray[m][y];
		}
		$('blocVignetteContentImg').innerHTML+="<div id='"+m+"' class='vignette'><a href='#' onclick='myLightbox.changeImage("+m+");testDiapoOn();displayFleche();' title='"+varLien[1]+"'><img src='"+varLien[2]+"' border='0' width='45px' onMouseOver='hoverImg("+m+");' id='img"+m+"' onMouseOut='outImg("+m+")' class='vignetteOff' /></a></div>";	
		if (m!=startImgActive) { // on encadre l'image selectionenr au start
			setOpacity($("img"+m), 7);
		}
		imgTabEnCour++;
		if ( (imgTabEnCour>imgVignetteAfficher) && (m<startImgActive) ) { // on se positionne sur le bon slide vignette
			aDecaler++;
			slideVignette("haut");
			imgTabEnCour=0;
		}
		
	}
	for (hh=1;hh<aDecaler;hh++) {
		slideVignette("haut");
	}
	//alert(pageVignetteEncour);
	//pageVignetteEncour=0;
}

function remplissageCateg() {
	$('contentCatImg').innerHTML="";
	for (i=0;i<tabTitreCateg.length;i++) {
		$('contentCatImg').innerHTML+="<div id='cat"+i+"' class='vignetteCat' onclick='rechargerCat("+i+");' onMouseOver='hoverImgCat("+i+");' onMouseOut='outImgCat("+i+")'><img src='"+tabTitreCateg[i][1]+"' width='45px' id='imgCat"+i+"' alt='"+tabTitreCateg[i][3]+"'  /><p>"+tabTitreCateg[i][0]+"</p></div><div class='clear'></div>";
	}
}

function rechargerCat(i) {
	if (actionFleche==true) {
		activeImage=0;
		pageVignetteEncour=1;
		creationImageArray(i, 0);
		remplirGallerieInfo();
		myLightbox.changeImage(activeImage);
		testDiapoOn();
		displayFleche();
		outImgClicCatAll(i);
		if (switchDiapoCateg==0) {
			desactiveDiapo(); // si 1 seul image on desactive le diapo
		}
		//displaySlideCateg();
	}
}

function outImgClicCatAll(i) {
	categorieActive=i;
	for (j=0;j<tabTitreCateg.length;j++) {
		if (j!=i) {
			outImgClicCat(j);
		}else{
			hoverImgCat(j);
		}
	}
}

////////////////////////////////////////////////////// fin remplissage categorie ////////////////////////////////////////////////

function desactiveDiapo() {
	if (tabImageArray[categorieActive].length==1) {
		setOpacity($('lecture'), 3);
		$("alecture").className="off";
	}else{
		setOpacity($('lecture'), 10);
		$("alecture").className="on";
	}
	
}

function activeDiapo() {
	if (onDiapo==false) {
		onDiapo=true;
		diaporama(1000);
	}else{
		onDiapo=false;
	}
	changeBoutonLecture();
}

function diaporama(tpsDiapo) {
	if (onDiapo==true) {
   		setTimeout("diaporamaSuivant()",tpsDiapo);
	}
}
function testDiapoOn() { // pour eviter le bug kan on utilise les fleches avec le diapo //////////////////////// <---- a virer
	if (onDiapo==true) {
		onDiapo=false;
	}
	changeBoutonLecture();
}
function changeBoutonLecture() { // pour eviter le bug kan on utilise les fleches avec le diapo
	if (onDiapo==true) {
		$("lecture").className="pause";
	}else{
		$("lecture").className="play";	
	}
}




function vitesseDiapo(vitesseDiapo, id) {
	idV = "DV"+id;
	for (i=1;i<=nbreVitesse;i++) {
		$("DV"+i).className="vitesseOff";
	}
	$(idV).className="vitesseOn";
	tpsDiapo = vitesseDiapo;
}


function diaporamaSuivant() {
	if (onDiapo==true) {
		
		if (activeImage==imageArray.length - 1){
			if (switchDiapoCateg==0) {
				premsImage = 0;
				setOpacity($('d'), 10);
				setOpacity($('dd'), 10);
				myLightbox.changeImage(premsImage, testOpacity($("d")));
			}else{
				if (categorieActive==tabTitreCateg.length-1) {
					rechargerCat(0);
					activeDiapo();
				}else{
					rechargerCat(categorieActive+1);
					activeDiapo();
				}
			}
		}else{
			myLightbox.changeImage(activeImage + 1, testOpacity($("d")));
		}
	}	
	displayFleche();
	slideVignetteAveclecteur();

}


function displayFleche() {
	if(activeImage == 0) {
		setOpacity($('ag'), 3);
		$("ag").className="off";
	}
	if(activeImage == (imageArray.length-1)) {
		setOpacity($('ad'), 3);
		$("ad").className="off";
	}
	if(activeImage > 0) {
		setOpacity($('ag'), 10);
		$("ag").className="on";
	}
	if(activeImage < (imageArray.length - 1)) {
		setOpacity($('ad'), 10);
		$("ad").className="on";
	}
	
	/// categorie ////////////////////////////////
	if (tabImageArray.length==1) {
		setOpacity($('add'), 3);
		setOpacity($('agg'), 3);
		$("add").className="off";
		$("agg").className="off";
	}
	
	if (tabImageArray.length>1) {
		setOpacity($('add'), 10);
		$("add").className="on";
	}

	if (tabImageArray[0][0]==imageArray[0]) {
		setOpacity($('agg'), 3);
		$("agg").className="off";
	}else{
		setOpacity($('agg'), 10);
		$("agg").className="on";
	}
	
	if (tabImageArray[tabImageArray.length-1][0]==imageArray[0]) {
		setOpacity($('add'), 3);
		$("add").className="off";
	}else{
		setOpacity($('add'), 10);
		$("add").className="on";
	}
	
	var imgEnCour=activeImage+1;
	miseAJourInfoImg(imgEnCour);
	calculImgEnCourTot(categorieActive);
	displaySlideVignette();	
	
}


function displaySlideCateg() {
	if (tabTitreCateg.length<=(imgVignetteAfficher/2)) {
		setOpacity($('btDownCat'), 3);
		setOpacity($('btUpCat'), 3);
		$("btDownCat").className="downCat off";
		$("btUpCat").className="upCat off";
	}
	
	if (tabTitreCateg.length>pageCategEncour*(imgVignetteAfficher/2)) {
		setOpacity($('btDownCat'), 10);
		$("btDownCat").className="downCat on";
	}else{
		setOpacity($('btDownCat'), 3);
		$("btDownCat").className="downCat off";
	}
	
	if (pageCategEncour>1) {
		setOpacity($('btUpCat'), 10);
		$("btUpCat").className="upCat on";
	}else{
		setOpacity($('btUpCat'), 3);
		$("btUpCat").className="upCat off";
	}
	
}
//////////////////////////////////////////// effet graphique ////////////////////////////////////////////////////////////////

function setOpacity(testObj, value) {
	testObj.style.opacity = value/10;
	testObj.style.filter = 'alpha(opacity=' + value*10 + ')';
}

function testOpacity(testObj) {
	var browserName=navigator.appName; 
	if (browserName=="Microsoft Internet Explorer") {
		if (testObj.style.filter=="alpha(opacity=30)"){
			return 0.3;
		}else{
			return 1;
		}
	}else{
		return testObj.style.opacity;
	}
}

function hoverImg(id) {
	id="img"+id;
	setOpacity($(id), 10);
	$(id).className="vignetteOn";
}

function outImg(id) {
	if ( (activeImage!=id) || (onDiapo==true) ) {
		id="img"+id;
		setOpacity($(id), 7);
		$(id).className="vignetteOff";
	}
}
function outImgClic(id) {
	id="img"+id;
	if ($(id)!=null) { 
		setOpacity($(id), 7);
		$(id).className="vignetteOff";
	}
}

function hoverImgCat(id) {
	id="cat"+id;
	if ($(id)!=null) {
		setOpacity($(id), 10);
		$(id).className="vignetteCat vignetteOn";
	}
}
function outImgCat(id) {
	if ( (categorieActive!=id) || (onDiapo==true) ) {
		id="cat"+id;
		setOpacity($(id), 5);
		$(id).className="vignetteCat vignetteOff";
		
	}
}
function outImgClicCat(id) {
	id="cat"+id;
	if ($(id)!=null) { 
		setOpacity($(id), 5);
		$(id).className="vignetteCat vignetteOff";
	}
}

//////////////////////////////////////// fin effet graphique ////////////////////////////////////////////////////////////////
