//urvashi - latest 16 May 2003 currentDate = new Date(); var day_dt = currentDate.getDate(); var mnth_dt = currentDate.getMonth(); var year_dt = currentDate.getFullYear(); var DateCtrl var MonthCtrl var YearCtrl function Generate_date(stdt,stmnth,styr,DtCtrl,MnthCtrl,YrCtrl,days) { //stdt = OPTIONAL Date which you want to be selected, if blank shows current date //stmnth = OPTIONAL Month which you want to be selected, if blank shows current date //styr = OPTIONAL Year which you want to be selected, if blank shows current Year format::2004(4 digit) //DtCtrl = MANDATORY Name of the object in the format::document.formname.controlname //MnthCtrl = MANDATORY Name of the object in the format::document.formname.controlname //YrCtrl = MANDATORY Name of the object in the format::document.formname.controlname //days = OPTIONAL ex:-for dispalying (end date =start date + 'days'), pass how many days should be added to start date DateCtrl=DtCtrl MonthCtrl=MnthCtrl YearCtrl=YrCtrl //var startNumber='2003' var startNumber=year_dt var new_year_dt = year_dt+4 var endNumber=new_year_dt if (stdt == "") {stdt = day_dt} if (stmnth== "") {stmnth= mnth_dt} if (styr == "") {styr = year_dt} if (days!=null && days!='' && days!='undefined') { var newDay = day_dt+days; currentDate.setDate(newDay); stdt = currentDate.getDate(); stmnth= currentDate.getMonth(); styr = currentDate.getYear(); } // alert (stdt+" 3- "+stmnth+" - " +styr+" -days " +days) writeDaysOptions(stdt,stmnth,styr) writeMonthOptions(stmnth) writeOptions(startNumber, endNumber,styr) } function writeMonthOptions(selectedMnth) { MonthCtrl.length=0 var optionCtr=0; var theMonth1 = new Array("January","February","March","April","May","June","July","August","September","October","November","December") for (var optionCounter = 0; optionCounter < 12; optionCounter++) { MonthCtrl.options[optionCounter] = new Option(parseInt(optionCounter)); MonthCtrl.options[optionCounter].text =theMonth1[optionCounter]; MonthCtrl.options[optionCounter].value=parseInt(optionCounter); if (parseInt(selectedMnth)==optionCounter){var optionCtr=optionCounter;} } MonthCtrl.options[selectedMnth].selected = true; } function writeOptions(startNumber,endNumber,selectedYr) { YearCtrl.length=0 var optionCtr=0; var endVal = ( parseInt(endNumber)-parseInt(startNumber) ) var mYear = parseInt(startNumber) for (var optionCounter = 0; optionCounter <= endNumber; optionCounter++) { if (mYear<=parseInt(endNumber)) { YearCtrl.options[optionCounter] = new Option(parseInt(optionCounter)); YearCtrl.options[optionCounter].text =parseInt(mYear); YearCtrl.options[optionCounter].value=parseInt(mYear); if (parseInt(selectedYr)==mYear){var optionCtr=optionCounter;} mYear=mYear+1 } } YearCtrl.options[optionCtr].selected = true; } function writeDaysOptions(selectedDay,selectedMnth,SelectedYear) { DateCtrl.length=0 var optionCtr=0; var DaysInMonth = GetDaysInMonth(selectedMnth,SelectedYear) for (var optionCounter = 0; optionCounter <= DaysInMonth ; optionCounter++) { DateCtrl.options[optionCounter] = new Option(parseInt(optionCounter)); DateCtrl.options[optionCounter].text =parseInt(optionCounter); DateCtrl.options[optionCounter].value=parseInt(optionCounter); if (selectedDay==optionCounter){var optionCtr=selectedDay;} } //if (selectedDay>DaysInMonth){selectedDay==DaysInMonth} DateCtrl.options[optionCtr].selected = true; //DateCtrl.Options.Remove(0); } function GetDaysInMonth(int_month,int_year) { if (parseInt(int_month)==11 ) { var new_month = 0 var new_year_calc =parseInt(int_year)+1 ; } else if (int_month!=11 ) { var new_month = parseInt(int_month)+1; var new_year_calc =parseInt(int_year); } //to gets the number of days in the current month date1=new Date(int_year,int_month,1); date2=new Date(new_year_calc,new_month,1); // alert("date1="+date1+" date2="+date2) var days_curr_month =(date2.valueOf() - date1.valueOf())/86400000; if (parseInt(int_month)==2 ) { days_curr_month="31" } return days_curr_month; } function ChkVal(stdt,stmnth,styr,eddt,edmnth,edyr,NoOfNights,ValueIn) {// ValueIn is a Flag to check text box has changed // if ValueIn>'' it will cal end dt else replace the no of nights NoNights = parseInt(NoOfNights.value) var mstr = NoOfNights.value; if (NoOfNights.value.length>0) { var str = "1234567890"; var cnt=0; var cnt1=0; for ( i=0;i date2.valueOf()) //{ // NoOfNights.value=0; //} //else { var DiffDays = parseInt((date2.valueOf()-date1.valueOf())/86400000) //alert(ValueIn) if ((ValueIn>'') && (NoOfNights.value.length>0)) { var newDays = date1.setDate(date1.getDate()+NoNights) var newDate = new Date(date1.getFullYear(),date1.getMonth(),date1.getDate() ) if (edyr.length>0) { DepYrLen=parseInt(edyr.length)-1; var LastDepYr = edyr[DepYrLen].value if ( newDate.getFullYear() > LastDepYr ) { alert("Please reduce number of nights.\nNew year("+ newDate.getFullYear()+") is greater than the maximum year in departure date("+LastDepYr+")!") NoOfNights.value = 0 return false; } else { eddt.options[newDate.getDate()-1].selected = true; edmnth.options[newDate.getMonth()].selected = true; var optr=0; for (i=0;i<=DepYrLen;i++) { /* Urvashi edited this for CR 2762 */ if ( parseInt(edyr.options[i].value)== parseInt(newDate.getFullYear()) ) { optr= i } } edyr.options[optr].selected =true; }// chking for max yr in dep year }//if dep.length>0 } else { if (DiffDays>0) {NoOfNights.value = DiffDays} else { NoOfNights.value = 0 /* Urvashi added for CR 2819*/ eddt.options[date1.getDate()-1].selected = true; edmnth.options[date1.getMonth()].selected = true; var optr=0; DepYrLen=parseInt(edyr.length)-1; for (i=0;i<=DepYrLen;i++) { if ( parseInt(edyr.options[i].value)== parseInt(date1.getFullYear()) ) { optr= i } } edyr.options[optr].selected =true; /* Urvashi added for CR 2819*/ } }// noofnight=diff betn 2 dates }// if dt1>dt2 }