/* Adapté par <Philippe.Deschamp@INRIA.Fr> */
/*
Find In Page Script- 
By Mike Hall (MHall75819@aol.com)
Permission granted to Dynamicdrive.com to feature script in archive
For full source code, visit http://dynamicdrive.com
*/

var NS4 = (document.layers); // Which browser?
var NS6 = (document.getElementById && !document.all)
var IE4 = (document.all);

var win = window; // window to search.
var n = 0;

function Localiser(str) {

  var txt, i, found;

  if (str == "")
    return false;

  win.status = "Recherche en cours...";

  // Find next occurrence of the given string on the page, wrap around to the
  // start of the page if necessary.

  if (NS4 || NS6) {

    // Look for match starting at the current point. If not found, rewind
    // back to the first match.

    if (!win.find (str))
      while (win.find (str, false, true))
	n++;
    else
      n++;
  }
  else if (IE4) {
      txt = win.document.body.createTextRange();

      // Find the nth match from the top of the page.

      for (i = 0; i <= n && (found = txt.findText (str)) != false; i++) {
	txt.moveStart ("character", 1);
	txt.moveEnd ("textedit");
      }

      // If found, mark it and scroll it into view.

      if (found) {
	txt.moveStart ("character", -1);
	txt.findText (str);
	txt.select();
	txt.scrollIntoView();
	n++;
      }

      // Otherwise, start over at the top of the page and find first match.

      else if (n > 0) {
	n = 0;
	Localiser(str);
      }
    }

  if (n == 0)			// not found in either direction, give message.
    alert ("Aucune occurrence du texte cherché (« "+str+" »).\n"
	   + "Vérifiez les accents, les cédilles, ...");

  win.status = "Recherche terminée.";
  return false;
}

function ConseillerEntree (num)
{
  win.status = (num == 0) ? "" : "La touche « Entrée » a le même effet, en principe.";
  return true;
}

function focusSurRecherche ()
{
  if (NS4 || IE4)
    document.Recherche.chaine.focus ();
  return true;
}

