function $(id) {
   if (document.getElementById(id))
      return document.getElementById(id);
   else return false;
}
   function getClientSize() {
     var myWidth = 0, myHeight = 0;
     if( typeof( window.innerWidth ) == 'number' ) {
       //Non-IE
       myWidth = window.innerWidth;
       myHeight = window.innerHeight;
     } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
       //IE 6+ in 'standards compliant mode'
       myWidth = document.documentElement.clientWidth;
       myHeight = document.documentElement.clientHeight;
     } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
       //IE 4 compatible
       myWidth = document.body.clientWidth;
       myHeight = document.body.clientHeight;
     }
     return [ myWidth, myHeight ];
   }

   function getScrollXY() {
     var scrOfX = 0, scrOfY = 0;
     if( typeof( window.pageYOffset ) == 'number' ) {
       //Netscape compliant
       scrOfY = window.pageYOffset;
       scrOfX = window.pageXOffset;
     } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
       //DOM compliant
       scrOfY = document.body.scrollTop;
       scrOfX = document.body.scrollLeft;
     } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
       //IE6 standards compliant mode
       scrOfY = document.documentElement.scrollTop;
       scrOfX = document.documentElement.scrollLeft;
     }
     return [ scrOfX, scrOfY ];
   }


   var IEfader = (navigator.appName == "Microsoft Internet Explorer");

   var fadings = new Array();
   var edition_active = false;

   function CheckEdition() {
      if (document.getElementById("msg_admin"))
         document.getElementById("msg_admin").innerHTML = "&nbsp;";
      if (edition_active) {
         if (est_admin) {
            alert("Vous devriez finir ce que vous avez commencé !\nEnregistrez ou annulez vos modifications puis ré-essayez.");
            document.getElementById("msg_admin").innerHTML = "Finissez ou annulez ce que vous êtes en train de faire.";
         }
         return false;
      }
      else {
         edition_active = true;
         return true;
      }
   }

   function fade_in(id,op,max) {
     if (!fadings[id] || fadings[id] == "") fadings[id] = "in";
     if (fadings[id] == "in") {
      if (element = document.getElementById(id)) {
          if (op==0) element.style.visibility = "visible";
          if (op>max) op=max;
          if (IEfader)
            element.style.filter = "alpha(opacity="+op+")";
          else {
            element.style.opacity = (op / 100);
            element.style.MozOpacity = (op / 100);
          }
          if (op < max) setTimeout('fade_in("'+id+'",'+(op+15)+','+max+');',75);
          else fadings[id] = "";
      }
     }
     else { //sinon attendre...
        setTimeout('fade_in("'+id+'",'+op+','+max+');',75);
     }
    }

    function fade_out(id,op,min) {
      if (!fadings[id] || fadings[id] == "") fadings[id] = "out";
      if (fadings[id] == "out") {
       if (element = document.getElementById(id)) {
          if (op < min) op=min;
          if (IEfader)
            element.style.filter = "alpha(opacity="+op+")";
          else {
            element.style.opacity = (op / 100);
            element.style.MozOpacity = (op / 100);
          }

          if (op==0) element.style.visibility = "hidden";

          if (op>min) setTimeout('fade_out("'+id+'",'+(op-15)+','+min+');',75);
          else fadings[id] = "";
       }
       else { //sinon attendre...
         setTimeout('fade_out("'+id+'",'+op+','+min+');',75);
      }
     }
   }


   /* ------------------  Fonctions de fenêtres "génériques"..  ------ */
    function Ouvrir(id) {
      if (!IEfader)
        fade_in(id,0,100);
      document.getElementById(id).style.display = "block";
    }

    function Fermer(id) {
      if (!IEfader)
        fade_out(id,70,0);
      else document.getElementById(id).style.display = "none";
    }


/* ------------------  Fonction de base pour capture / drag de la souris..  ------ */

   var nowX = 0;
   var nowY = 0;
   var curr_z = 200;

   var sourisX1 = 0;
   var sourisY1 = 0;
   var objX1 = 0;
   var objY1 = 0;
   var initialise = false;

   function getMouseXY(e) {
      var posX = 0;
      var posY = 0;
      var e = (!e) ? window.event : e;
      if (e.pageX || e.pageY) {
         posX = e.pageX;
         posY = e.pageY;
      }
      else if (e.clientX || e.clientY) {
         if (document.body.scrollLeft || document.body.scrollTop) {
            posX = e.clientX + document.body.scrollLeft;
            posY = e.clientY + document.body.scrollTop;
         }
         else {
            posX = e.clientX + document.documentElement.scrollLeft;
            posY = e.clientY + document.documentElement.scrollTop;
         }
      }
      nowX = posX;
      nowY = posY;
   }

   /* onmousemove appelle toujours getMouseXY, */
   /* pour s'assurer que lorsqu'on commence un drag, on a une valeur de nowX et nowY valide */
   document.onmouseup = function() {
       document.onmousemove = function(e) { getMouseXY(e); }
   }
   document.onmousemove = function(e) { getMouseXY(e); }

    function drag(id) {
       obj = document.getElementById(id);
       obj.style.zIndex = curr_z++;
       /* initialise les positions relatives au début du drag */
       sourisX1 = nowX;
       sourisY1 = nowY;
       objX1 = obj.offsetLeft;
       objY1 = obj.offsetTop;
       /* redéfinis la fonction temporairement (jusqu'à "onmouseup") */
       document.onmousemove = function(e) {
           getMouseXY(e);
           newX = (objX1-sourisX1+nowX);
           newY = (objY1-sourisY1+nowY);
           obj.style.left = newX+"px";
           obj.style.top = newY+"px";
       }
   }

