YAHOO.namespace("seladmin");
this.xml = null;
YAHOO.seladmin.sUrl = "../commun/gestion.php";
YAHOO.seladmin.pnlReponse = null;

function TransformerXMLXSL(divID, _xml, _xsl)
{
    var ex = "";
    if (window.ActiveXObject)
    {
        ex=_xml.transformNode(_xsl);
        document.getElementById(divID).innerHTML=ex;
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
        var xsltProcessor=new XSLTProcessor();
        xsltProcessor.importStylesheet(_xsl);
        var resultDocument = xsltProcessor.transformToFragment(_xml,document);
        document.getElementById(divID).innerHTML = "";
        document.getElementById(divID).appendChild(resultDocument);
    }
}

function loadXML(fname)
{
    var xhttp;
    if (window.XMLHttpRequest)
    {
        xhttp=new XMLHttpRequest();
    }
    else
    {
        xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET",fname,false);
    xhttp.send("");
    return xhttp.responseXML;
}

function InitPnlReponse()
{
    var handleYes = function() {
        YAHOO.seladmin.pnlReponse.hide();
    };

    YAHOO.seladmin.pnlReponse = new YAHOO.widget.SimpleDialog("reponse",
         { width: "300px",
           fixedcenter: true,
           visible: false,
           draggable: false,
           close: true,
           zIndex:1000,
           text: "",
           constraintoviewport: true,
           buttons: [ { text:"Fermer", handler:handleYes, isDefault:true } ]
         });
}

function AfficherPnlReponse(entete, text, icon)
{
    YAHOO.seladmin.pnlReponse.setHeader(entete);
    YAHOO.seladmin.pnlReponse.cfg.setProperty("text", "<div align='center'>" + text + "</div>");
    YAHOO.seladmin.pnlReponse.cfg.setProperty("icon", icon);
    YAHOO.seladmin.pnlReponse.render("idReponse");
    YAHOO.seladmin.pnlReponse.show();
}

function ListerInscriptionsNonActivees()
{
    var objParam = new ObjParametres();

    objParam.div = "divCentre";
    objParam.module = CTE_MODULE_INSCRIPTIONS;
    objParam.action = CTE_ACTION_SELECTIONNER_INA;
    objParam.donnees = new Date().getTime();

    var callback = {
        success: function(o) {
            var xml = o.responseXML;
            var xsl = loadXML("../modules/membres/xsl/inscriptions_non_actives.xsl");
            TransformerXMLXSL(objParam.div, xml, xsl);
        },
        failure: function(o) {
            AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
        }
    };

    var objCallAJAX = new CallAJAX();
    objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, objParam);
}

function ActiverInscription(_id)
{
    var txtNote = YAHOO.util.Dom.get("txt" + _id).value;
    var callback = {
       success: function(o) {
           var text = o.responseText;
           if (text.indexOf("Erreur:") == 0)
           {
               AfficherPnlReponse("Erreur...", text, YAHOO.widget.SimpleDialog.ICON_WARN);
           }
           else
           {
               ListerInscriptionsNonActivees();
               //AfficherPnlReponse("Succès...", "Succès : " + text, YAHOO.widget.SimpleDialog.ICON_INFO);
           }
       },
       failure: function(o) {
           AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
       }
    };
    var obj = new ObjParametres();
    obj.module = CTE_MODULE_INSCRIPTIONS
    obj.action = CTE_ACTION_ACTIVER;
    obj.donnees = [{idMembre:_id,note:txtNote}];
    var objCallAJAX = new CallAJAX();
    objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, obj);
}

function ListerServicesNonClasses()
{
    var objParam = new ObjParametres();

    objParam.div = "divCentre";
    objParam.module = CTE_MODULE_SERVICES;
    objParam.action = CTE_ACTION_SELECTIONNER_NC;
    objParam.donnees = new Date().getTime();

    var callback = {
        success: function(o) {
            var xml = o.responseXML;
            var xsl = loadXML("../modules/services/xsl/servnonclasses.xsl");
            TransformerXMLXSL(objParam.div, xml, xsl);
            //AfficherCategories();
        },
        failure: function(o) {
            AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
        }
    };

    var objCallAJAX = new CallAJAX();
    objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, objParam);
}

function AfficherControlActivationServices(id)
{
    var elem = document.getElementById("service"+id);
    if (elem.style.visibility == "hidden")
    {
        elem.style.visibility = "visible";
    }
    else
    {
        elem.style.visibility = "hidden";
    }
}

