/* ---------------------------------------------------------------
 *
 *          Fonctions CALENDRIER D'ÉVENEMENTS
 *
 * -------------------------------------------------------------
 */
var modif_activite = false;

var cal_ev_bg_jour_semaine = 'caj_sem';//'#c4dc8c';
var cal_ev_bg_jour_fds = 'caj_fds';
var cal_ev_bg_jour_today = 'caj_today';
var cal_ev_bg_jour_mouseover = "#cdd9f3";
var cal_ev_bg_somm_type_hover = "#ffffff";
//var cal_ev_affiche_auj = true;
//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_pres_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 InitCalEv() {
        mois = mois_cal_ev;
        max_mois = mois.getDaysInMonth();

        mois_nom = mois.getMonthName() ;

        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
        $('cal_ev_mois').innerHTML = ''+mois_nom+' '+annee;

}
*/
var cal_xuzen = "";

function GetCalEv(mois_diff,mois_direct) {
 if (!edition_active) {
  if (cal_ev_dispo) {
     if (!isMSIE || gteIE9) $('#grille_cal_ev').stop(true,true).fadeOut({duration:'fast',queue:false}).slideUp({duration:'fast',easing:'swing',queue:false});

     if (mois_direct === undefined) {
        mois_cal_ev.addMonths(mois_diff);
     }
     else {
        mois_cal_ev = new Date.parse(mois_direct+'-05');
        mois_cal_ev.moveToFirstDayOfMonth(); // COMPENSER LE FUSEAU HORRAIRE qui reculait d'un mois (4h)hahahahax
     }
     
     mois_check = mois_cal_ev.toString('yyyy-MM');
     SelectValeur(ZEN('ce_sm'),mois_cal_ev.toString('MM'));     
     annee = mois_cal_ev.toString('yyyy');
     
         var ce_sa = ZEN('ce_sa');
         if (SelectValeur(ce_sa,annee) === false) {
             // fonctionnera tant que les exceptions sont consécutives aux années déjà présentes,
             //  plusieurs exceptions peuvent désordonner la liste...
            newOpt = document.createElement('option');
            newOpt.text = annee;
            newOpt.value = annee;

           if (annee < ce_sa.options[0].value) {
             try { ce_sa.add(newOpt,ce_sa.options[0]); }
             catch(ex) { ce_sa.add(newOpt,0); }
           }
           else {
             try { ce_sa.add(newOpt, null); }
             catch(ex) { ce_sa.add(newOpt); }
           }
           SelectValeur(ce_sa,annee);
         }

   
     mois_nom = mois_cal_ev.getMonthName();
     mois_nom = mois_nom.substr(0,1).toUpperCase() + mois_nom.substr(1); // première lettre majuscule...
     ZEN('cal_ev_mois').innerHTML = ''+mois_nom+' '+annee;



     if (!cal_ev_mois_presents[mois_check]) {
         cal_ev_dispo = false;
          if (est_intra) cal_xuzen = "&xuz="+xuzen;
          $('#cal_ev_sablier').stop().fadeTo('slow',0.2);
          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', 'calendrier_mois.php?mois='+mois_check+cal_xuzen);
          html_doc.appendChild(js);

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

function AfficheCalEv() {
 if (ZEN('grille_cal_ev')) {
     $('#cal_ev_sablier').stop().fadeTo('fast',0);

 /* if (ZEN('sablier_cal').style.visibility == "visible") {
      fadings['sablier_cal'] = "out";
      fade_out("sablier_cal",40,0);
  }
*/



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

  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 ui-corner-all">&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 = "";
            somm_c = "";
            for (t in cev_d[date_present])
              for (j in cev_d[date_present][t]) {
                 id = cev_d[date_present][t][j];
                 clicdroit = ""
                 if (super_admin) clicdroit = ' oncontextmenu="ModifierActivite('+id+'); return false;" title="Cliquez avec le bouton droit pour éditez cet élément du calendrier"'

                 somm += '<li'+clicdroit+' class="cal_ev_li_'+t+'" id="'+id+date_present+'">'+cev_t[id]+'</li>';

                 somm_c += '<div'+clicdroit+' class="cepe cal_ev_pres_elem_'+t+' ui-corner-all ombre" id="d'+id+date_present+'">'+cev_c[id]+'</div>';
              }
            cal_ev_titres_sommaire[date_present] = somm;
            cal_ev_pres_sommaire[date_present] = somm_c;
         }

//

         dp = "'"+date_present+"'";
         details = "";
         style_txt = ' cejt_gras';

         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>'+ cal_ev_pres_sommaire[date_present];
      }
      admin_nouv = "";
      if (super_admin) admin_nouv = '<a title="Ajouter un évenement débutant ce jour" style="text-decoration:none; margin:3px; font-size:14px;" href="javascript:ModifierActivite(\'nouveau\',\''+date_present+'\');">+</a>';
      affichage += '<div class="cal_ev_jour ui-corner-all '+bg_jour+'">'+
                     admin_nouv+
                     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 ui-corner-all">&nbsp;</div>';

  
  //ZEN('cal_ev_annee').innerHTML = ''+annee;
  ZEN('grille_cal_ev').innerHTML = ''+titres_jours_ev+affichage+'<div class="clearing"></div>';
  $('#grille_cal_ev > .cal_ev_nom_jour, #cal_ev_titre').addClass('ui-corner-all');


  $('.cal_ev_jour').hover(function() {
      if (!modif_activite && $(this).find('ul').length >0) {
       $(this).css({overflow:'visible', 'z-index':100});
       if (!isMSIE || gteIE9) {
          $(this).addClass('ombre');
          $(this).find('ul').addClass('ombre');
       }
      }
  }, function() {
      if (!modif_activite) {
       $(this).find('.cepe').stop(true,true).hide();
       // pas animé car croppé par l'overflow hidden
        $(this).css({overflow:'hidden', 'z-index':1})
        .removeClass('ombre')
        .find('ul').removeClass('ombre');
      }
  });

  cepe_mouse_over = "";
  $('.cepe').hover(function() {
    cepe_mouse_over = $(this).attr('id');
  },function () {
    cepe_mouse_over = "";
  });
  $('.cal_ev_jour_info >ul>li').hoverIntent(function() {
     if (!modif_activite) {
      //$(this).addClass('menu_hover');
      $('.cepe').stop(true,true).fadeOut('fast');

      desc = $('#d'+ $(this).attr('id'));
      pos = desc.parent().position();
      if (!IE7 && pos.left > 300)
          desc.css('right','80px');
      else desc.css('left','75px');
      if (!IE7 && pos.top > 300)
          desc.css('bottom','10px');
      else desc.css('top','-10px');


      desc.stop(true, true)
          .slideDown({duration: 'fast', easing: 'swing', queue:false}).addClass('ombre');
     }

  }, function() {
    if (!modif_activite) {
     //$(this).removeClass('menu_hover')
     if (cepe_mouse_over != 'd'+ $(this).attr('id'))
         $('#d'+ $(this).attr('id')).stop(true, true).fadeOut('fast');
    }
  });

          if (est_admin) {
              $('.admin_options').fadeTo('fast',0.6);
              $('.admin_options').hover(function(){$(this).stop().fadeTo('fast',1);},function(){$(this).stop().fadeTo('fast',0.6);});
              $('#cal_ev .admin_options').addClass('ui-corner-all');
          }
    if (!isMSIE || gteIE9) $('#grille_cal_ev').stop(false,true).css('opacity',0.1).slideDown({duration:'fast',easing:'swing',queue:false}).fadeTo({duration:'slow',queue:false},1);

 }
}
