Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. <script>
  2.  
  3.  
  4. cal_days_labels = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
  5.  
  6.  
  7. cal_months_labels = ['January', 'February', 'March', 'April',
  8. 'May', 'June', 'July', 'August', 'September',
  9. 'October', 'November', 'December'];
  10.  
  11.  
  12. cal_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  13.  
  14. cal_current_date = new Date();
  15.  
  16. function Calendar(month, year) {
  17. this.month = (isNaN(month) || month == null) ? cal_current_date.getMonth() : month;
  18. this.year = (isNaN(year) || year == null) ? cal_current_date.getFullYear() : year;
  19. this.html = '';
  20. }
  21.  
  22. Calendar.prototype.generateHTML = function(){
  23.  
  24. var firstDay = new Date(this.year, this.month, 1);
  25. var startingDay = firstDay.getDay();
  26.  
  27.  
  28. var monthLength = cal_days_in_month[this.month];
  29.  
  30. if (this.month == 1) {
  31. if((this.year % 4 == 0 && this.year % 100 != 0) || this.year % 400 == 0){
  32. monthLength = 29;
  33. }
  34. }
  35.  
  36.  
  37. var monthName = cal_months_labels[this.month]
  38. var html = '<table class="calendar-table">';
  39. html += '<tr><th colspan="7">';
  40. html += monthName + "&nbsp;" + this.year;
  41. html += '</th></tr>';
  42. html += '<tr class="calendar-header">';
  43. for(var i = 0; i <= 6; i++ ){
  44. html += '<td class="calendar-header-day">';
  45. html += cal_days_labels[i];
  46. html += '</td>';
  47. }
  48. html += '</tr><tr>';
  49.  
  50. var day = 1;
  51. for (var i = 0; i < 9; i++) {
  52. for (var j = 0; j <= 6; j++) {
  53. html += '<td class="calendar-day">';
  54. if (day <= monthLength && (i > 0 || j >= startingDay)) {
  55. html += day;
  56. day++;
  57. }
  58. html += '</td>';
  59. }
  60.  
  61. if (day > monthLength) {
  62. break;
  63. } else {
  64. html += '</tr><tr>';
  65. }
  66. }
  67. html += '</tr></table>';
  68.  
  69. this.html = html;
  70. }
  71.  
  72. Calendar.prototype.getHTML = function(){
  73. return this.html;
  74. }
  75.  
  76. </script>
  77. </head>
  78. <body>
  79.  
  80. <script type="text/javascript">
  81. var cal = new Calendar(10,2014);
  82. cal.generateHTML();
  83. document.write(cal.getHTML());
  84. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement