/*		imagens		*/

var prevMonth = "/opencms/export/system/modules/pt.ihru.portal/imgs/calendario_back.gif";
var nextMonth = "/opencms/export/system/modules/pt.ihru.portal/imgs/calendario_next.gif";

var prevYear = "/opencms/export/system/modules/pt.ihru.portal/imgs/calendario_backtot.gif";
var nextYear = "/opencms/export/system/modules/pt.ihru.portal/imgs/calendario_nexttot.gif";

/***************************************************************************************
	JavaScript Calendar - Digital Christian Design
	//Script featured on and available at JavaScript Kit: http://www.javascriptkit.com
	// Functions
		changedate(): Moves to next or previous month or year, or current month depending on the button clicked.
		createCalendar(): Renders the calander into the page with links for each to fill the date form filds above.

***************************************************************************************/

var cssCalendar = '';
var cssHeader = 'mes_cald';
var cssDayName = 'txt-calendario_dias';
var cssDay = 'txt-calendario2';
var cssOtherMonthDay = 'txt-calendario2';
var cssToday = 'txt-calendario_on';
var cssHoliday = 'txt-calendario1';
var cssTooltip = 'txt-calendario_events';
var cssButton = 'cal_button';
var cssFooter = 'txt-calendario_hj';

var thisDate = 1;							// Tracks current date being written in calendar
var wordMonth = new Array("Janeiro","Fevereiro","Mar&ccedil;o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");
var numMonth = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
var wordWeek = new Array("Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom");
var calDiv;

var today = new Date();								// Date object to store the current date
var todaysDay = today.getDay() + 1;					// Stores the current day number 1-7
var todaysDate = today.getDate();					// Stores the current numeric date within the month
var todaysMonth = today.getUTCMonth() + 1;			// Stores the current month 1-12
var todaysYear = today.getFullYear();				// Stores the current year
var monthNum = todaysMonth;							// Tracks the current month being displayed
var yearNum = todaysYear;							// Tracks the current year being displayed
var firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));	// Object Storing the first day of the current month
var firstDay = firstDate.getUTCDay();				// Tracks the day number 1-7 of the first day of the current month
//var lastDate = new Date(String(monthNum+1)+"/0/"+String(yearNum));	// Tracks the last date of the current month
var lastDate = new Date(String(monthNum)+"/"+monthDays(monthNum,yearNum)+"/"+String(yearNum)); // Tracks the last date of the current month
var numbDays = 0;
var startWeek = 0; 	// 0 - segunda

function monthDays(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 changedatecalendar(year, month, id)
{
	yearNum = year;
	monthNum = month;

	//lastDate = new Date(String(monthNum+1)+"/0/"+String(yearNum));
	lastDate = new Date(String(monthNum)+"/"+monthDays(monthNum,yearNum)+"/"+String(yearNum));
	numbDays = lastDate.getDate();
	firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));
	firstDay = firstDate.getDay()+startWeek;
	if (firstDay==0) firstDay = 7;

	calDiv = id;

	createCalendar();
	return;
}


function changedate(buttonpressed, id)
{
	if (buttonpressed == "prevyr")
		yearNum--;
	else
		if (buttonpressed == "nextyr")
			yearNum++;
	else
		if (buttonpressed == "prevmo")
			monthNum--;
	else
		if (buttonpressed == "nextmo")
			monthNum++;
	else
		if (buttonpressed == "return")
		{
			monthNum = todaysMonth;
			yearNum = todaysYear;
		}

	if (monthNum == 0)
	{
		monthNum = 12;
		yearNum--;
	}
	else if (monthNum == 13)
	{
		monthNum = 1;
		yearNum++
	}

	//lastDate = new Date(String(monthNum+1)+"/0/"+String(yearNum));
	lastDate = new Date(String(monthNum)+"/"+monthDays(monthNum,yearNum)+"/"+String(yearNum));
	numbDays = lastDate.getDate();
	firstDate = new Date(String(monthNum)+"/1/"+String(yearNum));
	firstDay = firstDate.getDay()+startWeek;
	if (firstDay==0) firstDay = 7;

	calDiv = id;

	var o=document.getElementById('tableDetalhe');
	if(o)
	{
		o.style.display="none";
	}
	createCalendar();

	return;
}

function createCalendar() {
	var calendarString = buildHeader();
	calendarString += buildDayNames();
	calendarString += buildMonthDays();
	calendarString += buildFooter();

	var object=document.getElementById(calDiv);
	object.innerHTML= calendarString;
	thisDate = 1;
}

