/*	Für "1,2,3 von A-Z" überarbeitet Nov. 2002	*/
/*	Für Lexikon überarbeitet Dez. 2002 KP		*/

var iw;	// Bildmaße
var inh_htm=""; 	// Dateiname für Navigationsrettung
var typ=location.hash;
inh_htm=location.search.substring(1, location.search.length);
var Punkt=1;			// Art
var Auswahl=new Array();		// Art-Text
Auswahl[1]="je Bezirk von A &#150 Z";
Auswahl[2]="Bezirk Mitte von A &#150 Z";
Auswahl[3]="Friedrichshain-Kreuzberg";
Auswahl[4]="Alle Bezirke von A &#150 Z";
Auswahl[5]="Charlottenburg-Wilmersdorf";


function ScreenSize(){
if(navigator.appName=="Netscape")
   {iw=innerWidth;} 
   else
   {iw=document.body.offsetWidth;}
if (iw<700) top.Auswahl[1]="je Bezirk";else top.Auswahl[1]="je Bezirk von A &#150 Z";
if (iw<700) top.Auswahl[2]="Mitte von A &#150 Z";else top.Auswahl[2]="Bezirk Mitte von A &#150 Z";
if (iw<700) top.Auswahl[3]="Friedr.-Kreuzb.";else top.Auswahl[3]="Friedrichshain-Kreuzberg";
if (iw<700) top.Auswahl[4]="Alle Bezirke A &#150 Z";else top.Auswahl[4]="Alle Bezirke von A &#150 Z";
if (iw<700) top.Auswahl[5]="Charl-brg.-Wilmersd.";else top.Auswahl[5]="Charlottenburg-Wilmersdorf";

}// size

/*	Test auf Seiteneinsteiger			*/

function checknavi(){
if (inh_htm!="")
{
txtcntrl(inh_htm);
parent.Inhalt.location.href=typ;
inh_htm="";
prfxa="../../lexikon/" + prfxa;
  }
}	// ende checknavi

function warten() {
setTimeout('checknavi()','1')}

/*	Ende Lexikon					*/

var pr="all";			// Dateigruppe
var prfxa="L_"+pr;		// akt. Gruppen-Präfix A-Z
//dat_id="";			// Variable aus Indexdatei
z="";				// Variable z (Zeichen) global
suf=new Array();			// Split-Array

/* 	Effektiver Zugriff auf Index-Listen		*/
//var txt=inh_htm;
function zeich(xx){		// Reaktion nach Zeicheneingabe
  txt=parent.Suchen.document.Suche.ein.value;
  txt=transp(txt+xx);
  parent.Suchen.document.Suche.ein.value=txt;
  txtcntrl(txt);
}
function subm(evt){			// Reaktion auf enter
  txt=parent.Suchen.document.Suche.ein.value;
  txt=txt.toLowerCase();
  txt=transp(txt);
if (!window.Event) parent.Suchen.document.Suche.ein.value=txt;
//parent.Suchen.document.Suche.ein.focus();
  txtcntrl(txt);
}
function rset(tx){			// Reaktion auf Rücksetzen
  txt=transp(tx);
  parent.Suchen.document.Suche.ein.value=txt;
  if (tx=="") parent.Suchen.document.Suche.ein.focus();
}
function del(){			// Reaktion auf Rücktaste
  txt=parent.Suchen.document.Suche.ein.value;
  txt=txt.substring(0,txt.length-1);
  parent.Suchen.document.Suche.ein.value=txt;
  if (txt=="") parent.Suchen.document.Suche.ein.focus();
}

