
var fontsize = {
    str: '',
    config: {
        length: 3,
        id: ['fontsmall', 'fontmedium', 'fontlarge'],
        label: ['S', 'M', 'L'],
        sizeOther: [ '82%', '100%', '120%'],
        sizeIE6: ['82%', '100%', '120%'],
        sizeIE7: ['82%', '100%', '120%'],
        cookieName: 'jadecom_fontsize',
        cookieDate: '90'
    },

    cookie: {
        set: function(n, v) {
            var t = new Date();
            t.setTime(t.getTime() + (1000 * 60 * 60 * 24 * fontsize.config.cookieDate));
            document.cookie = n + '=' + encodeURIComponent(v) + '; path=/; expires=' + t.toGMTString();
        },
        get: function(n, m) {
            return (m = ('; ' + document.cookie + ';').match('; ' + n + '=(.*?);')) ? decodeURIComponent(m[1]) : '';
        }
    },

    changeFontSize: function(i) {
        var config = this.config;

        if(navigator.userAgent.indexOf("MSIE 6") >= 0) {
            var size = config.sizeIE6[i];
        }
        else if(navigator.userAgent.indexOf("MSIE 7") >= 0) {
            var size = config.sizeIE7[i];
        }
        else {
            var size = config.sizeOther[i];
        }

        var items = document.getElementById('fontsize').childNodes;
        for(var j = 0; j < items.length; j++) {
            if(i == j) {
                items[j].setAttribute('class', 'current');
            }
            else {
                items[j].removeAttribute('class');
            }
        }

        document.body.style.fontSize = size;

        // set cookie
        this.cookie.set(config.cookieName, i);
    },

    start: function() {
        var config = this.config;
        var i      = this.cookie.get(config.cookieName, 'm')

        for(var j = 0; j < config.length; j++) {
            this.str += '<li id="' + config.id[j] + '" onclick="fontsize.changeFontSize(' + j + ')">' + config.label[j] + '</li>';
        }

        document.write('<ul id="fontsize">' + this.str + '</ul>');

        // get cookie
        if(i != '') {
            this.changeFontSize(i);
        }
    }
}

fontsize.start();
