// Javascript-Suchmaschine, Version SH-8-6 (20.11.2005) // angepaßt für Selfhtml 8.1.1 // Autor: Oliver García // // Dieses Programm ist urheberrechtlich geschützt. Falls Sie Interesse // haben, eine auf Ihre Datenbestände angepaßte Version dieser Suchmaschine // in Lizenz zu erwerben, erhalten Sie unter mailto:suchmaschine@ogu.de // mehr Informationen kapitelgrafik="src/refkap.gif\"" dokumentgrafik="src/dok.gif\"" Zugriff_verweigert="Zugriff verweigert" Domain_Problem="Es ist ein Fehler aufgetreten:\n\nDer untere Frame ist nicht in der gleichen Domain wie die Suchmaschine. Sie haben zwei Möglichkeiten, den Fehler zu beheben:\n\nEntweder gehen Sie mit der Rückwärtstaste soweit zurück, bis im unteren Frame wieder eine Selfhtml-Seite angezeigt wird\n\noder\n\nSie laden die Suchmaschine neu, indem Sie mit der Maus das Adressfeld aktivieren und die Eingabetaste drücken.\n\nDieser Fehler tritt meistens dann auf, wenn Sie den Schalter \"Treffer markieren\" betätigen, bevor die Seite vollständig geladen ist." Allgemeiner_Fehler1="Es ist ein Fehler aufgetreten. Die Fehlerangaben lauten:\n\n" Allgemeiner_Fehler2="\n\nWenn dieser Fehler häufiger auftritt, so melden Sie ihn bitte unter Angabe der Fehlermeldung und der Umstände, unter denen er auftritt, an die Email-Adresse: suchmaschine@ogu.de" Phrasensuche_Wort="Phrasensuche" Treffer_Wort="Treffer" Ergebnisse_Wort="Ergebnisse" Suchen_Wort="Suchen" Treffer_markieren_Txt="Treffer markieren" Treffer_markieren_Title_Txt="Klicken Sie hier um nach dem Laden einer Ergebnisseite dort die Treffer zu markieren" Es_wurde_keine_Seite_gef_Txt="
Kein Treffer." Es_wurde_keine_weitere_Seite_gef_Txt="
Es wurde kein weiterer Treffer gefunden."
weitere_Txt="weitere "
Suche_abgeschlossen_Txt="Suche abgeschlossen"
Vorherige_Wort="vorherige "
Kein_Suchbegriff_Txt="Es muss mindestens ein positiver Suchbegriff eingegeben werden"
oder_Wort="oder"
und_Wort="und"
nicht_vorkommen_Txt="nicht vorkommen"
nicht_vorkommt_Txt="nicht vorkommt"
Suche_nach_Txt="Suche nach"
Inkompatibler_Browser_Txt="Hinweis: Diese Suchmaschine ist mit dem gegenwärtig verwendeten Browser leider nicht kompatibel. Bitte benutzen Sie stattdessen die Online-Suche."
Suche_laeuft_Txt="Suche läuft..."
Mindestens_ein_Zeichen_Txt="Es muss mindestens ein Zeichen eingegeben werden."
Bitte_warten_Txt="Bitte warten"
Suche_bitte_warten_Txt="Suche läuft, bitte warten"
Einstellungen_ab_naechste_Suche_gueltig_Txt="Die neuen Einstellungen sind ab der nächsten Suche gültig"
Seiten_in_denen_dieser_Ausdruck_vorkommt_Txt="Abschnitte, in denen dieser Ausdruck vorkommt "
Wortanfangsuche_Wort="Wortanfangsuche"
Seiten_in_denen_mindestens_einer_der_Txt="Abschnitte, in denen mindestens einer der "
beiden_Wort="beiden"
beide_Wort="beide"
ausdruecke_vorkommt_Txt=" Ausdrücke vorkommt "
ausdruecke_vorkommen_Txt=" Ausdrücke vorkommen "
zsg_ausdruck_vorkommt_Txt="» "
else ue=""
l2=""
if (oeffnen==2) l2=" target=\"_blank\""
if (oeffnen==1) l2=" target=\"_Ergebnisse\""
einruecken=""
einruecken+=vordatei
vordatei=""
ausruecken=""
tr=parent.dz[temp].split("-")
tr2=""
ebausr=0
for (x=0; x "+weitere_Txt+Treffer_Wort+""
else ausgabe+=ausruecken+temp+" "+Suche_abgeschlossen_Txt+""
document.Suchfeld.Suchenach.blur()
if (!nc45) parent.frames['x'].location.href="leer.htm"
DivErgebnis=ausgabe
parent.frames['Anzeige'].location.href="ergebnis.htm"
}
function ergebnisfensterbelegen() {
if (!window.DivErgebnis) return
with (parent.frames['Anzeige'].document) {
getElementById("trefferbereich").innerHTML=DivErgebnis
getElementById("reiterbereich").innerHTML=DivReiterbereich
getElementById("suchenach").innerHTML=DivSuchenach
}
BesteTrefferBereichAnpassen()
}
function BesteTrefferBereichAnpassen() {
var verlaengerung=0
if (window.opera) verlaengerung=20
with (parent.frames['Anzeige'].document) if (getElementById("BesteTreffer")) {
if (getElementById("BesteTreffer2").offsetHeight < getElementById("BesteTreffer").clientHeight) {
getElementById("BesteTreffer").style.height=getElementById("BesteTreffer2").clientHeight+verlaengerung
}
}
}
function weiter(temp) {
ergebniszaehler=temp
seitenbeginn[seiteaktuell]=altergebniszaehler
seiteaktuell++
zeige(zwischenergebnisse,vorspann)
parent.frames['x'].location.reload()
}
function zurueck(temp) {
seiteaktuell=temp
ergebniszaehler=seitenbeginn[seiteaktuell]
zeige(zwischenergebnisse,vorspann)
}
function ReiterErstellen(treffer, x, einzeln) {
zaehler=0
if (treffer == "---") return ""
if (zsg || ohne0>"") return ""
einzeln = treffer.split(",")
trefferinbereichen = new Array()
// if (einzeln.length==1) return ""
for (x=0; x "+Vorherige_Wort+bildschirm+" "+Treffer_Wort+""
ausgabe+=" "
zeige(vgl(befehl.substr(1)),ueber)
return
}
indzz = new Array()
for (x=1; x<=und.length; x++) indzz[x]=false
indz = new Array()
for (x=0; x "
vgla=1
if (zeigedetails && !zsg) {
to=vgl_a_d(und.join(","))
}
else to=vgl_a(und.join(","))
zeige(to,ueber)
}
function Pruefe() {
window.defaultStatus = Suche_laeuft_Txt
suche0=document.Suchfeld.Suchenach.value
if (suche0.length < 1) {
alert(Mindestens_ein_Zeichen_Txt)
document.Suchfeld.Suchenach.focus()
}
else {
formular_auswerten(suche0)
}
}
function formular_auswerten(suche0) {
if (mz5 || window.location.protocol == "http:" || window.opera) {
parent.frames['Anzeige'].location.href="warten.htm"
}
suche=""
af= new Array()
if (nc45) document.layers.LadeBereich.w= new Array()
else parent.w= new Array()
indokg=new Array()
itext= new Array()
und_=-1
ngf=false
suchenach=""
vgla=0
odera=0
ergebniszaehler=0
mmm=0
minus=0
zwischenergebnis=0
zngf=0
lx=0
seitenbeginn=new Array()
seiteaktuell=1
ohne_t=""
zld=new Array()
zldn=0
nd= new Array()
nd[1]=2
aktuellerindex=1
suche = escape(suche0.toLowerCase().replace(/<\//g,"_st_").replace(/\$_/g,"_di_")).replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g," ").replace(/(%20)+/g," ").replace(/_st_/g,"").replace(/_di_/g,"%24_")
suche=suche.replace(/ +/g," ")
suche=suche.replace(/ $/,"").replace(/^ /,"")
und = suche.split(" ")
und.sort()
bergel=","
BesteTreffer = new Array
BesteTreffer2 = new Array
BeschraenkungAufBereich=0
if (!nc45) parent.frames['x'].document.open()
for (t in und) {
und[t]=und[t].replace(/(%22)|^-/g,"")
if (und[t] != "%20") indexladen(nd[aktuellerindex],und[t])
}
if (nc4) {
if (nc45) document.layers.LadeBereich.hinauf()
und= new Array()
Suche(suche)
}
else {
if (zldn>0) {
hl=zld[0].split("@")
zldn2=1
laden(hl[0],hl[1],hl[2])
}
}
}
function indexladen(teil,temp,x) {
if (nc4) {
indexladen_nc4(teil,temp)
return
}
temp=temp.replace(/^[-_]/,"")
temp2=temp.substr(0,1)
if (!i[teil][temp2]) return
indx=i[teil][temp2].split(",")
if (indx[1] == "%22") { //Netscape-Fehler
erstes=indx.shift()
indx.shift()
indx.unshift(erstes)
}
insg=0
for (x in indx) {
if (temp.replace(/_/g,"~") < indx[x]) {
if (x==0) x=1
zld[zldn++]=teil+"@"+temp2+"@"+x
if (temp != indx[x].substr(0,temp.length)) {
insg=1
break
}
}
}
if (insg==0) zld[zldn++]=teil+"@"+temp2+"@"+indx.length
}
function laden(teil,temp,temp2,hin) {
lx++
if (temp=="_") temp="__"
if (temp=="%") temp="_"
if (bergel.indexOf(","+temp+temp2+",")==-1) {
ini="\""
ini+="index"+nd[aktuellerindex]+"\/"+temp+temp2+".js\""
parent.frames['x'].document.writeln("
(Seiten, in denen dieser zusammengesetzte Ausdruck vorkommt "
Seiten_in_denen_Txt="Abschnitte, in denen "
Wortanfaenge_Txt=" - Wortanfänge)"
alle_Wort="alle "
exakte_Suche_Txt=" - exakte Suche)"
Hilfe_Wort="Hilfe"
Cookie_Name="Selfhtml8"
Bereichsnamen = new Array("Editorial", "Einführung", "HTML/XHTML", "CSS", "XML", "JavaScript", "DHTML", "Perl", "PHP", "Internationalisierung", "Grafik", "Projektverwaltung", "Webserver/CGI", "Div. Ergänzungen", "Fertige Layouts", "", "", "Häufige Fragen")
archiv = "../../"
ie4 = (document.all)? true:false
ie5 = ((document.getElementById) && (document.all))
nc4 = (document.layers)? true:false
nc45 = (nc4 && navigator.appVersion.substr(2).match(/^[1-9]|^0[5-9]/))? true:false
mz5 = ((document.getElementById) && (!document.all) && (document.documentElement))
ie4mz = (ie4 || mz5)
zeigedetails=true
bildschirm=50
bunt=0
aktiv= new Array()
UrlZwischenspeicherung= new Array()
for (x=0; x"
}
if (tr3!=eb[x]) {
if (x==0) eb= new Array()
if (EbeneAngezeigt[tr3]) {
dt--
einruecken+=dts()+zusatzdd
}
else if (itext[tr3]) {
einruecken+=aausruecken+dts()+zusatzdd+"
"
altebausr--
}
l=zieladresse(archiv+uurl, f1+titel[1].replace(/^SELFHTML: /,"")+f2, l2)
altebausr=ebausr
vordatei=""
if (parent.dz[temp].split("-").length<3) {
itext[parent.dz[temp]]=det+"@"+uurl
aausruecken=ausruecken
if (parent.dz[z[ergebniszaehler+1]] && !parent.dz[z[ergebniszaehler+1]].indexOf(parent.dz[temp])) {
if (tr.length == 1) return einruecken
return ausruecken+einruecken
}
}
EbeneAngezeigt[parent.dz[temp]]=1
return ue+ausruecken+einruecken+dts()+" "
return "
"
}
function url(temp,temp2,temp3) {
if (UrlZwischenspeicherung[temp]) return UrlZwischenspeicherung[temp]
temp2=parent.d[temp].split("*")[0]
if (temp=="undefined") return ""
if (temp2.indexOf("#") == 0) {
temp3=temp.replace(/-[^-]*$/,"")
temp2=url(temp3)+temp2
}
else if (!temp2.match(/^\|/)) {
temp3=temp.replace(/-[^-]*$/,"")
if (parent.d[temp3+"-0"].split("*")[0]) {
temp2=url(temp3+"-0")+temp2
}
else {
temp2=url(temp3)+temp2
}
}
temp2 = temp2.replace(/^\|/,"")
UrlZwischenspeicherung[temp]= temp2
return temp2
}
function RF_a(temp,x,treffer,suchein) {
if (indokg[temp]) return 1
window.defaultStatus = Phrasensuche_Wort+" ("+(ergebniszaehler+1)+")"
indok=new Array()
such2=new Array()
such3=new Array()
for (uz=0; uz
"+temp.substr(0,temp.length-15)+""
while ((zwischenergebnisse=="---" || zwischenergebnisse=="") && nd[aktuellerindex+1]) {
zwischenergebnisse=nachladen()
if (zwischenergebnisse == "---") ngf=1
}
if (!ngf) {
temp=z.length
altergebniszaehler=ergebniszaehler
while (ergebniszaehler < temp && zl < bildschirm) {
if (z[ergebniszaehler].search(/^[0-9]*$/)==0) { // NC-Sonderbehandlung
if (ohne0=="" || ohne1.indexOf("+"+z[ergebniszaehler]+"+")==-1) {
if (!zsg || (exkt && RF(z[ergebniszaehler])>0) || (!exkt && RF_a(z[ergebniszaehler])>0)) {
if (BeschraenkungAufBereich>0 && BereichAusDokNr(z[ergebniszaehler]) != BeschraenkungAufBereich) {
}
else {
ausgabe+=datei(z[ergebniszaehler])+(interneansicht ? " "+(ergebniszaehler)+" ("+z[ergebniszaehler]+")" : "")
zl++
}
}
}
}
ergebniszaehler++
if (ergebniszaehler == temp) {
do {
weitereergebnisse=nachladen()
} while (weitereergebnisse=="---" && nd[aktuellerindex+1])
if (weitereergebnisse == "---") break
else {
zwischenergebnisse+=","+weitereergebnisse
z=zwischenergebnisse.split(",")
temp=z.length
}
}
}
if (zl==0) ngf=1
}
minus+=mmm
mmm=0
if (zwischenergebnis && ngf) zngf=1
zwischenergebnis=0
if (ergebniszaehler
("+Seiten_in_denen_dieser_Ausdruck_vorkommt_Txt+ohne_t+(exkt ? "" : " - "+Wortanfangsuche_Wort+")")) : "
("+Seiten_in_denen_mindestens_einer_der_Txt+(az==2 ? beiden_Wort : az)+ausdruecke_vorkommt_Txt+ohne_t+(exkt ? "" : " - "+Wortanfangsuche_Wort+")")))
return
}
else if (exkt) {
var befehl=""
for (x=0; x
("+Seiten_in_denen_dieser_Ausdruck_vorkommt_Txt+ohne_t+")" : "") : "
("+Seiten_in_denen_Txt+(az==2 ? beide_Wort : alle_Wort+az)+ausdruecke_vorkommen_Txt+ohne_t+exakte_Suche_Txt)
if (zsg) ueber=Suche_nach_Txt+": «"+html(zsg[0]).bold()+zsg_ausdruck_vorkommt_Txt+ohne_t+")
("+Seiten_in_denen_dieser_Ausdruck_vorkommt_Txt+ohne_t+Wortanfaenge_Txt : "") : "
("+Seiten_in_denen_Txt+(az==2 ? beide_Wort : alle_Wort+az)+ausdruecke_vorkommen_Txt+ohne_t+Wortanfaenge_Txt)
if (zsg) ueber=Suche_nach_Txt+": «"+html(zsg[0]).bold()+zsg_ausdruck_vorkommt_Txt+ohne_t+Wortanfaenge_Txt+"