(function() {
    if (typeof (this.ModuleProgrammeEnLigne.MonProgramme) == "undefined") {
        this.ModuleProgrammeEnLigne.MonProgramme = {};
    }

    // Ajout d'une session
    ModuleProgrammeEnLigne.MonProgramme.AddSession = function(tag, intIdSession) {
        ModuleProgrammeEnLigne.MonProgramme._Add(tag, intIdSession, '');
    }

    // Ajout d'une intervention
    ModuleProgrammeEnLigne.MonProgramme.AddIntervention = function(tag, intIdIntervention, redirect) {
        ModuleProgrammeEnLigne.MonProgramme._Add(tag, '', intIdIntervention, redirect);
    }

    // Fonction d'ajout a mon programme
    // idSession:integer       id de session
    // idIntervention:Integer  id d'intervention
    // redirect:string         url de redirection après l'ajout/suppression
    ModuleProgrammeEnLigne.MonProgramme._Add = function(tag, idSession, idIntervention, redirect) {
        var oldClassName = tag.className;

        // changement du tag
        tag.className = 'LoadingProgramme';

        var d = cyim.ajax.xhrPost({
            form: "ajaxForm",
            sync: (typeof (redirect) != "undefined"), // Si l'on redirige, on est en synchrone
            preventCache: true,
            url: "/ModuleProgrammeEnLigne/MonProgramme/AddRemove.asp?idSession=" + idSession + "&idIntervention=" + idIntervention,
            load: function(data) {
                // redirection
                if (typeof (redirect) != "undefined") {
                    document.location.href = redirect;
                }
                else {
                    // Changement du nombre d'intervention ajoutées à son programme
                    dojo.query("div.congres2009 div.MonProgramme span.nbInterventions").forEach(
                        function(tag) {
                            tag.firstChild.nodeValue = data;
                        }
                    );

                    // changement du tag
                    if (oldClassName == 'AjoutProgramme')
                        tag.className = 'SuppProgramme';
                    else
                        tag.className = 'AjoutProgramme';

                }
            },
            error: function(data) {
                alert("Erreur lors de l'ajout à 'Mon Programme'.");
            },
            handleAs: "text"
        }, false, false);
    }
})();
