/* ---------------------------------------------------------------
 *
 *          Fonctions CALENDRIER D'ÉVENEMENTS
 *
 * -------------------------------------------------------------*/
var cal_ev_bg_jour_semaine = '#dddddd';
var cal_ev_bg_jour_fds = '#bbbbbb';
var cal_ev_bg_jour_today = '#2e88aa';
var cal_ev_bg_jour_mouseover = "#4caed8";
var cal_ev_bg_somm_type_hover = "#4caed8";
var cal_ev_affiche_auj = false;
var cal_ev_affiche_auj_timer = 2000;

var check_today = new Date.today().toString('yyyy-MM-dd');
var mois_cal_ev = new Date.today().moveToFirstDayOfMonth();
var mois_nom = "";

var titres_jours_ev = '<div class="cal_ev_nom_jour">D</div><div class="cal_ev_nom_jour">L</div><div class="cal_ev_nom_jour">M</div><div class="cal_ev_nom_jour">M</div><div class="cal_ev_nom_jour">J</div><div class="cal_ev_nom_jour">V</div><div class="cal_ev_nom_jour">S</div>';


var cev_d = new Array();
var cev_c = new Array();
var cev_t = new Array();
var cal_ev_titres_sommaire = new Array();
var cal_ev_mois_presents = new Array();

var cal_ev_aujourdhui = true;

var cal_ev_dispo = true;

var cal_ev_dernier_select = "";
var cal_pres_reaffiche = false;

var sens_cal_ev = 1;
var pompe_cal_ev = 10;
var hauteur_cal_ev = 225;


function DerouleCalEv(ms,dy) {
 if (sens_cal_ev == 1)
  if ((pompe_cal_ev + dy) >= hauteur_cal_ev) {
    $('cal_ev').style.height = hauteur_cal_ev+"px";
    $('cal_ev').style.overflow = "visible";
    $('deroule_cal_ev').innerHTML = "Fermer le calendrier";
  }
  else {
      $('cal_ev').style.overflow = "hidden";
      //alert('DérouleCat = '+pompe_cal_ev);

      //inclure acceleration ou ralentissement...
      if (dy > 10) dy-= 1;
      pompe_cal_ev = pompe_cal_ev + dy;
      $('cal_ev').style.height = pompe_cal_ev+"px";
      setTimeout("DerouleCalEv("+ms+","+dy+");",ms);
  }
}

function EnrouleCalEv(ms,dy) {

 if (sens_cal_ev == 0)
  if ((pompe_cal_ev - dy) <= 0) {
      $('cal_ev').style.display = "none";
      $('cal_ev_titre').style.display = "none";
      $('deroule_cal_ev').innerHTML = "Calendrier des activités";
      //$('deroule_cal_ev').style.backgroundImage = "url(images/Bouton_calendrier.gif)";
      $('deroule_cal_ev').style.display = "block";
  }
  else {
      $('cal_ev').style.overflow = "hidden";
     //alert('EnrouleCat = '+pompe_cat[cat]);
     //
      //inclure acceleration ou ralentissement...
      if (dy < 30) dy+= 3;
      pompe_cal_ev = pompe_cal_ev - dy;
      $('cal_ev').style.height = pompe_cal_ev+"px";
      setTimeout("EnrouleCalEv("+ms+","+dy+");",ms);
  }
}


var onmu_temp = "";
function OuvreCalEv() {
      sens_cal_ev = 1;
      DerouleCalEv(40,30);
      //$('deroule_cal_ev').style.backgroundImage = "url(images/Bouton_calendrier_ouvert.gif)";
      $('deroule_cal_ev').style.display = "none";
      $('cal_ev').style.display = "block";
      $('cal_ev_titre').style.display = "block";
      //$('deroule_cal_ev').innerHTML = "Fermer calendrier";
      /*
      onmu_temp = document.onmouseup;
      document.onmouseup = function () {
         FermeCalEv();
         document.onmouseup = onmu_temp;
      }*/
}
function FermeCalEv() {
      sens_cal_ev = 0;
      EnrouleCalEv(40,20);
      //$('deroule_cal_ev').innerHTML = "Ouvrir calendrier";
}
function AlterneCalEv() {
   if ($('cal_ev').style.display != "block") {
      GetCalEv(0);
   }
   else {
      FermeCalEv()
   }
}

