﻿
// ------------   Hier sind die Variablen einzutragen Anfuehrungszeichen stehen lassen!
//                geschlossene Gesellschaft: Die Daten (tt.mm.jjjjxxxhh:mm) jeweils durch ein Blank getrennt
//                xxx ist von oder bis. Bei ganztagiger Schliessung weglassen. Am Ende ein Blank!
var GG=           "08.09.2010 11.09.2010 17.09.2010 29.09.2010 09.04.2011 01.07.2011 09.07.2011";

//                Tipp den Text jeweils aendern  Text vor dem Tipp, z.B. Feinschmecker-Tipp
                  var Tipp =        "Pfifferlinge & Co.";
                  var TippText =    "Feinschmecker-Tipp";

//                Ruhetag in Worten, volle Laenge
var Ruhetag=        "Donnerstag";

//                Oeffnungszeiten: Uhrzeiten beginnend ab Sonntag mit "hh:mm" eintragen, danach Blank -->
//                        So    Mo    Di    Mi    Do    Fr    Sa
var offen_ab =        "11:30 16:00 11:30 11:30 24:00 11:30 11:30";
var offen_bis=        "24:00 24:00 24:00 24:00 24:00 24:00 24:00";

//                Grussfomel. "Hier bitte Guten Tag!" / "Herzlich Willkomen!" etc. eintragen
var Gruss=        "Herzlich willkommen!";

//                Aktion: Text bei Aktion, Zeiten als 8-stelliges Daten bei Aktion_ab / Aktion_bis -->
//                Wenn Aktion leer ist, gibt es keine Anzeige
var Aktion=       " ";
var AktionText=   "Geaenderte Oeffnungszeiten: Montag, 20. Juni: geschlossen - dafuer an Fronleichnam, 23. Juni: geoeffnet ";
//                Dauer der Aktion (Eintaegig gleiches Datum eintragen)
var Aktion_ab=    "19.06.2011";
var Aktion_bis=   "23.06.2011";
var AktionArt=    "zu";

//                Extrainfo
                  var x_Info ="An Fronleichnam (3. Juni) haben wir ab 11:30 Uhr geöffnet";
                  var x_Info_bis ="03.06.2010";

// ---- Ende der Variablen -- Festwerte
//        Wochentage und Monate im Volltext
        var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                "Donnerstag", "Freitag", "Samstag");
        var Monatname = new Array("Januar", "Februar", "Maerz", "April", "Mai", "Juni",
                "Juli", "August", "September", "Oktober", "November", "Dezember");
//        Array fuer Datumsumwandlung
        var Werte = new Array("", "", "");

