MediaWiki:Gadget-AdvancedResearch.js

De WikiMediation.

Share/Save/Bookmark

Note : après avoir enregistré vos préférences, 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 (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.

/**
 * Recherche avancée
 * 
 * Remplace la boîte de recherche par une avec beaucoup plus de possibilités
 * (raccourcis, recherche dans toutes les langues et projets, et quelques autres sites)
 * 
 * Auteur : Seb35
 * Version 2.1
 * Date de dernière révision : 21 mai 2009
 * 
 * Documentation de la fonction Recherche avancée : voir [[:w:fr:Utilisateur:Seb35/Scripts]]
 * [[Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
 */
 
////////////////////// ZONE PERSONNALISABLE //////////////////////
// Voir aussi [[:w:fr:Utilisateur:Seb35/Scripts]]
 
var adSearchProject;      // Projet par défaut, ex : wikipedia.org, meta.wikimedia.org | défaut : projet courant
 
var adSearchLang;         // Tableau des projets wiki contenant des tableaux de 3 cases :
                          // * langue du projet, vide sinon (exemple : fr, zh-classical)
                          // * adresse du projet            (exemple : wikipedia.org, meta.wikimedia.org)
                          // * affichage                    (exemple : fr)
                          // * (optionel) dossier du script (exemple : /wiki)
                          // * (optionel) 1=coché par défaut
 
var adSearchInstantTitle; // Afficher automatiquement le titre de la page en marquant '_' | activé
var adSearchSametab;      // Ouvrir dans le même onglet | désactivé
var adSearchShowtab;      // Ouvrir l'onglet supplémentaire en avant-plan | activé
var adSearchButtons;      // Boutons de recherche, voir le tableau adresses dans le code | Array('l','w','g','reset','c')
var adSearchDefault;      // Recherche par défaut lorsqu'on appuie sur Entrée | 'l'
var adSearchClear;        // Effacer après x 1/10e secondes (x >= 0), -1 pour ne pas effacer | -1
var adSearchAdresses;     // Ajouter des adresses, voir le tableau adresses dans le code
var adSearchOpenOptions;  // Options passées lors de l'ouverture d'une fenêtre | rien
var adSearchShortcuts;    // Remplacer les raccourcis | rien
var adSearchPanelView;    // Tableau permettant l'affichage de : langues - retour à la ligne - autres langues -
                          //  case même fenêtre - case arrière-plan - retour à la ligne - boutons | 1,1,1,1,1,1,1
 
// DÉPRÉCIÉ : remplacé par le tableau adSearchLang
var adSearchLang0;
var adSearchLang0project;
var adSearchLang0name;
var adSearchLang1;
var adSearchLang1project;
var adSearchLang1name;
var adSearchLang2;
var adSearchLang2project;
var adSearchLang2name;
 
///////////////// FIN DE LA ZONE PERSONNALISABLE /////////////////
 
/*********************************/
/* Recherche avancée multilingue */
/* Auteur : Seb35                */
/*********************************/
function isset(va, dv) { if(va != undefined) return va; else return dv; }
 
var adSearchCompteur, adSearchDelete, adSearchDash = 0, adSearchHistory = Array(), adSearchIndexH, adSearchDefaultLang = 0;
 
function advancedResearch_main()
{
 adSearchProject = isset(adSearchProject, wgServer.replace(/.*\/\/(?:((?:commons|incubator|meta|species|www|wikimania\d{4})\.|wikimediafoundation)|\w*\.)(\w*\.org)/i, '$1$2'));
 
 adSearchLang0 = isset(adSearchLang0, wgServer.match(/.*\/\/(commons|incubator|meta|species|wikimediafoundation|www|wikimania\d{4})/i) ? '' : wgServer.match(/.*\/\/([a-z-]*)\./i)[1]);
 adSearchLang0project = isset(adSearchLang0project, adSearchProject);
 adSearchLang0name = isset(adSearchLang0name, (adSearchLang0 ? adSearchLang0 : adSearchLang0project.charAt(0)));
 adSearchLang1 = isset(adSearchLang1, (adSearchLang0 != 'fr' ? 'fr' : 'en'));
 adSearchLang1project = isset(adSearchLang1project, adSearchProject);
 adSearchLang1name = isset(adSearchLang1name, (adSearchLang1 ? adSearchLang1 : adSearchLang1project.charAt(0)));
 adSearchLang2 = isset(adSearchLang2, (adSearchLang0 != 'en' && adSearchLang0 != 'fr' ? 'en' : 'de'));
 adSearchLang2project = isset(adSearchLang2project, adSearchProject);
 adSearchLang2name = isset(adSearchLang2name, (adSearchLang2 ? adSearchLang2 : adSearchLang2project.charAt(0)));
 
 adSearchLang = isset(adSearchLang, Array(
  Array( '',            adSearchProject,      'all',             '/wiki/', 0 ),
  Array( adSearchLang0, adSearchLang0project, adSearchLang0name, '/wiki/', 1 ),
  Array( adSearchLang1, adSearchLang1project, adSearchLang1name, '/wiki/', 0 ),
  Array( adSearchLang2, adSearchLang2project, adSearchLang2name, '/wiki/', 0 )
 ));
 
 adSearchInstantTitle = isset(adSearchInstantTitle, true);
 adSearchSametab = isset(adSearchSametab, false);
 adSearchShowtab = isset(adSearchShowtab, true);
 adSearchButtons = isset(adSearchButtons, Array('l', 'w', 'g', 'reset', 'c'));
 adSearchDefault = isset(adSearchDefault, 'l');
 adSearchClear = isset(adSearchClear, -1);
 adSearchAdresses = isset(adSearchAdresses, Array());
 adSearchOpenOptions = isset(adSearchOpenOptions, 'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes');
 adSearchPanelView = isset(adSearchPanelView, Array(1, 1, 1, 1, 1, 1, 1));
 
 var a, lab, el, i, s;
 s = document.getElementById('searchform');
 a = s.getElementsByTagName('div')[0];
 if(adSearchLang.length == 0 || adSearchButtons.length == 0) { document.getElementById('searchInput').value = 'erreur de config:aucune langue ou aucun bouton définis'; return false; }
 document.getElementById('searchform').removeAttribute('action');
 for(i=0; i<5; i++) a.removeChild(a.lastChild);
 
 // Zone de texte
 addHandler( document.getElementById('searchInput'), 'focus', function(event){clearTimeout(adSearchDelete);} );
 addHandler( document.getElementById('searchInput'), 'keypress', function(event){check(false,event);} );
 if(adSearchInstantTitle)
 {
  addHandler( document.getElementById('searchInput'), 'mouseup', function(event){replaceunder();} );
  addHandler( document.getElementById('searchInput'), 'keyup', function(event){replaceunder();} );
 }
 
 // Langues rapidement accessibles
 for(i=0; i<adSearchLang.length; i++)
 {
  lab = document.createElement('label');
  el = document.createElement('input');
  el.setAttribute('type','radio');
  el.setAttribute('id','adlang'+(i+1));
  el.setAttribute('name','langselect');
  if(!adSearchPanelView[0]) el.setAttribute('style','display:none;');
  if(adSearchLang[i].length == 5 && adSearchLang[i][4] == '1')
  {
   el.setAttribute('checked','checked');
   adSearchDefaultLang = 'adlang'+(i+1);
  }
  lab.appendChild(el);
  if(adSearchPanelView[0]) lab.appendChild(document.createTextNode(adSearchLang[i][2]));
  if(window.addEventListener) a.appendChild(lab);
  else
  {
   a.innerHTML += '<label><input type="radio" name="langselect" id="adlang'+(i+1)+'"'+(adSearchLang[i].length == 5 && adSearchLang[i][4] == '1'?' checked="checked"':'')+' />'+adSearchLang[i][2]+'</label>';
   if(adSearchLang[i].length == 5 && adSearchLang[i][4] == '1') adSearchDefaultLang = 'adlang'+(i+1);
  }
 }
 if(adSearchDefaultLang == 0)
 {
  document.getElementById('adlang1').setAttribute('checked','checked');
  adSearchDefaultLang = 'adlang1';
 }
 
 // Retour à la ligne
 if(adSearchPanelView[1])
 {
  el = document.createElement('br');
  el.setAttribute('id','adbr1');
  a.appendChild(el);
 }
 
 // Langues supplémentaires
 el = document.createElement('input');
 el.setAttribute('type','radio');
 el.setAttribute('name','langselect');
 el.setAttribute('id','adlangplus');
 if(!adSearchPanelView[2]) el.setAttribute('style','display:none;');
 if(window.addEventListener) a.appendChild(el);
 else a.innerHTML += '<input type="radio" name="langselect" id="adlangplus"'+(adSearchPanelView[2]?'':' style="display:none;"')+' />';
 addHandler( document.getElementById('adlangplus'), 'focus', function(event){if(!document.getElementById('adotherlang').value) document.getElementById('adotherlang').focus();} );
 
 el = document.createElement('input');
 el.setAttribute('type','text');
 el.setAttribute('size','2');
 el.setAttribute('maxlength','12');
 if(adSearchPanelView[2]) el.setAttribute('style','font-size:95%;');
 else el.setAttribute('style','font-size:95%; display:none;');
 el.setAttribute('id','adotherlang');
 a.appendChild(el);
 addHandler( document.getElementById('adotherlang'), 'blur', function(event){if(document.getElementById('adlangplus').checked && !document.getElementById('adotherlang').value) document.getElementById(adSearchDefaultLang).checked = true;} );
 addHandler( document.getElementById('adotherlang'), 'keypress', function(event){check(true, event);} );
 
 // Case à cocher pour ouvrir dans la même fenêtre
 el = document.createElement('input');
 el.setAttribute('type','checkbox');
 el.setAttribute('id','adsametab');
 if(adSearchSametab) el.setAttribute('checked','checked');
 if(!adSearchPanelView[3]) el.setAttribute('style','display:none;');
 a.appendChild(el);
 addHandler( document.getElementById('adsametab'), 'click', function(event){if(document.getElementById('adsametab').checked) document.getElementById('adshowtab').style.visibility = 'hidden'; else document.getElementById('adshowtab').style.visibility = 'visible';} );
 
 // Case à cocher pour ouvrir en arrière-plan
 el = document.createElement('input');
 el.setAttribute('type','checkbox');
 el.setAttribute('id','adshowtab');
 if(adSearchShowtab) el.setAttribute('checked','checked');
 if(adSearchSametab) el.setAttribute('style','visibility:hidden;');
 if(!adSearchPanelView[4]) el.setAttribute('style','display:none;');
 a.appendChild(el);
 
 // Retour à la ligne
 if(adSearchPanelView[5])
 {
  el = document.createElement('br');
  el.setAttribute('id','adbr2');
  a.appendChild(el);
 }
 
 // Boutons de recherche
 for(i=0; i<adSearchButtons.length; i++)
 {
  if(adSearchButtons[i]=='reset') adSearchButtons[i]='rreset';
  el = document.createElement('input');
  if(adSearchButtons[i]==adSearchDefault && !is_gecko) el.setAttribute('type','submit');
  else el.setAttribute('type','button');
  el.setAttribute('class','searchButton');
  el.setAttribute('id',adSearchButtons[i]);
  if(!adSearchPanelView[6]) el.setAttribute('style','display:none;');
  if(adSearchButtons[i]=='rreset') el.setAttribute('value','.');
  else el.setAttribute('value',adSearchButtons[i].charAt(0));
  a.appendChild(el);
 
  if(adSearchButtons[i]=='rreset') addHandler( document.getElementById('rreset'), 'click', function(event){if(document.getElementById('searchInput').value) document.getElementById('searchInput').value = ''; else document.getElementById('searchform').reset(); document.getElementById('searchInput').focus(); adSearchDash = 0;} );
  else addHandler( document.getElementById(adSearchButtons[i]), 'click', function(event){ if(event.currentTarget != undefined) eval('go(\''+event.currentTarget.id+'\');'); else eval('go(\''+window.event.srcElement.id+'\');'); event.returnValue = false;} );
 }
}
addOnloadHook(advancedResearch_main);
 
/*************************/
/* Fonctions auxiliaires */
/* Auteur : Seb35        */
/*************************/
function check(frombarlang, e)
{
 if(e.keyCode == 13) { if(document.getElementById('adlangplus').checked && !document.getElementById('adotherlang').value) document.getElementById(adSearchDefaultLang).checked = true; if(is_gecko) go(adSearchDefault); }
 else if(frombarlang && !document.getElementById('adlangplus').checked && e.keyCode != 9) document.getElementById('adlangplus').checked = true;
 if(!frombarlang && (e.keyCode == 35 || e.keyCode == 36) && adSearchHistory.length)
 {
  if(!document.getElementById('searchInput').value && e.keyCode == 36) { adSearchIndexH = 0; document.getElementById('searchInput').value = adSearchHistory[0]; }
  else if(document.getElementById('searchInput').value == adSearchHistory[adSearchIndexH] && e.keyCode == 36 && adSearchIndexH < adSearchHistory.length-1) { adSearchIndexH++; ; document.getElementById('searchInput').value = adSearchHistory[adSearchIndexH]; }
  else if(document.getElementById('searchInput').value == adSearchHistory[adSearchIndexH] && e.keyCode == 35 && adSearchIndexH > 0) { adSearchIndexH--; ; document.getElementById('searchInput').value = adSearchHistory[adSearchIndexH]; }
 }
}
 
function replaceunder()
{
 clearTimeout(adSearchCompteur);
 var entree = document.getElementById('searchInput').value;
 document.getElementById('searchInput').value = entree.replace(/__/, theTitle(false));
 if(entree.length - adSearchDash > 1) document.getElementById('searchInput').value = entree.replace(/_/g, ' ');
 else if(/_/.test(entree))
 {
  if(!wgNamespaceNumber) document.getElementById('searchInput').value = entree.replace(/_/, theTitle(true));
  else adSearchCompteur = setTimeout("document.getElementById('searchInput').value = document.getElementById('searchInput').value.replace(/_/, theTitle(true)); adSearchDash = document.getElementById('searchInput').value.length;", 350);
 }
 adSearchDash = entree.length;
}
 
function theTitle(withnamespace)
{
 if(wgNamespaceNumber != -1)
 {
  if(withnamespace) return wgPageName.replace(/_/g, ' ');
  else return wgTitle;
 }
 else return 'Special:'+wgCanonicalSpecialPageName;
}
 
function storeHistory(mot)
{
 for(var i=0;i<adSearchHistory.length;i++) if(mot == adSearchHistory[i])
 {
  for(;i>0;i--) adSearchHistory[i]=adSearchHistory[i-1];
  adSearchHistory[0] = mot;
  return;
 }
 var max = (adSearchHistory.length < 4 ? adSearchHistory.length : 4);
 for(var i=max;i>0;i--) adSearchHistory[i] = adSearchHistory[i-1];
 adSearchHistory[0] = mot;
}
 
function go(motor)
{
 var raccourcis = new Array(
  /^sp:(.*)/i,       'Special:$1',                    'Special:$1',
  /^d:(.*)/i,        'Talk:$1',                       'Discuter:$1',
  /^da:(.*)/i,       'Help talk:$1',                  'Discussion Aide:$1',
  /^dc(?:at)?:(.*)/i,'Category talk:$1',              'Discussion Catégorie:$1',
  /^di:(.*)/i,       'Image talk:$1',                 'Discussion Image:$1',
  /^dm:(.*)/i,       'Template talk:$1',              'Discussion Modèle:$1',
  /^dmw:(.*)/i,      'MediaWiki talk:$1',             'Discussion MediaWiki:$1',
  /^dp:(.*)/i,       'Portal talk:$1',                'Discussion Portail:$1',
  /^dpj:(.*)/i,      'Wikipedia talk:WikiProject $1', 'Discussion Projet:$1',
  /^dr:(.*)/i,       'Talk:$1',                       'Discussion Référence:$1',
  /^du:(.*)/i,       'User talk:$1',                  'Discussion Utilisateur:$1',
  /^dw:(.*)/i,       'Project talk:$1',               'Discussion Wikipédia:$1',
  /^a:(.*)/i,        'Help:$1',                       'Aide:$1',
  /^c(?:at)?:(.*)/i, 'Category:$1',                   'Catégorie:$1',
  /^i:(.*)/i,        'Image:$1',                      'Image:$1',
  /^m:(.*)/i,        'Template:$1',                   'Modèle:$1',
  /^mw:(.*)/i,       'MediaWiki:$1',                  'MediaWiki:$1',
  /^p:(.*)/i,        'Portal:$1',                     'Portail:$1',
  /^pj:(.*)/i,       'Wikipedia:WikiProject $1',      'Projet:$1',
  /^u:(.*)/i,        'User:$1',                       'Utilisateur:$1',
  /^r:(.*)/i,        '$1',                            'Référence:$1',
  /^w:(.*)/i,        'Project:$1',                    'Wikipédia:$1',
  /(.*)--$/i,        'Special:Recentchangeslinked/$1','Special:Recentchangeslinked/$1',
  /(.*)-$/i,         'Special:Whatlinkshere/$1',      'Special:Whatlinkshere/$1',
  /(.*)\/c$/i,       'Special:Contributions/$1',      'Special:Contributions/$1',
  /(.*)\/u$/i,       'Special:Undelete/$1',           'Special:Undelete/$1',
  /(.*)\/(css|js)$/i,'User:$1/monobook.$2',           'Utilisateur:$1/monobook.$2',
  /(.*)\/i[aà]s$/i,  'Wikipedia:Images and media for deletion', 'Wikipédia:Images à supprimer/$1',
  /(.*)\/lann$/i,    '$1',                            'Wikipédia:Liste des articles non neutres/$1',
  /(.*)\/p[aà]s$/i,  'Wikipedia:Articles for deletion/$1', 'Wikipédia:Pages à supprimer/$1',
  /(.*)\/p[aà]v$/i,  '$1',                            'Wikipédia:Pages à vérifier/$1',
  /(.*)\/pcp$/i,     'Wikipedia:Copyright problems',  'Wikipédia:Pages soupçonnées de violation de copyright/$1'
 );
 
 // Wikis dans lesquels chercher
 var serveurs = new Array(
  /^(c|commons)$/i,     '',   'commons.wikimedia.org',   '/wiki/',
  /^(f|fou?ndation)$/i, '',   'wikimediafoundation.org', '/wiki/',
  /^(i|incubator)$/i,   '',   'incubator.wikimedia.org', '/wiki/',
  /^(m|meta)$/i,        '',   'meta.wikimedia.org',      '/wiki/',
  /^(mw|mediawiki)$/i,  '',   'www.mediawiki.org',       '/wiki/',
  /^(s|species)$/i,     '',   'species.wikipedia.org',   '/wiki/',
  /^(wz|wiktionaryz|ow|omegawiki)$/i, '', 'www.omegawiki.org', '/', // non-Wikimédia
  /^(.*)\.b$/i,         '$1', 'wikibooks.org',           '/wiki/',
  /^(.*)\.n$/i,         '$1', 'wikinews.org',            '/wiki/',
  /^(.*)\.q$/i,         '$1', 'wikiquote.org',           '/wiki/',
  /^(.*)\.s$/i,         '$1', 'wikisource.org',          '/wiki/',
  /^(.*)\.v$/i,         '$1', 'wikiversity.org',         '/wiki/',
  /^(.*)\.w(?:ikt)?$/i, '$1', 'wiktionary.org',          '/wiki/',
  /^(.*)\.wp$/i,        '$1', 'wikipedia.org',           '/wiki/'
 );
 
 var adresses = new Array(
  'l',   'http://*prefix**script*$1',
  'w',   'http://*prefix**script*Special:Search?fulltext=search&search=$1',
  'e',   'http://*prefix**script*$1?action=edit',
  'h',   'http://*prefix**script*$1?action=history',
  'lp',  'http://*prefix**script*Special:Log?page=$1',
  'lu',  'http://*prefix**script*Special:Log?user=$1',
  'pi',  'http://*prefix**script*Special:Prefixindex/$1',
  'g',   'http://www.google.com/search?num=100&q=$1+site:*prefix*',
  'c',   'http://www.google.com/search?num=100&q=%22$1%22',
  'gg',  'http://www.google.com/search?num=100&q=$1',
  'imdb','http://french.imdb.com/find?s=all&q=$1',
  'allo','http://www.allocine.fr/recherche/?motcle=$1',
  'lum', 'http://wiki.lumrix.net/*language*/search.php?f=lumrix-search&k=$1'
 );
 
 //Langue
 var urllanguage = '';
 var urlserver = adSearchProject;
 var scripte = '/wiki/';
 var urlmotor = '';
 var motor, i, sortie;
 if(document.getElementById('adlangplus').checked)
 {
  urllanguage = document.getElementById('adotherlang').value;
  if(!urllanguage) {motor = -1; urlmotor = 'http://www.wikimedia.org/';}
  if(urllanguage == '639') {motor = -1; urlmotor = 'http://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1';}
  if(urllanguage == '639-2') {motor = -1; urlmotor = 'http://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-2';}
  if(urllanguage == '639-3') {motor = -1; urlmotor = 'http://www.sil.org/iso639-3/codes.asp';}
  if(urllanguage == 'liste') {motor = -1; urlmotor = 'http://wikimediafoundation.org/wiki/Special:SiteMatrix';}
  for(i = 0; i<(serveurs.length)/4; i++)
  {
   if(serveurs[4*i].test(urllanguage))
   {
    urllanguage = urllanguage.replace(serveurs[4*i], serveurs[4*i+1]);
    if(urllanguage == '*') urllanguage = '';
    urlserver = serveurs[4*i+2];
    scripte = serveurs[4*i+3];
    break;
   }
  }
 }
 else
 {
  for(i=0; i<adSearchLang.length;i++)
  {
   if(document.getElementById('adlang'+(i+1)).checked)
   {
    urllanguage = adSearchLang[i][0];
    urlserver = adSearchLang[i][1];
    scripte = adSearchLang[i][3];
    break;
   }
  }
 }
 
 //Serveur
 var urlnom = document.getElementById('searchInput').value;
 var adr = adSearchAdresses.concat(adresses);
 for(i = 0; i<(adr.length)/2; i++)
 {
  if(adr[2*i] == motor) motor = i;
  var tmp = new RegExp('^'+adr[2*i]+';(.*)', 'i');
  if(tmp.test(urlnom))
  {
   urlnom = urlnom.replace(tmp, '$1');
   motor = i;
   break;
  }
 }
 if(isNaN(motor)) { document.getElementById('searchInput').value = 'erreur de config:motor='+motor; return false; }
 var urlprefix = urlserver;
 if(urllanguage) urlprefix = urllanguage + '.' + urlserver;
 if(!urlnom && motor != -1) { motor = -1; urlmotor = 'http://' + urlprefix; }
 
 // Préparation du moteur
 if(motor != -1)
 {
  urlmotor = adr[2*motor+1];
  urlmotor = urlmotor.replace(/\*prefix\*/gi, urlprefix);
  urlmotor = urlmotor.replace(/\*language\*/gi, urllanguage);
  urlmotor = urlmotor.replace(/\*server\*/gi, urlserver);
  urlmotor = urlmotor.replace(/\*script\*/gi, scripte);
 }
 
 //Requête
 var rac = isset(adSearchShortcuts, raccourcis);
 var mots = urlnom.split('|');
 for(u = 0; u < mots.length; u++)
 {
  mots[u] = mots[u].replace(/^ */, '').replace(/ *$/, '');
  storeHistory(mots[u]);
  if(/^#(\/.*)?/.test(mots[u])) mots[u] = mots[u].replace(/^#(\/.*)?/, 'Special:Random$1');
  if(/^Special:Random\/Redirect$/i.test(mots[u])) mots[u] = 'Special:Randomredirect';
  for(i = 0; i<(rac.length)/3; i++)
  {
   if(rac[3*i].test(mots[u]))
   {
    if(urllanguage == 'fr') mots[u] = mots[u].replace(rac[3*i], rac[3*i+2]);
    else mots[u] = mots[u].replace(rac[3*i], rac[3*i+1]);
   }
  }
  mots[u] = mots[u].replace(/__/, theTitle(false));
  if(/_/.test(mots[u])) mots[u] = mots[u].replace(/_/, theTitle(true));
  if(urllanguage != 'fr')
  {
   for(i = 0; i<(rac.length)/3; i++)
   {
    tmp = new RegExp(rac[3*i+2].replace('$1', '(.*)'), 'i');
    if(tmp.test(mots[u])) mots[u] = mots[u].replace(tmp, rac[3*i+1]);
   }
  }
 
  //Préparation de l'URL
  if(motor != -1) sortie = urlmotor.replace(/\$1/gi, mots[u]);
  else sortie = urlmotor;
 
  //Sortie
  if(document.getElementById('adsametab').checked) { window.location.assign(sortie); break; }
  else
  {
   dat = new Date();
   fenetre = window.open(sortie, 'f'+u+dat.getTime(), adSearchOpenOptions);
   if(!document.getElementById('adshowtab').checked) fenetre.blur();
  }
 }
 
 //Effacement du mot
 if(adSearchClear != -1)
 {
  if(adSearchClear == 0) document.getElementById('searchInput').value = '';
  else adSearchDelete = setTimeout("document.getElementById('searchInput').value = ''; adSearchDash = 0;", adSearchClear*100);
 }
 
 //Retrait des suggestions
 try
 {
  os_hideResults(os_map['searchInput']);
 }
 catch(e) {} 
}
Outils personnels
Translate