// stores the reference to the XMLHttpRequest object
var newsXmlHttp = smsCreateXmlHttpRequestObject(); 

//Stores the currently active stories
var newsItems = new Array();
var currentNewsItem = 0;

//Stores the currently active timeout
var currentTimeout;

// retrieves the XMLHttpRequest object
function newsCreateXmlHttpRequestObject() 
{	
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // if running Internet Explorer
  if(window.ActiveXObject)
  {
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // if running Mozilla or other browsers
  else
  {
    try 
    {
      xmlHttp = new XMLHttpRequest();
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // return the created object or display an error message
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function updateNews() {
  if( newsXmlHttp.readyState == 4 || newsXmlHttp.readyState == 0 ) {
    newsXmlHttp.open("GET", "/rpm_backend/getnews2.php", true);
    newsXmlHttp.onreadystatechange = handleNewsUpdate;
    newsXmlHttp.send(null);
  }
}

function handleNewsUpdate() {
  if( newsXmlHttp.readyState == 4 && newsXmlHttp.status == 200 ) {
    var response = newsXmlHttp.responseXML;
    var els = response.documentElement.getElementsByTagName('items');
    for( var i = 0; i < els.length; i++ ) {
      var title = els[i].getElementsByTagName('title')[0];
      var link = els[i].getElementsByTagName('link')[0];
      var desc = els[i].getElementsByTagName('description')[0];
      var item = new Object();
      item.title = title;
      item.link = link;
      item.desc = desc;
      newsItems[i] = item;
    }
    
    //Show first newsItem
    currentNewsItem = 0;
    showCurrentNewsItem();
    currentTimeout = setTimeout('showNextNewsItem()', 10000);
  }
  
  
}

function showCurrentNewsItem() {
  var linkElement = document.getElementById("newsheadinglink");
  linkElement.innerHTML = newsItems[currentNewsItem].title.firstChild.data;
  linkElement.href = newsItems[currentNewsItem].link.firstChild.data;
  document.getElementById("newsbody").innerHTML = newsItems[currentNewsItem].desc.firstChild.data;
  document.getElementById("itemcounter").innerHTML = "" + (currentNewsItem+1) + "/" + newsItems.length;
} 

function showNextNewsItem() {
  if( ++currentNewsItem == newsItems.length ) {
    var linkElement = document.getElementById("newsheadinglink");
    linkElement.innerHTML = "Laster nyheter...";
    linkElement.href = "";
    document.getElementById("newsbody").innerHTML = "";
    updateNews();
  } else {
    showCurrentNewsItem();
    currentTimeout = setTimeout('showNextNewsItem()', 10000);
  }
}

function leftArrowClick() {
    if( currentNewsItem < (newsItems.length - 1) ) {
      clearTimeout(currentTimeout);
      currentNewsItem++;
      showCurrentNewsItem();
    }
}

function rightArrowClick() {
  if( currentNewsItem > 0 ) {
    clearTimeout(currentTimeout);
    currentNewsItem--;
    showCurrentNewsItem();
  }
}

//Call first update-function on site-load
updateNews();
