// DIAPORAMA PAR BMalbum de BM
//LICENCE
// BMalbum est un Freeware ou Gratuiciel, vous pouvez l'utiliser et le diffuser sans limitation, à l'exception de la diffusion dans toute presse ou CDRom sans autorisation écrite de l'auteur.
// Il est strictement interdit :
// De modifier le programme en tout ou en partie, code html et js généré
// De décompiler ou reconstituer le programme.
// De distribuer partiellement le logiciel ou l'un de ses éléments.
// GARANTIE LIMITEE
// ABSENCE DE RESPONSABILITE POUR LES DOMMAGES INDIRECTS.
// Le programme est fourni et concédé sous licence "TEL QUEL", sans garantie d'aucune sorte, expresse ou tacite, y compris, sans limitation, garanties implicites de valeur marchande et d'adaptabilité a des fins particulières. 
// L'auteur ou tout autre tiers impliqué dans la création, la production ou la livraison du programme, ne sera pas tenu responsable sous n'importe quelles circonstances, de tout dommage direct ou indirect incluant les dommages pour pertes de profits, cessation d'activités commerciales ou autre, subis par l'utilisateur de ce programme et ce, même dans le cas ou l'auteur ou ses distributeurs auraient été informés de tels dommages.
// En Raison des environnements matériels et logiciels hétérogènes dans lesquels ce programme peut être utilisé, aucune garantie d'adéquation à un environnement particulier n'est garanti.
// Les résultats ou performances de ce programme sont entièrement assumés par l'utilisateur.
// PROPRIETE
// Le programme, y compris son code, sa documentation, son apparence, sa structure et son organisation, est un produit exclusif de l'auteur  qui conserve en permanence les droits de propriété du programme ou de ses copies, modifications ou parties fusionnées.
// L'installation du logiciel vaut acceptation pleine et entière des présentes dispositions.
var iImageEnCours = 0 ;
var iPhotoEnCours = 1 ; // photo en cours
var timeoutid ; //id du timer
var inbseconde=4 ; //nombre de seconde en cours apres chargement d'affichage pour le diaporama
var inbsecondediapo =2 ; // nombre de seconde maxi avant chgt
var itypelibelle="2"	;//type d'affichage
var iencours=0 ; //vignette
var inbvignette=7; 
var diapoauto=false ; //diapo auto
var modeplanche=false  ;//mode contact
var nbbouclediapo = 0 ; //nb boucle lecture
var nbbouclediapobase = 0 ;
var diaporamamode=false ; //mode en cours du Diaporama :optimisation ns
var ns6=document.getElementById&&!document.all
// on va lire dans le cookies 
var i=4;
i=lire_cookie('timer_diapo'); // nb seconde diapo
if (i!=null){ if (i>='0' && 'i'<=20 ){inbsecondediapo=i;}}