function CalEvSelect(d) {
 if (!edition_active) {
  contenu_ev = "";
  
  if (cev_d[d]) {
      // arrive du calendrier, puisque pas montré dans sommaire anyway..
     $('contenu_pages').innerHTML = '<div id="cal_ev_pres">'+
      '<h1 id="cal_ev_pres_titre" class="titre_pages"></h1>'+
      '<div id="cal_ev_pres_contenu"><div id="cal_ev_pres_col1" class="cal_ev_pres_col"></div><div id="cal_ev_pres_col2" class="cal_ev_pres_col"></div></div>'+
     '</div>';
     if ($('cal_ev_pres').style.display != 'block')
      Ouvrir('cal_ev_pres');

     if (cal_ev_page_active_tmp == "") {
        cal_ev_page_active_tmp = page_active;
        page_active = -1;
     }

     alterne = 0;

     /*if (cal_ev_sommaire_type != 'tous') {
       for (n in cev_d[d][cal_ev_sommaire_type]) {
         if ($('cal_ev_pres_col2').offsetHeight >= $('cal_ev_pres_col1').offsetHeight)
             $('cal_ev_pres_col1').innerHTML += cev_c[cev_d[d][cal_ev_sommaire_type][n]];
         else
             $('cal_ev_pres_col2').innerHTML += cev_c[cev_d[d][cal_ev_sommaire_type][n]];
       }      
     }
     else*/
      for (t in cev_d[d]) {
       for (n in cev_d[d][t]) {
         if ($('cal_ev_pres_col2').offsetHeight >= $('cal_ev_pres_col1').offsetHeight)
             $('cal_ev_pres_col1').innerHTML += cev_c[cev_d[d][t][n]];
         else
             $('cal_ev_pres_col2').innerHTML += cev_c[cev_d[d][t][n]];
       }
     }
     cal_ev_dernier_select = d;
     cal_pres_reaffiche = false;

     j = Date.parse(d);

     jnom = decodeURIComponent( escape( j.getDayName() ) ); // puisque UTF8.. :)
     jnom = jnom.substr(0,1).toUpperCase() + jnom.substr(1); // première lettre majuscule...
     jnum = j.toString('d');
     mn = decodeURIComponent( escape( j.getMonthName() ) );
     an = j.toString('yyyy');

     jour_affiche = jnom+', '+jnum+' '+mn+' '+an;

     section_active = "";

     $('cal_ev_pres_titre').innerHTML = jour_affiche;
     document.title = jour_affiche;
 
     
     // FermerCalEvSommaire();
     if ($('archives_articles'))
        $('archives_articles').style.display = "none";
     if ($('cherche_contenu'))
        $('cherche_contenu').style.display = "none";
    
   }
  /* else {
   $('cal_ev_pres_contenu').innerHTML = '<h4>Aucune activité prévue aujourd\'hui.</h4>';
  }*/

 }
}

var dp_actif = "";

function CalEvMouseOver(dp) {
  dp_actif = dp;
  $('ceji_'+dp).parentNode.style.backgroundColor = cal_ev_bg_jour_mouseover;
  if ($('ceji_'+check_today) && dp != check_today) {
     $('ceji_'+check_today).style.display = "none";
     $('ceji_'+check_today).parentNode.style.zIndex = 1;
  }
     

  if ($('ceji_'+dp).style.display != "block") {
    $('ceji_'+dp).style.display = "block";
    $('ceji_'+dp).style.visibility = "visible";
    $('ceji_'+dp).parentNode.style.zIndex = 100;
    //if (!IEfader)
      fade_in('ceji_'+dp,75,95);
    
  }

}

function CalEvMouseOut(bg,dp) {
   dp_actif = "";
   setTimeout("CalEvMouseOutDelai('"+bg+"','"+dp+"')",30);
}

