﻿var imageSlider = new Class({
    Binds: ["_showImg", "_getNext"],
    initialize: function() {
        $("content").getElements("div.bilder div.imgs").each(function(elt) {
            var mainId = elt.get("id");
            elt.store("curPos", 0);
            var allImg = [];
            var prevElt = elt.getElement("a.prev");
            elt.getElements("a.thumb").each(function(aLk, i) {
                aLk.set("href", "javascript:void(0)")
                   .addEvent("click", this._showImg.pass([mainId, i]));
                allImg.push(aLk.get("rel").split("|"));
            }, this);
            prevElt.set("href", "javascript:void(0)")
            elt.store("allImg", allImg);
            prevElt.addEvent("click", this._getNext.pass(mainId));
        }, this);
    },
    _showImg: function(mainId, imgPos) {
        console.log($(mainId).retrieve("allImg")[imgPos][0]);
        $(mainId).getElement("a.prev img").set("src", $(mainId).retrieve("allImg")[imgPos][0] + "?maxheight=390&maxwidth=520");
        $(mainId).getElement("div.fullres a").set("href", $(mainId).retrieve("allImg")[imgPos][0]);
        var copy = $(mainId).retrieve("allImg")[imgPos][1];
        $(mainId).getElement("div.fullres span.legend").set("text", $chk(copy) ? ("Foto: " + copy) : "");
        $(mainId).store("curPos", imgPos);
    },
    _getNext: function(mainId) {
        var allImg = $(mainId).retrieve("allImg");
        this._showImg(mainId, ($(mainId).retrieve("curPos").toInt() + 1) % allImg.length);
    }
});
var ajaxLink = new Class({
    Binds: ["_open", "_readMore", "_enlarge"],
    initialize: function() {
        if (Browser.Engine.trident && Browser.Engine.version < 7) return;
        if (!$chk(".col .linkImg")) return;
        this.allLinks = [];
        $$(".col .linkImg").each(function(linkElt) {
            var parent = linkElt.getParent();
            var curId = linkElt.get("id");
            var newElt = new Element("div", { "id": curId + "_res", styles: { "display": "none"} }).inject(parent);
            var request = new Request.HTML({ "url": "/ajax/getContent.aspx", "update": newElt });
            request.addEvent("complete", this._readMore.pass(curId + "_res"));
            linkElt.store("request", request);
            linkElt.set("href", "javascript:void(0)");
            linkElt.addEvent("click", this._open.pass(linkElt.get("id")));
            this.allLinks.push(linkElt.get("id"));
        }, this);
    },
    _readMore: function(newDiv) {
        $(newDiv).store("hascontent", true);
        var size = $(newDiv).measure(function() {
            return this.getSize();
        });
        if (size.y > 400)
            $(newDiv).setStyles({ height: 359, overflow: "hidden", "padding-bottom": 20, position: "relative" })
                     .adopt(new Element("div", { "text": "mehr",
                         "class": "readmoreLink line",
                         "events": { "click": this._enlarge.pass(newDiv)}
                     }))
                     .store("y", size.y);
    },
    _enlarge: function(newDiv) {

        $(newDiv).getElement("div.readmoreLink").destroy();
        new Fx.Tween($(newDiv), { "property": "height" }).start($(newDiv).retrieve("y"));
        //        $(newDiv).setStyles({ height: "auto", overflow : "visible"});
    },
    _open: function(lkId) {
        if (this.allLinks.length > 1) {
            this.allLinks.each(function(otherLink) {
                if (otherLink != lkId) {
                    $(otherLink).setStyle("display", "block");
                    $(otherLink + "_res").setStyle("display", "none");
                }
            });
        }
        if (!$(lkId + "_res").retrieve("hascontent"))
            $(lkId).retrieve("request").post({ 'lbl': lkId });
        $(lkId).setStyle("display", "none");
        $(lkId + "_res").setStyle("display", "block");
    }
})
window.addEvent("load", function() { new imageSlider(); new ajaxLink(); });    
