/**
 * @author Administrator
 */
			/*
			 * getDay(): numero corrispondente al giorno della settimana. domenica=0
			 * getMonth(): mese su base 0. gennaio=0
			 *   //calcola domani. se fa la set di un giorno tipo "32/1", viene convertita automaticamente
			 *     oggi.setDate(oggi.getDate() + 1);
			 *     
			 */
			
			var nomiMesi = ["gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre"];
			
			var global_meseSelezionato;
			var global_annoSelezionato;
			
			var global_eventi = "";
            
            var link = "#";
            var link_alt = "";
			

			//-------------------------------------------
            
            function setGlobalEventi(/*String*/eventDatesStr) {
                global_eventi = eventDatesStr;
            }
            
			//-------------------------------------------

			function selezionaMeseCorrente(){
				var now = new Date();
				var nowMese = now.getMonth();
				var nowAnno = now.getFullYear();
				
				selezionaMese(nowMese, nowAnno);
				
			}

			//-------------------------------------------

			function selezionaMese(mese, anno) {
				var precMese;
				var precAnno;
				if (mese == 0) {
					precMese = 11;
					precAnno = anno - 1;
				} else {
					precAnno = anno;
					precMese = mese - 1;
				}
				
				var succMese;
				var succAnno;
				if (mese == 11) {
					succMese = 0;
					succAnno = anno + 1;
				} else {
					succMese = mese + 1;
					succAnno = anno;
				}
				
				var precMese = mese == 0 ? 11 : mese - 1;
				var precAnno = mese ==
				//exp(precMese, precAnno, 'calendarioPrecDiv');
				exp(mese, anno, 'calendario');
				//exp(succMese, succAnno, 'calendarioSuccDiv');
				
				global_meseSelezionato = mese;
				global_annoSelezionato = anno;
			}
			
			//-------------------------------------------

			function shiftGiornoSett(/*int*/ n) {
				n--;
				if (n == -1) {
					n = 6;
				}
				return n;
			}
			
			//-------------------------------------------
			
			function giornoSucc(/*Date*/ d) {
				var gSucc = d;
				gSucc.setDate(gSucc.getDate() + 1);
				return gSucc;
			}

			//-------------------------------------------
			
			function exp(mese, anno, destDiv) {
				
				var oggi = new Date();
				
				var dataIniziale = new Date();

				dataIniziale.setDate(1);
				dataIniziale.setMonth(mese);
				dataIniziale.setYear(anno);
				
				var meseCorrente = dataIniziale.getMonth();
				

				var inizioMese = new Date();
				
				inizioMese.setDate(1);
				inizioMese.setMonth(mese);
				inizioMese.setYear(anno);
				
				var meseCorr = inizioMese.getMonth();
				var annoCorr = inizioMese.getFullYear();
				var annoDelMeseSucc = annoCorr;
				var meseSucc;
				if (meseCorr == 11) {
					meseSucc = 0;
					annoDelMeseSucc = annoCorr + 1;
				} else {
					meseSucc = meseCorr + 1;
				}
				
				var inizioMeseSucc = new Date();
				inizioMeseSucc.setDate(1);
				inizioMeseSucc.setMonth(meseSucc);
				inizioMeseSucc.setYear(annoDelMeseSucc);

				
				
				
				var calEl = document.getElementById(destDiv);
				
				var calStr = "";
				var inizioShiftato = shiftGiornoSett(inizioMese.getDay());
				//DBG alert(inizioShiftato);

				//intestazione
                //html
				calStr += "" +
    	        
        	        "<div id=\"mesePrec\"><a href=\"javascript:indietroUnMese()\"><img src=\"/img/cal_mesePrec.gif\"/></a></div>" +
                    "<div id=\"nomeMese\">" + nomiMesi[mese] + " " + annoCorr + "</div>" +
        	        "<div id=\"meseSucc\"><a href=\"javascript:avantiUnMese()\"><img src=\"/img/cal_meseSucc.gif\"/></a></div>" +
                    "<br style=\"clear:both\"/>" +

        	        "<div class=\"giorno int\">lu</div>" +
        	        "<div class=\"giorno int\">ma</div>" +
        	        "<div class=\"giorno int\">me</div>" +
        	        "<div class=\"giorno int\">gi</div>" +
        	        "<div class=\"giorno int\">ve</div>" +
        	        "<div class=\"giorno int\">sa</div>" +
        	        "<div class=\"giorno int\">do</div>";
		
				//metto i buchi per l'inizio del mese
				for(var i=0; i<inizioShiftato; i++) {
                    //html
					calStr += "<div class=\"giorno\">&nbsp;</div>";
				}
				
				var meseCorrente = inizioMese.getMonth();
				var giornoCorrente = inizioMese;
				//S var settimanaFinita = false;
				var meseFinito = false;

				while (!meseFinito) {
					//S if (giornoCorrente.getMonth() != meseCorrente) {
					//S 	meseFinito = true;
					//S }
					
					//S settimanaFinita = false;
					
					//S while (!settimanaFinita && !meseFinito) {
						
					var dataDaScrivere = giornoCorrente.getDate() + "";
					if (dataDaScrivere.length == 1) {
						dataDaScrivere = "0" + dataDaScrivere;
					} else {
					}
					
					var classeGiorno = "giorno";
					
					if (ciSonoEventiIn(giornoCorrente)) {
						classeGiorno += " concerto";
					}
					
					if (
							giornoCorrente.getDate() == oggi.getDate() &&
							giornoCorrente.getMonth() == oggi.getMonth() &&
							giornoCorrente.getFullYear() == oggi.getFullYear()
						) {
						classeGiorno += " oggi";
					}
					
					if (ciSonoEventiIn(giornoCorrente)) {
                //html
						calStr += "<div title=\"" + link_alt + "\" onclick=\"javascript:location.href='" + link + "';\" class=\"" + classeGiorno + "\"><a href=\"javascript:return null;\" title=\"" + link_alt + "\" alt=\"" + link_alt + "\">" + dataDaScrivere + "</a></div>";
					} else {
                //html
						calStr += "<div class=\"" + classeGiorno + "\">" + dataDaScrivere + "</div>";
					}
					
					//S if (giornoCorrente.getDay() == 0) {
						//S settimanaFinita = true;
						//con altro strutture html serviva il br, ma con i div no
						//calStr += "<br/>"
					//S }

					
					giornoCorrente = giornoSucc(giornoCorrente);

					if (giornoCorrente.getMonth() != meseCorrente) {
						meseFinito = true;
					}

					//S}
				}
                calStr += "" +

                    "<br style=\"clear:both\"/>";
                    
                if (meseCorrente != oggi.getMonth() || dataIniziale.getFullYear() != oggi.getFullYear()) {
                    calStr += "" +
                        "<div id=\"resetCal\"><a href=\"javascript:selezionaMeseCorrente();\">torna al mese corrente</a></div>" +
                        "<br style=\"clear:both\"/>";
                }
				
				calEl.innerHTML = calStr;
				
			}
			
			//-------------------------------------------
			
			function addZero(s) {
				var sStr = "" + s; //mi assicuro che sia una stringa
				if (sStr.length == 1) {
					sStr = "0" + sStr;
				}
				return sStr;
			}

			//-------------------------------------------
			
			function ciSonoEventiIn(/*Date*/giorno) {
				
				var dataDaCercare = addZero(giorno.getDate()) + addZero(giorno.getMonth() + 1) + giorno.getFullYear();
				if (global_eventi.indexOf(dataDaCercare) > -1) {
					return true;
				} else {
					return false;
				}
			}

			//-------------------------------------------
			
			function indietroUnMese() {
				if (global_meseSelezionato == 0) {
					global_meseSelezionato = 11;
					global_annoSelezionato--;
				} else {
					global_meseSelezionato--;
				}
				
				selezionaMese(global_meseSelezionato, global_annoSelezionato);
			}

			//-------------------------------------------

			function avantiUnMese() {
				if (global_meseSelezionato == 11) {
					global_meseSelezionato = 0;
					global_annoSelezionato++;
				} else {
					global_meseSelezionato++;
				}
				selezionaMese(global_meseSelezionato, global_annoSelezionato);
			}
				
			//-------------------------------------------
            
            function setLink(linkPar, altPar) {
                link = linkPar;
                link_alt = altPar;
            }

			//-------------------------------------------




