
	
	function ObjDate(){
	    this.oggi = new Date();
		this.anno = this.oggi.getFullYear();
		this.mese = this.oggi.getMonth();
		this.giorno = this.oggi.getDay();
		this.giornoNum = this.oggi.getDate();
	    this.ora = this.oggi.getHours();
		this.minuti = this.oggi.getMinutes();
		this.getDigitalHour = getDigitalHour;
		this.getMonthString = getMonthString;
	    this.getDayString = getDayString;
		this.getDateString = getDateString;
	}//FINE FUNZIONE OBJDATE()
	

	function getDigitalHour(){
	   var str="";
	   str = (this.ora<10) ? "0" + this.ora + ":":"" + this.ora + ":";
	   str+= (this.minuti<10) ? "0" + this.minuti : "" + this.minuti;
	   return str;
	}//FINE FUNZIONE GETDIGITALHOUR()
	

	function getMonthString(){
	    var str;
		switch(this.mese){
			case 0: 
				str = "Gennaio";
				break;
			case 1:
				str = "Febbraio";
				break;
			case 2:
				str = "Marzo";
				break;
			case 3:
				str =  "Aprile";
				break;
			case 4:
				str =  "Maggio";
				break;
			case 5:
				str =  "Giugno";
				break;
			case 6:
	            str =  "Luglio";
				break;
			case 7:
				str =  "Agosto";
				break;
			case 8:
				str =  "Settembre";
				break;
			case 9:
				str =  "Ottobre";
				break;
			case 10:
				str =  "Novembre";
				break;
			case 11:
				str = "Dicembre";
				break;
			}
		return str;
	}//FINE FUNZIONE GETMONTHSTRING()

	
	function getDayString(){
	    var str;
		switch(this.giorno){
			case 0:
				str = " Domenica ";
				break;
			case 1:
				str = " Luned\ì ";
				break;
			case 2:
				str = " Marted\ì ";
				break;
			case 3:
				str = " Mercoled\ì ";
				break;
			case 4:
				str = " Gioved\ì ";
				break;
			case 5:
				str = " Venerd\ì ";
				break;
			case 6:
				str = " Sabato ";
				break;
		}
		return str;
	}//FINE FUNZIONE GETDAYSTRING()

	
	function getDateString(){
	    var str;
		var meseStr = this.getMonthString();
		var giornoStr = this.getDayString();
		var oraStr = this.getDigitalHour();
		return (giornoStr + " " + this.giornoNum + "  " + meseStr + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + oraStr);
	}

	var primavolta = true;
	function ottieniData(){
		
		var nomefilecalendario;
		var oggi = new ObjDate();
		var str = oggi.getDateString();
		var elm=inserisciStringaElmById("orologio", str)
		//Se il browser è supportato...
		if (elm!=null){
			if(oggi.getDigitalHour() == "00:00"  || primavolta){
				primavolta=false;
				nomefilecalendario="calendario"+oggi.anno+".xml";
				res=caricaXML(nomefilecalendario, "1");	
			}
		}
		setTimeout("ottieniData()",1000);
	}//FINE FUNZIONE OTTIENIDATA()
	
	
	
	var div;
	function Home(){
		div="divpiccolo"
		caricaXML("avvisi.xml", "2");
		ottieniData ();
		slideit1();
		slideit2();
	}//FINE FUNZIONE HOME()
	
	
	function Avvisi(){
		div="divgrande";
		caricaXML("avvisi.xml", "2");
		ottieniData ();
		
	}//FINE FUNZIONE AVVISI()
		
	
	var file_XML1, file_XML2;
	function caricaXML(nome, num){
		
		try{
			//Caricamento XML su cui lavorare
			//IE
			if (window.ActiveXObject){
	  			
				if (num == "1"){
					file_XML1 = new ActiveXObject("Microsoft.XMLDOM");
			    	file_XML1.async=false;
	  				ris=file_XML1.load(nome);
					if (ris==true){
						readXML1();
					}else{
						alert("Problema con il file "+nome+".\nControllare che esista e sia effettivamente un xml ben formato e che la codifica dichiarata si effettivamente tale.");
			 			return null;
					}
				}else{
					file_XML2 = new ActiveXObject("Microsoft.XMLDOM");
			    	file_XML2.async=false;
	  				ris=file_XML2.load(nome);
					if (ris==true){
						readXML2();
					}else{
						alert("Problema con il file "+nome+".\nControllare che esista e sia effettivamente un xml ben formato e che la codifica dichiarata si effettivamente tale.");
			 			return null;
					}
				}
				return ris;
	  		}

	  		//Mozilla, Firefox, Opera, etc.
			else if (document.implementation && document.implementation.createDocument) {
				
				if (num == "1"){
					file_XML1 = document.implementation.createDocument("","", null);
					ris=file_XML1.load(nome);
					if (ris==true){
						file_XML1.onload = readXML1;
					}else{
						alert("Problema con il file "+nome+".\nControllare che esista e sia effettivamente un xml ben formato e che la codifica dichiarata si effettivamente tale.");
			 			return null;
					}
				}else{
					file_XML2 = document.implementation.createDocument("","", null);
					ris=file_XML2.load(nome);	
					if (ris==true){
						file_XML2.onload = readXML2;
					}else{
						alert("Problema con il file "+nome+".\nControllare che esista e sia effettivamente un xml ben formato e che la codifica dichiarata si effettivamente tale.");
			 			return null;
					}
				}
				return ris;
	 		}
	 		
	 		
 		} catch (e){
	 		alert("Problema con il file "+nome+".\nEccezione sollevata nell'esecuzione dello script.");
	 		return null;
 		}
	}//FINE FUNZIONE CARICAXML()
	
	
	function readXML1(){
					
		var oggi = new ObjDate();
		var mese = oggi.getMonthString();
		var giorno = oggi.giornoNum;
		var anno = oggi.anno;
			
			
		var root = file_XML1.documentElement;		
		var annoxml=root.getAttribute("anno");
		if (anno!=annoxml){
			alert("Il file xml e' datato!");	
		}else{
			var mesecorrente=root.getElementsByTagName("mese");
			var giornocorrente;
			
			var spazi = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
			var strtempoliturgicocorrente="";
			var strgiornocorrente="";
			var colore = ""
			var backcolor = ""
			
			var mesexml;
			var giornoxml;
				
			//Mese e Giorno
			for (var j=0; j<mesecorrente.length; j++){
					mesexml=mesecorrente.item(j).getAttribute("nome");
				
				if (mesexml==mese){
					giornocorrente=mesecorrente.item(j).getElementsByTagName("santo");

						for (var i=0; i<giornocorrente.length; i++){
							giornoxml=giornocorrente.item(i).getAttribute("giorno");
							strtempoliturgicocorrente = giornocorrente.item(i).getAttribute("periodo");
							colore = giornocorrente.item(i).getAttribute("colore");
							if (giorno==giornoxml){
								if (giornocorrente.item(i).hasChildNodes())
									strgiornocorrente=giornocorrente.item(i).firstChild.nodeValue;
								break;
							}
						}//Fine for giorno
						
					break;
				}//Fine if mese
			}//Fine for mese
			
			
			
			//Settaggio colori tempo liturgico
			/*COLORI TEMPO LITURGICO AMBRSIANO
			COPIARE CODICE IN COLOR-BACKGROUND
		
			***Ordinario o "Per Annum"-->Verde--> #7ddb70 - color(text) #4e4e4e 
			(dalla Festa della dedicazione della cattedrale ad Ottobre e fino all'Avvento
			dal Battesimo di Gesù alla Quaresima)
		
			***Ordinario "Per Annum"-->Rosso--> #fa3131 - color(text) #ffffff
			(da Pentecoste alla Festa della dedicazione della cattedrale[3° domenica Ottobre]
			dalla Festa della dedicazione della cattedrale[3° domenica Ottobre]  fino all'Avvento)
		
			***Avvento, Quaresima-->Viola, Morello--> #62109c - color(text) #ffffff
		
			***Pasquale-->Bianco-->#fcfcf9 - color(text) #4e4e4e
			(Da Pasqua fino a Pentecoste esclusa)
	
			*/
			var stringaliturgia = "<div " 
			if (colore == "ve") {
				stringaliturgia += "id=tempoliturgicoverde"
			} else if (colore == "bi") {
				stringaliturgia += "id=tempoliturgicobianco"
			} else if (colore == "ro") {
				stringaliturgia += "id=tempoliturgicorosso"
			} else if (colore == "vi") {
				stringaliturgia += "id=tempoliturgicoviola"
			}
			stringaliturgia += "><span id=liturgia>"
			
			
			

			stringaliturgia += "&nbsp;Tempo liturgico: "+strtempoliturgicocorrente+spazi+strgiornocorrente
			stringaliturgia += "</span></div>"
			
			
			
			//Caricamento stringa
			var elm=inserisciStringaElmById("aggancioliturgia", stringaliturgia);
			return;	
		
		}//Fine else anno				
	}//FINE FUNZIONE READXML1()
	

	function inserisciStringaElmById(aID, stringa){ 
  		var element = null; 

  		if (document.getElementById) {		//Mozilla o IE5
    		element = document.getElementById(aID);
    		element.innerHTML=stringa;
  		}else if (document.layers){ 		//Netscape4
    		element = document.layers[aID];
    		element.textContent=stringa;
  		}else if (document.all) {			//IE4
    		element = document.all[aID];
    		element.innerText=stringa;
    	}else{
    		alert ("Il tuo browser non supporta gli script presenti in questa pagina!");
    	}
    		
  		return element; 
	}//FINE FUNZIONEINSERISCISTRINGAELMBYID()
	
	
	
	function readXML2(){
			
		var root=file_XML2.documentElement;
		var avvisi= root.getElementsByTagName("avviso");
		
		var str1="";
		var str2="";
		testo="";
		var elm;
		var temp;
		
		//Mettiamo date al posto dei nodi
		avvisidate=new Array (avvisi.length)
		for (var x=0; x<avvisidate.length; x++){
			avvisidate[x]=getFormatoDataOrdinabile(avvisi.item(x).getAttribute("data"))
		}
		
		//Ordina Array con Bubble Sort
		for (var pass=0; pass<avvisidate.length; pass++){
			for (var pair=0; pair<avvisidate.length-1; pair++){

				if (avvisidate[pair] < avvisidate[pair+1]) {
					temp = avvisidate [pair+1];
					avvisidate[pair+1] = avvisidate[pair];
					avvisidate[pair] = temp;
				}
			}
		}
		
		
		//Mettiamo avvisi in nuovo array per stampare ogni avviso una sola volta
		var cont=0;
		var avvisimodificato=new Array (avvisi.length*2)
		for (var x=0; x<avvisimodificato.length-1; x+=2){
			avvisimodificato[x]=avvisi.item(cont);
			avvisimodificato[x+1]=true;
			cont++
		}

		//Stampa
		var navvisi=avvisidate.length;
		var maxiterdivpiccolo=6;
		var countdown=navvisi;
		
		for (var j=0; j<navvisi; j++){
			countdown=countdown-1;
			for (var i=0; i<avvisimodificato.length-1; i+=2){	
				//alert(avvisimodificato[i].getAttribute("data"))
				if (getFormatoDataXml(avvisidate [j]) == avvisimodificato[i].getAttribute("data") && avvisimodificato[i+1] == true){
					avvisimodificato[i+1] = false;
					if (avvisimodificato[i].getElementsByTagName("testo")[0].hasChildNodes()){
						arrnodi=avvisimodificato[i].getElementsByTagName("testo")[0].childNodes;
						testoRicorsivo(arrnodi);		
					}
					if (div == "divgrande"){
						str1 += "<b><font color=#cc0000 size=2>"+avvisimodificato[i].getAttribute("data")+ "</font></b><br/><br/>";
						if (avvisimodificato[i].getAttribute("evidenza")=="s")
							str1 += "<b>"+testo+"</b><br/><br/><hr/>";
						else
							str1 += testo+"<br/><br/><hr/>";
						if (navvisi>5 && countdown==0)
							str1 +="<br/><br/><div align=center><a href=avvisi.html class=navigator2>Torna su</a><div>";
						elm=inserisciStringaElmById("contenutinero", str1);
					}else if (maxiterdivpiccolo!=0){
						maxiterdivpiccolo=maxiterdivpiccolo-1;
						str2 += "<a href=avvisi.html class=href2><b>&#8226;&nbsp;"+avvisimodificato[i].getAttribute("data")+ ":</b><br/>";
						//Ripulitura da eventuali tag per avere caratteri lineare...
						regexpr=/<([a-z][a-z0-9]*)[^>]*>/gi
						testo=testo.replace(regexpr, "");
						regexpr=/<\/([a-z][a-z0-9]*)[^>]*>/gi
						testo=testo.replace(regexpr, "");
						regexpr=/<([a-z][a-z0-9]*)[^>]*\/>/gi
						testo=testo.replace(regexpr, "");
						if (testo.length<=45){
							if (avvisimodificato[i].getAttribute("evidenza")=="s")
								str2 += "<b>"+testo+"</b></a><br/><br/>";
							else
								str2 += testo+"</a><br/><br/>";
						}else{
							if (avvisimodificato[i].getAttribute("evidenza")=="s")
								str2 += "<b>"+testo.substring(0,45)+"...</b></a><br/><br/>";
							else
								str2 += testo.substring(0,45)+"...</a><br/><br/>";
						}
						elm=inserisciStringaElmById("avvisitesto", str2);
					}
					testo="";
				}
			}
		}
		return;	
						
	}//FINE FUNZIONE READXML2()	
	
	function testoRicorsivo (arrnodifigli){
		
		for(var k=0; k<arrnodifigli.length; k++){
			if (arrnodifigli[k].childNodes.length > 1){
				if(arrnodifigli[k].nodeName=="b")
					testo += "<b>";
				else if (arrnodifigli[k].nodeName=="i")
					testo += "<i>";
				else if (arrnodifigli[k].nodeName=="font") {
					if (arrnodifigli[k].getAttribute("color")!=null)
						testo += "<font color="+arrnodifigli[k].getAttribute("color")+">";
				}else if (arrnodifigli[k].nodeName=="a"){
					if (arrnodifigli[k].getAttribute("href")!=null  && arrnodifigli[k].getAttribute("class")!=null)
						testo += "<a href=\"javascript:void window.open('"+arrnodifigli[k].getAttribute("href")+"')\" class="+arrnodifigli[k].getAttribute("class")+">";
				}
				
				testoRicorsivo (arrnodifigli[k].childNodes);
				
				if(arrnodifigli[k].nodeName=="b")
					testo += "</b>";
				else if (arrnodifigli[k].nodeName=="i")
					testo += "</i>";
				else if (arrnodifigli[k].nodeName=="font")
					testo += "</font>";
				else if (arrnodifigli[k].nodeName=="a")
					testo += "</a>";
			}else{
				if(arrnodifigli[k].nodeName=="b")
					testo += "<b>"+arrnodifigli[k].firstChild.nodeValue+"</b>";
				else if (arrnodifigli[k].nodeName=="i")
					testo += "<i>"+arrnodifigli[k].firstChild.nodeValue+"</i>";
				else if (arrnodifigli[k].nodeName=="font"){
					if (arrnodifigli[k].getAttribute("color")!=null)
						testo += "<font color="+arrnodifigli[k].getAttribute("color")+">"+arrnodifigli[k].firstChild.nodeValue+"</font>";
				}else if (arrnodifigli[k].nodeName=="a"){
					if (arrnodifigli[k].getAttribute("href")!=null  && arrnodifigli[k].getAttribute("class")!=null)
						testo += "<a href=\"javascript:void window.open('"+arrnodifigli[k].getAttribute("href")+"')\" class="+arrnodifigli[k].getAttribute("class")+">"+arrnodifigli[k].firstChild.nodeValue+"</a>";		
				}else if (arrnodifigli[k].nodeName=="br")
					testo += "<br/>";
				
				if(arrnodifigli[k].nodeType==3)
					testo += arrnodifigli[k].nodeValue;
			}
		}	
	}//FINE FUNZIONE TESTO RICORSIVO()	
	
	
	function getFormatoDataOrdinabile(stringa){
		
		tokens=stringa.split("/");	
		if (tokens.length != 3)
			alert ("Errore di inserimento della data nell'xml Formato non supportato!");
		else
			return parseInt(tokens[2]+tokens[1]+tokens[0]);
	}//FINE FUNZIONE GETFORMATODATAORDINABILE()
	
	function getFormatoDataXml (numero){
		numero=numero+" ";
		var anno=numero.substring(0,4);
		var mese=numero.substring(4,6);
		var giorno=numero.substring(6,8);
		return giorno+"/"+mese+"/"+anno;
	}//FINE FUNZIONE GETFORMATODATAXML()	
	

	//Quali foto: elenco	
	var image1=new Image()
	image1.src="immagini/foto_01_small.jpg"
	var image2=new Image()
	image2.src="immagini/foto_02_small.jpg"
	var image3=new Image()
	image3.src="immagini/foto_03_small.jpg"
	var image4=new Image()
	image4.src="immagini/foto_04_small.jpg"
	var image5=new Image()
	image5.src="immagini/foto_05_small.jpg"
	var image6=new Image()
	image6.src="immagini/foto_06_small.jpg"
	var image7=new Image()
	image7.src="immagini/foto_07_small.jpg"
	var image8=new Image()
	image8.src="immagini/foto_08_small.jpg"
	var image9=new Image()
	image9.src="immagini/foto_09_small.jpg"
	var image10=new Image()
	image10.src="immagini/foto_10_small.jpg"
	var image11=new Image()
	image11.src="immagini/foto_11_small.jpg"
	var image12=new Image()
	image12.src="immagini/foto_12_small.jpg"
	var image13=new Image()
	image13.src="immagini/foto_13_small.jpg"
	var image14=new Image()
	image14.src="immagini/foto_14_small.jpg"
	var image15=new Image()
	image15.src="immagini/foto_15_small.jpg"
	var image16=new Image()
	image16.src="immagini/foto_16_small.jpg"
	var image17=new Image()
	image17.src="immagini/foto_17_small.jpg"
	var image18=new Image()
	image18.src="immagini/foto_18_small.jpg"
	var image19=new Image()
	image19.src="immagini/foto_19_small.jpg"
	var image20=new Image()
	image20.src="immagini/foto_20_small.jpg"
	var image21=new Image()
	image21.src="immagini/foto_21_small.jpg"
	var image22=new Image()
	image22.src="immagini/foto_22_small.jpg"
	var image23=new Image()
	image23.src="immagini/foto_23_small.jpg"
	var image24=new Image()
	image24.src="immagini/foto_24_small.jpg"
	var image25=new Image()
	image25.src="immagini/foto_25_small.jpg"
	var image26=new Image()
	image26.src="immagini/foto_26_small.jpg"
	var image27=new Image()
	image27.src="immagini/foto_27_small.jpg"
	var image27=new Image()
	image27.src="immagini/foto_27_small.jpg"
	var image28=new Image()
	image28.src="immagini/foto_28_small.jpg"
	var image29=new Image()
	image29.src="immagini/foto_30_small.jpg"
	var image30=new Image()
	image30.src="immagini/foto_30_small.jpg"
	//no 31....
	var image32=new Image()
	image32.src="immagini/foto_32_small.jpg"
	var image33=new Image()
	image33.src="immagini/foto_33_small.jpg"
	var image34=new Image()
	image34.src="immagini/foto_34_small.jpg"

	//In base al numero di immagini riportate sopra
	var number_of_images=33
	
	//Cambio dei paarametri come velocità, passi, etc
	var speed1=8
	var whichimage1=1
	var step1=1

function slideit1(){
	if (!document.images)
		return
	if (document.all)
		slide1.filters.blendTrans.apply()
		document.images.slide1.src=eval("image"+step1+".src")
	if (document.all)
		slide1.filters.blendTrans.play()
		whichimage1=step1
	if (step1<number_of_images)
		step1++
	else
		step1=1
		
	if (document.all)
		setTimeout("slideit1()",speed1*1000)
	else
		setTimeout("slideit1()",speed1*1000)
}

	//Cambio dei paarametri come velocità, passi, etc
	var speed2=9
	var whichimage2=11
	var step2=11

function slideit2(){
	if (!document.images)
		return
	if (document.all)
		slide2.filters.blendTrans.apply()
		document.images.slide2.src=eval("image"+step2+".src")
	if (document.all)
		slide2.filters.blendTrans.play()
		whichimage2=step2
	if (step2<number_of_images)
		step2++
	else
		step2=1
		
	if (document.all)
		setTimeout("slideit2()",speed2*1000)
	else
		setTimeout("slideit2()",speed2*1000)
}