function AfficherCategories()
{
    var objParam = new ObjParametres();
    objParam.div = "divCategories";
    objParam.control = "cbxCategories";
    objParam.membre = "categorie";
    objParam.valeur = "nom";
    objParam.module = CTE_MODULE_CATEGORIES;
    objParam.action = CTE_ACTION_LISTER;
    objParam.donnees = [{donnees:new Date().getTime()}];
    YAHOO.util.Event.onAvailable("divCategories", function(){ChargerCbxAdmin(objParam);});
}

function AfficherCategories2(_id)
{
    var objParam = new ObjParametres();
    objParam.div = "divCategories" + _id;
    objParam.control = "cbxCategories" + _id;
    objParam.membre = "categorie";
    objParam.valeur = "nom";
    objParam.module = CTE_MODULE_CATEGORIES;
    objParam.action = CTE_ACTION_LISTER;
    objParam.donnees = [{donnees:new Date().getTime()}];
    YAHOO.util.Event.onAvailable("divCategories", function(){ChargerCbxAdmin(objParam);});
}

function ChargerCbxAdmin(obj)
{
    var callback = {
        success: function(o) {
            var xml = o.responseXML;
            var objGenererHtml = new GenererHtml();
            var data = objGenererHtml.GenererCbxWithXml(xml, obj.control, obj.membre, obj.valeur);
            YAHOO.util.Dom.get(obj.div).innerHTML = data;
        },
        failure: function(o) {
            AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
        }
    };
    var objCallAJAX = new CallAJAX();
    objCallAJAX.Call(CTE_POST, YAHOO.seladmin.sUrl, callback, obj.module, obj.action, obj.donnees);
}

function ActiverService(_id)
{
    var _idCategorie = YAHOO.util.Dom.get("cbxCategories").value;
    var _txtNouveau = YAHOO.util.Dom.get("txt" + _id).value;

    if (_idCategorie != "#")
    {
        var callback = {
           success: function(o) {
               var text = o.responseText;
               if (text.indexOf("Erreur:") == 0)
               {
                   AfficherPnlReponse("Erreur...", text, YAHOO.widget.SimpleDialog.ICON_WARN);
               }
               else
               {
               }
           },
           failure: function(o) {
               AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
           }
       };
       var obj = new ObjParametres();
       obj.module = CTE_MODULE_SERVICES
       obj.action = CTE_ACTION_ACTIVER;
       obj.donnees = [{idService:_id,idCategorie:_idCategorie,txtNouveau:_txtNouveau}];
       var objCallAJAX = new CallAJAX();
       objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, obj);
    }
    {
        AfficherPnlReponse("Erreur...", "Veuillez sélectionner une catégorie à associer au service en cliquant sur \"Modifier\"", YAHOO.widget.SimpleDialog.ICON_WARN);
    }
}

function ListerMembres()
{
    var callback = {
        success: function(o) {
            var xml = o.responseXML;
            var objGenererHtml = new GenererHtml();
            var data = objGenererHtml.GenererCbxWithXml(xml, "cbxMembres", "membre", "nomComplet");
            YAHOO.util.Dom.get("divCentre").innerHTML = data;
            YAHOO.util.Dom.get("divCentre").innerHTML += "<div id=\"infosMembre\"></div>";
        },
        failure: function(o) {
            AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
        }
    };
    var obj = new ObjParametres();
    obj.module = CTE_MODULE_MEMBRE
    obj.action = CTE_ACTION_LISTER;
    obj.donnees = [{statut:"ACTIF"}];
    var objCallAJAX = new CallAJAX();
    objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, obj);
}

function ListerCourriel()
{
    var callback = {
        success: function(o) {
            var xml = o.responseXML;
            var xsl = loadXML("../modules/membres/xsl/listecourriel.xsl");
            TransformerXMLXSL("divCentre", xml, xsl);
        },
        failure: function(o) {
            AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
        }
    };
    var obj = new ObjParametres();
    obj.module = CTE_MODULE_MEMBRE
    obj.action = CTE_ACTION_LISTER;
    obj.donnees = [{statut:"ACTIF"}];
    var objCallAJAX = new CallAJAX();
    objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, obj);
}

