Valid XHTML     Valid CSS2    

Listing du fichier pot-pourri.js

 

00001     // (gH) -_- pot-pourri.js ; TimeStamp (unix) : 17 Mars 2010 vers 12:50
00002     
00003     // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00004     // + +
00005     // + POT-POURRI DE CODE Javascript +
00006     // + +
00007     // + +
00008     // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00009     
00010     
00011     // (gH) -_- deuxnombres.js ; TimeStamp (unix) : 18 Janvier 2010 vers 17:36
00012     
00013     function f(x) { return x+1 } ;
00014     function g(x) { return 2*x } ;
00015     
00016     <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
00017      onsubmit ="javascript:this.double.value=this.nombre.value*2 ; return false ">
00018     
00019     <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
00020      onsubmit ="javascript:this.double.value=this.nombre.value*2 ; this.demi.value=this.nombre.value/2 ; return false ">
00021     
00022     <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
00023      onsubmit ="javascript:this.tiers1.value=this.nombre.value/3 ; this.tiers2.value=parseFloat(this.tiers1.value).toFixed(2) ; return false ">
00024     
00025     
00026     <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
00027      onsubmit ="javascript:t return maGestion(this) ">
00028     
00029     // ########################################################################
00030     
00031     // (gH) -_- sen_deuxnombres.js ; TimeStamp (unix) : 06 Octobre 2008 vers 13:43
00032     
00033     // ##########################################################
00034     
00035     // ce texte s'exécute au moment de son chargement
00036     
00037     window.document.write("<h1>Sans formulaire : </h1>") ;
00038     
00039     a = 8 ;
00040     b = 2 ;
00041     
00042     window.document.write("<p>") ;
00043     
00044     window.document.write("Remarque : on utilise les deux nombres "+a+" et "+b+" exactement dans cet ordre. ") ;
00045     window.document.write("Leur addition donne "+(a+b)+". ") ;
00046     window.document.write("Leur soustraction donne "+(a-b)+". ") ;
00047     window.document.write("Leur multiplication donne "+(a*b)+". ") ;
00048     window.document.write("Leur division donne "+(a/b)+".") ;
00049     window.document.write("</p>") ;
00050     
00051     // ##########################################################
00052     
00053     function operations() {
00054     
00055      // sans parseInt, on utilise les chaines de caractères
00056      // et donc 1 + 1 est en fait "1" + "1" soit "11" au lieu de 2
00057     
00058      v1 = parseInt( document.getElementById('n1').value ) ;
00059      v2 = parseInt( document.getElementById('n2').value ) ;
00060     
00061      a = v1 + v2 ;
00062      b = v1 - v2 ;
00063      c = v1 * v2 ;
00064      d = v1 / v2 ;
00065     
00066      debut = "Remarque : on utilise les deux nombres "+v1+" et "+v2+" exactement dans cet ordre. " ;
00067      add = "Leur addition donne "+a+". " ;
00068      sou = "Leur soustraction donne "+b+". " ;
00069      mul = "Leur multiplication donne "+c+". " ;
00070      div = "Leur division donne "+d+"." ;
00071     
00072      phrase = debut + add + sou + mul + div ;
00073     
00074      // alert(phrase)
00075     
00076      nouveaup = document.createElement("p") ;
00077     
00078      nouveaup.innerText = phrase ; // Internet Explorer
00079      nouveaup.textContent = phrase ; // Firefox
00080     
00081      document.body.appendChild(nouveaup) ; // Firefox
00082     
00083      alert('les réponses sont tout en bas de la page !') ;
00084     
00085      return false ; // pour éviter de déclencher l'action
00086     
00087     } // fin de fonction operations
00088     
00089     // ##########################################################
00090     
00091     
00092     function operations2() {
00093     
00094      // on affiche le champ de réponse
00095     
00096      x1 = parseInt( document.getElementById('x1').value ) ;
00097      x2 = parseInt( document.getElementById('x2').value ) ;
00098     
00099      a = x1 + x2 ;
00100      b = x1 - x2 ;
00101      c = x1 * x2 ;
00102     
00103      if (x2!=0) { d = x1 / x2 ; } ;
00104     
00105     
00106      debut = "Remarque : on utilise les deux nombres "+x1+" et "+x2+" exactement dans cet ordre. " ;
00107      add = "Leur addition donne "+a+". " ;
00108      sou = "Leur soustraction donne "+b+". " ;
00109      mul = "Leur multiplication donne "+c+". " ;
00110     
00111      if (x2!=0) {
00112      div = "Leur division donne "+d+"." ;
00113      } else {
00114      div = "Leur division est impossible car le deuxième nombre est nul." ;
00115      } ; // fin de si
00116      phrase = debut + add + sou + mul + div ;
00117     
00118      if (x1>x2) {
00119      phrase += " Et "+x1+" est sans doute plus grand que "+x2+"." ;
00120      } else {
00121      phrase += " Et "+x2+" est sans doute plus grand que "+x1+"." ;
00122      } ; // fin de si
00123     
00124      // alert(phrase)
00125     
00126      ancienp = document.getElementById('resultats') ;
00127     
00128      ancienp.innerText = phrase ; // Internet Explorer
00129      ancienp.textContent = phrase ; // Firefox
00130     
00131      ancienp.setAttribute('class','visible') ; // Firefox
00132      ancienp.setAttribute('className','visible') ; // Internet Explorer
00133     
00134      return false ; // pour éviter de déclencher l'action
00135     
00136     } // fin de fonction operations
00137     
00138     
00139     
00140     function deuxnombres3() {
00141     
00142     // #######################################################
00143     
00144     vara = parseInt(document.getElementById("a").value,10) ;
00145     varb = parseInt(document.getElementById("b").value,10) ;
00146     
00147     document.getElementById("res").firstChild.data = "" ;
00148     document.getElementById("res").firstChild.data += " a vaut " + vara + " et b vaut " + varb + ".\n" ;
00149     
00150     if (vara<varb) {
00151      document.getElementById("res").firstChild.data += " donc a est plus petit que b.\n" ;
00152     } else {
00153      document.getElementById("res").firstChild.data += " donc b est plus petit que a.\n" ;
00154     } ; // finsi
00155     
00156     return false ;
00157     
00158     // #######################################################
00159     
00160     } ; // fin de fonction deuxnombres
00161     
00162      // on veut produire
00163      // <td><a href='javascript:move(2)' title=''><img src='h0.gif' border=0 width=140 height=20 alt=' '></a><\/td>"
00164     
00165      td2 = document.createElement("td") ;
00166      ah2 = document.createElement("a") ;
00167      im2 = document.createElement("img") ;
00168     
00169      ah2.setAttribute("href",'javascript:move(2)') ;
00170      im2.setAttribute("onclick",'move(2)') ;
00171      im2.setAttribute("src",'h0.gif') ;
00172      im2.setAttribute("alt",'h0.gif') ;
00173      im2.setAttribute("width","140") ;
00174      im2.setAttribute("height","20") ;
00175     
00176      td2.appendChild(ah2) ;
00177      td2.appendChild(im2) ;
00178     
00179     // calculs sur tableaux
00180     
00181     var tabt = new Array(1,1,2,3,5,6,7,8,8,8) ;
00182     var tab2 = new Array(1,2) ;
00183     var tab3 = new Array(1,2,3,4,5) ;
00184     
00185     var tabt = new Array(1,1,2,3,5,6,7,8,8,8) ;
00186     var tab2 = new Array(1,2) ;
00187     var tab3 = new Array(1,2,3,4,5) ;
00188     
00189     function valMax3(leTableauTrie) {
00190     
00191      // nbelt : nombre d'éléments dans le tableau
00192      // max : maximum
00193      // idv : indice de valeur dans le tableau
00194      // valc : valeur courante dans le tableau à l'indice idv
00195     
00196      // le tableau est déjà trié (non vérifié)
00197     
00198      return leTableauTrie[leTableauTrie.length -1]
00199     
00200     } ; // fin de fonction valMax
00201     
00202     
00203     
00204     function valMax4(leTableauTrie) {
00205     
00206      // nbelt : nombre d'éléments dans le tableau
00207      // max : maximum
00208      // idv : indice de valeur dans le tableau
00209      // valc : valeur courante dans le tableau à l'indice idv
00210     
00211      // le tableau est déjà trié (non vérifié)
00212     
00213      nbelt = leTableauTrie.length ;
00214      maxt = leTableauTrie[nbelt-1] ;
00215      idv = nbelt-2 ;
00216      nboc = 1 ;
00217      prem = nbelt ;
00218      dern = nbelt ;
00219      valc = leTableauTrie[idv] ;
00220      while ((valc==maxt) && (idv>0)) {
00221      nboc++
00222      idv-- ;
00223      valc = leTableauTrie[idv] ;
00224      dern = idv + 1 ;
00225      } ; // fin pour idv
00226     
00227     function valMax2(leTableau) {
00228     
00229      // nbelt : nombre d'éléments dans le tableau
00230      // maxjl : maximum courant (Jusque Là)
00231      // idv : indice de valeur dans le tableau
00232      // valc : valeur courante dans le tableau à l'indice idv
00233     
00234      // prem : première fois où on la voit
00235      // dern : dernière fois soù on la voit
00236      // nboc : nombre d'occurences
00237     
00238      nbelt = leTableau.length ;
00239      maxjl = leTableau[0] ;
00240      prem = 1 ;
00241      dern = 1 ;
00242      nboc = -1 ;
00243      for (idv=0;idv<nbelt;idv++) {
00244      valc = leTableau[idv] ;
00245      if (valc==maxjl) {
00246      nboc++
00247      dern = idv+1
00248      } else {
00249      if (valc>maxjl) {
00250      maxjl = leTableau[idv] ;
00251      nboc = 1
00252      prem = idv+1
00253      dern = idv+1
00254      } ; // fin si
00255      } ; // fin de si
00256      } ; // fin pour idv
00257     
00258     // (gH) -_- voirpage.js ; TimeStamp (unix) : 31 Janvier 2010 vers 12:45
00259     
00260     
00261     
00262     function demo() {
00263     
00264      dbg = 1 ; // 1 en normal, 0 pour "préparer le rendu"
00265     
00266      txt1 = "Comme vous pouvez le voir, ce texte s'affiche APRES le chargement de toute la " ;
00267      txt2 = "page." ;
00268      if (dbg==1) { alert(txt1+txt2) ; } ;
00269     
00270      elth2 = window.document.createElement("h2")
00271      txt3 = " Après elth2 = window.document.createElement(\"h2\"), on ne voit rien de plus " ;
00272      txt4 = " car l'élément est créé EN MEMOIRE seulement." ;
00273      if (dbg==1) { alert(txt3+txt4) ; } ;
00274     
00275      eltxt = window.document.createTextNode("insertion")
00276      txt5 = " Après eltxt = window.document.createTextNode(\"insertion\"), on ne voit rien de plus " ;
00277      txt6 = " car le noeud-texte est créé EN MEMOIRE seulement." ;
00278      if (dbg==1) { alert(txt5+txt6) ; } ;
00279     
00280      elth2.appendChild(eltxt)
00281      txt7 = " Après elth2.appendChild(eltxt), toujours rien à l'écran " ;
00282      txt8 = " car il s'agit d'une gestion de l'arbre en mémoire." ;
00283      if (dbg==1) { alert(txt7+txt8) ; } ;
00284     
00285      document.getElementById("milieu").appendChild(elth2) ;
00286      txt9 = " Par contre, avec document.getElementById(\"milieu\").appendChild(elth2) ; " ;
00287      txt10 = " le navigateur affiche le texte." ;
00288      if (dbg==1) { alert(txt9+txt10) ; } ;
00289     
00290      etxt2 = window.document.createTextNode("réussie") ;
00291      eltfo = window.document.createElement("font") ;
00292      eltfo.setAttribute("color","#880000") ;
00293      eltfo.appendChild(etxt2)
00294      document.getElementById("milieu").appendChild(eltfo) ;
00295     
00296     } // fin de fonction demo
00297     
00298     
00299     // #######################################################
00300     
00301     // (gH) -_- mystere.js ; TimeStamp (unix) : 27 Février 2010 vers 20:36
00302     
00303      var tabM = new Array("M","F","A") ; // Cours : Maths Francais Anglais
00304      var tabN = new Array(2,2,1) ; // Nb exos par cours
00305      var tabI = new Array() ; // Identifiant des exercices
00306     
00307      idi = -1 ;
00308     
00309      for (idm=0;idm<tabN.length;idm++) {
00310      for (ide=0;ide<tabN[idm];ide++) {
00311      idi = idi + 1 ;
00312      jde = ide + 1 ;
00313      tabI[idi] = tabM[idm] + jde ;
00314      } ; // fin pour ide
00315      } ; // fin pour idm
00316     
00317     // #######################################################
00318     
00319     
00320     
00321     // (gH) -_- hanoi.js ; TimeStamp (unix) : 24 Mars 2010 vers 16:32
00322     
00323     // file imported from http://wipos.p.lodz.pl/zylla/games/hanoi5e.html
00324     // see (gH)'s functions at the bottom of this file.
00325     
00326     var noDisks=5;
00327     
00328     var nd1=noDisks+1, noImgs=(noDisks+1)*3;
00329     var peg = 0, firstPick=0, secondPick=0;
00330     var i=0, j=0, noMoves=0, time=0;
00331     var what= 0, where=0, ontop=0;
00332     var aa = new Array(); aa[3*nd1+1]=nd1; aa[3*nd1+2]=nd1; aa[3*nd1+3]=nd1;
00333     var bb = new Array(0, 1,nd1,nd1 );
00334     var src = new Array(); src[nd1]=3;
00335     var dst = new Array(); dst[nd1]=3;
00336     var minMoves = Math.pow(2,noDisks) - 1;
00337     var finished = false;
00338     var started = false;
00339     var helped = 0;
00340     
00341     function Sorry() {
00342      alert("Sorry, this game needs to run on a browser \n which supports the image object.");
00343     }
00344     
00345     function move(peg) {
00346     if (document.images) {
00347      if (firstPick==0) {
00348      firstPick=peg;
00349      where= bb[firstPick];
00350      what = aa[3*where+firstPick];
00351     
00352      if (where<=noDisks) {
00353      if (started==false) {
00354      started=true; time=nowTime(); //time of the first click
00355      }
00356      document.images[firstPick].src=document.images[3*where+firstPick].src;
00357      document.images[3*where+firstPick].src="h0.gif";
00358      aa[firstPick] = what;
00359      aa[3*where+firstPick] = 0;
00360      bb[firstPick] =bb[firstPick]+1;
00361      updateInfo(" Now click where you want it to move. ");
00362      }
00363      else { firstPick=0;
00364      updateInfo(" Nothing to pick here ! ");
00365      if (finished) updateInfo(" Game already finished ! Use other buttons.");
00366      }
00367      }
00368      else { secondPick=peg;
00369      ontop =aa[3*bb[secondPick]+secondPick];
00370      endLev=bb[secondPick]-1;
00371      if (what>ontop) {
00372      alert("You want to put bigger disk [__"+what+"__] \n on the top of the smaller one [_"+ ontop+ "_] !" );
00373      } // then
00374      else {
00375      document.images[secondPick].src=document.images[firstPick].src;
00376      if (firstPick!=secondPick) {
00377      document.images[firstPick].src="h0.gif";
00378      noMoves = noMoves+1;
00379      }
00380      document.images[endLev*3+secondPick].src=document.images[secondPick].src;
00381      document.images[secondPick].src="h0.gif";
00382      aa[endLev*3+secondPick]=aa[firstPick];
00383      aa[firstPick] = 0;
00384      bb[secondPick]=bb[secondPick]-1;
00385      updateInfo(" Okay, click the peg from which to move a disk. ");
00386      firstPick=0;
00387      if ((aa[2*3]==1) && (finished!=true)) {
00388      updateInfo(" Okay, game finished. Let\'s try next one :) ");
00389      finished=true; Congratulations()
00390      }
00391      } // else
00392      }
00393      }
00394      else Sorry();
00395     } // move
00396     
00397     function Recognize() {
00398     var i=0, j=0, wht=0;
00399      for (i=0; i<=noDisks; i++) {
00400      for (j=1; j<=3; j++) {
00401      wht=aa[3*i+j];
00402      if (wht!=0) src[wht]=j;
00403      }
00404      }
00405     } // fun
00406     
00407     function CalcMinMoves() {
00408      minMoves=0;
00409      Recognize();
00410      for (i=noDisks; i>=1; i--) {
00411      if (src[i+1] == dst[i+1])
00412      dst[i]=src[i+1]
00413      else dst[i]=6-src[i+1]-dst[i+1];
00414      if (src[i] != dst[i])
00415      minMoves=minMoves + Math.pow(2,i-1);
00416      }
00417     } // fun
00418     
00419     function initArray() {
00420      bb[1]=1; bb[2]=noDisks+1; bb[3]=noDisks+1; noMoves=0;
00421      if (document.images) { document.images[0].src = "han.gif";
00422      for (i=0; i<=noDisks; i++) {
00423      aa[i*3+1]=i; nom = "h" + i + ".gif" ; document.images[i*3+1].src = nom ;
00424      aa[i*3+2]=0; document.images[i*3+2].src = "h0.gif";
00425      aa[i*3+3]=0; document.images[i*3+3].src = "h0.gif";
00426      }
00427      }
00428      else Sorry();
00429      CalcMinMoves(); finished=false; started = false; helped=0;
00430      updateInfo(' Click a peg to move a disk! ');
00431     }
00432     
00433     function shuffleArray() {
00434      if (document.images) {
00435      for (i=1; i<=noImgs; i++) { aa[i]=0; document.images[i].src = "h0.gif" };
00436      for (i=1; i<=3; i++) { bb[i]=noDisks+1 };
00437      noMoves=0;
00438      for (i=1; i<=noDisks; i++) {
00439      what=noDisks+1-i; peg=Math.floor(Math.random()*3)+1;
00440      if ((i==1) && (peg==3)) {peg=1};
00441      bb[peg]=bb[peg]-1;
00442      where=3*bb[peg]+peg;
00443      aa[where]=what;
00444      nomimg = "h" + what + ".gif";
00445      document.images[where].src = nomimg
00446      }
00447      }
00448      else Sorry();
00449      CalcMinMoves(); finished=false; started = false; helped=0;
00450      updateInfo(' Click a peg to move a disk! ');
00451     }
00452     
00453     function nowTime() {
00454     var start = new Date();
00455      return (start.getTime() / 1000);
00456     }
00457     
00458     function Congratulations() {
00459     var conText = "";
00460      atime = parseInt(nowTime() - time);
00461      if (noMoves>minMoves+1)
00462      conText = "however\n You\'ve made "+ (noMoves-minMoves) + " wrong moves."
00463      if (noMoves==minMoves+1)
00464      conText = "and\n You\'ve made only one wrong move."
00465      if (helped>2)
00466      conText = "however\n I\'ve helped you with "+ (helped) + " moves."
00467      if (atime>=3*minMoves)
00468      conText = conText + "\n You click to slow.";
00469      if (atime<minMoves)
00470      conText = conText + "\n You click with " + (Math.round((2*noMoves-helped)*60/atime) ) + " mickeys per minute.";
00471      if (conText=="") conText = "\n You\'ve made it in " + noMoves +" moves!\n"
00472      else conText = "\n You\'ve finished it well, " + conText;
00473      if ((noMoves==minMoves) && (atime<=2*minMoves) && (helped<=1))
00474      conText = "\n C o n g r a t u l a t i o n s !" +
00475      "\n You\'ve made it in a minimum of " + minMoves + " moves."
00476      "\n and in a very good time = " + atime + " seconds" +
00477      "\n You are the MASTER of that game.";
00478      alert( conText );
00479      return true
00480     }
00481     
00482     function updateInfo( information ) {
00483      document.forms[0].info1.value = information;
00484      return true
00485     }
00486     
00487     function oneMove() {
00488     var from=1, to=1;
00489      Recognize(); // update positions info
00490      for (i=noDisks; i>=1; i--) {
00491      if (src[i+1] == dst[i+1])
00492      dst[i] = src[i+1]
00493      else dst[i] = 6-src[i+1]-dst[i+1];
00494      if (src[i] != dst[i]) {
00495      from=src[i]; to=dst[i]
00496      }
00497      }
00498      if (firstPick != 0) { // disk raised, check if the good one
00499      if (firstPick != from) { move(firstPick); move(from); }
00500      }
00501      else move(from);
00502      move(to);
00503      if (from != to) helped = helped+1;
00504      return true
00505     }
00506     
00507     // the following lines have been added by (gH)
00508     // [gilles.hunault "at" univ-angers.fr]
00509     
00510     
00511     // ########################################################################
00512     
00513     function pageInit() {
00514     
00515     // ########################################################################
00516     
00517      if (!document.images) {
00518      alert('This game does not work \n in this browser version') ;
00519      } // fin de si
00520     
00521      updateInfo(' Click a peg to move a disk! ') ;
00522      initArray()
00523     
00524     } // fin de fonction pageInit
00525     
00526     // ########################################################################
00527     
00528     // ########################################################################
00529     
00530     function pegsInit() {
00531     
00532     // ########################################################################
00533     
00534     //document.writeln("<table border='0' cellspacing='0' cellpadding='0' width='420'>");
00535     tp = document.createElement("table") ;
00536     tp.setAttribute("cellpadding",0) ;
00537     tp.setAttribute("cellspacing",0) ;
00538     tp.setAttribute("border",0) ;
00539     tp.setAttribute("width","420") ;
00540     tp.setAttribute("className","tpeg") ;
00541     tp.setAttribute("class","tpeg") ;
00542     
00543     // alert(noDisks)
00544     for (var i=0; i<=noDisks; i++) {
00545      // document.writeln("<tr>");
00546      tr1 = document.createElement("tr") ;
00547     
00548      // document.writeln("<td><a href='javascript:move(1)' title=''><img src='h" + i + ".gif' border=0 width=140 height=20 alt=' '><\/a><\/td>");
00549      td1 = document.createElement("td") ;
00550      td1.setAttribute("height","12") ;
00551      ah1 = document.createElement("a") ;
00552      im1 = document.createElement("img") ;
00553     
00554      ah1.setAttribute("href",'javascript:move(1)') ;
00555      im1.setAttribute("onclick",'move(1)') ;
00556      nomimg = "h" + i + ".gif"
00557      im1.setAttribute("src",nomimg)
00558      pegimg = "peg" + i + ".gif"
00559      im1.setAttribute("alt",pegimg)
00560      im1.setAttribute("width",'140') ;
00561      im1.setAttribute("height","20") ;
00562     
00563      td1.appendChild(ah1) ;
00564      td1.appendChild(im1) ;
00565     
00566      // document.writeln("<td><a href='javascript:move(2)' title=''><img src='h0.gif' border=0 width=140 height=20 alt=' '><\/a><\/td>");
00567      td2 = document.createElement("td") ;
00568      ah2 = document.createElement("a") ;
00569      im2 = document.createElement("img") ;
00570     
00571      ah2.setAttribute("href",'javascript:move(2)') ;
00572      im2.setAttribute("onclick",'move(2)') ;
00573      im2.setAttribute("src",'h0.gif') ;
00574      im2.setAttribute("alt",'h0.gif') ;
00575      im2.setAttribute("width","140") ;
00576      im2.setAttribute("height","20") ;
00577     
00578      td2.appendChild(ah2) ;
00579      td2.appendChild(im2) ;
00580     
00581      // document.writeln("<td><a href='javascript:move(3)' title=''><img src='h0.gif' border=0 width=140 height=20 alt=' '><\/a><\/td>");
00582      td3 = document.createElement("td") ;
00583      ah3 = document.createElement("a") ;
00584      im3 = document.createElement("img") ;
00585     
00586      ah3.setAttribute("href",'javascript:move(3)') ;
00587      im3.setAttribute("onclick",'move(3)') ;
00588      im3.setAttribute("src",'h0.gif') ;
00589      im3.setAttribute("alt",'h0.gif') ;
00590      //im3.setAttribute("height",20) ;
00591     
00592      td3.appendChild(ah3) ;
00593      td3.appendChild(im3) ;
00594     
00595      tr1.appendChild(td1) ;
00596      tr1.appendChild(td2) ;
00597      tr1.appendChild(td3) ;
00598     
00599      tp.appendChild(tr1) ;
00600     
00601      // POUR TEST : alert(i)
00602     } ; // fin de si
00603     
00604     tr2 =document.createElement("tr") ;
00605     // document.writeln("<td bgcolor='#3333cc' colspan=3 ><img src='pixel.gif' border=0 height=10 alt=''><\/td>");
00606     td4 = document.createElement("td") ;
00607     im4 = document.createElement("img") ;
00608     im4.setAttribute("src",'pixel.gif') ;
00609     im4.setAttribute("title",'pixel.gif') ;
00610     
00611     td4.setAttribute("bgcolor",'#3333cc') ;
00612     td4.setAttribute("colspan",3 ) ;
00613     td4.appendChild(im4) ;
00614     
00615     tr2.appendChild(td4) ;
00616     
00617     // POUR TEST : tp.setAttribute("border",'1') ;
00618     tp.appendChild(tr2) ;
00619     
00620     document.getElementById("pegs").appendChild(tp) ;
00621     
00622     } // fin de fonction pegsInit
00623     
00624     // ########################################################################
00625     
00626     
00627     
00628     
00629     // ########################################################################
00630     
00631     function voirpage() {
00632     
00633     // ########################################################################
00634     
00635     // ## ---------------------------------------------------------------------
00636     
00637     // ## gestion des paramètres
00638     
00639     // ## ---------------------------------------------------------------------
00640     
00641     larg = document.getElementById("larg").value ;
00642     document.getElementById("visu_source").setAttribute("cols",larg) ;
00643     
00644     document.getElementById("visu_source").value = "" ;
00645     url = document.getElementById("url").value ;
00646     src = document.getElementById("mv_s") ;
00647     ren = document.getElementById("mv_r") ;
00648     
00649     if (src.checked) { modevisu = "source" ; }
00650     if (ren.checked) { modevisu = "rendu" ; }
00651     
00652     /* pour debug
00653     
00654     txt = "\n tout va bien \n" ;
00655     document.getElementById("visu_source").value = txt
00656     
00657     msg = " url = " + url
00658     document.getElementById("visu_source").value += msg + "\n"
00659     
00660     msg = " modevisu = " + modevisu
00661     document.getElementById("visu_source").value += msg + "\n"
00662     
00663     */
00664     
00665     // ## ---------------------------------------------------------------------
00666     
00667     // ## récupération du contenu en mode source
00668     
00669     // ## ---------------------------------------------------------------------
00670     
00671     var xhr ;
00672     try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
00673     catch (e1) {
00674      try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
00675      catch (e2) {
00676      try { xhr = new XMLHttpRequest(); }
00677      catch (e3) { xhr = false; }
00678      }
00679     } // fin du try/catch
00680     
00681     xhr.onreadystatechange = function() {
00682      if (xhr.readyState == 4) {
00683      if (xhr.status == 200) {
00684      // on transmet tout le fichier
00685      msg = xhr.responseText
00686      // test : msg = "hello"
00687      msg1 = msg
00688      msg2 = msg
00689      // on ne garde que ce qu'il y a entre <body> et </body>
00690      idb = msg.indexOf("<body") ;
00691      if (idb>-1) {
00692      msg2 = msg.substring(idb) ;
00693      msg2 = msg2.substring(1+msg2.indexOf(">")) ;
00694      msg2 = msg2.substring(0,msg2.indexOf("</body>")) ;
00695      // alert(msg2)
00696      } ; // fin si
00697      msg2 = "pomme"
00698      document.getElementById("visu_source").value += msg1
00699      var txt = document.createTextNode("hello")
00700      var par = document.createElement("p")
00701      //document.getElementById("rendu_source").appendChild(txt)
00702      //document.getElementById("rendu_source").firstChild.nodeValue.innerHTML= msg1
00703      //document.body.insertBefore(par,document.getElementById("rendu_source"))
00704      document.getElementById('body').appendChild(par)
00705      } else {
00706      document.getElementById("visu_source").value += "Error code " + xhr.status ;
00707      } ; // fin de xhr.status == 200
00708      } ; // fin de xhr.readyState == 4
00709     } ; // fin de fonction xhr.onreadystatechange
00710     
00711     // il ne doit pas y avoir marqué http:// dans l'url
00712     
00713     if (url.substring(0,7)=="http://") {
00714      url = "contenupage?url="+url ;
00715      /*
00716      msg = " on utilise l'url = " + url
00717      document.getElementById("visu_source").value += msg + "\n"
00718      */
00719     } ; // fin de si_
00720     
00721     xhr.open("GET", url, true);
00722     xhr.send(null);
00723     
00724     } ; // fin fonction voirpage
00725     
00726     // ##########################################################
00727     
00728     // (gH) -_- sen_eux_et_nous.js ; TimeStamp (unix) : 13 Octobre 2008 vers 13:59
00729     
00730     // ##########################################################
00731     
00732     function comptabilise(valeur,equipe) {
00733     
00734     // ##########################################################
00735     
00736     if (equipe=="EUX") {
00737      elt = document.getElementById('EQ_EUX')
00738     } else {
00739      elt = document.getElementById('EQ_NOU')
00740     } ; // fin de si
00741     
00742     elt.value = parseInt(elt.value) + parseInt(valeur) ;
00743     
00744     } // fin de fonction comptabilise
00745     
00746     // ##########################################################
00747     
00748     function raz1() {
00749     
00750     // ##########################################################
00751     
00752      document.getElementById('EQ_EUX').value = 0 ;
00753      document.getElementById('EQ_NOU').value = 0 ;
00754     } // fin de fonction raz1
00755     
00756     // ##########################################################
00757     // ##########################################################
00758     
00759     function score(valeur,equipe) {
00760     
00761     // ##########################################################
00762     
00763     document.getElementById(equipe).value = parseInt( document.getElementById(equipe).value) + valeur ;
00764     
00765     } // fin de fonction comptabilise
00766     
00767     // ##########################################################
00768     
00769     function score2(valeur,equipe) {
00770     
00771     // ##########################################################
00772     
00773     // la ligne qui suit est pour Internet Explorer
00774     
00775     document.getElementById(equipe).innerText = parseInt( document.getElementById(equipe).innerText) + valeur ;
00776     
00777     // la ligne qui suit est pour Firefox
00778     
00779     document.getElementById(equipe).textContent = parseInt( document.getElementById(equipe).textContent) + valeur ;
00780     
00781     } // fin de fonction comptabilise
00782     
00783     // ##########################################################
00784     // (gH) -_- sen_horloge.js ; TimeStamp (unix) : 20 Octobre 2008 vers 18:41
00785     
00786     // ##########################################################
00787     
00788     function ajoutTemps(increment,unite) {
00789     
00790     // ##########################################################
00791     
00792     // alert(increment+" POUR "+unite) ;
00793     
00794     // les deux lignes qui suivent sont pour Firefox
00795     
00796     h = document.getElementById("heur").textContent ;
00797     m = document.getElementById("minu").textContent ;
00798     
00799     // les deux lignes qui suivent sont pour Internet Explorer
00800     
00801     FF = 1 ;
00802     if (h==undefined) {
00803      h = document.getElementById("heur").innerText ;
00804      m = document.getElementById("minu").innerText ;
00805      FF = 0 ;
00806     } ; // fin de si
00807     
00808     // gérons les 0x en de "vrais" x
00809     
00810     if (parseInt(h,10)>0) {
00811      if (h.charAt(0)=="0") { h = h.charAt(1) } ;
00812     } ; // fin de si sur h
00813     
00814     if (parseInt(m,10)>0) {
00815      if (m.charAt(0)=="0") { m = m.charAt(1) } ;
00816     } ; // fin de si sur m
00817     
00818     h = parseInt(h,10) ;
00819     m = parseInt(m,10) ;
00820     
00821     // on gère séparément et dans cet ordre les minutes puis les heures à cause de 23 h 59
00822     
00823     if (unite=="minu") {
00824      m = m + increment ;
00825     } ; // fin si sur les minutes
00826     
00827     if (unite=="heur") {
00828      h = h + increment ;
00829     } ; // fin si sur les minutes
00830     
00831     if (m==-1) {
00832      m = 59 ;
00833      h = h - 1 ;
00834     } ; // fin si sur m = -1
00835     
00836     if (m==60) {
00837      m = 0 ;
00838      h = h + 1 ;
00839     } ; // fin si sur m = 60
00840     
00841     if (h==24) {
00842      h = 0 ;
00843     } ; // fin si sur h = 24
00844     
00845     if (h==-1) {
00846      h = 23 ;
00847     } ; // fin si sur h = -1
00848     
00849     // règle GH : changer d'heure remet les minutes à 00
00850     // if (unite=="heur") { m = "00" } ;
00851     
00852     // on écrit proprement 09 au lieu de 9
00853     // donc on met f devant le nom des variables
00854     // comme mnémonique de format
00855     
00856     fh = h ;
00857     if (h<10) { fh = "0"+h ; }
00858     
00859     fm = m ;
00860     if (m<10) { fm = "0"+m ; }
00861     
00862     if (FF==1) {
00863     // les deux lignes qui suivent sont pour Firefox
00864     
00865     document.getElementById("heur").textContent = fh ;
00866     document.getElementById("minu").textContent = fm ;
00867     
00868     } else {
00869     
00870     // les deux lignes qui suivent sont pour Internet Explorer
00871     
00872     document.getElementById("heur").innerText = fh ;
00873     document.getElementById("minu").innerText = fm ;
00874     
00875     } ; // fin si
00876     
00877     } // fin de fonction ajoutTemps
00878     
00879     // ##########################################################
00880     
00881     // (gH) -_- tutajax.js ; TimeStamp (unix) : 27 Décembre 2009 vers 19:51
00882     
00883     // ########################################################################
00884     
00885     function ajaxv1(eltradio) {
00886     
00887     // ########################################################################
00888     
00889      var xhr;
00890      try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
00891      catch (e) {
00892      try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
00893      catch (e2) {
00894      try { xhr = new XMLHttpRequest(); }
00895      catch (e3) { xhr = false; }
00896      }
00897      } // fin du catch
00898     
00899      xhr.onreadystatechange = function() {
00900      if (xhr.readyState == 4) {
00901      if (xhr.status == 200) {
00902      // on transmet tout le fichier
00903      document.getElementById("ajax1").firstChild.data = xhr.responseText ;
00904      } else {
00905      document.getElementById("ajax1").firstChild.data = "Error code " + xhr.status ;
00906      } ; // fin de xhr.status == 200
00907      } ; // fin de xhr.readyState == 4
00908      } ; // fin de fonction xhr.onreadystatechange
00909     
00910      var url = "tutajax4.php" ;
00911      if (eltradio[0].checked) {
00912      url = "tutajax_send1a.txt" ;
00913      } else {
00914      url = "tutajax_send1b.txt" ;
00915      } ; // fin si
00916      xhr.open("GET", url, true);
00917      xhr.send(null);
00918     
00919     } ; // fin fonction ajaxv1
00920     
00921     // ########################################################################
00922     
00923     function ajaxv2(eltselect) {
00924     
00925     // ########################################################################
00926     
00927      var xhr;
00928      try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
00929      catch (e) {
00930      try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
00931      catch (e2) {
00932      try { xhr = new XMLHttpRequest(); }
00933      catch (e3) { xhr = false; }
00934      }
00935      } // fin du catch
00936     
00937      xhr.onreadystatechange = function() {
00938      if (xhr.readyState == 4) {
00939      if (xhr.status == 200) {
00940      // on commence par retirer les sauts de ligne
00941      var texte = xhr.responseText ;
00942      var er1 = new RegExp("\n","g") ;
00943      texte = texte.replace(er1,"") ;
00944      // puis on découpe en fonction des points-virgules
00945      var er2 = new RegExp(";","g") ;
00946      var er3 = new RegExp("=") ;
00947      var tab = texte.split(er2) ;
00948      for (ide=0;ide<tab.length;ide++) {
00949      // enfin, on découpe par rapport au symbole égal
00950      var mots = tab[ide].split(er3) ;
00951      // si on trouve la date, on renvoie l'évènement
00952      if (mots[0]==ladate) {
00953      document.getElementById("ajax2").value = mots[1] ;
00954      } ; // fin si
00955      } ; // fin pour ide
00956      } else {
00957      document.getElementById("ajax2").value = "Error code " + xhr.status ;
00958      } ; // fin de xhr.status == 200
00959      } ; // fin de xhr.readyState == 4
00960      } ; // fin de fonction xhr.onreadystatechange
00961     
00962      var ladate = eltselect.options[eltselect.selectedIndex].value ;
00963      var url = "tutajax_send2.txt" ;
00964      xhr.open("GET", url, true);
00965      xhr.send(null);
00966     
00967     } ; // fin fonction ajaxv2
00968     
00969     // ########################################################################
00970     
00971     function ajaxv3(eltradio) {
00972     
00973     // ########################################################################
00974     
00975      var xhr;
00976      try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
00977      catch (e) {
00978      try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
00979      catch (e2) {
00980      try { xhr = new XMLHttpRequest(); }
00981      catch (e3) { xhr = false; }
00982      }
00983      } // fin du catch
00984     
00985      xhr.onreadystatechange = function() {
00986      if (xhr.readyState == 4) {
00987      if (xhr.status == 200) {
00988      document.getElementById("ajax3").innerHTML = xhr.responseText ;
00989      } else {
00990      document.getElementById("ajax3").innerHTML = "Error code " + xhr.status ;
00991      } ; // fin de xhr.status == 200
00992      } ; // fin de xhr.readyState == 4
00993      } ; // fin de fonction xhr.onreadystatechange
00994     
00995      var url = "tutajax4.php" ;
00996      if (eltradio[0].checked) {
00997      url = "tutajax_send3a.html" ;
00998      } else {
00999      url = "tutajax_send3b.html" ;
01000      } ; // fin si
01001      xhr.open("GET", url, true);
01002      xhr.send(null);
01003     
01004     } ; // fin fonction ajaxv3
01005     
01006     // ########################################################################
01007     
01008     function ajaxv4(eltselect) {
01009     
01010     // ########################################################################
01011     
01012      var xhr;
01013      try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
01014      catch (e) {
01015      try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
01016      catch (e2) {
01017      try { xhr = new XMLHttpRequest(); }
01018      catch (e3) { xhr = false; }
01019      }
01020      } // fin du catch
01021     
01022      xhr.onreadystatechange = function() {
01023      if (xhr.readyState == 4) {
01024      if (xhr.status == 200) {
01025      document.getElementById("ajax4").value = ""
01026      dct = xhr.responseXML ;
01027      tab = dct.getElementsByTagName("article") ;
01028      for (ide=0;ide<tab.length;ide++) {
01029      var article = tab[ide] ; // article courant
01030      var vu = 0 // indique si on a vu l'article recherché
01031      var nbet = 0 // nombre d'enfants textes
01032      // on passe en revue les enfants
01033      indc = 0 ; // indice courant d'enfant
01034      while (indc<article.childNodes.length) {
01035      currentElementChild=article.childNodes[indc];
01036      if (vu<2) {
01037      // s'il s'agit d'un noeud texte
01038      if (currentElementChild.nodeType==1) {
01039      nbet = nbet + 1
01040      // et s'il correspond au texte cherché
01041      if (currentElementChild.textContent==larticle) {
01042      vu = 1 ;
01043      } ; // fin si
01044      // alors on récupère le texte suivant
01045      if (vu==1) {
01046      if (nbet==2) {
01047      prix = currentElementChild.textContent
01048      document.getElementById("ajax4").value += prix + " euros" ;
01049      vu = 2 ;
01050      indc = article.childNodes.length + 1
01051      } ; // fin si
01052      } ; // fin si
01053      } ; // fin si
01054      } ; // fin si
01055      indc++
01056      currentElementChild=article.childNodes[indc];
01057      } // fin de tant que
01058      } ; // fin pour ide
01059     
01060      } else {
01061      document.getElementById("ajax4").value = "Error code " + xhr.status ;
01062      } ; // fin de xhr.status == 200
01063      } ; // fin de xhr.readyState == 4
01064      } ; // fin de fonction xhr.onreadystatechange
01065     
01066      // ceci est le mot cherché :
01067     
01068      var larticle = eltselect.options[eltselect.selectedIndex].value ;
01069     
01070      var url = "tutajax_send4a.xml" ;
01071      xhr.open("GET", url, true);
01072      xhr.send(null);
01073     
01074     } ; // fin fonction ajaxv4
01075     
01076     // ########################################################################
01077     
01078     function ajaxv5(eltselect) {
01079     
01080     // ########################################################################
01081     
01082      var xhr;
01083      try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
01084      catch (e) {
01085      try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
01086      catch (e2) {
01087      try { xhr = new XMLHttpRequest(); }
01088      catch (e3) { xhr = false; }
01089      }
01090      } // fin du catch
01091     
01092      xhr.onreadystatechange = function() {
01093      if (xhr.readyState == 4) {
01094      if (xhr.status == 200) {
01095      document.getElementById("ajax5").value = ""
01096      dct = xhr.responseXML ;
01097      tab = dct.getElementsByTagName("article") ;
01098      for (ide=0;ide<tab.length;ide++) {
01099      var article = tab[ide] ;
01100      if (article.getAttribute("nom")==larticle) {
01101      leprix = article.getAttribute("prix") ;
01102      document.getElementById("ajax5").value += leprix + " euros" ;
01103      } ; // fin si
01104      } ; // fin pour ide
01105     
01106      } else {
01107      document.getElementById("ajax5").value = "Error code " + xhr.status ;
01108      } ; // fin de xhr.status == 200
01109      } ; // fin de xhr.readyState == 4
01110      } ; // fin de fonction xhr.onreadystatechange
01111     
01112      // ceci est le mot cherché :
01113     
01114      var larticle = eltselect.options[eltselect.selectedIndex].value ;
01115     
01116      var url = "tutajax_send4b.xml" ;
01117      xhr.open("GET", url, true);
01118      xhr.send(null);
01119     
01120     } ; // fin fonction ajaxv5
01121     
01122     // ########################################################################
01123     
01124     function ajaxv6(eltradio) {
01125     
01126     // ########################################################################
01127     
01128      var xhr ;
01129      try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
01130      catch (e) {
01131      try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
01132      catch (e2) {
01133      try { xhr = new XMLHttpRequest(); }
01134      catch (e3) { xhr = false; }
01135      }
01136      } // fin du catch
01137     
01138      xhr.onreadystatechange = function() {
01139      if (xhr.readyState == 4) {
01140      if (xhr.status == 200) {
01141      // on transmet tout le fichier
01142      var tabdates = eval('(' + xhr.responseText + ')') ;
01143      msg = " Jour du rendez-vous, le " ;
01144      msg += tabdates[numj] ;
01145      msg += " novembre "
01146      document.getElementById("ajax6").firstChild.data = msg
01147      } else {
01148      document.getElementById("ajax6").firstChild.data = "Error code " + xhr.status ;
01149      } ; // fin de xhr.status == 200
01150      } ; // fin de xhr.readyState == 4
01151      } ; // fin de fonction xhr.onreadystatechange
01152     
01153     
01154      var url = "tutajax_send5.txt" ;
01155      var numj = -1 ;
01156      for (idj=0;idj<=2;idj++) {
01157      if (eltradio[idj].checked) { numj = idj ; } ;
01158      } ; // fin pour
01159     
01160      xhr.open("GET", url, true);
01161      xhr.send(null);
01162     
01163     } ; // fin fonction ajaxv6
01164     
01165     // ########################################################################
01166     
01167     // ###########################################################################
01168     
01169     function ping() {
01170     
01171     // ###########################################################################
01172     
01173     top.frames["gauche"].document.getElementById("vg").value += "ping !"
01174     top.document.getElementsByTagName("frameset")[0].cols = "10%,90%"
01175     
01176     } ; // fin de fonction ping
01177     
01178     // ###########################################################################
01179     
01180     function pong() {
01181     
01182     // ###########################################################################
01183     
01184     top.frames["droite"].document.getElementById("vd").value += "pong !"
01185     top.document.getElementsByTagName("frameset")[0].cols = "90%,10%"
01186     
01187     } ; // fin de fonction ping
01188     
01189     // ###########################################################################
01190     
01191     // (gH) -_- diaporama_gen.js ; TimeStamp (unix) : 22 Mai 2010 vers 17:05
01192     
01193     // #######################################
01194     
01195     function forceDuree(d) {
01196     
01197     // #######################################
01198     
01199     // si d est fourni, on l'utilise comme durée
01200     // sinon, on utilise la valeur du formulaire
01201     
01202     var laduree = top.frames[1].document.getElementById("duree").value
01203     // rem : var est obligatoire
01204     if (d!=undefined) { laduree = d }
01205     
01206     var old_url = top.location.href
01207     if (old_url.indexOf("?")==-1) { // aucun paramètre
01208      var new_url = old_url + "?diapo=1&duree="+laduree
01209     } else {
01210      if (old_url.indexOf("duree=")==-1) { // aucun paramètre
01211      var new_url = old_url + "&duree="+laduree
01212      } else {
01213      var new_url = old_url.replace(/duree=\d+/,"duree="+laduree)
01214      } ; // fin si
01215     } ; // fin si
01216     
01217     top.frames[1].document.getElementById("duree").value = laduree
01218     top.location.href = new_url
01219     
01220     } ; // fin de fonction forceDuree
01221     
01222     // #######################################
01223     
01224     function changeDiapo(num) {
01225     
01226     // #######################################
01227     
01228      if (num=="=") { forceDuree(10000) ; } else {
01229     
01230      var old_url = top.location.href
01231      var nbdiapos = top.frames[1].document.getElementById("nbv").value
01232     
01233      if (old_url.indexOf("diapo=")==-1) { // pas de numéro de diapo
01234      var numdiapo = 1
01235      } else {
01236      var attdiapo = old_url.match(/diapo=\d+/)[0] ;
01237      var numdiapo = parseInt(attdiapo.match(/\d+/)[0]) ;
01238      } ; // fin si
01239     
01240      if (num=="d") { numdiapo = 1 ; } // début
01241      if (num=="p") { numdiapo -= 1 ; } // précédente
01242      if (num=="s") { numdiapo += 1 ; } // suivante
01243      if (num=="f") { numdiapo = nbdiapos ; } // fin
01244     
01245      if (numdiapo>nbdiapos) { numdiapo = 1 ; }
01246      if (numdiapo<=0) { numdiapo = nbdiapos ; }
01247     
01248      if (old_url.indexOf("?")==-1) { // aucun paramètre
01249      top.location.href = old_url + "?diapo=" + numdiapo
01250      } else {
01251      top.location.href = old_url.replace(/diapo=\d+/,"diapo="+numdiapo)
01252      } ; // finsi
01253     
01254      } ; // fin si
01255     
01256     } ; // fin de fonction forceDuree
01257     
01258     // #######################################
01259     
01260     function navigation() {
01261     
01262     // #######################################
01263     
01264     // pour ajouter du texte avec entité, passer par de l'unicode,
01265     // par exemple : ==> \u00A0
01266     
01267     top.frames[1].document.getElementById("td1").setAttribute("class","visible") ;
01268     top.frames[1].document.getElementById("td2").setAttribute("class","visible") ;
01269     top.frames[1].document.getElementById("tnav").setAttribute("class","visible") ;
01270     top.frames[1].document.getElementById("tnav").setAttribute("border","thin solid") ;
01271     top.frames[1].document.getElementById("tnav").setAttribute("border-color","black") ;
01272     top.frames[1].document.getElementById("tnav").setAttribute("border-collapse","collapse") ;
01273     
01274     } ; // fin de fonction navigation

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)