var StylePicker = function() {
    function StylePicker(e){
    }
    var self = StylePicker

    function initialize() {
        this.styleDiv = getElem('stylePicker')
        this.setType(getCookie('typeSize'))
        //this.setContrast(getCookie('contrastMode'))

        this.setStyleSheet()

        var elem;
        elem = getElem('style-type-small')
        if (elem) elem.onclick=function() { return StylePicker.doTypeOnClick(this) }
        elem = getElem('style-type-medium')
        if (elem) elem.onclick=function() { return StylePicker.doTypeOnClick(this) }
        elem = getElem('style-type-large')
        if (elem) elem.onclick=function() { return StylePicker.doTypeOnClick(this) }
        elem = getElem('style-type-huge')
        if (elem) elem.onclick=function() { return StylePicker.doTypeOnClick(this) }

        elem = getElem('style-contrast-normal')
        if (elem) elem.onclick=function() { return StylePicker.doContrastOnClick(this) }
        elem = getElem('style-contrast-high')
        if (elem) elem.onclick=function() { return StylePicker.doContrastOnClick(this) }
    }

    function doTypeOnClick(obj) {
        var size = 'medium'
        if (obj.id == 'style-type-small') {
            size='small'
        } else if (obj.id == 'style-type-medium') {
            size='medium'
        } else if (obj.id == 'style-type-large') {
            size='large'
        } else if (obj.id == 'style-type-huge') {
            size='huge'
        }
        this.setType(size)
        this.setStyleSheet()
        return false
    }
    function doContrastOnClick(obj) {
        var contrast = 'normal'
        if (obj.id == 'style-contrast-normal') {
            contrast = 'normal'
        } else if (obj.id == 'style-contrast-high') {
            contrast = 'high'
        }
        this.setContrast(contrast)
        this.setStyleSheet()
        return false
    }
    function setStyleSheet() {
        var body=document.getElementsByTagName('body')[0]
        body.className = this.size + ' ' + this.contrast
        if (typeof initializeFixPageHeight == 'function') initializeFixPageHeight()
    }

    function setType(size) {
        if (!(size == 'small' || size == 'medium' || size == 'large' || size == 'huge')) {
            size='medium'
        }

        this.size = size
        setCookie('typeSize', size)
        this.clearSelected()
        var elem = getElem('style-type-'+size)
        elem.className += ' selected'

        elem = getElem('style-contrast-'+this.contrast)
        if(elem) {elem.className += ' selected';}
    }

    function setContrast(contrast) {
        if (!(contrast == 'normal' || contrast == 'high')) {
            contrast='normal'
        }
        this.contrast = contrast
        setCookie('contrastMode', contrast)
        this.clearSelected()
        var elem = getElem('style-contrast-'+contrast)
        elem.className += ' selected'

        elem = getElem('style-type-'+this.size)
        elem.className += ' selected'
    }
    function clearSelected() {
        var ahrefs = GetElementsWithClassName('a', 'btn', this.styleDiv)
        for (var i=0;i<ahrefs.length;i++) {
            ahrefs[i].className='btn'
        }
    }

    self.size = 'medium'
    self.contrast = 'normal'
    self.styleDiv = false

    self.setStyleSheet = setStyleSheet
    self.doTypeOnClick = doTypeOnClick
    self.doContrastOnClick = doContrastOnClick
    self.setType = setType
    //self.setContrast = setContrast
    self.clearSelected = clearSelected
    self.initialize = initialize
    return self
}();

if (typeof BlasiPage == 'function') BlasiPage.addOnLoad(function() {StylePicker.initialize() })