function ClickFiltre() {
   if (!edition_active) {
      FermeAlbumPhoto(); FermePopup();
   }
}


   /* ------------------  Fin des fonctions de capture de la souris..  ------ */


/* ---------------------------------------------------------------
 *
 *          Fonctions ALBUM PHOTOS
 *
 * -------------------------------------------------------------*/

var album_page_active = "";
var album_photo_active = "";
var album_page_back_admin = "";
var album_photo_back_admin = "";

function AfficheAlbumThumbs(idalbum) {
   if ( document.getElementById('album_pres_thumbs')) {
     //window.scroll(0,0);
     document.getElementById('album_pres_thumbs_titre').innerHTML = document.getElementById('album_titre_page_'+idalbum).innerHTML;

     if (album_page_active != idalbum) {
       // patch pour historique, pas grave puisque bouton non clicable lorsque sélectionné !
        if (album_page_active != "" && document.getElementById('album_thumbs_page_'+album_page_active))
            document.getElementById('album_thumbs_page_'+album_page_active).style.display = "none";
        album_page_active = idalbum;

        if (document.getElementById('album_thumbs_page_'+idalbum)) Ouvrir('album_thumbs_page_'+idalbum);
     }

   }
}
var effacer_photo = false;
function AfficheAlbumPhoto(idphoto) {
  if (!effacer_photo) {
   AjusteFiltre();
   fade_in("overlay_filtre",0,55);
   document.getElementById('overlay_filtre').style.display = 'block';
/*
   if (document.getElementById('album_pres_conteneur').style.display != "block"
       || document.getElementById('album_pres_conteneur').style.visibility == "hidden" )
      Ouvrir('album_pres_conteneur');
*/
   document.getElementById('album_pres_conteneur').style.display = "block";   
   document.getElementById('album_pres_conteneur').style.top = (getScrollXY()[1]+15)+"px";
   document.getElementById('album_pres_conteneur').style.left = (getScrollXY()[0]+15)+"px";

   if ( document.getElementById('album_pres_photo') && document.getElementById('album_photo_src_'+idphoto)) {
     if (album_photo_active != idphoto) {
       /*document.getElementById('album_pres_photo').style.visibility = "hidden";*/
       fade_out('album_pres_photo',10,0);
       album_photo_active = idphoto;

       document.getElementById('album_pres_titre').innerHTML = document.getElementById('album_photo_titre_'+idphoto).innerHTML;
       document.getElementById('album_pres_photo').innerHTML = '<img src="'+document.getElementById('album_photo_src_'+idphoto).innerHTML+'" onmousedown="return false;" ondrag="return false;" />';

       setTimeout("fade_in('album_pres_photo',0,100);",200); // puisque juste l'image, IE AUSSI, donc fade_in sans "ouvrir" ! :)

       document.getElementById('album_pres_contenu').innerHTML = document.getElementById('album_photo_contenu_'+idphoto).innerHTML;
     }
   }
  }
}
function FermeAlbumPhoto() {
   if (document.getElementById('album_pres_conteneur').style.display == "block" ||
    document.getElementById('album_pres_conteneur').style.visibility == "visible") {
      document.getElementById('album_pres_conteneur').style.display = 'none';
      document.getElementById('overlay_filtre').style.display = 'none';
   }

   /*fade_out("overlay_filtre",70,0);*/

   if (document.getElementById('div_modifier_album_photo') && document.getElementById('div_modifier_album_photo').style.display=="block") {
      Annuler('div_modifier_album_photo');
   }
}

   /* ------------------  Fin des fonctions de l'album photo..  ------ */

/* ---------------------------------------------------------------
 *
 *          Fonctions POPUPS
 *
 * -------------------------------------------------------------*/

function Soliste(id) {
   AffichePopup(id);
}

var popup_actif = "";