function txtcntrl(tx){		// Anzeigen der gesplitteten Stichwörter
flg_erw="1";
txs=transpv(tx);
wx=w(txs.substring(0,1));                     // Nr. 1. Eingabezeichen
if (parent.Splitt.xy[wx]==null) {wx=0;flg_erw="0";}
dat=parent.Splitt.xy[wx];
posa=0;i=0;pose=0;         	 // Splitarray füllen        
while(pose>=0)
     {pose=dat.indexOf(";",posa);
      if (pose>=0) suf[i]=dat.substring(posa,pose);
      else suf[i]=dat.substring(posa,dat.length);
      i++;posa=pose+1;}i--;

str=txs;sfx="";fnr="0000";lt=str.length;
//while (lt>0) {           		// Ist EingabeTerm identisch enthalten?
   lt=str.length;
    for (j=0;j<=i;j++)
    {  sfw=suf[j].substring(0,suf[j].length-4);fnr=suf[j].substring(suf[j].length-4,suf[j].length);
       if (sfw.substring(sfw.length-1,sfw.length)=="_") sfw=sfw.substring(0,sfw.length-1);
//alert("Suche: str="+str+", fnr="+fnr+", sfw="+sfw);       
       if ((sfw.length==lt)&&(sfw.substring(0,lt)==str)) {sfx=suf[j];lt=0;break;}	  
    } // end for
//alert("identisch: str="+str+", fnr="+fnr+", sfw="+sfw);

//    if (lt>0)   {str=str.substring(0,lt-1);lt=str.length;}

//   } // end while
str=txs;lt=str.length;

if (sfx=="")
 {
while (lt>0)            		 // Ist EingabeTerm  enthalten?
   {lt=str.length;
    for (j=0;j<=i;j++)
    {  sfw=suf[j].substring(0,suf[j].length-4);fnr=suf[j].substring(suf[j].length-4,suf[j].length);
       if (sfw.substring(sfw.length-1,sfw.length)=="_") sfw=sfw.substring(0,sfw.length-1);
//alert("enthalten?: str="+str+", fnr="+fnr+", sfw="+sfw);       
//       if ((sfw.length>=lt)&&(sfw.substring(0,lt)==str)) {sfx=suf[j];lt=0;break;}
         if ((sfw.length==lt)&&(sfw.substring(0,lt)==str))
		 {sfx=suf[j];lt=0;break;}
	   else
		{if ((sfw.length>lt)&&(sfw.substring(0,lt)==str)&&(lt==txs.length))
			{sfx=suf[j];lt=0;break;}
		}  
    } // end for

    if (lt>0)   {str=str.substring(0,lt-1);lt=str.length;}
   } // end while
 } // end if   



if (sfx=="")
       {
       sfx=suf[0];
       sfw=sfx.substring(0,sfx.length-4);fnr=suf[0].substring(sfx.length-4,sfx.length);
       if (sfw.substring(sfw.length-1,sfw.length)=="_") sfw=sfw.substring(0,sfw.length-1); 
//alert("C: txt="+txs+", fnr="+fnr+", sfx="+sfx);
       } // end if
ank="";
if (txs.length>=sfw.length)				// Anker bestimmen
   {if (flg_erw=="1") ank=txs.substring(sfw.length,sfw.length+1);
    else ank=txs.substring(0,1);    
   }
//alert("Ruf:"+prfxa+fnr+".htm"+"#"+ank);
parent.Indexv.location.href=prfxa+fnr+".htm"+"#"+ank;	// Teildatei laden und positionieren
			 
}

function transp(ket){		// Transponieren der eingegebenen Zeichenfolge
z=ket.toLowerCase();
lz=z.length;
trz="";
for (j=0;j<lz;j++)
    {
    az=z.substring(j,j+1);
if (j==0) az=az.toUpperCase();
    if (az=="ä") az="ä";

    else if (az=='"') az="";
    else if (az=="+") az="";
    else if (az=="'") az="";
    else if (az=="*") az="";
    else if (az==".") az="";
    else if (az=="-") az="";
    else if (az=="/") az="";
    else if (az==" ") az="";
    else if (az==",") az="";
    trz=trz+az;      
    }	// Ende for
 trz=Wandel(trz,"&auml;","ä");
 trz=Wandel(trz,"&uuml;","ü");
 trz=Wandel(trz,"&ouml;","ö");
 trz=Wandel(trz,"&szlig;","ß");
 
 return (trz); 
}	// Ende transp

function transpv(ket){		// Normalisieren Vergleichs-Zeichenfolge
z=ket.toLowerCase();
lz=z.length;
trz="";
for (j=0;j<lz;j++)
    {
    az=z.substring(j,j+1);
    if (az=="ä") az="a";
    else if (az=="ü") az="u";
    else if (az=="ö") az="o";
    else if (az=="ß") az="ss";
    trz=trz+az;      
    }	// Ende for
    return (trz); 
}	// Ende transpv

function Wandel(kette,ex,ein){	// Suchen 'ex' Ersetzen durch 'ein'
  str=kette;
  leu=ex.length;
  lz=str.length;
  p= str.indexOf(ex);
  while (p!=-1){
	     if ((lz-p-leu)==0) t1="";t1=str.substring(p+leu,str.length-p-leu);
	     if (p==0) str=ein+t1;str=str.substring(0,p)+ein+t1;
	     lz=str.length;
	     p= str.indexOf(ex);		
	    }  // Ende while
return (str);
} // Ende Wandel

function w(zt){			// Bestimmen der Zeichennr.
z=zt.toLowerCase();
if (z=="a") return 1;
else if (z=="b") return 2;
else if (z=="c") return 3;
else if (z=="d") return 4;
else if (z=="e") return 5;
else if (z=="f") return 6;
else if (z=="g") return 7;
else if (z=="h") return 8;
else if (z=="i") return 9;
else if (z=="j") return 10;
else if (z=="k") return 11;
else if (z=="l") return 12;
else if (z=="m") return 13;
else if (z=="n") return 14;
else if (z=="o") return 15;
else if (z=="p") return 16;
else if (z=="q") return 17;
else if (z=="r") return 18;
else if (z=="s") return 19;
else if (z=="t") return 20;
else if (z=="u") return 21;
else if (z=="v") return 22;
else if (z=="w") return 23;
else if (z=="x") return 24;
else if (z=="y") return 25;
else if (z=="z") return 26;
else if (z=="ä") return 1;
else if (z=="ö") return 15;
else if (z=="ü") return 21;
else if (z=="ß") return 19;
else if (z=="0") return 27;
else if (z=="1") return 28;
else if (z=="2") return 29;
else if (z=="3") return 30;
else if (z=="4") return 31;
else if (z=="5") return 32;
else if (z=="6") return 33;
else if (z=="7") return 34;
else if (z=="8") return 35;
else if (z=="9") return 36;
else if (z=="") return 0;
}
