var SysTag= time.getDate();
var SysMonat= 1+time.getMonth();
var SysJahr= 2000+(time.getYear()%100);
var erster_termin= SysTag+'.'+SysMonat+'.'+SysJahr;
var letzter_termin_hin= SysTag+'.'+SysMonat+'.'+SysJahr+1;
var letzter_termin_bis= SysTag+'.'+SysMonat+'.'+SysJahr+1;
var termin_hin= SysTag+'.'+SysMonat+'.'+SysJahr;
var termin_bis= SysTag+'.'+SysMonat+'.'+SysJahr;
var max_rueck=28;

Date.prototype.addMonth=function(month){
  if(typeof(month)=='undefined') month=1;
  month = parseInt(month);
  var years=Math.floor(month/12);
  this.addYear(years);
  month = month%12;
  if((this.getMonth()+month)>11){
    this.addYear();
    this.setMonth((this.getMonth()+month)%12);
  }else{
    this.setMonth(this.getMonth()+month);
  }
}

Date.prototype.addYear=function(years){
  if(typeof(years)=='undefined') years=1;
  years = parseInt(years);
  var aktYear = this.getFullYear();
  this.setYear(aktYear+years);
}

function GetTage(strDate,hin){
  var myDate = new Date(strDate.split(".")[2],Number(strDate.split(".")[1],10),1);
  myDate.setDate(0);
  var nTage = myDate.getDate();
  lts=(hin)?(letzter_termin_hin.split(".")):(letzter_termin_bis.split("."));
  if(plusNull(lts[1])==plusNull(myDate.getMonth()+1) && lts[2]==myDate.getFullYear()) nTage=Number(lts[0],10);
  return nTage;
}

function ChangeRueck(){
  var lts=letzter_termin_bis.split(".");
  var lDate = new Date(lts[2],Number(lts[1]-1,10),Number(lts[0]),10);
  var d=getValue('aTag');
  var lMon=getValue('aMonat').split(".");
  d = new Date(lMon[1],lMon[0]-1,d);
  var nTime = d.getTime()+(max_rueck*86400000);
  if(nTime>lDate.getTime()) d.setTime(lDate.getTime());
  else d.setTime(nTime);
  nMon=plusNull(parseInt(d.getMonth(),10)+1);
  nDay=plusNull(parseInt(d.getDate(),10));
  SetDatum(nDay+"."+nMon+"."+d.getFullYear(),"",2);
}

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

function UpdateTermine(inpSym,y,m,d){
  var date=new Date(y,m-1,d);
  dn=date.getTime()/1000;
  nMon=plusNull(parseInt(date.getMonth(),10)+1);
  nDay=plusNull(parseInt(date.getDate(),10));
  nJahr=date.getFullYear()
  if(inpSym=='a'){
    ts_termin=dn;
    document.aform.ABDATUM.value=nDay+"."+nMon+"."+nJahr;
  }else{
    ts_ruecktermin=dn;
    document.aform.REDATUM.value=nDay+"."+nMon+"."+nJahr;
  }
}

function SetDatum(strDate, isRueck, noMon, form){
  var myDate = new Date(strDate.split(".")[2],Number(strDate.split(".")[1],10)-1,Number(strDate.split(".")[0],10));
  nTage=GetTage(strDate,isRueck!="");
  var comDay=(isRueck)?document.aform.aTag:document.aform.rTag;
  var comMon=(isRueck)?document.aform.aMonat:document.aform.rMonat;

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

  for(i=0;i<nMax;i++){
    if(i<nTage){
      if(i>=len){
        comDay.options[i]=new Option();
      }
      comDay.options[i].text=plusNull(i+1);
      comDay.options[i].value=i+1;
    }else{
      comDay[nTage] = null;
    }
  }
  nSel=myDate.getDate();
  if(nSel>nTage) nSel = nTage;

  comDay.value = nSel;
  UpdateTermine(((isRueck!="")?'a':""),strDate.split(".")[2],strDate.split(".")[1],nSel);

  if(noMon!=1) comMon.value = plusNull(myDate.getMonth()+1)+"."+myDate.getFullYear();
  if(noMon!=2 && isRueck!="") ChangeRueck();
}

