function daysPerMonth( month, year ) {
days = 31;
if (( month == 4 )||( month == 6 )||( month == 9 )||( month == 11 )) {
days = 30;
} else if ( month == 2 ) {
if (((( year % 100 ) == 0 ) && (( year % 400 ) == 0 )) || ((( year % 100 )!=0 ) && (( year % 4 ) == 0 ))) {
days = 29;
} else {
days = 28;
}
}
return days;
}

function monthBack(month, year, field_name, form_name) {
if ( month == 0 ) {
opencalendar(form_name,field_name,12,(year-1));
} else {
opencalendar(form_name,field_name,(month),year);
}
}

function monthForward(month, year, field_name, form_name) {
if ( month == 11 ) {
opencalendar(form_name,field_name,1,(year+1));
} else {
opencalendar(form_name,field_name,(month+2),year);
}
}

function yearBack( month, year, field_name, form_name) {
opencalendar(form_name,field_name,1,(year-1));
}

function yearForward( month, year, field_name, form_name) {
opencalendar(form_name,field_name,1,(year+1));
}

function getYear( year ) {
retval = new String( year );
retval = retval.slice( 2, 4 );
return retval;
}

function getMonth( month ) {
month++;
retval = new String( month );
if ( retval < 10 ) {
retval = "0" + retval;
}
return retval;
}

function getDay( day ) {
retval = new String( day );
if ( retval < 10 ) {
retval = "0" + retval;
}
return retval;
}

