rem: var testDate=new Date(yearToStart, monthToStart, dayToStart+(w*7)); if (testDate.getMonth() > currentDate.getMonth()) inMonth=false; if (testDate.getFullYear() > currentDate.getFullYear()) inMonth=false; 
context: function printMonthView(currentDate) {// ok first let's get the array of events for this month.var calDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);var dayFirst = calDate.getDay();var dowStart = (startOfWeek <= dayFirst) ?  dayFirst-startOfWeek : 7-startOfWeek;var weekStart=new Date(calDate.getFullYear(),calDate.getMonth(),1-dowStart);var startOfMonthDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);var endOfMonthDate = new Date(currentDate.getFullYear(), currentDate.getMonth()+1, 0);var daysInMonth =  endOfMonthDate.getDate();var printwindow=window.open('','printwindow');printwindow.document.open();printwindow.document.write("<html><head><title>"+windowTitle+"</title></head><body>");var mytitle=document.getElementById("title-field").value;if (mytitle.length > 0)  {    printwindow.document.write("<table border=0 width=100% style='font-size:26px;font-weight:bold;'><tr><td valign=bottom align=center>");    printwindow.document.write(mytitle);    printwindow.document.write("</td></tr></table>");  }printwindow.document.write("<table border=0 width=100% style='font-size:26px;font-weight:bold;'><tr ><td align=center valign=bottom>"+monthNames[currentDate.getMonth()]+" "+currentDate.getFullYear()+"</td></tr></table>");printwindow.document.write("<table style='border:1px solid black;' width=100%>")printwindow.document.write("<tr>");printwindow.document.write("<td align=center style='border:1px solid black;background-color:#e0e0e0;FONT-SIZE:12px;FONT-WEIGHT: bold'>"+ArrayOfDayNames[weekStart.getDay()]+"</td>");printwindow.document.write("<td align=center style='border:1px solid black;background-color:#e0e0e0;FONT-SIZE:12px;FONT-WEIGHT: bold'>"+ArrayOfDayNames[(weekStart.getDay()+1 >6) ? weekStart.getDay()+1-7:weekStart.getDay()+1]+"</td>");printwindow.document.write("<td align=center style='border:1px solid black;background-color:#e0e0e0;FONT-SIZE:12px;FONT-WEIGHT: bold'>"+ArrayOfDayNames[(weekStart.getDay()+2 >6) ? weekStart.getDay()+2-7:weekStart.getDay()+2]+"</td>");printwindow.document.write("<td align=center style='border:1px solid black;background-color:#e0e0e0;FONT-SIZE:12px;FONT-WEIGHT: bold'>"+ArrayOfDayNames[(weekStart.getDay()+3 >6) ? weekStart.getDay()+3-7:weekStart.getDay()+3]+"</td>");printwindow.document.write("<td align=center style='border:1px solid black;background-color:#e0e0e0;FONT-SIZE:12px;FONT-WEIGHT: bold'>"+ArrayOfDayNames[(weekStart.getDay()+4 >6) ? weekStart.getDay()+4-7:weekStart.getDay()+4]+"</td>");printwindow.document.write("<td align=center style='border:1px solid black;background-color:#e0e0e0;FONT-SIZE:12px;FONT-WEIGHT: bold'>"+ArrayOfDayNames[(weekStart.getDay()+5 >6) ? weekStart.getDay()+5-7:weekStart.getDay()+5]+"</td>");printwindow.document.write("<td align=center style='border:1px solid black;background-color:#e0e0e0;FONT-SIZE:12px;FONT-WEIGHT: bold'>"+ArrayOfDayNames[(weekStart.getDay()+6 >6) ? weekStart.getDay()+6-7:weekStart.getDay()+6]+"</td>");printwindow.document.write("</tr>");var showprivate=document.getElementById("private-checkbox");dayToStart=weekStart.getDate();monthToStart=weekStart.getMonth();yearToStart=weekStart.getFullYear();var showprivate=document.getElementById("private-checkbox");var inMonth=true;for (var w=0; w<6; w++){  var testDate=new Date(yearToStart, monthToStart, dayToStart+(w*7));  if (testDate.getMonth() > currentDate.getMonth())     inMonth=false;  if (testDate.getFullYear() > currentDate.getFullYear())     inMonth=false;  if (inMonth)  {     printwindow.document.write("<tr>");     for (var i=0; i<7; i++)     {      var thisDaysDate=new Date(yearToStart, monthToStart, dayToStart+i+(w*7));      printwindow.document.write("<td align=left valign=top style='border:1px solid black;vertical-alignment:top;' >");      printwindow.document.write("<table valign=top height=100 width=100 style='font-size:10px;'><tr valign=top><td valign=top width=20%>");      if (thisDaysDate.getMonth()==currentDate.getMonth())         printwindow.document.write(thisDaysDate.getDate());      printwindow.document.write("</td><td width=80% valign=top></td></tr>");      if (thisDaysDate.getMonth()==currentDate.getMonth())       {         dayEventList = eventSource.getEventsForDay( thisDaysDate );         var calendarEventDisplay         // add each calendarEvent         for( var eventIndex = 0; eventIndex < dayEventList.length; eventIndex++ )           {              calendarEventDisplay = dayEventList[ eventIndex ];              var listpriv=true;              if (calendarEventDisplay.event.privateEvent)                if (! showprivate.checked)                  listpriv=false;              if (listpriv)                  {                     eventTitle=calendarEventDisplay.event.title;                     var eventStartTime = new Date( calendarEventDisplay.event.start.getTime() ) ;                     var formattedStartTime=returnTime(eventStartTime);                     if (calendarEventDisplay.event.allDay)                        printwindow.document.write("<tr><td valign=top colspan=2 style='font-size:11px;'>");                     else                        printwindow.document.write("<tr><td valign=top align=right style='font-size:11px;'>"+formattedStartTime+"</td><td valign=top style='font-size:11px;'>");                     printwindow.document.write(eventTitle);                     printwindow.document.write("</td></tr>");                   }           } //end of events         } // if it was in the month        printwindow.document.write("</table>");        printwindow.document.write("</td>")      } //end of each day      printwindow.document.write("</tr>");  } // ok it was in the month} // end of each weekprintwindow.document.write("</table>")printwindow.document.write("</body></html>");printwindow.document.close();}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/4561c970b10b2dea1a10746ff597d2be41a5eeed/printDialog.js/buggy/calendar/resources/content/printDialog.js