﻿// Element Functions
function getElementById( id )
{
    var returnVar;
    if (document.getElementById)
        returnVar = document.getElementById(id);
    else if (document.all)
        returnVar = document.all[id];
    else if (document.layers)
        returnVar = document.layers[id];
    return returnVar;
}


var currentItem = 0;

function showNewsItem(itemIndex)
{
    var newsItem = newsdata[itemIndex];
    
    var newsTextDiv = getElementById("NewsText");    
    var newsImageImg = getElementById("ctl00_ContentPlaceHolder1_NewsImage");    
    var newsHref = getElementById("NewsHref");    
    newsTextDiv.innerHTML = newsItem["text"];
    newsImageImg.src = newsItem["preview"];
    newsHref.href = 'NewsView.aspx?id=' + newsItem["id"];    
}

function newsTick()
{      
    currentItem = (currentItem+1)%newsdata.length;
    
    if (currentItem >= 0 && currentItem < newsdata.length)
    {
        showNewsItem(currentItem);
    }
}

function delegate( that, thatMethod )
  {  
    return function() { return thatMethod.call(null, that); }
  }

var timer;
  
function newsMouseHover(newsIndex)
{
    showNewsItem(newsIndex);
    
    
    clearInterval(timer);
    
    timer = setTimeout("restartTimer()", 10000);  
}

function restartTimer()
{
    timer = setInterval(newsTick, 5000);
}

function initCycler()
{        
    for(var i=0;i<newsdata.length;i++)
    {
        var newsItem = newsdata[i];
        var id = newsItem["id"];
        var articleHref = getElementById("NewsArticle" + id);                    
        
        articleHref.onmouseover = delegate(i, newsMouseHover);        
    }
    
    if (newsdata.length > 0)
    {
        restartTimer();
    }
}