/*
Client side scripts required to support the date selection dropdowns
Note: These scripts must be placed prior to calling the GenDateDropDown subroutine
Return number of days in a month
Parameters: lnMonth: month (1-12)
            lnYear:  year => 1970
*/
function daysinmonth(lnMonth,lnYear) {
var dt1, cmn1, cmn2, dtt, lflag, dycnt, lmn
lmn = lnMonth-1
dt1 = new Date(lnYear,lmn,1)
cmn1 = dt1.getMonth()
dtt=dt1.getTime()+2332800000
lflag = true
dycnt=28
while (lflag) {
   dtt = dtt + 86400000
   dt1.setTime(dtt)
   cmn2 = dt1.getMonth()
   if (cmn1!=cmn2) {
      lflag = false }
   else {dycnt = dycnt + 1}}
if (dycnt > 31) {dycnt = 31}
return dycnt
}

function setdaymonth(sobjname, cday, cmonthyear)
{
		var dobj = eval(sobjname + "d")
		var mobj = eval(sobjname + "m")
		dobj.options.selectedIndex = cday;
		mobj.options.selectedIndex= cmonthyear;
} 

function reconcile_dates(oDay, oMonth, oYear, sobjname)
{	
		try{
		var dobj = eval(sobjname + "d")
		var mobj = eval(sobjname + "m")
		var arry = mobj.options[mobj.selectedIndex].value.split(" ")
		
		var rDay = dobj.options[dobj.selectedIndex].value *1
		var rMonth = arry[0]*1
		var rYear = arry[1]*1
		//alert("-"+rMonth+"<"+oMonth+"-")
		//alert(rMonth>oMonth)
		if ( ( rMonth < oMonth && rYear == oYear ) || rYear < oYear )
		{
		document.forms[0].enddatem.options.selectedIndex
				= document.forms[0].begdatem.options.selectedIndex;
				document.forms[0].enddated.options.selectedIndex
				= document.forms[0].begdated.options.selectedIndex;
		}
		else if ( rDay < oDay && rMonth == oMonth && rYear == oYear )
		{
		document.forms[0].enddated.options.selectedIndex
				= document.forms[0].begdated.options.selectedIndex;
		}
		}catch(e){}
}

function setdays(sobjname, datemode){

var dobj = eval(sobjname + "d")
var mobj = eval(sobjname + "m")
var yobj = eval(sobjname + "y")
var hobj = eval(sobjname)
var arry = mobj.options[mobj.selectedIndex].value.split(" ")
var curdy = dobj.options[dobj.selectedIndex].value

if (sobjname == "document.forms[0].begdate")
{
 reconcile_dates(curdy*1, arry[0]*1, arry[1]*1, "document.forms[0].enddate")
}

var monthdays = daysinmonth(arry[0],arry[1])
var selectdays = dobj.length

if (curdy.length==1) {curdy = "0"+curdy}
var curmn = arry[0]
if (curmn.length==1) {curmn = "0"+curmn}
var curyr = arry[1]
if (selectdays > monthdays) {
   for (var dlp=selectdays; dlp > monthdays; dlp--) {
       dobj.options[dlp-1] = null }}
else if (monthdays > selectdays) {
   for (var dlp=selectdays; dlp < monthdays; dlp++) {
       dobj.options[dlp] = new Option(dlp+1,dlp+1) }}       
if (curdy > monthdays) {
   dobj.options[monthdays-1].selected = true
   curdy = monthdays }
if (datemode==1) {
   var curdate = curmn+"/"+curdy+"/"+curyr }
else if (datemode==2) {
   var curdate = curdy+"/"+curmn+"/"+curyr }
else if (datemode==3) {
   var curdate = curyr+curmn+curdy }
else if (datemode==4) {
   var cdate = new Date(curyr,curmn-1,curdy)
   var curdate = cdate.toGMTString() }
hobj.value = curdate
}