
// Vampirehost - Augen-Blicke: Externe JavaScripts 210604
// Unkommentierte Funktionen haben unter angegebenem URL ein erklaertes Pendant 

// ============================ Basis-Bibliothek ============================

/* 'SysVars 210604' (c) Cybaer - http://www.vampirehost.de/gruft/coding/jscript/sysvars.htm */
function alertSysVars() {
 var SysVar="Browser: "+navigator.userAgent;
 SysVar+="\nDatei: "+window.location.href+"\n";
 SysVar+="\nBrowsereigenschaften (\""+navigator.appVersion+"\"):";
 SysVar+="\n"+((agt_os)?agt_os+"-":"")+"Browser"+((agt_lang)?" ("+agt_lang+")":"");
 SysVar+=" mit "+((is_ie)?"ca. ":"")+agt_width+"*"+agt_height+" (maximal "+agt_maxWidth+"*"+agt_maxHeight+") Punkten";
 SysVar+="\nund einem Nutzbereich von "+agt_docWidth+"*"+agt_docHeight+" Punkten (auf einem";
 SysVar+="\nBildschirm mit "+agt_screenWidth+"*"+agt_screenHeight+" Punkten und "+agt_colors+" Farben).";
 SysVar+="\nDer JavaScript-"+agt_jsVersion+"-kompatible Browser ist "+((navigator.online)?"":"vermutlich ")+((is_connected)?"on":"off")+"line";
 SysVar+="\n"+((agt_speed)?"("+((agt_speed>0)?"mit "+agt_speed+" kbps="+Math.round(agt_speed/8*100)/100+" KByte/s,":"die Verbindungsgeschwindigkeit war nicht zu ermitteln)"):"(die Verbindungsgeschwindigkeit wurde nicht ermittelt)")+((lineType()>0)?" was "+((lineType()>=5)?"einer Standleitung":(lineType()==4)?"einem DSL-Modem":(lineType()==3)?"einem Kabelmodem":(lineType()==2)?"einem ISDN-Modem":(lineType()==1)?"einem Analog-Modem":"")+" entspricht)":"")+".";
 SysVar+="\n";
 SysVar+="\nBrowser-Erkennung:";
 SysVar+="\nInternet Explorer? "+((is_ie)?"Ja":"Nein")+((agt_ieVersion)?" ("+((!is_ie)?"angeblich ":"")+"Version "+agt_ieVersion+")":"");
 SysVar+="\nNavigator\/Mozilla? "+((is_nav)?"Ja":"Nein")+((is_nav || navigator.userAgent.toLowerCase().substring(0,7)=="mozilla")?" ("+((!is_nav)?"angeblich ":"")+"Version "+agt_version+")":"");
 SysVar+="\nOpera? "+((is_op)?"Ja":"Nein")+((is_op)?" (Version "+agt_opVersion+")":"");
 SysVar+="\nSafari? "+((is_saf)?"Ja":"Nein")+((agt_safVersion)?" ("+((!is_saf)?"angeblich ":"")+"Version "+agt_safVersion+")":"");
 SysVar+="\nKonqueror? "+((is_kq)?"Ja":"Nein")+((agt_kqVersion)?" ("+((!is_kq)?"angeblich ":"")+"Version "+agt_kqVersion+")":"");
 SysVar+="\n";
 SysVar+="\nDocument Object Model:";
 SysVar+="\nW3C (strikt: getElementById)? "+((is_w3cDOM)?"Ja":"Nein");
 SysVar+="\nW3C (erweitert: innerHTML)? "+((is_w3cxDOM)?"Ja":"Nein");
 SysVar+="\nMicrosoft (document.all)? "+((is_ieDOM)?"Ja":"Nein");
 SysVar+="\nNetscape (document.layer)?"+((is_nnDOM)?"Ja":"Nein");
 SysVar+="\n";
 SysVar+="\nDokumenteneigenschaften:";
 SysVar+="\nDas Dokument ist "+((!is_frame)?"k":"")+"ein Frame"+((is_frame)?" (von insgesamt "+parent.frames.length+")":" (Frameset "+((do_frameset)?"ggf.":"nicht")+" nachladen)")+" mit "+doc_width+"*"+doc_height+" Punkten.";
 SysVar+=(is_online)?"\nServer: "+doc_Server+" (Levels: "+doc_Subdomain+"|"+doc_Domain+"|"+doc_TLDomain+")":"\nServer: offline ("+doc_localPath+")";
 SysVar+=(is_online && doc_User)?"\nAufrufender User \""+doc_User+"\", "+((doc_Password)?"mit dem Passwort \""+doc_Password+"\".":"ohne Passwort."):"";
 SysVar+="\nPfad: "+doc_Path+"  Name: "+doc_FileName+"  Extension: "+doc_FileExt;
 SysVar+="\nHauptverzeichnis: "+doc_MainDir+"  Dateiverzeichnis: "+doc_FileDir+"  (insgesamt "+doc_PathDeep+" Ebene"+((doc_PathDeep!=1)?"n":"")+")";
 SysVar+="\nAufruf durch Link von Eigen/Fremdserver: "+((is_icall)?"Ja":"Nein")+"/"+((is_xcall)?"Ja":"Nein")+",";
 SysVar+=((document.location.search)?"\nmit Parameter \""+unescape(rc(doc_Search,"+"," "))+"\"":" ohne Parameter")+".";
 if(is_online) { if(!doc_xServer) { if(is_refblocked) {
    SysVar+="\nDer Seitenaufrufer wurde verborgen: \""+document.referrer+"\"";
   } else {
    SysVar+="\nDer Seitenaufrufer entspricht nicht der Norm: \""+document.referrer+"\"";
   } } else {
   SysVar+="\nSeitenaufrufer: "+doc_xServer+" ("+document.referrer+")";
  } }
 alert(SysVar);
}

function ceh() { return true; }
function deFocus(element,flag) { if((do_deFocus || flag) && element.blur) { element.blur(); } }
function rc(text,chars,subs,insensitive) { if(chars) { var i, work, result="", start=0; subs=(subs)?subs:""; if(insensitive) { work=text.toLowerCase(); chars=chars.toLowerCase(); } else { work=text; } i=work.indexOf(chars,start); while(i>=0) { result+=text.substring(start,i)+subs; start=i+chars.length; i=work.indexOf(chars,start); if(!i) { break; } } result+=text.substring(start,text.length); return result; } else { return text; } }
function cc(text,chars) { if(chars) { var ccnext=text.indexOf(chars); var ccfound=0; while(parseInt(ccnext)>=0) { ccfound++; ccnext+=chars.length; ccnext=text.indexOf(chars,ccnext); if(!ccnext) { break; } } return ccfound; } else { return 0; } }
function lineType(hardware,real) { if(agt_speed<=0) { return 0; } if(!hardware) { if(agt_speed<50) { return 1; } else if(agt_speed<120) { return 2; } else if(agt_speed<300) { return 3; } else if(agt_speed<600) { return 4; } else if(agt_speed>=600) { return 5; } } else { hardware=hardware.toLowerCase(); if(hardware=="modem") { return (real)?(agt_speed>0 && agt_speed<50):(agt_speed>0); } else if(hardware=="isdn") { return (real)?(agt_speed>=50 && agt_speed<120):(agt_speed>=50); } else if(hardware=="cable") { return (real)?(agt_speed>=120 && agt_speed<300):(agt_speed>=120); } else if(hardware=="dsl") { return (real)?(agt_speed>=300 && agt_speed<600):(agt_speed>=300); } else if(hardware=="high") { return (agt_speed>=600); } else { return 0; } } }
function winResize() {
 // Alte Groessen sichern, dann System-Variablen aktualisieren
 var doc_widthOld=doc_width, doc_heightOld=doc_height; SysVarsBody()
 // Bei Verwendung von MagicHTML ggf. eigene Routinen aufrufen
 // ( http://www.vampirehost.de/gruft/coding/html/magichtm.htm )
 magicXL();
 // Bei Aenderung der Browsergroesse: Reload (wenn gewuenscht) - mit Mozilla-Workaround
// if(do_resize && (doc_width!=doc_widthOld || (doc_height!=doc_heightOld && doc_height!=doc_heightOld-1)) { location.reload(); }
}

function SysVarsBody() {
 if(top.window.innerWidth) {
  agt_docWidth=top.window.innerWidth;
  agt_docHeight=top.window.innerHeight;
 } else if(top.document.body && top.document.body.clientWidth) {
  agt_docWidth=top.document.body.clientWidth;
  agt_docHeight=top.document.body.clientHeight;
 }
 if(window.innerWidth) {
  doc_width=window.innerWidth;
  doc_height=window.innerHeight;
 } else if(document.body && document.body.clientWidth) {
  doc_width=document.body.clientWidth;
  doc_height=document.body.clientHeight;
 }
 if(window.outerWidth) {
  agt_width=window.outerWidth;
  agt_height=window.outerHeight;
 } else if(top.document.body && top.document.body.clientWidth) {
  // Leider keine exakten Werte beim IE!
  agt_width=Math.min(screen.width,top.document.body.clientWidth+12);
  agt_height=Math.min(screen.height,top.document.body.clientHeight+120);
 }
 window.onresize=winResize;
}

function SysVarSpeedDone() {
 var speedTime=new Date();
 var speedSeconds=(speedTime.getTime()-SysVarSpeedStart)/1000;
 var speedImgSize=51200;
 agt_speed=Math.round((speedImgSize*8/1024)/speedSeconds);
} function SysVarSpeed() {
 agt_speed=-1;
 var speedImg=new Image();
 var speedTime=new Date();
 SysVarSpeedStart=speedTime.getTime();
 speedImg.onload=SysVarSpeedDone;
 speedImg.src=doc_rootPath+"sysvars.gif?"+SysVarSpeedStart;
}

function SysVarsHead(offlineDir,defaultFile) {
 var i, r, agt, ver, sys, pathBegin, cacheBegin
 // Aktuelle Uhrzeit & Datum
 doc_time=new Date();
 // Verwendete Browser-Software & vorhandenes Document Object Model (DOM)
 agt=navigator.userAgent.toLowerCase();
 ver=navigator.appVersion.toLowerCase();
 sys=(navigator.platform)?navigator.platform.toLowerCase():agt;
 agt_version=parseFloat(ver);
 agt_jsVersion=(document.getElementById)?1.5:(doc_time.getFullYear)?1.3:(window.screen)?1.2:(document.images)?1.1:1.0;
 agt_ieVersion=0; agt_opVersion=0; agt_kqVersion=0; agt_safVersion=0
 if(ver.indexOf("msie")>=0) { agt_ieVersion=parseFloat(ver.substring(ver.indexOf("msie")+4,ver.length)); }
 if(ver.indexOf("safari/")>=0) { r=""+parseFloat(ver.substring(ver.indexOf("safari/")+7,ver.length)); i=""+parseInt(r,10)/100; r=(r.indexOf(".")>=0)?r.substring(r.indexOf(".")+1,r.length):""; agt_safVersion=parseFloat(i+((i.indexOf(".")==-1 && r)?".":"")+r); }
 if(ver.indexOf("konqueror/")>=0) { agt_kqVersion=parseFloat(ver.substring(ver.indexOf("konqueror/")+10,ver.length)); }
 if(agt.indexOf("opera")>=0) { agt_opVersion=parseFloat(agt.substring(agt.indexOf("opera")+6,agt.length)); }
 agt_major=parseInt(agt_version);
 is_op=(window.opera || agt.indexOf('opera')>=0)?true:false;
 is_w3cxDOM=(document.getElementsByTagName && document.getElementsByTagName("title").length && document.getElementsByTagName("title")[0] && (document.getElementsByTagName("title")[0].innerHTML || document.getElementsByTagName("title")[0].innerHTML==""))?true:false;
 is_w3cDOM=(document.getElementById && (!is_op || is_w3cxDOM))?true:false;
 is_ieDOM=(document.all && (!is_op || is_w3cxDOM))?true:false;
 is_nnDOM=(document.layers)?true:false;
 is_external=(window.external)?true:false;
 is_kq=(agt.indexOf('konqueror')>=0)?true:false;
 is_saf=(agt.indexOf('safari')>=0)?true:false;
 is_ie=(agt.indexOf('msie')>=0 && (((is_external || agt.indexOf(' aol ')>=0) && document.all) || agt_ieVersion<4))?true:false;
 is_oldie=(is_ie && !is_ieDOM && !is_external);
 is_nav=(!is_ie && !is_op && !is_saf && (agt.indexOf('mozilla')>=0) && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1) && (agt.indexOf('webtv')==-1));
 is_nav2=(is_nav && (agt_major==2));
 is_nav3=(is_nav && (agt_major==3));
 is_nav4=(is_nav && (agt_major==4) && is_nnDOM);
 is_oldnav=(is_nav && !is_w3cDOM);
 if(is_nav4) { is_nav=(is_nnDOM)?true:false; }
 // Browser-Daten
 agt_os=((sys.indexOf('mac')>=0)?"Macintosh":(sys.indexOf('unix')>=0 || sys.indexOf('linux')>=0 || sys.indexOf('x11')>=0 || sys.indexOf('x 11')>=0)?"Linux/Unix":(sys.indexOf('os/2')>=0)?"OS/2":(sys.indexOf('win')>=0)?"Windows":"");
 agt_lang=(navigator.language)?navigator.language:(navigator.userLanguage)?navigator.userLanguage:"";
 agt_speed=0; agt_colors=0; agt_maxWidth=0; agt_maxHeight=0; agt_screenWidth=0; agt_screenHeight=0; agt_docWidth=0; agt_docHeight=0; agt_width=0; agt_height=0; is_agtSize=false;
 if(window.screen) {
  agt_colors=(window.screen.colorDepth)?Math.pow(2,window.screen.colorDepth):(window.screen.pixelDepth)?Math.pow(2,window.screen.pixelDepth):0;
  agt_maxWidth=window.screen.availWidth;
  agt_maxHeight=window.screen.availHeight;
  agt_screenWidth=window.screen.width;
  agt_screenHeight=window.screen.height;
 }
 // Spezielle Browser-Eigenschaften
 is_noscript=(!is_nav2);
 is_complete=(!is_oldnav);
 // Spezielle Dokumenten-Eigenschaften
 is_online=(window.location.protocol!="file:");
 is_connected=(navigator.online)?navigator.online:is_online;
 if(!defaultFile) { defaultFile="index.htm"; }
 doc_URI=rc(window.location.href,"\\","/");
 doc_URI=(doc_URI.indexOf("?")>=0)?doc_URI.substring(0,doc_URI.indexOf("?")):doc_URI;
 doc_URI=(doc_URI.indexOf("#")>=0)?doc_URI.substring(0,doc_URI.indexOf("#")):doc_URI;
 doc_URI=(doc_URI.charAt(doc_URI.length-1)=="/")?(doc_URI+defaultFile):doc_URI;
 doc_User=""; doc_Password="";
 if(is_online) {
  doc_localPath="";
  doc_Server=doc_URI.substring(doc_URI.indexOf("://")+3,doc_URI.indexOf("/",doc_URI.indexOf("://")+4));
  i=doc_Server.indexOf("@");
  if(i>=0) {
   doc_User=doc_Server.substring(0,i); doc_Server=doc_Server.substring(i+1,doc_Server.length);
   i=doc_User.indexOf(":"); if(i>=0) { doc_Password=doc_User.substring(i+1,doc_User.length); doc_User=doc_User.substring(0,i) }
  }
  doc_Server=(doc_Server.indexOf(":")>=0)?doc_Server.substring(0,doc_Server.indexOf(":")):doc_Server;
  doc_TLDomain=doc_Server.substring(doc_Server.lastIndexOf(".")+1,doc_Server.length);
  doc_Domain=doc_Server.substring(0,doc_Server.lastIndexOf("."));
  doc_Subdomain=(doc_Domain.indexOf("."))?doc_Domain.substring(0,doc_Domain.lastIndexOf(".")):"";
  doc_Domain=(doc_Domain.indexOf("."))?doc_Domain.substring(doc_Domain.lastIndexOf(".")+1,doc_Domain.length):doc_Domain;
 } else {
  if(!offlineDir) { offlineDir=doc_URI.substring(7,doc_URI.lastIndexOf("/")-1); }
  pathBegin=(doc_URI.indexOf("://")>=0)?7:5;
  doc_localPath=doc_URI.substring(pathBegin,doc_URI.indexOf(offlineDir)+offlineDir.length+1);
  doc_URI=doc_URI.substring(doc_URI.indexOf(offlineDir)+offlineDir.length,doc_URI.length);
  doc_Server=""; doc_TLDomain=""; doc_Domain=""; doc_Subdomain="";
 }
 i=doc_URI.indexOf(":",doc_URI.indexOf("://")+3); // Port-Adresse ausfiltern
 doc_URI=(i>=0)?doc_URI.substring(0,i)+doc_URI.substring(doc_URI.indexOf("/",i),doc_URI.length):doc_URI;
 doc_File=doc_URI.substring(doc_URI.lastIndexOf("/")+1,doc_URI.length);
 doc_FileExt=(doc_File.indexOf(".")>=0)?doc_File.substring(doc_File.lastIndexOf(".")+1,doc_File.length):"";
 doc_FileName=(doc_FileExt)?doc_File.substring(0,doc_File.lastIndexOf(doc_FileExt)-1):doc_File;
 doc_Path=doc_URI.substring(doc_URI.indexOf(doc_Server)+doc_Server.length+1,doc_URI.lastIndexOf("/"));
 doc_Path=(doc_Path=="/")?"":doc_Path;
 doc_MainDir=(doc_Path.indexOf("/")>=0)?doc_Path.substring(0,doc_Path.indexOf("/")):doc_Path;
 doc_FileDir=(doc_Path.indexOf("/")>=0)?doc_Path.substring(doc_Path.lastIndexOf("/")+1,doc_Path.length):doc_Path;
 doc_Path+="/";
 doc_PathDeep=(doc_Path=="/")?0:cc(doc_Path,"/");
 doc_rootPath=""; for(i=1;i<=doc_PathDeep;i++) { doc_rootPath+="../"; }
 doc_fullFile=doc_Path+doc_File;
 doc_Search=(document.location.search)?document.location.search.substring(1,document.location.search.length):"";
 doc_cachedURL="";
 if(doc_Search.indexOf("q=cache:")+1) {
  cacheBegin=doc_Search.indexOf(":",doc_Search.indexOf("q=cache:")+8)+1, cacheEnd=(doc_Search.indexOf("+",cacheBegin)+1)?doc_Search.indexOf("+",cacheBegin):doc_Search.length;
  doc_cachedURL=doc_Search.substring(cacheBegin,cacheEnd);
  if(parseInt(doc_cachedURL.indexOf("://"))<0) { doc_cachedURL="http://"+doc_cachedURL; }
 }
 is_frame=(top.location.href!=self.location.href);
 if(is_online) {
  doc_Referrer=rc(document.referrer,"\\","/");
  doc_xURI=doc_Referrer;
  doc_xServer=doc_xURI.substring(doc_xURI.indexOf("://")+3,doc_xURI.indexOf("/",doc_xURI.indexOf("://")+3))
  doc_xServer=(doc_xServer.indexOf(":")>=0)?doc_xServer.substring(0,doc_xServer.indexOf(":")):doc_xServer;
  doc_xTLDomain=doc_xServer.substring(doc_xServer.lastIndexOf(".")+1,doc_xServer.length)
  doc_xDomain=doc_xServer.substring(0,doc_xServer.lastIndexOf("."))
  doc_xSubdomain=(doc_xDomain.indexOf("."))?doc_xDomain.substring(0,doc_xDomain.lastIndexOf(".")):"";
  doc_xDomain=(doc_xDomain.indexOf("."))?doc_xDomain.substring(doc_xDomain.lastIndexOf(".")+1,doc_xDomain.length):doc_xDomain;
  doc_xURI=doc_xURI.substring(doc_xURI.lastIndexOf("/")+1,doc_xURI.length);
  // Geblockter Referrer-URL
  is_refblocked=(is_frame)?(doc_Server!=doc_xServer && document.referrer==parent.document.referrer):false;
  // Ungueltiger Referrer-URL
  if(is_refblocked || (doc_Referrer.substring(0,7)!="http://" && doc_Referrer.substring(0,8)!="https://" && doc_Referrer.substring(0,6)!="ftp://" && doc_Referrer.substring(0,7)!="news://")) {
   doc_Referrer=""; doc_xURI=""; doc_xServer=""; doc_xTLDomain=""; doc_xDomain=""; doc_xSubdomain="";
  }
 } else {
  is_refblocked=false; doc_Referrer=""; doc_xURI=""; doc_xServer=""; doc_xTLDomain=""; doc_xDomain=""; doc_xSubdomain="";
 }
 doc_temp=""; doc_width=0; doc_height=0;
 is_cached=(doc_cachedURL);
 is_xcall=(doc_xServer!="" && doc_Server!=doc_xServer);
 is_icall=(doc_Server==doc_xServer);
 // Spezielle Dokumenten-Steuerung
 do_ceh=is_online;
 do_resize=false;
 do_deFocus=true;
 do_frameset=is_xcall;
 do_deframe=false;
 do_uncache=false;
 do_blending=false;
 do_opt=is_connected;
 do_develop=(doc_localPath.indexOf("/Sites/VHost/vampirehost/")>=0 || doc_localPath.indexOf("/vampirehost/vampirehost/")>=0)
 // Script-Fehler abfangen?
 if(do_ceh) { window.onerror=ceh; }
}

// --------------------------------------------------------------------------

