/****************************************
 *   Font Size JavaScript
 *   Copyright(c) Prisys, Inc.
 *
 *   use Cookie.js, prototype.js
 ****************************************
 */


var size = null;
var cookie;


// check cookie precedence
cookie = new Cookie(document);

if (cookie) {

    size = cookie.getCookie('fontsize');

    if (size != null)
    {
        setPreStyleSheet(size);
    }
}


// precedence style sheet
// no use prototype.js, becourse read first
function setPreStyleSheet(size) {

    if (size)
    {
        var links = document.getElementsByTagName('link');

        for(var i=0; i<links.length; i++)
        {
            if (links[i].sheet)
            {
                stylesheet = links[i].sheet;
            }
            else if (links[i].styleSheet)
            {
                stylesheet = links[i].styleSheet;
            }

            if(links[i].getAttribute('rel').indexOf('alternate stylesheet') != -1 && links[i].getAttribute('title'))
            {
                if(links[i].getAttribute('title') == size)
                {
                    stylesheet.disabled = false;
                }
                else
                {
                    stylesheet.disabled = true;
                }
            }
        }
    }
}


// register function window load
Event.observe(window, 'load', function() {
    new FontSize(size);
});


// register function window unload
Event.observe(window, 'unload', function() {
     cookie.setCookie('fontsize', size, 10);
});


// FontSize Class
var FontSize = Class.create();

FontSize.prototype = {

    element: 'fontsize',

    initialize: function(size)
    {
        Event.observe($(this.element), 'click', this.catchFontSize.bindAsEventListener(this));

        var fontsize = (size != null) ? size: "medium";
        this.activeBtn(fontsize);
    },

    // chatc event
    catchFontSize: function(event)
    {
        var element = Event.findElement(event, 'li');

        if (element.className == "font")
        {
             fontsize = element.id;
        }
        else
        {
            return;
        }
        this.setStyleSheet(fontsize);
    },

    // set style sheet
    setStyleSheet: function(fontsize)
    {
        var links = document.getElementsByTagName('link');

        for (var i=0; i<links.length; i++)
        {
            if (links[i].sheet)
            {
                stylesheet = links[i].sheet;
            }
            else if (links[i].styleSheet)
            {
                stylesheet = links[i].styleSheet;
            }

            if(links[i].getAttribute('rel').indexOf('alternate stylesheet') != -1 && links[i].getAttribute('title'))
            {
                if(links[i].getAttribute('title') == fontsize)
                {
                    stylesheet.disabled = false;
                    this.activeBtn(fontsize);
                    size = fontsize;
                }
                else
                {
                    stylesheet.disabled = true;
                    this.inactiveBtn(links[i].getAttribute('title'));
                }
            }
        }
    },

    // fontsize button active
    // fontsize is ID
    activeBtn: function(fontsize)
    {
        Element.setStyle(fontsize, {backgroundPosition: "0px -21px"});
    },

    // fontsize button inactive
    inactiveBtn: function(fontsize)
    {
        Element.setStyle(fontsize, {backgroundPosition: "0px 0px"});
    }
}

