Advertisement
rAthus

rAthur Maps v1 [demo]

May 6th, 2015
563
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Démo venant de : http://www.sillonalpinsud.fr/Carte-nord.php
  2.  
  3. ////////////////////
  4. // rAthur Maps v1 //
  5. ////////////////////
  6.  
  7. //////////////////////////////////
  8. // Initialisation des variables //
  9. //////////////////////////////////
  10. /////////
  11. // Map //
  12. /////////
  13. largeur_cadre_map = 440; // Largeur de la zone d'affichage de la map en pixels.
  14. hauteur_cadre_map = 725; // Hauteur de la zone d'affichage de la map en pixels.
  15. id_cadre_map = "conteneur_map"; // ID de la zone dans laquelle sera affichée la map.
  16. authoriser_centre = 0; // "0" ou "1", demander au dev pour les explications, c'est chiant à écrire ;)
  17. nom_fichier_image_map = "map_<X>_<Y>.jpg"; // Nom d'un fichier d'image en remplacant la colone par "<X>", la ligne par "<Y>", et eventuellement le niveau de zoom par "<Z>".
  18. dossier_zoom_ = new Array();
  19. largeur_totale_zoom_ = new Array();
  20. hauteur_totale_zoom_ = new Array();
  21. largeur_images_zoom_ = new Array();
  22. hauteur_images_zoom_ = new Array();
  23. dossier_zoom_[0] = "cartes/map_nord/0/"; // Dossier du zoom avec un "/" à la fin.
  24. largeur_totale_zoom_[0] = 440; // Largeur totale du zoom.
  25. hauteur_totale_zoom_[0] = 725; // Hauteur totale du zoom.
  26. largeur_images_zoom_[0] = 440; // Largeur d'une image.
  27. hauteur_images_zoom_[0] = 725; // Hauteur d'une image.
  28. dossier_zoom_[1] = "cartes/map_nord/1/"; // Dossier du zoom avec un "/" à la fin.
  29. largeur_totale_zoom_[1] = 607; // Largeur totale du zoom.
  30. hauteur_totale_zoom_[1] = 1000; // Hauteur totale du zoom.
  31. largeur_images_zoom_[1] = 200; // Largeur d'une image.
  32. hauteur_images_zoom_[1] = 200; // Hauteur d'une image.
  33. dossier_zoom_[2] = "cartes/map_nord/2/"; // Dossier du zoom avec un "/" à la fin.
  34. largeur_totale_zoom_[2] = 1760; // Largeur totale du zoom.
  35. hauteur_totale_zoom_[2] = 2900; // Hauteur totale du zoom.
  36. largeur_images_zoom_[2] = 200; // Largeur d'une image.
  37. hauteur_images_zoom_[2] = 200; // Hauteur d'une image.
  38. dossier_zoom_[3] = "cartes/map_nord/3/"; // Dossier du zoom avec un "/" à la fin.
  39. largeur_totale_zoom_[3] = 3216; // Largeur totale du zoom.
  40. hauteur_totale_zoom_[3] = 5300; // Hauteur totale du zoom.
  41. largeur_images_zoom_[3] = 200; // Largeur d'une image.
  42. hauteur_images_zoom_[3] = 200; // Hauteur d'une image.
  43. dossier_zoom_[4] = "cartes/map_nord/4/"; // Dossier du zoom avec un "/" à la fin.
  44. largeur_totale_zoom_[4] = 6159; // Largeur totale du zoom.
  45. hauteur_totale_zoom_[4] = 10149; // Hauteur totale du zoom.
  46. largeur_images_zoom_[4] = 200; // Largeur d'une image.
  47. hauteur_images_zoom_[4] = 200; // Hauteur d'une image.
  48. ///////////////
  49. // Miniature //
  50. ///////////////
  51. largeur_cadre_miniature = 90; // Largeur de la zone d'affichage de la miniature en pixels.
  52. hauteur_cadre_miniature = 150; // Hauteur de la zone d'affichage de la miniature en pixels.
  53. id_cadre_miniature = "conteneur_miniature"; // ID de la zone dans laquelle sera affichée la miniature.
  54. couleur_cadre_zone_miniature = "#ff0000"; // Couleur du petit cadre représentant la zone vue sur la miniature.
  55. ///////////////
  56. // Surcouche //
  57. ///////////////
  58. affichage_surcouche_par_defaut = "block" // "block" pour afficher la surcouche au chargement et "none" pour la masquer.
  59. nom_fichier_image_surcouche = "trace_<X>_<Y>.gif"; // Nom d'un fichier d'image en remplacant la colone par "<X>", la ligne par "<Y>", et eventuellement le niveau de zoom par "<Z>".
  60. ////////////
  61. // Pictos //
  62. ////////////
  63. dossier_pictos = "cartes/map_nord/icones/"; // Dossier dans lequel se trouvent les images des pictos.
  64. affichage_pictos_par_defaut = "block"; // "block" pour afficher les pictos au chargement et "none" pour les masquer.
  65. picto = new Array();
  66. nbpicto = 0;
  67. // Ci-après infos sur les pictos, 0=groupe, 1=fichier_image, 2=ratio_gauche, 3=ratio_haut, 4=décalage_gauche, 5=décalage_haut. En option, 6=lien, 7=title.
  68. picto[nbpicto] = Array("patelins","montmelian.png",0.9277,0.0387,-40,-8); nbpicto++;
  69. picto[nbpicto] = Array("patelins","cheylas.png",0.8005,0.3918,-29,-6); nbpicto++;
  70. picto[nbpicto] = Array("patelins","tencin.png",0.7134,0.5553,-20,-7); nbpicto++;
  71. picto[nbpicto] = Array("patelins","froges.png",0.6159,0.6525,-24,-7); nbpicto++;
  72. picto[nbpicto] = Array("patelins","brignoud.png",0.5736,0.681,-32,-7); nbpicto++;
  73. picto[nbpicto] = Array("patelins","villard.png",0.4723,0.7334,-30,-15); nbpicto++;
  74. picto[nbpicto] = Array("patelins","domene.png",0.3842,0.8381,-36,-8); nbpicto++;
  75. picto[nbpicto] = Array("patelins","gieres.png",0.2326,0.8939,-36,-8); nbpicto++;
  76. picto[nbpicto] = Array("patelins","martin.png",0.1593,0.9362,-36,-15); nbpicto++;
  77. picto[nbpicto] = Array("passages_modifies","secu.png",0.9116,0.1108,-10,-10); nbpicto++;
  78. picto[nbpicto] = Array("passages_modifies","secu.png",0.9032,0.1252,-10,-10); nbpicto++;
  79. picto[nbpicto] = Array("passages_modifies","secu.png",0.8812,0.1522,-10,-10); nbpicto++;
  80. picto[nbpicto] = Array("passages_modifies","secu.png",0.8674,0.1692,-10,-10); nbpicto++;
  81. picto[nbpicto] = Array("passages_modifies","secu.png",0.8458,0.1954,-10,-10); nbpicto++;
  82. picto[nbpicto] = Array("passages_modifies","secu.png",0.825,0.2836,-10,-10); nbpicto++;
  83. picto[nbpicto] = Array("passages_modifies","secu.png",0.7987,0.3315,-10,-10); nbpicto++;
  84. picto[nbpicto] = Array("passages_modifies","secu.png",0.7716,0.3815,-10,-10); nbpicto++;
  85. picto[nbpicto] = Array("passages_modifies","secu.png",0.7641,0.3947,-10,-10); nbpicto++;
  86. picto[nbpicto] = Array("passages_modifies","secu.png",0.7488,0.4396,-10,-10); nbpicto++;
  87. picto[nbpicto] = Array("passages_modifies","secu.png",0.7206,0.491,-10,-10); nbpicto++;
  88. picto[nbpicto] = Array("passages_modifies","secu.png",0.6976,0.5285,-10,-10); nbpicto++;
  89. picto[nbpicto] = Array("passages_modifies","secu.png",0.6461,0.5867,-10,-10); nbpicto++;
  90. picto[nbpicto] = Array("passages_modifies","secu.png",0.6268,0.6016,-10,-10); nbpicto++;
  91. picto[nbpicto] = Array("passages_modifies","secu.png",0.619,0.608,-10,-10); nbpicto++;
  92. picto[nbpicto] = Array("passages_modifies","secu.png",0.5038,0.7054,-10,-10); nbpicto++;
  93. picto[nbpicto] = Array("passages_modifies","secu.png",0.4447,0.7676,-10,-10); nbpicto++;
  94. picto[nbpicto] = Array("passages_modifies","secu.png",0.4122,0.7867,-10,-10); nbpicto++;
  95. picto[nbpicto] = Array("passages_modifies","secu.png",0.392,0.7985,-10,-10); nbpicto++;
  96. picto[nbpicto] = Array("passages_modifies","secu.png",0.3557,0.8198,-10,-10); nbpicto++;
  97. picto[nbpicto] = Array("passages_modifies","secu.png",0.2901,0.8579,-10,-10); nbpicto++;
  98. picto[nbpicto] = Array("patelins","chambery.png",0.8468,0.0315,-34,-8); nbpicto++;
  99. picto[nbpicto] = Array("patelins","dirnordest.png",0.9632,0.0299,-29,-22); nbpicto++;
  100. picto[nbpicto] = Array("electricite","elec1.png",0.8972,0.1434,-11,-11); nbpicto++;
  101. picto[nbpicto] = Array("remplacements","remp1.png",0.8225,0.2277,-124,-12); nbpicto++;
  102. picto[nbpicto] = Array("corridors","corr1.png",0.8084,0.3139,-81,-29); nbpicto++;
  103. picto[nbpicto] = Array("remplacements","remp2.png",0.8028,0.3237,-138,-13); nbpicto++;
  104. picto[nbpicto] = Array("ponts","pont1.png",0.6809,0.5543,-102,-17); nbpicto++;
  105. picto[nbpicto] = Array("abaissements","abaiss1.png",0.6847,0.5498,-98,-44); nbpicto++;
  106. picto[nbpicto] = Array("suppressions","suppr1.png",0.3163,0.8428,-148,-12); nbpicto++;
  107. picto[nbpicto] = Array("gares_modif","gare_goncelin_modif.png",0.737,0.4665,-149,-17); nbpicto++;
  108. picto[nbpicto] = Array("gares_modif","gare_lancey_modif.png",0.4734,0.751,-87,-27); nbpicto++;
  109. picto[nbpicto] = Array("gares","gare_montmelian.png",0.9178,0.0455,-209,-10); nbpicto++;
  110. picto[nbpicto] = Array("gares","gare_cheylas.png",0.8006,0.329,-124,-10); nbpicto++;
  111. picto[nbpicto] = Array("gares","gare_goncelin.png",0.737,0.4665,-149,-17); nbpicto++;
  112. picto[nbpicto] = Array("remplacements","remp3.png",0.7339,0.4718,-16,-11); nbpicto++;
  113. picto[nbpicto] = Array("gares","gare_pontcharra.png",0.8239,0.2227,-143,-29); nbpicto++;
  114. picto[nbpicto] = Array("gares","gare_tencin.png",0.6753,0.5629,-8,-9); nbpicto++;
  115. picto[nbpicto] = Array("gares","gare_brignoud.png",0.5296,0.6776,-125,-9); nbpicto++;
  116. picto[nbpicto] = Array("gares","gare_lancey.png",0.4734,0.751,-87,-27); nbpicto++;
  117. picto[nbpicto] = Array("patelins","lancey.png",0.4825,0.7564,-22,-6); nbpicto++;
  118. picto[nbpicto] = Array("patelins","versoud.png",0.4396,0.8004,-33,-7); nbpicto++;
  119. picto[nbpicto] = Array("abaissements","abaiss2.png",0.3357,0.8317,-77,-58); nbpicto++;
  120. picto[nbpicto] = Array("gares","gare_domene.png",0.3227,0.8394,-12,-12); nbpicto++;
  121. picto[nbpicto] = Array("ponts","pont2.png",0.3286,0.8357,-94,-28); nbpicto++;
  122. picto[nbpicto] = Array("gares","gare_gieres.png",0.1921,0.8848,-62,-11); nbpicto++;
  123. picto[nbpicto] = Array("patelins","grenoble.png",0.0298,0.8829,-47,-11); nbpicto++;
  124. picto[nbpicto] = Array("patelins","dirsudouest.png",0.1054,0.9442,-30,-21); nbpicto++;
  125. picto[nbpicto] = Array("passages","pass.png",0.6795,0.5573,-5,-5); nbpicto++;
  126. picto[nbpicto] = Array("passages","pass.png",0.5328,0.676,-5,-5); nbpicto++;
  127. picto[nbpicto] = Array("passages","pass.png",0.4757,0.7493,-5,-5); nbpicto++;
  128. picto[nbpicto] = Array("passages","pass.png",0.2771,0.8654,-5,-5); nbpicto++;
  129. picto[nbpicto] = Array("passages","pass.png",0.2595,0.8759,-5,-5); nbpicto++;
  130. picto[nbpicto] = Array("passages","pass.png",0.2346,0.8821,-5,-5); nbpicto++;
  131. picto[nbpicto] = Array("passages","pass.png",0.2071,0.8815,-5,-5); nbpicto++;
  132. ///////////////
  133. // Fonctions //
  134. ///////////////
  135. function zoom_mini() // Se déclenche quand on arrive au zoom minimum.
  136. {
  137.     document.getElementById("bouton_zoom_moins").disabled = "disabled";
  138. }
  139. function zoom_maxi() // Se déclenche quand on arrive au zoom maximum.
  140. {
  141.     document.getElementById("bouton_zoom_plus").disabled = "disabled";
  142. }
  143. function zoom_intermediaire() // Se déclenche quand on est sur un zoom entre le mini et le maxi.
  144. {
  145.     document.getElementById("bouton_zoom_plus").disabled = "";
  146.     document.getElementById("bouton_zoom_moins").disabled = "";
  147. }
  148. function maj_niveau_zoom() // Se déclenche quand le niveau de zoom est modifié, quel qu'il soit.
  149. {
  150.     document.getElementById("niveau_zoom").innerHTML = "Niveau zoom : "+niveau_zoom+"/"+(zoom.length-1);
  151.     document.getElementsByClassName("blocZoom")[0].id = "niv_"+niveau_zoom;
  152. }
  153.  
  154. //////////////////////////////////////////////////
  155. // A partir d'ici ne rien toucher sans le dev ! //
  156. //////////////////////////////////////////////////
  157. niveau_zoom = 0;
  158. initcoords_map = 0;
  159. function init_map()
  160. {
  161.     ////////////////////
  162.     // Génération map //
  163.     ////////////////////
  164.     rathurmap = document.createElement("div");
  165.     rathurmap.id = "rathurmap";
  166.     rathurmap.style.position = "relative";
  167.     rathurmap.style.overflow = "hidden";
  168.     rathurmap.style.width = largeur_cadre_map+"px";
  169.     rathurmap.style.height = hauteur_cadre_map+"px";
  170.     rathurmap.style.backgroundImage = "url(images/c.jpg)";
  171.     rathurmap.style.cursor = "move";
  172.     rathurmap.onmouseover = function() { autorisation_zoom_roulette = 1; imgcrosshair.style.display = "none"; };
  173.     rathurmap.onmouseout = function() { autorisation_zoom_roulette = 0; imgcrosshair.style.display = "block"; };
  174.     document.getElementById(id_cadre_map).appendChild(rathurmap);
  175.     generer_zoom(0);
  176.     generer_zoom(1);
  177.     generer_zoom(2);
  178.     generer_zoom(3);
  179.     generer_zoom(4);
  180.     zoom[0].style.display = "block";
  181.     restant = document.createElement("img");
  182.     restant.id = "images_restantes_a_charger";
  183.     restant.src = "images/loading.gif";
  184.     restant.style.position = "absolute";
  185.     restant.style.left = "50%";
  186.     restant.style.top = "50%";
  187.     restant.style.marginLeft = "-25px";
  188.     restant.style.marginTop = "-25px";
  189.     restant.style.display = "none";
  190.     restant.style.zIndex = "1003";
  191.     document.getElementById("rathurmap").appendChild(restant);
  192.     affichage_prct = document.createElement("div");
  193.     affichage_prct.id = "affichage_prct";
  194.     affichage_prct.style.position = "absolute";
  195.     affichage_prct.style.left = "0";
  196.     affichage_prct.style.top = "50%";
  197.     affichage_prct.style.marginLeft = "0";
  198.     affichage_prct.style.marginTop = "25px";
  199.     affichage_prct.style.display = "none";
  200.     affichage_prct.style.textAlign = "center";
  201.     affichage_prct.style.width = "100%";
  202.     affichage_prct.style.fontSize = "11px";
  203.     affichage_prct.style.fontFamily = "arial";
  204.     affichage_prct.style.fontWeight = "normal";
  205.     affichage_prct.style.textShadow = "0 0 1px #fff";
  206.     affichage_prct.style.zIndex = "1003";
  207.     document.getElementById("rathurmap").appendChild(affichage_prct);
  208.     imgcrosshair = document.createElement("img");
  209.     imgcrosshair.src = "images/crosshair.gif";
  210.     imgcrosshair.style.position = "absolute";
  211.     imgcrosshair.style.zIndex = "1003";
  212.     imgcrosshair.style.left = (Math.abs(largeur_cadre_map/2-9))+"px";
  213.     imgcrosshair.style.top = (Math.abs(hauteur_cadre_map/2-9))+"px";
  214.     document.getElementById("rathurmap").appendChild(imgcrosshair);
  215.     gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  216.     gotoleft = gotoleft_ancien;
  217.     gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  218.     gototop = gototop_ancien;
  219.     coords_map = "0,0,0";
  220.     if (window.location.hash.split('#')[1])
  221.     {
  222.         initcoords_map = 1;
  223.         coords_map = window.location.hash.split('#')[1].split(';');
  224.     }
  225.     maj_images();
  226.     divdrag_map = document.createElement("div");
  227.     divdrag_map.style.position = "absolute";
  228.     divdrag_map.style.left = "0";
  229.     divdrag_map.style.top = "0";
  230.     divdrag_map.style.width = largeur_cadre_map+"px";
  231.     divdrag_map.style.height = hauteur_cadre_map+"px";
  232.     divdrag_map.style.backgroundImage = "url(images/spacer.gif)";
  233.     divdrag_map.style.backgroundRepeat = "repeat";
  234.     divdrag_map.style.zIndex = "1007";
  235.     divdrag_map.onmousedown = function() { init_drag_map(); return false; };
  236.     divdrag_map.onmouseup = function() { end_drag_map(); };
  237.     divdrag_map.ondblclick = function() { zoom_de(1); };
  238.     document.getElementById("rathurmap").appendChild(divdrag_map);
  239.     //////////////////////////
  240.     // Génération miniature //
  241.     //////////////////////////
  242.     zoom_miniature = 0;
  243.     rathurmapminiature = document.createElement("div");
  244.     rathurmapminiature.id = "rathurmapminiature";
  245.     rathurmapminiature.style.position = "relative";
  246.     rathurmapminiature.style.overflow = "hidden";
  247.     rathurmapminiature.style.width = largeur_cadre_miniature+"px";
  248.     rathurmapminiature.style.height = hauteur_cadre_miniature+"px";
  249.     rathurmapminiature.style.backgroundImage = "url(images/c.jpg)";
  250.     rathurmapminiature.style.cursor = "default";
  251.     rathurmapminiature.onmouseover = function() { zoom_miniature = 1; autorisation_zoom_roulette = 1; };
  252.     rathurmapminiature.onmouseout = function() { zoom_miniature = 0; autorisation_zoom_roulette = 0; };
  253.     document.getElementById(id_cadre_miniature).appendChild(rathurmapminiature);
  254.     imgminiature = document.createElement("img");
  255.     imgminiature.src = dossier_zoom_[0]+nom_fichier_image_map.replace("<X>","1").replace("<Y>","1").replace("<Z>","0");
  256.     imgminiature.style.position = "absolute";
  257.     imgminiature.style.left = "0";
  258.     imgminiature.style.top = "0";
  259.     imgminiature.style.width = largeur_cadre_miniature+"px";
  260.     imgminiature.style.height = hauteur_cadre_miniature+"px";
  261.     document.getElementById("rathurmapminiature").appendChild(imgminiature);
  262.     cadreminiature = document.createElement("div");
  263.     cadreminiature.style.position = "absolute";
  264.     cadreminiature.style.left = "0";
  265.     cadreminiature.style.top = "0";
  266.     cadreminiature.style.border = "1px solid "+couleur_cadre_zone_miniature;
  267.     cadreminiature.style.width = (largeur_cadre_miniature-diff_border)+"px";
  268.     cadreminiature.style.height = (hauteur_cadre_miniature-diff_border)+"px";
  269.     cadreminiature.style.cursor = "move";
  270.     cadreminiature.style.boxShadow = "0 0 5px #000";
  271.     cadreminiature.style.backgroundImage = "url(images/spacer.gif)";
  272.     cadreminiature.style.backgroundRepeat = "repeat";
  273.     cadreminiature.onmousedown = function() { init_drag_miniature(); return false; };
  274.     cadreminiature.onmouseup = function() { end_drag_miniature(); };
  275.     document.getElementById("rathurmapminiature").appendChild(cadreminiature);
  276.     nomajmap = 0;
  277.     if (coords_map[0])
  278.     {
  279.         nomajmap = 1;
  280.         for (i=0; i<coords_map[0]*1; i++)
  281.             zoom_de(1);
  282.         nomajmap = 0;
  283.         zoom[coords_map[0]*1].style.left = coords_map[1]*1+"px";
  284.         zoom[coords_map[0]*1].style.top = coords_map[2]*1+"px";
  285.         gotoleft_ancien = coords_map[1]*1;
  286.         gotoleft = gotoleft_ancien;
  287.         gototop_ancien = coords_map[2]*1;
  288.         gototop = gototop_ancien;
  289.         verif_pas_trop_loin();
  290.         ajustement_cadre_miniature();
  291.         maj_images();
  292.     }
  293.     epurer();
  294. }
  295. onload = function() { init_map(); };
  296. nav = navigator.appName;
  297. if (nav=="Microsoft Internet Explorer")
  298.     diff_border = 0;
  299. else
  300.     diff_border = 2;
  301. zoom = new Array();
  302. autorisation_zoom_roulette = 0;
  303. imgbg = new Array();
  304. zoom_surcouche = new Array();
  305. couche_pcto = new Array();
  306. function generer_zoom(nb)
  307. {
  308.     zoom[nb] = document.createElement("div");
  309.     zoom[nb].id = "zoom"+nb;
  310.     zoom[nb].style.display = "none";
  311.     zoom[nb].style.position = "absolute";
  312.     zoom[nb].style.width = largeur_totale_zoom_[nb]+"px";
  313.     zoom[nb].style.height = hauteur_totale_zoom_[nb]+"px";
  314.     zoom[nb].style.left = (largeur_cadre_map - largeur_totale_zoom_[nb])/2+"px";
  315.     zoom[nb].style.top = (hauteur_cadre_map - hauteur_totale_zoom_[nb])/2+"px";
  316.     imgbg[nb] = document.createElement("img");
  317.     imgbg[nb].src = dossier_zoom_[0]+nom_fichier_image_map.replace("<X>","1").replace("<Y>","1").replace("<Z>","0");
  318.     imgbg[nb].style.position = "absolute";
  319.     imgbg[nb].style.left = "0";
  320.     imgbg[nb].style.top = "0";
  321.     imgbg[nb].style.width = largeur_totale_zoom_[nb]+"px";
  322.     imgbg[nb].style.height = hauteur_totale_zoom_[nb]+"px";
  323.     zoom[nb].appendChild(imgbg[nb]);
  324.     document.getElementById("rathurmap").appendChild(zoom[nb]);
  325.     zoom_surcouche[nb] = document.createElement("div");
  326.     zoom_surcouche[nb].id = "zoom_surcouche"+nb;
  327.     zoom_surcouche[nb].style.display = affichage_surcouche_par_defaut;
  328.     zoom_surcouche[nb].style.position = "absolute";
  329.     zoom_surcouche[nb].style.width = largeur_totale_zoom_[nb]+"px";
  330.     zoom_surcouche[nb].style.height = hauteur_totale_zoom_[nb]+"px";
  331.     zoom_surcouche[nb].style.left = "0";
  332.     zoom_surcouche[nb].style.top = "0";
  333.     zoom_surcouche[nb].style.zIndex = "1000";
  334.     document.getElementById("zoom"+nb).appendChild(zoom_surcouche[nb]);
  335.     for (i=0; i<picto.length; i++)
  336.     {
  337.         if (!couche_pcto[picto[i][0]])
  338.             couche_pcto[picto[i][0]] = new Array();
  339.         if (!couche_pcto[picto[i][0]][nb])
  340.         {
  341.             couche_pcto[picto[i][0]][nb] = document.createElement("div");
  342.             couche_pcto[picto[i][0]][nb].style.position = "absolute";
  343.             couche_pcto[picto[i][0]][nb].style.zIndex = "1001"; // "1002" pour passer les pictos au dessus du cache de drag, sinon "1001".
  344.             couche_pcto[picto[i][0]][nb].style.display = affichage_pictos_par_defaut;
  345.             document.getElementById("zoom"+nb).appendChild(couche_pcto[picto[i][0]][nb]);
  346.         }
  347.         a = document.createElement("a");
  348.         if (picto[i][6])
  349.         {
  350.             a.href = picto[i][6];
  351.             a.className = "lien_oui";
  352.             a.style.cursor = "pointer";
  353.             if (picto[i][7])
  354.             {
  355.                 a.title = picto[i][7];
  356.                 a.alt = picto[i][7];
  357.             }
  358.         }
  359.         else
  360.         {
  361.             a.className = "lien_non";
  362.             a.style.cursor = "default";
  363.         }
  364.         pcto = document.createElement("img");
  365.         pcto.src = dossier_pictos+picto[i][1];
  366.         pcto.style.position = "absolute";
  367.         pcto.style.left = Math.round(picto[i][2]*largeur_totale_zoom_[nb]+picto[i][4])+"px";
  368.         pcto.style.top = Math.round(picto[i][3]*hauteur_totale_zoom_[nb]+picto[i][5])+"px";
  369.         if (picto[i][6])
  370.             pcto.className = "imglien_oui";
  371.         else
  372.             pcto.className = "imglien_non";
  373.         if (picto[i][7])
  374.         {
  375.             pcto.title = picto[i][7];
  376.             pcto.alt = picto[i][7];
  377.         }
  378.        
  379.         pcto.onload = function() {  };
  380.         pcto.onerror = function() {  };
  381.         a.appendChild(pcto);
  382.         couche_pcto[picto[i][0]][nb].appendChild(a);
  383.     }
  384. }
  385. onmouseup = function() { end_drag_map(); end_drag_miniature(); };
  386. function init_drag_map()
  387. {
  388.     x_curseur_debut = x_curseur;
  389.     y_curseur_debut = y_curseur;
  390.     x_map_debut = zoom[niveau_zoom].style.left.replace("px","")*1;
  391.     y_map_debut = zoom[niveau_zoom].style.top.replace("px","")*1;
  392.     autorisation_drag_map = 1;
  393.     drag_map();
  394.     return false;
  395. }
  396. function drag_map()
  397. {
  398.     if (autorisation_drag_map == 1 && pas_trop_loin == 1)
  399.     {
  400.         difference_x = x_curseur-x_curseur_debut;
  401.         difference_y = y_curseur-y_curseur_debut;
  402.         zoom[niveau_zoom].style.left = x_map_debut+difference_x+"px";
  403.         zoom[niveau_zoom].style.top = y_map_debut+difference_y+"px";
  404.         verif_pas_trop_loin();
  405.         ajustement_cadre_miniature();
  406.         setTimeout("drag_map()",100);
  407.     }
  408. }
  409. function end_drag_map()
  410. {
  411.     if (autorisation_drag_map == 1)
  412.     {
  413.         gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  414.         gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  415.         autorisation_drag_map = 0;
  416.         maj_images();
  417.     }
  418.     autorisation_drag_map = 0;
  419. }
  420. function init_drag_miniature()
  421. {
  422.     x_curseur_debut = x_curseur;
  423.     y_curseur_debut = y_curseur;
  424.     x_map_debut = zoom[niveau_zoom].style.left.replace("px","")*1;
  425.     y_map_debut = zoom[niveau_zoom].style.top.replace("px","")*1;
  426.     autorisation_drag_map = 1;
  427.     drag_miniature();
  428.     return false;
  429. }
  430. function drag_miniature()
  431. {
  432.     if (autorisation_drag_map == 1 && pas_trop_loin == 1)
  433.     {
  434.         difference_x = x_curseur-x_curseur_debut;
  435.         difference_y = y_curseur-y_curseur_debut;
  436.         zoom[niveau_zoom].style.left = x_map_debut-difference_x/(ratio_largeur_map*ratio_largeur_miniature)+"px";
  437.         zoom[niveau_zoom].style.top = y_map_debut-difference_y/(ratio_hauteur_map*ratio_hauteur_miniature)+"px";
  438.         verif_pas_trop_loin();
  439.         ajustement_cadre_miniature();
  440.         setTimeout("drag_miniature()",100);
  441.     }
  442. }
  443. function end_drag_miniature()
  444. {
  445.     if (autorisation_drag_map == 1)
  446.     {
  447.         gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  448.         gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  449.         autorisation_drag_map = 0;
  450.         maj_images();
  451.     }
  452.     autorisation_drag_map = 0;
  453. }
  454. function position(e)
  455. {
  456.     x_curseur = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x;
  457.     y_curseur = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y;
  458. }
  459. if(navigator.appName.substring(0,3) == "Net")
  460.     document.captureEvents(Event.MOUSEMOVE);
  461. document.onmousemove = position;
  462. function zoom_de(nb)
  463. {
  464.     if (dossier_zoom_[niveau_zoom+nb])
  465.     {
  466.         zoom[niveau_zoom].style.display = "none";
  467.         if (autorisation_zoom_roulette == 1 && zoom_miniature == 0)
  468.         {
  469.             position_absolute_map_x = recuperer_position(document.getElementById("rathurmap"))[0];
  470.             position_absolute_map_y = recuperer_position(document.getElementById("rathurmap"))[1];
  471.             position_curseur_sur_map_x = x_curseur-position_absolute_map_x;
  472.             position_curseur_sur_map_y = y_curseur-position_absolute_map_y;
  473.             position_curseur_sur_map_x_par_rapport_milieu = largeur_cadre_map/2-position_curseur_sur_map_x;
  474.             position_curseur_sur_map_y_par_rapport_milieu = hauteur_cadre_map/2-position_curseur_sur_map_y;
  475.         }
  476.         else
  477.         {
  478.             position_curseur_sur_map_x_par_rapport_milieu = 0;
  479.             position_curseur_sur_map_y_par_rapport_milieu = 0;
  480.         }
  481.         gauche_ancien = zoom[niveau_zoom].style.left.replace("px","")*1+position_curseur_sur_map_x_par_rapport_milieu;
  482.         haut_ancien = zoom[niveau_zoom].style.top.replace("px","")*1+position_curseur_sur_map_y_par_rapport_milieu;
  483.         largeur_ancien = zoom[niveau_zoom].style.width.replace("px","")*1;
  484.         hauteur_ancien = zoom[niveau_zoom].style.height.replace("px","")*1;
  485.         ratio_gauche_ancien = (-gauche_ancien+(largeur_cadre_map/2))/largeur_ancien;
  486.         ratio_haut_ancien = (-haut_ancien+(hauteur_cadre_map/2))/hauteur_ancien;
  487.         niveau_zoom += nb;
  488.         largeur_nouveau = zoom[niveau_zoom].style.width.replace("px","")*1;
  489.         hauteur_nouveau = zoom[niveau_zoom].style.height.replace("px","")*1;
  490.         zoom[niveau_zoom].style.left = (-largeur_nouveau*ratio_gauche_ancien+largeur_cadre_map/2-position_curseur_sur_map_x_par_rapport_milieu)+"px";
  491.         zoom[niveau_zoom].style.top = (-hauteur_nouveau*ratio_haut_ancien+hauteur_cadre_map/2-position_curseur_sur_map_y_par_rapport_milieu)+"px";
  492.         zoom[niveau_zoom].style.display = "block";
  493.         zoom_intermediaire();
  494.         if (niveau_zoom==0 && authoriser_centre==0)
  495.             rathurmap.style.cursor = "default";
  496.         else
  497.             rathurmap.style.cursor = "move";
  498.     }
  499.     if (!dossier_zoom_[niveau_zoom+nb] && niveau_zoom == 0)
  500.     {
  501.         zoom_mini();
  502.     }
  503.     if (!dossier_zoom_[niveau_zoom+nb] && niveau_zoom > 0)
  504.     {
  505.         zoom_maxi();
  506.     }
  507.     if (nomajmap != 1)
  508.         maj_images();
  509.     verif_pas_trop_loin();
  510.     ajustement_cadre_miniature();
  511.     gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  512.     gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  513.     maj_niveau_zoom();
  514. }
  515. function zoom_vers(nb)
  516. {
  517.     diff_zoom = nb-niveau_zoom;
  518.     nb_zoom = Math.abs(diff_zoom);
  519.     if (nb_zoom==diff_zoom)
  520.         sens_zoom = 1;
  521.     else
  522.         sens_zoom = -1;
  523.     for (i=0; i<nb_zoom; i++)
  524.         setTimeout("zoom_de("+sens_zoom+")",i*100);
  525. }
  526. gotomapencours = 0;
  527. function go_bouger(xplus,yplus)
  528. {
  529.     if (autorisation_bouger == 1)
  530.     {
  531.         gotoleft = zoom[niveau_zoom].style.left.replace("px","")*1+xplus*1;
  532.         gototop = zoom[niveau_zoom].style.top.replace("px","")*1+yplus*1;
  533.         gotomapencours = 1;
  534.         gotomap();
  535.         setTimeout("go_bouger("+xplus+","+yplus+")",100);
  536.     }
  537. }
  538. function go_bouger_au_curseur()
  539. {
  540.     position_absolute_map_x = recuperer_position(document.getElementById("rathurmap"))[0];
  541.     position_absolute_map_y = recuperer_position(document.getElementById("rathurmap"))[1];
  542.     position_curseur_sur_map_x = x_curseur-position_absolute_map_x;
  543.     position_curseur_sur_map_y = y_curseur-position_absolute_map_y;
  544.     position_curseur_sur_map_x_par_rapport_milieu = largeur_cadre_map/2-position_curseur_sur_map_x;
  545.     position_curseur_sur_map_y_par_rapport_milieu = hauteur_cadre_map/2-position_curseur_sur_map_y;
  546.     start_bouger(position_curseur_sur_map_x_par_rapport_milieu,position_curseur_sur_map_y_par_rapport_milieu);
  547.     stop_bouger();
  548. }
  549. autorisation_bouger = 0;
  550. function stop_bouger()
  551. {
  552.     autorisation_bouger = 0;
  553. }
  554. function start_bouger(xplus,yplus)
  555. {
  556.     autorisation_bouger = 1;
  557.     go_bouger(xplus,yplus);
  558. }
  559. pas_trop_loin = 1;
  560. function gotomap()
  561. {
  562.     if (pas_trop_loin == 1)
  563.     {
  564.         if (Math.abs(Math.round(gotoleft)-Math.round(gotoleft_ancien))>1 || Math.abs(Math.round(gototop)-Math.round(gototop_ancien))>1)
  565.         {
  566.             gotoleft_ancien = Math.round(gotoleft_ancien+(gotoleft-gotoleft_ancien)/3);
  567.             gototop_ancien = Math.round(gototop_ancien+(gototop-gototop_ancien)/3);
  568.             zoom[niveau_zoom].style.left = gotoleft_ancien+"px";
  569.             zoom[niveau_zoom].style.top = gototop_ancien+"px";
  570.             zobgotomap = window.setTimeout("gotomap()",100);
  571.         }
  572.         else
  573.         {
  574.             gotomapencours = 0;
  575.             window.clearTimeout(zobgotomap);
  576.             maj_images();
  577.         }
  578.         verif_pas_trop_loin();
  579.         ajustement_cadre_miniature();
  580.     }
  581.     else
  582.     {
  583.         gotomapencours = 0;
  584.         window.clearTimeout(zobgotomap);
  585.         maj_images();
  586.     }
  587. }
  588. function verif_pas_trop_loin()
  589. {
  590.     if (authoriser_centre == 1)
  591.     {
  592.         if (zoom[niveau_zoom].style.left.replace("px","")*1>largeur_cadre_map/2)
  593.         {
  594.             zoom[niveau_zoom].style.left = (largeur_cadre_map-1)/2+"px";
  595.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  596.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  597.         }
  598.         if ((zoom[niveau_zoom].style.left.replace("px","")*1+zoom[niveau_zoom].style.width.replace("px","")*1)<=(largeur_cadre_map/2))
  599.         {
  600.             zoom[niveau_zoom].style.left = (-zoom[niveau_zoom].style.width.replace("px","")*1+largeur_cadre_map/2+0)+"px";
  601.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  602.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  603.         }
  604.         if (zoom[niveau_zoom].style.top.replace("px","")*1>hauteur_cadre_map/2)
  605.         {
  606.             zoom[niveau_zoom].style.top = (hauteur_cadre_map/2-1)+"px";
  607.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  608.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  609.         }
  610.         if ((zoom[niveau_zoom].style.top.replace("px","")*1+zoom[niveau_zoom].style.height.replace("px","")*1)<=(hauteur_cadre_map/2))
  611.         {
  612.             zoom[niveau_zoom].style.top = (-zoom[niveau_zoom].style.height.replace("px","")*1+hauteur_cadre_map/2+0)+"px";
  613.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  614.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  615.         }
  616.     }
  617.     else
  618.     {
  619.         if (zoom[niveau_zoom].style.left.replace("px","")*1>0)
  620.         {
  621.             zoom[niveau_zoom].style.left = (0-1)+"px";
  622.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  623.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  624.         }
  625.         if ((zoom[niveau_zoom].style.left.replace("px","")*1+zoom[niveau_zoom].style.width.replace("px","")*1)<=(largeur_cadre_map))
  626.         {
  627.             zoom[niveau_zoom].style.left = (-zoom[niveau_zoom].style.width.replace("px","")*1+largeur_cadre_map+0)+"px";
  628.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  629.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  630.         }
  631.         if (zoom[niveau_zoom].style.top.replace("px","")*1>0)
  632.         {
  633.             zoom[niveau_zoom].style.top = (0-1)+"px";
  634.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  635.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  636.         }
  637.         if ((zoom[niveau_zoom].style.top.replace("px","")*1+zoom[niveau_zoom].style.height.replace("px","")*1)<=(hauteur_cadre_map))
  638.         {
  639.             zoom[niveau_zoom].style.top = (-zoom[niveau_zoom].style.height.replace("px","")*1+hauteur_cadre_map+0)+"px";
  640.             gotoleft = gotoleft_ancien = zoom[niveau_zoom].style.left.replace("px","")*1;
  641.             gototop = gototop_ancien = zoom[niveau_zoom].style.top.replace("px","")*1;
  642.         }
  643.     }
  644. }
  645. ratio_largeur_miniature = largeur_cadre_miniature/largeur_cadre_map;
  646. ratio_hauteur_miniature = hauteur_cadre_miniature/hauteur_cadre_map;
  647. function ajustement_cadre_miniature()
  648. {
  649.     cadreminiature.style.width = (largeur_cadre_miniature*largeur_cadre_map/zoom[niveau_zoom].style.width.replace("px","")*1-diff_border)+"px";
  650.     cadreminiature.style.height = (hauteur_cadre_miniature*hauteur_cadre_map/zoom[niveau_zoom].style.height.replace("px","")*1-diff_border)+"px";
  651.     ratio_largeur_map = largeur_cadre_map/zoom[niveau_zoom].style.width.replace("px","")*1;
  652.     ratio_hauteur_map = hauteur_cadre_map/zoom[niveau_zoom].style.height.replace("px","")*1;
  653.     gauche_map = zoom[niveau_zoom].style.left.replace("px","")*1;
  654.     gauche_zone = -gauche_map*ratio_largeur_miniature*ratio_largeur_map;
  655.     haut_map = zoom[niveau_zoom].style.top.replace("px","")*1;
  656.     haut_zone = -haut_map*ratio_hauteur_miniature*ratio_hauteur_map;
  657.     cadreminiature.style.left = gauche_zone+"px";
  658.     cadreminiature.style.top = haut_zone+"px";
  659. }
  660. images_affichees = new Array();
  661. images_restantes_a_charger = 0;
  662. images_totales_restantes_a_charger = 0;
  663. nombre_erreurs_chargement = 0;
  664. function maj_images()
  665. {
  666.     gauche = zoom[niveau_zoom].style.left.replace("px","")*1;
  667.     haut = zoom[niveau_zoom].style.top.replace("px","")*1;
  668.     largeur_cadre_map = largeur_cadre_map;
  669.     hauteur_cadre_map = hauteur_cadre_map;
  670.     largeur_images = largeur_images_zoom_[niveau_zoom];
  671.     hauteur_images = hauteur_images_zoom_[niveau_zoom];
  672.     premiere_colone = Math.floor(Math.abs(gauche)/largeur_images)+1;
  673.     premiere_ligne = Math.floor(Math.abs(haut)/hauteur_images)+1;
  674.     nombre_colones = Math.ceil(largeur_cadre_map/largeur_images);
  675.     nombre_lignes = Math.ceil(hauteur_cadre_map/hauteur_images);
  676.     for (x=premiere_colone; x<=(premiere_colone+nombre_colones); x++)
  677.     {
  678.         for (y=premiere_ligne; y<=(premiere_ligne+nombre_lignes); y++)
  679.         {
  680.             imgzone_url = dossier_zoom_[niveau_zoom]+nom_fichier_image_map.replace("<X>",x).replace("<Y>",y).replace("<Z>",niveau_zoom);
  681.             imgsurcouche_url = dossier_zoom_[niveau_zoom]+nom_fichier_image_surcouche.replace("<X>",x).replace("<Y>",y).replace("<Z>",niveau_zoom);
  682.             if (!images_affichees[imgzone_url] && x<=Math.ceil(largeur_totale_zoom_[niveau_zoom]/largeur_images_zoom_[niveau_zoom]) && y<=Math.ceil(hauteur_totale_zoom_[niveau_zoom]/hauteur_images_zoom_[niveau_zoom]))
  683.             {
  684.                 imgzone = document.createElement("img");
  685.                 imgzone.src = imgzone_url;
  686.                 imgzone.style.position = "absolute";
  687.                 imgzone.style.left = (x-1)*largeur_images+"px";
  688.                 imgzone.style.top = (y-1)*hauteur_images+"px";
  689.                 images_restantes_a_charger++;
  690.                 images_totales_restantes_a_charger++;
  691.                
  692.                 imgzone.onload = function() {  images_restantes_a_charger--; };
  693.                 imgzone.onerror = function() { nombre_erreurs_chargement++; images_restantes_a_charger--; };
  694.                 zoom[niveau_zoom].appendChild(imgzone);
  695.                 images_affichees[imgzone_url] = "zob";
  696.                 imgsurcouche = document.createElement("img");
  697.                 imgsurcouche.src = imgsurcouche_url;
  698.                 imgsurcouche.style.position = "absolute";
  699.                 imgsurcouche.style.left = (x-1)*largeur_images+"px";
  700.                 imgsurcouche.style.top = (y-1)*hauteur_images+"px";
  701.                 if (niveau_zoom > 0)
  702.                 {
  703.                     imgsurcouche.style.width = "200px";
  704.                     imgsurcouche.style.height = "200px";
  705.                 }
  706.                 images_restantes_a_charger++;
  707.                 images_totales_restantes_a_charger++;
  708.                
  709.                 imgsurcouche.onload = function() {  images_restantes_a_charger--; };
  710.                 imgsurcouche.onerror = function() { nombre_erreurs_chargement++; images_restantes_a_charger--; };
  711.                 zoom_surcouche[niveau_zoom].appendChild(imgsurcouche);
  712.                 images_affichees[imgsurcouche_url] = "zob";
  713.                 if (ie6 == 0){
  714.                     document.getElementById("images_restantes_a_charger").style.display = "block";
  715.                     document.getElementById("affichage_prct").style.display = "block";
  716.                     rathurmap.style.cursor = "wait";
  717.                     fonction_images_restantes_a_charger();
  718.                 }
  719.             }
  720.         }
  721.     }
  722.     if (initcoords_map == 1)
  723.         initcoords_map = 0;
  724.     else
  725.         document.location.href = document.location.href.split('#')[0]+"#"+niveau_zoom+";"+gauche+";"+haut;
  726. }
  727. function fonction_images_restantes_a_charger()
  728. {
  729.     if (images_restantes_a_charger > 0)
  730.     {
  731.         pourcent_charge = (1-images_restantes_a_charger/(images_totales_restantes_a_charger+0.07))*100;
  732.         document.getElementById("affichage_prct").innerHTML = "Chargement zones<br />"+(images_totales_restantes_a_charger-images_restantes_a_charger)+"/"+images_totales_restantes_a_charger+" ("+Math.round(pourcent_charge*10)/10+"%)";
  733.         setTimeout("fonction_images_restantes_a_charger()",100);
  734.     }
  735.     else
  736.     {
  737.         document.getElementById("images_restantes_a_charger").style.display = "none";
  738.         document.getElementById("affichage_prct").style.display = "none";
  739.         if (niveau_zoom==0 && authoriser_centre==0)
  740.             rathurmap.style.cursor = "default";
  741.         else
  742.             rathurmap.style.cursor = "move";
  743.         images_totales_restantes_a_charger = 0;
  744.     }
  745. }
  746. last_position_gauche = 0;
  747. last_position_haut = 0;
  748. function recuperer_position(obj)
  749. {
  750.     position_gauche = 0;
  751.     position_haut = 0;
  752.     nav = navigator.appName;
  753.     while(obj)
  754.     {
  755.         position_gauche += obj.offsetLeft;
  756.         if (obj.offsetLeft>0 && nav=="Microsoft Internet Explorer")
  757.             last_position_gauche = obj.offsetLeft;
  758.         position_haut += obj.offsetTop;
  759.         if (obj.offsetTop>0 && nav=="Microsoft Internet Explorer")
  760.             last_position_haut = obj.offsetTop;
  761.         obj = obj.offsetParent;
  762.     }
  763.     position_array = new Array((position_gauche-last_position_gauche),(position_haut-last_position_haut));
  764.     return position_array;
  765. }
  766. function afficher_masquer_surcouche()
  767. {
  768.     if (zoom_surcouche[niveau_zoom].style.display == "block")
  769.     {
  770.         for (i=0; i<dossier_zoom_.length; i++)
  771.             zoom_surcouche[i].style.display = "none";
  772.     }
  773.     else
  774.     {
  775.         for (i=0; i<dossier_zoom_.length; i++)
  776.             zoom_surcouche[i].style.display = "block";
  777.     }
  778. }
  779. function afficher_masquer_pictos(groupe)
  780. {
  781.     if (couche_pcto[groupe][niveau_zoom].style.display == "block")
  782.     {
  783.         for (i=0; i<dossier_zoom_.length; i++)
  784.             couche_pcto[groupe][i].style.display = "none";
  785.     }
  786.     else
  787.     {
  788.         for (i=0; i<dossier_zoom_.length; i++)
  789.             couche_pcto[groupe][i].style.display = "block";
  790.     }
  791. }
  792. function afficher_surcouche()
  793. {
  794.     if (zoom_surcouche[niveau_zoom].style.display == "none")
  795.     {
  796.    
  797.         for (i=0; i<dossier_zoom_.length; i++)
  798.             zoom_surcouche[i].style.display = "block";
  799.     }
  800.    
  801. }
  802. function afficher_pictos(groupe)
  803. {
  804.     if (couche_pcto[groupe][niveau_zoom].style.display == "none")
  805.     {
  806.    
  807.         for (i=0; i<dossier_zoom_.length; i++)
  808.             couche_pcto[groupe][i].style.display = "block";
  809.     }
  810.    
  811. }
  812.  
  813. function masquer_surcouche()
  814. {
  815.     if (zoom_surcouche[niveau_zoom].style.display == "block")
  816.     {
  817.         for (i=0; i<dossier_zoom_.length; i++)
  818.             zoom_surcouche[i].style.display = "none";
  819.     }
  820.    
  821. }
  822. function masquer_pictos(groupe)
  823. {
  824.     if (couche_pcto[groupe][niveau_zoom].style.display == "block")
  825.     {
  826.         for (i=0; i<dossier_zoom_.length; i++)
  827.             couche_pcto[groupe][i].style.display = "none";
  828.     }
  829.    
  830. }
  831.  
  832. ////////////////////////////////////////////////////
  833. // Toute ce bordel c'est pas moi qui l'ai codé =P //
  834. ////////////////////////////////////////////////////
  835. /** This is high-level function.
  836.  * It must react to delta being more/less than zero.
  837.  */
  838. function handle(delta) {
  839.         if (delta < 0)
  840.             zoom_de(-1);
  841.         else
  842.             zoom_de(1);
  843. }
  844. /** Event handler for mouse wheel event.
  845.  */
  846. function wheel(event){
  847.     if (autorisation_zoom_roulette == 1)
  848.     {
  849.             var delta = 0;
  850.             if (!event) /* For IE. */
  851.                     event = window.event;
  852.             if (event.wheelDelta) { /* IE/Opera. */
  853.                     delta = event.wheelDelta/120;
  854.                     /** In Opera 9, delta differs in sign as compared to IE.
  855.                      */
  856.                     if (window.opera)
  857.                             delta = -delta;
  858.             } else if (event.detail) { /** Mozilla case. */
  859.                     /** In Mozilla, sign of delta is different than in IE.
  860.                      * Also, delta is multiple of 3.
  861.                      */
  862.                     delta = -event.detail/3;
  863.             }
  864.             /** If delta is nonzero, handle it.
  865.              * Basically, delta is now positive if wheel was scrolled up,
  866.              * and negative, if wheel was scrolled down.
  867.              */
  868.             if (delta)
  869.                     handle(delta);
  870.             /** Prevent default actions caused by mouse wheel.
  871.              * That might be ugly, but we handle scrolls somehow
  872.              * anyway, so don't bother here..
  873.              */
  874.             if (event.preventDefault)
  875.                     event.preventDefault();
  876.         event.returnValue = false;
  877.     }
  878. }
  879. /** Initialization code.
  880.  * If you use your own event management code, change it as required.
  881.  */
  882. if (window.addEventListener)
  883.         /** DOMMouseScroll is for mozilla. */
  884.         window.addEventListener('DOMMouseScroll', wheel, false);
  885. /** IE/Opera. */
  886. window.onmousewheel = document.onmousewheel = wheel;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement