//---> all scripts written by Ulli Stemmeler/all scripts by: Ulli@Stemmeler.net

var MyWebName=top.MyWebName;
onerror=fehlermeldung;

var myself=basename(location.toString()), myname=self.name.toString();
framesafe();

var ns4 = (document.layers) ? true:false
var op=(navigator.userAgent.toLowerCase().match("opera")) ? true:false
var ie = (document.all && !op) ? true:false
var ns6=(navigator.userAgent.toLowerCase().match("netscape6")) ? true:false
var ns7=(navigator.userAgent.toLowerCase().indexOf("netscape/7")>0) ? true:false
var moz=((navigator.userAgent.toLowerCase().match("mozilla"))&&(navigator.userAgent.toLowerCase().match("gecko"))&&(!ns6)&&(!ns7)) ? true:false
var icab=(navigator.userAgent.toLowerCase().match("icab")) ? true:false
var modernbrowser=(document.getElementById) ? true:false
var ie4=(!modernbrowser && ie) ? true:false
var gurkenbrowser=ns4 ? true:false
var netscapefamily=(ns4 || ns6 || ns7 || moz) ? true:false
var modernnetscape=(ns6 || ns7 || moz) ? true:false
var notgurkenbrowser=(modernbrowser || ie4) ? true:false
var is_mac=(navigator.platform.toLowerCase().match("mac")) ? true:false
var is_win=(navigator.platform.toLowerCase().match("win")) ? true:false
var is_win_ie=((ie) && (navigator.platform.toLowerCase().match("win"))) ? true:false
var is_mac_ie=((ie) && (navigator.platform.toLowerCase().match("mac"))) ? true:false
var knowsComplete=(ie || (is_win && op)) ? true:false

var separator="\n"; 
if(is_mac_ie) { separator="\r"; }
if(is_win_ie) { separator="\r\n"; }

if(self==top) {
 // if(!myself.match("index\.php") && !myself.match("start\.php") &&  !myself.match("showpic\.php") && !myself.match("soundwindow\.php") && myself!="") { framesafe(); }
}

if(myname.match("Content") && self!=top) {
 sprach_check();
 if(notgurkenbrowser) {
       if(!document.title.match(MyWebName)) build_window_title();
       else top.document.title=document.title; 
  }
} 

if (ns4) {
var Breite_vor_resize = self.innerWidth;
var Hoehe_vor_resize  = self.innerHeight;
self.focus();
}

var mousex=0,mousey=0;
var windefstat=MyWebName;
window.defaultStatus=windefstat; 
var imgzoom=10;

function start_the_page() { 
  if(top.frames.SiteMenu)  top.frames.SiteMenu.startcheck();  
  else void window.setTimeout("start_the_page()",1000);
}

function build_window_title() {
  txt=document.title; while(txt.match("'")) txt=txt.replace("'","");
  with(top.document) {
     title=MyWebName+": ";
     if(is_mac_ie) top.document.title=title+txt;
     else { 
       j=0;
      for(i=0;i<(txt.length+1);i++) { j=j+50; t=MyWebName+": "+txt.substr(0,i); window.setTimeout("top.document.title='"+t+"'",j); }
     }
  }
}

function framesafe() { 
  loc=location.toString();
  cond1=(myname=="" && self==top && myself!="index.php") ? true:false;
  cond2=(myname=="SiteMaster" && self==top && myself!="index.php") ? true:false;
  cond3=(loc.indexOf("ice/")>-1 && loc.indexOf("v")>-1 && loc.indexOf("/ser")>-1) ? true:false;
  cond=((cond1 || cond2) && !cond3) ? true:false;
  if(cond) {
     mword=myself.replace("\.php",""); mword=mword.replace("\.html","");
     CN=get_GetVar("CN",location); if(CN!="") mword=CN;
     add=""; if(mword.indexOf("kontaktformular")>-1) { add="&FR="+get_GetVar("FR",location); }
     add="&FFMM="+mword+add; if(mword.match("randoben|nada|menu")) add="";
     ziel="index.php?Script=1"+add;
     location.replace(ziel);
  }

}

function fehlermeldung() {
 // alert("So geht das nicht!");
 return false;
}


function check_plugin(MType,AXControl) {
var check=0;
if(is_win_ie) { var iecheck=is_plugin(AXControl); if(iecheck) check=1; }
else if(is_mac_ie && ie4) { alert("Ihr Browser ist leider volllkommen veraltet!\nYour Browser is too old!"); return 0; }
else if (navigator.mimeTypes[MType]) {  if(navigator.mimeTypes[MType].enabledPlugin!=null) { check=1; } } 
return check;
}

function init_plugin_check() {
if(is_win_ie) dr("<script language=\"VBScript\">\n\nfunction is_plugin(AXObj)\n On Error Resume Next\n  is_plugin=(IsObject(CreateObject(AXObj)))\nend function\n</script>\n\n");
else dr("<script type=\"text/javascript\">\nfunction is_plugin(AXObj) {\nreturn false;\n}\n</script>\n\n");
}

function sprach_check() {
   MyLang=get_GetVar("Lang",location); 
   CurrLang=top.CurrentLang; if(MyLang=="") MyLang=CurrLang;
   if(MyLang!=CurrLang) {
      nl=location.toString(); nl=nl.replace("Lang="+MyLang,"Lang="+CurrLang); location.replace(nl);
   }
}

function zurueckgehen() {
 if(opener) { opener.focus(); window.close(); }
 else { history.back(); }
}

function validEMail(adr) {
var check=/[a-zA-Z0-9_]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_]+/;
if(adr.toLowerCase().match("ä|ö|ü|ß| ")) return false;
return check.test(adr);
}

function validHomepage(adr) {
var check=/[a-zA-Z0-9-]+\.[a-zA-Z0-9]+/;
if(adr.toLowerCase().match("ä|ö|ü|ß| ")) return false;
if(adr.match("www")) { check=/[www]+\.[a-zA-Z0-9-]+\.[a-zA-Z0-9]+/; return check.test(adr); }
return check.test(adr);
}

function basename(file) { 
  file=file.toString(); 
  if(file.indexOf("?")>0) { file=file.split("?"); file=file[0]; }
  if(file.indexOf("#")>0) { file=file.split("#"); file=file[0]; }
  if(file.match("/")) file=file.split("/"); 
  else if(file.match(/\\/)) file=file.split("\\"); 
  else if(file.match(":")) file=file.split(":"); 
  file=file[(file.length-1)]; return file; 
}

function dirname(file) { 
  var nf=new Array(); file=file.toString().split("/");
  for(i=0;i<(file.length-1);i++) { nf[i]=file[i] }
  nf=nf.join("/"); return nf;
}

function get_basename_parms(file) {
   return basename(file)+parmslist(file);
}

function parmslist(file) {
   erg=file.split("?"); return "?"+erg[1];
}

function get_parms(file) { return file.search.replace("?","&");  }

function get_GetVar(VarName,file) {
  var ln=file.toString(); var found="";
  if(ln.match(VarName+"=")) { found=ln.split(VarName+"="); found=found[1]; }
  if(found.match("&")) { found=found.split("&"); found=found[0]; }
  return found;
}

function fn(o,txt) { 
  if(!gurkenbrowser) o.title=txt; 
  if(self.name=="LBBContent") { 
     parent.frames.LBBMenu.IckeMa(3);  o.onmouseout=NoMoreIckeMa;
  }
  window.status=txt; 
  return true 
}

function newID(o,nid) { o.id=nid; }

function dr(txt) { document.writeln(txt); }

function print_button() {
 if(self.print) { dr("<form><input type=button id=\"ButtBl\" value=\"drucken\" onclick=\"self.print()\"></form>\n"); }
}

function pageprint(titel,browser) {
 if(self.print) { if(confirm("Diese Seite ("+titel+") ausdrucken?")) { self.print(); } }
 else { alert("Leider ist Ihr Browser ("+browser+") nicht fähig,\nden Ausdruck dieser Seite ("+titel+")\nauf diesem Wege zu bewerkstelligen.\nDieses ist ein Manko, wie es den Internet-Explorer für Apple-McIntosh auszeichnet.\n\nBenutzen Sie bitte die im Browser zur Verfügung gestellte Druck-Option."); }
}

function init_download(file) {
   DLW=window.open("download.php?FL="+file,"Download","left=10, top=10, width=160, height=160, status=no, scrollbars=no");
   void window.setTimeout("DLW.window.close()",30000);
   return false;
}

function fenster_groesse(br,ho) {
 if (is_win_ie) resizeTo(br+12,ho+32); 
 else if(is_mac_ie) resizeTo(br+30,ho+30);
 else if(op) resizeTo(br+12,ho+31);
 else { window.innerWidth=br; window.innerHeight=ho; }
}

function nada() { ; }

function ape(name,val,zeichen) {
// ape= add parm escaped, zeichen= ? oder &
return zeichen+name+"="+escape(val);
}

function init_mousepos() { 
        document.onmousemove = mouseMove
        if (netscapefamily|op) document.captureEvents(Event.MOUSEMOVE)
}

function mouseMove(e) {
  if(netscapefamily) { mousex=e.pageX; mousey=e.pageY }
  if(ie) { mousex=event.x+document.body.scrollLeft;  mousey=event.y+document.body.scrollTop; }
  if(op) { mousex=event.clientX; mousey=event.clientY; }
}

function zoomen(img) {
    imgzoom=10; if(img.zoomstat) imgzoom=img.zoomstat;
    limit=20; if(img.height<200) limit=50;
    if (event.wheelDelta >= 120) {  imgzoom--; }
    else if (event.wheelDelta <= -120) { imgzoom++; }
    if(imgzoom>limit) imgzoom=limit;
    if(imgzoom<4) imgzoom=4;
    img.zoomstat=imgzoom; window.status="Zoomfaktor: "+imgzoom+ "0%"
    img.style.zoom = imgzoom+"0%"; 
    if(self==top) { 
      if((((img.width/100)*(imgzoom*10))>img.width) || (((img.height/100)*(imgzoom*10))>img.height)) {
        fenster_groesse((img.width/100)*(imgzoom*10),(img.height/100)*(imgzoom*10));
      }
    }
}

function show_pic(url,Breite,Hoehe) {
  if(url.match("thumb-")) { url=url.replace("thumb-",""); }
  with(top) { if(ImageWindow)  ImageWindow.close(); ImageWindow=false; }
  top.ImageWindow=window.open("showpic.php"+ape("url",url,"?"),"Bild","left=0,top=0,width="+Breite+",height="+Hoehe+",resizable=yes");
  return false;
}

function download_pic(img) {
 with(top) { if(DownloadWindow)  DownloadWindow.close(); DownloadWindow=false; }
 top.DownloadWindow=window.open("downloadpic.php"+ape("url",img,"?")+ape("Lang",Lang,"&"),"Bild","left=0,top=0,width="+(screen.width-20)+",height="+(screen.height-40)+",resizable=yes");
 return false;
}

function soundwindow(file) {
  file=basename(file); loc=location.toString(); ziel="soundwindow.php"; vid=false; ThisWin=top.AudioWindow;
  if(file.match("-video\.rm|-video\.ram")) { ziel="videowindow.php"; vid=true; ThisWin=top.VideoWindow; }
  if(loc.match("service/")) { ziel="../programme/"+ziel; }
  else if(!loc.match("programme/")) { ziel="../"+ziel; }
  sw=ziel+"?Lang="+top.CurrentLang+"&RA="+top.ra+"&MP3="+top.MP3+"&file="+escape(file);

  if(typeof(ThisWin)=="object") { ThisWin.close();  }
 
  if(vid) { top.VideoWindow=window.open(sw,"Zukunftsmusik","left=0,top=0,width=360,height=430,resizable=no"); }
  else { top.AudioWindow=window.open(sw,"Zukunftsmusik","left=0,top=0,width=360,height=190,resizable=no"); }
}

function downloadwindow(file) {
    doit=confirm("Die gewünschte Datei \""+basename(file)+"\" wird in einem separaten Fenster geöffnet.\nWas dann passiert hängt von der Konfiguration Ihres Systems bzw. Ihres Browsers ab.\n\nSpeichern Sie die Datei im neuen Fenster auf Ihrer Festplatte.");
    if(doit) top.DownloadWindow=window.open(file);
 //   file=basename(file); loc=location.toString(); ziel="downloadwindow.php"; 
 //   if(loc.match("service/")) { ziel="../programme/"+ziel; }
 //   sw=ziel+"?file="+escape(file);
 //   top.DownloadWindow=window.open(sw,"Zukunftsmusik","left=0,top=0,width=360,height=190,resizable=no");
 //   window.setTimeout("top.DownloadWindow.close()",5000);
}

function bildwechsel(bild,neuesbild) {
if(is_win_ie) {
  bild.filters.blendTrans.Apply();
  bild.src=neuesbild.src;
  bild.filters.blendTrans.Play();
}
  else { bild.src=neuesbild.src; }
}

function AddHeadImage(newImg) {
  if(top.frames.SiteHead) top.frames.SiteHead.ChangingImage(newImg);
}

function xborder() {
  var xfactor=800;
  if (netscapefamily) xfactor=window.innerWidth;
  if (op) xfactor=window.innerWidth-20;
  if (ie) xfactor=document.body.offsetWidth;
  return xfactor
}
 
function yborder() {
  var yfactor=600;
  if (netscapefamily) yfactor=window.innerHeight;
  if (op) yfactor=window.innerHeight-20;
  if (ie) yfactor=document.body.offsetHeight;
  return yfactor
}

