/* - Steuerung Suchmaschine Javascriptdatei - */
/*                                            */ 
/* Autor: Thomas Schmidt                      */
/* Kontakt: webmaster@el-zorro.de             */
/* Datum: 15.04.2001                          */
/* ----------------------- www.el-zorro.de ---*/


/* Vorbereitung */
         
var myString = "";    
    myPath = "./";

var dir = "../";
	
var mySearchWord = "";	
    mySearchIndex ="";
	                                                                 
var myTableHead = ('<table border="0" cellpadding="0" cellspacing="0" width="560"><tr><td valign="top" class=\"hervorgehoben\">');
    
	myTableMidle = ('</td></tr><tr><td valign="top" bgcolor="#FFFFFF" class=\"text\" height="25">');

    myTableMidle2 = ('</td></tr><tr><td valign="top" bgcolor="#FFFFFF" class=\"text\" height="5">');
	
    myTableFoot = ('</td></tr></table><hr size=\"1\">');      

/* Umwandlung der Umlaute */	         
		                                                                                     
function MyConvert(myInput) 
{                                                         
  for (var x = 0; x < myInput.length; x++) 
  { 
    myString = myString + escape(myInput.substr(x,1));             
	/*
    if(navigator.userAgent.indexOf("Mac")!= -1) 
    {         
	   if (navigator.userAgent.indexOf("MSIE") == -1) 
	   {                 
	       MyReplace("%80", "&Auml;");                                                    
	       MyReplace("%8A", "&auml;");                                                    
	       MyReplace("%85", "&Ouml;");                                                    
	       MyReplace("%9A", "&ouml;");                                                    
	       MyReplace("%86", "&Uuml;");                                                    
	       MyReplace("%9F", "&uuml;");                                                    
	       MyReplace("%A7", "&szlig;");    
	   }  
	   else
	   {
			MyReplace("%C4", "&Auml;");                                                    
			MyReplace("%E4", "&auml;");                                                    
			MyReplace("%D6", "&Ouml;");                                                    
			MyReplace("%F6", "&ouml;");                                                    
			MyReplace("%DC", "&Uuml;");                                                    
			MyReplace("%FC", "&uuml;");                                                    
			MyReplace("%DF", "&szlig;"); 
	   }                                              
    }                                                                             
	else 
	{      */
	/* alle anderen */                                                                  
	  MyReplace("%C4", "&Auml;");                                                    
	  MyReplace("%E4", "&auml;");                                                    
	  MyReplace("%D6", "&Ouml;");                                                    
	  MyReplace("%F6", "&ouml;");                                                    
	  MyReplace("%DC", "&Uuml;");                                                    
	  MyReplace("%FC", "&uuml;");                                                    
	  MyReplace("%DF", "&szlig;");                                                    
	//}                                                                             
	myString = unescape(myString);                                                                    
  }                                                                                                                            
}                                                                                   
                                                                                             
function MyReplace(keyword, replacement) 
{                                                
  var found = 0                                                                       
  var new_str = "";                                                                   
  if(myString.indexOf(keyword) != -1) 
  {                                         
    for(var x = 0; x < myString.length; x++) 
	{                                 
      for(var y = 0; y < keyword.length; y++) 
	  {                                     
        if(myString.charAt(x + y) == keyword.charAt(y))
		{                       
          found += 1;	                                                            
        }                                                                       
      }                                                                          
      if(found == keyword.length) 
	  {                                                 
        new_str += myString.substring(0, x);                                    
        new_str += replacement;                                                    
        new_str += myString.substring((x + keyword.length), myString.length);
        myString = new_str;                                                     
        new_str = "";                                                              
        x += (replacement.length - 1);                                             
       }                                                                          
       found = 0;                                                                    
     }                                                                             
   }                                                                                
}   	
	
/* Suchfunktionen */	
		
function suche1(Eingabe)
{
    var result = "";
    
    var myTreffer = 0; 
	Eingabe = Eingabe.toLowerCase();
	for (var k=0; k < index.length; k++) 
   	{
		var mySearchString = '';
		for (var i=0; i < index[k].length; i++)
     	{   
	   		var mySearchIndex = index[k][i].toLowerCase();
			var mySearchWord = /(.*)/;
			mySearchWord.exec(Eingabe);
			var myRegEx = RegExp.$1;
			var Ergebnis = mySearchIndex.search(myRegEx);
			if (Ergebnis > -1)
			{
				var myHit = String(mySearchIndex.match(myRegEx));
				var myCount = myHit.length;
		    	mySearchString += index[k][i].slice(0,Ergebnis) + '<span class=\"hervorgehoben\">'
			   		+ index[k][i].slice(Ergebnis,Ergebnis+myCount) + '</span>'
			   		+ index[k][i].slice((Ergebnis+myCount),index[k][i].length) + ', ';
			} 
   		}
		if (mySearchString.length > 0)
		{
			mySearchString = mySearchString.slice(0,mySearchString.length-2);
			myTreffer++;
            
            result += myTableHead+info[k].replace('../',dir)+myTableMidle+mySearchString+myTableFoot;	
		}
	} 
	if (myTreffer == 0)
	   result += myTableHead+'Im Suchindex befinden sich <span class=\"hervorgehoben\">keine</span> entsprechenden Eintr&auml;ge'+myTableMidle2+myTableFoot;
    else
	   result += myTableHead+'Insgesamt wurden <span class=\"hervorgehoben\">'+myTreffer+' Treffer</span> ermittelt!'+myTableMidle2+myTableFoot;
       
    return result;
}
	
