/* ---------------------------------------------------------------
 *
 *          Fonctions CALENDRIER D'ÉVENEMENTS
 *
 * -------------------------------------------------------------*/


var check_today = new Date.today().toString('yyyy-MM-dd');
var mois_courant = 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 cal_ev_contenu = new Array();
var cal_ev_titres = new Array();
var cal_ev_types_bg = new Array();
var cal_ev_mois_presents = new Array();

var cal_ev_aujourdhui = true;

var cal_ev_dispo = true;


function CalEvSelect(d) {

  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('dd');
  mn = decodeURIComponent( escape( j.getMonthName() ) );
  an = j.toString('yyyy');

  jour_affiche = jnom+', '+jnum+' '+mn+' '+an;
  document.getElementById('cal_ev_pres_titre').innerHTML = jour_affiche;
  if (cal_ev_contenu[d]) {
   document.getElementById('cal_ev_pres_contenu').innerHTML = cal_ev_contenu[d];
  }
  else {
   document.getElementById('cal_ev_pres_contenu').innerHTML = '<h4>Aucune activité prévue aujourd\'hui.</h4>';
  }
}

function CalEvMouseOver(obj,dp) {
  obj.style.backgroundColor = "#998877";
  document.getElementById('ceji_'+dp).style.display = "block";
  if (!IEfader) fade_in('ceji_'+dp,95,95)
}

function CalEvMouseOut(obj,bg,dp) {
   obj.style.backgroundColor = bg;
   document.getElementById('ceji_'+dp).style.display = "none";
}


function GetCalEv(mois_diff) {
  if (cal_ev_dispo) {
     mois_courant.addMonths(mois_diff);
     mois_check = mois_courant.toString('yyyy-MM');
     if (!cal_ev_mois_presents[mois_check]) {
         cal_ev_dispo = false;
         fade_in("sablier_cal",0,80);
         

          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', 'cal_ev.php?mois='+mois_check);
          html_doc.appendChild(js);

       cal_ev_mois_presents[mois_check] = true;
     }
     else {
       AfficheCalEv();
     }
  }
}

function AfficheCalEvSommaire() {
   mois_check = mois_courant.toString('yyyy-MM');
   max_jours = mois_courant.getDaysInMonth();
   // comparer avec check_today
   debut = 1;
   document.getElementById('sommaire_cal_ev').innerHTML = "<h2>Sommaire du mois</h2>";
   for (i=debut;i<=max_jours;i++) {
      check_jour = mois_check+"-"+(i<10?'0':'')+i;
      if (cal_ev_titres[check_jour]) {
         sommaire = '<ul>' + cal_ev_titres[check_jour]+ '</ul>';
         document.getElementById('sommaire_cal_ev').innerHTML += '<div style="clear:both;">'+
                        '<h1>'+i+'</h1>'+sommaire+'</div>';
      }

   }
}

function AfficheCalEv() {
 if (document.getElementById('grille_cal_ev')) {
  if (document.getElementById('sablier_cal').style.visibility == "visible") {
      fadings['sablier_cal'] = "out";
      fade_out("sablier_cal",40,0);
  }

  mois = mois_courant;
  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 = '#efdfbf';                                     // FIN DE SEMAINE
      if (jours_affichage.isWeekday()) bg_jour = '#ffefdf';    // JOUR DE SEMAINE
      if (date_present == check_today) bg_jour = '#afbfdf';    // AUJOURD'HUI

      details = '';
      style_txt = '';
      types_bg = '';
      if (cal_ev_contenu[date_present]) {
         dp = "'"+date_present+"'";
         details = ' cursor:pointer;" onmouseover="CalEvMouseOver(this,\''+date_present+'\')" onmouseout="CalEvMouseOut(this,\''+bg_jour+'\',\''+date_present+'\')" onclick="CalEvSelect('+dp+');';
         style_txt = ' style="font-weight:bold; color:#116633; font-size:15px; top:4px;"';
         types_bg = cal_ev_types_bg[date_present];
      }
      affichage += '<div class="cal_ev_jour" style="background-color: '+bg_jour+';'+details+'">'+
                    '<div class="cal_ev_jour_bg">'+types_bg+'</div>'+
                    '<div class="cal_ev_jour_info" id="ceji_'+date_present+'"><ul>' + cal_ev_titres[date_present]+ '</ul></div>'+
                    '<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>';

  document.getElementById('cal_ev_mois').innerHTML = ''+mois_nom+" "+annee;
  document.getElementById('grille_cal_ev').innerHTML = ''+titres_jours_ev+affichage;

  AfficheCalEvSommaire();

  if (cal_ev_aujourdhui) {
      CalEvSelect(Date.today().toString('yyyy-MM-dd'));
      cal_ev_aujourdhui = false;
  }
 }
}
   /* ------------------  Fin des fonctions de calendrier d'évènements..  ------ */