function ClickRB(obj) {
  obj.checked=true;
}

function get_obj(nombre) { 
if(modernbrowser) { 
  var erg=document.getElementById(nombre); if(!erg) erg=document.getElementsByName(nombre)[0]
  return erg;  
}
if(ie4) { for(i=0;i<window.document.all.length;i++) {  var obj=window.document.all[i]; if(obj.name==nombre) { return obj; } } }
if(ns4 || document.layers) { for(i=0;i<window.document.layers.length;i++) { var obj=window.document.layers[i]; if(obj.name==nombre){ return obj; } 
    else { for(j=0;j<window.document.layers[i].layers.length; j++) { var obj=window.document.layers[i].layers[j]; 
    if(obj.name==nombre) { return obj; } } } }
}
return false;
}

function gurkencheck(warum,wer) {
if(document.layers) { if(document.layers && !wer.ns4) wer.location.reload(); }
}

function blurren(o) {
 if(notgurkenbrowser) o.blur();
}

// Formulareingabekontrollen:

function foc(o) {  if(notgurkenbrowser) o.id="InputFoc"; }

function bluPP(o) { 
 if(notgurkenbrowser) {
  if(o.value) {
    o.value=trim(o.value," "); if(o.type=="textarea") { o.value=trim(o.value,separator); }
    if(o.name.match("eMail|Homepage")) { while(o.value.match(" ")) { o.value=o.value.replace(" ",""); } }
    strip_tags(o);
    o.id="InputFull"; o.title="Hier steht: "+o.value;
    if(o.name.match("eMail") && !validEMail(o.value)) { o.id="InputFalta";  o.title="ungültige eMail-Adresse!"; }
    if(o.name.match("Homepage") && !validHomepage(o.value)) { o.id="InputFalta"; o.title="ungültige Homepage-Eingabe!"; }
  }
  else { o.id="Inputs"; o.title="Hier steht nichts"; }
 }
}

function how_much(o) { 
 strip_tags(o); c=o.value; z=c.split(separator); o.title=c.length+" Zeichen, "+z.length+" Zeilen"; window.status=o.title;
 if(z.length>MaxTextZeilenAnzahl) { 
   o.id="InputFalta"; tst=""; for(i=0;i<(MaxTextZeilenAnzahl-1);i++) { if(z[i]) tst+=z[i]+separator; }
   if(z[(MaxTextZeilenAnzahl-1)]) tst+=z[(MaxTextZeilenAnzahl-1)];
   c=tst; o.value=tst; alert("Das sind genügend Zeilen....");
 }
 if(c.length>MaxTextLaenge) { o.id="InputFalta"; alert("Das genügt, quantitativ gesehen...."); o.value=c.substring(0,1000); }
}

function strip_tags(o) {
t=o.value; 
ct=/<(.*)>/;  ol=/on(.*)=/;  js=/<script/; js2=/javascript:/; js3=/img src=/;

hw="Javascript ja, aber jeder auf seiner eigenen Website...";
hw2="Bilder ja, aber jeder auf seiner eigenen Website...";
if(t.match(js)) {  t=t.replace(js,"<bockmist"); o.value=t; alert(hw); }
if(t.match(js2)) {  t=t.replace(js2,"bockmist:"); o.value=t; alert(hw); }
if(t.match(js3)) {  t=t.replace(js3,"bild ursprung="); o.value=t; alert(hw2); }
if(t.match(ol)) {  t=t.replace(ol,"doingBockmist="); o.value=t; alert(hw); }
while(t.match(ct)) { t=t.replace(ct,""); o.value=t; }
}