/* Suchfunction mit Und-Verknüpfung */ 	

function suche2(Eingabe1, Eingabe2)
{
    var result = "";
    
    var myTreffer = 0; 
	for (var k=0; k < index.length; k++) 
   	{
	    Eingabe = Eingabe1.toLowerCase();
		var mySearchString1 = '';
		for (var i=0; i < index[k].length; i++)
     	{   
	   		var mySearchIndex = index[k][i].toLowerCase();
			var mySearchWord = /(.*)/;
			mySearchWord.exec(Eingabe);
			var myRegEx = RegExp.$1;
			var Ergebnis = mySearchIndex.search(myRegEx);
			if (Ergebnis > -1)
			{
				var myHit = String(mySearchIndex.match(myRegEx));
				var myCount = myHit.length;
		    	mySearchString1 += index[k][i].slice(0,Ergebnis) + '<span class=\"hervorgehoben\">'
			   		+ index[k][i].slice(Ergebnis,Ergebnis+myCount) + '</span>'
			   		+ index[k][i].slice((Ergebnis+myCount),index[k][i].length) + ', ';
			} 
   		}
		Eingabe = Eingabe2.toLowerCase();
		var mySearchString2 = '';
		for (var i=0; i < index[k].length; i++)
     	{   
	   		var mySearchIndex = index[k][i].toLowerCase();
			var mySearchWord = /(.*)/;
			mySearchWord.exec(Eingabe);
			var myRegEx = RegExp.$1;
			var Ergebnis = mySearchIndex.search(myRegEx);
			if (Ergebnis > -1)
			{
				var myHit = String(mySearchIndex.match(myRegEx));
				var myCount = myHit.length;
		    	mySearchString2 += index[k][i].slice(0,Ergebnis) + '<span class=\"hervorgehoben\">'
			   		+ index[k][i].slice(Ergebnis,Ergebnis+myCount) + '</span>'
			   		+ index[k][i].slice((Ergebnis+myCount),index[k][i].length) + ', ';
			} 
   		}
		if ((mySearchString1.length > 0) && (mySearchString2.length > 0))
		{
			mySearchString2 = mySearchString2.slice(0,mySearchString2.length-2);
            myTreffer++;
			result += myTableHead+info[k].replace('../',dir)+myTableMidle+mySearchString1+mySearchString2+myTableFoot;	
		}
	} 
	if (myTreffer == 0)
	   result += myTableHead+'Im Suchindex befinden sich <span class=\"hervorgehoben\">keine</span> entsprechenden Eintr&auml;ge'+myTableMidle2+myTableFoot;
    else
	   result += myTableHead+'Insgesamt wurden <span class=\"hervorgehoben\">'+myTreffer+' Treffer</span> ermittelt!'+myTableMidle2+myTableFoot;
       
    return result;
}
	
/* Suchfunction mit Oder-Verknüpfung */ 	