function createDaysTable(form_name,field_name,strMonth,strYear) {

var arrival=document.forms.hiddenform.arrival.value;
var departure=document.forms.hiddenform.departure.value;

var arrDay=arrival.substr(0, 2);
var arrMonth=arrival.substr(3, 2)-1;
var arrYear=arrival.substr(6, 4);
var depDay=departure.substr(0, 2);
var depMonth=departure.substr(3, 2)-1;
var depYear=departure.substr(6, 4);

monthsNames = Array( "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" );

var dateObject= new Date();
var thisMonth= dateObject.getMonth();
var thisYear= dateObject.getFullYear();
var curMonth= dateObject.getMonth();
var curDay= dateObject.getDate();
var curYear= dateObject.getFullYear();

if (( strMonth > 0 ) || ( strYear > 0 )) {
curMonth= strMonth;
curYear= strYear;
}

var today= new Date( curYear, curMonth, 1 );
var today= today.getDay();

var daysTable = "";
daysTable = daysTable + "<table cellpadding=0 cellspacing=0>\r\n";
daysTable = daysTable + "<tr>\r\n";
daysTable = daysTable + "<td align=center>\r\n";
daysTable = daysTable + "<table width=100% cellpadding=0 cellspacing=0 border=0 class=calendarcolor>\r\n";
daysTable = daysTable + "<tr>\r\n";

daysTable = daysTable + "<td align=left><font size=1><a href='javascript:monthBack(" + curMonth + "," + curYear + ",\""+field_name+"\",\""+form_name+"\" )'><img src='graphics/prev.gif' border=0></a>\r\n";

daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "<td align=center><font size=1><span class=TextLabel><b>" + monthsNames[ curMonth + 1 ] + "</b>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "<td align=right><font size=1><a href='javascript:monthForward(" + curMonth + "," + curYear + ",\""+field_name+"\",\""+form_name+"\")'><img src='graphics/next.gif' border=0></a>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "</tr>\r\n";
daysTable = daysTable + "</table>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "</tr>\r\n";
daysTable = daysTable + "<tr>\r\n";
daysTable = daysTable + "<td align=center>\r\n";
daysTable = daysTable + "<table width=100% cellpadding=2 cellspacing=1 border=0 bgcolor=#C0C0C0>\r\n";
daysTable = daysTable + "<tr>\r\n";
daysTable = daysTable + "<td align=right><span class=DaysLabel>S&nbsp;</td>\r\n";
daysTable = daysTable + "<td align=right><span class=DaysLabel>M&nbsp;</td>\r\n";
daysTable = daysTable + "<td align=right><span class=DaysLabel>T&nbsp;</td>\r\n";
daysTable = daysTable + "<td align=right><span class=DaysLabel>W&nbsp;</td>\r\n";
daysTable = daysTable + "<td align=right><span class=DaysLabel>T&nbsp;</td>\r\n";
daysTable = daysTable + "<td align=right><span class=DaysLabel>F&nbsp;</td>\r\n";
daysTable = daysTable + "<td align=right><span class=DaysLabel>S&nbsp;</td>\r\n";
daysTable = daysTable + "</tr>\r\n";
daysTable = daysTable + "<tr>\r\n";

var dayCounter= 1;

for ( x=0; x<today; x++ ) {
daysTable = daysTable + "<td></td>\r\n";
}

for ( x=today; x<7; x++ ) {
var whatStyle = "";
var strDate = getDay( dayCounter ) + "/" + getMonth( curMonth ) + "/20" + getYear( curYear );

if (( thisYear > curYear ) || (( thisYear == curYear ) &&( curMonth < thisMonth )) || (( thisYear == curYear ) &&( curMonth == thisMonth )&&( dayCounter < curDay )) ) {
daysTable = daysTable + "<td align='center' class='noclick'>" + dayCounter + "</td>\r\n";
}
//else if ((( depYear > curYear ) || (( depYear == curYear ) &&( curMonth < depMonth )) || (( depYear == curYear ) &&( curMonth == depMonth )&&( dayCounter <= depDay ))) && (( arrYear < curYear ) || (( arrYear == curYear ) &&( curMonth > arrMonth )) || (( arrYear == curYear ) &&( curMonth == arrMonth )&&( dayCounter >= arrDay )))) {
//daysTable = daysTable + "<td align='center' class='dateselect' onclick='javascript:updatedate(\""+field_name+"\",\""+strDate+"\")' onmouseover=this.className='hoverdateselect' onmouseout=this.className='dateselect'>" + dayCounter + "</td>\r\n";
//}
else if ((( depYear == curYear ) &&( curMonth == depMonth )&&( dayCounter == depDay )) ||  (( arrYear == curYear ) && ( curMonth == arrMonth) && (dayCounter == arrDay ))) {
daysTable = daysTable + "<td align='center' class='dateselect' onclick='javascript:updatedate(\""+form_name+"\",\""+field_name+"\",\""+strDate+"\")' onmouseover=this.className='hoverdateselect' onmouseout=this.className='dateselect'>" + dayCounter + "</td>\r\n";
}
else{
daysTable = daysTable + "<td align='center' class='clickdate' onclick='javascript:updatedate(\""+form_name+"\",\""+field_name+"\",\""+strDate+"\")' onmouseover=this.className='hoverdate' onmouseout=this.className='clickdate'>" + dayCounter + "</td>\r\n";
}
dayCounter = dayCounter + 1;
}

for ( y=1; y<6; y++ ) {
daysTable = daysTable + "</tr>\r\n";
daysTable = daysTable + "<tr>\r\n";

for ( z=0; z<7; z++ ) {
var selected = "";
var strDate = getDay( dayCounter ) + "/" + getMonth( curMonth ) + "/20" + getYear( curYear );

if ( dayCounter >= daysPerMonth( curMonth + 1, curYear )) {
var z=7;
var y=5;
}

if (( thisYear > curYear ) || (( thisYear == curYear ) &&( curMonth < thisMonth )) || (( thisYear == curYear ) &&( curMonth == thisMonth )&&( dayCounter < curDay )) ) {
daysTable = daysTable + "<td align='center' class='noclick'>" + dayCounter + "</td>\r\n";
}
//else if ((( depYear > curYear ) || (( depYear == curYear ) &&( curMonth < depMonth )) || (( depYear == curYear ) &&( curMonth == depMonth )&&( dayCounter <= depDay ))) && (( arrYear < curYear ) || (( arrYear == curYear ) &&( curMonth > arrMonth )) || (( arrYear == curYear ) &&( curMonth == arrMonth )&&( dayCounter >= arrDay )))) {
//daysTable = daysTable + "<td align='center' class='dateselect' onclick='javascript:updatedate(\""+field_name+"\",\""+strDate+"\")' onmouseover=this.className='hoverdateselect' onmouseout=this.className='dateselect'>" + dayCounter + "</td>\r\n";
//}
else if ((( depYear == curYear ) &&( curMonth == depMonth )&&( dayCounter == depDay )) ||  (( arrYear == curYear ) && ( curMonth == arrMonth) && (dayCounter == arrDay ))) {
daysTable = daysTable + "<td align='center' class='dateselect' onclick='javascript:updatedate(\""+form_name+"\",\""+field_name+"\",\""+strDate+"\")' onmouseover=this.className='hoverdateselect' onmouseout=this.className='dateselect'>" + dayCounter + "</td>\r\n";
}
else{
daysTable = daysTable + "<td align='center' class='clickdate' onclick='javascript:updatedate(\""+form_name+"\",\""+field_name+"\",\""+strDate+"\")' onmouseover=this.className='hoverdate' onmouseout=this.className='clickdate'>" + dayCounter + "</td>\r\n";
}
dayCounter = dayCounter + 1;
}
daysTable = daysTable + "</tr>\r\n";
}
daysTable = daysTable + "</table>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "</tr>\r\n";
daysTable = daysTable + "<tr>\r\n";
daysTable = daysTable + "<td align=center>\r\n";
daysTable = daysTable + "<table width=100% cellpadding=0 cellspacing=0 border=0 class=calendarcolor>\r\n";
daysTable = daysTable + "<tr>\r\n";
daysTable = daysTable + "<td align=left><font size=1><a href='javascript:yearBack(" + curMonth + "," + curYear + ",\""+field_name+"\",\""+form_name+"\")'><img src='graphics/prev.gif' border=0></a>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "<td align=center><font size=1><span class=TextLabel><b>" + curYear + "</b>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "<td align=right><font size=1><a href='javascript:yearForward(" + curMonth + "," + curYear + ",\""+field_name+"\",\""+form_name+"\")'><img src='graphics/next.gif' border=0></a>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "</tr>\r\n";
daysTable = daysTable + "</table>\r\n";
daysTable = daysTable + "</td>\r\n";
daysTable = daysTable + "</tr>\r\n";
daysTable = daysTable + "</table>\r\n";
return daysTable;
}

