/**********************************************************************************
 *
 * File						calendar.js
 * Creato						luned́, 11. luglio 2005 alle 10:00
 * Autore						Joe (joe@coderspailoc.net)
 * Copyright					(C) 2003-2005 CSL Group
 * Versione					1.1a
 * Ultima modifica		:		venerd́, 2. settembre 2005 alle 20:37
 *
 * Modifiche di integrazione		SKiAt Luca Marchesi (skiat@coderspailoc.net)
 **********************************************************************************/
var date = new Date();
var currentday = date.getDate();
var startday = currentday;
var month = date.getMonth();
var currentmonth = month;
var startmonth = currentmonth;
var year = date.getFullYear();
var currentyear = year;
var startyear = currentyear;
var link_tutti = false
var months = new Array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
var xposition = 0;
var yposition = 0;
var vtime = 0;
var andata_ritorno = 0;
function initCalendar() {
	if (!document.getElementById('calendar')) return 0;
	document.getElementById('calendar').style.visibility = 'hidden';
	document.getElementById('calendar').style.border = '1px solid #000000';
	document.getElementById('calendar').style.width = '130px';
	var htmlcalendar = '<table width="100%" border="0" cellspacing="0" cellpadding="0" class="calendar">';
	//htmlcalendar += '<tr><td align="right" style="text-align:right;" colspan="3"><a href="#" onclick="hideCalendar()">X</a>&nbsp;</td></tr>'
	htmlcalendar += '<tr><td align="center"><a href="#" onclick="previousMonth()">&laquo;</a></td><td width="75%" align="center" ><label id="displayMonth"></label></td><td align="center"><a href="#" onclick="nextMonth()">&raquo;</a></td></tr>';
	htmlcalendar += '<tr><td align="center"><a href="#" onclick="previousYear()">&laquo;</a></td><td align="center"><label id="displayYear"></label></td><td align="center"><a href="#" onclick="nextYear()">&raquo;</a></td></tr>';
	htmlcalendar += '<tr><td id="calendarBody" style="border-top:1px solid black;" colspan="3"></td></tr>';
	htmlcalendar += '</table>';
	document.getElementById('calendar').innerHTML = htmlcalendar;
	createCalendar();
}

function alterInit(yr, mo, gi){
	date = new Date(yr, mo, gi);
	currentday = date.getDate();
	startday = currentday;
	month = date.getMonth();
	currentmonth = month;
	startmonth = currentmonth;
	year = date.getFullYear();
	currentyear = year;
	startyear = currentyear;
	link_tutti = true;
}

function stripLeadingZeroes(input) {
	if((input.length > 1) && (input.substr(0,1) == "0"))
		return input.substr(1);
	else
		return input;
}

function createCalendar() {
	document.getElementById('displayMonth').innerHTML = months[month];
	document.getElementById('displayYear').innerHTML = year;
	var cdate = new Date(year, month, 1);
	var initday = cdate.getDay();
	var lastday = (new Date(year, month+1, 0)).getDate();
	var acolor = new Array('#C1C1C1', '#DCDCDC');
	var icolor = 0;
	var htmlstyle = '';
	var htmlcalendar = '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
	htmlcalendar += '<tr><td>Do</td><td>Lu</td><td>Ma</td><td>Me</td><td>Gio</td><td>Ve</td><td>Sa</td></tr><tr>';
	var j = 1;
	for (i = 0; j <= lastday; i++) {
		if (i >= initday) {
			if ((j == currentday) && (cdate.getMonth() == currentmonth) && (cdate.getFullYear() == currentyear)) { htmlstyle = '; background: #357BBC'; }
			else { htmlstyle = ''; }
			if (!link_tutti) {
				if (cdate.getFullYear() == startyear) {
					if (cdate.getMonth() == startmonth) {
						if (j >= startday) {
							htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '"><a href="#" onclick="fdate(' + j + ')">' + j + '</a></td>';
						}
						else {
							htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '">' + j + '</td>';
						}
					}
					else if (cdate.getMonth() > startmonth) {
						htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '"><a href="#" onclick="fdate(' + j + ')">' + j + '</a></td>';
					}
					else {
						htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '">' + j + '</td>';
					}
				}
				else if (cdate.getFullYear() > startyear) {
					htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '"><a href="#" onclick="fdate(' + j + ')">' + j + '</a></td>';
				}
				else {
					htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '">' + j + '</td>';
				}
			}else{
				htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '"><a href="#" onclick="fdate(' + j + ')">' + j + '</a></td>';
			}
			if ((initday + j) % 7 == 0) {
				htmlcalendar += '</tr><tr>';
				icolor = ~ icolor;
			}
			j++;
		} else {
			htmlcalendar += '<td></td>';
		}
	}
	htmlcalendar += '</tr></table>';
	document.getElementById('calendarBody').innerHTML = htmlcalendar;
}


