function SojernTicker(){}

SojernTicker.partner_object = null;
SojernTicker.partner_list = null;
SojernTicker.partner_current_element = null;
SojernTicker.partner_interval = 3; // interval in seconds
SojernTicker.partner_initial_delay = 1; // interval in seconds
SojernTicker.partner_paused = false; 
SojernTicker.partner_remove_first = false;

/**
 *  Initializes the feed list and call the run method.
 *  @param {string} div_id The div id of the news feed.
 */
SojernTicker.initialize_feed_list = function()
{
  // alert("INITIALIZE");
    var div_id = 'partners';
    SojernTicker.partner_object = document.getElementById(div_id);
    SojernTicker.partner_list = SojernTicker.partner_object.childNodes;

    for(var i = 0; i < SojernTicker.partner_list.length; i++)
    {
        var node = SojernTicker.partner_list[i];
        if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
        {
            SojernTicker.partner_object.removeChild(node);        
        }
    }
    if (SojernTicker.partner_list.length > 2)
    {
        //Pause the feed if the users mouses over the div
        SojernTicker.partner_object.onmouseover=function()
        {		
            SojernTicker.partner_paused = true;
        }
        //Resume the feed if the users mouse leaves the div
        SojernTicker.partner_object.onmouseout=function()
        {
            SojernTicker.partner_paused = false;
        }

        //Adds and initial delay before loading the News Feed
        window.setTimeout("SojernTicker.run('" + div_id + "', " + 0 + ")", SojernTicker.partner_initial_delay*1000);
    }
}

/**
 *  Runs the partner feed 
 *  @param {string} div_id The div id of the partner feed.
 *  @param {string} count The current count of the partner element.
 */
SojernTicker.run = function(div_id, count)
{
    //Checks feeds status mousing over the div causes it to pause
    if (SojernTicker.partner_paused == false)
    {
        //This will remove the first partner item which should just be the BLANK partner item
        if (SojernTicker.partner_remove_first == false)
        {
            count = 0;
            var node = SojernTicker.partner_list[count];
            SojernTicker.partner_object.removeChild(node);
            SojernTicker.partner_remove_first = true;
        }
        //Begin the fade of the current partner item
        SojernTicker.fade();

        //Gets the next item in the feed list
        SojernTicker.partner_current_element = SojernTicker.partner_list[count];
        SojernTicker.partner_list[count].style.display = "block";
        if (count > 0)
        {
            SojernTicker.partner_list[count-1].style.display = "none";
        }
        else if (SojernTicker.partner_list.length > 1)
        {
            SojernTicker.partner_list[SojernTicker.partner_list.length-1].style.display = "none";
        }
        else
        {
            SojernTicker.partner_paused = true;
        }

        count++;
        //Reset the count if at the end of the items
        if (count == SojernTicker.partner_list.length)
        {
            count = 0;
        }
    }

    //Pause and then display the next partner item
    window.setTimeout("SojernTicker.run('" + div_id + "', " + count+ ")", SojernTicker.partner_interval*1000);
}

/**
 *  Fades the current partner feed elemnt from visible to non-visible
 */
SojernTicker.fade = function()
{
    for (var i = 0; i < 11; i++)
    {
        setTimeout('SojernTicker.setOpacity('+i+')', 100*i);
    }
    return false;
}

/**
 *  Sets the Opacity of the current partner feed element
 *  @param {string} value The value of the opacity.
 */
SojernTicker.setOpacity = function(value)
{
    SojernTicker.partner_current_element.style.opacity = value/10;
    SojernTicker.partner_current_element.style.filter = 'alpha(opacity=' + value*10 + ')';
}

SojernTicker.initialize_feed_list();
