////////////////////////////////////////////////////////////////////////////////
// constants
var DEFAULT_COLOR = 'orange'

////////////////////////////////////////////////////////////////////////////////
// global variables
var loggedIn = false

var dragPushData = { 
    'orderHash' : {}, 
    'order' : [], 
    'callback' : saveOrder,
    'getDrag'  :   function(id) {
                       return id + '-grab'
                   }
}

////////////////////////////////////////////////////////////////////////////////
// functions
// YAHOO's onload seems to be broken
var bodyLoaded = false
var onLoadCallbacks = []

function addLoadCallback(callback) {
    if (bodyLoaded) callback()
    else onLoadCallbacks.push(callback)
}

function bodyLoad() {
    for (var i = 0; i < onLoadCallbacks.length; ++i) onLoadCallbacks[i]()
    bodyLoaded = true
}

function changeFontSize(inc) {
    var size = document.body.style.fontSize
    size = size == '' ? 13 : +size.replace("px","")

    size += inc
    if (size > 15 || size < 11) return

    document.body.style.fontSize = size + 'px'

    setCookie('fontSize', size)
    saveFontSizePreference(size)
}

function setColorUI(newColor) {
    if (color == newColor) return false
    $('setColor-' + color).className = 'colButton'
    $('setColor-' + newColor).className = 'sel-colButton'

    swapStylesheets(color, newColor)

    color = '/' + color + '/'

    function substSrc(node) {
        if (! node.src) return
        var colIdx = node.src.indexOf(color)
        if (-1 != colIdx)
            node.src = node.src.substr(0, colIdx) + '/' + newColor + '/' + node.src.substr(colIdx + color.length)
    }

    var imgs = document.getElementsByTagName('img')
    for (var idx in imgs) {
        substSrc(imgs[idx])
    }

    var inputs = document.getElementsByTagName('input')
    for (var idx in inputs) {
        if ('image' == inputs[idx].type) substSrc(inputs[idx])
    }

    color = newColor
    setCookie('color', color)
    return true
}

function setColor(newColor) {
    if (! setColorUI(newColor)) return
    //saveColorPreference(newColor)
}

function preloadMainButtons() { 
    //MM_preloadImages('/ida/img/components/btn_iask_o.gif','/ida/img/components/btn_ians_o.gif'); 
}

function saveOrder(newOrder) {
    var orderStr = newOrder.join(',')
    setCookie('order', orderStr)
    saveOrderPreference(orderStr)
}

addLoadCallback(preloadMainButtons)