function CalEvMouseOutDelai(bg,dp) {
   if (dp != dp_actif && $('ceji_'+dp)) {
     $('ceji_'+dp).parentNode.style.backgroundColor = bg;
     $('ceji_'+dp).parentNode.style.zIndex = 1;
     $('ceji_'+dp).style.display = "none";

   }
}


function GetCalEv(mois_diff) {
 if (!edition_active) {
  if (cal_ev_dispo) {
     mois_cal_ev.addMonths(mois_diff);
     mois_check = mois_cal_ev.toString('yyyy-MM');
     if (!cal_ev_mois_presents[mois_check]) {
         cal_ev_dispo = false;

          var html_doc = document.getElementsByTagName('head').item(0);
          var js = document.createElement('script');
          js.setAttribute('language', 'javascript');
          js.setAttribute('type', 'text/javascript');
          js.setAttribute('src', 'zen_cal_ev.php?mois='+mois_check);
          html_doc.appendChild(js);

       cal_ev_mois_presents[mois_check] = true;
     }
     else {
       AfficheCalEv();
     }
  }
 }
}

var cal_ev_page_active_tmp = "";
function FermerCalEvSommaire() {
   $('sommaire_cal_ev').style.display = "none";
   if ($('contenu_pages').innerHTML == '') {
      if (cal_ev_page_active_tmp < 0) cal_ev_page_active_tmp = 1;
      getContenu(cal_ev_page_active_tmp);
      cal_ev_page_active_tmp = "";
   }

}

var cal_ev_sommaire_type = 'tous';