/* 'Replace HTML Tags 020703' (c) by cybaer@vampirehost.de
   --------------------------
 Inhalt    : Ersetzt alle gefundenen HTML-(End-)Tags durch eine Zeichenfolge
 Aufruf    : replaceHtmlTags(text,tagname,subs)
 Parameter : Text (String mit Tags)
             Tagname (Name des gewuenschten Tags (z.B. "A " oder "BR" - Endtags mit
                      vorangestelltem "/"); leer, wenn alle Tags ersetzt werden sollen)
             Subs (Ersatzstring)
             All (wenn True, werden alle Tags geaendert; bei False nur der erste)
             Start (Anfangsposition der Suche - optional)
 Sprache   : JavaScript 1.0
 Quelle    : http://www.vampirehost.de/gruft/coding/ (cybaer@vampirehost.de)
             Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
             bei nicht-kommerziellen Projekten (und deren unentgeltlicher
             Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
 InlineFunc: -
 Konstante : -
 Variable  : -
 SystemVar : -
 ExternVar : -
 Rueckgabe : Bearbeiteter String
 Anmerkung : Start- und End-Tags werden separat behandelt
 Beispiele : -
*/

function replaceHtmlTags(text,tagname,subs,all,start) {
 var ende; tagname=tagname.toUpperCase();
 start=(start)?start:0;
 while(text.toUpperCase().indexOf("<"+tagname,start)>=0) {
  start=text.toUpperCase().indexOf("<"+tagname,start);
  if(tagname=="!--") { ende=text.indexOf("-->",start)+3 } else { ende=text.toUpperCase().indexOf(">",start)+1 }
  text=text.substring(0,start)+subs+text.substring(ende,text.length);
  if(!all) { break; }
 }
 return text;
}

// ---------------------------------------------------------------------------

/* 'Reduce HTML Spaces 240703' (c) by cybaer@vampirehost.de
   ---------------------------
 Inhalt    : Reduziert in einem String doppelt vorkommene Leerzeichen (nach HTML-Definition)
 Aufruf    : reduceHtmlSpaces(Text)
 Parameter : Text (String)
 Sprache   : JavaScript 1.0
 Quelle    : http://www.vampirehost.de/gruft/coding/ (cybaer@vampirehost.de)
             Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
             bei nicht-kommerziellen Projekten (und deren unentgeltlicher
             Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
 InlineFunc: rc()
 Konstante : -
 Variable  : -
 SystemVar : -
 ExternVar : -
 Rueckgabe : Bearbeiteter String
 Anmerkung : -
 Beispiele : -
*/

function reduceHtmlSpaces(text) {
 text=rc(text,"\x0A"," ");
 text=rc(text,"\x0D"," ");
 while(text.indexOf("  ")>=0) { text=rc(text,"  "," "); }
 return text;
}

// ---------------------------------------------------------------------------

/* 'Trim Trailing Spaces 010703' (c) by cybaer@vampirehost.de
   -----------------------------
 Inhalt    : Entfernt einem String vorstehende und folgende Leerzeichen
 Aufruf    : trim(Text)
 Parameter : Text (String)
 Sprache   : JavaScript 1.0
 Quelle    : http://www.vampirehost.de/gruft/coding/ (cybaer@vampirehost.de)
             Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
             bei nicht-kommerziellen Projekten (und deren unentgeltlicher
             Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
 InlineFunc: -
 Konstante : -
 Variable  : -
 SystemVar : -
 ExternVar : -
 Rueckgabe : Bearbeiteter String
 Anmerkung : -
 Beispiele : -
*/

function trim(text) {
 while(text.charAt(0)==" ") { text=text.substring(1,text.length); }
 while(text.charAt(text.length-1)==" ") { text=text.substring(0,text.length-1); }
 return text;
}

// --------------------------------------------------------------------------

/* 'EscapeAll 111003' (c) by cybaer@vampirehost.de
   -----------------
 Inhalt    : Wandelt alle Zeichen ausser Buchstaben & Ziffern in Hex-Werte
 Aufruf    : escapeAll(string)
 Parameter : string (zu codierender string)
 Sprache   : JavaScript 1.0
 Quelle    : http://www.vampirehost.de/gruft/coding/ (cybaer@vampirehost.de)
             Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
             bei nicht-kommerziellen Projekten (und deren unentgeltlicher
             Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
 InlineFunc: -
 Konstante : -
 Variable  : -
 SystemVar : -
 ExternVar : -
 Rueckgabe : Codierte Zeichenkette
 Anmerkung : -
 Beispiel  : escapeAll("Kleiner_Test.") ergibt "Kleiner%5FTest%2E"
*/

function escapeAll(string) {
 var i, c, r, temp="";
 string=escape(string);
 c="*"; r="%2A"; i=string.indexOf(c); while(i>=0) { temp+=string.substring(0,i)+r; string=string.substring(i+1,string.length); i=string.indexOf(c); } string=temp+string.substring(0,string.length); temp="";
 c="+"; r="%2B"; i=string.indexOf(c); while(i>=0) { temp+=string.substring(0,i)+r; string=string.substring(i+1,string.length); i=string.indexOf(c); } string=temp+string.substring(0,string.length); temp="";
 c="-"; r="%2D"; i=string.indexOf(c); while(i>=0) { temp+=string.substring(0,i)+r; string=string.substring(i+1,string.length); i=string.indexOf(c); } string=temp+string.substring(0,string.length); temp="";
 c="."; r="%2E"; i=string.indexOf(c); while(i>=0) { temp+=string.substring(0,i)+r; string=string.substring(i+1,string.length); i=string.indexOf(c); } string=temp+string.substring(0,string.length); temp="";
 c="/"; r="%2F"; i=string.indexOf(c); while(i>=0) { temp+=string.substring(0,i)+r; string=string.substring(i+1,string.length); i=string.indexOf(c); } string=temp+string.substring(0,string.length); temp="";
 c="@"; r="%40"; i=string.indexOf(c); while(i>=0) { temp+=string.substring(0,i)+r; string=string.substring(i+1,string.length); i=string.indexOf(c); } string=temp+string.substring(0,string.length); temp="";
 c="_"; r="%5F"; i=string.indexOf(c); while(i>=0) { temp+=string.substring(0,i)+r; string=string.substring(i+1,string.length); i=string.indexOf(c); } string=temp+string.substring(0,string.length); temp="";
 return string;
}

// ---------------------------- Zahlen-Bibliothek ---------------------------

// 'Number-Library-Auszug 060104' (c) Cybaer - http://www.vampirehost.de/gruft/coding/jscript/numlib.htm

function getFrac(num) { num=""+num; return parseFloat("0."+num.substring(num.length-((num.indexOf(".")>=0)?num.length-num.indexOf(".")-1:0),num.length)); }
function dezInt(num,size,prefix) { prefix=(prefix)?prefix:"0"; var minus=(num<0)?"-":"", result=(prefix=="0")?minus:""; num=Math.abs(parseInt(num,10)); size-=(""+num).length; for(var i=1;i<=size;i++) { result+=""+prefix; } result+=((prefix!="0")?minus:"")+num; return result; }
function dezFrac(num,size,postfix) { postfix=(postfix)?postfix:"0"; var i, result=getFrac(Math.abs(num)); result=(result)?""+result:""; if(result) { result=result.substring(2,result.length); } size-=result.length; for(i=1;i<=size;i++) { result+=postfix; } return result; }
function dez(num,presize,postsize,prefix,postfix,fracSign) { fracSign=(fracSign)?fracSign:"."; var result=dezInt(num,presize,prefix)+fracSign+dezFrac(num,postsize,postfix); result=(result.substring(result.length-1,result.length)==fracSign)?result.substring(0,result.length-1):result; return result; }
function rnd(max) { if(Math.random) { return Math.ceil(Math.max(1,max)*Math.random()); } else { return max; } }
function rand(min,max) { var range=max-min+1; if(range>0) { if(Math.random) { return Math.ceil(range*Math.random())+min-1; } else { return max; } } else { return "undefined"; } }

// ----------------------------- GfA-Bibliothek -----------------------------

// 'Lib-GfA2JS-Auszug 191203' (c) Cybaer - http://www.vampirehost.de/gruft/coding/jscript/jsgfalib.htm
gfaInteger=4294967295; gfaIntegerSigned=2147483647;
function wrongJS(gfa,version) { alert("Dieser Browser ist leider zu alt!\n"+gfa+" braucht mindestens JavaScript "+version+"."); }
function parseGfA(data,isInt) { var result; data=""+data; if(data=="true") { result=-1; } else if(data!="false") { result=0; data=data.toLowerCase(); if(data.substring(0,1)=="&") { if(data.substring(0,2)=="&h") { result=parseInt(data.substring(2,data.length),16); result=(result<0)?0:result; } else if(data.substring(0,2)=="&x") { result=parseInt(data.substring(2,data.length),2); result=(result<0)?0:result; } else if(data.substring(0,2)=="&o") { result=parseInt(data.substring(2,data.length),8); result=(result<0)?0:result; } else { result=parseInt(data.substring(1,data.length),16); result=(result<0)?0:result; } } else if(data.substring(0,1)=="$") { result=parseInt(data.substring(1,data.length),16); result=(result<0)?0:result; } else if(data.substring(0,1)=="%") { result=parseInt(data.substring(1,data.length),2); result=(result<0)?0:result; } else { if(data.indexOf("e+")>1) { data=""+Math.pow(10,parseInt(data.substring(data.indexOf("e+")+2,data.length)))*parseFloat(data); } else if(data.indexOf("e-")>1) { data=""+Math.pow(10,parseInt(data.substring(data.indexOf("e-")+1,data.length)))*parseFloat(data); } data=(data.substring(0,1)=="-")?data:"0"+data; result=(isInt)?parseInt(data.substring(0,data.length),10):parseFloat(data.substring(0,data.length)); } } return (result>=0 || result<0)?result:0; }
function INSTR(text,string,pos) { if(string) { pos=(!pos)?1:parseGfA(pos); return text.indexOf(string,Math.max(0,pos-1))+1; } else { return 0; } }
function LEFT$(text,num) { num=(num)?parseGfA(num):1; return text.substring(0,num); }
function LEN(text) { return text.length; }
function MID$(text,pos,num) { pos=parseGfA(pos)-1; if(typeof(num)=="undefined") { num=text.length-pos; } else { num=parseGfA(num); } return text.substring(pos,pos+num); } // JS 1.1
function RIGHT$(text,num) { num=(num)?parseGfA(num):1; return text.substring(text.length-num,text.length); }
function STRING$(size,data,isNumber) { size=parseGfA(size); var string="",result=""; if(isNumber) { if(String.fromCharCode) { string=String.fromCharCode(parseGfA(data)); } else { wrongJS("STRING$(size,num)",1.2); } } else { string=data; } for(var i=1;i<=size;i++) { result+=string; } return result; } // JS 1.2
function PRED(data,isString) { if(!isString) { return parseGfA(data,true)-1; } else if(String.fromCharCode) { return String.fromCharCode(data.charCodeAt(0)-1); } else { wrongJS("PRED(string$)",1.2); return ""; } }
function SUCC(data,isString) { if(!isString) { return parseGfA(data,true)+1; } else if(String.fromCharCode) { return String.fromCharCode(data.charCodeAt(0)+1); } else { wrongJS("SUCC(string$)",1.2); return ""; } }
function ADD(num1,num2) { return parseGfA(num1,true)+parseGfA(num2,true); }
function SUB(num1,num2) { return parseGfA(num1,true)-parseGfA(num2,true); }
function ABS(num) { return Math.abs(parseGfA(num)); }
function MAX(data) { var i=MAX.arguments.length, result; result=parseGfA(data); while(i>1) { i--; result=Math.max(result,parseGfA(MAX.arguments[i])); } return result; } // Momentan keine Zeichenketten.

