albeik = {
    init: function () {
        albeik.Gallery.init();
        albeik.Pages.init();
    },
    Pages: {
        selected: '',
        pages: [],
        subscribers: {},
        init: function () {
            albeik.Pages.selected = $$('#tabs-area ul li:first-child').first().id.split('-').last();
            $$('#tabs-area li a').each(function (tlink) {
                albeik.Pages.pages.push(tlink.parentNode.id.split('-').last());
                Event.observe(tlink, 'click', function (ev) {
                    albeik.Pages.switchPage(ev.element().parentNode.id.split('-').last());
                });
            });
            var pageFromUrl = document.location.toString().split('#').last().toLowerCase().stripScripts();
            if (albeik.Pages.pages.indexOf(pageFromUrl) != -1) {
                albeik.Pages.switchPage(pageFromUrl);
            } else {
                albeik.Pages.switchPage(albeik.Pages.selected);
            }
        },
        show: function (id) {
            $('page-' + id).show();
        },
        hide: function (id) {
            $('page-' + id).hide();
        },
        switchPage: function (newPageId) {
            if (albeik.Pages.selected) {
                albeik.Pages.triggerEvent('onunselect', albeik.Pages.selected);
                $('tab-' + albeik.Pages.selected).removeClassName('tabs-selected');
                albeik.Pages.hide(albeik.Pages.selected);
            }
            albeik.Pages.selected = newPageId;
            $('tab-' + albeik.Pages.selected).addClassName('tabs-selected');
            albeik.Pages.show(albeik.Pages.selected);
            albeik.Pages.triggerEvent('onselect', albeik.Pages.selected);
        },
        subscribe: function (options) {
            try {
                albeik.Pages.subscribers[options.page] = {
                    onselect: options.onselect,
                    onunselect: options.onunselect
                };
            } catch (e) {};
        },
        triggerEvent: function (triggerEvent, page) {
            try {
                (albeik.Pages.subscribers[page][triggerEvent])(triggerEvent, page);
            } catch (e) { };
        }
    },
    Gallery: {
        blessed: false,
        preload: function () {
            Galleria.loadTheme('/js/galleria/src/themes/dots/galleria.dots.js');
        },
        init: function () {
            albeik.Pages.subscribe({ page: 'inpics', onselect: function () {
                albeik.Gallery.bless();
            }});
        },
        bless: function () {
            if (albeik.Gallery.blessed) return;
            jQuery('.galleria-container').galleria({ autoplay: false });
            albeik.Gallery.blessed = true;
        }
    }
}
Event.observe(window, 'load', function () { albeik.init(); });
albeik.Gallery.preload();
