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 setdays(sobjname, datemode){
	var dobj = eval(sobjname + "d")
	var mobj = eval(sobjname + "m")
	var yobj = eval(sobjname + "y")
	var hobj = eval(sobjname)
	var monthdays = daysinmonth(mobj.options[mobj.selectedIndex].value,yobj.options[yobj.selectedIndex].value)
	var selectdays = dobj.length
	var curdy = dobj.options[dobj.selectedIndex].value

	if (curdy.length==1) {curdy = "0"+curdy}

	var curmn = mobj.options[mobj.selectedIndex].value

	if (curmn.length==1) {curmn = "0"+curmn}

	var curyr = yobj.options[yobj.selectedIndex].value
	
	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
}