
// Adapted from http://www.kryogenix.org/code/browser/searchhi/


function delayedSearchAndHighlight() {

  var oldload = window.onload;
  if (oldload) {
  	window.onload = function(caller) {
		oldload(caller);
		normalSearchHighlight();
	}
  } else {
  	window.onload = function(caller) {
		normalSearchHighlight();
	}
 }
}

function normalSearchHighlight() {

  if (!document.createElement) return;

  var div = document.getElementById("kontejner");
  if (!div) return;
  

  var ALLOWED_CHARS = "abcdefghijklmnopqrstvuvwxyz0123456789";

function stripDia(field)
{

     
    var retv = "";
    var text = field;
    
    
    var pos = 0;
var DIACRITICS =          "°ýÜÀ°×ì¹èø";
var DIACRITICS_STRIPPED = "rescrzescr";
    for (i = 0; i < text.length; i++) {
	pos = DIACRITICS.indexOf(text.charAt(i));
	if (pos != -1){
	    retv += DIACRITICS_STRIPPED.charAt(pos);
	   // document.write(text.charAt(i)+"!!!");
	    }
	else{
	    retv += text.charAt(i);
	    //document.write(text.charAt(i)+"!!!");	    
	    }
    }
    field = retv;
     
     //document.write(field);
	 
    return field;
}
  
  function getSearchWords(url) {
    if (url.indexOf('?') == -1) return [];
    var queryString = url.substr(url.indexOf('?') + 1);
    var params = queryString.split('&');
    for (var p in params) {
      var param = params[p].split('=');
      if (param.length < 2) continue;
      if (param[0] == 'q' || param[0] == 'p' || param[0] == 'co' || param[0] == 'w') { 
      	// q= for Google, p= for Yahoo, w= for seznam
        return unescape(param[1].replace(/\+/g, ' ')).split(/\s+/);
      }
    }
    return [];
  }

  function highlightWord(node, word, searchwordindex) {
    // If this node is a text node and contains the search word, highlight it by
    // surrounding it with a span element
    if (node.nodeType == 3) { // Node.TEXT_NODE
      var pos = node.nodeValue.toLowerCase().indexOf(word.toLowerCase());
      if (pos >= 0 && !/^searchword\d$/.test(node.parentNode.className)) {
        var span = document.createElement("span");
        span.className = "searchword" + (searchwordindex % 5);
        span.appendChild(document.createTextNode(
            node.nodeValue.substr(pos, word.length)));
        var newNode = node.splitText(pos);
        newNode.nodeValue = newNode.nodeValue.substr(word.length);
        node.parentNode.insertBefore(span, newNode);
        return true;
      }
    } else if (!node.nodeName.match(/button|select|textarea/i)) {
      // Recurse into child nodes
      for (var i = 0; i < node.childNodes.length; i++) {
        if (highlightWord(node.childNodes[i], word, searchwordindex)) i++;
      }
    }
    return false;
  }
  
  var words = getSearchWords(document.URL);
  if (!words.length) words = getSearchWords(document.referrer);
  if (words.length) {
    for (var w in words) {
      if (words[w].length > 2) highlightWord(div, words[w], w);
    }
  }
}


function nacist(word,cis) {

  var oldload = window.onload;
  if (oldload) {
  	window.onload = function(caller) {
		oldload(caller);
		najdi(word,cis);
	}
  } else {
  	window.onload = function(caller) {
		najdi(word,cis);
	}
 }
}

function najdi(word,cis) {

  if (!document.createElement) return;

  var div = document.getElementById("searchable");
  if (!div) return;
  

  


  function podbarvi(node, word, searchwordindex) {
    // If this node is a text node and contains the search word, highlight it by
    // surrounding it with a span element
    if (node.nodeType == 3) { // Node.TEXT_NODE
      var pos = node.nodeValue.toLowerCase().indexOf(word.toLowerCase());
      if (pos >= 0 && !/^searchword\d$/.test(node.parentNode.className)) {
        var span = document.createElement("span");
        span.className = "searchword" + (searchwordindex % 5);
        span.appendChild(document.createTextNode(
            node.nodeValue.substr(pos, word.length)));
        var newNode = node.splitText(pos);
        newNode.nodeValue = newNode.nodeValue.substr(word.length);
        node.parentNode.insertBefore(span, newNode);
        return true;
      }
    } else if (!node.nodeName.match(/button|select|textarea/i)) {
      // Recurse into child nodes
      for (var i = 0; i < node.childNodes.length; i++) {
        if (podbarvi(node.childNodes[i], word, searchwordindex)) i++;
      }
    }
    return false;
  }
  
  podbarvi(div, word, cis);

}