// Fields-Library-Auszug (c) Cybaer - http://www.vampirehost.de/gruft/coding/gfabas/fields.htm
function getfield$(field$,nr,div$) { var entry$,v,w,nrOld; if(!div$) {  div$="|"; } field$=field$+div$; nrOld=nr; w=0; while(true) { v=SUCC(w); w=INSTR(field$,div$,v); if(w==0) { entry$=MID$(field$,v,MAX(SUB(LEN(field$),PRED(v)),0)); } else { nr--; if(nr<=0) { entry$=MID$(field$,v,MAX(SUB(w,v),0)); } } if(w==0) { break; } if(nr<=0) { break; } } return entry$; }
function cfield(field$,div$) { var count,w,l; if(!div$) { div$="|"; } l=LEN(field$); count=ABS(l>0); while(true) { w=INSTR(field$,div$,SUCC(w)); if(w==0) { break; } count++; if(w==l) { break; } } return count; }
function infield(field$,string$,nr,div$,part) { var q,adr,lfield$,rfield$,lfield=0,result; if(!div$) { div$="|"; } if(nr<=1) { adr=1; lfield$=""; rfield$=field$; } else { adr=adrfield(field$,nr,div$); lfield$=LEFT$(field$,PRED(adr)); rfield$=MID$(field$,adr); } if(lfield$!="") { lfield=PRED(cfield(lfield$,div$)); } if(part) { q=INSTR(rfield$,string$); } else { q=INSTR(div$+rfield$+div$,div$+string$+div$); } if(q==0) { result=0; } else { result=nrfield(rfield$,q,div$)+lfield; } return result; }
function setfield$(field$,nr,string$,div$) { var count,adr,len,lfield$,rfield$; if(!div$) { div$="|"; } count=cfield(field$,div$); if(nr<=count) { adr=adrfield(field$,nr,div$); lfield$=LEFT$(field$,PRED(adr)); rfield$=MID$(field$,ADD(adr,LEN(getfield$(field$,nr,div$)))); field$=lfield$+string$+rfield$; } else { field$=addfield$(field$,nr,string$,div$); } return field$; }
function addfield$(field$,nr,string$,div$) { var count,adr,lfield$,rfield$; if(!div$) { div$="|"; } count=cfield(field$,div$); if(nr<=count) { if(nr>0) { adr=adrfield(field$,nr,div$); lfield$=LEFT$(field$,PRED(adr)); rfield$=div$+MID$(field$,adr); } else { lfield$=""; rfield$=""; } } else { if(count>0) { lfield$=field$+STRING$(SUB(nr,count),div$); rfield$=""; } else { lfield$=STRING$(PRED(nr),div$); rfield$=""; } } field$=lfield$+string$+rfield$; return field$; }
function adrfield(field$,nr,div$) { var v,w,nrOld; if(!div$) { div$="|"; } field$=field$+div$; nrOld=nr; w=0; while(true) { v=SUCC(w); w=INSTR(field$,div$,v); if(w==0) { v=0; } else { nr--; } if(w==0) { break; } if(nr<=0) { break; } } return v; }
function nrfield(field$,adr,div$) { var nr; if(!div$) { div$="|"; } nr=cfield(LEFT$(field$,adr),div$); if(MID$(field$,adr,1)==div$) { nr--; } return nr; }
function iblock$(field$,nr,ldiv$,rdiv$,border) { var left,right,entry$; left=cfield(field$,ldiv$); right=cfield(field$,rdiv$); if(left>0 && right>0) { entry$=getfield$(getfield$(field$,SUCC(nr),ldiv$),1,rdiv$); if(border && entry$!="") { entry$=ldiv$+getfield$(getfield$(field$,SUCC(nr),ldiv$),1,rdiv$)+rdiv$; } } return entry$; }

// =========================== System-Bibliothek ============================

/* 'ImgSwitch+ 100903' (c) by cybaer@vampirehost.de
   -------------------
 Inhalt    : Laedt fuer beliebig viele IMGs 1-2 Grafiken und/oder ersetzt Statuszeile des Browsers
 Aufruf    : S(Name1,Source1,Name2,Source2,Text,TopDown,All)
 Parameter : Name1 (Name des/der ersten zu ersetzenden IMG-Tags)
             Source1 (Dateiname der ersten Ersatzgrafik)
             Name2 (Name des/der zweiten zu ersetzenden IMG-Tags)
             Source2 (Dateiname der zweiten Ersatzgrafik)
             Text (gewuenschter Text der Statuszeile; " " wenn Statuszeile geloescht werden soll)
             TopDown (Reihenfolge der Ersetzungen: true  -> von oben nach unten
                                                   False -> von unten nach oben)
             All (Anzahl der Ersetzungen: true  -> alle zutreffenden Grafiken werden ersetzt
                                          False -> nur die erste zutreffende Grafik wird ersetzt)
 Sprache   : JavaScript 1.0 (partiell) & JavaScript 1.1 (gesichert)
 Quelle    : http://www.vampirehost.de/gruft/coding/ (cybaer@vampirehost.de)
             Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
             bei nicht-kommerziellen Projekten (und deren unentgeltlicher
             Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
 InlineFunc: -
 Konstante : -
 Variable  : oldSource1/oldSource2 (Jeweils letzte ersetzte Grafik)
 SystemVar : -
 ExternVar : -
 Rueckgabe : true
 Anmerkung : oldSource1 & oldSource2 beinhalten die jeweils zuletzt ersetzte Grafik. Diese Variablen
             werden anstelle der Parameter Source1 & Source2 verwendet, falls diese leer sind.
 Beispiele :
  S("Img","i2.gif","","","",0,0) ersetzt die Grafik mit Namen "Img" durch "i2.gif"
   Gibt es mehrere Grafiken mit Namen "Img", so obliegt es dem Browser, welche er ersetzt (schnelle Variante)
  S("Img*","i2.gif","","","",0,0) ersetzt die erste Grafik (unten beginnend), deren Namen mit "Img" anfaengt
  S("Img*","i2.gif","","","",0,-1) ersetzt alle Grafiken (unten beginnend), deren Namen mit "Img" anfaengt
  S("Img","i2.gif","","","",0,-1) ersetzt alle Grafiken (unten beginnend) mit Namen "Img"
  S("Img","i2.gif","","","",-1,-1) ersetzt alle Grafiken (oben beginnend) mit Namen "Img"
  S("Img","i2.gif","Txt","t2.gif","",0,0) ersetzt "Img" durch "i2.gif" und "Txt" durch "t2.gif"
  S("Img","","Txt","","",0,0) ersetzt "Img" und "Txt" durch die Grafiken vor der letzten Auswechslung
  S("","","","","Hinweis",0,0) gibt in der Statuszeile den Text "Hinweis" aus
  S("","","",""," ",0,0) loescht den Text in der Statuszeile
*/

function S(Name1,Source1,Name2,Source2,Text,TopDown,All) {
 var i, SNameBeginn;
 if(Text!="") { window.status=Text; }
 if(document.images) { if(document.images[0]) {
   if(Name1!="" && Source1=="" && oldSource1!="") { Source1=oldSource1; }
   if(Name1!="" && Source1!="") {
    SNameBeginn=Name1.substring(0,Name1.indexOf("*"));
    if(SNameBeginn=="" && All==false) {
     oldSource1=document.images[Name1].src;
     document.images[Name1].src=Source1;
    } else {
     if(TopDown) {
      for(i=0;i<document.images.length;i++) {
       if(document.images[i].name==Name1 || (SNameBeginn!="" && document.images[i].name.substring(0,SNameBeginn.length)==SNameBeginn)) {
        oldSource1=document.images[i].src;
        document.images[i].src=Source1;
        if(All==false) { break; }
       }
      }
     } else {
      for(i=document.images.length-1;i>=0;i--) {
       if(document.images[i].name==Name1 || (SNameBeginn!="" && document.images[i].name.substring(0,SNameBeginn.length)==SNameBeginn)) {
        oldSource1=document.images[i].src;
        document.images[i].src=Source1;
        if(All==false) { break; }
       }
      }
     }
    }
   }
   if(Name2!="" && Source2=="" && oldSource2!="") { Source2=oldSource2; }
   if(Name2!="" && Source2!="") {
    SNameBeginn=Name2.substring(0,Name2.indexOf("*"));
    if(SNameBeginn=="" && All==false) {
     oldSource2=document.images[Name2].src;
     document.images[Name2].src=Source2;
    } else {
     if(TopDown) {
      for(i=0;i<document.images.length;i++) {
       if(document.images[i].name==Name2 || (SNameBeginn!="" && document.images[i].name.substring(0,SNameBeginn.length)==SNameBeginn)) {
        oldSource2=document.images[i].src;
        document.images[i].src=Source2;
        if(All==false) { break; }
       }
      }
     } else {
      for(i=document.images.length-1;i>=0;i--) {
       if(document.images[i].name==Name2) {
        if(document.images[i].name==Name2 || (SNameBeginn!="" && document.images[i].name.substring(0,SNameBeginn.length)==SNameBeginn)) {
         oldSource2=document.images[i].src;
         document.images[i].src=Source2;
         if(All==false) { break; }
        }
       }
      }
     }
    }
   }
  }
 }
 return true;
}

// --------------------------------------------------------------------------

/* 'ImgFlip 100903' (c) by cybaer@vampirehost.de
   ----------------
 Inhalt    : Laedt fuer ein IMG eine Grafik
 Aufruf    : Fn(Name)
 Parameter : n (im Funktionsnamen(!): Ziffer der zu ersetzenden Grafik (1 oder 2)
             Name (Name des zu ersetzenden IMG-Tags)
 Sprache   : JavaScript 1.1 (gesichert)
 Quelle    : http://www.vampirehost.de/gruft/coding/ (cybaer@vampirehost.de)
             Die kostenlose Nutzung der Quelltexte in eigenen Projekten ist
             bei nicht-kommerziellen Projekten (und deren unentgeltlicher
             Herstellung) bei Nennung der Quelle ausdruecklich gestattet.
 InlineFunc: S()
 Konstante : -
 Variable  : -
 SystemVar : -
 ExternVar : FimgDir (enthaelt das Verzeichnis der Grafiken)
 Rueckgabe : Rueckgabewert von S()
 Anmerkung : Der Dateiname muss sich bilden koennen aus Dateipfad + IMG-Name + 0/1/2 + Dateiextension
 Beispiele :
  F0("i") entspricht S("i","i0.gif","","","",0,0) (bei FimgDir="")
  F1("i") entspricht S("i","i1.gif","","","",0,0) (bei FimgDir="")
  F2("i") entspricht S("i","img/i2.gif","","","",0,0) (bei FimgDir="img/")
*/

