var dow = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var month = new Array(new Array("January",31),new Array("February",28),new Array("March",31),new Array("April",30),new Array("May",31),new Array("June",30),new Array("July",31),new Array("August",31),new Array("September",30),new Array("October",31),new Array("November",30),new Array("December",31));
//var dayInfo = new Array();
//for (var i=0; i<31; i++)
//{
//	dayInfo[i]="&nbsp;";
//}

function showCalenInfo(day, eventsArr)
{
	var html="&nbsp;";
	var count=0;
	for (var i=0; i<eventsArr.length; i++)
	{
	if (count>=3)
	{
		html+="<hr style=\"color:black;height:1px;border:0;background-color:black;\"/><b>More Events on the Events Page</b>";
		break;
	}
		var line=eventsArr[i].split("|");
		var date=line[0].split("/");
		if (date[1]==day)
		{
			if (count<3)
			{
				if (count!=0)
				{
					html+="<hr style=\"color:black;height:1px;border:0;background-color:black;\"/>";
				}
				html+=line[2]+"<br/><i>"+line[1]+"</i>";
				count++;
			}
		}
	}
	document.getElementById("calendar_info").innerHTML=html;
}

function showCalen(events)
{
  var currDate = new Date();
  var firstOfTheMonth = new Date();
  var tbl = document.createElement("table");
  
  ////////////////////////////////////
  // START HEAD

  var tblHead = document.createElement('thead');
  var headRow = document.createElement('tr');
  var headCell = document.createElement('th');
  firstOfTheMonth.setFullYear(currDate.getFullYear(),currDate.getMonth(),1);
  var headerText = document.createTextNode(month[currDate.getMonth()][0]);
  
  headCell.appendChild(headerText);
  headCell.setAttribute('colspan','7');
  headCell.colSpan = 7;
  headCell.setAttribute('id','calen_header');
  headRow.appendChild(headCell);
  tblHead.appendChild(headRow);
  
  var dowRow = document.createElement('tr');
  for (var i=0; i<7; i++)
  {
    var cell = document.createElement('th');
    var cellText = document.createTextNode(dow[i].substring(0,3));
    cell.appendChild(cellText);
    cell.setAttribute('class','calen_day');
    dowRow.appendChild(cell);
  }
  tblHead.appendChild(dowRow);
  
  tbl.appendChild(tblHead);

  ////////////////////////////////////
  // START BODY
  
  var tblBody = document.createElement('tbody');
  tblBody.setAttribute('id','calen_tblbody');
  
  var i = 0;
  var firstBool = false;
  
  while (i < month[currDate.getMonth()][1])
  {
    var row = document.createElement('tr');
    
    for (var j=0; j<7; j++)
    {
      if (i >= month[currDate.getMonth()][1])
      {
        var cell = document.createElement('td');
        var cellText = document.createTextNode(' ');
        // cell.className = 'calcell';
        cell.appendChild(cellText);
        row.appendChild(cell);
        continue;
      }
      
      if (!firstBool)
      {
        if (firstOfTheMonth.getDay() == j)
        {
          firstBool = true;
        } else {
          var cell = document.createElement('td');
          var cellText = document.createTextNode(' ');
          cell.className = 'calcell';
          cell.appendChild(cellText);
          row.appendChild(cell);
          continue;
        }
      }
      
      if (firstBool)
      {
		var cell = document.createElement('td');
        var cellText = document.createTextNode(i+1);
		for (var k=0; k<events.length; k++)
		{
			var line=events[k].split("|");
			var date=line[0].split("/");

			if (date[1]==(i+1))
			{
				cell.style.color="#F0E68C"; // #cc0000
				k=events.length;
			}
		}
        cell.id = 'calen_cell_' + i;
        cell.className = 'calcell';
        cell.onmouseover = function() {mouseOver(this,this.id,events)};
        cell.onmouseout = function(){mouseOut(this)}
        cell.appendChild(cellText);
        row.appendChild(cell);
        i++;
      }
    }

    tblBody.appendChild(row);
  }

  
  tbl.appendChild(tblBody);
  tbl.setAttribute("id","calen_tbl");
  document.getElementById("calendar").appendChild(tbl);
}

// needs to be an actual function not anonymous
function mouseOver(obj,id,eventsArr)
{
	hoverDay(obj,0);
	
	var idArr=id.split("_");
	showCalenInfo((parseInt(idArr[2])+1),eventsArr);
}
function mouseOut(obj)
{
	hoverDay(obj,1);
	document.getElementById("calendar_info").innerHTML="&nbsp;";
}

function hoverDay(obj, flag)
{
  // alert("id = " + id);
  if (flag==0)
  {
    //document.getElementById(id).style.background="#8CAD8C";
    obj.style.background="#8CAD8C";
    //obj.style.background="#8CAD8C";
  } else {
    //document.getElementById(id).style.background="#589858";
    obj.style.background="#589858";
    //obj.style.background="#589858";
  }
}