/*
<ol id="carousel" class="yui-carousel-element">
<li>
	<div class="carousel-item">
		<a href="item.xhtml..."><img src="Thumbnail vom Artikel"/></a>
	</div>
	<div class="name"><a href="item.xhtml...">Name des Artikels</a></div>
	<div class="min-price"><a href="item.xhtml...">ab 5€</a></div>
	OPTIONAL, nur bei Rabatt --> <div class="discount">Aktionsrabatt 10%</div>
</li>
<li>
	...
</li>
...
</ol>
 */

YAHOO.namespace("fuerst");

YAHOO.fuerst.ImageScroller = function(categoryId) {
    this.categoryId = categoryId;
    this.items = [];
    this.beforeShow = new YAHOO.util.CustomEvent("beforeShow", this);
};

YAHOO.fuerst.ImageScroller.prototype.createHTML = function(item) {
    var linkStart = '<a href="' + item.url + '">';
    var linkEnd = '</a>';

    var thumb = linkStart + '<img src="' + item.thumbnail + '"/>' + linkEnd;
    var name = '<div class="name">' + linkStart + item.name + linkEnd + '</div>';
    var minPrice = '<div class="min-price">' + linkStart + item.minPrice + linkEnd + '</div>';
    var discount = (item.discount)
            ? '<div class="discount">' + linkStart + 'Aktionsrabatt ' + item.discount + ' %' + linkEnd + '</div>'
            : "";

    return '<div class="carousel-item">' + thumb + name + minPrice + discount + '</div>';
};

YAHOO.fuerst.ImageScroller.prototype.onSuccess = function(o) {
    var carousel = o.argument;
    var i = 0;
    var json = /*YAHOO.lang.JSON.parse(o.responseText);*/eval('(' + o.responseText + ')');
    var result = json.items;

    for (i = 0; i < result.length; i++) {
        this.items.push(result[i]);
    }

    // check if the Carousel widget is available
    if (typeof carousel != "undefined") {
        for (i = 0; i < result.length; i++) {
            // if so, shove the elements into it
            carousel.addItem(this.createHTML(this.items[i]));
        }

        carousel.set("selectedItem", 0);
        carousel.render();
        this.beforeShow.fire(carousel);
        carousel.show();
    }
};

YAHOO.fuerst.ImageScroller.prototype.onFailure = function(o) {
    // alert("Ajax request failed!");
};

YAHOO.fuerst.ImageScroller.prototype.createCarousel = function(containerId, conf) {
    YAHOO.util.Event.onDOMReady(function(ev) {
        var carousel = new YAHOO.widget.Carousel(containerId, conf);
        carousel.STRINGS.PAGER_PREFIX_TEXT = "Gehe zu Seite ";
        carousel.CONFIG.MAX_PAGER_BUTTONS = 7;
        YAHOO.util.Connect.asyncRequest("GET", "ajax/list.xhtml?categoryId=" + this.categoryId, {
            success: this.onSuccess,
            failure: this.onFailure,
            argument: carousel,
            scope: this
        });
    }, this, true);
};