function buildHeader() {
	var calendarString = '';

	calendarString += '<table width="185" border="0" cellspacing="0" cellpadding="0">';
	calendarString += '<tr>';
	calendarString += '<td bgcolor="#e2f3fd" style="padding-top:3px">';
	calendarString += '<table class=\"'+cssCalendar+'\" width=\"100%\">';
	calendarString += '<tr>';
	calendarString += '<td class='+cssButton+'><a href=\"#\" onMouseOver=\"document.PrevYr.src=\'' + prevYear + '\';\" onMouseOut=\"document.PrevYr.src=\'' + prevYear + '\';\" onClick=\"changedate(\'prevyr\', \''+calDiv+'\')\"><img name=\"PrevYr\" src=\"' + prevYear + '\" border=\"0\" alt=\"Ano Anterior\"\/><\/a><\/td>';
	calendarString += '<td class='+cssButton+'><a href=\"#\" onMouseOver=\"document.PrevMo.src=\'' + prevMonth + '\';\" onMouseOut=\"document.PrevMo.src=\'' + prevMonth + '\';\" onClick=\"changedate(\'prevmo\', \''+calDiv+'\')\"><img name=\"PrevMo\" src=\"' + prevMonth + '\" border=\"0\" alt=\"Mes Anterior\"\/><\/a><\/td>';
	calendarString += '<td colspan=3 align="center" class='+cssHeader+'><b>' + wordMonth[monthNum-1] + '&nbsp;&nbsp;' + yearNum + '<\/b><\/td>';
	calendarString += '<td class='+cssButton+'><a href=\"#\" onMouseOver=\"document.NextMo.src=\'' + nextMonth + '\';\" onMouseOut=\"document.NextMo.src=\'' + nextMonth + '\';\" onClick=\"changedate(\'nextmo\', \''+calDiv+'\')\"><img name=\"NextMo\" src=\"' + nextMonth + '\" border=\"0\" alt=\"Proximo Mes\"\/><\/a><\/td>';
	calendarString += '<td class='+cssButton+'><a href=\"#\" onMouseOver=\"document.NextYr.src=\'' + nextYear + '\';\" onMouseOut=\"document.NextYr.src=\'' + nextYear + '\';\" onClick=\"changedate(\'nextyr\', \''+calDiv+'\')\"><img name=\"NextYr\" src=\"' + nextYear + '\" border=\"0\" alt=\"Proximo Ano\"\/><\/a><\/td>';
	calendarString += '<\/tr>';
	calendarString += '<tr>';

	return calendarString;
}

function buildDayNames() {
	var calendarString ='';
	var iniWeek = startWeek;

	for (var i = 0; i < wordWeek.length; i++) {
		if (iniWeek > (wordWeek.length-1)) iniWeek = 0;
		calendarString += '<td class='+cssDayName+'>'+wordWeek[iniWeek]+'<\/td>';
		iniWeek++;
	}

	calendarString += '<\/tr>';
	return calendarString;
}

function buildMonthDays() {
	thisDate == 1;
	var daycounter = 0;
	var calendarString = '';

	for (var i = 1; i < wordWeek.length; i++) {
		//if (((thisDate - firstDay)+1) <= numbDays) {
			calendarString += '<tr>';
			for (var x = 1; x <= 7; x++) {
				daycounter = (thisDate - firstDay)+1;//+startWeek;
				thisDate++;
				calendarString += renderDay(daycounter);
			}
			calendarString += '<\/tr>';
		//}
	}

	return calendarString;
}


function renderDay(daycounter) {
	var day = daycounter;		// valor a por no dia
	var mouseOver = 'onmouseover=""';
	var mouseOut = 'onmouseout=""';
	var onclick = 'onclick=""';
	var myclass;					// css

	if ((daycounter > numbDays) || (daycounter < 1)) {
		day = '';
		myclass = 'class='+cssOtherMonthDay;

	} else {
		var isHoliday = Eventos.isHolidayDay(yearNum, numMonth[monthNum-1], daycounter);

		var mes = numMonth[monthNum-1];
		if (numMonth[monthNum-1]<10)
			mes = "0"+numMonth[monthNum-1];
		var dia = daycounter;
		if (dia<10)
			dia = "0"+daycounter;

		var tooltip = Eventos.hasTooltip(yearNum, mes, dia);

		if (isHoliday) {
			day = "F";
			myclass = 'align="center" valign="middle" bgcolor="#addbf5" class='+cssHoliday;
		}
		else {
			day = daycounter;
			if (todaysDate==daycounter && numMonth[monthNum-1]==todaysMonth && yearNum==todaysYear)
				myclass = ' align="center" valign="middle" bgcolor="#addbf5" class='+cssToday;
			else
				myclass = 'align="center" valign="middle" bgcolor="#addbf5" class='+cssDay;
		}

		if (tooltip!="") {
			myclass = 'align="center" valign="middle" class='+cssTooltip;
			var mes = numMonth[monthNum-1];
			if (numMonth[monthNum-1]<10) mes = "0"+numMonth[monthNum-1];
			var dia = daycounter;
			if (dia<10) dia = "0"+daycounter;
			mouseOver='onmouseover="return overlib(\''+tooltip+'\', CAPTION, \'Eventos ['+yearNum+'-'+mes+'-'+dia+']:'+
					'\', STICKY, CSSCLASS,TEXTFONTCLASS,\'tooltip_fontClass\',FGCLASS,\'tooltip_fgClass\', BGCLASS,\'tooltip_bgClass\',STICKY,CAPTIONFONTCLASS,\'tooltip_capfontClass\', CLOSEFONTCLASS, \'tooltip_capfontClass\');"';
			mouseOut = 'onmouseout="return nd(2000);"';

			if (Eventos.onclick)
				onclick = 'onclick="javascript:window.location = \'detalharDia.jsp?data='+yearNum+'-'+numMonth[monthNum-1]+'-'+daycounter+'\'"';
		}
	}

	var calendarString = '<td '+mouseOver+' '+mouseOut+' '+onclick+' '+myclass+'>'+day+'<\/td>';
	return calendarString;
}


function buildFooter() {
		return '<tr><td align="center" colspan=\"7\" class='+cssFooter+'><a class='+cssFooter+' href=\"javascript:window.location = \'detalharDia.jsp?data='+todaysYear+'-'+todaysMonth+'-'+todaysDate+'\'"><b><span class=' +cssFooter+'>Hoje</span><\/b><\/a><\/td><\/tr><\/table></td></tr></table>';
}