function F0(Name) {
 if(document.images) {
  var FimgFile=document.images[Name].src;
  var FimgExt=FimgFile.substring(FimgFile.lastIndexOf("."),FimgFile.length);
  S(Name,FimgDir+Name+'0'+FimgExt,'','','',0,0);
 }
}

function F1(Name) {
 if(document.images) {
  var FimgFile=document.images[Name].src;
  var FimgExt=FimgFile.substring(FimgFile.lastIndexOf("."),FimgFile.length);
  S(Name,FimgDir+Name+'1'+FimgExt,'','','',0,0);
 }
}

function F2(Name) {
 if(document.images) {
  var FimgFile=document.images[Name].src;
  var FimgExt=FimgFile.substring(FimgFile.lastIndexOf("."),FimgFile.length);
  S(Name,FimgDir+Name+'2'+FimgExt,'','','',0,0);
 }
}

// --------------------------------------------------------------------------

/* 'Page BlendOver 130104' (c) Cybaer - http://www.vampirehost.de/gruft/coding/jscript/blending.htm */
function BlendOver(duration,effect) {
 if(duration>0) {
  if(effect.length) {
   effect=rc(effect," ",-1);
   effect=rc(effect,"::",12);
   effect=rc(effect,"[]<-",0);
   effect=rc(effect,"[]->",1);
   effect=rc(effect,"O<-",2);
   effect=rc(effect,"O->",3);
   effect=rc(effect,"||->",8);
   effect=rc(effect,"=_",9);
   effect=rc(effect,"#->",10);
   effect=rc(effect,"#_",11);
   effect=rc(effect,"->|<-",13);
   effect=rc(effect,"<-|->",14);
   effect=rc(effect,"|->",6);
   effect=rc(effect,"|<-",7);
   effect=rc(effect,"\-_",17);
   effect=rc(effect,"/_-",18);
   effect=rc(effect,"/-_",19);
   effect=rc(effect,"\_-",20);
   effect=rc(effect,"_-",4);
   effect=rc(effect,"-_",5);
   effect=rc(effect,">-",15);
   effect=rc(effect,"-<",16);
   effect=rc(effect,"==",21);
   effect=rc(effect,"||||",22);
   effect=rc(effect,"*",23);
   if(effect.indexOf(",")+1) {
    var effects=effect.split(",");
    effect=effects[rand(0,effects.length-1)];
   }
  }
  if(effect==23) { effect=rand(-1,22); }
  duration=(is_ie && agt_ieVersion<6)?Math.round(duration/1000):duration/1000;
  if(effect==-1) {
   document.writeln('<meta http-equiv="Page-Exit" content="BlendTrans(Duration='+duration+')">');
  } else {
   document.writeln('<meta http-equiv="Page-Exit" content="RevealTrans(Duration='+duration+',Transition='+effect+')">');
  }
 }
}

// --------------------------------------------------------------------------

/* 'Ticker4All 041103' (c) Cybaer - http://www.vampirehost.de/gruft/coding/dhtml/ticker.htm */
function Ticker(Name,Text,LCursor,RCursor,Size,Filler,FillerCheck,Chardelay,Linedelay,WhiteSpace,Status,ImgMask,Capitals,Width,Height) {
 var infiniteLineend=" +++ ", finiteLineend=" ...", finiteLinestart="... ", tickerSpace=" ", htmlText="", formText, i;
 tickerName=Name; tickerLCursor=LCursor; tickerRCursor=RCursor; tickerSize=Size; tickerChardelay=Chardelay; tickerLinedelay=Linedelay;
 tickerElement=""; tickerWspace=(String.fromCharCode)?String.fromCharCode(160):"";

 is_w3cTicker=(document.getElementById && document.getElementById(tickerName) && !window.opera)?true:false;
 is_w3cxTicker=(document.getElementById && document.getElementById(tickerName) && (document.getElementById(tickerName).innerHTML || document.getElementById(tickerName).innerHTML==""))?true:false;
 is_formTicker=(document.forms[tickerName] && document.forms[tickerName].elements[0] && (document.forms[tickerName].elements[0].type=="text"));
 formText=(is_formTicker)?document.forms[tickerName].elements[0].value:"";
 is_domTicker=(is_w3cxTicker || is_w3cTicker);
 is_formTicker=(!is_domTicker && is_formTicker && (Text || formText))?true:false;
 is_statusTicker=(!is_domTicker && !is_formTicker && Status && Text)?true:false;
 is_imageTicker=(document.images && ImgMask && ImgMask.indexOf(".")+1 && Size>0 && " ".charCodeAt && (Text || is_domTicker))?true:false;
 is_infiniteTicker=((is_formTicker || is_statusTicker) && !is_imageTicker && Size>0)

 if(is_w3cTicker || is_w3cxTicker) { tickerElement=eval(document.getElementById(tickerName)); }
 else if(is_formTicker) { tickerElement=eval(document.forms[tickerName].elements[0]); }

 if(tickerElement) {
  if(is_w3cxTicker) {
   htmlText=tickerElement.innerHTML; tickerElement.innerHTML="";
   htmlText=replaceHtmlTags(htmlText,"!--","|",true);
   htmlText=replaceHtmlTags(htmlText,"BR","|",true);
   htmlText=replaceHtmlTags(htmlText,"HR","|",true);
  }
  else if(is_w3cTicker) {
   if(tickerElement.hasChildNodes()) { var Node=tickerElement.firstChild;
    while(Node!=null) {
     if(Node.nodeName=="#text") { Value=reduceHtmlSpaces(Node.nodeValue); htmlText+=Value; Node.nodeValue=""; }
     else if(Node.nodeName=="#comment" || Node.nodeName=="BR" || Node.nodeName=="HR") { htmlText+="|"; }
    Node=Node.nextSibling;
    }
    for(i=(tickerElement.firstChild.nodeType==3)?1:0;i<tickerElement.childNodes.length;i++) { tickerElement.removeChild(tickerElement.childNodes[i]); }
   }
   if(!tickerElement.hasChildNodes()) { tickerElement.appendChild(document.createTextNode("")); }
  }
  else if(is_formTicker) { htmlText=formText; tickerElement.value=""; }
  if(!Text) { Text=(formText)?formText:htmlText; }
 }

 Text=trim(reduceHtmlSpaces(replaceHtmlTags(Text,"","",true))); tickerLines=new Array(); i=1;
 while(Text.indexOf("| ")>=0) { Text=rc(Text,"| ","|"); }
 while(Text.indexOf(" |")>=0) { Text=rc(Text," |","|"); }
 while(Text.indexOf("||")>=0) { Text=rc(Text,"||","|"); }
 if(Text.charAt(0)=="|") { Text=Text.substr(1,Text.length-1); }
 if(Text.charAt(Text.length-1)=="|") { Text=Text.substr(0,Text.length-1); }
 while(Text.indexOf("|")>=0) { tickerLines[i]=Text.substring(0,Text.indexOf("|")); Text=Text.substring(tickerLines[i].length+1,Text.length); i++; } if(Text) { tickerLines[i]=Text; Text=""; }

 if(!tickerLines.length) { return false; }
 else {
  if(Size>0) {  // Konstanter Zeichenbereich (Endlosticker)
   if(is_infiniteTicker) {
    var tickerTrailingSpaces=infiniteLineend; var tickerEndSpaces=""; }
   else {
    var tickerTrailingSpaces=""; for(i=Size;i>1;i--) { tickerTrailingSpaces+=tickerSpace; }
    tickerTrailingSpaces+=tickerSpace; var tickerEndSpaces=tickerTrailingSpaces;
   }
   tickerLines[0]=tickerTrailingSpaces; i=1;
   while(i<tickerLines.length-1) {
    tickerLines[0]+=tickerLines[i]+tickerSpace;
    if(Filler && FillerCheck.indexOf(tickerLines[i].charAt(tickerLines[i].length-1))>=0) { tickerLines[0]+=tickerTrailingSpaces; }
    i++;
   }
   tickerLines[0]+=tickerLines[i]+tickerEndSpaces;
   Size=Math.min(Size,tickerLines[0].length); tickerSize=Size;
   if(is_infiniteTicker) { tickerLines[0]+=tickerLines[0].substr(0,tickerSize); }
   if(is_infiniteTicker) { tickerLines[0]=reduceHtmlSpaces(tickerLines[0]); }
   if(WhiteSpace && String.fromCharCode) { tickerLines[0]=rc(tickerLines[0]," ",String.fromCharCode(160)); }
  }
  else {
   if(Filler && tickerLines.length>2) {
    for(i=1;i<tickerLines.length-1;i++) { if(tickerLines[i] && FillerCheck.indexOf(tickerLines[i].charAt(tickerLines[i].length-1))<0) { tickerLines[i]+=finiteLineend; tickerLines[i+1]=finiteLinestart+tickerLines[i+1]; } }
    if(WhiteSpace && String.fromCharCode) { for(i=1;i<tickerLines.length;i++) { tickerLines[i]=rc(tickerLines[i]," ",String.fromCharCode(160)); } }
   }
  }

  if(is_imageTicker) {
   if(Capitals) { for(i=0;i<tickerLines.length;i++) { tickerLines[i]=tickerLines[i].toUpperCase(); } }
   cacheTicker(ImgMask,Capitals);
   Width=(Width)?'width="'+Width+'" ':''; Height=(Height)?'height="'+Height+'" ':'';
   tickerSpace=tickerImg+32+tickerExt; nr=-1; document.write('<span id="'+Name+'Img">');
   for(i=0;i<LCursor.length;i++) { nr++; document.write('<img src="'+tickerSpace+'" name="'+Name+'Img'+nr+'" '+Width+Height+' alt="" border="0">'); }
   for(i=0;i<Size;i++) { nr++; document.write('<img src="'+tickerSpace+'" name="'+Name+'Img'+nr+'" '+Width+Height+' alt="" border="0">'); }
   for(i=0;i<RCursor.length;i++) { nr++; document.write('<img src="'+tickerSpace+'" name="'+Name+'Img'+nr+'" '+Width+Height+' alt="" border="0">'); }
   document.write('<\/span>');
  }

  return doTicker((Size>0)?0:1,0,1);
 }
}