function UpdateDate(inpSym){
  nTag=getValue(inpSym+"Tag");
  strMon=getValue(inpSym+"Monat");
  SetDatum(nTag+"."+strMon,(inpSym=="r")?"":"dummy",2);
}

function SetDay(inpSym){
  nTag=getValue(inpSym+"Tag");
  cMon=eval("document.aform."+inpSym+"Monat");
  strMon=getValue(inpSym+"Monat");
  ets=erster_termin.split(".");

  if(ets[1]+"."+ets[2]==strMon && nTag < Number(ets[0],10)){
    cMon.selectedIndex=1;
    strMon=getValue(inpSym+"Monat");
    SetDatum(nTag+"."+strMon,(inpSym=="r")?"":"dummy",1);
    nTag=getValue(inpSym+"Tag");
  }
  if(inpSym=='a') ChangeRueck();
  UpdateTermine(inpSym,strMon.split(".")[1],strMon.split(".")[0],nTag);
}

function SetMonth(inpSym){
  nTag=getValue(inpSym+"Tag");
  strMonat=getValue(inpSym+"Monat");
  ets=erster_termin.split(".");
  if(ets[1]+"."+ets[2]==strMonat && nTag<Number(ets[0],10)){
    nTag=ets[0];
  }
  strDate=nTag+"."+strMonat;
  SetDatum(strDate,(inpSym=="r")?"":"dummy",1);
}

function InitDays(hin){
  nTage=GetTage((hin)?termin_hin:termin_bis,hin);
  SelTag=(hin)?termin_hin.split(".")[0]:termin_bis.split(".")[0];
  for(i=1;i<=nTage;i++){
    sel=(i==SelTag)?" Selected":"";
    document.write("<option value="+i+sel+">"+(i>9?i:'0'+i)+"</option>\n");
  }
}

function InitMonth(hin){
  var m    = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember","");
  var ets  = erster_termin.split(".");
  var lts  = (hin)?(letzter_termin_hin.split(".")):(letzter_termin_bis.split("."));
  var sels = (hin)?(termin_hin.split(".")):(termin_bis.split("."));
  var strRes  = "";
  var aktDate = new Date(ets[2],Number(ets[1],10)-1,1);
  var selDate = new Date(sels[2],Number(sels[1],10)-1,1);
  var maxDate = new Date(lts[2],Number(lts[1],10)-1,1);
  var selSet  = false;
  while(aktDate.getTime()<=maxDate.getTime()){
    sel = aktDate.getTime()==selDate.getTime()?" selected":"";
    if(!selSet && sel!="") selSet = true;
    if(!selSet && !hin && aktDate.getTime()>=maxDate.getTime()){
      sel = "selected";selSet = true;
    }
    var val = (aktDate.getMonth()+1)<10?"0"+(aktDate.getMonth()+1):(aktDate.getMonth()+1);
    strRes += '<option value="'+val+'.'+aktDate.getFullYear()+'"'+sel+'>'+m[aktDate.getMonth()]+' ('+String(aktDate.getFullYear())+')</option>';
    aktDate.addMonth();
  }
  document.write(strRes);
}

function plusNull(val){
  val = Number(val,10);
  return val<10?"0"+val:val;
}



// --- Kalender --- //
ns = (document.layers)? true:false;
dom= (document.getElementById)? true:false;
ie = (document.all)? true:false;
if(ie) dom=false;
if(!ie) ie = (document.getElementById)? true:false;
fieldid='DEP'
isPopWin = true

