function anchorExists(name)
{
 for (var a = 0; a < document.anchors.length; a ++)
 {
  if (document.anchors[a].name == name)
   return true;
 }
 return false;
}

function doHighlightText(bodyText,searchTerm) 
{
 highlightStartTag = "<span style='color:white; background-color:blue;'>";
 highlightEndTag = "<\/span>";
 var newText = newBodyText = searchTermLength = "";
 var i = ii = err = -1;
 var match = 0;
 var lcSearchTerm = searchTerm.toLowerCase();
 //vytvorenie regulerneho vyrazu s pridanim diakritiky
 /*searchTerm = searchTerm.
  replace(/a/gi,'(a|á|ä)').
  replace(/c/gi,'(c|č)').
  replace(/d/gi,'(d|ď)').
  replace(/e/gi,'(e|ě|é)').
  replace(/i/gi,'(i|í)').
  replace(/l/gi,'(l|ľ|ĺ)').
  replace(/n/gi,'(n|ň)').
  replace(/o/gi,'(o|ó|ô)').
  replace(/r/gi,'(r|ŕ|ř)').
  replace(/s/gi,'(s|š)').
  replace(/t/gi,'(t|ť)').
  replace(/u/gi,'(u|ú)').
  replace(/z/gi,'(z|ž)').
  replace(/y/gi,'(y|ý)');*/
 var reSearchTerm = new RegExp(searchTerm,'i');
 var lcBodyText = bodyText.toLowerCase();
 while (bodyText.length > 0)
 {
  //moznost obmedzenia vyfarbovania na prilis velkych strankach - vyfarbi len prvych 100 
  /*err ++;
  if (err > 100)
  {
   newText += bodyText;
   bodyText = "";
  }*/
  //ulozi hodnotu "i" do "ii" kvoli ukoncovacej sekvencii
  ii = i;
  i = lcBodyText.substring(i + 1).search(reSearchTerm) + i + 1;
  //ukoncovacia sekvencia
  if (i == ii)
  {
   newText += bodyText;
   bodyText = "";
  }
  else
  {
   //ak je zhoda na zaciatku slova (nefarbi slovo od stredu)
   if (lcBodyText.substring(i - 1,i).search(/[^a-zA-Z0-9áäčďěéíľĺňóôŕřšťúžýÁÄČĎĚÉÍĽĹŇÓÔŔŘŠŤÚŽÝ]/) == 0)
   {
    // skip anything inside an HTML tag
    if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i))
    {
     //nehlada v tagoch <script> a <a>
     if (
         (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) &&
         (lcBodyText.lastIndexOf("/a>", i) >= lcBodyText.lastIndexOf("<a", i)))
     {
      newBodyText = bodyText.substr(i);
      searchTermLength = newBodyText.search(/[^a-zA-Z0-9áäčďěéíľĺňóôŕřšťúžýÁÄČĎĚÉÍĽĹŇÓÔŔŘŠŤÚŽÝ]/);
      newText += bodyText.substring(0, i) + 
                 '<a name="match' + match + '" href="#match' + (match + 1) + '" onclick="if(!anchorExists(\'match' + (match + 1) + '\')) location.hash = \'match0\'" title="Kliknutím sa presuniete na ďaľší nájdený výraz" style="text-decoration: none;">' +
                 highlightStartTag + 
                 bodyText.substr(i, searchTermLength) + 
                 highlightEndTag + '<\/a>';
      bodyText = bodyText.substr(i + searchTermLength);
      lcBodyText = bodyText.toLowerCase();
      i = -1;
      match ++;
     }
    }
   }
  }
 }
 return newText;
}

function highlightText()
{
 /*** TATO KNIZNICA SA NEPOUZIVA ***/
 return;
 if (document.body && typeof(document.body.innerHTML) != "undefined" && location.search)
 {
  //vyhladanie zvyrazneneho slova z parametra $_GET['highlight']
  var search = Array();
  var searchArray = '';
  var searchs = location.search.split('&');
  for (var s = 0; s < searchs.length; s ++)
  {
   search[s] = searchs[s].split('=');
   if (search[s][0].indexOf('highlight') != -1)
   {
    searchArray = search[s][1];
    break;
   }
  }
  /*if (searchArray != '')
  {
   
   var re = new RegExp('(' + decodeURI(searchArray) + ')','ig');
   var els = document.getElementsByTagName('*');
   alert(els.length);
   for (var e = 0; e < els.length; e ++)
   {
    if (els[e].tagName.toLowerCase() == 'div')
     {
      //alert(els[e].innerHTML)
      els[e].innerHTML = els[e].innerHTML.replace(re,'<b>$1</b>');
      
     }
   }
   //document.body.innerHTML = document.body.innerHTML.replace(re,'<b>$1</b>');
  }
  return;*/
  //urcenie rozdelovaca slov - medzery
  var divider = searchArray.search(' ') != -1 ? ' ' : '%20';
  //rozdelenie slova na slova oddelene medzerou
  searchArray = searchArray.split(divider);
  if (searchArray != '')
  {
   bodyText = document.body.innerHTML;
   for (var i = 0; i < searchArray.length; i++)
   {
    if (searchArray[i] != '')
     bodyText = doHighlightText(bodyText,(this.decodeURI ? decodeURI(/*unescape*/(searchArray[i])) : searchArray[i]));
   }
   document.body.innerHTML = bodyText;
   location.hash = 'match0';
  }
 }
}
