        function GetTage(strDate,hin)
        {
                //funktion zum ermitteln, wieviele Tage hat der Monat
                var parts=strDate.split(".");
                if(parts[1]==2){
                        nTage=(parts[2] & 4)?29:28;
                } else {
                        nTage=((parts[1]<=7) ^ ((parts[1] & 1)!=0))?30:31;
                }
                //bei rückreise,endet z.B. mit 5, wenn die Angebote bis 05. gehen
                lts=(hin)?(letzter_termin_hin.split(".")):(letzter_termin_rueck.split("."));
                if(lts[1]==parts[1] && lts[2]==parts[2]){
                        nTage=parseInt(lts[0],10);
                }
                return nTage;
        }

        function ChangeRueck()
        {
                d=getValue('ktag');
                lMon=getValue('kmonat').split(".");
                var d = new Date(lMon[1],lMon[0]-1,d);
                nTime=d.getTime()+(22*86400000);
                d.setTime(nTime);
                nMon=parseInt(d.getMonth(),10)+1;
                if(nMon<10)nMon="0"+nMon;
                nDay=parseInt(d.getDate(),10);
                if(nDay<10)nDay="0"+nDay;
                SetDatum(nDay+"."+nMon+"."+d.getFullYear(),"",2);
        }

        function getValue(name)
        {
          com=eval("document.bengine."+name);
          return com.options[com.selectedIndex].value;
        }

        function UpdateTermine(kenner,y,m,d)
        {
          var date=new Date(y,m-1,d);
          dn=date.getTime()/1000;
          //d=Date.UTC(y,m-1,d)/1000;
          if(kenner=="k"){
            ts_termin=dn;
            document.bengine.termin.value=dn;
          }
          else
          {
           ts_ruecktermin=dn;
          }
        }

        function SetDatum(strDate, strRKenner, noMon, form)
        {
                nTage=GetTage(strDate,strRKenner!="");

                //funktion setzt aktuelles Datum + 3 Tage und füllt die select-Box für die Tage
                var com=(strRKenner)?document.bengine.ktag:document.bengine.rueckktag;
                var comMon=(strRKenner)?document.bengine.kmonat:document.bengine.rueckkmonat;

                len=com.length;
                nMax=(len>nTage)?len:nTage;

                for(i=0;i<nMax;i++){
                        if(i<nTage){
                                if(i>=len){
                                        com.options[i]=new Option();
                                }
                                com.options[i].text=i+1;
                                com.options[i].value=i+1;
                        } else {
                                com[nTage] = null;
                        }
                }
                nSel=parseInt(strDate.split(".")[0],10);
                if(nSel>nTage)nSel = nTage;
                com.options.selectedIndex=nSel-1;

                UpdateTermine(((strRKenner!="")?"k":""),strDate.split(".")[2],strDate.split(".")[1],nSel);

                if(noMon != 1){
                        firstMon=parseInt(comMon.options[0].value.split(".")[0],10);
                        nSel=strDate.split(".")[1]-firstMon;
                        if(nSel<0 || comMon.options[0].value.split(".")[1]<strDate.split(".")[2])
                          nSel+=12;
                        comMon.options.selectedIndex=nSel;
                }
                if(noMon!=2 && strRKenner!="") ChangeRueck();

        }

        function UpdateDate(strKenner)
        {
                nTag=getValue(strKenner+"tag");
                strMon=getValue(strKenner+"monat");
                SetDatum(nTag+"."+strMon,(strKenner=="rueckk")?"":"dummy",2);
        }

        function SetDay(strKenner)
        {
                nTag=getValue(strKenner+"tag");
                cMon=eval("document.bengine."+strKenner+"monat");
                strMon=getValue(strKenner+"monat");
                ets=erster_termin.split(".");

                if(ets[1]+"."+ets[2]==strMon && nTag < parseInt(ets[0],10)){
                        cMon.selectedIndex=1;
                        strMon=getValue(strKenner+"monat");
                        SetDatum(nTag+"."+strMon,(strKenner=="rueckk")?"":"dummy",1);
                        nTag=getValue(strKenner+"tag"); ;
                }
                if(strKenner=="k"){
                        ChangeRueck();
                }
                UpdateTermine(strKenner,strMon.split(".")[1],strMon.split(".")[0],nTag);
        }

        function SetMonth(strKenner)
        {
                //funktion setzt Tag und Monat, wenn man in der select-Box auswählt
                nTag=getValue(strKenner+"tag");
                strMonat=getValue(strKenner+"monat");
                ets=erster_termin.split(".");
                if(ets[1]+"."+ets[2]==strMonat && nTag<parseInt(ets[0],10)){
                        nTag=ets[0];
                }
                strDate=nTag+"."+strMonat;
                SetDatum(strDate,(strKenner=="rueckk")?"":"dummy",1);
        }

        function InitDays(hin)
        {
                nTage=GetTage((hin)?termin_hin:termin_rueck,hin);
                SelTag=(hin)?termin_hin.split(".")[0]:termin_rueck.split(".")[0];

                for(i=1;i<=nTage;i++){
                        sel=(i==SelTag)?" Selected":"";
                        document.write("<option value="+i+sel+">"+i+"</option>\n");
                }
        }

        function InitMonth(hin)
        {
                var m=new Array("Jan.","Feb.","März","April","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez.");
                var com=document.bengine.kmonat;
                ets=erster_termin.split(".");
                lts=(hin)?(letzter_termin_hin.split(".")):(letzter_termin_rueck.split("."));
                sels=(hin)?(termin_hin.split(".")):(termin_rueck.split("."));

                SelMonat=sels[1];

                MinMonat=parseInt(ets[1],10);
                MaxMonat=parseInt(lts[1],10);
                MinJahr=ets[2];
                MaxJahr=lts[2];

                if((MaxMonat<MinMonat) || (MinJahr!=MaxJahr)) MaxMonat-=(-12);
                if(SelMonat<MinMonat)SelMonat-=(-12);

                for(i=MinMonat;i<=MaxMonat;i++){
                        sel=(i==SelMonat)?" Selected":"";
                        if(i>12){
                                nMon=i-12;if(nMon<10)nMon="0"+nMon;
                                document.write("<option value='"+nMon+"."+MaxJahr+"'"+sel+">"+m[i-13]+" "+MaxJahr.substr(2)+"\n");
                        } else {
                                nMon=i;if(nMon<10)nMon="0"+nMon;
                                document.write("<option value='"+nMon+"."+MinJahr+"'"+sel+">"+m[i-1]+" "+MinJahr.substr(2)+"\n");
                        }
                }
        }


        function BookingAction(detail)
        {
                document.bengine.showresult.value='1';
                if (detail) document.bengine.detail.value=detail;
                document.bengine.termin.value=ts_termin;
                document.bengine.ruecktermin.value=ts_ruecktermin;
                return chkFormular();
        }

