﻿var slider = new Class({
    _destroyed: false,
    _diap: false,
    _heightFx: false,
    initialize: function () {
    this._diap = new diaporamaproj({ container: 'slider', eltpath: 'div.slides div.slide', linkpath: 'nav a' });
        this._heightFx = new Fx.Tween($('slider'), { property: 'height'});
        site.addHistoryEvent('sliderHistory', 'empty');
        site.addEvent('sliderHistory', function (o) { if (o.v) this._reInit(); } .bind(this));
        site.addEvent('detail', function (id) { this._destroy(); } .bind(this));
        site.addEvent('detailHistory', function (o) { this._destroy(); } .bind(this));
    },
    _destroy: function () {
        if (this._destroyed)
            return;
        this._destroyed = true;
        site.removeEvents("slider");
        this._heightFx.cancel();
        this._heightFx.start(0);
    },
    _reInit: function () {
        site.fireEvent("hideDetails");
        this._destroyed = false;
        site.addEvent("slider", function (flag) { if (!flag) this._destroy(); } .bind(this));
        if (!this._diap)
            this._diap = new diaporamaproj({ container: 'slider', eltpath: 'div.slides div.slide', linkpath: 'nav a' });
        if (!this._heightFx)
            this._heightFx = new Fx.Tween($('slider'), { property: 'height', onComplete: function (e) { this._heightComplete(); } .bind(this) });
        this._heightFx.start(340);
    }
});