Monatsname = new Array("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var todayDate=new Date();
var consDate=new Date();
var makeDate=new Date();
var inputDate=new Date();
var jscode;
var tr=0;
var plustage=0;
var TerminBox= '';
var Ferien= new Array();
var fe=0;
var MouseOverCo ="#EEEEEE"
var MouseOutCo  ="#ffffff"
var FeldID=0;

Ferien[fe]="Baden-Württemberg|Osterferien|21.04.2011|30.04.2011";fe++;
Ferien[fe]="Baden-Württemberg|Pfingstferien|14.06.2011|25.06.2011";fe++;
Ferien[fe]="Baden-Württemberg|Sommerferien|28.07.2011|10.09.2011";fe++;
Ferien[fe]="Baden-Württemberg|Herbstferien|31.10.2011|04.11.2011";fe++;
Ferien[fe]="Baden-Württemberg|Weihnachten/Silvester|23.12.2011|05.01.2012";fe++;
Ferien[fe]="Bayern|Winterferien|07.03.2011|11.03.2011";fe++;
Ferien[fe]="Bayern|Osterferien|18.04.2011|30.04.2011";fe++;
Ferien[fe]="Bayern|Pfingstferien|14.06.2011|25.06.2011";fe++;
Ferien[fe]="Bayern|Sommerferien|30.07.2011|12.09.2011";fe++;
Ferien[fe]="Bayern|Herbstferien|31.10.2011|05.11.2011";fe++;
Ferien[fe]="Bayern|Weihnachten/Silvester|27.12.2011|05.01.2012";fe++;
Ferien[fe]="Berlin|Winterferien|31.01.2011|05.02.2011";fe++;
Ferien[fe]="Berlin|Osterferien|18.04.2011|30.04.2011";fe++;
Ferien[fe]="Berlin|Pfingstferien|03.06.2011|04.06.2011";fe++;
Ferien[fe]="Berlin|Sommerferien|29.06.2011|12.08.2011";fe++;
Ferien[fe]="Berlin|Herbstferien|04.10.2011|14.10.2011";fe++;
Ferien[fe]="Berlin|Weihnachten/Silvester|23.12.2011|03.01.2012";fe++;
Ferien[fe]="Brandenburg|Winterferien|31.01.2011|05.02.2011";fe++;
Ferien[fe]="Brandenburg|Osterferien|20.04.2011|30.04.2011";fe++;
Ferien[fe]="Brandenburg|Pfingstferien|03.06.2011|04.06.2011";fe++;
Ferien[fe]="Brandenburg|Sommerferien|30.06.2011|13.08.2011";fe++;
Ferien[fe]="Brandenburg|Herbstferien|04.10.2011|14.10.2011";fe++;
Ferien[fe]="Brandenburg|Weihnachten/Silvester|23.12.2011|03.01.2012";fe++;
Ferien[fe]="Bremen|Winterferien|31.01.2011|01.02.2011";fe++;
Ferien[fe]="Bremen|Osterferien|16.04.2011|30.04.2011";fe++;
Ferien[fe]="Bremen|Pfingstferien|03.06.2011|04.06.2011";fe++;
Ferien[fe]="Bremen|Sommerferien|07.07.2011|17.08.2011";fe++;
Ferien[fe]="Bremen|Herbstferien|17.10.2011|29.10.2011";fe++;
Ferien[fe]="Bremen|Weihnachten/Silvester|23.12.2011|04.01.2012";fe++;
Ferien[fe]="Hamburg|Winterferien|31.01.2011|31.01.2011";fe++;
Ferien[fe]="Hamburg|Osterferien|07.03.2011|18.03.2011";fe++;
Ferien[fe]="Hamburg|Pfingstferien|26.04.2011|29.04.2011";fe++;
Ferien[fe]="Hamburg|Sommerferien|30.06.2011|10.08.2011";fe++;
Ferien[fe]="Hamburg|Herbstferien|04.10.2011|14.10.2011";fe++;
Ferien[fe]="Hamburg|Weihnachten/Silvester|27.12.2011|06.01.2012";fe++;
Ferien[fe]="Hessen|Osterferien|18.04.2011|30.04.2011";fe++;
Ferien[fe]="Hessen|Sommerferien|27.06.2011|05.08.2011";fe++;
Ferien[fe]="Hessen|Herbstferien|10.10.2011|22.10.2011";fe++;
Ferien[fe]="Hessen|Weihnachten/Silvester|21.12.2011|06.01.2012";fe++;
Ferien[fe]="Mecklenburg-Vorpommern|Winterferien|07.02.2011|19.02.2011";fe++;
Ferien[fe]="Mecklenburg-Vorpommern|Osterferien|16.04.2011|27.04.2011";fe++;
Ferien[fe]="Mecklenburg-Vorpommern|Pfingstferien|10.06.2011|14.06.2011";fe++;
Ferien[fe]="Mecklenburg-Vorpommern|Sommerferien|04.07.2011|13.08.2011";fe++;
Ferien[fe]="Mecklenburg-Vorpommern|Herbstferien|17.10.2011|21.10.2011";fe++;
Ferien[fe]="Mecklenburg-Vorpommern|Weihnachten/Silvester|22.12.2011|03.01.2012";fe++;
Ferien[fe]="Niedersachsen|Winterferien|31.01.2011|01.02.2011";fe++;
Ferien[fe]="Niedersachsen|Osterferien|16.04.2011|30.04.2011";fe++;
Ferien[fe]="Niedersachsen|Pfingstferien|03.06.2011|04.06.2011";fe++;
Ferien[fe]="Niedersachsen|Sommerferien|07.07.2011|17.08.2011";fe++;
Ferien[fe]="Niedersachsen|Herbstferien|17.10.2011|29.10.2011";fe++;
Ferien[fe]="Niedersachsen|Weihnachten/Silvester|23.12.2011|04.01.2012";fe++;
Ferien[fe]="Nordrhein-Westfalen|Osterferien|18.04.2011|30.04.2011";fe++;
Ferien[fe]="Nordrhein-Westfalen|Sommerferien|25.07.2011|06.09.2011";fe++;
Ferien[fe]="Nordrhein-Westfalen|Herbstferien|24.10.2011|05.11.2011";fe++;
Ferien[fe]="Nordrhein-Westfalen|Weihnachten/Silvester|23.12.2011|06.01.2012";fe++;
Ferien[fe]="Rheinland-Pfalz|Osterferien|18.04.2011|29.04.2011";fe++;
Ferien[fe]="Rheinland-Pfalz|Sommerferien|27.06.2011|05.08.2011";fe++;
Ferien[fe]="Rheinland-Pfalz|Herbstferien|04.10.2011|14.10.2011";fe++;
Ferien[fe]="Rheinland-Pfalz|Weihnachten/Silvester|22.12.2011|06.01.2012";fe++;
Ferien[fe]="Saarland|Winterferien|07.03.2011|12.03.2011";fe++;
Ferien[fe]="Saarland|Osterferien|18.04.2011|30.04.2011";fe++;
Ferien[fe]="Saarland|Sommerferien|24.06.2011|06.08.2011";fe++;
Ferien[fe]="Saarland|Herbstferien|04.10.2011|15.10.2011";fe++;
Ferien[fe]="Saarland|Weihnachten/Silvester|23.12.2011|04.01.2012";fe++;
Ferien[fe]="Sachsen|Osterferien|22.04.2011|30.04.2011";fe++;
Ferien[fe]="Sachsen|Pfingstferien|03.06.2011|04.06.2011";fe++;
Ferien[fe]="Sachsen|Sommerferien|11.07.2011|19.08.2011";fe++;
Ferien[fe]="Sachsen|Herbstferien|17.10.2011|28.10.2011";fe++;
Ferien[fe]="Sachsen|Weihnachten/Silvester|23.12.2011|02.01.2012";fe++;
Ferien[fe]="Sachsen-Anhalt|Winterferien|05.02.2011|12.02.2011";fe++;
Ferien[fe]="Sachsen-Anhalt|Osterferien|18.04.2011|27.04.2011";fe++;
Ferien[fe]="Sachsen-Anhalt|Pfingstferien|14.06.2011|18.06.2011";fe++;
Ferien[fe]="Sachsen-Anhalt|Sommerferien|11.07.2011|24.08.2011";fe++;
Ferien[fe]="Sachsen-Anhalt|Herbstferien|17.10.2011|22.10.2011";fe++;
Ferien[fe]="Sachsen-Anhalt|Weihnachten/Silvester|22.12.2011|07.01.2012";fe++;
Ferien[fe]="Schleswig-Holstein|Osterferien|15.04.2011|30.04.2011";fe++;
Ferien[fe]="Schleswig-Holstein|Pfingstferien|03.06.2011|04.06.2011";fe++;
Ferien[fe]="Schleswig-Holstein|Sommerferien|04.07.2011|13.08.2011";fe++;
Ferien[fe]="Schleswig-Holstein|Herbstferien|17.10.2011|22.10.2011";fe++;
Ferien[fe]="Schleswig-Holstein|Weihnachten/Silvester|23.12.2011|06.01.2012";fe++;
Ferien[fe]="Thüringen|Winterferien|31.01.2011|05.02.2011";fe++;
Ferien[fe]="Thüringen|Osterferien|18.04.2011|30.04.2011";fe++;
Ferien[fe]="Thüringen|Pfingstferien|11.06.2011|14.06.2011";fe++;
Ferien[fe]="Thüringen|Sommerferien|11.07.2011|19.08.2011";fe++;
Ferien[fe]="Thüringen|Weihnachten/Silvester|23.12.2011|01.01.2012";fe++;

var Feiertag= new Array('01.06.2009','03.10.2009','25.12.2009','26.12.2009','01.01.2010');
var FreeDay= new Array();
loadFreeDay();

function mO(thisObj) {
 thisObj.bgColor= MouseOverCo;
}

function mA(thisObj) {
 thisObj.bgColor= MouseOutCo;
}

function loadFreeDay(){
 for(i=0;i<Feiertag.length;i++){
 xFei = Feiertag[i].split(".");
 FreeDay[i]= new Date( xFei[2], xFei[1]-1, xFei[0]);
 }
}

function isFreeDay(p){
 for(i=0;i<FreeDay.length;i++){
  if(ns||dom) yy= p.getYear()+1900, YY= FreeDay[i].getYear()+1900;
  else yy= (2000+(p.getYear()%100)), YY= (2000+(FreeDay[i].getYear()%100))
  if(p.getDate()==FreeDay[i].getDate() && p.getMonth()==FreeDay[i].getMonth() && yy==YY) return(true);
 }
return(false)
}


function GoBestDate(d,richtung){
 xFei = d.split(".");
 inputDate= new Date(xFei[2], xFei[1]-1, xFei[0]);
 inputDate.setYear(inputDate.getYear()+((ns||dom) ? 1900:0));

 for(i=0;i<7;i++){
  if(richtung=='ab'){
    if(inputDate.getDay()==6){
	ffmd= ((inputDate.getDate() >9) ? inputDate.getDate(): "0"+inputDate.getDate());
	ffmm= ((1+inputDate.getMonth() >9) ? "":"0")+(1+inputDate.getMonth())
	ffmy= ((ns||dom)? inputDate.getYear()+1900:(2000+(inputDate.getYear()%100)));
	return( ffmd+'.'+ffmm+'.'+ffmy )
    }
    inputDate.setDate(inputDate.getDate()-1);
  }else{
    if(inputDate.getDay()==0){
	ffmd= ((inputDate.getDate() >9) ? inputDate.getDate(): "0"+inputDate.getDate());
	ffmm= ((1+inputDate.getMonth() >9) ? "":"0")+(1+inputDate.getMonth())
	ffmy= ((ns||dom)? inputDate.getYear()+1900:(2000+(inputDate.getYear()%100)));
	return( ffmd+'.'+ffmm+'.'+ffmy )
    }
    inputDate.setDate(inputDate.getDate()+1);
  }
 }
}


function stell(n){
 for(i=0;i< Ferien.length;i++){
   if(n==i){
	arr= Ferien[i].split('|');
	arrAB=GoBestDate(arr[2],'ab');
	arrRE=GoBestDate(arr[3],'re');

	if(FeldID >2){
	   document.Filter.ABDATUM.value=arrAB;
	   document.Filter.REDATUM.value=arrRE;
	   break
	}else{
	   SetDatum(arrAB,'a',2);
	   SetDatum(arrRE,'' ,2);
	   break
	}
   }
 }
oKalender(0);
return false;
}


function MakeTermine(){
 out='<option value="">F E R I E N T E R M I N E</option>';
 last='';
 for(i=0;i< Ferien.length;i++){
	arr= Ferien[i].split('|')
	if(arr[0] != last){
	 if(last != '') out+='</optgroup>';
	 out+='<optgroup label="'+arr[0]+'">';
	 last= arr[0];
	}
	out+='<option value='+i+'>'+arr[1]+'</option>';
 }
 out+='</optgroup>';
 return(out);
}


function DatumForm(days){
 time = new Date
 time.setTime( time.getTime()+days*86400000)
 dd= ((time.getDate() >9) ? "":"0")+time.getDate()
 mm= ((1+time.getMonth() >9) ? "":"0")+(1+time.getMonth())
 return( dd+'.'+mm+'.'+(2000+(time.getYear()%100)) )
}


function DatumFormat(ffma,n){
 if(ffma.indexOf(',') >0) ffma=ffma.replace(/,/g, ".");
 if(ffma.indexOf('-') >0) ffma=ffma.replace(/-/g, ".");
 ffch = DatumForm(n).replace(/./g, "");
 ffmd = Number( ffma.substring(0, ffma.indexOf('.')), 10);
 if(isNaN(ffmd)) ffmd= ffch.substr(0,2);
 ffmd = (ffmd >9 ? '' : '0')+ffmd;
 ffmm = Number( ffma.substring(ffma.indexOf('.')+1, ffma.lastIndexOf('.')), 10);
 if(isNaN(ffmm)) ffmm= ffch.substr(2,2);
 ffmm = (ffmm >9 ? '' : '0')+ffmm;
 ffmy = Number( ffma.substring(ffma.lastIndexOf('.')+1, ffma.length), 10);
 if(isNaN(ffmy)) ffmy= ffch.substr(4,4);
 if(ffmy < 2000) ffmy= ffmy+2000
 if(ffma=='') ffma= ffch;
 else ffma= ffmd+ffmm+ffmy;
 return(ffma)
}


function setTerminDiff(abDat,reDat){
  g= DatumFormat(abDat,1);
  r= DatumFormat(reDat,29);
  start = new Date(g.substr(4,4),g.substr(2,2)-1,g.substr(0,2));
  rueck = new Date(r.substr(4,4),r.substr(2,2)-1,r.substr(0,2));
  Days  = Math.round((rueck-start)/86400000) 
  if(Days >0 && Days <=300) plustage=Days;
  else plustage=0;
 return(plustage);
}


function KalenderView(n){
	FeldID=n;
	TerminBox= '<select style="width:161px" onchange="stell(this.value)">'+MakeTermine()+'</select>';
	if(isPopWin){
         if(FeldID==1) ffma = document.aform.ABDATUM.value;
	 if(FeldID==2) ffma = document.aform.REDATUM.value;
	 if(FeldID==3) ffma = document.Filter.ABDATUM.value;
	 if(FeldID==4) ffma = document.Filter.REDATUM.value;
	 if(ffma=="") ffma = DatumForm(1)
	 if(FeldID==1) plustage= setTerminDiff(ffma, document.aform.REDATUM.value);
	 if(FeldID==3) plustage= setTerminDiff(ffma, document.Filter.REDATUM.value);

	}else{
	 ffma = DatumForm(1)
	} 
        ffmd = ffma.substring(0, ffma.indexOf('.'));
        ffmm = ffma.substring(ffma.indexOf('.')+1, ffma.lastIndexOf('.'));
        ffmy = ffma.substring(ffma.lastIndexOf('.')+1, ffma.length);
        if(ffmy.length<2){ffmy = 200 + ffmy;}
        if(ffmy.length<3){ffmy = 20 + ffmy;}
        if(ffmy.length<4){ffmy = 20 + ffmy.substring(1,3);}

        if (fieldid=='DEP'){
                if (isNaN(ffmd)||isNaN(ffmm)||isNaN(ffmy)||(ffmd<1)||(ffmd>31)||(ffmm<1)||(ffmm>12)||(ffmy<1)||(ffmy>2099)){
                        calculate();
                        }
                else{
                        ffmm = ffmm-1;
			if (ns||dom) {ffmy=ffmy-1900;}
			if (todayDate.getYear()<ffmy){
				if (ns||dom) {ffmy=ffmy+1900;}
				todayDate.setYear(ffmy);
				todayDate.setMonth(ffmm);
                                }
                        else{
                                if (todayDate.getMonth()<ffmm){
                                        todayDate.setMonth(ffmm);
                                        }
                                }
			if(todayDate < consDate) todayDate= new Date();
			inputDate= new Date(ffmy,ffmm,ffmd);
                        calculate();
                        }
                }

}


function output(date){
var out="";
	day = ((date >9) ? date: "0" + date);
	month = ((1+todayDate.getMonth() >9) ? "":"0")+(1+todayDate.getMonth())
	if (ns||dom){
	 year = todayDate.getYear()+1900
	}else{
	 year = (2000+(todayDate.getYear()%100))
	}

	if(FeldID==1) {
	  SetDatum(day+'.'+month+'.'+year,'a', 2);
	  time = new Date( todayDate.getYear(), todayDate.getMonth(), date);
	  time.setTime( time.getTime()+plustage*86400000)
	  dd= ((time.getDate() >9) ? "":"0")+time.getDate()
	  mm= ((1+time.getMonth() >9) ? "":"0")+(1+time.getMonth())
	  yy= ((ns||dom) ? (time.getYear()+1900):time.getYear() )
	  SetDatum(dd+'.'+mm+'.'+(2000+(yy%100)),'',2);
	}
	if(FeldID==2) SetDatum(day+'.'+month+'.'+year,'',2);

	if(FeldID==3) {
	  document.Filter.ABDATUM.value= day+'.'+month+'.'+year;
	  time = new Date( todayDate.getYear(), todayDate.getMonth(), date);
	  time.setTime( time.getTime()+plustage*86400000)
	  dd= ((time.getDate() >9) ? "":"0")+time.getDate()
	  mm= ((1+time.getMonth() >9) ? "":"0")+(1+time.getMonth())
	  yy= ((ns||dom) ? (time.getYear()+1900):time.getYear() )
	  document.Filter.REDATUM.value= dd+'.'+mm+'.'+(2000+(yy%100))
	}

	if(FeldID==4) document.Filter.REDATUM.value= day+'.'+month+'.'+year;

	oKalender(0)
}


function previous(){
 todayDate.setMonth(todayDate.getMonth()-1);
 calculate();
}


function next(){
 todayDate.setMonth(todayDate.getMonth()+1);
 calculate();
}


function calculate(){
 var maxDatum= new Date(letzter_termin_bis.split(".")[2], Number(letzter_termin_bis.split(".")[1])-1, Number(letzter_termin_bis.split(".")[0]));
 if (ns||dom) {
  makeDate.setYear(todayDate.getYear()+1900);
  }else{
  makeDate.setYear(todayDate.getYear());
 }
 makeDate.setMonth(todayDate.getMonth());
 makeDate.setDate(1);
 jscode='';
 tr=0;
 todayDay=makeDate.getDay();
 var startDay=todayDay;
 if(startDay==0) startDay=7;
 var column=0;
 jscode+= '<table border="0" cellpadding="0" cellspacing="0" width="160" height="180" id=CalcBG>'
 +'<tr><td valign=top align=center style="padding:1px">'

 jscode+= '<table border=0 cellpadding=0 cellspacing=0 width=161 height=23><tr><td width=16 height=23>';
 if (todayDate.getMonth()!=consDate.getMonth() || todayDate.getYear()!=consDate.getYear()) jscode += '<a href="JavaScript:previous();"><img src="/lmhotel/pfeil_zurueck.gif" border=0 width=16 height=16 alt="zur&uuml;ck"></a>';
 else jscode += '&nbsp;';
 jscode+= '</td><td width=110 id=Monat>'+Monatsname[todayDate.getMonth()]+',&nbsp;'+((ns||dom)? todayDate.getYear()+1900: (2000+(todayDate.getYear()%100)))+'</td>';
 jscode+= '<td width=16 height=23>';
 if(makeDate.getTime() < maxDatum.getTime()) jscode+='<a href="JavaScript:next();"><img src="/lmhotel/pfeil_weiter.gif" border=0 width=16 height=16 alt="weiter"></a>';
 else jscode += '&nbsp;';
 jscode+= '</td><td width=19 valign=top align=right><a href="JavaScript:oKalender(0);"><img src="/oss/img/x.gif" border=0></a></td></tr></table>'


 jscode+='<table border="0" cellpadding="0" cellspacing="0" width="161" height="23" bgcolor=#FDD0E4>'
 +'<tr><th class=XT id=Tag>Mo</th><th class=XT id=Tag>Di</th><th class=XT id=Tag>Mi</th><th class=XT id=Tag>Do</th><th class=XT id=Tag>Fr</th><th class=XT id=Tag>Sa</th><th class=XT id=Tag>So</th></tr></table>'
 +'</td></tr><tr><td valign=middle align=center>'
 +'<table border=0 cellpadding=0 cellspacing=0 width=161 bgcolor="#ffffff">'
 +'<tr onmouseover="mO(this);" onmouseout="mA(this);">';

 for(i=1;i<startDay;i++){
	jscode += '<td class=XT>&nbsp;</td>';
	column ++;
 }
 var nextDay=true;

 while (nextDay){
        jscode += '<td class=XT align=center>';

  if (makeDate.getDate()>todayDate.getDate() || todayDate.getMonth()!=consDate.getMonth() || todayDate.getYear()!=consDate.getYear()){
        jscode += '<b><a href="JavaScript:output('+makeDate.getDate()+');" class=stCalc>';
	if (column==6) jscode += '<font id=Weekend>';
	if(makeDate.getDate()==inputDate.getDate() && makeDate.getMonth()==inputDate.getMonth() && makeDate.getYear()==inputDate.getYear()+((ns||dom) ? 1900:0) ) jscode += '<font ID=Heute>';

	if( isFreeDay(makeDate) ) jscode += '<font id=Feier>';

	jscode += '&nbsp;'+makeDate.getDate()+'&nbsp;';
	if (column==6) jscode += '</font>';
	jscode += '</b></a>';
  }else{
	if (column==6) jscode += '<font id=Weekend>';
	else jscode += '<font class=stCalc>';
	jscode += makeDate.getDate();
	if (column==6) jscode += '</font>'
  }
  jscode += '</td>';
  column++;

  if (column == 7){
	jscode += '</tr><tr onmouseover="mO(this);" onmouseout="mA(this);">';
	column=0;
	tr++;
  }
  spr=makeDate.getMonth();
  makeDate.setDate(makeDate.getDate()+1);
  if (spr!=makeDate.getMonth()) nextDay=false;
 }

 while (column<7){
	jscode += '<td class=XT>&nbsp;</td>';
	column ++;
 }

 if (tr != 5){
	jscode += '<tr onmouseover="mO(this);" onmouseout="mA(this);">';
	for (i=0; i<7; i++) jscode += '<td class=XT>&nbsp;</td>'
	jscode += '</tr>';
 }

 jscode+= '</table></td></tr><tr><td valign=top align=center style="padding:1px">'+TerminBox+'</td></tr></table>';

 if (ns) {
	var out = document.layercal.document;
	out.open();
	out.write(jscode);
	out.close();
	document.layercal.left=0;
	document.layercal.top=0;
 }

 if (ie) {
	document.getElementById("layercal").innerHTML = jscode;
        document.getElementById("layercal").left=0;
        document.getElementById("layercal").top=0;
 }
}

var Taskrun
function progress_work() {
  if(document.getElementById('progress')){
   document.getElementById('progress').style.visibility = 'visible';
   if(Taskrun==null) AniRun();
  }
return(true);
}


function AniRun(){
  if(wcu >=150){
	document.getElementById('progress').style.visibility = 'hidden';
	wcu=0;
	clearTimeout(Taskrun);
	return(false);
  }else{
	wcu+=6;
	document.images['img_rest'].width = 150-wcu+1;
	document.images['img_weit'].width = wcu;
	Taskrun=setTimeout("AniRun()",1000)
  }
}


function oKalender(n){
 var Kalender = document.getElementById('layercal');
 var IfrRef = document.getElementById('ifcal');

 if(n==0 || Kalender.style.visibility=="visible"){
	Kalender.style.visibility='hidden';
	IfrRef.style.display = "none";
 }else{
	Kalender.style.visibility='visible';
	Kalender.style.zIndex = 2000;
	Kalender.style.width = 165;
	Kalender.style.height = 193;
	Kalender.style.top = mousey;
	Kalender.style.left = mousex+10;
	KalenderView(n);

	IfrRef.style.zIndex = 1999;
	IfrRef.style.width = Kalender.style.width;
	IfrRef.style.height = Kalender.style.height;
	IfrRef.style.top = mousey;
	IfrRef.style.left = mousex+10;
	IfrRef.style.display = "block";
 }
}


