Aller au contenu

Utilisateur:Dr Brains/FeedbacksByCategory.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
if(typeof(FeedbacksByCategory)==="undefined"){

var FeedbacksByCategory = new Object();
FeedbacksByCategory.Variables = new Object();

FeedbacksByCategory.Texts = new Object()

FeedbacksByCategory.Functions = new Object();

FeedbacksByCategory.Functions.Ajax = function(bundle){
    var xmlhttp;
    try {
        xmlhttp = new XMLHttpRequest();
    } catch(e) {
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                xmlhttp = false
            }
        }
    } 
    if (xmlhttp) {
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4){
                if (xmlhttp.status == 200 || xmlhttp.status == 302) {
                    if (bundle.onSuccess) bundle.onSuccess(xmlhttp,bundle);
                } else {
                    if (bundle.onFailure) bundle.onFailure(xmlhttp,bundle);
                }
            }
        }
        xmlhttp.open(bundle.method ? bundle.method : "GET",bundle.url,bundle.async === false ? false : true);
        if (bundle.headers) {
            for (var field in bundle.headers){
                try { xmlhttp.setRequestHeader(field,bundle.headers[field]); } catch(err) { }
            }
        }
        xmlhttp.send(bundle.data ? bundle.data : null);
    }
    return xmlhttp;
};

FeedbacksByCategory.Functions.AddLink = function(ToolsSpan){
    var Link = document.createElement("a");
    Link.innerHTML = FeedbacksByCategory.Texts.LaunchLinkText;
    Link.title = FeedbacksByCategory.Texts.LaunchLinkTitle;
    Link.href = "javascript:FeedbacksByCategory.Functions.ToggleForm();";
    ToolsSpan.appendChild(document.createTextNode(" • "));
    ToolsSpan.appendChild(Link);
}

FeedbacksByCategory.Functions.Init = function(){
    if(mw.config.get('wgNamespaceNumber') != 14) return;
    var Tools = $.makeArray( $(document).find('span.CategoryTools') ); .CategoryTools
    for(var a=0,l=Tools.length;a<l;a++){
        FeedbacksByCategory.Functions.AddLink(Tools[a]);
    }
    var Params = FeedbacksByCategory.Functions.GetURLParams();
    FeedbacksByCategory.Variables.URLParams = Params
    if(typeof(Params["AFfrom"])!="undefined") FeedbacksByCategory.Functions.ToggleForm();
}

function FeedbacksByCategory.Functions.GetURLParams(){
    var Params = new Array();
    var URL = document.URL;
    URL = URL.split("&");
    for(var a=0,l=URL.length;a<l;a++){
        var url = URL[a];
        if(url.indexOf("=")===-1) continue;
        paramname = decodeURIComponent(url.split("&")[0]);
        paramvalue = decodeURIComponent(url.split("&")[1]);
        Params[paramname] = paramvalue;
    }
    return Params;
}

FeedbacksByCategory.Texts.LaunchLinkText = "Retours de lecteurs"
FeedbacksByCategory.Texts.LaunchLinkTitle = "Lister tous les retours de lecteurs faits sur les pages de cette catégorie";
FeedbacksByCategory.Texts.Legend = "Formuaire de listage des retours de lecteurs de la catégorie « $1 »"

FeedbacksByCategory.Functions.ToggleForm = function(){
   var Menu = document.getElementById("FeedbacksByCategory_Menu");
   if(Menu){
       var Content = document.getElementById("mw-content-text");
       if(Menu.style.display == "none"){
           Menu.style.display = "";
           Content.style.display = "none";
       }else{
           Menu.style.display = "none";
           Content.style.display = "";
       }
   }else{
       FeedbacksByCategory.Functions.CreateForm();
   }
}

FeedbacksByCategory.Functions.CreateForm = function(){
   var Content = document.getElementById("mw-content-text");
   var Menu = document.createElement('div');
   Menu.id = "FeedbacksByCategory_Menu";
   Content.parentNode.insertBefore(Menu, Content);
   var Form = document.createElement('fieldset');
   Form.id = "FeedbacksByCategory_Form";  
   var Legend = document.createElement('legend');
   Legend.innerHTML = FeedbacksByCategory.Texts.Legend.split("$1").join(mw.config.get('wgTitle'));  
   Form.appendChild(Legend);
   var ResultsDiv = document.createElement('div');
   var OptionP = document.createElement('p');
   OptionP.className = "FeedbacksByCategory_Options";
   var Results = document.createElement('ul');
   Results.id = "FeedbacksByCategory_Results";
   var OptionS = document.createElement('p');
   OptionS.className = "FeedbacksByCategory_Options";
   ResultsDiv.appendChild(OptionP);
   ResultsDiv.appendChild(Results);
   ResultsDiv.appendChild(OptionS);
   Menu.appendChild(Form);
   Menu.appendChild(ResultsDiv);
   FeedbacksByCategory.Functions.FillForm(Form);
}
FeedbacksByCategory.Functions.CreateForm = function(Form){
   var Params = FeedbacksByCategory.Variables.URLParams;
   


}


$(FeedbacksByCategory.Functions.Init);

} // END IF