// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 30th October 2006
// http://javascript.about.com/library/blevent1.htm


var tb = 'b'; // top or bottom (t or b)
var headbg = '#CCCCCC';  // table heading background colour
var todaybg = '#99CCCC'; // current selected date background colour
var textclr = '#000000'; // text colour
var linkclr = '#FF0000'; // link text colour
var noMessage =  'Clicca sulla data evidenziata in rosso per vedere il dettaglio dell\'appuntamento <br/><br/> Usa i simboli < > per scorrere i mesi e i simboli << >> per scorrere gli anni'; // 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 (ex. dA[x++] = "00000101 New Year";)
// dA[x++] = "20090725 <i> La Runeda (<a href=\"http://www.laruneda.com\">sito internet</a>). Per le adesioni consultare la bacheca. <br /><br /> Come alternativa: giro di due giorni (25-26) sulle Dolomiti in mtb organizzato dal Trapper </i>";

dA[x++] = "20100113 <i> Riunione mensile </i>";
dA[x++] = "20100203 <i> Riunione mensile </i>";
dA[x++] = "20100303 <i> Riunione mensile </i>";
dA[x++] = "20100407 <i> Riunione mensile </i>";
dA[x++] = "20100505 <i> Riunione mensile </i>";
dA[x++] = "20100609 <i> Riunione mensile </i>";
dA[x++] = "20100707 <i> Riunione mensile </i>";
dA[x++] = "20100901 <i> Riunione mensile </i>";
dA[x++] = "20101006 <i> Riunione mensile </i>";
dA[x++] = "20101103 <i> Riunione mensile </i>";
dA[x++] = "20100221 <i> GF Cittą di Locara </i>";
dA[x++] = "20100328 <i> GF Tre Valli </i>";
dA[x++] = "20100405 <i> Trofeo Bike Store </i>";
dA[x++] = "20100418 <i> GF del Durello </i>";
dA[x++] = "20100425 <i> GF Paola Pezzo oppure gara mtb a Pozzomoretto </i>";
dA[x++] = "20100501 <i> GF Baldo Bike </i>";
dA[x++] = "20100502 <i> Gara mtb a Colognola ai Colli </i>";
dA[x++] = "20100523 <i> Divinus Bike </i>";
dA[x++] = "20100530 <i> Trofeo Cangrande </i>";
dA[x++] = "20100602 <i> Lessinia Legend </i>";
dA[x++] = "20100613 <i> Gigi days e Soave Bike </i>";
dA[x++] = "20100627 <i> Trofeo San Vincenzo </i>";
dA[x++] = "20100725 <i> Lessinia Bike </i>";
dA[x++] = "20100807 <i> 16H Santa Viola </i>";
dA[x++] = "20100808 <i> 16H Santa Viola </i>";
dA[x++] = "20100912 <i> Verona - Bosco </i>";
dA[x++] = "20100919 <i> Trofeo Cittą di Pastrengo </i>";
dA[x++] = "20100926 <i> Trofeo Castello di Montorio oppure Custoza Bike</i>";
dA[x++] = "20101003 <i> Safari Bike Benini </i>";
dA[x++] = "20101017 <i> Trofeo Cittą di Valeggio </i>";
dA[x++] = "20100307 <i> Gemellaggio con gli amici di Valeggio. Info e adesioni in bacheca </i>";
dA[x++] = "20100521 <i> Gita sociale </i>";
dA[x++] = "20100522 <i> Gita sociale </i>";
dA[x++] = "20100523 <i> Gita sociale </i>";
dA[x++] = "20100625 <i> Notturna in MTB http://veronabike.it </i>";
dA[x++] = "20100710 <i> La RUNEDA http://www.laruneda.com/laruneda2010/programma.htm </i>";
// 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 = ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
var today = new Date();
var selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());
var disDate = getddmm(today.getDate(),today.getMonth()+1)+today.getFullYear();

function dispCal(yy,mm) {
	if (mm < 0 || mm > 12) {
		alert('il mese deve essere compreso tra 1 e 12');
		return false;
	} 
	if (yy != 0 && (yy < 1901 || yy > 2100)) {
		alert('anno deve essere compreso tra 1900 e 2101');
		return false;
	} 
	var dow = ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'];
	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="background:' + todaybg + '" align="center"><b>';
	var td_start = '<td width="30" align="center">';
	var cal = '<div id="cal"><div style="border:1pt solid #cccccc; height:150px;width:250px; z-index:1; top:0px;left:0px"><table border="0" cellspacing="2" cellpadding="2" align="center"><tr><td colspan="7" style="background:' + headbg + '"align="center"><b>' + moy[month]  + ' ' + year + '<\/b><\/td><\/tr><tr></div></div>';

	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;
	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 += '<div style="z-index:2"><table border="0" cellspacing="0" cellpadding="2" width="250"><tr><td align="left"><a href="#" onclick="if (cala = dispCal('+yb+','+mm+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><<</a></td><td align="left"><a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><</a></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></div>';

	} 
	else {cal += '<div> </div>';} 
	cal += '</div>'; 
	return cal;
}

function start() {
 	var x = '<div id="calDate" style="border:1pt solid #cccccc; width:280px; height:150px; background-image:url(\'immagini/bggrey.png\'); overflow-y:scroll; overflow-x:hidden; text-align:left; position:absolute;top:0px;left:270px"><\/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="cursor:pointer;font-weight:bold;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;
	selDate = getddmm(dayVal, monthVal+1) +year;
	document.getElementById('calDate').innerHTML = selDate + ':<br \/>' +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 getddmm(dd,mm) {
	return (dd > 9 ? dd : '0' + dd) + '/' + (mm > 9 ? '' + mm : '0' + mm) +'/';
}

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 = disDate + ':<br \/> ' +ct;
}