var ajaxPopup = new Ajax();
var showPopup = function(str) {
   edition_active = false;
   document.getElementById('popup_conteneur').innerHTML = str;
   if (document.getElementById('popup_conteneur').style.display != "block" ||
    document.getElementById('popup_conteneur').style.visibility != "visible") {
      Ouvrir('popup_conteneur');
  }

}

function AffichePopup(id) {
  if (!edition_active)
   if (est_admin || (id != popup_actif)) {

      if (id != "nouveau") ajaxPopup.doGet('popup.php?pop='+id, showPopup);      

      else showPopup('<h2 id="popup_titre">Nouveau</h2><div id="popup_contenu"></div>');
      popup_actif = id;
      
      AjusteFiltre();
      fade_in("overlay_filtre",0,55);
      document.getElementById('overlay_filtre').style.display = 'block';

      //document.getElementById('popup_conteneur').style.display = "block";
      document.getElementById('popup_conteneur').style.top = (getScrollXY()[1]+105)+"px";
      document.getElementById('popup_conteneur').style.left = (getScrollXY()[0]+105)+"px";
   }

   if (id != "nouveau")
     if (document.getElementById('lien_popup')) document.getElementById('lien_popup').innerHTML = '<a href="javascript:Soliste('+document.getElementById('select_popup_voir').value+');">'+document.getElementById('select_popup_voir').options[document.getElementById('select_popup_voir').selectedIndex].text+'</a>';
}

function FermePopup() {
   //document.getElementById('popup_conteneur').style.display = 'none';
   if (document.getElementById('popup_conteneur').style.display == "block" ||
    document.getElementById('popup_conteneur').style.visibility == "visible") {
      fadings['popup_conteneur'] = 'out';
      Fermer('popup_conteneur');
      document.getElementById('overlay_filtre').style.display = 'none';
   }

   /*fade_out("overlay_filtre",70,0);*/
   popup_actif = "";
   if (document.getElementById('div_modifier_popup') && document.getElementById('div_modifier_popup').style.display=="block") {
      Annuler('div_modifier_popup');
   }
}

   /* ------------------  Fin des fonctions des popups..  ------ */


/* ---------------------------------------------------------------
 *
 *          Fonctions du MENU DÉROULANT
 *
 * -------------------------------------------------------------*/

var sm_actif = "aucun";
var sm_ancien = "aucun";

var pompe = 1;              // menu déroulants: contourne des petits problèmes (diff. IE vs FIREFOX)..

var hauteurs = Array();

function Enlever(Sousmenu) {
  if (sm_actif != Sousmenu) {
     document.getElementById(Sousmenu).style.visibility="hidden";
  }
}
function Apparait(Sousmenu) {
  if (Sousmenu != sm_actif) {
    sm_actif = Sousmenu;
    
    for (i = 1; i <= nombre_items_menu; i++) {if (("sm_"+i) != sm_actif) Enlever("sm_"+i);}  
    
    if (Sousmenu != "aucun") {

      /* mettre en commentaire pour enlever l'effet déroulant : */
      if (document.getElementById(Sousmenu).style.visibility != "visible") {
        if (!hauteurs[Sousmenu])
           hauteurs[Sousmenu] = document.getElementById(Sousmenu).scrollHeight;
        maxy = hauteurs[Sousmenu];
        pompe = 15;
        document.getElementById(Sousmenu).style.height = pompe+"px";

        // les vitesse sont différentes selon les navigateurs
        // premier chiffre : milisecondes entre les rafraichissements
        // deuxième chiffre : nombre de pixel qu'on agrandit à chaque rafraichissements
    	 if (IEfader) {
    	    Deroule(Sousmenu,40,30,maxy-2);
       }
       else {
          Deroule(Sousmenu,40,25,maxy);
          fade_in(Sousmenu,50,98);
       }
       /* fin */

        document.getElementById(Sousmenu).style.visibility="visible";
      }
    }
  }
}
function Deroule(Sousmenu,ms,dy,maxy) {
    Numero = Sousmenu;
    milisec = ms;
    deltay = dy+10;
    max = maxy;
    //if (Sousmenu == sm_actif) {
        if ((pompe + dy) >= maxy)
            document.getElementById(Sousmenu).style.height = maxy+"px";
        else {
            pompe = pompe+dy;
            document.getElementById(Sousmenu).style.height = pompe+"px";
            setTimeout("Deroule(Numero,milisec,deltay,max)",milisec);
        }
    //}
}
function Disparait(Sousmenu) {
	sm_actif = "aucun";
   Numero = Sousmenu;
   if (IEfader) {setTimeout("Enlever(Numero)",400);}
		else {setTimeout("Enlever(Numero)",300);}

}

function OverMenu(Sousmenu)	{
    sm_actif = Sousmenu;
}

function OutMenu(Sousmenu) {
	sm_actif = "aucun";
	Numero = Sousmenu;
	if (IEfader) {setTimeout("Enlever(Numero);",1200);}
		else {setTimeout("Enlever(Numero);",900);}

}


function AjusteFiltre() {
   if (filtre = document.getElementById("overlay_filtre")) {
      cl = getClientSize();
      sc = getScrollXY();

      filtre.style.width = (cl[0])+ "px";
      filtre.style.height = (cl[1])+ "px";
      filtre.style.left = (sc[0])+'px';
      filtre.style.top = (sc[1])+'px';

   }
}
window.onresize = function() {
   AjusteFiltre();
}
window.onscroll = function() {
   AjusteFiltre();
}


/* *******************************************************
 *    Fonctions pour AJAX
 *
 * ******************************************************* */

var ajaxContenu = new Ajax();

var showContenu = function(str) {
  edition_active = false;
  document.getElementById("contenu_pages").innerHTML = str;
  if (!IEfader) {
      fadings['contenu_pages'] = "in"; // stop explicitement le fade-out ! :)
      fade_in('contenu_pages',40,100);
  }
  if (document.getElementById('album_premiere_page')) {
    if (album_page_back_admin == "") {
      AfficheAlbumThumbs(document.getElementById('album_premiere_page').innerHTML);
      //AfficheAlbumPhoto(document.getElementById('album_premiere_photo').innerHTML);

    }
    else {
      AfficheAlbumThumbs(album_page_back_admin);
 
      if (album_photo_back_admin != "")
         AfficheAlbumPhoto(album_photo_back_admin);
      album_page_back_admin = "";
      album_photo_back_admin = "";
    }
  }
  effacer_photo = false;
}


function getContenuPatch(s,p) { /* Patch pour l'historique (retour du iframe..) */
   document.title = liste_titres_site[s][p];
   //window.scroll(0,0);

   if (section_active != s) {
      fade_out('sections_image'+alterne_img,80,0);
      alterne_img = (alterne_img+1)%2;
      //document.getElementById('sections_image').style.visibility = "hidden";
      //document.getElementById('sections_image'+alterne_img).src='images/section_'+s+'.jpg';
      //setTimeout("fade_in('sections_image"+alterne_img+"',0,100)",200);
   }

   section_active = s;
   page_active = p;   

   album_page_active = "";
   album_photo_active = "";
   ajaxContenu.doGet('sections_contenu.php?s='+s+'&p='+p, showContenu);
   if (!IEfader) {
      fade_out("contenu_pages",90,20);
   }
}

var alterne_img = 0;

function getContenu(s,p) { 
 if (est_admin || (section_active != s || page_active != p))
  if (CheckEdition()) {
   document.getElementById('iframe_historique').src='patch_historique.php?s='+s+'&p='+p;

   if (!est_admin) {      
      pageTracker._trackPageview(liste_fichiers_pages[s][p]+'.php');
   }
  }

}


var ajaxConcert = new Ajax();

var showConcert = function(str) {
  edition_active = false;
  document.getElementById('concert_presentation').innerHTML = str;
  if (!IEfader) {
      fadings['concert_presentation'] = "in"; // stop explicitement le fade-out ! :)
      fade_in('concert_presentation',40,100);
  }  
}
function getConcert(idconcert) {
 if (est_admin || (idconcert != concert_actif)) 
  if (CheckEdition()) {
      ajaxConcert.doGet('concert.php?c='+idconcert, showConcert);
      concert_actif = idconcert;
      if (!IEfader) {
         fade_out("concert_presentation",90,20);
      }
      if (!est_admin) {
        pageTracker._trackPageview('concert.php');
      }
   }
}
var ajaxSommaire = new Ajax();

var showSommaire = function(str) {
  edition_active = false;
  document.getElementById('saison_sommaire').innerHTML = str;
  if (!IEfader) {
      fadings['saison_sommaire'] = "in"; // stop explicitement le fade-out ! :)
      fade_in('saison_sommaire',40,100);
  }  
}
function getSommaire(idsaison) {
   if (est_admin || (idsaison != saison_active)) {
      ajaxSommaire.doGet('sommaire.php?saison='+idsaison, showSommaire);
      saison_active = idsaison;
      if (!IEfader) {
         fade_out("saison_sommaire",90,20);
      }
      if (!est_admin) {
        pageTracker._trackPageview('sommaire.php');
      }
   }
}






function ChangeOnglet(id) {
   if (!edition_active && document.getElementById('onglet_actif')) {
      ferme = document.getElementById('onglet_actif').innerHTML;
      document.getElementById('onglet_actif').innerHTML = id;
      if (ferme != id) {

         document.getElementById('onglet_'+ferme).style.display = "none";
         document.getElementById('menu_onglet_'+ferme).className = "";
         document.getElementById('menu_onglet_'+id).className = "onglet_selection";
         Ouvrir('onglet_'+id);
      }
   }
}