User:Equazcion/DiaporamaFrench.js

/** * Utilisation du modèle Modèle:Animation */

var Diaporama = new Object; Diaporama.Params = new Object; Diaporama.Fonctions = new Object;

Diaporama.Params.DiaporamaIndex = 0; Diaporama.Params.ImageDelay = 1; Diaporama.Params.Paused = new Array; Diaporama.Params.Visible = new Array; Diaporama.Params.Length = new Array; Diaporama.Params.Delay = new Array; Diaporama.Params.Timeout = new Array;

Diaporama.Fonctions.Init = function(node){ if(!node) node = document; var Diaporamas = getElementsByClassName(node, "div", "diaporama"); for(var a=0,l=Diaporamas.length;a<l;a++){ Diaporama.Fonctions.InitDiaporama(Diaporamas[a]); } } Diaporama.Fonctions.InitDiaporama = function(DiaporamaDiv){ var index = Diaporama.Params.DiaporamaIndex; Diaporama.Params.DiaporamaIndex++; DiaporamaDiv.id = "Diaporama_"+index; var DiaporamaFileContainer = getElementsByClassName(DiaporamaDiv, "div", "diaporamaFiles")[0]; var DiaporamaControl = getElementsByClassName(DiaporamaDiv, "div", "diaporamaControl")[0]; if(!DiaporamaFileContainer || !DiaporamaControl) return; var DiaporamaFiles = getElementsByClassName(DiaporamaFileContainer, "div", "ImageFile"); var width; var firstTumbinner = getElementsByClassName(DiaporamaFileContainer, "div", "thumbinner")[0]; if(firstTumbinner){ // force la largeur du diaporama (pour IE) width = firstTumbinner.style.width.split("px").join(""); }else{ if(DiaporamaFileContainer.firstChild.firstChild) width = DiaporamaFileContainer.firstChild.firstChild.offsetWidth; }   if(width) DiaporamaDiv.style.width = (parseInt(width)+30) + "px"; if(DiaporamaFiles.length<2) return; Diaporama.Params.Length[index] = DiaporamaFiles.length; DiaporamaFileContainer.id = "DiaporamaFileContainer_"+index; DiaporamaControl.id = "DiaporamaControl_"+index; Diaporama.Params.Delay[index] = Diaporama.Params.ImageDelay; var DiaporamaDivClass = DiaporamaDiv.className.HTMLize; var ParamDelay = DiaporamaDivClass.match(/Delay[0-9]+(\.|,)?[0-9]*/); if(ParamDelay!=null){ ParamDelay = parseFloat(ParamDelay[0].split("Delay").join("").split(",").join(".")); if(ParamDelay && ParamDelay>0) Diaporama.Params.Delay[index] = ParamDelay; }   Diaporama.Fonctions.ShowThisDiapo(index, 0); var ControlLinks = DiaporamaControl.getElementsByTagName("a"); ControlLinks[0].firstChild.id = "DiaporamaPlay"+index; ControlLinks[0].href = "javascript:Diaporama.Fonctions.Play("+index+");"; ControlLinks[1].firstChild.id = "DiaporamaPause"+index; ControlLinks[1].href = "javascript:Diaporama.Fonctions.Pause("+index+");"; ControlLinks[2].firstChild.id = "DiaporamaStop"+index; ControlLinks[2].href = "javascript:Diaporama.Fonctions.Stop("+index+");"; ControlLinks[3].firstChild.id = "DiaporamaLast"+index; ControlLinks[3].href = "javascript:Diaporama.Fonctions.ToggleDiapo("+index+",-1);"; ControlLinks[4].firstChild.id = "DiaporamaNext"+index; ControlLinks[4].href = "javascript:Diaporama.Fonctions.ToggleDiapo("+index+", 1);"; ControlLinks[5].parentNode.appendChild(Diaporama.Fonctions.CreateSelect(index, ControlLinks[5].title)); ControlLinks[5].parentNode.removeChild(ControlLinks[5]); for(var e=0,t=ControlLinks.length;e<t;e++){ ControlLinks[e].onmousedown = function{Diaporama.Fonctions.Onclick(this);}; ControlLinks[e].onmouseup = function{Diaporama.Fonctions.Offclick(this, index);}; ControlLinks[e].firstChild.style.backgroundColor = "white"; ControlLinks[e].onmouseover = function{ this.focus; }; }   DiaporamaControl.style.display = "block"; if(hasClass("Autoplay", DiaporamaDiv)){ Diaporama.Fonctions.Play(index); }else{ Diaporama.Fonctions.Pause(index); } }

Diaporama.Fonctions.Play = function(index){ if(Diaporama.Params.Paused[index] === false) return; Diaporama.Params.Paused[index] = false; clearTimeout(Diaporama.Params.Timeout[index]); Diaporama.Params.Timeout[index] = setTimeout("Diaporama.Fonctions.ToggleDiapo("+index+",1);", Diaporama.Params.Delay[index]*1000); var ButtonPlay = document.getElementById("DiaporamaPlay"+index); ButtonPlay.style.backgroundColor = "silver"; var ButtonPause = document.getElementById("DiaporamaPause"+index); ButtonPause.style.backgroundColor = "white"; var ButtonStop = document.getElementById("DiaporamaStop"+index); ButtonStop.style.backgroundColor = "white"; }

Diaporama.Fonctions.Pause = function(index){ Diaporama.Params.Paused[index] = true; clearTimeout(Diaporama.Params.Timeout[index]); var ButtonPlay = document.getElementById("DiaporamaPlay"+index); ButtonPlay.style.backgroundColor = "white"; var ButtonPause = document.getElementById("DiaporamaPause"+index); ButtonPause.style.backgroundColor = "silver"; var ButtonStop = document.getElementById("DiaporamaStop"+index); ButtonStop.style.backgroundColor = "white"; }

Diaporama.Fonctions.Stop = function(index){ Diaporama.Params.Paused[index] = true; clearTimeout(Diaporama.Params.Timeout[index]); Diaporama.Fonctions.ShowThisDiapo(index, 0); var ButtonPlay = document.getElementById("DiaporamaPlay"+index); ButtonPlay.style.backgroundColor = "white"; var ButtonPause = document.getElementById("DiaporamaPause"+index); ButtonPause.style.backgroundColor = "white"; var ButtonStop = document.getElementById("DiaporamaStop"+index); ButtonStop.style.backgroundColor = "silver"; }

Diaporama.Fonctions.ToggleDiapo = function(index, diff){ clearTimeout(Diaporama.Params.Timeout[index]); var DiaporamaFileContainer = document.getElementById("DiaporamaFileContainer_"+index); var DiaporamaFiles = getElementsByClassName(DiaporamaFileContainer, "div", "ImageFile"); var VisibleIndex = Diaporama.Params.Visible[index]; var NextDiaporamaIndex = (VisibleIndex+diff); if(NextDiaporamaIndex==DiaporamaFiles.length || NextDiaporamaIndex<0){ var DiaporamaDiv = document.getElementById("Diaporama_"+index); if(diff<0 || !hasClass("AutoLoop", DiaporamaDiv)){ return; }       NextDiaporamaIndex = 0; }   Diaporama.Fonctions.ShowThisDiapo(index, NextDiaporamaIndex); }

Diaporama.Fonctions.ShowThisDiapo = function(index, Value){ clearTimeout(Diaporama.Params.Timeout[index]); var DiaporamaFileContainer = document.getElementById("DiaporamaFileContainer_"+index); var DiaporamaFiles = getElementsByClassName(DiaporamaFileContainer, "div", "ImageFile"); for(var x=0,z=DiaporamaFiles.length;x<z;x++){ if(x!=Value){ DiaporamaFiles[x].style.display = "none"; }else{ DiaporamaFiles[x].style.display = "block"; }   }    Diaporama.Params.Visible[index] = Value; Diaporama.Fonctions.UpdateBar(index); Diaporama.Fonctions.UpdateSelect(index); if(!Diaporama.Params.Paused[index]){ var multipl = 1; if(Value==(Diaporama.Params.Length[index]-1)) multipl = 3; Diaporama.Params.Timeout[index] = setTimeout("Diaporama.Fonctions.ToggleDiapo("+index+",1);", Diaporama.Params.Delay[index]*1000*multipl); } }

Diaporama.Fonctions.CreateSelect = function(index, Title){ var Total = Diaporama.Params.Length[index]; var Select = document.createElement('select'); Select.id = "DiaporamaSelect"+index; Select.title = Title; for(var s=0;s<Total;s++){ var Opt = document.createElement('option'); if(s==0) Opt.selected = "selected"; Opt.text = (s+1)+"/"+Total; Opt.innerHTML = (s+1)+"/"+Total; Opt.value = s;       Select.appendChild(Opt); }   Select.onchange = function{ Diaporama.Fonctions.SelectDiapo(Diaporama.Fonctions.getIndex(this)); }; Select.onmouseover = function{ this.focus; }; return Select; }

Diaporama.Fonctions.SelectDiapo = function(index){ var Select = document.getElementById("DiaporamaSelect"+index); if(!Select) return; var Opts = Select.getElementsByTagName('option'); for(var o=0,p=Opts.length;o<p;o++){ if(Opts[o].selected) { var Value = parseInt(Opts[o].value); return Diaporama.Fonctions.ShowThisDiapo(index, Value); }   } }

Diaporama.Fonctions.UpdateSelect = function(index){ var Select = document.getElementById("DiaporamaSelect"+index); if(!Select) return; var Opts = Select.getElementsByTagName('option'); for(var o=0,p=Opts.length;o100) Percent = 100; var DiaporamaControl = document.getElementById("DiaporamaControl_"+index); var DiaporamaScrollBar = getElementsByClassName(DiaporamaControl, "div", "ScrollBar")[0]; DiaporamaScrollBar.style.width = Percent + "%"; }

Diaporama.Fonctions.Onclick = function(Link){ var Image = Link.getElementsByTagName('img')[0]; Image.style.backgroundColor = "gray"; }

Diaporama.Fonctions.Offclick = function(Link, index){ var Span = Link.parentNode; var SpanClass = Span.className; var Image = Link.getElementsByTagName('img')[0]; var DiapoState = Diaporama.Params.Paused[index]; if( (hasClass("Play", Span) && DiapoState == false) || ( (hasClass("Pause", Span)||hasClass("Stop", Span))&&DiapoState==true) ){ Image.style.backgroundColor = "silver"; }else{ Image.style.backgroundColor = "white"; } }

Diaporama.Fonctions.getIndex = function(Element){ return parseInt(Element.id.replace(/[^0-9]/g, "")); }

$(document).ready(function ($) {   Diaporama.Fonctions.Init; });