//*****************************************************************************************
//Modul:           script.js
//Author:          CLR Reto Claude
//Zweck:           Diverse Java-Funktionen
//Datum:           17.10.2007
//Letzte Änderung: 26.08.2010
//*****************************************************************************************

//den Rahmen um den link verschwinden lassen //
function deblur(mylink)
{
   mylink.blur();
}
//Öffnen eines neuen Fensters
function openBrWindow(theURL,winName,features)
{
   newWin = window.open(theURL,winName,features);
   if(newWin)
   {
      newWin.focus();
   }
   //Meldung Popup-Blocker
   else
   {
      alert(document.getElementById('meldungFehlerOpen').value);
   }
}
//Öffnen eines neuen Fensters für die Anzeige der grossen Bilder
function openExtWindow(strZiel, strName, width, height, scrollStat)
{
   //IE-Bugs
   var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
   //Neues Fenster muss 'about:blank' heissen, falls es sich nicht um eine PHP-Detei handelt
   //Falls es sich nicht um eine PHP-Datei handelt, muss das Fenster immer mit leerem Namen erstellt werden
   fensterZiel = strZiel;
   laenge      = fensterZiel.length;
   index       = fensterZiel.lastIndexOf(".");
   dieEndung   = fensterZiel.substring((index+1),laenge);
   if(dieEndung!="PHP" && dieEndung!="php" && isIE)
   {
      fensterZiel = 'about:blank'
      strName = '';
   }
   //Mit Scrollbar
   if(scrollStat==1)
   {
      if(height<=0)
      {
         newWin = window.open(fensterZiel,strName,'width='+width+',scrollbars=yes,resizable=yes');
      }
      else
      {
         newWin = window.open(fensterZiel,strName,'width='+width+',height='+height+',scrollbars=yes,resizable=yes');
      }
   }
   //Ohne Scrollbar
   else
   {
      if(height<=0)
      {
         newWin = window.open(fensterZiel,strName,'width='+width+',scrollbars=no,resizable=yes');
      }
      else
      {
         newWin = window.open(fensterZiel,strName,'width='+width+',height='+height+',scrollbars=no,resizable=yes');
      }
   }
   if(newWin)
   {
      if(dieEndung!="PHP" && dieEndung!="php" && isIE)
      {
         newWin.location = strZiel;
      }
      newWin.focus();
   }
   //Meldung Popup-Blocker
   else
   {
      alert(document.getElementById('meldungFehlerOpen').value);
   }
}
//Flash-Plugin-Objekt
function flashPlug()
{
   with (navigator) if (appName.indexOf('Microsoft')!=-1 && appVersion.indexOf('Mac')==-1) document.write(''+
   '<scr'+'ipt language="VBScript">\nOn error resume next\n'+
   'MM_dir = IsObject(CreateObject("SWCtl.SWCtl.1"))\n'+
   'MM_flash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))\n</scr'+'ipt>');
}
//Kontrolle ob der Flash-Plugin vorhanden ist
function check()
{
   flashOK = false;
   var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
   //Netscape
   if(!isIE)
   {
      if(typeof(navigator.plugins["Shockwave Flash"]) == "object")
      {
         flashOK = true;
      }
   }
   //IE Leider nicht so toll
   else if (navigator.appVersion.indexOf('3.1')==-1)
   {
      var plgIn = 'Shockwave Flash';
      if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null)
      {
         flashOK=window.MM_flash;
      }
   }

   //Flashplugin gefunden
   if(flashOK)
   {
      theURL=document.URL;
      if(theURL.indexOf ('index.php', 0) == -1)
      {
         theURL=theURL+"index.php?checkJN=1&flashJN=1&HpMenue=0&UtMenue=0";
      }
      else
      {
         theURL=theURL+"&checkJN=1&flashJN=1";
      }
      window.location=theURL;
   }
   //Seite ohne Flash
   else
   {
      altURL=document.URL;
      if(altURL.indexOf ('index.php', 0) == -1)
      {
         altURL=altURL+"index.php?checkJN=1&flashJN=0&HpMenue=0&UtMenue=0";
      }
      else
      {
         altURL=altURL+"&checkJN=1&flashJN=0";
      }
      window.location=altURL;
   }
}
//Upload-Check für die Flash-Files
function checkUploadFlash()
{
   if(document.uploadFormular.userfile.value == "")
   {
      alert("Bitte zuerst Datei für Upload wählen");
      document.uploadFormular.userfile.focus();
      return false
   }
   else
   {
      fileName  = document.uploadFormular.userfile.value.replace(/\'/g,'');
      laenge    = fileName.length;
      index     = fileName.lastIndexOf(".");
      dieEndung = fileName.substring((index+1),laenge);
      if(dieEndung != "swf" && dieEndung != "SWF")
      {
         alert("Bitte nur Flash-Files (*.swf oder *.SWF wählen");
         document.uploadFormular.userfile.focus();
         return false
      }
      document.uploadFormular.endung.value=fileName.substring((index+1),laenge);
      fileName = document.uploadFormular.userfile.value;
      laenge   = fileName.length;

      index = fileName.lastIndexOf("\\");
      if(index==-1)
      {
         index = fileName.lastIndexOf("/");
         document.uploadFormular.uploadPfadFlash.value=fileName.substring((index+1),laenge);
      }
      else
      {

         document.uploadFormular.uploadPfadFlash.value=fileName.substring((index+1),laenge);
      }
      //Nun wird geprüft, ob im Feld nur gültige Zeichen eingeben wurden
      var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.";
      var checkStr = document.uploadFormular.uploadPfadFlash.value;
      var allValid = true;
      for (i = 0; i < checkStr.length; i++)
      {
         ch = checkStr.charAt(i);
         for (j = 0; j < checkOK.length; j++)
         if (ch == checkOK.charAt(j))
         break;
         if (j == checkOK.length)
         {
            allValid = false;
            break;
         }
      }
      if (!allValid)
      {
         alert("Dateiname darf nur folgende Zeichen enthalten: 0-9, a-z, A-Z und Underline (Keine Klammern, Leerschläge etc.)");
         return false;
      }
   }
}
//Upload-Check für die Bild-Files
function checkUploadBild()
{
   if(document.uploadFormular.userfile.value == "")
   {
      alert("Bitte zuerst Datei für Upload wählen");
      document.uploadFormular.userfile.focus();
      return false
   }
   else
   {
      fileName = document.uploadFormular.userfile.value.replace(/\'/g,'');
      laenge   = fileName.length;
      index    = fileName.lastIndexOf(".");
      document.uploadFormular.endung.value = fileName.substring((index+1),laenge);
      fileName = document.uploadFormular.userfile.value;
      laenge   = fileName.length;
      index    = fileName.lastIndexOf("\\");
      if(index==-1)
      {
         index = fileName.lastIndexOf("/");
         document.uploadFormular.uploadPfadBild.value=fileName.substring((index+1),laenge);
      }
      else
      {
         document.uploadFormular.uploadPfadBild.value=fileName.substring((index+1),laenge);
      }
      //Nun wird geprüft, ob im Feld nur gültige Zeichen eingeben wurden
      var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.";
      var checkStr = document.uploadFormular.uploadPfadBild.value;
      var allValid = true;
      for (i = 0; i < checkStr.length; i++)
      {
         ch = checkStr.charAt(i);
         for (j = 0; j < checkOK.length; j++)
         if (ch == checkOK.charAt(j))
         break;
         if (j == checkOK.length)
         {
            allValid = false;
            break;
         }
      }
      if (!allValid)
      {
         alert("Dateiname darf nur folgende Zeichen enthalten: 0-9, a-z, A-Z und Underline (Keine Klammern, Leerschläge etc.)");
         return false;
      }

   }
}
//Benutzerverwaltung
function checkBenutzerData(art,subbaccount)
{

   document.benutzerVerw.aktionArt.value=art;
   if(art!=3)
   {
      if(subbaccount==1)
      {
         document.benutzerVerw.aktion.value=2;
         benSpracheAuswal='';
         //Benutzer-Sprache-Auswal lesen
         for(i=0;i<document.benutzerVerw.benSpracheSub.length;++i)
         {
            if(document.benutzerVerw.benSpracheSub.options[i].selected == true
            && document.benutzerVerw.benSpracheSub.options[i].value!='0')
            {
               benSpracheAuswal=document.benutzerVerw.benSpracheSub.options[i].value;
            }
         }
         if(benSpracheAuswal!='')
         {
            document.benutzerVerw.benSprAWSub.value=benSpracheAuswal;
         }
         else
         {
            document.benutzerVerw.benSprAWSub.value='';
         }
         //Mussfelder
         if(document.benutzerVerw.nameSub.value=="" ||
         document.benutzerVerw.benutzernameSub.value=="" ||
         document.benutzerVerw.passwortSelSub.value=="" ||
         document.benutzerVerw.benSprAWSub.value=='' )
         {
            alert(document.benutzerVerw.meldungMuss.value);
            return false;
         }
         //E-Mail-Format prüfen
         if(document.benutzerVerw.eMailSub.value != "")
         {
            //E-Mail-Format
            if(document.benutzerVerw.eMailSub.value.indexOf ('@', 0) == -1 ||
            document.benutzerVerw.eMailSub.value.length < 6 ||
            document.benutzerVerw.eMailSub.value.indexOf ('.', 0) == -1)
            {
               alert(document.benutzerVerw.meldungMailFormat.value);
               document.benutzerVerw.eMailSub.focus();
               return false;
            }
         }
         //Passwort und Passwortkontrolle müssen übereistmmen
         else if(document.benutzerVerw.passwortSelSub.value != document.benutzerVerw.passwortKontrolleSub.value)
         {
            alert(document.benutzerVerw.meldungPwKontrolle.value);
            document.benutzerVerw.passwortSelSub.focus();
            return false;
         }
         else
         {
            return true;
         }
      }
      else
      {
         document.benutzerVerw.aktion.value=1;
         benutzerGruppeAuswal=0;
         //Benutzer-Gruppe-Auswal lesen
         for(i=0;i<document.benutzerVerw.benutzerGruppe.length;++i)
         {
            if(document.benutzerVerw.benutzerGruppe.options[i].selected == true
            && document.benutzerVerw.benutzerGruppe.options[i].value!='0')
            {
               benutzerGruppeAuswal=document.benutzerVerw.benutzerGruppe.options[i].value;
            }
         }
         if(benutzerGruppeAuswal>0)
         {
            document.benutzerVerw.benutzerGrpAW.value=benutzerGruppeAuswal;
         }
         else
         {
            document.benutzerVerw.benutzerGrpAW.value=0;
         }
         benSpracheAuswal='';
         //Benutzer-Sprache-Auswal lesen
         for(i=0;i<document.benutzerVerw.benSprache.length;++i)
         {
            if(document.benutzerVerw.benSprache.options[i].selected == true
            && document.benutzerVerw.benSprache.options[i].value!='0')
            {
               benSpracheAuswal=document.benutzerVerw.benSprache.options[i].value;
            }
         }
         if(benSpracheAuswal!='')
         {
            document.benutzerVerw.benSprAW.value=benSpracheAuswal;
         }
         else
         {
            document.benutzerVerw.benSprAW.value='';
         }
         //Administrator
         document.benutzerVerw.adminJnAW.value=0;
         if(document.benutzerVerw.adminJn.checked)
         {
            document.benutzerVerw.adminJnAW.value=1;
         }
         //Name, Postleitzahl, Ort, Gruppe, Benutzername und Passwort müssen eingegeben werden
         if(document.benutzerVerw.name.value=="" ||
         document.benutzerVerw.benutzerGrpAW.value==0 ||
         document.benutzerVerw.benutzername.value=="" ||
         document.benutzerVerw.passwortSel.value=="" ||
         document.benutzerVerw.benSprAW.value=='' )
         {
            alert(document.benutzerVerw.meldungMuss.value);
            return false;
         }
         //E-Mail-Format prüfen
         if(document.benutzerVerw.eMail.value != "")
         {
            //E-Mail-Format
            if(document.benutzerVerw.eMail.value.indexOf ('@', 0) == -1 ||
            document.benutzerVerw.eMail.value.length < 6 ||
            document.benutzerVerw.eMail.value.indexOf ('.', 0) == -1)
            {
               alert(document.benutzerVerw.meldungMailFormat.value);
               document.benutzerVerw.eMail.focus();
               return false;
            }
         }
         //Passwort und Passwortkontrolle müssen übereistmmen
         else if(document.benutzerVerw.passwortSel.value != document.benutzerVerw.passwortKontrolle.value)
         {
            alert(document.benutzerVerw.meldungPwKontrolle.value);
            document.benutzerVerw.passwortSel.focus();
            return false;
         }
         else
         {
            return true;
         }
      }
   }
   else
   {
      if(subbaccount==1)
      {
         document.benutzerVerw.aktion.value=2;
      }
      else
      {
         document.benutzerVerw.aktion.value=1;
      }
      var choice = confirm(document.benutzerVerw.meldungBnDelOK.value);
      if (choice != true)
      {
         return false;
      }
      else
      {
         return true;
      }
   }
}
function setSearchData(art)
{
   if(art==1)
   {
      //Suchdaten zwischenspeichern
      benutzerGruppeSAuswal=0;
      //Benutzer-Gruppe-Auswal lesen
      for(i=0;i<document.benutzerVerw.benutzerGruppeS.length;++i)
      {
         if(document.benutzerVerw.benutzerGruppeS.options[i].selected == true
         && document.benutzerVerw.benutzerGruppeS.options[i].value!='')
         {
            benutzerGruppeSAuswal=document.benutzerVerw.benutzerGruppeS.options[i].value;
         }
      }
      if(benutzerGruppeSAuswal>0)
      {
         document.benutzerVerw.benutzerGruppeSF.value=benutzerGruppeSAuswal;
      }
      else
      {
         document.benutzerVerw.benutzerGruppeSF.value=0;
      }
      document.benutzerVerw.nameSF.value=document.benutzerVerw.nameS.value;
      document.benutzerVerw.vornameSF.value=document.benutzerVerw.vornameS.value;
      document.benutzerVerw.plzSF.value=document.benutzerVerw.plzS.value;
      document.benutzerVerw.ortSF.value=document.benutzerVerw.ortS.value;
   }
   document.benutzerVerw.noSess.value=1;
}
//ende Benutzerverwaltung
//Wörterbuch
function checkWbData(art)
{
   document.woBu.aktionArt.value=art;
   document.woBu.aktion.value=1;
   if(art!=3)
   {
      //Mussfelder
      if(document.woBu.spracheDeutsch.value=="" ||
      document.woBu.spracheFranz.value==0 ||
      document.woBu.spracheItal.value=="")
      {
         alert(document.woBu.meldungMuss.value);
         return false;
      }

   }
   else
   {
      var choice = confirm(document.woBu.meldungDelOK.value);
      if (choice != true)
      {
         return false;
      }
      else
      {
         return true;
      }
   }
}
function setSearchDataWb(art)
{
   if(art==1)
   {
      //Suchdaten zwischenspeichern
      document.woBu.textDSF.value=document.woBu.textDS.value;
      document.woBu.textFSF.value=document.woBu.textFS.value;
      document.woBu.textISF.value=document.woBu.textIS.value;
   }
   document.woBu.noSess.value=1;
}
//ende Wörterbuch
//Beginn Gruppenverwaltung
function checkGruppeData(art)
{

   document.gruppenVerw.aktionArt.value=art;
   document.gruppenVerw.aktion.value=1;
   if(art!=3)
   {

      //Bezeichnung muss eingegeben werden
      if(document.gruppenVerw.gruppeBezSel.value=="")
      {
         alert(document.gruppenVerw.meldungMuss.value);
         document.gruppenVerw.gruppeBezSel.focus();
         return false;
      }
      else
      {
         return true;
      }
   }
   else
   {
      var choice = confirm(document.gruppenVerw.meldungDelOK.value);
      if (choice != true)
      {
         return false;
      }
      else
      {
         return true;
      }
   }
}
//Ende Gruppenverwaltung
//Anzeige-Feld aktualisieren
function setAnzeigeFeld(formularBez, feldBez, feldInhalt)
{
   document.forms[formularBez].elements[feldBez].value=feldInhalt;
}
//Zahlen-Felder-Prüfungen
function checkZahlen(idOfField)
{
   //Eingabe von Zahlen prüfen
   if(isNaN(document.getElementById(idOfField).value))
   {
      alert(document.ablesungen.meldungNurZahlen.value);
      document.getElementById(idOfField).value    = '';
      document.getElementById(idOfField).focus();
   }
   //Maximale grösse der Zahlen prüfen
   if(parseFloat(document.getElementById(idOfField).value)>999999999)
   {
      alert(document.ablesungen.meldungZahlZuGross.value);
      document.getElementById(idOfField).value='';
      document.getElementById(idOfField).focus();
   }
   document.ablesungen.ableseDatenMutiert.value = 1;
}
//Datumsprüfungs-Funktion
function checkDatumsFormat(idOfField, fehlerText)
{
   checkDate           = document.getElementById(idOfField).value;
   if(checkDate!='')
   {
      var checkDateSplit  = checkDate.split('.');
      var day             = checkDateSplit[0];
      var month           = checkDateSplit[1];
      var year            = checkDateSplit[2];
      day                 = new String(day);
      var dayLength       = day.length;
      month               = new String(month);
      var monthLength     = month.length;
      year                = new String(year);
      var yearLength      = year.length;
      if(dayLength>2)
      {
         alert(fehlerText);
         document.getElementById(idOfField).value='';
         document.getElementById(idOfField).focus();
         return false;
      }
      if(monthLength>2)
      {
         alert(fehlerText);
         document.getElementById(idOfField).value='';
         document.getElementById(idOfField).focus();
         return false;
      }
      if(yearLength<2 || yearLength==3 || yearLength>4)
      {
         alert(fehlerText);
         document.getElementById(idOfField).value='';
         document.getElementById(idOfField).focus();
         return false;
      }
      else if(yearLength==2)
      {
         var thistime  = new Date();
         var aktYear   = thistime.getFullYear();
         aktYear       = new String(aktYear);
         aktYear       = aktYear.substr(0,2);
         if(year>50)
         {
            yearZahl   = parseInt(aktYear);
            yearZahl   = (yearZahl-1);
            aktYear    = new String(yearZahl);
         }
         year=aktYear.concat(year);
      }
      year   = parseFloat(year);
      if ((day<=31) && (day>=1) && (month>=1) && (month<=12))
      {
         if((month==1) || (month==3) || (month==5) || (month==7) || (month==8) || (month==10) || (month==12))
         {
         }
         else
         {
            if ((day<=30) && (day>=1))
            {
               if((month==4) || (month==6) || (month==9) || (month==11))
               {
               }
               else
               {
                  if ((day<=28) && (day>=1))
                  {
                  }
                  else
                  {
                     if(day==29)
                     {
                        if ((year%4)==0)
                        {
                           if ((year%100)!=0)
                           {
                           }
                           else
                           {
                              if ((year%400)==0)
                              {
                              }
                              else
                              {
                                 alert(fehlerText);
                                 document.getElementById(idOfField).value='';
                                 document.getElementById(idOfField).focus();
                                 return false;
                              }
                           }
                        }
                        else
                        {
                           alert(fehlerText);
                           document.getElementById(idOfField).value='';
                           document.getElementById(idOfField).focus();
                           return false;
                        }
                     }
                     else
                     {
                        alert(fehlerText);
                        document.getElementById(idOfField).value='';
                        document.getElementById(idOfField).focus();
                        return false;
                     }
                  }
               }
            }
            else
            {
               alert(fehlerText);
               document.getElementById(idOfField).value='';
               document.getElementById(idOfField).focus();
               return false;
            }
         }
      }
      else
      {
         alert(fehlerText);
         document.getElementById(idOfField).value='';
         document.getElementById(idOfField).focus();
         return false;
      }
      //Schön formatieren
      if(day<10 && dayLength<2)
      {
         day= '0'+day;
      }
      if(month<10 && monthLength<2)
      {
         month= '0'+month;
      }
      document.getElementById(idOfField).value = day.concat(".",month,".",year);
      return true;

   }
}
//Ende Datumsprüfungs-Funktion
//Beginn HTTP-Klassen
function createRequestObject()
{
   var ro;
   var browser = navigator.appName;
   if(browser == "Microsoft Internet Explorer")
   {
      ro = new ActiveXObject("Microsoft.XMLHTTP");
   }
   else
   {
      ro = new XMLHttpRequest();
   }
   return ro;
}

var http = createRequestObject();

function sndReq(pageToOpen)
{
   http.open('get',pageToOpen);
   http.onreadystatechange = handleResponse;
   http.send(null);
}

function handleResponse()
{
   if(http.readyState == 4)
   {
      var response = http.responseText;
      document.getElementById('content').innerHTML = response;
   }
}
//Ende HTTP-Klassen
function closeWin()
{
   window.close();
}
//Parentwindow reloaden
function parentReload()
{
   if (window.opener && !window.opener.closed)
   {
      window.opener.location.reload();
   }
}
//Ende Parentwindow reloaden
//Parentwindow location ändern
function parentSetLocation(newLocation)
{
   window.opener.location = newLocation;
   //window.opener.focus();
}
//Ende Parentwindow location ändern
//Beginn Volltext-Suche
function setSearchDataVTS()
{
   document.pageSuche.suchTextSF.value=document.pageSuche.suchText.value;
   document.pageSuche.noSess.value=1;
   return true;
}
//Ende Volltext-Suche
//Beginn Bildgallerie-Suche
function setSearchDataBildGallerie()
{
   document.bilderSuche.suchTextSF.value=document.bilderSuche.suchText.value;
   document.bilderSuche.noSess.value=1;
   return true;
}
//Ende Bildgallerie-Suche