// Event Calendar

var pageLoaded = 0; 
var eventTitle = 'Scheduled events';

//_spBodyOnLoadFunctionNames.push(function(){pageLoaded=1;});

function loaded(i,f) 
{
	if (document.getElementById && document.getElementById(i) != null) 
		f(); 
	else if (!pageLoaded)
		setTimeout('loaded(\''+i+'\','+f+')',100);
}
function monthlength(month,year) 
{
	var dd = new Date(year, month, 0);
	return dd.getDate();
}


var moy = ['January','February','March','April','May','June','July','August','September','October','November','December'];
var today = new Date();
var selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());
var thisDay = selDate;
var eventText='';
var strClickedElement=null;

function dispCal(yy,mm) 
{ 
	if (mm < 0 || mm > 12) 
	{
		alert('month must be between 1 and 12'); 
		return false;
	} 
	if (yy != 0 && (yy < 1901 || yy > 2100)) 
	{
		alert('year must be after 1900 and before 2101'); 
		return false;
	} 
	var dow = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; 
	var calendar = new Date();  
	var today = calendar.getDate(); 
	
	calendar.setDate(1); 
	if (yy > 1900) 
		calendar.setFullYear(yy); 
	if (mm > 0) 
		calendar.setMonth(mm - 1); 
	var yy = year = calendar.getFullYear(); 
	var month = calendar.getMonth(); 
	
	calendar.setDate(today); 
	var weekday = calendar.getDay(); 
	var daysInMonth = monthlength(month+1,year); 
	var hilite_start = '<td class="currentDay">'; //<div id="currentDay">
	var td_start = '<td class="calCell">'; 
	var td_nexEventDate = '<td class="nextEventDate"><div id="nextEventDay">';
	var cal = '';
	if(calendarTitle == '')
	{
		calendarTitle= 'OSBA Calendar';
	}
	cal+='<div id="cal"><div class="calContent"><div id="calTitle" class="webPartTitle" >'+calendarTitle+'</div><table border="0" cellspacing="0" cellpadding="2" align="center"><tr><td colspan="7" class="calHeader">';

	var currMonthName = ''+moy[month]  + ' ' + year+'';

	if (document.getElementById) 
	{
		var mmb = month;  
		mm = month + 1; 
		var yya = yyb = yy; 
		if (mmb <1) 
		{
			mmb += 12; 
			yyb--;
		} 
		var mma = month + 2; 
		if (mma > 12) 
		{
			mma -= 12;
			yya++;
		} 
		var yb = yy -1;
		var ya = yy +1; 	
		
		cal+='<a onclick="navigationColors(strClickedElement); if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;} ">';
		cal+='<div id="arrowL"></div></a>'; //<img id="arrowImgL"  src="/SiteCollectionImages/buttons/arrowL.png"></div></a>';

		var arrMonths = [1,2,3,4,5,6,7,8,9,10,11,12];
		
		if(logged == "false"){
			cal+='<div id="currMonthName"> '+currMonthName+ '</div>';
		}
		else{
			cal+='<div id="currMonthName"> <a href="'+calendarPage+'?CalendarPeriod=month&CalendarDate='+arrMonths[month]+'/1/'+year+'">'+currMonthName+ '</a> </div>';	
		}
//		cal+='<div id="currMonthName"> <a href="Calendar.aspx?CalendarPeriod=month&CalendarDate='+arrMonths[month]+'/1/'+year+'">'+currMonthName+ '</a> </div>';
		cal+='<a onclick="navigationColors(strClickedElement); if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;} ">';
		cal+='<div id="arrowR" ></div></a>'; //<img id="arrowImgR" src="/SiteCollectionImages/buttons/arrowR.png"></div></a>';
	} 
	
	cal+= '<\/td><\/tr><tr>'; 

	for(dex=0; dex < 7; dex++) 
	{
		cal += td_start + dow[dex] + '</td>';
	} 
	cal += '<\/tr><tr>'; 
	var day2 = today; 
	for (dex = today; dex > 6; dex -=7) 
		day2 = dex; 
	weekday -= day2 - 1; 
	
	while (weekday < 0) 
		weekday += 7; 
	
//////////// FILL DAYS FOR PREVIOUS MONTH
	var daysOtherMonth = monthlength(month,year); 
	var otherDays=[];
	for(var j=1; j<=daysOtherMonth; j++)
	{
		otherDays[j]=j;
	}

	var auxD=0;
	for(var i=weekday; i> 0; i--)
	{
		auxD = otherDays[daysOtherMonth -i+1];	
		cal+='<td class="daysOtherMonth">'+auxD+'<\/td>';
	}

	for(dex=1; dex <= daysInMonth; dex++) 
	{
		if(weekday == 7) 
		{
			cal += '</tr><tr>'; 
			weekday = 0;
		} 
		if(selDate==year+getmmdd(month+1,dex)) 
		{
			if(selDate==thisDay)
			{
				var ned = getmmdd(month+1,dex);
				var aux ='';
				eventText= nextDate(nextEventDate);
				if(nextEventDate == (''+year+ned))
				{
					cal += hilite_start +'<div id="nextEventDay">' + '<div '+clickDate(dex,month,year) + ' >'+ dex + '<\/div><\/div><\/td>';
				}
				else
				{
					cal += hilite_start +'<div '+clickDate(dex,month,year) + '>'+ dex + '<\/div><\/td>';
				}
			}
			else
			{
				selDate=thisDay;
				cal += td_start + '<div '+clickDate(dex,month,year) + '>' + dex + '<\/div><\/td>';
			}
		}
		else 
		{
			var ned = getmmdd(month+1,dex);
			var aux ='';
			eventText= nextDate(nextEventDate);
			if(nextEventDate == (''+year+ned))
			{
				aux= td_nexEventDate + '<div '+clickDate(dex,month,year) + ' >'+ dex + '<\/div><\/div><\/td>';
				
			}
			else
			{
				aux= td_start + '<div '+clickDate(dex,month,year) + '>' + dex + '<\/div><\/td>';
			}
			cal += aux;
		}

		weekday += 1;
	} 
	
	for(var d=1; d < 8 - weekday; d++) 
	{		
		auxD = otherDays[d];
		cal += '<td class="daysOtherMonth">'+ auxD+' <\/td>'; 
	} 
	cal += '<\/tr><\/table><\/div>';

	cal += '</div>'; 
	return cal;
}

