/* Metamoteur de recherche JavaScript 1.2
   Ecrit et realise par Eric Theeten.
   Le resultat est affiche dans une nouvelle fenetre.
   Soumet aux outils les termes entrés dans 'quoi' dont on  a retire les accents.
   http://users.skynet.be/ekurea/recherche/moteur.html
   (cette version est adaptée a la presentation de Ekurea)   
   Pour tout remarque ou question: etheeten@belgacom.net
*/

/* Une ligne de listeMoteur:
  Nom, urlDeRecherche, image, url, caractereEspacement
   0       1             2     3           4        
*/
var listeMoteurs = new Array(
  new Array('Google', 'http://www.google.be/search?hl=fr&ie=UTF-8&oe=UTF-8&q=', 'http://www.google.com/logos/Logo_40wht.gif', 'http://www.google.com', '+'),

  new Array('Alltheweb', 'http://www.alltheweb.com/search?cat=web&cs=iso-8859-1&l=any&q=','http://www.alltheweb.com/g/atwlogo_small.gif', 'http://www.alltheweb.com', '+'),

  new Array('Hotbot', 'http://www.hotbot.lycos.fr/result.html?bool=all&z=1111121211211111211&languagefield=any&numresult_field=10&description_field=full&uk=ww&hs=s&query=', 'http://www.hotbot.lycos.fr/graphics/logo_hb2_white.gif', 'http://www.hotbot.fr', '%20'),

  new Array('Altavista', 'http://fr.altavista.com/q?pg=q&kl=XX&search.x=16&search.y=5&what=web&q=', 'http://a12.g.akamai.net/7/12/282/07/av.com/static/ave/adav/av-talllogo.gif', 'http://altavista.fr', '+'),
  new Array('ODP', 'http://search.dmoz.org/cgi-bin/search?all=yes&cs=ISO-8859-1&cat=World%2FFran%C3%A7ais&search=', 'http://dmoz.org/user-banners/button.gif', 'http://dmoz.org', '+'),

  new Array('Yahoo', 'http://fr.search.yahoo.com/search/fr?p=', 'http://eur.yimg.com/i/fr/g/shortlogo.gif', 'http://www.yahoo.fr', '+'),

  new Array('Voila', 'http://search.ke.voila.fr/S/voila?kw=', 'http://c.voila.fr/Icons/Logos/logo_voila.gif', 'http://www.voila.fr', '+')
);

//http://www.hotbot.lycos.fr/result.html?bool=all&z=1111121211211111211&languagefield=any&numresult_field=10&description_field=full&uk=ww&hs=s&query=eric%20marc


function ouvrir(urlPage, nomFenetre) {
OpenWin = this.open(urlPage, nomFenetre, "left=0,top=0,toolbar=yes,menubar=yes,location=yes,scrollbars=yes,status=yes,personalbar=yes,resizable=yes,alwaysRaised=yes");

OpenWin.focus();
}


function checkeMoi(idx) {
  // cherche l'option checkee
  document.formulaire.outil[idx].checked='true';
}



function optionsDeRecherche() {
  // affiche les options de recherche
  for(i=0; i < listeMoteurs.length; i++) {
    if ((i%2)==0) {
      document.write("<tr>");
      if ((i==listeMoteurs.length-1)&&(listeMoteurs.length%2==1)) 
        document.write("<td colspan='2'>")
      else
        document.write("<td>")       
    }
    else
      document.write("<td>");

    document.write("<input type='radio'  name='outil' value='" + i +"'><img src='" + listeMoteurs[i][2] +"' style='vertical-align: middle;' onClick='checkeMoi("+ i + ")' alt='" + listeMoteurs[i][0] + "'></input>");
    if ((i%2)==1) 
      document.write("</td></tr>")
    else
      document.write("</td>");
  }
  document.formulaire.outil[0].checked='true';

  //on en profite pour donner le focus a 'quoi':
  document.formulaire.quoi.focus();

}



function remplace(chaine,avant,apres) {
  // retourne chaine avec avant replace par apres
  var i=0
  while (i!=-1) {
    i=chaine.indexOf(avant,i);
    if (i>=0) {
      chaine=chaine.substring(0,i)+apres+chaine.substring(i+avant.length);
      i += apres.length;
    }
  }
  return chaine;
}

function retireAccents(chaine) {
  /* retourne chaine sans les accents 
     pour info: 
     é: %E9, è: %E8, ê: %EA, à: %E0, â: %E2,
     ë: %EB, ï: %EF, î: %EE, ö: %F6, ô: %F4,
     ç: %E7, û: %FB, ü: %FC
  */

  chaine = escape(chaine);
  chaine = remplace(chaine,'%E9','e');
  chaine = remplace(chaine,'%E8','e');
  chaine = remplace(chaine,'%EA','e');
  chaine = remplace(chaine,'%E0','a');
  chaine = remplace(chaine,'%E2','a');
  chaine = remplace(chaine,'%EB','e');
  chaine = remplace(chaine,'%EF','i');
  chaine = remplace(chaine,'%EE','i');
  chaine = remplace(chaine,'%F6','o');
  chaine = remplace(chaine,'%F4','o');
  chaine = remplace(chaine,'%E7','ç');
  chaine = remplace(chaine,'%FB','u');
  chaine = remplace(chaine,'%FC','u');
  chaine = unescape(chaine);
  return chaine;
}



function cherche() {
  //soumet la recherche
  
  var idxMoteur = 0;
  while (document.formulaire.outil[idxMoteur].checked == false )
    idxMoteur++;
  if (document.formulaire.quoi.value != "") {
    var requete =  retireAccents(document.formulaire.quoi.value);   
    var adresse =  listeMoteurs[idxMoteur][1];
    var lesMots = escape(requete).split("%20");
    for(i=0; i<lesMots.length; i++)
      adresse = adresse + listeMoteurs[idxMoteur][4]  + lesMots[i];
    ouvrir(adresse,listeMoteurs[idxMoteur][0])
  }
  else
  ouvrir(listeMoteurs[idxMoteur][3],listeMoteurs[idxMoteur][0])
}