function AfficheCalEvSommaire(t) {
 cal_ev_sommaire_type = t;
 if (!edition_active) {
   FermeCalEv();
   mois_check = mois_cal_ev.toString('yyyy-MM');
   max_jours = mois_cal_ev.getDaysInMonth();
   // comparer avec check_today pu avec today.tostring(jj)
   mois_nom = decodeURIComponent( escape( mois_cal_ev.getMonthName() ) ); // puisque UTF8.. :)

   // mois_nom = mois_nom.substr(0,1).toUpperCase() + mois_nom.substr(1); // première lettre majuscule...

   annee = mois_cal_ev.toString('yyyy'); //annee = mois.getYear(); // donne 109 au lieu de 2009

   debut = 1;
   //if (!$('cal_ev_pres'))
   $('contenu_pages').innerHTML = '';
   if (cal_ev_page_active_tmp == "") {
      cal_ev_page_active_tmp = page_active;
      page_active = -1;
   }

   if ($('archives_articles'))
      $('archives_articles').style.display = "none";
   if ($('cherche_contenu'))
      $('cherche_contenu').style.display = "none";

   if ($('sommaire_cal_ev').style.display != "block") Ouvrir('sommaire_cal_ev');

   document.title = titre = 'Sommaire, '+mois_nom+' '+annee;

   som_cal_ev = '<h1 class="titre_pages">'+
      '<img src="images/fermer.png" class="sommaire_cal_ev_fermer" title="Fermer le sommaire" alt="[X]" onclick="FermerCalEvSommaire();" />'+
      '<a title="Mois précédent" href="javascript:GetCalEv(-1);"><img alt="préc." style="margin : 0px 20px;" src="images/Fleche_gauche_sommaire.gif"/></a> '+titre+' <a title="Mois suivant" href="javascript:GetCalEv(1);"><img alt="suiv." style="margin : 0px 20px;" src="images/Fleche_droite_sommaire.gif"/></a></h1>';
   
   /* // pour ajouter un menu de types...
   menu_types = '<b '+(t=="tous"?'class="sommaire_cal_ev_types_select" ':'onclick="AfficheCalEvSommaire(\'tous\')" onmouseover="this.style.backgroundColor=\''+cal_ev_bg_somm_type_hover+'\';" onmouseout="this.style.backgroundColor=\'transparent\';" ')+'>Tous les types</b>';
   for (i in liste_cal_ev_types)
    menu_types += '<b '+(i==t?'class="sommaire_cal_ev_types_select":" ':'onclick="AfficheCalEvSommaire('+i+')" onmouseover="this.style.backgroundColor=\''+cal_ev_bg_somm_type_hover+'\';" onmouseout="this.style.backgroundColor=\'transparent\';"')+'>'+liste_cal_ev_types[i]+'</b>';
   
   som_cal_ev += '<div id="sommaire_cal_ev_types">'+menu_types+'</div>';
   */
   first_day_of_week = 0;
   if (mois_cal_ev.is().sun()) first_day_of_week = 0;
   if (mois_cal_ev.is().mon()) first_day_of_week = 1;
   if (mois_cal_ev.is().tue()) first_day_of_week = 2;
   if (mois_cal_ev.is().wed()) first_day_of_week = 3;
   if (mois_cal_ev.is().thu()) first_day_of_week = 4;
   if (mois_cal_ev.is().fri()) first_day_of_week = 5;
   if (mois_cal_ev.is().sat()) first_day_of_week = 6;

   semaine = 1;
   

   som_cal_ev += '<div class="elements"><div class="sommaire_cal_ev_semaine"><h4>Semaine '+semaine+++'</h4>';
   for (i=debut;i<=max_jours;i++) {
      sommaire = "";
      check_jour = mois_check+"-"+(i<10?'0':'')+i;
      
      if (cal_ev_sommaire_type >= 0){
        if (cev_d[check_jour] && cev_d[check_jour][t]) {
          for (j in cev_d[check_jour][t])
           sommaire += '<li class="cal_ev_li_'+t+'">'+cev_t[cev_d[check_jour][t][j]]+'</li>';
      
          sommaire = '<ul onmouseover="this.style.backgroundColor=\'#99aabb\';" onmouseout="this.style.backgroundColor=\'transparent\';">'+sommaire+'</ul>';
        }
      }
      else
        if (cev_d[check_jour]) {
         for (k in cev_d[check_jour])
          for (j in cev_d[check_jour][k])
           sommaire += '<li class="cal_ev_li_'+k+'">'+cev_t[cev_d[check_jour][k][j]]+'</li>';

          sommaire = '<ul onmouseover="this.style.backgroundColor=\'#99aabb\';" onmouseout="this.style.backgroundColor=\'transparent\';">'+sommaire+'</ul>';
        }
      
      if (sommaire != "")
         som_cal_ev += '<div style="clear:both;" onclick="CalEvSelect(\''+check_jour+'\')">'+
                       '<h2>'+i+'</h2>'+sommaire+'</div>';
      if ((i+first_day_of_week)%7==0 && i<max_jours) {
           som_cal_ev += '</div>';
           if (semaine % 3 == 1) som_cal_ev += '<div style="clear:both;"></div>';
           som_cal_ev += '<div class="sommaire_cal_ev_semaine"><h4>Semaine '+semaine+++'</h4>';
      }
   }
   som_cal_ev += '</div><div style="clear:both;"></div></div>';

   $('sommaire_cal_ev').innerHTML = som_cal_ev;
 }
}

