|
|
Ligne 1 : |
Ligne 1 : |
− | /*
| |
− | Bilingual links
| |
− | Functions through the DoubleWiki extension.
| |
− | Author: wikisource:fr:ThomasV, jQuery version by wikipedia:en:GreenReaper
| |
− | */
| |
− | $(function(){
| |
− | var doc_url = document.URL;
| |
− | // iterate over all interlanguage links
| |
− | $('.interlanguage-link>a[hreflang]').each(function() {
| |
− | var lang = this.getAttribute("hreflang");
| |
− | var qm = doc_url.indexOf( doc_url.indexOf('?title=') != -1 ? '&match=' : '?' );
| |
− | var url = doc_url+"?match="+lang;
| |
− | if( qm != -1 ) url = doc_url.substring(0,qm)+"?match="+lang;
| |
− | this.outerHTML += "<a href='"+url+"'> ⇔</a>";
| |
− | })
| |
− | })
| |
− |
| |
| /* | | /* |
| * Use Gadgets whenever possible to minimize loading for all users for every page. | | * Use Gadgets whenever possible to minimize loading for all users for every page. |
Ligne 30 : |
Ligne 13 : |
| | | |
| function BoiteDeroulante_toggle(NavToggle){ | | function BoiteDeroulante_toggle(NavToggle){ |
− | var NavFrame = NavToggle.parentNode;
| + | var NavFrame = NavToggle.parentNode; |
| | | |
| var caption = []; | | var caption = []; |
Ligne 39 : |
Ligne 22 : |
| | | |
| if ( NavToggle.textContent === caption[1] ) { | | if ( NavToggle.textContent === caption[1] ) { |
− | NavToggle.textContent = caption[0];
| + | NavToggle.textContent = caption[0]; |
| $NavContent.hide(); | | $NavContent.hide(); |
| } else { | | } else { |
Ligne 89 : |
Ligne 72 : |
| } | | } |
| } ) | | } ) |
− | .css( 'cursor', 'pointer' );
| + | .css( 'cursor', 'pointer' ); |
| } | | } |
| | | |
Ligne 97 : |
Ligne 80 : |
| * FIN : Boîtes déroulantes | | * FIN : Boîtes déroulantes |
| */ | | */ |
− |
| |
− | // Imported scripts
| |
− | importScript('MediaWiki:Common.js/Slideshows.js');
| |
| | | |
| /** | | /** |
Ligne 119 : |
Ligne 99 : |
| } | | } |
| | | |
− | | + | /* |
− | /** | + | Bilingual links |
− | * Utilisation du modèle Modèle:Animation
| + | Functions through the DoubleWiki extension. |
− | */
| + | Author: wikisource:fr:ThomasV, jQuery version by wikipedia:en:GreenReaper |
− | | + | */ |
− | var Diaporama = {};
| + | $(function(){ |
− | Diaporama.Params = {};
| + | var doc_url = document.URL; |
− | Diaporama.Fonctions = {};
| + | // iterate over all interlanguage links |
− | | + | $('.interlanguage-link>a[hreflang]').each(function() { |
− | Diaporama.Params.DiaporamaIndex = 0;
| + | var lang = this.getAttribute("hreflang"); |
− | Diaporama.Params.ImageDelay = 1;
| + | var qm = doc_url.indexOf( doc_url.indexOf('?title=') != -1 ? '&match=' : '?' ); |
− | Diaporama.Params.Paused = [];
| + | var url = doc_url+"?match="+lang; |
− | Diaporama.Params.Visible = [];
| + | if( qm != -1 ) url = doc_url.substring(0,qm)+"?match="+lang; |
− | Diaporama.Params.Length = [];
| + | this.outerHTML += "<a href='"+url+"'> ⇔</a>"; |
− | Diaporama.Params.Delay = [];
| + | }) |
− | Diaporama.Params.Timeout = [];
| + | }) |
− | | |
− | Diaporama.Fonctions.Init = function(node){
| |
− | if (!node) {
| |
− | node = document;
| |
− | }
| |
− | var Diaporamas = $( node ).find( 'div.diaporama' ).get();
| |
− | 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 = $( DiaporamaDiv ).find( 'div.diaporamaFiles' )[0];
| |
− | var DiaporamaControl = $( DiaporamaDiv ).find( 'div.diaporamaControl' )[0];
| |
− | if (!DiaporamaFileContainer || !DiaporamaControl) {
| |
− | return;
| |
− | }
| |
− | var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
| |
− | var width;
| |
− | var firstTumbinner = $( DiaporamaFileContainer ).find( '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";
| |
− | 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 = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
| |
− | 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 || ! $( DiaporamaDiv ).hasClass( 'AutoLoop' ) ) {
| |
− | 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 = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
| |
− | 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 s, Opt;
| |
− | var Total = Diaporama.Params.Length[index];
| |
− | var Select = document.createElement('select');
| |
− | Select.id = "DiaporamaSelect"+index;
| |
− | Select.title = Title;
| |
− | for ( s=0; s<Total; s++ ) {
| |
− | 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; o<p; o++){
| |
− | if (o === Diaporama.Params.Visible[index]) {
| |
− | Opts[o].selected = "selected";
| |
− | } else {
| |
− | Opts[o].selected = false;
| |
− | }
| |
− | }
| |
− | };
| |
− | | |
− | Diaporama.Fonctions.UpdateBar = function(index){
| |
− | var Percent = (100/(Diaporama.Params.Length[index]-1)) * Diaporama.Params.Visible[index];
| |
− | if (Percent>100) {
| |
− | Percent = 100;
| |
− | }
| |
− | var DiaporamaControl = document.getElementById("DiaporamaControl_"+index);
| |
− | var DiaporamaScrollBar = $( DiaporamaControl ).find( '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 Image = Link.getElementsByTagName('img')[0];
| |
− | var DiapoState = Diaporama.Params.Paused[index];
| |
− | if ( ( $( Span ).hasClass( 'Play' ) && DiapoState === false ) || ( ( $( Span ).hasClass( 'Pause' ) || $( Span ).hasClass( 'Stop' ) ) && DiapoState === true ) ){
| |
− | Image.style.backgroundColor = "silver";
| |
− | } else {
| |
− | Image.style.backgroundColor = "white";
| |
− | }
| |
− | };
| |
− | | |
− | Diaporama.Fonctions.getIndex = function(Element){
| |
− | return parseInt(Element.id.replace(/[^0-9]/g, ""));
| |
− | }; | |
− | | |
− | $( function () {
| |
− | Diaporama.Fonctions.Init();
| |
− | } );
| |
− | | |
− | // DO NOT ADD CODE BELOW THIS LINE
| |
− | }); | |