// following is kalpesh's code
// modified by prem, passing 6 additional paramters
function addRemoveDays(startEnd, monthYear, sDay, sMonth, sYear, eDay, eMonth, eYear) {	//	startEnd  -> indicate whether Start Combo(s) or End combo(s) pressed. 1 -> startmonth  Change and 2 -> endmonth Change
	//	monthYear -> indicate whether Month Combo or Year combo pressed. 1 -> Month  Change and 2 -> Year Change

	if(startEnd == 1) {
		objCmb = sDay;
		month = sMonth.selectedIndex + 1;
		year = sYear.options[sYear.selectedIndex].value;
	} else {
		objCmb = eDay;
		month = eMonth.selectedIndex + 1;
		year = eYear.options[eYear.selectedIndex].value;
	}

	var days=objCmb.length;
	// alert(month+" "+days+" "+year);

	if (monthYear==2 && month !=2 )  // year combo change and and month is not "Feb."
		return;

	oldSelectedIndex=objCmb.selectedIndex;

	switch(month) {
	case  1:
	case  3:
	case  5:
	case  7:
	case  8:
	case 10:
	case 12:
		if (days < 31) {
			while ( days <= 31) {
				objCmb.options[days-1] = new Option(days,days);
				days++;
			}
		}
		break;
	case   2:
		febDays=(((year%4)==0 && (year%100)!=0 ) || (year%400)==0 ) ? 29 : 28 ;
		//	alert(febDays);
		objCmb.options[febDays-1] = new Option(febDays,febDays); // sometimes redundent.
		while ( days > febDays ) {
			objCmb.options[days-1] =  null;
			days--;
		}
		break;
	case   4:
	case   6:
	case   9:
	case  11:
		if ( days < 30 ) {
			while ( days <= 30) {
				objCmb.options[days-1] = new Option(days,days);
				days++;
			}
		} else {
			while ( days > 30) {
				objCmb.options[days-1] =  null;
				days--;
			}
		}
		break;
	}
	objCmb.selectedIndex=oldSelectedIndex;
	if ( objCmb.selectedIndex < 0)
		objCmb.selectedIndex = 0;
}


// following is Prem's code
// calling Kalpesh's code
// create date : 6th Sep 2002

// names of objects as a string
function fnRegisterDate(m, d, y) {
	var str = "addRemoveDays(1, 1, f." + d + ", f." + m  + ", f." + y + ");"
	var st = "f." + m + ".onchange = new Function(str);";
	eval(st);
	eval(str);

	var str = "addRemoveDays(1, 2, f." + d + ", f." + m  + ", f." + y + ");"
	var st = "f." + y + ".onchange = new Function(str);";
	eval(st);
	eval(str);
}

function fnRegisterDate1(m, d, y) {
	var str = "addRemoveDays(1, 1, f." + d + ", f." + m  + ", f." + y + ");"
	var st = "f." + m + ".onchange = new Function(str);";
	eval(st);
	eval(str);

	var str = "addRemoveDays(1, 2, f." + d + ", f." + m  + ", f." + y + ");"
	var st = "f." + y + ".onchange = new Function(str);";
	eval(st);
	eval(str);
}




