﻿var sURL = "";
var AGEventIdHIDDENId = "";
var AGLieuIdHIDDENId = "";
var ESCH_divEvents;
var ESCH_ColonnesCalendrier;
var ESCH_chkCategories;
var ESCH_Categories;

function SetAGEventId(valeur) {
    if (AGLieuIdHIDDENId != "") document.getElementById(AGLieuIdHIDDENId).value = "";
    var elem = document.getElementById(AGEventIdHIDDENId);
    elem.value = valeur;
    theForm.submit();
}

function ESCH_SuppressEvents() {
    for (var i = 0; i < ESCH_ColonnesCalendrier.length; i++) {
        for (var j = 0; j < ESCH_divEvents[i].length; j++) {
            ESCH_ColonnesCalendrier[i].removeChild(ESCH_divEvents[i][j]);
        }
    }
}

function ESCH_MontrerEvents() {
    for (var i = 0; i < ESCH_ColonnesCalendrier.length; i++) {
        for (var j = 0; j < ESCH_divEvents[i].length; j++) {
            ESCH_ColonnesCalendrier[i].appendChild(ESCH_divEvents[i][j]);
        }
    }
}

function ESCH_DisplayEvents() {
    var cat_checked = new Array();
    for (var i = 0; i < ESCH_chkCategories.length; i++) {
        if (ESCH_chkCategories[i].checked) cat_checked[cat_checked.length] = ESCH_Categories[i];
    }

    var myRE = /_\d+_(\d+)$/;
    for (var i = 0; i < ESCH_ColonnesCalendrier.length; i++) {
        while (ESCH_ColonnesCalendrier[i].hasChildNodes()) ESCH_ColonnesCalendrier[i].removeChild(ESCH_ColonnesCalendrier[i].lastChild);
        for (var j = 0; j < ESCH_divEvents[i].length; j++) {
            var eventCat = myRE.exec(ESCH_divEvents[i][j].id)[1];
            for (var k = 0; k < cat_checked.length; k++) {
                if (cat_checked[k] == eventCat) {
                    ESCH_ColonnesCalendrier[i].appendChild(ESCH_divEvents[i][j]);
                    break;
                }
            }
        }
    }
    
}

function ESCH_InitEvents(ESCH_tblMainId, ESCH_chkCategoriesId) {
    ESCH_chkCategories = document.getElementById(ESCH_chkCategoriesId).getElementsByTagName('input');
    for (var i = 0; i < ESCH_chkCategories.length; i++) {
        ESCH_chkCategories[i].onclick = ESCH_DisplayEvents;
    }
    var tblMain = document.getElementById(ESCH_tblMainId);
    var lignes = tblMain.getElementsByTagName('tr');
    ESCH_ColonnesCalendrier = lignes[1].getElementsByTagName('td');
    var nbrJours = ESCH_ColonnesCalendrier.length;
    ESCH_divEvents = new Array(nbrJours);
    var divEvents;
    for (var i = 0; i < nbrJours; i++) {
        divEvents = ESCH_ColonnesCalendrier[i].getElementsByTagName('div');
        var arrayJour = new Array();
        for (var j = 0; j < divEvents.length; j++) {
            if (divEvents[j].className == "divEvent") {
                arrayJour[arrayJour.length] = divEvents[j];
            }
        }
        ESCH_divEvents[i] = arrayJour;
    }
    ESCH_DisplayEvents();
   // ESCH_SuppressEvents();
 //   ESCH_MontrerEvents();

}
function SetAGLieuId(valeur) {
    if (AGEventIdHIDDENId != "") document.getElementById(AGEventIdHIDDENId).value = "";
    var elem = document.getElementById(AGLieuIdHIDDENId);
    elem.value = valeur;
    theForm.submit();
}

function InitCalendar() {
    try {
        var cal = document.getElementById('cal');
        if (cal == null) return;
        var tds = cal.getElementsByTagName('td');
        var td, LaDate;
        var tagA;
        var myRE = /\{0\}/g;
        for (var i = 0; i < tds.length; i++) {
            td = tds[i];
            LaDate = td.getAttribute("LaDate");
            if (LaDate) {
                tagA = td.getElementsByTagName('a');
                if (tagA.length > 0) {
                    tagA = tagA[0];
                    if (tagA.href) {
                        tagA.href = sURL.replace(myRE, LaDate);
                        tagA.target = '_top';
                    }
                }
            }
        }
    }
    catch (e) { };
}

var divCalendarId;
function Calendrier() {
    if (divCalendarId) {
        var cal = document.getElementById(divCalendarId);
        cal.style.visibility = (cal.style.visibility == 'hidden' ? 'visible' : 'hidden');
    }
}

function CacherCalendrier() {
    var cal = document.getElementById(divCalendar);
    cal.style.visibility = 'hidden';
}


function JourCalendrier(evt) {
    evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
    if (target == null) return;
    if (target.className.substring(0, 4) == 'Jour') {
        var LaClasse = target.className.substring(0, 5) + (evt.type == 'mouseover' ? 'Over' : 'Out');
        var autreElem = (target.tagName == 'TD' ? target.childNodes[0] : target.parentNode);
        target.className = LaClasse;
        if (LaClasse == 'Jour5Over') {
            target.style.backgroundColor = '#edf9ff';
            autreElem.style.backgroundColor = '#edf9ff';
        }
        if (LaClasse == 'Jour5Out') {
            target.style.backgroundColor = 'gray';
            autreElem.style.backgroundColor = 'gray';
        }
        autreElem.className = LaClasse;
    }
}

function AlertCal() {
    alert('Cliquez sur une date plus grande ou égale à aujourd\'hui.');
}
