﻿//Author : Abderrahim Adrabi, Visual Soft

var listKeysEvents = getKeys(datesEvents);
var currentEventIndex = -1;
var __labels;
$(function() {

  $('#hiwarScrollPane').jScrollPane({ autoReinitialise: true, verticalDragMinHeight: 9, verticalDragMaxHeight: 9 });
  $('#modakiratScrollPane').jScrollPane({ autoReinitialise: true, verticalDragMinHeight: 9, verticalDragMaxHeight: 9 });
  $('#modakiratComponent').datepick({ onDate: setupEvents, onChangeMonthYear: setupListEvents, defaultDate: new Date(1900, 0, 1) });
  $('#evenement_s').click(nextEvent);
  $('#evenement_p').click(previousEvent);

  try {
    var now = new Date();
    var changed = false;

    for (var indexEvent = 0; indexEvent < listKeysEvents.length; indexEvent++) {
      var key = listKeysEvents[indexEvent];

      currentEventIndex = indexEvent;

      var year_month = key.split('/');
      var current = [now.getYear() + 1900, now.getMonth()];

      if (year_month[1] >= current[1] && (year_month[0] == current[0] || year_month[0] > current[0])) {
        $('#modakiratComponent').datepick('setDate', new Date(year_month[0], year_month[1], 1));
        changed = true;
        break;
      }
    }

    if (!changed) {
      $('#modakiratComponent').datepick('setDate', new Date());
      currentEventIndex = listKeysEvents.length;
    }
  }
  catch (ex) {
  }
});

/*
*****************Old Code****************
function setupEvents(date, inMonth) {
if (inMonth) {
try {
var __dates = datesEvents[(1900 + date.getYear()) + '/' + date.getMonth()];

if (__dates == undefined) {
__dates = datesEvents[date.getYear() + '/' + date.getMonth()];
}
var now = new Date();
for (var x = 0; x < __dates.length; x++) {
if (__dates[x].getTime() == date.getTime()) {
if (now.getMonth() <= date.getMonth()) {
return { dateClass: 'bgEventDate', selectable: false };
}
return { selectable: false };
}
}
}
catch (ex) {
}
}
return { selectable: false };
}*/

/*************New Code MAAROUF ************/
function setupEvents(date, inMonth) {
  if (inMonth) {
    try {
      var __dates = datesEvents[(1900 + date.getYear()) + '/' + date.getMonth()];

      if (__dates == undefined) {
        __dates = datesEvents[date.getYear() + '/' + date.getMonth()];
      }
      var now = new Date();
      for (var x = 0; x < __dates.length; x++) {
        for (var y = 0; y < __labels.length; y++) {

          if (__dates[x].getTime() == date.getTime()) {
            if (now.getMonth() <= date.getMonth()) {
              var actualDate = __dates[x].getDate() + '/' + (__dates[x].getMonth() + 1);

              var event = __labels[y].toString();
              var datedeb = event.substring(event.length - 28, event.length - 23);
              var datefin = event.substring(event.length - 17, event.length - 12);

              var ActualDay = actualDate.split('/')[0];
              var ActualMonth = actualDate.split('/')[1];
              
              if (ActualMonth.length == 1) 
              ActualMonth = 0 + ActualMonth;

              if (ActualDay.length == 1)
              ActualDay = 0 + ActualDay;
                   
              actualDate = ActualDay + '/' + ActualMonth;
             
              if (actualDate == datedeb || actualDate == datefin) {
                return { dateClass: 'bgEventDate', selectable: false };
              }
            }
            //return { selectable: false };
          }
        }
      }
    }
    catch (ex) {
    }
  }
  return { selectable: false };
}



function setupListEvents(year, month) {
  try {
    month--;

    __labels = labelsEvents[year + '/' + month];

    if (__labels != undefined) {
      var listElements = $('#listEvents');

      listElements.children().remove();

      for (var x = 0; x < __labels.length; x++) {
        if (__labels[x] == undefined) {
          break;
        }
        //'-------- PATCH 2011-07-11
        var tmp = __labels[x].split(',');
        listElements.append('<div><div class="Puce"></div><div class="Texte"><a href="Moudakirat.aspx?C=' + tmp[0] + '">' + tmp[1] + '</a></div></div>');
        //'-------- PATCH 2011-07-11
      }

      for (var x = 0; x < listKeysEvents.length; x++) {
        if (listKeysEvents[x] == (year + '/' + month)) {
          currentEventIndex = x;
          break;
        }
      }
    }
    else {
      try {
        month--;
        for (var x = 0; x < listKeysEvents.length; x++) {
          var tmp = listKeysEvents[x].split('/');
          if (year >= tmp[0] && month >= tmp[1]) {
            currentEventIndex = x;
            break;
          }
        }
      }
      catch (ex) {
      }

      $('#listEvents').children().remove();
    }
  }
  catch (ex) {
  }
}

function nextEvent() {
  if (currentEventIndex + 1 < listKeysEvents.length) {
    var year_month = listKeysEvents[++currentEventIndex].split('/');
    $('#modakiratComponent').datepick('setDate', new Date(year_month[0], year_month[1], 1));
  }
}

function previousEvent() {
  if ((currentEventIndex - 1) > -1) {
    var year_month = listKeysEvents[--currentEventIndex].split('/');
    $('#modakiratComponent').datepick('setDate', new Date(year_month[0], year_month[1], 1));
  }
}

function getKeys(hash) {
  var keys = [];
  for (var key in hash) {
    keys.push(key);
  }
  return keys;
}