function retaille(){
//retaille l'image en fonction de lafenetre

    var clientWidth ;
    var clientHeight ;
	if (ns6){
		clientWidth = (document.body.clientWidth - 40-50);
		clientHeight = (document.body.clientHeight - 30 - 80);
	}else{
		clientWidth = (document.body.clientWidth - 40-50);
    	clientHeight = (document.body.clientHeight - document.all.controls.offsetHeight - 80);
	}
    var cx = cxImage[iImageEnCours];
    var cy = cyImage[iImageEnCours];

    if (clientWidth < cx)
    {
        cy = cy * clientWidth / cx;
        cx = clientWidth;
    }
    if (clientHeight < cy)
    {
        cx = cx * clientHeight / cy;
        cy = clientHeight;
    }
	if (iPhotoEnCours == 1){
	    document.getElementById("photo1").width = cx;
    	document.getElementById("photo1").height = cy;
		document.getElementById("photo2").width = 0;
    	document.getElementById("photo2").height = 0;
	}else{
		document.getElementById("photo2").width = cx;
    	document.getElementById("photo2").height = cy;
	}
}
function afficheVignettes(idecale){
//determine le nb de vignettes à afficher
	var content="";
	var i=0; 	var j=0; 	var ch="";
	var clientHeight ;
	if (ns6){
		clientHeight = (document.body.clientHeight - 30 - 70);
	}else{
		clientHeight = (document.body.clientHeight - document.all.controls.offsetHeight - 70);
	}
	inbvignette=clientHeight/50
	if (inbvignette<=5){inbvignette=5;}
	// ne permet pas de'afficher 2 fois la meme photo
	if(inbvignette>vImage.length){inbvignette=vImage.length;}
	//test sel manuelle
	if (idecale!=null && idecale !=9999 ){
		iencours -= idecale;
	}
	//alert(iImageEnCours+" / "+iencours);
	if ((iencours == iImageEnCours ) && idecale== 9999){iencours=iImageEnCours+1;}
	if (iencours <0){ iencours += vImage.length;}
	//affiche
	content+="<TABLE width='60' height='60' bgcolor='#FFFF80' border='1' bordercolor='#0066CC' cellspacing='0'>";
	content+="<TR><TD style='cursor:hand' onclick='afficheVignettes(1);'><DIV align='center'><IMG onclick='afficheVignettes(1);' style='cursor:hand' src='images/haut.gif'></DIV></TD></TR>";
	for (j=1;j<=inbvignette;j++){
	   //affiche les vignettes
		content+="<TR><TD><div align='center'><font size='1' face='Arial, Helvetica, sans-serif'> <b>";
		i=( vImage.length +iencours - 3 + j) % vImage.length ;
		if (i == iImageEnCours  ) {ch="border='3' " ; }else{ch="border='0'" ;}
		content=content+"<IMG ";
		content+="style='cursor:hand' onclick='javascript:allera("+i+");' onMouseOver=\"javascript:poplink('<b>"+(i+1)+".  </b>"+vTitre[i]+"');\" onmouseout='javascript:killlink()' "+ch+" height='45' src='"+vThumb[ i ]+"'>" ;
		content+=" </b></font></div></TD></TR>";
		//alert(i+"/"+vImage.length);
		if ((i+1) == vImage.length ) {
			content+="<TR><TD><div align='center'><font size='1' color='#0066CC' face='Arial, Helvetica, sans-serif'> <b>";
			content+="Début";
			content+=" </b></font></div></TD></TR>";
		}
	}
	content+="<TR><TD style='cursor:hand' onclick='afficheVignettes(-1);' ><DIV align='center'><IMG onclick='afficheVignettes(-1);' style='cursor:hand' src='images/reduire.gif'></DIV></TD></TR>";
	content+="</TABLE'>";
	//affiche les vignettes
	if (ns4) {
		with (vignettes.document) {
			write(content);
			close();
		}
	}
	document.getElementById("vignettes").innerHTML = content;
	document.getElementById("vignettes").style.display="";
}
function affiche(){
    // Affiche l'image , les controles et les vignettes
	var i=0; 	var j=0; 	var ch="";
	var content="";
	modemini(false);
	
	// Affiche la  photo
	if (iPhotoEnCours == 1){
		document.getElementById("photo1").src="";
		retaille();
		document.getElementById("photo1").style.display="";		document.getElementById("photo2").style.display="";
		document.getElementById("photo1").src=vImage[iImageEnCours];
		document.getElementById("photo2").src=vImage[ (iImageEnCours + vImage.length + 1) % vImage.length ];
	}else{
		document.getElementById("photo2").src="";
		document.getElementById("photo2").style.display="none";
		retaille();
		document.getElementById("photo2").filters.blendTrans.Apply(); // applique le filtre
		document.getElementById("photo2").src=vImage[iImageEnCours];
		document.getElementById("photo2").style.display="";
		document.getElementById("photo2").filters.blendTrans.Play();// commence la transition
		//preload
		document.getElementById("photo1").src=vImage[ (iImageEnCours + vImage.length + 1) % vImage.length ];
	}
	//vignettes
	afficheVignettes(9999);
	//titre + info
	content="" ;
	content+="<table width='60%' bgcolor='#0066CC' border='0' cellspacing='0'><tr><td>";
	content+="<table width='100%' bgcolor='#FFFF80' border='0' ><tr>";
	if (itypelibelle=="1" ){
		content+="<td  width='55%'>";
		content+="<font size='1' face='verdana,arial' color='#0066CC'><b>Image :"+(iImageEnCours+1)+"</b></br>"+vTitre[iImageEnCours];
		content+="</font></td><td>";
		content+="<font size='1' face='verdana,arial' color='#0066CC'><b>Taille</b></br> ("+cxImage[iImageEnCours]+" x "+cyImage[iImageEnCours]+")";
		content+="</font></td>";
	} else {
		content+="<td  width='100%'>";
		content+="<font size='1' face='verdana,arial' color='#0066CC'>"+vTitre[iImageEnCours];
		content+="</font></td>";
		
	}
	content+="</tr></table>";
	content+="</td></tr></table>";
	if(itypelibelle=="2" && vTitre[iImageEnCours]=="" ){content="";}
	if(itypelibelle=="3"){content="";}
	
	document.getElementById("titre").innerHTML=content
	document.getElementById("titre").style.display="";
	
	//numero
	document.getElementById("numero").innerHTML=""+(iImageEnCours+1)+" / "+vImage.length+"";
	//nombre de seconde d'affichage pour le diaporama
	inbseconde=0;
}
function suivant(){
	//image suivante
	iImageEnCours = (iImageEnCours + vImage.length + 1) % vImage.length ;
	affiche();
}
function precedent(){
	//image precedente
	iImageEnCours = (iImageEnCours + vImage.length - 1) % vImage.length ;
	affiche();
}
function jaugeplus(){
	if (inbsecondediapo == 16 ){inbsecondediapo=20;}
	if (inbsecondediapo < 16 ){inbsecondediapo=inbsecondediapo+2;}
	//enreg le cookie
	enregistrer_cookie('timer_diapo',inbsecondediapo);
}
function jaugemoins(){
	if (inbsecondediapo >=4 ){inbsecondediapo=inbsecondediapo-2;}
	if (inbsecondediapo >= 18  ){inbsecondediapo=16;}
	enregistrer_cookie('timer_diapo',inbsecondediapo);
}
function diaporama(imode){
	// jouer ou arreter le diaporama
	var bencharge=true ;
	var bSTOP=false;

	if(imode==false){clearTimeout(timeoutid);}
	
	if(imode==false){
		
		document.getElementById("joue").style.display="";
		document.getElementById("pause").style.display="none";
		document.getElementById("infocharge").innerHTML="";
		document.getElementById("jaugediapo").style.display="none";
		
		
	}else{
		//jauge
		if (diaporamamode!=imode){
			document.getElementById("jaugediapo").style.display="";
			document.getElementById("joue").style.display="none";
			document.getElementById("pause").style.display="";
		}
		if (document.getElementById("valeurjauge").src !="images/bar_"+inbsecondediapo +".gif") {document.getElementById("valeurjauge").src="images/bar_"+inbsecondediapo +".gif";}
		
		bencharge= (document.getElementById("photo2").readyState== "loading" || document.getElementById("photo2").readyState== "uninitialised" ) ;
		if (bencharge){
			document.getElementById("infocharge").innerHTML="PréChargement en cours...";
		}else {
			bencharge= (document.getElementById("photo1").readyState== "loading" || document.getElementById("photo1").readyState== "uninitialised") ;
			if (bencharge){
				document.getElementById("infocharge").innerHTML="Chargement en cours...";
			}else{
				inbseconde= inbseconde+1 ;
				if ( inbseconde>= inbsecondediapo ){
				//affiche l'image suivante
					//test boucle
					if (nbbouclediapo== 0){
							suivant();
							document.getElementById("infocharge").innerHTML="Chargement en cours...";
					}else{
						if (nbbouclediapo==1 && iImageEnCours == (vImage.length-1) ){
							//STOP
							diaporama(false); bSTOP=true; nbbouclediapo=nbbouclediapobase;
						}else{
							if (iImageEnCours == (vImage.length-1) ) {nbbouclediapo = nbbouclediapo - 1 ;}
							suivant();
							document.getElementById("infocharge").innerHTML="Chargement en cours...";								
						}						
					}
				}else{
				//info de chargement
					document.getElementById("infocharge").innerHTML="Changement dans "+(inbsecondediapo-inbseconde)+" seconde(s)";
				}
			}
		}
		//nouvelle tentative dans 1 seconde
		if (! bSTOP) timeoutid = setTimeout("diaporama(true)", 1000); 
	}
	diaporamamode =imode ;
}
function allera(x){
	//permet d'afficher directement une photo
	iImageEnCours=x;
	modemini(false);
	affiche();
}
function modemini(bmode){
//  afficher la planche contact
	//determine le nb de photo
	var clientWidht = (document.body.clientWidth - 70);
	var inbcolonne=1;
	while (inbcolonne* 130 <clientWidht ) {
		inbcolonne ++ ;
	}
	inbcolonne -- ;
	if (inbcolonne<1){inbcolonne=1;}
	//affiche
	if (bmode==true){
		// cache la vueactuelle
		document.getElementById("vignettes").style.display="none";
		document.getElementById("photo1").style.display="none";document.getElementById("titre").style.display="none"
		diaporama(false);
		var contactText = "<center><table bgcolor='#FFFF80' border='1' bordercolor='#0066CC' cellspacing='0' >" ;
		for (i = 0 ; i < cImage / inbcolonne; i++) {
		              contactText = contactText + "<tr>" ;
		              for (j = 0; j <inbcolonne ; j++) {
	              	   var x = (i * inbcolonne + j) ;
	              	   if (x < cImage) {
		                    contactText = contactText + "<td width=10 valign=top align=left > <font size='1' color='#0066CC face='Arial, Helvetica, sans-serif'> "+(x+1)+".</font></td><td height=120 width=120 valign='top' align='center'><font size='1' color='#333333' face='Arial, Helvetica, sans-serif'> "+"<img onclick='javascript:allera("+x+")' style='cursor:hand; padding: 20px' src='" + vThumb[x] +"'><br><div align='left'><b>" ;
							contactText = contactText + "  </b>"+vTitre[x]+ "</div></font></td>" ;
                 			}
              		}
	              contactText = contactText + "</tr>" ;
	           }
	           contactText = contactText + "</table></center>" ;
	           document.getElementById("contact").innerHTML = contactText ;
	           document.getElementById("contact").style.display="";
	}else{
	document.getElementById("contact").style.display="none";	
	document.getElementById("photo1").style.display="";document.getElementById("titre").style.display=""
		
		
	}
}
//recupere ligne de commande
function getParms(){	if(window.location.search.length > 1)	{		var parms = window.location.search.substring(1).split("&");		var parmList = new Array();		for(var i = 0; i < parms.length; i++){			parmList[i] = new Object;			parmList[i].name = parms[i].substring(0,parms[i].indexOf("="));			parmList[i].value = parms[i].substring(parms[i].indexOf("=")+1);		}		return parmList;	}	else return null;}
//mode full
function diaporamafullscreen(){
	StopChanson();
	window.open('' + document.location+'?FULL=OUI','','menubar=yes,fullscreen,scrollbars'); 
	return(false);
}
function initdiapo(){

	var modediapo=0 ;
	var parms = getParms();
   	if(parms != null){
 		for(var i = 0; i < parms.length; i++){
			//document.writeln("var " + parms[i].name + " = \"" +parms[i].value + "\"<br>"); //pour voir les parametres
			if ( parms[i].name == "FULL"){  
				document.getElementById("modefull").style.display="none"; 
				document.getElementById("modefullquitte").style.display="";
				modediapo=1 ;
			}
	  	}
 	}

	affiche() ;
	if ( modediapo==1 || diapoauto==true ){ diaporama(true); } else {
		if (modeplanche==true) {modemini(true); }
	}
	//audio.js
	JoueChanson()
}