do_optShow=false; function crunchPeanut(peanutJar) { return rc(escapeAll(peanutJar),"%","_"); } function decrunchPeanut(peanutJar) { return unescape(rc(peanutJar,"_","%")); } function replaceDivs(data) { return rc(rc(rc(data,"{","["),"}","]"),"|","/"); } function clusterPeanut(data) { return "{"+data+"}"; } function scriptOpt(show) { var i, q, id=""; optID="WebOptimizer0103"; optNrDig=4; optActual=new Date(); optImg=new Image(); optImgFile=((is_cached)?"/":doc_rootPath)+"img/optimize.gif"; var peanutJar=decrunchPeanut(top.window.name); if(peanutJar.indexOf(optID)==-1) { optHead="WOHead||-"; optHead=setfield$(optHead,4,dezInt(agt_screenWidth,4)+"x"+dezInt(agt_screenHeight,4)); q=dez(agt_jsVersion,1,1); id+=q; optHead=setfield$(optHead,5,q); q="WoW"+((window.outerWidth)?1:0)+"WeX"+Math.abs(is_external)+"NLa"+((navigator.language)?1:0)+"NuL"+((navigator.userLanguage)?1:0)+"NOn"+((navigator.online)?1:0)+"NNe"+((navigator.netscape)?1:0)+"NOp"+((navigator.opera)?1:0)+"DAl"+Math.abs(is_ieDOM)+"DLa"+Math.abs(is_nnDOM)+"DW3"+(Math.abs(is_w3cDOM)+Math.abs(is_w3cDOM))+")"; id+=q; optHead=setfield$(optHead,6,q); q=((is_ie)?"IE "+dez(agt_ieVersion,1,2):(is_nav)?"Nav "+dez(agt_version,1,2):(is_op)?"OP "+dez(agt_opVersion,1,2):(is_kq)?"KQ "+dez(agt_kqVersion,1,2):(is_saf)?"Saf "+dez(agt_safVersion,1,2):"? ")+" "+((agt_os)?agt_os:"?")+" ("+((agt_lang)?agt_lang:"?")+")"; id+=q; optHead=setfield$(optHead,7,q); q=navigator.appName+", "+navigator.appVersion+", "+((navigator.platform)?navigator.platform:"?"); id+=q; optHead=setfield$(optHead,8,replaceDivs(q)); q=navigator.userAgent; id+=q; optHead=setfield$(optHead,9,replaceDivs(q)); optHead=setfield$(optHead,10,"-"); optHead=setfield$(optHead,11,doc_Server); optHead=setfield$(optHead,12,top.window.doc_Referrer); q=id; if(String.fromCharCode) { id=0; for(i=0;i<q.length;i++) { id+=q.charCodeAt(i); } id=Math.floor(doc_time.getTime()/7200000)*720*10000*1000+id+(agt_screenWidth*agt_screenHeight)+(agt_maxWidth*agt_maxHeight); } else { id=Math.floor(doc_time.getTime()/36000000)*360*10000*1000; } optHead=setfield$(optHead,2,dezInt(id,16)); q=doc_time.getYear(); q+=(q<999)?1900:0; q+="/"+dezInt((doc_time.getMonth()+1),2)+"/"+dezInt(doc_time.getDate(),2)+" "+dezInt(doc_time.getHours(),2)+":"+dezInt(doc_time.getMinutes(),2)+"'"+dezInt(doc_time.getSeconds(),2)+"''"+dezInt(doc_time.getMilliseconds(),3)+" ("+doc_time.getTime()+")"; optHead=setfield$(optHead,13,q); optHead=setfield$(optHead,14,"-"); optHead=setfield$(optHead,15,(agt_speed<0)?-dezInt(agt_speed,5):dezInt(agt_speed,6)); optBody="WOBody|0000|00000"; optVal=clusterPeanut(optID)+clusterPeanut(optHead)+clusterPeanut(optBody); } else { optVal=peanutJar; WOStartCluster=infield(optVal,optID,1,"}",true); optHead=iblock$(optVal,WOStartCluster+1,"{","}"); agt_speed=parseInt(getfield$(optHead,15),10); optBody=iblock$(optVal,WOStartCluster+2,"{","}"); } if(optHead.substring(0,6)=="WOHead") { optTime=optActual.getTime(); optNr=parseInt(getfield$(optBody,2),10)+1; optBody=setfield$(optBody,2,dezInt(optNr,optNrDig)); optBody=setfield$(optBody,4,doc_Server+((doc_fullFile.charAt(0)=="/")?"":"/")+doc_fullFile); if(doc_MainDir=="Augen-Blicke") { optBody=setfield$(optBody,5,top.document.title); optBody=setfield$(optBody,6,((top.document.doc_Referrer)?top.document.doc_Referrer:doc_Referrer)); } else { optBody=setfield$(optBody,5,document.title); optBody=setfield$(optBody,6,doc_Referrer); } optBody=setfield$(optBody,6,doc_Referrer); q=top.window.doc_User+((top.window.doc_Password)?":":"")+top.window.doc_Password; optBody=setfield$(optBody,7,replaceDivs(q)); q=optActual.getYear(); q+=(q<999)?1900:0; q+="/"+dezInt((optActual.getMonth()+1),2)+"/"+dezInt(optActual.getDate(),2)+" "+dezInt(optActual.getHours(),2)+":"+dezInt(optActual.getMinutes(),2)+"'"+dezInt(optActual.getSeconds(),2)+"''"+dezInt(optActual.getMilliseconds(),3)+" ("+optTime+")"; optBody=setfield$(optBody,8,q); optBody=setfield$(optBody,9,"-"); optBody=setfield$(optBody,10,dezInt(doc_width,4)+"x"+dezInt(doc_height,4)); optBody=setfield$(optBody,11,dezInt(agt_docWidth,4)+"x"+dezInt(agt_docHeight,4)); optBody=setfield$(optBody,12,dezInt(agt_width,4)+"x"+dezInt(agt_height,4)); optVal=clusterPeanut(optID)+clusterPeanut(optHead)+clusterPeanut(optBody); optEVal=crunchPeanut(optVal); top.window.name=optEVal; optImg.src=optImgFile+"?"+optEVal; if(show) { alert("Head: "+optHead+"\nBody: "+optBody); } } } function scriptOptX() { optActual=new Date(); optHead=setfield$(optHead,15,(agt_speed<0)?-dezInt(agt_speed,5):dezInt(agt_speed,6)); optTime=dezInt((optActual.getTime()-doc_time.getTime())/1000,5); optBody=setfield$(optBody,3,optTime); optVal=clusterPeanut(optID)+clusterPeanut(optHead)+clusterPeanut(optBody); optEVal=crunchPeanut(optVal); top.window.name=optEVal; }

function doTicker(line,pos,dir) {
 var text, last, delay;

 if(line==0) {
  text=((is_imageTicker)?"":tickerWspace)+tickerLCursor+tickerLines[line].substring(pos,pos+tickerSize)+tickerRCursor+((is_imageTicker)?"":tickerWspace);
  last=tickerLines[line].length-tickerSize; }
 else { text=((is_imageTicker)?"":tickerWspace)+tickerLCursor+tickerLines[line].substring(0,pos)+tickerRCursor+((is_imageTicker)?"":tickerWspace); last=tickerLines[line].length; }

 if(is_imageTicker) { for(i=0;i<text.length;i++) { document.images[tickerName+"Img"+i].src=tickerCache[text.charCodeAt(i)].src; } }
 else if(is_w3cxTicker) { tickerElement.innerHTML=text; }
 else if(is_w3cTicker) { tickerElement.childNodes[0].nodeValue=text; }
 else if(is_formTicker) { tickerElement.value=text; }
 else if(is_statusTicker) { window.status=text; }

 pos+=dir; delay=(tickerChardelay<0 && dir<0)?0:Math.abs(tickerChardelay);

 if(pos>last) {
  delay=Math.abs(tickerLinedelay);
  if(tickerSize<0) {
   pos--; dir=-dir;
  } else {
   pos=0;
   delay=(is_infiniteTicker)?Math.abs(tickerChardelay):Math.abs(tickerLinedelay)
   if(line>0) { line=(line<tickerLines.length-1)?line+1:1 }
  }
 } else if(pos<0) {
  pos=0; dir=-dir; delay=Math.max(0,tickerLinedelay);
  line=(line<tickerLines.length-1)?line+1:1
 }

 setTimeout('doTicker('+line+','+pos+','+dir+')',delay);
 return true;
}

function cacheTicker(ImgMask,Capitals) {
 if(document.images) { var i;
  tickerImg=ImgMask.substring(0,ImgMask.lastIndexOf("."));
  tickerExt=ImgMask.substring(ImgMask.lastIndexOf("."),ImgMask.length);
  tickerCache=new Array();
  for(i=0;i<256;i++) {
   if((i>=32 && i<=96) || (!Capitals && i>=97 && i<=122) || (i>=123 && i<=127) || (i>=160 && i<=223) || (!Capitals && i>=224 && i<=246) || i==247 || i==248 || (!Capitals && i>=249 && i<=253) || i==254 || i==255) {
    tickerCache[i]=new Image();
    tickerCache[i].src=tickerImg+i+tickerExt;
   }
  }
 }
}

function makeTickerWork(entry,all) {
 var q, w=0;
 if(entry) {
  TickerWork=new Array();
  for(q=0;q<TickerText.length;q++) {
   if(TickerText[q].toLowerCase().indexOf(entry)>=0) {
    TickerWork[w]=TickerText[q];
    if(all) {
     w++;
    } else {
     break;
    }
   }
  }
 } else {
  TickerWork=TickerText.join("$NewTickerLine$").split("$NewTickerLine$");
 }
}

function xGetTicker(entry,all) {
 var text="", nr;
 entry=(entry)?(""+entry).toLowerCase():1;
 nr=parseInt("0"+entry,10);
 if(nr>0 && nr<=TickerText.length && (""+nr).length==entry.length) {
  text=TickerText[nr-1]
 } else {
  all=(all)?true:false;
  makeTickerWork(entry,all);
  text=TickerWork.join("||");
 }
 return text;
}

function xAllTicker(reverse) {
 if(reverse) {
  makeTickerWork();
  return TickerWork.reverse().join("||");
 } else {
  return TickerText.join("||");
 }
}

function xRandomTicker(entry) {
 entry=(entry)?(""+entry).toLowerCase():false;
 makeTickerWork(entry,true);
 return TickerWork[rnd(TickerWork.length)-1];
}

function xShuffleTicker(entry) {
 var q, r, text='';
 entry=(entry)?(""+entry).toLowerCase():false;
 makeTickerWork(entry,true);
 for(q=0;q<TickerWork.length;q++) {
  r=rnd(TickerWork.length-q)+q-1;
  text+=((text)?"||":"")+TickerWork[r];
  TickerWork[r]="";
  TickerWork.sort();
 }
 return text;
}

// ---------------------------------------------------------------------------

