var Exo_Fontsize =
{
    fontsize: 1,
    ekdCookie: document.cookie,
    startup: function(container_element)
    {
        container_element = $(container_element);
        if(container_element)
        {
            this.build(container_element);
            this.set(this.getCookieData());
        }
    },
    set: function(size)
    {
        this.fontsize=parseInt(size);
        this.check();
        $$('body').setStyle('font-size',1+this.fontsize*0.1-0.1+'em').setStyle('line-height',1+this.fontsize*0.1+0.2+'em');
        this.storeCookie();
        setSameThemeHeight();
    },
    getCookieData: function()
    {
        if(this.ekdCookie && this.ekdCookie.search('fontsize=')>=0)
        {
            return parseInt(this.ekdCookie.substr(this.ekdCookie.search('fontsize=')+9,this.ekdCookie.search(';')));
        }
        return 1;
    },
    check: function()
    {
        if(this.fontsize<1)
        {
            this.fontsize=1;
        }
        if(this.fontsize>4)
        {
            this.fontsize=4;
        }
    },
    build: function(container_element)
    {
        container_element.setHTML('Schriftgröße ');
        var base_href=$('base_href');
        if(base_href)
        {
            base_href = base_href.getProperty('href');
        }
        else
        {
            base_href = '';
        }
        new Element('img',
        {
            'properties':
            {
                'src': base_href+'images/btn_fontsize_minus.gif',
                'alt': 'Schrift -',
                'title': 'Schrift verkleinern'
            },
            'events':
            {
                'click': function()
                {
                    Exo_Fontsize.set(--Exo_Fontsize.fontsize);
                }
            }
        }).injectInside(container_element);
        new Element('img',
        {
            'properties':
            {
                'src': base_href+'images/btn_fontsize_1.gif',
                'alt': 'Schrift 1',
                'title': 'Schrift auf Standardgröße setzen'
            },
            'events':
            {
                'click': function()
                {
                    Exo_Fontsize.set(1);
                }
            }
        }).injectInside(container_element);
        new Element('img',
        {
            'properties':
            {
                'src': base_href+'images/btn_fontsize_2.gif',
                'alt': 'Schrift 2',
                'title': 'Schrift auf Größe 2 setzen'
            },
            'events':
            {
                'click': function()
                {
                    Exo_Fontsize.set(2);
                }
            }
        }).injectInside(container_element);
        new Element('img',
        {
            'properties':
            {
                'src': base_href+'images/btn_fontsize_3.gif',
                'alt': 'Schrift 3',
                'title': 'Schrift auf Größe 3 setzen'
            },
            'events':
            {
                'click': function()
                {
                    Exo_Fontsize.set(3);
                }
            }
        }).injectInside(container_element);
        new Element('img',
        {
            'properties':
            {
                'src': base_href+'images/btn_fontsize_4.gif',
                'alt': 'Schrift 4',
                'title': 'Schrift auf maximale Größe setzen'
            },
            'events':
            {
                'click': function()
                {
                    Exo_Fontsize.set(4);
                }
            }
        }).injectInside(container_element);
        new Element('img',
        {
            'properties':
            {
                'src': base_href+'images/btn_fontsize_plus.gif',
                'alt': 'Schrift +',
                'title': 'Schrift vergrößern'
            },
            'events':
            {
                'click': function()
                {
                    Exo_Fontsize.set(++Exo_Fontsize.fontsize);
                }
            }
        }).injectInside(container_element);
    },
    storeCookie: function()
    {
        if(this.ekdCookie)
        {
            document.cookie='fontsize='+this.fontsize+';';
        }
    }
};
