var destDiv = 'rssDiv';
var rssSource = "http://www.ansa.it/main/notizie/awnplus/topnews/synd/ansait_awnplus_topnews_medsynd_Today_Idx.xml";
var carica = '<img src="indicator.gif">';
var id;
var http;
var mostraDescrizione= false;
var mostraDataAggiornamento = false;
var rendiTitoloCliccabile = true;
var massimoNumeroDiNews = 10;
var testoAggiuntoInDataAggiornamento = "Agg: ";
//var iconaSegnaPostoTitolo = "arrow_right.gif";


function initRSS(){
	sndReq(rssSource);
}



/* funzione di creazione  dell'HTTP REQUEST a seconda del browser*/
function createRequestObject() { 
	    var ro; 
	    var browser = navigator.appName; 
	    if(browser == "Microsoft Internet Explorer"){ 
	        ro = new ActiveXObject("Microsoft.XMLHTTP"); 
	    }else{ 
        ro = new XMLHttpRequest(); 
    } 
 return ro; 
} 
	
/* funzione di spedizione della richiesta HTTP alla pagina di destinazione PAGE*/	
function sndReq(page) { 
	http = createRequestObject(); 
	//alert("carico in "+destDiv+" l'rss: grabURL.asp?url="+page);
	//grabURL.asp mi ritorna l'XML corrispondente all'RSS passato come indirizzo (parametro 'url')
    http.open('get', 'grabURL.asp?url='+page); 
    http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	//al cambio di stato lancia la funzione showRSS
    http.onreadystatechange = showRSS; 
    http.send(null); 
} 

 function showRSS() { 
	if(http.readyState == 4){ 
			setTimeout("parseRSS(http.responseText)",3000);
	} else {
		 // displayLoad();
    } 
} 


/* funzione di parsing dell'XML dell'RSS */
function parseRSS(xmlstring){
var titles = [];
var descriptions = [];
var links = [];
var date = [];
var response;
//var image = document.createElement('img');
//image.src=iconaSegnaPostoTitolo;
//image.className='icona';
var xmlobject;
 
/*
converto la  stringa in un XML object
-) con firefox uso DOMParser
-) con IE uso l'activex XMLDOM
*/
if (document.implementation.createDocument){ 
   // Mozilla, create a new DOMParser 
   xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
    
 } else if (window.ActiveXObject){ 
   // Internet Explorer, create a new XML document using ActiveX 
   // and use loadXML as a DOM parser. 
   xmlobject = new ActiveXObject("Microsoft.XMLDOM");
   xmlobject.async="false";
   xmlobject.loadXML(xmlstring); 
   
  
} 
 
 //prelevo la root
var root = xmlobject.getElementsByTagName("rss")[0];
//prelevo i canali (mi serve il primo)
var channels = root.getElementsByTagName("channel");
// prelevo tutti gli ITEMS
var items = channels[0].getElementsByTagName("item");
	
	//setto il massimo numero di items da visualizzare come richiesto in setup
	if(massimoNumeroDiNews>items.length) {
		massimoNumeroDiNews=items.length;
	}

	/*
	ciclo tutti gli items e estraggo:
	-) title
	-) description
	-) link
	-) pubDate
	
	metto ogni tipologia in un array proprio
	*/
	for (var numItem = 0; numItem < massimoNumeroDiNews; numItem++){
		titles.push(items[numItem].getElementsByTagName("title")[0].childNodes[0].nodeValue);
		descriptions.push(items[numItem].getElementsByTagName("description")[0].childNodes[0].nodeValue);
		links.push(items[numItem].getElementsByTagName("link")[0].childNodes[0].nodeValue);
		date.push(items[numItem].getElementsByTagName("pubDate")[0].childNodes[0].nodeValue);
	}//end for

	//ciclo ancora e per ogni newsRSS creo un DIV contenitore (così ho + libertà sugli stili)
	for (var x = 0; x < massimoNumeroDiNews; x++){
		var containerForNews = document.createElement('div');
		containerForNews.id='news'+x;
		containerForNews.className ='containerForNews';
		
		//a seconda che voglio rendere il titolo cliccabile oppure creare un link "clicca quì"
		if(!rendiTitoloCliccabile){
			var titleP = document.createElement('P');
			titleP.className='rssTitle';
			titleP.innerHTML = titles[x];
			containerForNews.appendChild(image);
			containerForNews.appendChild(titleP);
			
			if(mostraDescrizione){
				var descriptionP = document.createElement('P');
				descriptionP.className='rssDescription';
				descriptionP.innerHTML = descriptions[x];
				containerForNews.appendChild(descriptionP);
			}
			
			var linkP = document.createElement('A');
			linkP.className='rssLink';
			linkP.setAttribute('href',links[x]);
			var linkText=document.createTextNode('Clicca quì per leggere la news');
			linkP.appendChild(linkText);
			containerForNews.appendChild(linkP);

			if(mostraDataAggiornamento){
				var dateP = document.createElement('P');
				dateP.className='rssDate';
				dateP.innerHTML = testoAggiuntoInDataAggiornamento+date[x];
				containerForNews.appendChild(dateP);
			}
				document.getElementById(destDiv).appendChild(containerForNews);
		}//end if
		else{
			var titleP = document.createElement('A');
			titleP.className='rssTitle';
			titleP.setAttribute('href',links[x]);
			var linkText=document.createTextNode(titles[x]);
			titleP.appendChild(linkText);
			//containerForNews.appendChild(image);
			containerForNews.appendChild(titleP);
			//alert(linkText.);
			
			if(mostraDescrizione){
				var descriptionP = document.createElement('P');
				descriptionP.className='rssDescription';
				descriptionP.innerHTML = descriptions[x];
				containerForNews.appendChild(descriptionP);
			}
			
			if(mostraDataAggiornamento){
				var dateP = document.createElement('P');
				dateP.className='rssDate';
				dateP.innerHTML = testoAggiuntoInDataAggiornamento+date[x];
				containerForNews.appendChild(dateP);
			}
			
				/****************************************************************************/
				/*		riga incriminata, non trova destDiv	*/
				/****************************************************************************/
				document.getElementById(destDiv).appendChild(containerForNews);
		}//end else
	}//end for 
}

function displayLoad(){
    document.getElementById(destDiv).innerHTML = carica; 
}