var mycarousel_itemList = new Array();
var mycarousel;

function initializeList(){
    var ul = document.getElementById("mycarousel");
    var j = 0;
    for(var i = 0; i < ul.childNodes.length; i++) {
        if (ul.childNodes[i].nodeType == 1) {
            var li = ul.childNodes[i];
            var a = getSubElementById(li, 'imageLink');
            var img = getSubElementById(a, 'image');
            var div2 = getSubElementById(li, 'PromoDesc');
            mycarousel_itemList[j] = {url: a.href, promotxt: div2.innerHTML, title: img.alt, imgurl: img.src};
            j++;
        }
    }
}

function mycarousel_initCallback(carousel,state)
{
    if(state=="init")
        mycarousel = carousel;
}

function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, mycarousel_itemList.length);
    carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1]));
    highlightIndex(idx);
}

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
}

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item)
{
    return '<div class="promoThumbnail" id="PromoImage"><a id="imageLink" href="'+item.url+'" target="_blank"><img id="image" src="'+item.imgurl+'" alt="'+item.title+'" border="0"/></a></div><div class="promoContent" id="PromoDesc">'+item.promotxt+'</div>';
}

function toPromo(i) {
  if(mycarousel != undefined)
    mycarousel.scroll(i,true);
}

function highlightIndex(index){
    var ul = document.getElementById('pageList');
    if(ul != undefined) {
        for(var i = 0; i < ul.childNodes.length; i++) {
            if(ul.childNodes[i].nodeType == 1)
                ul.childNodes[i].firstChild.className = "";
        }
    }
    var a = getSubElementById(ul,index);
    if(a != undefined)
        a.className = "btnActive";
}

function getSubElementById(elem, id)
{
    var ret = undefined;
    if(elem == undefined) return elem;
    if(elem.id == id)
    {
        return elem;
    }
    if(elem.childNodes.length > 0)
    {
        for(var i=0; i < elem.childNodes.length; i++)
        {
            if(elem.childNodes[i].nodeType == 1)
            {
                ret = getSubElementById(elem.childNodes[i], id);
                if(ret != undefined) return ret;
            }
        }
    }
    return undefined;
}