/* 	calendar script
 	add this line to the head section
	<script language="JavaScript" src="scripts/calendar.js"></script>

<!-- Paste this code into the HEAD section of your HTML document.
     You may need to change the path of the file.  -->

<script type="text/javascript" src="rotateimages.js"></script>

<!-- Paste this code into the BODY section of your HTML document  -->

<img src="image_jss.gif" name="northPic">
*/
//declare variables
var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
 
var today = new Date();
var DayofWeek = today.getDay() + 1;
var day = today.getDate();
var month = today.getMonth() + 1;
var year = today.getFullYear();
 
var monthNum = month;
var yearNum = year;
var allowFirstDay = false;
 
function DrawCalendar(allowTomorrow)
{
  var strCalendar = '<span class="monthname">Archives - ';
  
  strCalendar += months[monthNum - 1] + '&nbsp;&nbsp;';
  strCalendar += yearNum;
  strCalendar += '</span><br>';
 
  strCalendar += '<span class="daybox">S</span><span class="daybox">M</span><span class="daybox">T</span><span class="daybox">W</span><span class="daybox">Th</span><span class="daybox">F</span><span class="daybox">S</span><br>';
 
  var firstDate = new Date(String(monthNum) + "/1/" + String(yearNum));
 
  var firstDay = firstDate.getDay();
 
  var numDays = DaysInMonth(monthNum, yearNum);
 
  var rows = Math.ceil((numDays + firstDay) / 7);
 
  var i = 0;
  var thisDate = 1;
	
	for(var row = 1; row <= rows; row++)
  	{
    	for(var col = 1; col < 8; col++)
    	{
        	i++;
			if ((thisDate <= numDays) && (i >= (firstDay + 1)))
			{
				if ((thisDate == day) && (month == monthNum) && (year == yearNum))
	  			{
					strCalendar += '<a class="todaybox" href="javascript:EnterDate(' + monthNum + ',' + thisDate + ',' + yearNum + ')">' + thisDate + '</a>';
      			}
				else if ((thisDate == day + 1) && (month == monthNum) && (year == yearNum) && (allowTomorrow == true))
				{
					strCalendar += '<a class="datebox" href="javascript:EnterDate(' + monthNum + ',' + thisDate + ',' + yearNum + ')">' + thisDate + '</a>';
				}
				else if ((allowFirstDay == true) && (thisDate == 1) && (month + 1 == monthNum) && (year >= yearNum))
				{
					strCalendar += '<a class="datebox" href="javascript:EnterDate(' + monthNum + ',' + thisDate + ',' + yearNum + ')">' + thisDate + '</a>';
					
				}
				else if (year > yearNum)
	  			{
					strCalendar += '<a class="datebox" href="javascript:EnterDate(' + monthNum + ',' + thisDate + ',' + yearNum + ')">' + thisDate + '</a>';
	  			}
				else if ((month > monthNum) && (year >= yearNum))
				{
					strCalendar += '<a class="datebox" href="javascript:EnterDate(' + monthNum + ',' + thisDate + ',' + yearNum + ')">' + thisDate + '</a>';
				}
				else if ((thisDate < day) && (month >= monthNum) && (year >= yearNum))
				{
					strCalendar += '<a class="datebox" href="javascript:EnterDate(' + monthNum + ',' + thisDate + ',' + yearNum + ')">' + thisDate + '</a>';
				}
	  			else
				{
					strCalendar += '<span class="noclickbox">' + thisDate + '</span>';
				}
        		thisDate++;
      		}
      		else
      		{
      			strCalendar += '<span class="emptybox">&nbsp;</span>';
      		}
 
      		if(!i%7)
	  		{ 
	  			strCalendar +=  '<br>';
	  		}
			
			if ((allowTomorrow == true) && (day == numDays) && (month == monthNum) && (year == yearNum))
			{
				allowFirstDay = true;
			}
    	}
  	}
 
  strCalendar += '<br style="clear:both">';
  strCalendar += '<span class="control">';
  strCalendar += '<a href="javascript:changeMonth(-12, ' + allowTomorrow + ')">&lt&lt</a>&nbsp;&nbsp;';
  strCalendar += '<a href="javascript:changeMonth(-1, ' + allowTomorrow + ')">&lt</a>&nbsp;&nbsp;';
  strCalendar += '<a href="javascript:changeMonth(0, ' + allowTomorrow + ')">Today</a>';
  strCalendar += '&nbsp;&nbsp;<a href="javascript:changeMonth(1, ' + allowTomorrow + ')">&gt;</a>';
  strCalendar += '&nbsp;&nbsp;<a href="javascript:changeMonth(12, ' + allowTomorrow + ')">&gt;&gt;</a>';
  strCalendar += '</span>';
 
  document.getElementById('calendar').innerHTML = strCalendar;
}

function DaysInMonth(month,year) {
var m = [31,28,31,30,31,30,31,31,30,31,30,31];
if (month != 2) return m[month - 1];
if (year%4 != 0) return m[1];
if (year%100 == 0 && year%400 != 0) return m[1];
return m[1] + 1;
}  

function changeMonth(dir, allowTomorrow) 
{
  switch(dir)
  {
    case(-1):
      monthNum--;
      if(monthNum == 0)
      {
        monthNum = 12;
        yearNum--;
      }
      break;   
    case(1):
      monthNum++;
      if(monthNum == 13)
      {
        monthNum = 1;
        yearNum++
      }
      break;
	case(-12):
	  yearNum--;
	  break;
	case(12):
	  yearNum++;
	  break;
    default:
      monthNum = month;
      yearNum = year;
      break;
  }
  DrawCalendar(allowTomorrow);
}

function EnterDate(month,day,year)
{
  var url = "index.php?page=wod&dateInput=";
  url += String(year) + "-" + String(month) + "-" + String(day);
  
  location.href=url;	
}