/**
* AFW module Overlay
* 
*/
afw.module.overlay = 
{
    zIndex : 100
    ,bringToFront : function(oElement)
    {
        afw.module.overlay.zIndex++;
        oElement.style.zIndex = afw.module.overlay.zIndex;
    }
    ,close : function(oElement)
    {
        var i, m, lock, overlay;
        overlay = oElement.parentNode;
        if(overlay)
        {
            overlay.parentNode.removeChild(overlay);
            lock = afw.common.functions.getElement('afw-am-overlay-lock');
            if(lock 
            && lock.lockedById === overlay.id)
            {
                lock.style.display = 'none';
            }
        }
    }
    ,open : function(bLock, bMoveable)
    {
        if(bLock == undefined){ bLock = true; }
        if(bMoveable == undefined){ bMoveable = false; }
        var lock, element, close;
        element = document.createElement('DIV');
        close = document.createElement('DIV');
        element.id = afw.common.functions.randomID('overlay_');
        close.innerHTML = 'X';
        close.id = element.id + '_close';
        element.className = 'afw-am-overlay';
        close.className = 'afw-am-overlay-close';
        if(bMoveable)
        {
            element.style.cursor = 'move';
        }
        if(bLock)
        {
            lock = afw.common.functions.getElement('afw-am-overlay-lock');
            if(!lock)
            {
                lock = document.createElement('DIV');
                lock.id = 'afw-am-overlay-lock';
                lock.className = 'afw-am-overlay-lock';
                afw.common.functions.setOpacity(lock, 70);
                document.body.appendChild(lock);
            }
            var clientDim = afw.common.functions.getClientDimensions();
            lock.style.width = clientDim.width + 'px';
            lock.style.height = clientDim.height + 'px';
            lock.style.display = 'block';
            lock.lockedById = element.id;
            afw.module.overlay.bringToFront(lock);
        }
        afw.module.overlay.bringToFront(element);
        element.appendChild(close);
        document.body.appendChild(element);
        (function(id)
        {
            var element = afw.common.functions.getElement(id);
            if(element)
            {
                element.onmousedown = function(){ afw.module.overlay.bringToFront(this); };
            }
        })(element.id);
        (function(id)
        {
            setTimeout(function()
            {
                var close = afw.common.functions.getElement(id);
                if(close){ close.onclick = function(){ afw.module.overlay.close(this); } }
            }, 250);
        })(close.id);
        return element;
    }
};

/*
TODO: moveable
*/