function daysINMONTH(Y,M)
{
	with (new Date(Y,M,1,12)) { setDate(0) ; return getDate() } 
}

function daysDD(Y,M,D,Dy,isNull,setNull,dayOffset)
{
	var iDIM = daysINMONTH(Y,M)
	var iDDLEN = Dy.options.length
	var iLOOP
	var strDY
	var iSTLOOP
	var iINCRCNT
	var iTRIMD
	if (iDIM < D)
		{iTRIMD = iDIM}
	else
		{iTRIMD = D}
		
	if (iDDLEN != 0)
	{
		Dy.options.length = 0;
	}
	if (isNull == 'Y')
	{
		Dy.options[0] = new Option();
		iSTLOOP = 1;
		iINCRCNT = 0;
	}
	else
	{
		iSTLOOP = 0;
		iINCRCNT = 1;
	}
	for (iLOOP=iSTLOOP;  iLOOP<=(iDIM-iINCRCNT); iLOOP++)
		if (iLOOP < (9+iSTLOOP))
		{
			Dy.options[iLOOP] = new Option('0'+(iLOOP+iINCRCNT),'0'+(iLOOP+iINCRCNT));
		}
		else
		{
			Dy.options[iLOOP] = new Option(iLOOP+iINCRCNT,iLOOP+iINCRCNT);
		}
	if (iSTLOOP == 1)
	{
		if (setNull == 'Y')
		{
			Dy.options[0].selected = true;
		}
		else
		{	
			Dy.options[iTRIMD+dayOffset].selected = true;
		}
	}
	else
	{
		Dy.options[iTRIMD-1].selected = true;
	}
}

function setISODATE(Yr, Mo, Dy, Hr, Min, setObj, doTime)
{
	var Y = Yr.options[Yr.selectedIndex].value;
	var M = Mo.options[Mo.selectedIndex].value;
	var D = Dy.options[Dy.selectedIndex].value;
	if (doTime == 'Y')	{
		var H = Hr.options[Hr.selectedIndex].value;
		var MN = Min.options[Min.selectedIndex].value;
		setObj.value = Y+'-'+M+'-'+D+' '+H+':'+MN+':00';
		if (setObj.value.length != 19) {
			setObj.value = '';
		}
	}
	else
	{
		setObj.value = Y+'-'+M+'-'+D;
		
		if (setObj.value.length!= 10) {
			setObj.value = '';
		}			
	}
} 