function offen(Ein_Datum)
 {
        offen_ab=  offen_ab.split(" ");
        offen_bis= offen_bis.split(" ");
        var Status =  Gruss;
        var Trz; var Ref_Datum; var Ref_Aktion_ab; var Ref_Aktion_bis;

//        Datum fuer Aktion umsetzen
          Werte=Aktion_ab.split("."); Ref_Aktion_ab=Werte[2] + Werte[1] + Werte[0];
        Werte=Aktion_bis.split("."); Ref_Aktion_bis=Werte[2] + Werte[1] + Werte[0];

//        Holen von Datum und Uhrzeit
        var Jetzt = new Date();

//      Variablen fuer Ausgabe - Datum setzen
        if (Ein_Datum > 0) {
                var Trz = "| ";
                var Eingabe = window.prompt("Der Bahnhof Unterjesingen. "
                        + "Wann wollen Sie uns besuchen? Bitte Datum eingeben.", "");
                if (Eingabe.indexOf(".") == -1)
                        {alert("'" + Eingabe +"' ist kein richtiges Datum ('tt.mm.jj')!"); stop();}
//                Punkt anhaengen fuer Datum ohne Jahr
                Eingabe = Eingabe + ".2007";
                if (Eingabe.indexOf(".") == Eingabe.lastIndexOf("."))
                        {alert("'" + Eingabe +"' ist kein richtiges Datum ('tt.mm.jj')!"); stop();}

                var EingabeWerte = Eingabe.split(".");
                if (EingabeWerte.length <2)
                        {alert("'" + Eingabe +"' ist kein richtiges Datum ('tt.mm.jj')!"); stop();}
                if (EingabeWerte[2] < 2000)
                        EingabeWerte[2] = eval(EingabeWerte[2]+"+2000");
                        if (EingabeWerte[2] == 2000) EingabeWerte[2] = Jetzt.getYear();
                Jetzt.setDate(EingabeWerte[0]); Jetzt.setMonth(EingabeWerte[1]-1);
                Jetzt.setFullYear(EingabeWerte[2]);
                Tipp = Trz + "Bitte reservieren Sie telefonisch." + Trz;
                }
        else
                {Trz =" +++ "; Trz = Trz.fontcolor("#990000");
                Tipp =Trz +TippText + ": "+ Tipp + Trz;
                }

//              Formatieren von Datum und Uhrzeit
               var Wochentag =Jetzt.getDay();
        var Tag = Jetzt.getDate();
        var Monat = Jetzt.getMonth() + 1;
        var Jahr = Jetzt.getYear();
        var Stunden = Jetzt.getHours();
        var Minuten = Jetzt.getMinutes();
        var Zeit = Stunden + Minuten / 60;
        var ZeitText = ((Stunden < 10) ? "0" : "") + Stunden + ((Minuten < 10) ? ":0" : ":") + Minuten;
        if (Jahr < 1900) Jahr = Jahr +1900;
        var WochentagText=Wochentagname[Wochentag];
        var Akt_Datum = (Tag <10 ? "0" : "") + Tag + (Monat <10 ? ".0" : ".") + Monat + "." + Jahr;
        Werte=Akt_Datum.split(".");
        Ref_Datum=Werte[2] + Werte[1] + Werte[0];
// alert(Ref_Datum);
//        Datum und Uhrzeit ausgeben
        if (Ein_Datum > 0)
                {Status = Trz + "Am " + WochentagText + ", " + Tag +". " + Monatname[Monat-1] + " "
                        + Jahr + " ";
                ZeitText ="00:00";}
        else
                Status = Trz + Status + Trz + "Heute, am " + WochentagText + ", "
                        + Tag + ". " + Monatname[Monat-1] + " " + Jahr
                        + " (" + ZeitText + " Uhr)";

//        Pruefen Oeffnungszeiten
        if (GG.indexOf(Akt_Datum) == -1)
                {if (WochentagText == Ruhetag)
                        Status = Status + " haben wir Ruhetag."+ Trz
                                + "An allen anderen Tagen in der Woche haben wir "
                                + "fuer Sie geoeffnet."
                                + Trz +"Unsere Oeffnungszeiten finden Sie unter Kontakt." + Trz;
                else
                        {if(ZeitText > offen_ab[Wochentag])
                                Status = Status + " haben wir fuer Sie " +
// bis " + offen_bis[Wochentag] + " Uhr"
                                "geoeffnet. " + Tipp;
                        else
                                Status = Status + " haben wir fuer Sie ab " + offen_ab[Wochentag] +
// " bis " + offen_bis[Wochentag] +
                                " Uhr geoeffnet. " +Tipp;
                        }
                }
        else
              { var gg_zeit = GG.substr(GG.indexOf(Akt_Datum)+10,8);
                gg_zeit2 = gg_zeit.substr(0,3); gg_zeit = gg_zeit.substr(3,5);
                if (gg_zeit2.substr(0,1) == " ")
                  gg_zeit ="";
                else
                 { if (gg_zeit2 == "bis")
                     gg_zeit = " von " + offen_ab[Wochentag] + " bis " + gg_zeit + " Uhr";
                   else
                     gg_zeit = " von " + gg_zeit + " bis " + offen_bis[Wochentag] + " Uhr";
                 }
                Status= Status + ": Geschlossene Gesellschaft" + gg_zeit + "." +Trz
                                 + "Unsere normalen Oeffnungszeiten finden Sie unter Kontakt." + Trz;
              }
//                Aktion ausgeben
                if (Aktion > "")
                  {if (Ref_Datum > Ref_Aktion_bis)
                      Aktion = "";
                   else
                     {Aktion = AktionText + ((AktionText == "") ? "" : ": ") + Aktion;
                      if (Aktion_ab == Aktion_bis)
                        {Aktion_ab =" am "+ Aktion_ab; Aktion_bis =""; var Heute=" HEUTE! ";}
                      else
                        {Aktion_ab =" vom " +Aktion_ab; Aktion_bis=" bis " + Aktion_bis;
                         var Heute=" Heute letzter Tag! ";}
                      if (Ref_Datum < Ref_Aktion_ab)
//                        Aktion = Aktion + Aktion_ab + Aktion_bis+ ". ";
                        Aktion = Aktion + ". ";
                      else
                        {if (Ref_Datum == Ref_Aktion_bis)
//                            Aktion = Aktion + Heute;
                            Aktion = Aktion + ".";
                         else
//                            Aktion = Aktion + Aktion_bis +". ";
                            Aktion = Aktion + ". ";
                        }
                      if (AktionArt == "zu" && Ref_Datum >= Ref_Aktion_ab)
                         Status = Trz + Aktion + Trz;
                      else
                         Status = Status + Aktion +Trz;}
                  }
//              Informationstext ausgeben
                Werte=x_Info_bis.split(".");
                Ref_x_Info=Werte[2] + Werte[1] + Werte[0];
                if (x_Info > ""&& Ref_x_Info > Ref_Datum)
                  Status = Status + x_Info + Trz;
//        Ausgeben
        if (Ein_Datum > 0)
                alert(Status);
        else
                return(Status);
 }
