Ext.namespace('Filmlab.Info');
Filmlab.Info = {
    /**
     * config
     */
    site: {
        lang: ''
    },

    /**
     * Helpers
     *
     * Gets site language
     */
    getSiteLanguage: function() {
        return this.site.lang;
    },

    /**
     * Sets site language
     */
    setSiteLanguage: function(lang) {
        this.site.lang = lang;
    }

}

Ext.namespace('Filmlab.NewsBox');
Filmlab.NewsBox = {

    init: function() {
        this.loadPage(1);
    },

    loadPage: function(pagenum, blockid) {
        if (Ext.get('news_wrapper')) Ext.get('news_wrapper').load({
            url: '/' + Filmlab.Info.getSiteLanguage() + '/ajax/news/getNewsBoxHtml',
            text: 'Betöltés...',
            params: {
                page: pagenum,
                blockid: blockid
            }
        });
        if (Ext.get('news_page_number')) Ext.get('news_page_number').update('0'+pagenum);

        if (Ext.get('news_pager')) {
            for (var i=0; i<Ext.get('news_pager').dom.childElementCount; i++) {
                if (i == pagenum-1) Ext.get('news_pager').dom.children[i].firstChild.setAttribute("class", "active");
                else Ext.get('news_pager').dom.children[i].firstChild.setAttribute("class", "");
            }
        }
    }

}

Ext.namespace('Filmlab.WorkReferencesBox');
Filmlab.WorkReferencesBox = {

    init: function() {
        this.loadPage(1);
    },

    loadPage: function(pagenum) {
        if (Ext.get('workreferences_wrapper')) Ext.get('workreferences_wrapper').load({
            url: '/' + Filmlab.Info.getSiteLanguage() + '/ajax/workreferences/getWorkReferencesBoxHtml',
            params: {
                page: pagenum
            }
        });
        if (Ext.get('workreferences_page_number')) Ext.get('workreferences_page_number').update('0'+pagenum);

        if (Ext.get('workreferences_pager')) {
            for (var i=0; i<Ext.get('workreferences_pager').dom.childElementCount; i++) {
                if (i == pagenum-1) Ext.get('workreferences_pager').dom.children[i].firstChild.setAttribute("class", "active");
                else Ext.get('workreferences_pager').dom.children[i].firstChild.setAttribute("class", "");
            }
        }
    }

}

Ext.namespace('Filmlab.Gallery');
Filmlab.Gallery = {
    unit: 'px',
    startPosition: 4,
    position: 4,
    sliderSize: 1000,
    containerSize: 628,
    stepSize: 2,
    stepDelay: 8,

    slideTo: function(pos) {
        Ext.get('gallery_slider').setStyle('margin-left', pos + this.unit);
    },

    slideR: function(recursive_call) {
        if (this.position >= this.startPosition + (this.containerSize - this.sliderSize)) {
            if (!recursive_call) this.stop = false;
            if (this.stop) return false;
            this.position -= this.stepSize;
            this.slideTo(this.position);
            this.slideR.defer(this.stepDelay, this, [true]);
        }
        return false;
    },

    slideL: function(recursive_call) {
        if (this.position <= this.startPosition - this.stepSize) {
            if (!recursive_call) this.stop = false;
            if (this.stop) return false;
            this.position += this.stepSize;
            this.slideTo(this.position);
            this.slideL.defer(this.stepDelay, this, [true]);
        }
        return false;
    },

    stopSlide: function() {
        this.stop = true;
        return false;
    }
}
