//AvailabilitySetup.js
//Copyright 2006 March 4th Software, All Rights Reserved
var todaydate=new Date();
var curday=todaydate.getDate();
var curmonth=todaydate.getMonth()+1; 
var curyear=todaydate.getFullYear();
var thisday=new Date(curyear,curmonth-1,curday);
var amn=new Array(12);
var ayr=new Array(12);
for (y=0;y<12;y++) {
amn[y]=((curmonth+y<=12) ? curmonth+y : curmonth+y-12);
ayr[y]=curyear+(amn[y]>=curmonth ? 0 : 1)
}
var afil=new Array(400);
for (y=0;y<400;y++) afil[y]=0;

function buildCal(m, y, lang){

var mn=['January','February','March','April','May','June','July','August','September','October','November','December','Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];

var mname = mn[m-1];
if (lang == 'Deutsch') mname = mn[m+11];

var dim=[31,0,31,30,31,30,31,31,30,31,30,31];

var oD = new Date(y, m-1, 1); 
oD.od=oD.getDay()+1; 

var todaydate=new Date() //DD added
var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD added
var tdclass='out';

dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
var t='<div class="calendarmain"><table class="calendarmain" cols="7" cellpadding="0" border="1" cellspacing="0"><tr align="center">';
t+='<td colspan="7" align="center" class="calendarmonth">'+mname+' '+y+'</td></tr><tr align="center">';
for(s=0;s<7;s++)t+='<td class="calendardaysofweek">'+"SMTWTFS".substr(s,1)+'</td>';
t+='</tr><tr align="center">';
for(i=1;i<=42;i++){
var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
if(!isNaN(x)) {
var xdate=new Date(y,m-1,x);
var xtime=Math.round((xdate-thisday)/86400000);
if(xtime<0)tdclass='calendarempty';
else if(afil[xtime]==0)tdclass='calendarempty';
else if(afil[xtime]==2)tdclass='calendarfull';
else tdclass='calendarpart';
}
else tdclass='calendarout';
if (x==scanfortoday) //DD added
x='<span id="calendartoday">'+x+'</span>'; //DD added
t+='<td class="'+tdclass+'">'+x+'</td>';
if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}
return t+='</tr></table></div>';
}

function setFull(fd,fm,fy,td,tm,ty) {
var fromdate=new Date(fy,fm-1,fd);
var todate=new Date(ty,tm-1,td);
if (fromdate>todate) {
var tmpdate=fromdate;
fromdate=todate;
todate=tmpdate;
}
if(todate<thisday)return;
if(fromdate<thisday)fromdate=thisday;
var ftime=Math.round((fromdate-thisday)/86400000);
var ttime=Math.round((todate-thisday)/86400000);
if(ttime-ftime>30)alert('Invalid timespan');
if(ftime>399)return;
if(ttime>399)ttime=399;
for(i=ftime;i<=ttime;i++) {
if(((i==ftime)||(i==ttime))&&afil[i]==0)afil[i]=1;
else afil[i]=2;
}
}

function setFix() {
for (i=2;i<400;i++) {
if ((afil[i-1]==1)&&(afil[i]==1)) { 
afil[i-1]=2; 
afil[i]=2;
}
}
}