/* ---------------------------------------------------------------
 *
 *          Fonctions CALENDRIER D'ÉVENEMENTS
 *
 * -------------------------------------------------------------*/

var cal_ev_bg_jour_semaine = '#f8f1de';
var cal_ev_bg_jour_fds = '#edd9a7';
var cal_ev_bg_jour_today = '#61b85e';
var cal_ev_bg_jour_mouseover = "#f1e4c1";
var cal_ev_sommaire_mouseover = "#cbb77f";

var cal_ev_affiche_auj = true;
var cal_ev_affiche_auj_timer = 4000;

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;

function CalEvSelect(d) {
 if (!edition_active) {
  contenu_ev = "";
  
  if (cev_d[d]) {
      // arrive du calendrier, puisque pas montré dans sommaire anyway..
     document.getElementById('contenu_pages').innerHTML = '<div id="cal_ev_pres">'+
      '<h1 id="cal_ev_pres_titre"></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 (document.getElementById('cal_ev_pres').style.display != 'block')
      Ouvrir('cal_ev_pres');

     alterne = 0;

     if (cal_ev_sommaire_type != 'tous') {
       for (n in cev_d[d][cal_ev_sommaire_type]) {
         if (document.getElementById('cal_ev_pres_col2').offsetHeight >= document.getElementById('cal_ev_pres_col1').offsetHeight)
             document.getElementById('cal_ev_pres_col1').innerHTML += cev_c[cev_d[d][cal_ev_sommaire_type][n]];
         else
             document.getElementById('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 (document.getElementById('cal_ev_pres_col2').offsetHeight >= document.getElementById('cal_ev_pres_col1').offsetHeight)
             document.getElementById('cal_ev_pres_col1').innerHTML += cev_c[cev_d[d][t][n]];
         else
             document.getElementById('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;
     if (cal_ev_sommaire_tmp_section == "")
        cal_ev_sommaire_tmp_section = section_active;
     section_active = "";

     document.getElementById('cal_ev_pres_titre').innerHTML = jour_affiche;
     document.title = jour_affiche;
     


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

 }
}

var dp_actif = "";

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


  if (document.getElementById('ceji_'+dp).style.display != "block") {
    document.getElementById('ceji_'+dp).style.display = "block";
    document.getElementById('ceji_'+dp).style.visibility = "visible";
    document.getElementById('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 && document.getElementById('ceji_'+dp)) {
     document.getElementById('ceji_'+dp).parentNode.style.backgroundColor = bg;
     document.getElementById('ceji_'+dp).parentNode.style.zIndex = 1;
     document.getElementById('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;
         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', 'zen_cal_ev.php?mois='+mois_check);
          html_doc.appendChild(js);

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

var cal_ev_sommaire_tmp_section = "";

function FermerCalEvSommaire() {
   document.getElementById('sommaire_cal_ev').style.display = "none";
   if (document.getElementById('contenu_pages').innerHTML == '') {     
      getContenu(cal_ev_sommaire_tmp_section,page_active);
      cal_ev_sommaire_tmp_section = "";
   }

}

var cal_ev_sommaire_type = 'tous';

function AfficheCalEvSommaire(t) {
 cal_ev_sommaire_type = t;
 if (!edition_active) {

   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 (!document.getElementById('cal_ev_pres'))
      document.getElementById('contenu_pages').innerHTML = '';
   if (cal_ev_sommaire_tmp_section == "")
   cal_ev_sommaire_tmp_section = section_active;
   section_active = "";

   if (document.getElementById('archives_articles'))
      document.getElementById('archives_articles').style.display = "none";
   if (document.getElementById('liste_entreprises'))
      document.getElementById('liste_entreprises').style.display = "none";
   
   if (document.getElementById('sommaire_cal_ev').style.display != "block") Ouvrir('sommaire_cal_ev');

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

   document.getElementById('sommaire_cal_ev').innerHTML = "<h1>"+
      '<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; width:28px;" src="images/Fleche_gauche.gif"/></a> '+titre+' <a title="Mois suivant" href="javascript:GetCalEv(1);"><img alt="suiv." style="margin : 0px 20px; width:28px;" src="images/Fleche_droite.gif"/></a></h1>';
  
   menu_types = '<b '+(t=="tous"?'class="sommaire_cal_ev_types_select" ':'onclick="AfficheCalEvSommaire(\'tous\')" onmouseover="this.style.backgroundColor=\''+cal_ev_sommaire_mouseover+'\';" 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_sommaire_mouseover+'\';" onmouseout="this.style.backgroundColor=\'transparent\';"')+'>'+liste_cal_ev_types[i]+'</b>';

   document.getElementById('sommaire_cal_ev').innerHTML += '<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 = "";

   som_cal_ev += '<div class="sommaire_cal_ev_semaine" style="clear:both;"><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=\''+cal_ev_sommaire_mouseover+'\';" 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=\''+cal_ev_sommaire_mouseover+'\';" 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) {
           som_cal_ev += '</div>';
           if (semaine % 2 == 1) som_cal_ev += '<div style="clear:both;"></div>';
           som_cal_ev += '<div class="sommaire_cal_ev_semaine"><h4>Semaine '+semaine+++'</h4>';
      }
   }

   document.getElementById('sommaire_cal_ev').innerHTML += som_cal_ev+'</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_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;" onmouseover="CalEvMouseOver(\''+date_present+'\')" onmouseout="CalEvMouseOut(\''+bg_jour+'\',\''+date_present+'\');" onclick="CalEvSelect('+dp+');';
         style_txt = ' style="font-weight:bold; color:#112266; font-size:15px; top:9px;"';


         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>';

  document.getElementById('cal_ev_mois').innerHTML = ''+mois_nom+' '+annee;
  //document.getElementById('cal_ev_annee').innerHTML = ''+annee;
  document.getElementById('grille_cal_ev').innerHTML = ''+titres_jours_ev+affichage;

  if (document.getElementById('sommaire_cal_ev').style.display == "block")
   AfficheCalEvSommaire(cal_ev_sommaire_type);

  
  
  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 && document.getElementById('ceji_'+dp)) {
         document.getElementById('ceji_'+dp).innerHTML = "<h4>Aujourd'hui</h4>"+document.getElementById('ceji_'+dp).innerHTML;
         document.getElementById('ceji_'+dp).style.display = "block";
         document.getElementById('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);
      }  
  } 
 }
}
   /* ------------------  Fin des fonctions de calendrier d'évènements..  ------ */

