var month = new Array();
var year = new Array();
var firstDate = new Array();
var lastDate = new Array();
var firstString = new Array();
var lastString = new Array();
var babbo = false;
function creaCalendario (evento, mese, anno) {
var Calendar = new Array ();
var opStr = ((self.operatore !== undefined) && self.operatore != '')? '&wms_op='+operatore: '';
var replicheEvento = eventi[evento];
if (firstDate[evento] == null ) {
firstDate[evento] = new Date (replicheEvento[0][2].getFullYear(), replicheEvento[0][2].getMonth(), 1); // primo giorno del primo mese
firstString[evento] = $('#mese_prev_'+evento).html();
}
if (lastDate[evento] == null ) {
lastDate[evento] = new Date (replicheEvento[replicheEvento.length-1][2].getFullYear(), replicheEvento[replicheEvento.length-1][2].getMonth()+1, 0); //ultimo giorno dell'ultimo mese
lastString[evento] = $('#mese_next_'+evento).html();
}
month[evento] = mese;
year[evento] = anno;
//inserisco il nome del mese
var mm = $('#mese_anno_'+evento);
mm.html(mesi[mese]+' '+anno);
//creo l'array per il calendario
var first = new Date (anno, mese, 1);
var last = new Date (anno, mese+1, 0); //da l'ultimo giorno del mese precedente anche se cambio anno
if (first.valueOf() == firstDate[evento].valueOf()) $('#mese_prev_'+evento).html('') ;
else $('#mese_prev_'+evento).html(firstString[evento]) ;
if (last.valueOf() == lastDate[evento].valueOf()) $('#mese_next_'+evento).html('') ;
else $('#mese_next_'+evento).html(lastString[evento]) ;
//quanti vuoti prima?
for (var i=0; i< ((first.getDay() + 6)%7); i++ ) {
Calendar.push (null);
}
// aggiungo i giorni del mese
for (var i=1; i<= last.getDate(); i++) {
var trovato =false;
var d = new Date (anno, mese, i,0,0,0,0);
for (var j=0; j< replicheEvento.length; j++) {
if (d.valueOf() == replicheEvento[j][2].valueOf()) { // giorno con evento
Calendar.push (new Array (i,replicheEvento[j][3], replicheEvento[j][0], replicheEvento[j][1], replicheEvento[j][4]));
trovato =true;
}
}
if (!trovato)
Calendar.push (new Array (i,null)); // giorno senza evento
}
//quanti vuoti dopo?
for (var i=0; i< ((7 - last.getDay())%7); i++ ) {
Calendar.push (null);
}
var dayOfTheMonth = '';
//mostriamoli
for (i=0; i< Calendar.length; i++) {
if (Calendar[i]) { // giorno del mese
if (Calendar[i][1] == null) // giorno senza evento
dayOfTheMonth += '
'+Calendar[i][0]+'';
else if (Calendar[i][1] == '0') // giorno senza disponibilita
dayOfTheMonth += ''+Calendar[i][0]+'';
else { // giorno con disponibilita
var posti_label='';
if (Calendar[i][1] == -1)
// disponibilita' expo sempre -1
posti_label=frasi.calendario['disponibilita']+' '+frasi.calendario['seat'];
else
posti_label=Calendar[i][1]+' '+frasi.calendario['seat'];
if (Calendar[i][4] == 1) //cardinalit� 1
dayOfTheMonth += ''+Calendar[i][0]+'';
else //cardinalit� > 1
dayOfTheMonth += ''+Calendar[i][0]+'';
}
}
else // cella vuota
dayOfTheMonth += "";
}
$('#dayOfTheMonth_'+evento).html(dayOfTheMonth);
}
function giraPagina (evento, quando) {
var mese = month[evento];
var anno = year[evento];
if (quando == 1) { // successivo
if (month[evento] == 11) { mese = 0; anno = year[evento] +1; }
else { mese = month[evento] +1; anno = year[evento]; }
}
else if (quando == -1) { // precedente
if (month[evento] == 0) { mese = 11; anno = year[evento] -1; }
else { mese = month[evento] -1; anno = year[evento]; }
}
creaCalendario (evento, mese, anno);
}
function showTimeCal(dayElement, evento, tcode, pcode, day) {
var d=day; if (d.length<2) d='0'+d;
var m=month[evento]+1; if (m<10) m='0'+m;
var add = '';
if (babbo) add= '&request_data='+request_data+'&code='+code[evento]+'&date='+year[evento]+'-'+m+'-'+d;
$.ajax({
type: "POST",
url: "/eventoWidgetTlite.php",
data: "ajax=1&cal=1&tcode="+tcode+'&pcode='+pcode+add,
success: function(msg){ handlerCalendario(msg, evento); }
});
$('#timeCalTitle_'+evento).html (frasi.calendario['orario'] + ' - '+day+'/'+m+'/'+year[evento]);
$('#timeCal_'+evento).css('display','block');
$('#dayOfTheMonth_'+evento).find('a').removeClass ('selected');
$(dayElement).addClass ('selected');
}
function handlerCalendario(content, evento) {
var opStr = ((self.operatore !== undefined) && operatore != '')? '&wms_op='+operatore: '';
var dispo_label = '';
var tcFascie = '';
eval ('var fascie = '+content+';');
for (var i=0; i'+fascie[i]['ora']+'';
}
else {
if (fascie[i]['d'] < dispo) dispo_label = fascie[i]['d']+' '+frasi.calendario['seat'];
else dispo_label = frasi.calendario['disponibilita'];
if (babbo) tcFascie += ''+fascie[i]['ora']+'';
else tcFascie += ''+fascie[i]['ora']+'';
}
}
if (fascie.length%4 != 0) {
for (var i=0; i<(4-fascie.length%4); i++) {
tcFascie += '';
}
}
$('#timeCalFascie_'+evento).html(tcFascie);
}
function submitFormPrenota (evento, code) {
$('#pcode_'+evento).val(code);
$('#frmPrenota'+evento).submit();
}