function ObtenirMembreInfo(_id)
{
    var callback = {
        success: function(o) {
            var xml = o.responseXML;
            var xsl = loadXML("../modules/membres/xsl/infos.xsl");
            TransformerXMLXSL("infosMembre", xml, xsl);
        },
        failure: function(o) {
            AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
        }
    };
    var obj = new ObjParametres();
    obj.module = CTE_MODULE_MEMBRE
    obj.action = CTE_ACTION_LISTER;
    obj.donnees = [{statut:"",id:_id}];
    var objCallAJAX = new CallAJAX();
    objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, obj);
}

function CbxLoad(_id)
{
    var tmp = YAHOO.util.Dom.get(_id).value;
    var objParam = new ObjParametres();
    switch (_id)
    {
        case "cbxMembres":
            ObtenirMembreInfo(tmp);
            break;
        case "cbxVillesMembres":
            objParam.div = "divCbxSecteursMembres";
            objParam.control = "cbxSecteursMembres";
            objParam.membre = "secteur";
            objParam.valeur = "nom";
            objParam.module = CTE_MODULE_VILLES_SECTEURS;
            objParam.action = CTE_ACTION_SELECTIONNER;
            objParam.donnees = [{idVille:tmp}];
            ChargerCbx(objParam);
            break;
    }
}

function ChargerCbx(obj)
{
    var callback = {
        success: function(o) {
            var xml = o.responseXML;
            var objGenererHtml = new GenererHtml();
            var data = objGenererHtml.GenererCbxWithXml(xml, obj.control, obj.membre, obj.valeur);
            YAHOO.util.Dom.get(obj.div).innerHTML = data;
        },
        failure: function(o) {
            AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
        }
    };

    var objCallAJAX = new CallAJAX();
    objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, obj);
}

function Select_Value_Set(SelectName, Value)
{
    var SelectObject = document.getElementById(SelectName);
    var index = 0;
    for(index = 0; index < SelectObject.length; index++)
    {
        if(SelectObject[index].value == Value)
            SelectObject.selectedIndex = index;
    }
}

function GetValue(id)
{
    var reponse = "";
    if (YAHOO.util.Dom.get(id) != undefined)
    {
        reponse = YAHOO.util.Dom.get(id).value;
    }
    return reponse;
}

function GetCheckBoxValue(id)
{
    return (YAHOO.util.Dom.get(id).checked) ? 1 : 0;
}

function EnregistrerMembre()
{
    var txtPrenom = GetValue("txtPrenom");
    var txtNom = GetValue("txtNom");
    var txtTelephone = GetValue("txtTelephone");
    var txtCourriel = GetValue("txtCourriel");
    var txtUid = GetValue("txtUid");
    var txtPwd1 = GetValue("txtPwd1");
    var txtPwd2 = GetValue("txtPwd2");
    var txtVille = GetValue("cbxVillesMembres");
    var txtCellulaire = GetValue("txtCellulaire");
    var txtAdresse = GetValue("txtAdresse");
    var txtSecteur = GetValue("cbxSecteursMembres");
    var chkInteretactivites = GetCheckBoxValue("chkInteretactivites");
    var chkPeuregrouper = GetCheckBoxValue("chkPeuregrouper");
    var txtNomPersContact1 = GetValue("txtNomPersContact1");
    var txtLienPersContact1 = GetValue("txtLienPersContact1");
    var txtTelPersContact1 = GetValue("txtTelPersContact1");
    var txtNomPersContact2 = GetValue("txtNomPersContact2");
    var txtLienPersContact2 = GetValue("txtLienPersContact2");
    var txtTelPersContact2 = GetValue("txtTelPersContact2");
    var txtNomTuteur = GetValue("txtNomTuteur");
    var txtTelTuteur = GetValue("txtTelTuteur");
    var id = GetValue("cbxMembres");

    if (txtPrenom != "" &&
        txtNom != "" &&
        txtTelephone != "" &&
        txtCourriel != "" &&
        txtVille != "" &&
        txtAdresse)
    {
        var callback = {
            success: function(o) {
                var text = o.responseText;
                if (text.indexOf("Erreur:") == 0)
                {
                    AfficherPnlReponse("Erreur...", text, YAHOO.widget.SimpleDialog.ICON_WARN);
                }
                else
                {
                    AfficherPnlReponse("Succès...", "Succès : " + text, YAHOO.widget.SimpleDialog.ICON_INFO);
                }
            },
            failure: function(o) {
                AfficherPnlReponse("Erreur...", "Erreur : " + o.responseText, YAHOO.widget.SimpleDialog.ICON_WARN);
            }
        };

        var obj = new ObjParametres();
        obj.module = CTE_MODULE_MEMBRE;
        obj.action = CTE_ACTION_MODIFIER;
        obj.donnees = [{isAdmin:1,
                        idMembre:id,
                        nom:txtNom,
                        prenom:txtPrenom,
                        telephone:txtTelephone,
                        courriel:txtCourriel,
                        uid:txtUid,
                        pwd:txtPwd1,
                        pwd2:txtPwd2,
                        idVille:txtVille,
                        cellulaire:txtCellulaire,
                        adresse:txtAdresse,
                        idSecteur:(txtSecteur == "#") ? "" : txtSecteur,
                        interetactivites:chkInteretactivites,
                        peuregrouper:chkPeuregrouper,
                        nomperscontact1:txtNomPersContact1,
                        nomperscontact2:txtNomPersContact2,
                        lienpersContact1:txtLienPersContact1,
                        lienpersContact2:txtLienPersContact2,
                        telperscontact1:txtTelPersContact1,
                        telperscontact2:txtTelPersContact2,
                        nomtuteur:txtNomTuteur,
                        teltuteur:txtTelTuteur}];

        var objCallAJAX = new CallAJAX();
        objCallAJAX.CallWithObjParam(CTE_POST, YAHOO.seladmin.sUrl, callback, obj);
    }
    else
    {
        AfficherPnlReponse("Erreur...", "Certaines données sont manquantes pour l'enregistrement.", YAHOO.widget.SimpleDialog.ICON_WARN);
    }
}