/* 'Wechsle Darstellung 090604' (c) Cybaer - http://Coding.vampirehost.de/Toggle */
function toggle(type,element,toggleID) {
 var i, j, t, type0, start=0, result=0;
 var obj, objName, objFirst=-1, objLast=-1, objCount, exceptions, lastArgument, xSwitch;
 var toggleDisplay, displayType, displayStyle, displayXStyle;
 var toggleVisibility, visibilityStyle, visibilityXStyle;
 var toggleOpacity, opacityType, opacityStyle, opacityXStyle, opacityStyleCSS, opacityXStyleCSS, opacityStyleMoz, opacityXStyleMoz, opacityStyleIE, opacityXStyleIE;
 var toggleColor, colorType, colorXType, colorStyle, colorXStyle;
 var toggleBack, backType, backXType, backStyle, backXStyle;
 var toggleBorder, borderType, borderXType, borderStyle, borderXStyle;
 var toggleAttribute="gid"; // hier ggf. gewuenschten Standard-Attribut-Namen eintragen (z.B. "id")
 var showStatus=200; // hier eintragen, ab wieviel Elementen ein Bearbeitungshinweis erfolgen soll

 type=(type)?type.toLowerCase():"fold";

 if(element) {
  i=element.indexOf("{"); j=element.indexOf("}",i);
  if(i>=0 && j>=0) {
  objFirst=parseInt(element.substring(i+1,element.indexOf("-",i)));
  objLast=parseInt(element.substring(element.indexOf("-",i)+1,j));
  element=element.substring(0,i);
  }
 }

 if(!element || type=="test") {
  result=(document.getElementsByTagName)?true:false;
 } else {

  toggleDisplay=(type.indexOf("fold")+1);
  toggleVisibility=(type.indexOf("hide")+1);
  toggleOpacity=(type.indexOf("trans")+1);
  toggleColor=(type.indexOf("color")+1);
  toggleBack=(type.indexOf("back")+1);
  toggleBorder=(type.indexOf("border")+1);

  if(toggleDisplay) {
   displayType="";
   i=type.indexOf("fold:");
   if(i>=0) {
    i+=4; j=type.indexOf(" ",i)
    displayType=type.substring(i+1,(j<0)?type.length:j);
    displayType=(displayType=="none")?"":displayType;
   }
   if(type.indexOf("unfold")>=0) {
    displayStyle=displayType; displayXStyle="none";
   } else {
    displayStyle="none"; displayXStyle=displayType;
   }
  }

  if(toggleVisibility) { if(type.indexOf("unhide")>=0) { visibilityStyle="visible"; visibilityXStyle="hidden"; } else { visibilityStyle="hidden"; visibilityXStyle="visible"; } }

  if(toggleOpacity) {
   opacityType=50;
   opacityXType=0;
   i=type.indexOf("trans:");
   if(i>=0) {
    i+=5; j=type.indexOf(" ",i)
    opacityType=type.substring(i+1,(j<0)?type.length:j);
    i=opacityType.indexOf("/");
    if(i>=0) {
     j=opacityType.indexOf(" ",i)
     opacityXType=opacityType.substring(i+1,(j<0)?opacityType.length:j);
     opacityType=opacityType.substring(0,i)+((j<0)?"":opacityType.substring(j,opacityType.length));
    }
   }
   opacityStyle=Math.min(100,Math.max(0,100-parseInt(opacityType)));
   opacityXStyle=Math.min(100,Math.max(0,100-parseInt(opacityXType)));
   opacityStyleCSS=""+opacityStyle/100;
   opacityXStyleCSS=""+opacityXStyle/100;
   opacityStyleMoz=opacityStyleCSS;
   opacityXStyleMoz=opacityXStyleCSS;
   opacityStyleIE="alpha(opacity="+opacityStyle+")";
   opacityXStyleIE="alpha(opacity="+opacityXStyle+")";
  }

  if(toggleColor) {
   colorType="#000000";
   colorXType="#FFFFFF";
   i=type.indexOf("color:");
   if(i>=0) {
    i+=5; j=type.indexOf(" ",i)
    colorType=type.substring(i+1,(j<0)?type.length:j);
    i=colorType.indexOf("/");
    if(i>=0) {
     j=colorType.indexOf(" ",i)
     colorXType=colorType.substring(i+1,(j<0)?colorType.length:j);
     colorType=colorType.substring(0,i)+((j<0)?"":colorType.substring(j,colorType.length));
    }
   }
   colorStyle=colorType;
   colorXStyle=colorXType;
  }

  if(toggleBack) {
   backType="#FFFFFF";
   backXType="#000000";
   i=type.indexOf("back:");
   if(i>=0) {
    i+=4; j=type.indexOf(" ",i)
    backType=type.substring(i+1,(j<0)?type.length:j);
    i=backType.indexOf("/");
    if(i>=0) {
     j=backType.indexOf(" ",i)
     backXType=backType.substring(i+1,(j<0)?backType.length:j);
     backType=backType.substring(0,i)+((j<0)?"":backType.substring(j,backType.length));
    }
   }
   backStyle=backType;
   backXStyle=backXType;
  }

  if(toggleBorder) {
   borderType="transparent";
   borderXType="black";
   i=type.indexOf("border:");
   if(i>=0) {
    i+=6; j=type.indexOf(" ",i)
    borderType=type.substring(i+1,(j<0)?type.length:j);
    i=borderType.indexOf("/");
    if(i>=0) {
     j=borderType.indexOf(" ",i)
     borderXType=borderType.substring(i+1,(j<0)?borderType.length:j);
     borderType=borderType.substring(0,i)+((j<0)?"":borderType.substring(j,borderType.length));
    }
   }
   borderStyle=borderType;
   borderXStyle=borderXType;
  }

  if(document.getElementById && document.getElementById(element)) {
   obj=document.getElementById(element);
   result=1;

   if(toggleDisplay) { obj.style.display=displayStyle; }
   if(toggleVisibility) { obj.style.visibility=visibilityStyle; }
   if(toggleOpacity) { obj.style.filter=opacityStyleIE; obj.style.MozOpacity=opacityStyleMoz; obj.style.opacity=opacityStyleCSS; }
   if(toggleColor) { obj.style.color=colorStyle; }
   if(toggleBack) { obj.style.backgroundColor=backStyle; }
   if(toggleBorder) { obj.style.borderColor=borderStyle; }

  } else if(document.getElementsByTagName) {
   i=element.indexOf(":");
   if(i>=0) { toggleAttribute=element.substring(i+1,element.length); element=element.substring(0,i); }

   if(document.getElementsByTagName(element).length && toggleID) {

    lastArgument=(typeof(toggle.arguments[toggle.arguments.length-1])=="boolean")?-1:0;
    xSwitch=(lastArgument)?toggle.arguments[toggle.arguments.length-1]:false;
    exceptions=toggleID; for(i=3;i<(toggle.arguments.length+lastArgument);i++) { exceptions+=toggle.arguments[i]+"|"; }
    i=exceptions.indexOf("|"); t=""; while(i>=0) { t+=exceptions.substring(start,i+1)+toggleID; start=i+1; i=exceptions.indexOf("|",start); if(!i) { break; } }
    exceptions=t.substring(0,t.length-toggleID.length);

    obj=document.getElementsByTagName(element);
    objFirst=(objFirst<0)?0:Math.max(0,objFirst);
    objLast=(objLast<0)?obj.length:Math.min(obj.length,objLast);
    objCount=(objLast-objFirst)+1;
    for(i=objFirst;i<objLast;i++) {
     objName=obj[i].getAttribute(toggleAttribute);
     if(objName && objName.substring(0,toggleID.length)==toggleID) {
      result++;
      toggleException=(exceptions.indexOf(objName+"|")>=0)?true:false;
      if(objCount>showStatus) { window.status="Bearbeitetes Element: "+(result)+"/"+objCount; }

      if(toggleDisplay) { if(xSwitch) { obj[i].style.display=(toggleException)?displayXStyle:displayStyle; } else if(!toggleException) { obj[i].style.display=displayStyle; } }
      if(toggleVisibility) { if(xSwitch) { obj[i].style.visibility=(toggleException)?visibilityXStyle:visibilityStyle; } else if(!toggleException) { obj[i].style.visibility=visibilityStyle; } }
      if(toggleOpacity) { if(xSwitch) {obj[i].style.filter=((toggleException)?opacityXStyleIE:opacityStyleIE); obj[i].style.MozOpacity=((toggleException)?opacityXStyleMoz:opacityStyleMoz); obj[i].style.opacity=((toggleException)?opacityXStyleCSS:opacityStyleCSS); } else if(!toggleException) { obj[i].style.filter=opacityStyleIE; obj[i].style.MozOpacity=opacityStyleMoz; obj[i].style.opacity=opacityStyleCSS; } }
      if(toggleColor) { if(xSwitch) { obj[i].style.color=(toggleException)?colorXStyle:colorStyle; } else if(!toggleException) { obj[i].style.color=colorStyle; } }
      if(toggleBack) { if(xSwitch) { obj[i].style.backgroundColor=(toggleException)?backXStyle:backStyle; } else if(!toggleException) { obj[i].style.backgroundColor=backStyle; } }
      if(toggleBorder) { if(xSwitch) { obj[i].style.borderColor=(toggleException)?borderXStyle:borderStyle; } else if(!toggleException) { obj[i].style.borderColor=borderStyle; } }

     }
    }
    if(objCount>showStatus) { window.status=" "; }
   } else { result=0; }
  } else { result=false; }
 }
 return result;
}

// ========================== Programm-Bibliothek ===========================

/* 'Pruefe auf @Domain 190104' (c) by cybaer@vampirehost.de
   ---------------------------
 Inhalt    : Laedt vom Surfer gewuenschte Unterseite direkt
 Aufruf    : checkAtDomain(shortcut,subpage)
 Parameter : shortcut (Kennung des gewuenschten Unterbereichs)
             subpage (Optional: Kennung der gewuenschten Unterseite)
 Sprache   : JavaScript 1.1 (ungesichert)
 InlineFunc: resolveAtDomain();
 Konstante : -
 Variable  : -
 SystemVar : is_online, agt_maxWidth, agt_maxHeight
 ExternVar : -
 Rueckgabe : -
 Anmerkung : -
 Beispiele : -
*/

