function IsLeapYear(yrStr)
{
var leapYear = false;
var year = parseInt(yrStr, 10);
if (year%4 == 0)
{
leapYear = true;
if (year%100 == 0)
{
leapYear = false;
if (year%400 == 0)
{
leapYear = true;
}
}
}
return leapYear;
}

function getDaysInMonth(mthIdx, yrStr)
{
var maxDays = 31;
if (mthIdx == 1)
{
if (IsLeapYear(yrStr))
{
maxDays = 29;
}
else
{
maxDays = 28;
}
}
if (mthIdx == 3 || mthIdx == 5 || mthIdx == 8 || mthIdx == 10)
{
maxDays = 30;
}
return maxDays;
}

function adjustDate(mthIdx, Dt, initDate)
{
var value = 0;

var today = new Date();
var theYear = parseInt(today.getYear(),10);

if (mthIdx < today.getMonth()) {
theYear = (parseInt(today.getYear(),10) + 1);
}

if (theYear < 100) {
theYear = "19" + theYear;
}
else {
if ((theYear - 100) < 10) {
theYear = "0" + (theYear - 100);
}
else
{
theYear = (theYear - 100) + "";
}
theYear = "20" + theYear
}

var numDays = getDaysInMonth(mthIdx, theYear);

// checks whether to initialize date or not.
if (initDate == 1)
{
if (numDays - Dt == 7)
{
document.resrvForm.doa_mm.options.selectedIndex = mthIdx;
document.resrvForm.doa_dd.options.selectedIndex = numDays - 1;
document.resrvForm.dod_mm.options.selectedIndex = document.resrvForm.doa_mm.options.selectedIndex + 1;
document.resrvForm.dod_dd.options.selectedIndex =  7 - (numDays - Dt);
}
else if (numDays - Dt  < 7)
{
document.resrvForm.doa_mm.options.selectedIndex = mthIdx + 1;
document.resrvForm.doa_dd.options.selectedIndex = 6 - (numDays - Dt);
document.resrvForm.dod_mm.options.selectedIndex = document.resrvForm.doa_mm.options.selectedIndex;
document.resrvForm.dod_dd.options.selectedIndex = 7 - (numDays - Dt);
}
else
{
document.resrvForm.doa_mm.options.selectedIndex = mthIdx;
document.resrvForm.doa_dd.options.selectedIndex = (Dt - 1) + 7
document.resrvForm.dod_mm.options.selectedIndex = document.resrvForm.doa_mm.options.selectedIndex;
document.resrvForm.dod_dd.options.selectedIndex = (Dt - 1) + 8;
}
}
else
{
if (mthIdx == 1)
{
if (Dt.options.selectedIndex + 1 < numDays)
{
return 0;
}
else
{
Dt.options.selectedIndex=numDays - 1;
if (numDays == 29)
{
return 99;
}
else
{
return 1;
}
}
}
if (Dt.options.selectedIndex + 1 < numDays)
{
value = 0;
}
else
{
if (Dt.options.selectedIndex + 1 > numDays)
{
Dt.options.selectedIndex--;
value = 3;
}
else
{
value = 2;
}
}
return value;
	}
}


function amadChange(inM, inD, outM, outD)
{
var res = adjustDate(inM.options.selectedIndex, inD, 0);
if (res != 0 )
{
outD.options.selectedIndex = 0;
if (outM.options.selectedIndex == 11) {
outM.options.selectedIndex = 0;
}
else {
outM.options.selectedIndex = inM.options.selectedIndex + 1;
}
}
else
{
outM.options.selectedIndex = inM.options.selectedIndex;
outD.options.selectedIndex = inD.options.selectedIndex + 1;
}
return;
}

function initDate()
{
var today = new Date();
var currMth = today.getMonth();
var currDate = today.getDate();
var mth = document.resrvForm.doa_dd.options.selectedIndex = currMth;
var Dt = document.resrvForm.doa_dd.options.selectedIndex = (currDate - 1);
adjustDate(mth, Dt, 1);
}