function ChargerHtml(fichier, div)
{
    var sUrl = "html/" + fichier + ".xhtml";
    var obj = new ChargerFichierHtml();
    obj.Charger(sUrl, div);
}

function SeConnecter()
{
    var _uid = document.getElementById("txtNomUsager").value;
    var _pwd = document.getElementById("txtPwd").value;

    if (_uid != "" && _pwd != "")
    {
        var objParam = new ObjParametres();

        objParam.module = CTE_MODULE_AUTHENTIFICATION;
        objParam.action = CTE_ACTION_AUTHENTIFIER_ADMIN;
        objParam.donnees = [{uid:_uid,pwd:_pwd}]

        var callback = {
            success: function(o) {
                var reponse = o.responseText;
                if (reponse.indexOf("Erreur:") == 0)
                {
                    alert(reponse.substr(reponse.indexOf("Erreur:")+7));
                }
                else
                {
                    reponse = o.responseText;
                    if (reponse != "")
                    {
                        var str = reponse.split(";");
                        YAHOO.util.Cookie.set("nom", str[0], {expires: new Date().getDate()+1});
                        YAHOO.util.Cookie.set("prenom", str[1], {expires: new Date().getDate()+1});
                        YAHOO.util.Cookie.set("role", str[2], {expires: new Date().getDate()+1});
                        YAHOO.util.Cookie.set("authentifie", str[3], {expires: new Date().getDate()+1});
                        ChargerHtml("admin", "divAuth");
                    }
                }
            },
            failure: function(o) {
                alert(o.responseText);
            }
        };

        var objCallAJAX = new CallAJAX();
        objCallAJAX.CallWithObjParam(CTE_POST, "../commun/gestion.php", callback, objParam);
    }
    else
    {
        alert("Vous devez entrer votre nom d'usager et votre mot de passe.");
    }
}

function Quitter()
{
    var callback = {
        success: function(o) {
            var reponse = o.responseText;
            if (reponse.indexOf("Erreur:") == 0)
            {
                //Quitter();
            }
            else
            {
                reponse = o.responseText;
                if (reponse != "0")
                {
                    YAHOO.util.Cookie.remove("nom");
                    YAHOO.util.Cookie.remove("prenom");
                    YAHOO.util.Cookie.remove("role");
                    YAHOO.util.Cookie.remove("authentifie");
                    window.location.href ="http://"+window.location.hostname+"/admin";
                }
            }
        },
        failure: function(o) {
            //Quitter();
        }
    };

    var json = new Date().getTime();
    var objCallAJAX = new CallAJAX();
    objCallAJAX.Call(CTE_POST, "../commun/gestion.php", callback, CTE_MODULE_AUTHENTIFICATION, CTE_ACTION_QUITTER, json);
}