function start() 
{
	var x = '<div id="calEvent"><\/div>'; 
	var y = ''; 
	y = dispCal(0,0) + x; 
	
	document.getElementById('calendar').innerHTML = y; 
	ev();
}

loaded('calendar',start);

function clickDate(day, month, year) 
{
	var ct = nextDate(year + getmmdd(month+1,day));
	
	if (ct == '') 
		ct = nextDate('0000' + getmmdd(month+1,day));
	if (ct == '') 
		return 'class="textColor" onclick="return false;"'; 
	else 
		return 'class="upcomingEvent" onclick="selDate = '+year+ getmmdd(month+1,day)+'; isDate(' + day + ',' + month + ',' + year + '); changeColor(this);return false;" '; //onmouseout="noEvent();"
}

function isDate(dayVal,monthVal,yearVal) 
{
	var ct = nextDate(yearVal + getmmdd(monthVal+1,dayVal));
	
	if (ct == '') 
		ct = nextDate('0000' + getmmdd(monthVal+1,dayVal));
	if (ct == '') 
		ct = noMessage;
	
	document.getElementById('calEvent').innerHTML ='<div id="upcomingEventTitle">' + eventTitle + ': </div>' +ct; 

	return false;
}

function nextDate(yymmdd) 
{
	var x = events.length;
	var evts ='';
	for (var i = 0; i < x; i++) 
	{
		if (events[i].substr(0,8) == yymmdd) 
		{
			evts=events[i].substr(8);
			return evts;
		}
	}
	
	return '';
}
	
function getmmdd(mm,dd) 
{
	return (mm > 9 ? '' + mm : '0' + mm) + (dd > 9 ? dd : '0' + dd);
}

function ev() 
{
	var ct = nextDate(selDate);
	var ct = nextDate(selDate);
	if (ct == '') 
		ct = nextDate('0000' + selDate.substr(4));
	if (ct == '')
		ct = eventText;
	if (ct == '' && eventText == '') 
		ct = noMessage; 
	
	
	document.getElementById('calEvent').innerHTML = '<div id="upcomingEventTitle">' + eventTitle + ': </div>' +ct;
}

function noEvent()
{	
	var ct = nextDate(selDate);
	document.getElementById('calEvent').innerHTML ='<div id="upcomingEventTitle">' + eventTitle + ': </div>' +ct;
}


function changeColor(element)
{

	if(strClickedElement != null)
	{
		strClickedElement.style.backgroundColor = 'transparent';
		strClickedElement.style.color ='black';
	}

	element.style.backgroundColor='#A44848';
	element.style.color='white';

	strClickedElement = element;
}

function navigationColors(element)
{
}

/***********/







