Valid XHTML     Valid CSS2    


        //    (gH)   -_-  pot-pourri.js  ;  TimeStamp (unix) : 17 Mars 2010 vers 12:50
        
        // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        // +                                                                +
        // +  POT-POURRI DE CODE Javascript                                 +
        // +                                                                +
        // +                                                                +
        // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        
        
        //    (gH)   -_-  deuxnombres.js  ;  TimeStamp (unix) : 18 Janvier 2010 vers 17:36
        
        function f(x) { return x+1 } ;
        function g(x) { return 2*x } ;
        
        <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
         onsubmit ="javascript:this.double.value=this.nombre.value*2 ; return false ">
        
        <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
         onsubmit ="javascript:this.double.value=this.nombre.value*2 ; this.demi.value=this.nombre.value/2 ; return false ">
        
        <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
         onsubmit ="javascript:this.tiers1.value=this.nombre.value/3 ; this.tiers2.value=parseFloat(this.tiers1.value).toFixed(2) ; return false ">
        
        
        <form action="http://forge.info.univ-angers.fr/~gh/internet/non.php" method="get"
         onsubmit ="javascript:t return maGestion(this) ">
        
        // ########################################################################
        
        // (gH)   -_-  sen_deuxnombres.js  ;  TimeStamp (unix) : 06 Octobre 2008 vers 13:43
        
        // ##########################################################
        
        // ce texte s'exécute au moment de son chargement
        
        window.document.write("<h1>Sans formulaire : </h1>") ;
        
        a = 8 ;
        b = 2 ;
        
        window.document.write("<p>") ;
        
        window.document.write("Remarque : on utilise les deux nombres "+a+" et "+b+" exactement dans cet ordre. ") ;
        window.document.write("Leur addition donne "+(a+b)+". ") ;
        window.document.write("Leur soustraction donne "+(a-b)+". ") ;
        window.document.write("Leur multiplication donne "+(a*b)+". ") ;
        window.document.write("Leur division donne "+(a/b)+".") ;
        window.document.write("</p>") ;
        
        // ##########################################################
        
        function operations() {
        
          // sans parseInt, on utilise les chaines de caractères
          // et donc 1 + 1 est en fait "1" + "1" soit "11" au lieu de 2
        
          v1 = parseInt( document.getElementById('n1').value ) ;
          v2 = parseInt( document.getElementById('n2').value ) ;
        
          a  = v1 + v2 ;
          b  = v1 - v2 ;
          c  = v1 * v2 ;
          d  = v1 / v2 ;
        
          debut = "Remarque : on utilise les deux nombres "+v1+" et "+v2+" exactement dans cet ordre. " ;
          add   = "Leur addition donne "+a+". " ;
          sou   = "Leur soustraction donne "+b+". " ;
          mul   = "Leur multiplication donne "+c+". " ;
          div   = "Leur division donne "+d+"." ;
        
          phrase = debut + add + sou + mul + div ;
        
          // alert(phrase)
        
          nouveaup = document.createElement("p") ;
        
          nouveaup.innerText   = phrase ; // Internet Explorer
          nouveaup.textContent = phrase ; // Firefox
        
          document.body.appendChild(nouveaup) ; // Firefox
        
          alert('les réponses sont tout en bas de la page !') ;
        
          return false ; // pour éviter de déclencher l'action
        
        } // fin de fonction operations
        
        // ##########################################################
        
        
        function operations2() {
        
          // on affiche le champ de réponse
        
          x1 = parseInt( document.getElementById('x1').value ) ;
          x2 = parseInt( document.getElementById('x2').value ) ;
        
          a  = x1 + x2 ;
          b  = x1 - x2 ;
          c  = x1 * x2 ;
        
          if (x2!=0) {  d  = x1 / x2 ; } ;
        
        
          debut = "Remarque : on utilise les deux nombres "+x1+" et "+x2+" exactement dans cet ordre. " ;
          add   = "Leur addition donne "+a+". " ;
          sou   = "Leur soustraction donne "+b+". " ;
          mul   = "Leur multiplication donne "+c+". " ;
        
          if (x2!=0) {
             div   = "Leur division donne "+d+"." ;
          } else {
             div   = "Leur division est impossible car le deuxième nombre est nul." ;
          } ; // fin de si
          phrase = debut + add + sou + mul + div ;
        
          if (x1>x2) {
             phrase += " Et "+x1+" est sans doute plus grand que "+x2+"." ;
          } else {
             phrase += " Et "+x2+" est sans doute plus grand que "+x1+"." ;
          } ; // fin de si
        
          // alert(phrase)
        
          ancienp = document.getElementById('resultats') ;
        
          ancienp.innerText   = phrase ; // Internet Explorer
          ancienp.textContent = phrase ; // Firefox
        
          ancienp.setAttribute('class','visible')     ; // Firefox
          ancienp.setAttribute('className','visible') ; // Internet Explorer
        
          return false ; // pour éviter de déclencher l'action
        
        } // fin de fonction operations
        
        
        
        function deuxnombres3() {
        
        // #######################################################
        
        vara = parseInt(document.getElementById("a").value,10) ;
        varb = parseInt(document.getElementById("b").value,10) ;
        
        document.getElementById("res").firstChild.data  = ""  ;
        document.getElementById("res").firstChild.data += " a vaut " + vara + " et b vaut " + varb + ".\n"  ;
        
        if (vara<varb) {
          document.getElementById("res").firstChild.data += " donc a est plus petit que b.\n" ;
        } else {
          document.getElementById("res").firstChild.data += " donc b est plus petit que a.\n" ;
        } ; // finsi
        
        return false ;
        
        // #######################################################
        
        } ; // fin de fonction  deuxnombres
        
          //  on veut produire
          //       <td><a href='javascript:move(2)' title=''><img src='h0.gif' border=0 width=140 height=20 alt=' '></a><\/td>"
        
          td2 = document.createElement("td") ;
          ah2 = document.createElement("a") ;
          im2 = document.createElement("img") ;
        
          ah2.setAttribute("href",'javascript:move(2)') ;
          im2.setAttribute("onclick",'move(2)') ;
          im2.setAttribute("src",'h0.gif') ;
          im2.setAttribute("alt",'h0.gif') ;
          im2.setAttribute("width","140") ;
          im2.setAttribute("height","20") ;
        
          td2.appendChild(ah2) ;
          td2.appendChild(im2) ;
        
        // calculs sur tableaux
        
        var tabt = new Array(1,1,2,3,5,6,7,8,8,8) ;
        var tab2 = new Array(1,2) ;
        var tab3 = new Array(1,2,3,4,5) ;
        
        var tabt = new Array(1,1,2,3,5,6,7,8,8,8) ;
        var tab2 = new Array(1,2) ;
        var tab3 = new Array(1,2,3,4,5) ;
        
        function valMax3(leTableauTrie) {
        
          // nbelt : nombre d'éléments dans le tableau
          // max   : maximum
          // idv   : indice de valeur dans le tableau
          // valc  : valeur courante dans le tableau à l'indice idv
        
          // le tableau est déjà trié (non vérifié)
        
          return leTableauTrie[leTableauTrie.length -1]
        
        } ; // fin de fonction valMax
        
        
        
        function valMax4(leTableauTrie) {
        
          // nbelt : nombre d'éléments dans le tableau
          // max   : maximum
          // idv   : indice de valeur dans le tableau
          // valc  : valeur courante dans le tableau à l'indice idv
        
          // le tableau est déjà trié (non vérifié)
        
            nbelt = leTableauTrie.length ;
            maxt  = leTableauTrie[nbelt-1] ;
            idv   = nbelt-2 ;
            nboc  = 1 ;
            prem  = nbelt ;
            dern  = nbelt ;
            valc  = leTableauTrie[idv] ;
            while ((valc==maxt) && (idv>0)) {
              nboc++
              idv-- ;
              valc = leTableauTrie[idv] ;
              dern = idv + 1 ;
            } ; // fin pour idv
        
        function valMax2(leTableau) {
        
          // nbelt : nombre d'éléments dans le tableau
          // maxjl : maximum courant (Jusque Là)
          // idv   : indice de valeur dans le tableau
          // valc  : valeur courante dans le tableau à l'indice idv
        
          //       prem  : première fois où on la voit
          //       dern  : dernière fois soù on la voit
          //       nboc  : nombre d'occurences
        
          nbelt = leTableau.length ;
          maxjl = leTableau[0] ;
          prem  = 1 ;
          dern  = 1 ;
          nboc  = -1 ;
          for (idv=0;idv<nbelt;idv++) {
            valc = leTableau[idv] ;
            if (valc==maxjl) {
                nboc++
                dern  = idv+1
            } else {
                if (valc>maxjl) {
                    maxjl = leTableau[idv] ;
                    nboc  = 1
                    prem  = idv+1
                    dern  = idv+1
                } ; // fin si
            } ; // fin de si
          } ; // fin pour idv
        
        // (gH)   -_-  voirpage.js  ;  TimeStamp (unix) : 31 Janvier 2010 vers 12:45
        
        
        
        function demo() {
        
          dbg = 1 ; // 1 en normal, 0 pour "préparer le rendu"
        
          txt1 = "Comme vous pouvez le voir, ce texte s'affiche APRES le chargement de toute la " ;
          txt2 = "page." ;
          if (dbg==1) { alert(txt1+txt2) ; } ;
        
          elth2 = window.document.createElement("h2")
          txt3 = " Après elth2 = window.document.createElement(\"h2\"), on ne voit rien de plus " ;
          txt4 = " car l'élément est créé EN MEMOIRE seulement." ;
          if (dbg==1) { alert(txt3+txt4) ; } ;
        
          eltxt = window.document.createTextNode("insertion")
          txt5 = " Après eltxt = window.document.createTextNode(\"insertion\"), on ne voit rien de plus " ;
          txt6 = " car le noeud-texte est créé EN MEMOIRE seulement." ;
          if (dbg==1) { alert(txt5+txt6) ; } ;
        
          elth2.appendChild(eltxt)
          txt7 = " Après elth2.appendChild(eltxt), toujours rien à l'écran " ;
          txt8 = " car il s'agit d'une gestion de l'arbre en mémoire." ;
          if (dbg==1) { alert(txt7+txt8) ; } ;
        
          document.getElementById("milieu").appendChild(elth2) ;
          txt9  = " Par contre, avec document.getElementById(\"milieu\").appendChild(elth2) ; " ;
          txt10 = " le navigateur affiche le texte." ;
          if (dbg==1) { alert(txt9+txt10) ; } ;
        
          etxt2 = window.document.createTextNode("réussie") ;
          eltfo = window.document.createElement("font") ;
          eltfo.setAttribute("color","#880000") ;
          eltfo.appendChild(etxt2)
          document.getElementById("milieu").appendChild(eltfo) ;
        
        } // fin de fonction demo
        
        
        // #######################################################
        
        //    (gH)   -_-  mystere.js  ;  TimeStamp (unix) : 27 Février 2010 vers 20:36
        
             var tabM = new Array("M","F","A") ; // Cours : Maths Francais Anglais
             var tabN = new Array(2,2,1)       ; // Nb exos par cours
             var tabI = new Array()            ; // Identifiant des exercices
        
             idi = -1 ;
        
             for (idm=0;idm<tabN.length;idm++) {
               for (ide=0;ide<tabN[idm];ide++) {
                 idi = idi + 1 ;
                 jde = ide + 1 ;
                 tabI[idi] = tabM[idm] + jde ;
               } ; // fin pour ide
             } ; // fin pour idm
        
        // #######################################################
        
        
        
        //    (gH)   -_-  hanoi.js  ;  TimeStamp (unix) : 24 Mars 2010 vers 16:32
        
        // file imported from http://wipos.p.lodz.pl/zylla/games/hanoi5e.html
        // see (gH)'s functions at the bottom of this file.
        
        var noDisks=5;
        
        var nd1=noDisks+1,  noImgs=(noDisks+1)*3;
        var peg = 0,  firstPick=0,  secondPick=0;
        var i=0,  j=0,  noMoves=0,  time=0;
        var what= 0,  where=0,   ontop=0;
        var aa  = new Array(); aa[3*nd1+1]=nd1; aa[3*nd1+2]=nd1; aa[3*nd1+3]=nd1;
        var bb  = new Array(0, 1,nd1,nd1 );
        var src = new Array(); src[nd1]=3;
        var dst = new Array(); dst[nd1]=3;
        var minMoves = Math.pow(2,noDisks) - 1;
        var finished = false;
        var started = false;
        var helped  = 0;
        
        function Sorry() {
         alert("Sorry, this game needs to run on a browser \n which supports the image object.");
        }
        
        function move(peg) {
        if (document.images) {
          if (firstPick==0) {
           firstPick=peg;
           where= bb[firstPick];
           what = aa[3*where+firstPick];
        
           if (where<=noDisks) {
             if (started==false) {
              started=true;  time=nowTime();  //time of the first click
               }
             document.images[firstPick].src=document.images[3*where+firstPick].src;
             document.images[3*where+firstPick].src="h0.gif";
             aa[firstPick] = what;
             aa[3*where+firstPick] = 0;
             bb[firstPick] =bb[firstPick]+1;
             updateInfo("   Now click where you want it to move. ");
             }
           else { firstPick=0;
              updateInfo("   Nothing to pick here ! ");
              if (finished) updateInfo("   Game already finished ! Use other buttons.");
              }
           }
          else {  secondPick=peg;
             ontop =aa[3*bb[secondPick]+secondPick];
             endLev=bb[secondPick]-1;
             if (what>ontop) {
              alert("You want to put bigger disk [__"+what+"__] \n on the top of the smaller one [_"+ ontop+ "_] !" );
             } // then
           else {
              document.images[secondPick].src=document.images[firstPick].src;
              if (firstPick!=secondPick) {
                document.images[firstPick].src="h0.gif";
                noMoves = noMoves+1;
                }
              document.images[endLev*3+secondPick].src=document.images[secondPick].src;
              document.images[secondPick].src="h0.gif";
              aa[endLev*3+secondPick]=aa[firstPick];
              aa[firstPick] = 0;
              bb[secondPick]=bb[secondPick]-1;
              updateInfo("   Okay, click the peg from which to move a disk. ");
              firstPick=0;
              if ((aa[2*3]==1) && (finished!=true)) {
                updateInfo("      Okay, game finished. Let\'s try next one  :) ");
                finished=true;  Congratulations()
                }
              } // else
                }
            }
            else  Sorry();
        } // move
        
        function Recognize() {
        var i=0, j=0, wht=0;
          for (i=0; i<=noDisks; i++) {
            for (j=1; j<=3; j++) {
              wht=aa[3*i+j];
              if (wht!=0)  src[wht]=j;
            }
          }
        } // fun
        
        function CalcMinMoves() {
          minMoves=0;
          Recognize();
          for (i=noDisks; i>=1; i--) {
            if (src[i+1] == dst[i+1])
            dst[i]=src[i+1]
              else dst[i]=6-src[i+1]-dst[i+1];
            if (src[i] != dst[i])
              minMoves=minMoves + Math.pow(2,i-1);
          }
        } // fun
        
        function initArray() {
          bb[1]=1;  bb[2]=noDisks+1;  bb[3]=noDisks+1;  noMoves=0;
          if (document.images) { document.images[0].src = "han.gif";
            for (i=0; i<=noDisks; i++) {
              aa[i*3+1]=i;  nom = "h" + i + ".gif" ; document.images[i*3+1].src = nom ;
              aa[i*3+2]=0;  document.images[i*3+2].src = "h0.gif";
              aa[i*3+3]=0;  document.images[i*3+3].src = "h0.gif";
            }
          }
          else  Sorry();
          CalcMinMoves();  finished=false;  started = false;  helped=0;
          updateInfo('       Click a peg to move a disk!     ');
        }
        
        function shuffleArray() {
          if (document.images) {
            for (i=1; i<=noImgs; i++) { aa[i]=0;  document.images[i].src = "h0.gif" };
            for (i=1; i<=3;   i++) { bb[i]=noDisks+1 };
            noMoves=0;
            for (i=1; i<=noDisks; i++) {
              what=noDisks+1-i;  peg=Math.floor(Math.random()*3)+1;
              if ((i==1) && (peg==3)) {peg=1};
              bb[peg]=bb[peg]-1;
              where=3*bb[peg]+peg;
              aa[where]=what;
              nomimg = "h" + what + ".gif";
              document.images[where].src = nomimg
            }
          }
          else  Sorry();
          CalcMinMoves();  finished=false;  started = false;  helped=0;
          updateInfo('       Click a peg to move a disk!     ');
        }
        
        function nowTime() {
        var  start = new Date();
          return (start.getTime() / 1000);
        }
        
        function Congratulations() {
        var conText = "";
          atime = parseInt(nowTime() - time);
          if (noMoves>minMoves+1)
           conText = "however\n  You\'ve made "+ (noMoves-minMoves) + " wrong moves."
          if (noMoves==minMoves+1)
           conText = "and\n  You\'ve made only one wrong move."
          if (helped>2)
           conText = "however\n  I\'ve helped you with "+ (helped) + " moves."
          if (atime>=3*minMoves)
           conText = conText + "\n  You click to slow.";
          if (atime<minMoves)
           conText = conText + "\n  You click with " + (Math.round((2*noMoves-helped)*60/atime) ) + " mickeys per minute.";
          if (conText=="") conText = "\n  You\'ve made it in " + noMoves +" moves!\n"
           else conText = "\n  You\'ve finished it well, " + conText;
          if ((noMoves==minMoves) && (atime<=2*minMoves) && (helped<=1))
           conText = "\n C o n g r a t u l a t i o n s !" +
           "\n  You\'ve made it in a minimum of  " + minMoves + " moves."
           "\n  and in a very good time = " + atime + " seconds" +
           "\n  You are the MASTER of that game.";
          alert( conText );
          return true
        }
        
        function updateInfo( information ) {
          document.forms[0].info1.value = information;
          return true
        }
        
        function oneMove() {
        var from=1, to=1;
          Recognize();  // update positions info
          for (i=noDisks; i>=1; i--) {
            if (src[i+1] == dst[i+1])
            dst[i] = src[i+1]
              else dst[i] = 6-src[i+1]-dst[i+1];
            if (src[i] != dst[i]) {
            from=src[i];  to=dst[i]
            }
          }
          if (firstPick != 0) { // disk raised, check if the good one
              if (firstPick != from) { move(firstPick);  move(from); }
          }
          else  move(from);
          move(to);
          if (from != to) helped = helped+1;
          return true
        }
        
        // the following lines have been added by (gH)
        //    [gilles.hunault "at" univ-angers.fr]
        
        
        // ########################################################################
        
        function pageInit() {
        
        // ########################################################################
        
          if (!document.images) {
             alert('This game does not work \n in this browser version') ;
          } // fin de si
        
          updateInfo('       Click a peg to move a disk!     ') ;
          initArray()
        
        } // fin de fonction pageInit
        
        // ########################################################################
        
        // ########################################################################
        
        function pegsInit() {
        
        // ########################################################################
        
        //document.writeln("<table border='0' cellspacing='0' cellpadding='0' width='420'>");
        tp = document.createElement("table") ;
        tp.setAttribute("cellpadding",0) ;
        tp.setAttribute("cellspacing",0) ;
        tp.setAttribute("border",0) ;
        tp.setAttribute("width","420") ;
        tp.setAttribute("className","tpeg") ;
        tp.setAttribute("class","tpeg") ;
        
        // alert(noDisks)
        for (var i=0; i<=noDisks; i++) {
          // document.writeln("<tr>");
          tr1 = document.createElement("tr") ;
        
          // document.writeln("<td><a href='javascript:move(1)' title=''><img src='h" + i + ".gif' border=0 width=140 height=20 alt=' '><\/a><\/td>");
          td1 = document.createElement("td") ;
          td1.setAttribute("height","12") ;
          ah1 = document.createElement("a") ;
          im1 = document.createElement("img") ;
        
          ah1.setAttribute("href",'javascript:move(1)') ;
          im1.setAttribute("onclick",'move(1)') ;
          nomimg = "h" + i + ".gif"
          im1.setAttribute("src",nomimg)
          pegimg = "peg" + i + ".gif"
          im1.setAttribute("alt",pegimg)
          im1.setAttribute("width",'140') ;
          im1.setAttribute("height","20") ;
        
          td1.appendChild(ah1) ;
          td1.appendChild(im1) ;
        
          // document.writeln("<td><a href='javascript:move(2)' title=''><img src='h0.gif' border=0 width=140 height=20 alt=' '><\/a><\/td>");
          td2 = document.createElement("td") ;
          ah2 = document.createElement("a") ;
          im2 = document.createElement("img") ;
        
          ah2.setAttribute("href",'javascript:move(2)') ;
          im2.setAttribute("onclick",'move(2)') ;
          im2.setAttribute("src",'h0.gif') ;
          im2.setAttribute("alt",'h0.gif') ;
          im2.setAttribute("width","140") ;
          im2.setAttribute("height","20") ;
        
          td2.appendChild(ah2) ;
          td2.appendChild(im2) ;
        
          // document.writeln("<td><a href='javascript:move(3)' title=''><img src='h0.gif' border=0 width=140 height=20 alt=' '><\/a><\/td>");
          td3 = document.createElement("td") ;
          ah3 = document.createElement("a") ;
          im3 = document.createElement("img") ;
        
          ah3.setAttribute("href",'javascript:move(3)') ;
          im3.setAttribute("onclick",'move(3)') ;
          im3.setAttribute("src",'h0.gif') ;
          im3.setAttribute("alt",'h0.gif') ;
          //im3.setAttribute("height",20) ;
        
          td3.appendChild(ah3) ;
          td3.appendChild(im3) ;
        
          tr1.appendChild(td1) ;
          tr1.appendChild(td2) ;
          tr1.appendChild(td3) ;
        
          tp.appendChild(tr1) ;
        
          // POUR TEST : alert(i)
        } ; // fin de si
        
        tr2 =document.createElement("tr") ;
        // document.writeln("<td bgcolor='#3333cc' colspan=3 ><img src='pixel.gif' border=0 height=10 alt=''><\/td>");
        td4 = document.createElement("td") ;
        im4 = document.createElement("img") ;
        im4.setAttribute("src",'pixel.gif') ;
        im4.setAttribute("title",'pixel.gif') ;
        
        td4.setAttribute("bgcolor",'#3333cc') ;
        td4.setAttribute("colspan",3 ) ;
        td4.appendChild(im4) ;
        
        tr2.appendChild(td4) ;
        
        // POUR TEST : tp.setAttribute("border",'1') ;
        tp.appendChild(tr2) ;
        
        document.getElementById("pegs").appendChild(tp) ;
        
        } // fin de fonction pegsInit
        
        // ########################################################################
        
        
        
        
        // ########################################################################
        
        function voirpage() {
        
        // ########################################################################
        
        // ## ---------------------------------------------------------------------
        
        // ## gestion des paramètres
        
        // ## ---------------------------------------------------------------------
        
        larg = document.getElementById("larg").value  ;
        document.getElementById("visu_source").setAttribute("cols",larg) ;
        
        document.getElementById("visu_source").value = "" ;
        url = document.getElementById("url").value ;
        src = document.getElementById("mv_s") ;
        ren = document.getElementById("mv_r") ;
        
        if (src.checked) { modevisu = "source" ; }
        if (ren.checked) { modevisu = "rendu"  ; }
        
        /* pour debug
        
        txt = "\n tout va bien \n" ;
        document.getElementById("visu_source").value = txt
        
        msg = " url = " + url
        document.getElementById("visu_source").value += msg + "\n"
        
        msg = " modevisu = " + modevisu
        document.getElementById("visu_source").value += msg + "\n"
        
        */
        
        // ## ---------------------------------------------------------------------
        
        // ## récupération du contenu en mode source
        
        // ## ---------------------------------------------------------------------
        
        var xhr ;
        try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
        catch (e1) {
                try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
                catch (e2) {
                  try {  xhr = new XMLHttpRequest();     }
                  catch (e3) {  xhr = false;   }
                }
        } // fin du try/catch
        
        xhr.onreadystatechange  = function()  {
            if (xhr.readyState  == 4) {
               if (xhr.status  == 200) {
                   // on transmet tout le fichier
                   msg = xhr.responseText
                   // test : msg = "hello"
                   msg1 = msg
                   msg2 = msg
                   // on ne garde que ce qu'il y a entre <body> et </body>
                   idb = msg.indexOf("<body") ;
                   if (idb>-1) {
                     msg2 = msg.substring(idb) ;
                     msg2 = msg2.substring(1+msg2.indexOf(">")) ;
                     msg2 = msg2.substring(0,msg2.indexOf("</body>")) ;
                     // alert(msg2)
                   } ; // fin si
                   msg2 = "pomme"
                   document.getElementById("visu_source").value += msg1
                   var txt = document.createTextNode("hello")
                   var par = document.createElement("p")
                   //document.getElementById("rendu_source").appendChild(txt)
                   //document.getElementById("rendu_source").firstChild.nodeValue.innerHTML= msg1
                   //document.body.insertBefore(par,document.getElementById("rendu_source"))
                   document.getElementById('body').appendChild(par)
               } else {
                   document.getElementById("visu_source").value +=  "Error code " + xhr.status ;
               } ; // fin de xhr.status  == 200
            } ; // fin de xhr.readyState  == 4
        } ; // fin de fonction xhr.onreadystatechange
        
        // il ne doit pas y avoir marqué http:// dans l'url
        
        if (url.substring(0,7)=="http://") {
          url = "contenupage?url="+url ;
          /*
             msg = " on utilise l'url = " + url
             document.getElementById("visu_source").value += msg + "\n"
          */
        } ; // fin de si_
        
        xhr.open("GET", url,  true);
        xhr.send(null);
        
        } ; // fin fonction voirpage
        
        // ##########################################################
        
        // (gH)   -_-  sen_eux_et_nous.js  ;  TimeStamp (unix) : 13 Octobre 2008 vers 13:59
        
        // ##########################################################
        
        function comptabilise(valeur,equipe) {
        
        // ##########################################################
        
        if (equipe=="EUX") {
          elt = document.getElementById('EQ_EUX')
        } else {
          elt = document.getElementById('EQ_NOU')
        } ; // fin de si
        
        elt.value =  parseInt(elt.value) + parseInt(valeur) ;
        
        } // fin de fonction comptabilise
        
        // ##########################################################
        
        function raz1() {
        
        // ##########################################################
        
          document.getElementById('EQ_EUX').value = 0 ;
          document.getElementById('EQ_NOU').value = 0 ;
        } // fin de fonction raz1
        
        // ##########################################################
        // ##########################################################
        
        function score(valeur,equipe) {
        
        // ##########################################################
        
        document.getElementById(equipe).value = parseInt( document.getElementById(equipe).value)  + valeur ;
        
        } // fin de fonction comptabilise
        
        // ##########################################################
        
        function score2(valeur,equipe) {
        
        // ##########################################################
        
        // la ligne qui suit est pour Internet Explorer
        
        document.getElementById(equipe).innerText   = parseInt( document.getElementById(equipe).innerText)  + valeur ;
        
        // la ligne qui suit est pour Firefox
        
        document.getElementById(equipe).textContent = parseInt( document.getElementById(equipe).textContent)  + valeur ;
        
        } // fin de fonction comptabilise
        
        // ##########################################################
        //    (gH)   -_-  sen_horloge.js  ;  TimeStamp (unix) : 20 Octobre 2008 vers 18:41
        
        // ##########################################################
        
        function ajoutTemps(increment,unite) {
        
        // ##########################################################
        
        // alert(increment+" POUR "+unite) ;
        
        // les deux lignes qui suivent sont pour Firefox
        
        h = document.getElementById("heur").textContent ;
        m = document.getElementById("minu").textContent ;
        
        // les deux lignes qui suivent sont pour Internet Explorer
        
        FF = 1 ;
        if (h==undefined) {
            h = document.getElementById("heur").innerText ;
            m = document.getElementById("minu").innerText ;
            FF = 0 ;
        } ; // fin de si
        
        // gérons les 0x en de "vrais" x
        
        if (parseInt(h,10)>0) {
           if (h.charAt(0)=="0") { h = h.charAt(1) } ;
        } ; // fin de si sur h
        
        if (parseInt(m,10)>0) {
           if (m.charAt(0)=="0") { m = m.charAt(1) } ;
        } ; // fin de si sur m
        
        h = parseInt(h,10) ;
        m = parseInt(m,10) ;
        
        // on gère séparément et dans cet ordre les minutes puis les heures à cause de 23 h 59
        
        if (unite=="minu") {
           m = m + increment ;
        } ; // fin si sur les minutes
        
        if (unite=="heur") {
           h = h + increment ;
        } ; // fin si sur les minutes
        
        if (m==-1) {
              m = 59 ;
              h = h - 1 ;
        } ; // fin si sur m = -1
        
        if (m==60) {
              m = 0 ;
              h = h + 1 ;
        } ; // fin si sur m = 60
        
        if (h==24) {
            h = 0 ;
        } ; // fin si sur h = 24
        
        if (h==-1) {
            h = 23 ;
        } ; // fin si sur h = -1
        
        // règle GH : changer d'heure remet les minutes à 00
        // if (unite=="heur") { m = "00" } ;
        
        // on écrit proprement 09 au lieu de 9
        // donc on met f devant le nom des variables
        // comme mnémonique de format
        
        fh = h ;
        if (h<10) { fh = "0"+h ; }
        
        fm = m ;
        if (m<10) { fm = "0"+m ; }
        
        if (FF==1) {
        // les deux lignes qui suivent sont pour Firefox
        
        document.getElementById("heur").textContent = fh ;
        document.getElementById("minu").textContent = fm ;
        
        } else {
        
        // les deux lignes qui suivent sont pour Internet Explorer
        
        document.getElementById("heur").innerText = fh ;
        document.getElementById("minu").innerText = fm ;
        
        } ; // fin si
        
        } // fin de fonction ajoutTemps
        
        // ##########################################################
        
        //    (gH)   -_-  tutajax.js  ;  TimeStamp (unix) : 27 Décembre 2009 vers 19:51
        
        // ########################################################################
        
        function ajaxv1(eltradio) {
        
        // ########################################################################
        
         var xhr;
         try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
         catch (e) {
                try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
                catch (e2) {
                  try {  xhr = new XMLHttpRequest();     }
                  catch (e3) {  xhr = false;   }
                }
         } // fin du catch
        
         xhr.onreadystatechange  = function()  {
            if (xhr.readyState  == 4) {
               if (xhr.status  == 200) {
                   // on transmet tout le fichier
                   document.getElementById("ajax1").firstChild.data =   xhr.responseText ;
               } else {
                   document.getElementById("ajax1").firstChild.data =  "Error code " + xhr.status ;
               } ; // fin de xhr.status  == 200
            } ; // fin de xhr.readyState  == 4
         } ; // fin de fonction xhr.onreadystatechange
        
         var url = "tutajax4.php" ;
         if (eltradio[0].checked) {
             url = "tutajax_send1a.txt" ;
         } else {
             url = "tutajax_send1b.txt" ;
         } ; // fin si
         xhr.open("GET", url,  true);
         xhr.send(null);
        
        } ; // fin fonction ajaxv1
        
        // ########################################################################
        
        function ajaxv2(eltselect) {
        
        // ########################################################################
        
         var xhr;
         try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
         catch (e) {
                try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
                catch (e2) {
                  try {  xhr = new XMLHttpRequest();     }
                  catch (e3) {  xhr = false;   }
                }
         } // fin du catch
        
         xhr.onreadystatechange  = function()  {
            if (xhr.readyState  == 4) {
               if (xhr.status  == 200) {
                   // on commence par retirer les sauts de ligne
                   var texte =  xhr.responseText ;
                   var er1   = new RegExp("\n","g") ;
                   texte     = texte.replace(er1,"") ;
                   // puis on découpe en fonction des points-virgules
                   var er2   = new RegExp(";","g") ;
                   var er3   = new RegExp("=") ;
                   var tab   = texte.split(er2) ;
                   for (ide=0;ide<tab.length;ide++) {
                     // enfin, on découpe par rapport au symbole égal
                     var mots = tab[ide].split(er3) ;
                     // si on trouve la date, on renvoie l'évènement
                     if (mots[0]==ladate) {
                        document.getElementById("ajax2").value         =  mots[1] ;
                     } ; // fin si
                   } ; // fin pour ide
               } else {
                   document.getElementById("ajax2").value =  "Error code " + xhr.status ;
               } ; // fin de xhr.status  == 200
            } ; // fin de xhr.readyState  == 4
         } ; // fin de fonction xhr.onreadystatechange
        
         var ladate = eltselect.options[eltselect.selectedIndex].value ;
         var url = "tutajax_send2.txt" ;
         xhr.open("GET", url,  true);
         xhr.send(null);
        
        } ; // fin fonction ajaxv2
        
        // ########################################################################
        
        function ajaxv3(eltradio) {
        
        // ########################################################################
        
         var xhr;
         try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
         catch (e) {
                try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
                catch (e2) {
                  try {  xhr = new XMLHttpRequest();     }
                  catch (e3) {  xhr = false;   }
                }
         } // fin du catch
        
         xhr.onreadystatechange  = function()  {
            if (xhr.readyState  == 4) {
               if (xhr.status  == 200) {
                   document.getElementById("ajax3").innerHTML =  xhr.responseText ;
               } else {
                   document.getElementById("ajax3").innerHTML =  "Error code " + xhr.status ;
               } ; // fin de xhr.status  == 200
            } ; // fin de xhr.readyState  == 4
         } ; // fin de fonction xhr.onreadystatechange
        
         var url = "tutajax4.php" ;
         if (eltradio[0].checked) {
             url = "tutajax_send3a.html" ;
         } else {
             url = "tutajax_send3b.html" ;
         } ; // fin si
         xhr.open("GET", url,  true);
         xhr.send(null);
        
        } ; // fin fonction ajaxv3
        
        // ########################################################################
        
        function ajaxv4(eltselect) {
        
        // ########################################################################
        
         var xhr;
         try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
         catch (e) {
                try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
                catch (e2) {
                  try {  xhr = new XMLHttpRequest();     }
                  catch (e3) {  xhr = false;   }
                }
         } // fin du catch
        
         xhr.onreadystatechange  = function()  {
            if (xhr.readyState  == 4) {
               if (xhr.status  == 200) {
                   document.getElementById("ajax4").value       =  ""
                   dct  = xhr.responseXML ;
                   tab  = dct.getElementsByTagName("article") ;
                   for (ide=0;ide<tab.length;ide++) {
                     var article = tab[ide] ; // article courant
                     var vu      = 0  // indique si on a vu l'article recherché
                     var nbet    = 0 // nombre d'enfants textes
                     // on passe en revue les enfants
                     indc = 0 ; // indice courant d'enfant
                     while (indc<article.childNodes.length)     {
                       currentElementChild=article.childNodes[indc];
                       if (vu<2) {
                         // s'il s'agit d'un noeud texte
                         if (currentElementChild.nodeType==1) {
                            nbet = nbet + 1
                         // et s'il correspond au texte cherché
                            if (currentElementChild.textContent==larticle) {
                               vu = 1 ;
                            } ; // fin si
                            // alors on récupère le texte suivant
                            if (vu==1) {
                               if (nbet==2) {
                                  prix = currentElementChild.textContent
                                  document.getElementById("ajax4").value   +=  prix + " euros"   ;
                                  vu = 2 ;
                                  indc = article.childNodes.length + 1
                               } ; // fin si
                            } ; // fin si
                         } ; // fin si
                      } ; // fin si
                      indc++
                      currentElementChild=article.childNodes[indc];
                     } // fin de tant que
                   } ; // fin pour ide
        
               } else {
                   document.getElementById("ajax4").value =  "Error code " + xhr.status ;
               } ; // fin de xhr.status  == 200
            } ; // fin de xhr.readyState  == 4
         } ; // fin de fonction xhr.onreadystatechange
        
         // ceci est le mot cherché :
        
         var larticle = eltselect.options[eltselect.selectedIndex].value ;
        
         var url = "tutajax_send4a.xml" ;
         xhr.open("GET", url,  true);
         xhr.send(null);
        
        } ; // fin fonction ajaxv4
        
        // ########################################################################
        
        function ajaxv5(eltselect) {
        
        // ########################################################################
        
         var xhr;
         try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
         catch (e) {
                try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
                catch (e2) {
                  try {  xhr = new XMLHttpRequest();     }
                  catch (e3) {  xhr = false;   }
                }
         } // fin du catch
        
         xhr.onreadystatechange  = function()  {
            if (xhr.readyState  == 4) {
               if (xhr.status  == 200) {
                   document.getElementById("ajax5").value       =  ""
                   dct  = xhr.responseXML ;
                   tab  = dct.getElementsByTagName("article") ;
                   for (ide=0;ide<tab.length;ide++) {
                     var article = tab[ide] ;
                    if (article.getAttribute("nom")==larticle) {
                         leprix = article.getAttribute("prix") ;
                         document.getElementById("ajax5").value  +=  leprix + " euros" ;
                     } ; // fin si
                   } ; // fin pour ide
        
               } else {
                   document.getElementById("ajax5").value =  "Error code " + xhr.status ;
               } ; // fin de xhr.status  == 200
            } ; // fin de xhr.readyState  == 4
         } ; // fin de fonction xhr.onreadystatechange
        
         // ceci est le mot cherché :
        
         var larticle = eltselect.options[eltselect.selectedIndex].value ;
        
         var url = "tutajax_send4b.xml" ;
         xhr.open("GET", url,  true);
         xhr.send(null);
        
        } ; // fin fonction ajaxv5
        
        // ########################################################################
        
        function ajaxv6(eltradio) {
        
        // ########################################################################
        
         var xhr ;
         try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
         catch (e) {
                try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
                catch (e2) {
                  try {  xhr = new XMLHttpRequest();     }
                  catch (e3) {  xhr = false;   }
                }
         } // fin du catch
        
         xhr.onreadystatechange  = function()  {
            if (xhr.readyState  == 4) {
               if (xhr.status  == 200) {
                   // on transmet tout le fichier
                   var tabdates = eval('(' + xhr.responseText + ')') ;
                   msg  = " Jour du rendez-vous, le " ;
                   msg += tabdates[numj] ;
                   msg += " novembre "
                   document.getElementById("ajax6").firstChild.data = msg
               } else {
                   document.getElementById("ajax6").firstChild.data =  "Error code " + xhr.status ;
               } ; // fin de xhr.status  == 200
            } ; // fin de xhr.readyState  == 4
         } ; // fin de fonction xhr.onreadystatechange
        
        
         var url = "tutajax_send5.txt" ;
         var numj = -1 ;
         for (idj=0;idj<=2;idj++) {
           if (eltradio[idj].checked) { numj = idj ; } ;
         } ; // fin pour
        
         xhr.open("GET", url,  true);
         xhr.send(null);
        
        } ; // fin fonction ajaxv6
        
        // ########################################################################
        
        // ###########################################################################
        
        function ping() {
        
        // ###########################################################################
        
        top.frames["gauche"].document.getElementById("vg").value  += "ping !"
        top.document.getElementsByTagName("frameset")[0].cols = "10%,90%"
        
        } ; // fin de fonction ping
        
        // ###########################################################################
        
        function pong() {
        
        // ###########################################################################
        
        top.frames["droite"].document.getElementById("vd").value  += "pong !"
        top.document.getElementsByTagName("frameset")[0].cols = "90%,10%"
        
        } ; // fin de fonction ping
        
        // ###########################################################################
        
        //    (gH)   -_-  diaporama_gen.js  ;  TimeStamp (unix) : 22 Mai 2010 vers 17:05
        
        // #######################################
        
        function forceDuree(d) {
        
        // #######################################
        
        // si d est fourni, on l'utilise comme durée
        // sinon, on utilise la valeur du formulaire
        
        var laduree = top.frames[1].document.getElementById("duree").value
        // rem : var est obligatoire
        if (d!=undefined) { laduree = d }
        
        var old_url = top.location.href
        if (old_url.indexOf("?")==-1) { // aucun paramètre
          var new_url = old_url + "?diapo=1&duree="+laduree
        } else {
          if (old_url.indexOf("duree=")==-1) { // aucun paramètre
             var new_url = old_url + "&duree="+laduree
          } else {
            var new_url = old_url.replace(/duree=\d+/,"duree="+laduree)
          } ; // fin si
        } ; // fin si
        
        top.frames[1].document.getElementById("duree").value = laduree
        top.location.href = new_url
        
        } ; // fin de fonction forceDuree
        
        // #######################################
        
        function changeDiapo(num) {
        
        // #######################################
        
           if (num=="=")  { forceDuree(10000)  ; } else {
        
           var old_url  = top.location.href
           var nbdiapos = top.frames[1].document.getElementById("nbv").value
        
           if (old_url.indexOf("diapo=")==-1) { // pas de numéro de diapo
              var numdiapo  = 1
           } else {
              var attdiapo = old_url.match(/diapo=\d+/)[0] ;
              var numdiapo = parseInt(attdiapo.match(/\d+/)[0]) ;
           } ; // fin si
        
           if (num=="d")  { numdiapo  = 1 ;                  } // début
           if (num=="p")  { numdiapo -= 1 ;                  } // précédente
           if (num=="s")  { numdiapo += 1 ;                  } // suivante
           if (num=="f")  { numdiapo  = nbdiapos ;           } // fin
        
           if (numdiapo>nbdiapos)  { numdiapo = 1 ; }
           if (numdiapo<=0)        { numdiapo = nbdiapos ; }
        
           if (old_url.indexOf("?")==-1) { // aucun paramètre
              top.location.href = old_url + "?diapo=" + numdiapo
           } else {
              top.location.href = old_url.replace(/diapo=\d+/,"diapo="+numdiapo)
           } ; // finsi
        
           } ; // fin si
        
        } ; // fin de fonction forceDuree
        
        // #######################################
        
        function navigation() {
        
        // #######################################
        
        // pour ajouter du texte avec entité, passer par de l'unicode,
        // par exemple :  ==> \u00A0
        
        top.frames[1].document.getElementById("td1").setAttribute("class","visible") ;
        top.frames[1].document.getElementById("td2").setAttribute("class","visible") ;
        top.frames[1].document.getElementById("tnav").setAttribute("class","visible") ;
        top.frames[1].document.getElementById("tnav").setAttribute("border","thin solid") ;
        top.frames[1].document.getElementById("tnav").setAttribute("border-color","black") ;
        top.frames[1].document.getElementById("tnav").setAttribute("border-collapse","collapse") ;
        
        } ; // fin de fonction navigation
        

 

 

retour gH    Retour à la page principale de   (gH)