function AfficheCalEv() {
 if ($('grille_cal_ev')) {

  mois = mois_cal_ev;
  max_mois = mois.getDaysInMonth();

  mois_nom = decodeURIComponent( escape( mois.getMonthName() ) ); // puisque UTF8.. :)

  mois_nom = mois_nom.substr(0,1).toUpperCase() + mois_nom.substr(1); // première lettre majuscule...


  mois_num = mois.getMonth();

  annee = mois.toString('yyyy'); //annee = mois.getYear(); // donne 109 au lieu de 2009

  first_day_of_week = 0;
  if (mois.is().sun()) first_day_of_week = 0;
  if (mois.is().mon()) first_day_of_week = 1;
  if (mois.is().tue()) first_day_of_week = 2;
  if (mois.is().wed()) first_day_of_week = 3;
  if (mois.is().thu()) first_day_of_week = 4;
  if (mois.is().fri()) first_day_of_week = 5;
  if (mois.is().sat()) first_day_of_week = 6;


  affichage = "";  
  jours_affichage = new Date(mois); // nouvelle instance pour travailler quotidiennement sans modifier le mois courant...

  for (i = 0; i < first_day_of_week; i++)
     affichage += '<div class="cal_ev_vide">&nbsp;</div>';

  for (i = 1; i <= max_mois; i++) {

      date_present = jours_affichage.toString('yyyy-MM-dd');

      bg_jour = cal_ev_bg_jour_fds;                                     // FIN DE SEMAINE
      if (jours_affichage.isWeekday()) bg_jour = cal_ev_bg_jour_semaine;    // JOUR DE SEMAINE
      if (date_present == check_today) bg_jour = cal_ev_bg_jour_today;    // AUJOURD'HUI

      details = '';
      style_txt = '';
      types_bg = '';
      cal_ev_info = '';

      if (cev_d[date_present]) {

         if (est_admin || !cal_ev_titres_sommaire[date_present]) {
            somm = "";
            for (t in cev_d[date_present])
              for (j in cev_d[date_present][t])
                 somm += '<li class="cal_ev_li_'+t+'">'+cev_t[cev_d[date_present][t][j]]+'</li>';
            cal_ev_titres_sommaire[date_present] = somm;
         }



         dp = "'"+date_present+"'";
         details = ' cursor:pointer;" title="Cliquez pour voir les détails" onmouseover="CalEvMouseOver(\''+date_present+'\')" onmouseout="CalEvMouseOut(\''+bg_jour+'\',\''+date_present+'\');" onclick="CalEvSelect('+dp+');';
         style_txt = ' style="font-weight:bold; color:#112266; font-size:13px; top:10px;"';


         types_bg = "";
         for (t in cev_d[date_present]) types_bg += '<p class="cal_ev_type_bg_'+t+'"></p>';


         cal_ev_info = '<div class="cal_ev_jour_info" id="ceji_'+date_present+'"><ul>' + cal_ev_titres_sommaire[date_present] + '</ul></div>';
      }

      affichage += '<div class="cal_ev_jour" style="background-color: '+bg_jour+'; '+details+'">'+
                    '<div class="cal_ev_jour_bg">'+types_bg+'</div>'+
                    cal_ev_info+
                    '<p class="cal_ev_jour_txt" '+style_txt+'>'+
                      i+
                   '</p></div>';
      jours_affichage.addDays(1);
  }

  for (i = first_day_of_week+max_mois; i%7!=0; i++)
    affichage += '<div class="cal_ev_vide">&nbsp;</div>';

  $('cal_ev_mois').innerHTML = ''+mois_nom+' '+annee;
  //$('cal_ev_annee').innerHTML = ''+annee;
  $('grille_cal_ev').innerHTML = ''+titres_jours_ev+affichage+'<div style="clear:both;height:1px;"></div>';

  if ($('sommaire_cal_ev').style.display == "block")
   AfficheCalEvSommaire(cal_ev_sommaire_type);
  else
   setTimeout("OuvreCalEv();",100);
  
  
  if (cal_pres_reaffiche)
     CalEvSelect(cal_ev_dernier_select);
  
  if (cal_ev_aujourdhui) {
      //CalEvSelect(Date.today().toString('yyyy-MM-dd'));
      cal_ev_aujourdhui = false;


      // si on voulait juste faire afficher le petit pop-up dans le calendrier
      
      dp = check_today;
      if (cal_ev_affiche_auj && $('ceji_'+dp)) {
         $('ceji_'+dp).innerHTML = "<h4>Aujourd'hui</h4>"+$('ceji_'+dp).innerHTML;
         $('ceji_'+dp).style.display = "block";
         $('ceji_'+dp).parentNode.style.zIndex = 100;
         //if (!IEfader)
            fade_in('ceji_'+dp,35,97);
         setTimeout('fade_out(\'ceji_'+dp+'\',95,0);',cal_ev_affiche_auj_timer);
      }
      
  }

  

 }
}