function gb_formcheck() {
 mangel=""; mnr=0;  fe=false;
 thisform=document.forms.editor;  if(gurkenbrowser) { thisform=getformforgurke(); }
 with(thisform) {
   for(i=0;i<elements.length;i++) {
     e=elements[i];
     if(!e.value && !e.name.match("Homepage")) { 
        mnr++; e.id="InputFalta"; mangel+=mnr+". Das Feld "+e.name.replace("VRGB_","")+" will gefüllt werden!\n"; if(!fe) fe=e;
     }
     else {
       if(e.name.match("eMail") && !validEMail(e.value)) { 
          mnr++; e.id="InputFalta"; mangel+=mnr+". Das Feld "+e.name.replace("VRGB_","")+" ist unschön und falsch gefüllt!\n"; if(!fe) fe=e;
       }
       if(e.name.match("Homepage") && e.value && !validHomepage(e.value)) { 
         mnr++; e.id="InputFalta"; mangel+=mnr+". Das Feld "+e.name.replace("VRGB_","")+" ist unschön und falsch gefüllt!\n"; if(!fe) fe=e;
       }
       if(e.name.match("Text") && e.value) {
         c=e.value; z=c.split(separator); tst=""; for(i=0;i<(MaxTextZeilenAnzahl-1);i++) { if(z[i]) tst+=z[i]+separator; }
         if(z[(MaxTextZeilenAnzahl-1)]) tst+=z[(MaxTextZeilenAnzahl-1)];
         c=tst; z=c.split(separator); e.value=tst; cond=(c.length<MinTextLaenge && z.length<3) ? true:false;
         if(cond) { 
           mnr++; e.id="InputFalta"; mangel+=mnr+". Das scheint nicht gerade ein sinnvoller Gästebucheintrag zu sein (weniger als "+MinTextLaenge+" Zeichen)\n"; if(!fe) fe=e;
         }
       }
     }
   }

 if(mangel) { 
   mangel="Folgendes gibt es zu bemängeln:\n\n"+mangel+"\nSo wird das leider nichts mit dem Gästebuch-Eintrag..."; alert(mangel); if(fe) fe.focus(); 
  return false; 
 }
 Script.value=1;
 }
 return true
}

function anfrage_formcheck() {
 mangel=""; mnr=0;  fe=false;
 thisform=document.forms.editor;  if(gurkenbrowser) { thisform=getformforgurke();  }
  if(thisform) { 
   with(thisform) { 
     for(i=0;i<elements.length;i++) { 
       e=elements[i]; et=false; if(e.type) et=(e.type.toString().match("text")) ? true:false; 
       en=e.name; if(en) must=(!en.match("OVR_")) ? true:false;
       if(et && must) { 
         setcookie(e);
         if(!e.value && !en.match("Homepage")) { 
           mnr++; e.id="InputFalta"; mangel+=mnr+". Das Feld "+en.replace("VR_","")+" will gefüllt werden!\n"; if(!fe) fe=e;
         }
         else {
           if(en.match("eMail") && !validEMail(e.value)) { 
              mnr++; e.id="InputFalta"; mangel+=mnr+". Das Feld "+en.replace("VR_","")+" ist unschön und falsch gefüllt!\n"; if(!fe) fe=e;
           }
           if(en.match("Homepage") && e.value && !validHomepage(e.value)) { 
             mnr++; e.id="InputFalta"; mangel+=mnr+". Das Feld "+en.replace("VR_","")+" ist unschön und falsch gefüllt!\n"; if(!fe) fe=e;
           }
         }
       }
     }

   if(mangel) { 
     was="Anfrage";
     mangel="Folgendes gibt es zu bemängeln:\n\n"+mangel; 
     alert(mangel); if(fe) fe.focus(); 
     return false; 
   }
   Script.value=1;
  }
 }
 return true 
}

function setcookie(o) {
 if(navigator.cookieEnabled == true) {
  if(!o.name.match("Text")) {
   Name=o.name; Value=o.value; Name="C_"+Name.replace("VR_|VRGB_",""); 
   var ablauf = new Date(), bis = ablauf.getTime() + (365* 24 * 60 * 60 * 1000); ablauf.setTime(bis); 
   top.document.cookie = Name+"="+Value+"; expires=" + ablauf.toGMTString();
  }
 }
}

function getformforgurke() {
 thisform=document.forms.editor;
 if(!thisform) {
  for(i=0;i<window.document.layers.length;i++) {
    lay=window.document.layers[i]; if(lay.document.forms.length) return lay.document.forms[0];
    else { 
       for(j=0;j<lay.document.layers.length;j++) {
         slay=lay.document.layers[i]; if(slay.document.forms.length) return slay.document.forms[0];
       }
    }
  }
 }
 return thisform;
}

function trim(IPS,Zeichen) {
  if(typeof IPS != "string") { return IPS; }
  if(IPS.indexOf(Zeichen)==-1) { return IPS; }
  var RetVal=IPS, ch=RetVal.substring(0,Zeichen.length);
  while(ch==Zeichen) { RetVal = RetVal.substring(Zeichen.length,RetVal.length); ch=RetVal.substring(0,Zeichen.length); }
  ch=RetVal.substring(RetVal.length-Zeichen.length,RetVal.length);
  while(ch==Zeichen) { RetVal=RetVal.substring(0,RetVal.length-Zeichen.length); ch=RetVal.substring(RetVal.length-Zeichen.length,RetVal.length); }
  if(Zeichen==" ") { while(RetVal.indexOf(Zeichen+Zeichen)!=-1) {  RetVal=RetVal.replace(Zeichen+Zeichen,Zeichen);  } }
  return RetVal; 
} 