function suche3(Eingabe1, Eingabe2)
{
    var result = "";
    
    var myTreffer = 0; 
	for (var k=0; k < index.length; k++) 
   	{
	    Eingabe = Eingabe1.toLowerCase();
		var mySearchString = '';
		for (var i=0; i < index[k].length; i++)
     	{   
	   		var mySearchIndex = index[k][i].toLowerCase();
			var mySearchWord = /(.*)/;
			mySearchWord.exec(Eingabe);
			var myRegEx = RegExp.$1;
			var Ergebnis = mySearchIndex.search(myRegEx);
			if (Ergebnis > -1)
			{
				var myHit = String(mySearchIndex.match(myRegEx));
				var myCount = myHit.length;
		    	mySearchString += index[k][i].slice(0,Ergebnis) + '<span class=\"hervorgehoben\">'
			   		+ index[k][i].slice(Ergebnis,Ergebnis+myCount) + '</span>'
			   		+ index[k][i].slice((Ergebnis+myCount),index[k][i].length) + ', ';
			} 
   		}
		if (mySearchString.length > 0)
		{
			mySearchString = mySearchString.slice(0,mySearchString.length-2);
			myTreffer++;
            result += myTableHead+info[k]+myTableMidle+mySearchString+myTableFoot;			
		}
		Eingabe = Eingabe2.toLowerCase(); 
		var mySearchString = '';
		for (var i=0; i < index[k].length; i++)
     	{   
	   		var mySearchIndex = index[k][i].toLowerCase();
			var mySearchWord = /(.*)/;
			mySearchWord.exec(Eingabe);
			var myRegEx = RegExp.$1;
			var Ergebnis = mySearchIndex.search(myRegEx);
			if (Ergebnis > -1)
			{
				var myHit = String(mySearchIndex.match(myRegEx));
				var myCount = myHit.length;
		    	mySearchString += index[k][i].slice(0,Ergebnis) + '<span class=\"hervorgehoben\">'
			   		+ index[k][i].slice(Ergebnis,Ergebnis+myCount) + '</span>'
			   		+ index[k][i].slice((Ergebnis+myCount),index[k][i].length) + ', ';
			} 
   		}
		if (mySearchString.length > 0)
		{
			mySearchString = mySearchString.slice(0,mySearchString.length-2);
            myTreffer++;
			result += myTableHead+info[k].replace('../',dir)+myTableMidle+mySearchString+myTableFoot;	
		}
	}
	if (myTreffer == 0)
	   result += myTableHead+'Im Suchindex befinden sich <span class=\"hervorgehoben\">keine</span> entsprechenden Eintr&auml;ge'+myTableMidle2+myTableFoot;
    else
	   result += myTableHead+'Insgesamt wurden <span class=\"hervorgehoben\">'+myTreffer+' Treffer</span> ermittelt!'+myTableMidle2+myTableFoot;
       
       
    return result;
}	
	
	
/* Auswahl der Suchfunktion und Vorbereitung der Suche */
	
  function suche(Eingabe)
  {   
     nix=0; 
     asterix=0;
     var result = "";
	 
     if (Eingabe.length >= 1)
        asterix=1;
		
     /* normale suche */
	 if ((asterix == 1) && (Eingabe.indexOf('/') == -1) && (Eingabe.indexOf('+') == -1))
	 {
	   result += suche1(Eingabe)
	 }   
	 
	 /* oder suche */
     if ((asterix == 1) && (Eingabe.indexOf('/') > 0) && (Eingabe.indexOf('+') == -1))
     { 
       Eingabe1=Eingabe.substring(0,Eingabe.indexOf('/')-1);
       Eingabe2=Eingabe.substring(Eingabe.indexOf('/')+1,Eingabe.length);
       result += suche3(Eingabe1, Eingabe2);   
     } 
	 
	 /* und suche */
	 if ((asterix == 1) && (Eingabe.indexOf('/') == -1) && (Eingabe.indexOf('+') > 0))
     { 
       Eingabe1=Eingabe.substring(0,Eingabe.indexOf('+')-1);
       Eingabe2=Eingabe.substring(Eingabe.indexOf('+')+1,Eingabe.length);
       result += suche2(Eingabe1, Eingabe2);  
     } 
     
     return result;
   }	
	
  function ausgabe(eingabe) 
  { 
        parent.inhalt.location.href = "../search/ausgabe.htm";

        myString = '';
        MyConvert(eingabe);
        document.MyForm.MySearch.value = eingabe;
        eingabe = myString;
        myMainHead = 'Suche nach ['+document.MyForm.MySearch.value+'] lieferte das folgende Ergebnis:<br><br>';
        myMainFoot = '<div align=\"right\" class=\"copy\">&copy; Bundes&auml;rztekammer 2009</div></td></tr></table>';
        var result = suche(eingabe);
        
        setResult();

        function setResult() {
            setTimeout(function() { 
                var elem = parent.inhalt.document.getElementById("in");
                
                if(elem) {
                    elem.innerHTML = myMainHead+result;
                }else {
                    setResult();
                }
            },100);
        }
     
   } 
   
 
   function surf(eingabe) 
   { 
     parent.location.href=eingabe; 
   }
   
   function MyStart()
   {
     if (parent.tops.myStatus == 0)
	   MyButton(0,1,parent.tops.Highlight13);
     if (parent.tops.myStatus == 3)
	   MyButton(3,4,parent.tops.Highlight14);
   }
   
   function MyFocus()
   {
   /*
	 if (parent.tops.myStatus != 3)
	   MyButton(3,4,parent.tops.Highlight14);
	*/
	 parent.inhalt.location.href = "../search/tips.htm"; 
   }

/* -----bildwechsel----- */