/*function createCalendar() {
	document.getElementById('displayMonth').innerHTML = months[month];
	document.getElementById('displayYear').innerHTML = year;
	var cdate = new Date(year, month, 1);
	var initday = cdate.getDay();
	var lastday = (new Date(year, month+1, 0)).getDate();
	var acolor = new Array('#C1C1C1', '#DCDCDC');
	var icolor = 0;
	var htmlstyle = '';
	var htmlcalendar = '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
	htmlcalendar += '<tr><td>Do</td><td>Lu</td><td>Ma</td><td>Me</td><td>Gio</td><td>Ve</td><td>Sa</td></tr><tr>';
	var j = 1;
	for (i = 0; j <= lastday; i++) {
		if (i >= initday) {
			if ((j == currentday) && (cdate.getMonth() == currentmonth) && (cdate.getFullYear() == currentyear)) { htmlstyle = '; background: #357BBC'; }
			else { htmlstyle = ''; }
			if ((j >= startday) && (cdate.getMonth() >= startmonth) && (cdate.getFullYear() >= startyear)) {
				htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '"><a href="#" onclick="fdate(' + j + ')">' + j + '</a></td>';
			}
			else {
				htmlcalendar += '<td align="center" style="background: ' + acolor[Math.abs(icolor)] + htmlstyle + '">' + j + '</td>';
			}
			if ((initday + j) % 7 == 0) {
				htmlcalendar += '</tr><tr>';
				icolor = ~ icolor;
			}
			j++;
		}
		else {
			htmlcalendar += '<td></td>';
		}
	}
	htmlcalendar += '</tr></table>';
	document.getElementById('calendarBody').innerHTML = htmlcalendar;
}*/
function nextMonth() {
	if (month < 11) {
		month++;
	}
	else {
		month = 0;
		year++;
	}
	createCalendar();
}
function previousMonth() {
	if (month > 0) {
		month--;
	}
	else {
		month = 11;
		year--;
	}
	createCalendar();
}
function nextYear() {
	year++;
	createCalendar();
}
function previousYear() {
	year--;
	createCalendar();
}
function showCalendar(ar) {
	andata_ritorno = ar;
	var pos;
	if (document.getElementById('is_alita')){
		if (ie){
			pos = (ar==0)?("140"):("286");
		}else{
			pos = (ar==0)?("130"):("260");
		}
	}else{
		if (ie){
			pos = (ar==0)?("125"):("260");
		}else{
			pos = (ar==0)?("110"):("243");
		}
	}
	if (document.getElementById('ovr_cal')){
		document.getElementById('ovr_cal').style.height = pos+"px";
	}
	/*if (ie) {
		if (document.getElementById('calendar').style.visibility == 'hidden') {
			xposition = event.clientX + document.body.scrollLeft + 20;
			yposition = event.clientY + document.body.scrollTop;
		}
	}*/
	if (document.getElementById('calendar').style.visibility == 'hidden') {
		document.getElementById('calendar').style.visibility = 'visible';
	}
	else {
		document.getElementById('calendar').style.visibility = 'hidden';
	}
}
function hideCalendar() {
	document.getElementById('calendar').style.visibility = 'hidden';
}
var ie = document.all?true:false;
/*if (!ie) {
	document.onmousemove = getMousePosition;
}
function getMousePosition(e) {
	if (document.getElementById('calendar').style.visibility == 'hidden') {
		xposition = e.pageX + 20;
		yposition = e.pageY;
	}
}*/
function fdate(day) {
	if (!link_tutti){
		if (andata_ritorno == 0){
			document.forms['prenot'].elements['gp'].value = day;
			document.forms['prenot'].elements['mp'].value = month + 1;
			document.forms['prenot'].elements['ap'].value = year;
		}else if(andata_ritorno == 1){
			document.forms['prenot'].elements['gr'].value = day;
			document.forms['prenot'].elements['mr'].value = month + 1;
			document.forms['prenot'].elements['ar'].value = year;
		}
		hideCalendar();
	}else{
		document.getElementById("gv").value = day;
		document.getElementById("mv").value = month + 1;
		document.getElementById("av").value = year;
		var finalDate = new Date(year, month, day);
		document.getElementById("day_reporter").value = (finalDate.getTime()/1000);
	}
	
}