

// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 30th October 2006

var tb = 't'; // top or bottom (t or b)
var headbg = 'transparent';  // table heading background colour
var todayColor = 'white'; // current selected date font colour
var todayFontSize = '14pt'; //Tamanho da letra do dia de hoje
var textclr = '#9E9E9E'; // text colour
var linkclr = '#white'; // link text colour
var noMessage =  ' '; // message to display when no entry in array

var dA = new Array(); var x = 0;
// first 8 characters in ccyymmdd format for single date events
// first 8 characters in 0000mmdd format for every year events
/*dA[x++] = "00000101 New Year";
dA[x++] = "00000214 Valentine's day";
dA[x++] = "00000709 Steve's Birthday";
dA[x++] = "00000919 Site Anniversary";
dA[x++] = "00001206 St Nicholas' Day";
dA[x++] = "20090901 St Nicholas' Day";*/
dA[x++] = "00000120 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000220 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000320 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000420 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000520 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000620 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000720 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000820 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000920 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00001020 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00001120 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00001220 Reten\u00e7\u00e3o na fonte";
dA[x++] = "00000110 Entregas mensais IVA";
dA[x++] = "00000210 Entregas mensais IVA";
dA[x++] = "00000310 Entregas mensais IVA";
dA[x++] = "00000410 Entregas mensais IVA";
dA[x++] = "00000510 Entregas mensais IVA";
dA[x++] = "00000610 Entregas mensais IVA";
dA[x++] = "00000710 Entregas mensais IVA";
dA[x++] = "00000810 Entregas mensais IVA";
dA[x++] = "00000910 Entregas mensais IVA";
dA[x++] = "00001010 Entregas mensais IVA";
dA[x++] = "00001110 Entregas mensais IVA";
dA[x++] = "00001210 Entregas mensais IVA";
dA[x++] = "00000115 Seguran\u00e7a Social";
dA[x++] = "00000615 Seguran\u00e7a Social";
dA[x++] = "00000715 Seguran\u00e7a Social";
dA[x++] = "00000915 Seguran\u00e7a Social";
dA[x++] = "00001015 Seguran\u00e7a Social";
dA[x++] = "00000515 Pagamento do 1\u00ba Trimestre de IVA e Seguran\u00e7a Social";
dA[x++] = "00000815 Pagamento do 2\u00ba Trimestre de IVA e Seguran\u00e7a Social";
dA[x++] = "00001115 Pagamento do 3\u00ba Trimestre de IVA e Seguran\u00e7a Social";
dA[x++] = "00000215 Pagamento do 4\u00ba Trimestre de IVA e Seguran\u00e7a Social";
dA[x++] = "00000201 Inicio da 1\u00ba Fase do IRS via papel";
dA[x++] = "00000301 Inicio da 1\u00ba Fase do IRS via net";
dA[x++] = "00000315 Termino da 1\u00ba Fase do IRS via papel, Inicio da 2\u00ba Fase do IRS via papel e Seguran\u00e7a Social";
dA[x++] = "00000415 Termino da 1\u00ba Fase do IRS via net, Inicio da 2\u00ba Fase do IRS via net e Seguran\u00e7a Social";
dA[x++] = "00000430 Termino da 2\u00ba Fase do IRS via papel";
dA[x++] = "00000526 Termino da 2\u00ba Fase do IRS via net";
dA[x++] = "00000501 Inicio do IRC";
dA[x++] = "00000530 Termino do IRC";
dA[x++] = "00000601 Inicio do IES/DA";
dA[x++] = "00000630 Termino do IES/DA";
dA[x++] = "00000331 1\u00aa Presta\u00e7\u00e3o do PEC (pagamento especial por conta)";
dA[x++] = "00001031 2\u00aa Presta\u00e7\u00e3o do PEC (pagamento especial por conta)";
dA[x++] = "00000731 1\u00aa Presta\u00e7\u00e3o do PC (pagamento por conta)";
dA[x++] = "00000930 2\u00aa Presta\u00e7\u00e3o do PC (pagamento por conta)";
dA[x++] = "00001215 3\u00aa Presta\u00e7\u00e3o do PC (pagamento por conta) e Seguran\u00e7a Social";

// dA[x++] = "20060610 New Event Calendar Started today";

// permission is granted to use this javascript provided that the below code is not altered
var pageLoaded = 0; window.onload = 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 = ['Janeiro', 'Fevereiro', 'Mar\u00e7o', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
var today = new Date();
var selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());

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 = ['Do','Sg','Te','Qa','Qi','Sx','Sa']; 
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 width="30" style="font-size:' + todayFontSize + '; color:' + todayColor + '" align="center"><b>'; 
var td_start = '<td width="30" align="center" style="height: 34px;">'; 
var td_diasDaSemana = '<td width="30" align="center" style="height: 40px; font-size: 18px; color:white;">'; 
var cal = '<div id="cal"><div id="calendario"><table border="0" cellspacing="0" cellpadding="2" align="center"><tr>'; 
for(dex=0; dex < 7; dex++) {cal += td_diasDaSemana + 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; 
for(dex=0; dex < weekday; dex++) cal += td_start + ' <\/td>'; 
for(dex=1; dex <= daysInMonth; dex++) {
if(weekday == 7) {cal += '</tr><tr>'; weekday = 0;} 
if(selDate==year+getmmdd(month+1,dex)) cal += hilite_start +'<span '+clickDate(dex,month,year) + '>'+ dex + '<\/span><\/b><\/td>'; 
else cal += td_start + '<span '+clickDate(dex,month,year) + '>' + dex + '<\/span><\/td>'; weekday += 1;} 
for(dex=weekday; dex < 7; dex++) cal += td_start + ' <\/td>'; cal += '<\/tr><\/table><\/div>';
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 += '<table border="0" cellspacing="0" cellpadding="2" width="253">' +
 '<tr><td><a href="#" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><<</a></td>  <td><a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><</a></td>' + 
 '<td style="background:' + headbg + '" align="center"><b>' + moy[month]  + ' ' + year + '<\/b><\/td>' +
 '<td align="right"><a href="#" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">></a></td><td align="right"><a href="#" onclick="if (cala = dispCal('+ya+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}">>></a></td></tr></table>';} 
else {cal += '<div> </div>';} 
cal += '</div>'; 
return cal;}

function start() {
var x = '<div id="calDate" style="text-align:center; font-size:12pt; font-color:black; ;width:253px"><\/div>'; 
var y = ''; 
if (tb == 't') y = x + dispCal(0,0); 
else 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 'style="color:'+textclr+'"'; 
else return 'style="background: url(images/img11.jpg) no-repeat; font-weight:bold; font-size:11pt; cursor:pointer;color:'+linkclr+'" onclick="selDate = '+year+ getmmdd(month+1,day)+'; isDate(' + day + ',' + month + ',' + year + ');return false;"';}

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('calDate').innerHTML = ct; return false;}

function nextDate(yymmdd) {var x = dA.length;for (var i = 0; i < x; i++) {if (dA[i].substr(0,8) == yymmdd) return dA[i].substr(8);}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 = noMessage; document.getElementById('calDate').innerHTML = unescape(ct);}
