A.FrontPage = {
    resolveEmail: function() {
        var m = Y.one('#m');
        m.setAttribute('href', A.rot13(m.getAttribute('href')));
    },
    initListeners: function() {
        var anchors = [ 'cv', 'texts' ];
        Y.one('#cv-link').on('click', function(e) {
            var elem = Y.one('#cv');
            e.halt();
            A.Sliders.slideOpen(elem, function() {
                window.scrollTo(elem.getX(), elem.getY());
            });
        });
        Y.one('#texts-link').on('click', function(e) {
            var elem = Y.one('#texts > div');
            e.halt();
            A.Sliders.slideOpen(elem, function() {
                window.scrollTo(elem.getX(), elem.getY());
            });
        });

        Y.one('#open-galleries').on('click', function(e) {
            e.halt();
            if (!e.target.hasClass('open')) {
                Y.all('.gallery').each(function(elem) {
                    if (elem.hasClass('element-closed')) {
                        elem.one('.sliding-title').simulate('click');
                    }
                });
                e.target.addClass('open');
            } else {
                Y.all('.gallery').each(function(elem) {
                    if (!elem.hasClass('element-closed')) {
                        elem.one('.sliding-title').simulate('click');
                    }
                });
                e.target.removeClass('open');
            }
        });
    },
    initNewsletter: function() {
        Y.one('#subscribe form').on('submit', function(e) {
            e.halt();
            var form = e.target;
            Y.io(loc('/subscribe'), {
                method: 'POST',
                headers: {
                    accept: 'text/javascript'
                },
                on: {
                    success: function(id, r) {
                        var errors = Y.JSON.parse(r.responseText).errors;
                        if (Y.Lang.isArray(errors)) {
                            Y.one('#subscribe').setContent('Sikeres feliratkozás');
                        } else {
                            var errorContainer = Y.one('#subscribe-errors');
                            errorContainer.setContent();
                            Y.each(errors, function(v, k) {
                                var field = Y.one('#subscribe input[name="' + k + '"]').previous('label');
                                error = v.replace('#{fieldname}', field.getContent());
                                errorContainer.setContent(errorContainer.getContent() + '<br/>' + error);
                            });
                        }
                    }
                },
                form: { id: form }
            });
        });
    }

};

