/*
 
 Poñer funcións de uso común na caixa de ferramentas.
 Adaptada de http://en.wikipedia.org/wiki/User:Kbh3rd/Vandal_warning_toolbox

 Ferramenta en desenvolvemento, se queres probala engade "importScript('Usuario:Elisardojm/whackamole.js');" no teu ficheiro Nome_de_usario/monobook.js ou Nome_de_usuario/vector.js dependendo da aparencia que uses.
 
 */
 // <pre><nowiki>
 
 
 // ****************
 //  Ligazón a buscador Google 
 // ****************
 function whackGoogleLookup () {
    var q = "" + (window.getSelection ? window.getSelection()
                                      : document.getSelection ? document.getSelection()
                                                              : document.selection.createRange().text);
    if (!q)
        q = prompt("Non seleccionaches ningún texto. Indica un texto para procurar:", "");
    if (q!=null)
        // location="http://www.google.com/search?q=" + escape(q).replace(/ /g, "+");
        window.open("http://www.google.com/search?q=" + escape(q).replace(/ /g, "+") ,'new-tab') ;
 }
 
 // **************
 // Selección de mes
 // **************
 
 function whackMonth_senuso () {
    var d=new Date()
    var f = document.editform ;
 
    var month=new Array(12)
    month[0]="Xaneiro"; month[1]="Febreiro"; month[2]="Marzo"; month[3]="Abril"; month[4]="Maio"; month[5]="Xuño";
    month[6]="Xullo"; month[7]="Agosto"; month[8]="Setembro"; month[9]="Outubro";
    month[10]="Novembro"; month[11]="Decembro";
 
    f.wpTextbox1.value += "\n== "+month[d.getMonth()]+" "+d.getFullYear()+" ==\n\n" ;
    f.wpSummary.value = month[d.getMonth()] ;
    f.wpMinoredit.checked=true;
    f.wpWatchthis.checked=false;
    if (f.wpTextbox1.scrollTop || true)
      f.wpTextbox1.scrollTop = f.wpTextbox1.scrollHeight ;
 }
 
 // **
 // Revisar que mes é cando se edita
 // **
 
 function whackCheckMonth () {
 
    var d=new Date()
    var f = document.editform ;
 
    var month=new Array( "Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro") ;
    var myregexstr = new String ('== *' + month[d.getMonth()] + " " + d.getFullYear() + ' *==') ;
    var myregex = new RegExp(myregexstr);
    if (myregex.test(f.wpTextbox1.value) != true) {
        f.wpTextbox1.value += "\n== "+month[d.getMonth()]+" "+d.getFullYear()+" ==\n" ;
        f.wpSummary.value = month[d.getMonth()] ;
        if (f.wpTextbox1.scrollTop || true)
          f.wpTextbox1.scrollTop = f.wpTextbox1.scrollHeight ;
    }
 }
 

 // *********************************************************************
 // Avisos que saen na barra de ferramentas. 
 // Parámetros: mensaxe- texto a engadir
 //             msg2- polo de agora non sei moi ben para que se utiliza 
 //             summary- texto que sairá no resumo de edición
 //             level- nivel de separación do texto
 //             mes- indicador de se hai que poñer o mes ou non
 // **********************************************************************
 
 function whackEdit (message, msg2, summary, level, mes) {
    var f = document.editform ;
    var tbox = document.editform.wpTextbox1 ;
    var a = "" + (window.getSelection ? window.getSelection()
                                      : document.getSelection ? document.getSelection()
                                                              : document.selection.createRange().text);
    if (msg2 != "") {
      a = prompt ("Nome de artigo?\n(Baleiro+Aceptar para unha mensaxe xenérica, Cancelar aborta a acción.)", a) ;
      if (a == null) return ;
      a = a.replace(/^\s+/, '') ;
      a = a.replace(/\.?\s*$/, '');
 
      if (a != null && a != "") {
        message = message.replace(/\|/,"|"+a) ;
        summary += " en [[" + a + "]]" ;
      } else {
        message = msg2 ;
      }
    }
    if (mes == 's'){
      whackCheckMonth () ;
    }
    f.wpTextbox1.value += "\n" + message + " <br clear=\"both\" />\n" ;
    f.wpSummary.value = summary ;
    if (level > 0) { f.wpSummary.value += " /"+level+"/" ; }
    if (document.getElementById('wpMinoredit')) f.wpMinoredit.checked=false;
    f.wpWatchthis.checked=false ;
    f.wpTextbox1.focus();
    if (f.wpTextbox1.scrollTop || true) f.wpTextbox1.scrollTop = f.wpTextbox1.scrollHeight ;
 }

 function Benvida     (x) { whackEdit ("{{subst:Benvida|}} Saúdos, ~~~~",  "", "Benvida, usando [[Usuario:Elisardojm/whackamole.js]]", 0, 'n'); } 
 function Benvidaip     (x) { whackEdit ("{{subst:Benvida ip|}} Saúdos, ~~~~",  "", "Benvida ip, usando [[Usuario:Elisardojm/whackamole.js]]", 0, 'n'); } 

 function Vandalismo  (x) { whackEdit ("{{subst:au-vandalismo1|}} Saúdos, ~~~~",  "", "Vandalismo, usando [[Usuario:Elisardojm/whackamole.js]]", 0, 's'); } 

 function whackSelf   (x) { whackEdit ("{{subst:uw-selfrevert|}} ~~~~",    "{{subst:uw-selfrevert}} ~~~~",    "Self-reverted test", 0, 's'); }
 function whackWarn   (x) { whackEdit ("{{subst:au-test"+x+"|}} ~~~~",     "{{subst:au-test"+x+"}} ~~~~",     "Experimentando", x, 's'); }
 function whackVandal (x) { whackEdit ("{{subst:au-vandalismo"+x+"|}} ~~~~",     "{{subst:au-vandalismo"+x+"}} ~~~~",     "Vandalizando", x, 's'); }
 function whackBlank  (x) { whackEdit ("{{subst:uw-delete"+x+"|}} ~~~~",   "{{subst:uw-delete"+x+"}} ~~~~",   "Blanking", x, 's'); }
 function whackErrors (x) { whackEdit ("{{subst:uw-error"+x+"|}} ~~~~",    "{{subst:uw-error"+x+"}} ~~~~",    "Introducing errors", x, 's'); }
 function whackNPOV   (x) { whackEdit ("{{subst:uw-npov"+x+"|}} ~~~~",     "{{subst:uw-npov"+x+"}} ~~~~",     "[[WP:NPOV|NPOV]]", x, 's'); }
 function whackNOR    (x) { whackEdit ("{{subst:uw-nor"+x+"|}} ~~~~",      "{{subst:uw-nor"+x+"}} ~~~~",      "[[WP:NOR|Original research issues]]", x, 's'); }
 function whackBLP    (x) { whackEdit ("{{subst:uw-biog"+x+"|}} ~~~~",     "{{subst:uw-biog"+x+"}} ~~~~",     "[[WP:BLP|Living persons issues]]", x, 's'); }
 function whackSpam   (x) { whackEdit ("{{subst:au-spam"+x+"|}} ~~~~",     "{{subst:au-spam"+x+"}} ~~~~",     "Spamming/Publicidade", x, 's'); }
 function whackAds    (x) { whackEdit ("{{subst:uw-ad"+x+"|}} ~~~~",       "{{subst:uw-ad"+x+"}} ~~~~",       "Advertising", x, 's'); }
 function whackCopyvio(x) { whackEdit ("{{subst:au-copyvio|}} ~~~~",     "{{subst:au-copyvio}} ~~~~",     "Violación de dereitos de autor", 0, 's'); }
 function whackHoax   (x) { whackEdit ("{{subst:uw-hoax|}} ~~~~",          "{{subst:uw-hoax}} ~~~~",          "Hoax", 0, 's'); }
 function whackBlatant(x) { whackEdit ("{{subst:uw-bv|}} ~~~~",            "{{subst:uw-bv}} ~~~~",            "Blatant vandalism", 0, 's'); }
 function whackBlocked(x) { whackEdit ("{{subst:uw-block"+x+"|sig=~~~~}}", "",                                "** BLOCKED **", x, 's'); }
 
 function whackBlocked2(){whackEdit ("[[Image:Modern_clock_chris_kemps_01.png|left|32px]]"
      + "You have been temporarily [[Wikipedia:Blocking policy|blocked from editing]] because of your disruptive edits."
      + " You are [[Wikipedia:Contributing to Wikipedia|invited to contribute]]"
      + " in a [[Wikipedia:Five pillars|constructive manner]] as soon as the block expires.", "", "Blocked", 's'); }
 
 // **************************************************
 // Installation
 // **************************************************
 
 window.whack_addlilink=function(tabs, n, url, name, id, title, key){
    var ix ;
    var li = document.createElement('li');
    if (n > 0) {
            li.appendChild(document.createTextNode(name)) ;
            for (ix = 1 ; ix <= n ; ix++) {
                    var na = document.createElement('a');
                    na.href = url.replace(/XX/g, ix) ;
                    na.appendChild(document.createTextNode(" "+ix));
                    li.appendChild(na);
            }
    } else {
      var na = document.createElement('a');
      na.href = url;
      na.appendChild(document.createTextNode(name));
      li.appendChild(na);
    }
    if(id) li.id = id;
    tabs.appendChild(li);
    if(id) {
      if(key && title) ta[id] = [key, title];
      else if(key)     ta[id] = [key, ''];
      else if(title)   ta[id] = ['', title];
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    // ?? akeytt();
    return li;
 }
 
 window.whack_addToolboxLink=function(n, url, name, id){
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
    whack_addlilink(tb, n, url, name, id);
 }
 
 window.playWhackMoles=function() {
 
  if (document.title.match("Editando") || document.title.match("Creando") ) {
 
    whack_addlilink (document.getElementById('p-tb').getElementsByTagName('ul')[0],
         0, "http://en.wikipedia.org/wiki/Wikipedia:Template_messages/User_talk_namespace#Multi_level_templates",
         "Warning Templates:", "uTemplates") ;

    // Opción para engadir mensaxes de benvida
    whack_addToolboxLink(1, 'javascript:{Benvida(XX);};void(0);',      'Benvida',   'toolbox_test');
    whack_addToolboxLink(1, 'javascript:{Vandalismo(XX);};void(0);',   'Vandalismo','toolbox_test');
    whack_addToolboxLink(1, 'javascript:{Benvidaip(XX);};void(0);',    'Benvidaip', 'toolbox_test');

    whack_addToolboxLink(3, 'javascript:{whackWarn(XX);};void(0);',    'Test',      'toolbox_test');
    whack_addToolboxLink(1, 'javascript:{whackSelf(XX);};void(0);',    'Self Test', 'toolbox_selftest');
    whack_addToolboxLink(4, 'javascript:{whackVandal(XX);};void(0);',  'Vandalismo','toolbox_vandal');
    whack_addToolboxLink(4, 'javascript:{whackBlank(XX);};void(0);',   'Blank',     'toolbox_dele');
    whack_addToolboxLink(3, 'javascript:{whackErrors(XX);};void(0);',  'Errors',    'toolbox_errors');
    whack_addToolboxLink(4, 'javascript:{whackNPOV(XX);};void(0);',    'NPOV',      'toolbox_npov');
    whack_addToolboxLink(4, 'javascript:{whackNOR(XX);};void(0);',     'O.R.',      'toolbox_nor');
    whack_addToolboxLink(4, 'javascript:{whackBLP(XX);};void(0);',     'BLP',       'toolbox_blp');
    whack_addToolboxLink(4, 'javascript:{whackSpam(XX);};void(0);',    'Spam/Publi','toolbox_spam');
    whack_addToolboxLink(4, 'javascript:{whackAds(XX);};void(0);',     'Ads',       'toolbox_ads');
    whack_addToolboxLink(1, 'javascript:{whackCopyvio(XX);};void(0);', 'Copyvio',   'toolbox_copyvio');
    whack_addToolboxLink(1, 'javascript:{whackBlatant(XX);};void(0);', 'Blatant',   'toolbox_blatant');
    whack_addToolboxLink(3, 'javascript:{whackBlocked(XX);};void(0);', 'BLOCK',     'toolbox_block');

    whack_addToolboxLink(0, 'javascript:{whackGoogleLookup();};void(0);', 'Procura en Google', 'toolbox_googlelookup');
  }
 }
 
 
 
 
 // onload
 window.simpleAddOnload=function(f) {
   if (window.addEventListener) window.addEventListener("load", f, false);
   else if (window.attachEvent) window.attachEvent("onload",f);
 }
 
 
 simpleAddOnload(playWhackMoles);
 
 // </nowiki></pre>