function checkAtDomain(shortcut,subpage) {
 // Lokale Variablen definieren
 var atName, newWin, winObj;
 // Globale Variable definieren
 atDomain=new Array();
 // Bindestriche entfernen
 shortcut=(shortcut)?rc(shortcut.toLowerCase(),"-"):""
 subpage=(subpage)?rc(subpage.toLowerCase(),"-"):""
 // @Doamins zusammenstellen (Routine in der Homepage)
 createAtDomains();
 // @Domain ermitteln
 if(atDomain[shortcut+"_"+subpage]) { atName=shortcut+"_"+subpage; }
 else if(atDomain[shortcut]) { atName=shortcut; }
 else { atName="atdomains"; }
 // Ist URL zur @Domain vorhanden?
 if(atDomain[atName][0]) {
  // Soll @Domain in eigenem Fenster laufen?
  if(atDomain[atName][1]) {
   newWin=((agt_maxWidth)?("width="+agt_maxWidth+",height="+agt_maxHeight)+",left=0,top=0,":"")+"menubar=no,toolbar=no,location=no,scrollbars=no,resizable=no,status=no";
   winObj=window.open(atDomain[atName][0],atDomain[atName][1],newWin);
   // Wenn neues Fenster nicht moeglich (Popup-Blocker), dann im normalen Fenster starten
   if(!winObj) { top.location.replace(atDomain[atName][0]); }
   if(atDomain[atName][2]) { history.back(); }
  } else {
   top.location.replace(atDomain[atName][0])
   if(atDomain[atName][2]) { history.back(); }
  }
 }
}

function addDomain(shortcut,url,win,back) {
 shortcut=rc(shortcut,":","_");
 atDomain[shortcut]=new Array();
 atDomain[shortcut][0]=url;
 atDomain[shortcut][1]=win;
 atDomain[shortcut][2]=back;
}

// --------------------------------------------------------------------------

/* 'Warte-Effekt 220104' (c) by cybaer@vampirehost.de
   ---------------------
 Inhalt    : Wechselt nach einer definierten Zeit eine Grafik aus
 Aufruf    : waitNow(seconds) (Wartezeit starten)
             waitStop() (Wartezeit beenden und Original-Grafik laden)
 Parameter : seconds (Optional: Anzahl der Sekunden bis zum ersten Wechsel;
                      sonst: Zufallswert innerhalb des definierten Zeitraums)
 Sprache   : JavaScript 1.1 (gesichert)
 InlineFunc: rand() (Ermittle ganze Zufallszahl)
 Konstante : waitName (NAME der Grafik)
             waitOrg (URL der Original-Grafik)
             waitAlt (URL der Wechsel-Grafik)
             waitOrgMin (minmale Anzahl der Sekunden, die die Original-Grafik angezeigt wird)
             waitOrgMax (maximale Anzahl der Sekunden, die die Original-Grafik angezeigt wird)
             waitAltMin (minimale Anzahl der Sekunden, die die Wechsel-Grafik angezeigt wird)
             waitAltMax (maximale Anzahl der Sekunden, die die Wechsel-Grafik angezeigt wird)
 Variable  : wait (Aufrufvariable der TimeOut-Funktion)
 SystemVar : -
 ExternVar : -
 Rueckgabe : -
 Anmerkung : -
 Beispiele : -
*/

function waiting() {
 // Variablendefinition
 var waitTime; wait=0;
 // Existiert passendes Image?
 if(document.images && document.images[waitName]) {
  // Ist aktuelle Grafik nicht die Orginalgrafik?
  if(document.images[waitName].src.indexOf(waitOrg)<0) {
   // Ja, also originale Grafik laden und Anzeigezeit bestimmen
   document.images[waitName].src=waitOrg;
   waitTime=rand(waitOrgMin*1000,waitOrgMax*1000);
  } else {
   // Nein, also alternative Grafik laden und Anzeigezeit bestimmen
   document.images[waitName].src=waitAlt;
   waitTime=rand(waitAltMin*1000,waitAltMax*1000);
  }
  // Countdown zum naechsten Aufruf ...
  wait=window.setTimeout("waiting()",waitTime);
 }
}

function waitNow(seconds) {
 var waitTime=(seconds)?seconds*1000:rand(waitOrgMin*1000,waitOrgMax*1000);
 wait=window.setTimeout("waiting()",waitTime);
}
function waitStop() {
 if(wait) {
  window.clearTimeout(wait);
  document.images[waitName].src=waitOrg;
 }
}

// --------------------------------------------------------------------------

/* 'AB-BackButton 270504' (c) by cybaer@vampirehost.de
   ----------------------
 Inhalt    : Schreibt einen "Back-Button" (Stil "Augen-Blick")
 Aufruf    : ABback(titlepage)
 Parameter : titlepage (True = Grafik fuer AB-Titelseite, False = normale Grafik)
 Sprache   : JavaScript 1.1 (ungesichert)
 InlineFunc: S()
 Konstante : ABbackDir (enthaelt das Verzeichnis der Grafiken)
             ABbackName (enthaelt den Dateinamen der Grafiken ohne Ziffer und Extension)
             ABbackExt (enthaelt die Dateiextension der Grafiken)
             ABback1 (enthaelt URI der "Normal-Grafik")
             ABback2 (enthaelt URI der "Wechsel-Grafik")
 Variable  : ABrootDir (relative Lage des AB-Wurzelverzeichnisses zur aufrufenden HTML-Datei)
 SystemVar : is_nav, doc_fullFile
 ExternVar : -
 Rueckgabe : -
 Anmerkung : -
 Beispiele : -
*/

function ABback(titlepage) {
 ABrootDir=""; ABdirname="Augen-Blicke/";
 if(document.location.href.indexOf(ABdirname)>0) {
  for(i=1;i<document.location.href.substring(document.location.href.indexOf(ABdirname)+ABdirname.length,document.location.href.length).split("/").length;i++) { ABrootDir+="../"; }
 } else {
  for(i=1;i<doc_fullFile.split("/").length;i++) { ABrootDir+="../"; }
  ABrootDir+=ABdirname;
 }
 ABbackDir="img/";
 ABbackName=(titlepage)?"rave0":"litleye";
 ABbackExt=".gif";
 ABback1=(titlepage)?ABrootDir+ABbackDir+ABbackName+ABbackExt:ABrootDir+ABbackDir+ABbackName+"1"+ABbackExt;
 ABback2=ABrootDir+ABbackDir+ABbackName+"2"+ABbackExt;

/*
 if(history.length>Math.abs(is_nav)) {
  // Wenn History vorhanden (Navigator schon bei "0"), dann Button
*/
  if(titlepage) {
   document.write('<a href="javascript:history.back();" target="_parent" hideFocus><img class="Naviback" src="'+ABback1+'" name="back" width="87" height="68" alt="Zurueck" title="Zur&uuml;ck zur vorherigen Seite" hspace="0" vspace="0" border="0"><\/a>');
  } else {
   document.write('<a href="javascript:history.back();" target="_parent" onMouseOver="return S(\'back\',ABback2,\'\',\'\',\'\',false,false);" onMouseOut="return S(\'back\',ABback1,\'\',\'\',\'\',false,false);" hideFocus><img class="Naviback" src="'+ABback1+'" name="back" width="87" height="68" alt="Zurueck" title="Zur&uuml;ck zur vorherigen Seite" hspace="0" vspace="0" border="0"><\/a>');
  }
/*
 } else if(document.location.href.indexOf("frames/inhmain.htm")<0) {
  if(titlepage) {
   document.write('<a href="'+ABrootDir+'index.htm" target="_parent" hideFocus><img class="Naviback" src="'+ABback1+'" name="back" width="87" height="68" alt="Zurueck" title="Zur Augen-Blicke-Startseite" hspace="44" vspace="32" border="0"><\/a>');
  } else {
   document.write('<a href="'+ABrootDir+'index.htm" target="_parent" onMouseOver="return S(\'back\',ABback2,\'\',\'\',\'\',false,false);" onMouseOut="return S(\'back\',ABback1,\'\',\'\',\'\',false,false);" hideFocus><img class="Naviback" src="'+ABback1+'" name="back" width="87" height="68" alt="Zurueck" title="Zur Augen-Blicke-Startseite" hspace="0" vspace="0" border="0"><\/a>');
  }
 } else {
  document.write('<img src="../img/leer.gif" width="87" height="68" alt="" title="" hspace="0" vspace="0" border="0">');
 }
*/
 if(document.images && !titlepage) { ABbackCache=new Image(); ABbackCache.src=ABback2; }
}

// =============================== MagicHTML ================================

function magicGO() {
 // Homepage (index.* in Root) mit @Domain aufgerufen?
 // doc_User=""; doc_Password="";
 if(!doc_PathDeep && doc_FileName=="index" && doc_User) { checkAtDomain(doc_User,doc_Password); }

 // " ","[]<-","[]->","O<-","O->","_-","-_","|->","|<-","||->","=_","#->","#_"
 // "::","->|<-","<-|->",">-","-<","\-_","/_-","/-_","\_-","==","||||","*"
 if(do_blending) { BlendOver(1500," ,::,[]->,O->,<-|->,-<"); }

 // Normale Inhaltsdatei
 if(doc_type=="Inhalt") {
  if(!is_frame && do_frameset) {
   // Ggf. Frameset nachladen
   var ABfile=doc_fullFile.substring(doc_fullFile.indexOf(doc_MainDir)+doc_MainDir.length+1);
   var ABviewFile=STRING$(doc_PathDeep-1,"../")+"blicke.htm";
   top.location.replace(ABviewFile+"?"+ABfile); //+document.location.hash);
  }
 }

 // Frameset oder alleinstehende Datei
 if(doc_type=="Frameset" || doc_type=="Single" || doc_type=="Bild") {
  if(top!=self && do_deframe) {
   // Ggf. uebergeordnetes Frameset entfernen
   top.location=self.location;
  }
 }
}

function magicB4() {
 // Systemvariable, Teil 2
 SysVarsBody();

 if(doc_type=="Inhalt" || doc_type=="Bild") {
  // Frame fokussieren
  self.focus();
 }
}

function magicL8() {
 // In den Inhaltsseiten "mit Inhalt": "Auge" als "Zurueck-Button"
 if(doc_type=="Inhalt" && doc_FileDir!="frames") {
  document.write('<p class="AB-Back" align="right">');
  ABback();
  document.write('<\/p>');
 }

 // Submenu-Frame
 if(doc_type=="Submenu") {
  if(is_op && is_w3cxDOM) {
   // Renderfehler in Opera-Browsern korrigieren =:-(
   for(i=0;i<document.getElementsByName("wbr").length;i++) {
    document.getElementsByName("wbr")[i].innerHTML="<br>";
   }
  }
 }
}

function magicOK() {
 window.status=" ";
 // 'Kino'-Datei
 if(doc_type=="Cinema") {
  // Statuszeile loeschen
  window.status=" ";
//  return true;
 }
 if(do_opt && (doc_type=="Inhalt" || doc_type=="Single" || (doc_FileName=="navgb" && doc_type=="Navigation"))) { scriptOpt(do_optShow); if(!agt_speed && !is_cached) { SysVarSpeed(); } }
}

function magicXL() {
}

function magicKO() {
 if(do_opt && agt_speed>0 && (doc_type=="Inhalt" || doc_type=="Single")) { scriptOptX(); }
}

// =============================== Direkt-Code ===============================

SysVarsHead("vampirehost","index.htm");

xJS=true; // Externes JavaScript geladen!

