// URL zerlegen um die uebergebene Parameter zu bekommen
var url = document.URL;	//URL abfragen
var urlParts = url.split("?"); // auftrennen

if(urlParts[1]){ // Es wurden der URL Argumente Uebergeben

  var arg = urlParts[1].split("="); // Name vom Wert trennen
  var q = arg[1];  // q = Suchbegriff

  // Suchquery != ""
  if(q) {

    // evtl. uebergebene Sonderzeichen ueber die URL austauschen
    q = q.replace(/%20/g," ");
    q = q.replace(/%FC/g,"ü");
    q = q.replace(/%DC/g,"Ü");
    q = q.replace(/%E4/g,"ä");
    q = q.replace(/%C4/g,"Ä");
    q = q.replace(/%F6/g,"ö");
    q = q.replace(/%D6/g,"Ö");


    var innerHTML = document.getElementsByTagName("BODY")[0].innerHTML;   // Seiteninhalt auslesen
    //var newHTML = innerHTML.replace(new RegExp(q,"g"),"<strong>"+q+"</strong>");  // Regulaerer Ausdruck zum Fettschreiben

    // Variablen definieren
    var newHTML = "";	// speichert neues HTML
    var queryLength = q.length;  // lenge des Suchbegriffes
    var qCompare = q.toLowerCase();  // Suchbegriff kleinschreiben
    var analyseString = innerHTML;   // String der analysiert wird
    var analyseCompareString = innerHTML.toLowerCase();  // String zum Vergleichen, alles kleingeschrieben
    var actualPosition = 0;  // aktuelle Position
    var innerSearchString = "";  // Speichert Suchbegriff, der rausgeschnitten wird


    while(analyseCompareString.indexOf(qCompare)>0) {  // es wird noch ein suchbegriff gefunden

      actualPosition = analyseCompareString.indexOf(qCompare);  // aktuelle Position abfragen
      //alert(analyseString.indexOf(q));

      newHTML = newHTML + analyseString.substring(0, actualPosition);  // bis zum Suchbegriff String speichern

      innerSearchString = analyseString.substring(actualPosition, actualPosition+queryLength);  // Suchbegriff herauscopieren

      // nachfolgende / vorherige Strings abfragen (um ersetzen von Grafiken zu vermeiden...)
      if(analyseString.substring(actualPosition+queryLength, actualPosition+queryLength+5)==".jpeg") {
        newHTML = newHTML + innerSearchString;
      } else if(analyseString.substring(actualPosition+queryLength, actualPosition+queryLength+4)==".jpg") {
        newHTML = newHTML + innerSearchString;
      } else if(analyseString.substring(actualPosition+queryLength, actualPosition+queryLength+4)==".gif") {
        newHTML = newHTML + innerSearchString;
      } else if(analyseString.substring(actualPosition+queryLength, actualPosition+queryLength+4)==".htm") {
        newHTML = newHTML + innerSearchString;
      } else if(analyseString.substring(actualPosition+queryLength, actualPosition+queryLength+4)=="_ref") {
        newHTML = newHTML + innerSearchString;
      } else if(analyseString.substring(actualPosition+queryLength, actualPosition+queryLength+1)==">") {
        newHTML = newHTML + innerSearchString;
      } else if(analyseString.substring(actualPosition-2, actualPosition-1)=="=") {
        newHTML = newHTML + innerSearchString;
      } else {  // ansonsten Begriff fettschreiben
        newHTML = newHTML + " <b>" + innerSearchString + "</b>";
      }

      // neuer String zum analyisieren (ab Suchbegriff Rest)
      analyseString = analyseString.substring(actualPosition+queryLength, analyseString.length);
      analyseCompareString = analyseString.toLowerCase();	// wieder kleinschreiben

    }

    newHTML = newHTML + analyseString; // Rest anfueen

    document.getElementsByTagName("body")[0].innerHTML = newHTML;  // neu Schreiben
  }
}
