var mycarousel_itemList = new Array();

function initializeList(){
    var ul = document.getElementById("mycarousel");
    var j = 0;
    for(i = 0; i < ul.childNodes.length; i++) {
        if (ul.childNodes[i].nodeType == 1) {
            var a = ul.childNodes[i].firstChild;
            var img = a.firstChild;
            mycarousel_itemList[j] = {thumbUrl: img.src, largeUrl: a.href, title: a.title};
            j++;
        }
    }
}

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);
    var first = carousel.index(carousel.first, mycarousel_itemList.length);
    carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1],first));
};

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item, first)
{
    return '<a href="'+item.largeUrl+'?f=' + first+ '" title="'+item.title+'" class="tooltip"><img src="'+item.thumbUrl+'"  alt=""  border="0"/></a>';
};

/**
 * Retrieve the first item to show.
 */
function getFirstItem() 
{
    Querystring();
    var first = 1;
    var tmpFirst = parseInt(Querystring_get("f", first));
    if (!isNaN(tmpFirst)) first = tmpFirst;
    if (first < 0) first *= -1;
    return first;
}

function Querystring(qs) { // optionally pass a querystring to parse
    this.params = {};
    this.get=Querystring_get;
    if (qs == null);
        qs=location.search.substring(1,location.search.length);
    if (qs.length == 0) 
        return;

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
    qs = qs.replace(/\+/g, ' ');
    var args = qs.split('&'); // parse out name/value pairs separated via &
	                        // split out each name=value pair
    for (var i=0;i<args.length;i++) {
        var pair = args[i].split('=');
        var name = unescape(pair[0]);
        var value = (pair.length==2) ? unescape(pair[1]) : name;
        this.params[name] = value;
    }
}

function Querystring_get(key, default_) {
    var value=this.params[key];
    return (value!=null) ? value : default_;
}