// millisecondi di attesa per ciascuna notizia
// 2000 = 2 sec.
var DELAY = 8000; 

var xmlDom = null, nodeRoot = null;
var itemLength = 0, itemIndex = 0;

// URL del file XML
var sXmlUrl = "./admin/news/news.xml";


function InitTicker() {

  // istanzio DOM XML
  if (window.ActiveXObject) {
    xmlDom = new ActiveXObject("Microsoft.XMLDOM");
  } else if (document.implementation &&
      document.implementation.createDocument) {
    xmlDom = document.implementation.createDocument("", "doc", null);
  }

  // SE DOM XML è disponibile
  if (typeof xmlDom != "undefined") {
    // scrivo il box
  //  document.write('<div id="divBox"></div>');
    // leggo file XML
    xmlDom.load(sXmlUrl);
  }
  
  // avvio il News Ticker
  if (window.ActiveXObject) {
    XmlReady();
  } else if (typeof xmlDom != "undefined") {
    xmlDom.onload = StartTicker;
  }  
}


// Verifica che il file XML sia stato letto.
function XmlReady(){
  // SE ho ultimato la lettura del file XML
  if (xmlDom.readyState == 4) {
    // avvio visualizzazione
    StartTicker();
  } else {
    // verifico ogni 10 ms
    window.setTimeout("XmlReady()", 10);
  }
}


// Inizializza il news ticker.
function StartTicker(){

  // recupero il nodo principale (news)
  nodeRoot = xmlDom.getElementsByTagName("news")[0];

  // imposto il n. totale di notizie disponibili
  itemLength = nodeRoot.childNodes.length;

  // mostro la prima notizia
  WriteNews();

  // imposto esecuzione di WriteNews()
  // ogni DELAY millisecondi
  window.setInterval("WriteNews();", DELAY);
}


// Scrive le news nel box.
function WriteNews() {

  var sNews = '';
  var nodeItem = nodeRoot.childNodes[itemIndex];
  var bLink = false; // true se è presente un link

  // SE è presente l'attributo "url"
  if (nodeItem.getAttribute("link") != null) {
	bLink = true;  
    sNews = '<a href="' + nodeItem.getAttribute("link") + '"';
    // SE è presente l'attributo "target"
   // if (nodeItem.getAttribute("target") != null) {
      sNews += ' target="' + '_blank' + '"';
   // }
	//nodeItem.getAttribute("target");
    sNews += ' style="color: #000000; font-size: 12px; text-decoration:none; font-family: Verdana, Arial, Helvetica, sans-serif;">';
  }
  //alert(sNews);

  // inserisco testo
  sNews += nodeItem.firstChild.nodeValue + " (" + (itemIndex + 1) + " di " + itemLength + ")";
  //alert(sNews);

  // SE era presente l'attributo "url"
  if (bLink) {
    sNews += '</a>';
  }

  // sostituisco il contenuto del box
  document.getElementById("newsbox").innerHTML = sNews;
  // incremento posizione notizia
  itemIndex++;
  // SE era l'ultima notizia
  if (itemIndex > itemLength - 1) {
    itemIndex = 0; // torno alla prima
  }
}
