/*
 Class Overlay (Singleton)
*/

var oOverlay = function()
{

    var overlay = $(document.createElement('div'));
    var cover = $(document.createElement('div'));
    var content = $(document.createElement('div'));
    var scrollTop = 0;
    var overlayWidth = 605;

    $(document).ready(function() {
        cover.css('opacity', 0.5)
             .css('display', 'none')
             .attr('id', 'cover');

        overlay.css('width', overlayWidth)
               .css('display', 'none')
               .attr('id', 'overlay');

        cover.prependTo(document.body);
        cover.bind('click', publicObject.closeOverlay);

        content.attr('class', 'content');
        content.appendTo(overlay);
        overlay.appendTo(document.body);
    });

    var publicObject = {

        openOverlay: function(innerHTML, domNode) {

            scrollTop = $(document).scrollTop();

            cover.css('height', $(document).height() + 'px');

            overlay.css('left', ($(document).width() / 2 - overlayWidth / 2) + 'px')
                   .css('top', (scrollTop + 150) + 'px');

            this.emptyOverlayContent();
            this.setOverlayContent(innerHTML, domNode);

            cover.fadeIn('fast', function() {
                overlay.show();
            });
        },

        closeOverlay: function() {
            cover.hide();
            overlay.hide();
        },

        openAjaxOverlay: function(nodeLink) {

            var link = '';

            if(typeof(nodeLink) == 'object') {
                link = $(nodeLink).attr('href');
            } else if (typeof(nodeLink) == 'string') {
                link = nodeLink;
            }

            var innerHTML = '';

            innerHTML += '<div style="margin:120px;text-align:center;">';
            innerHTML += '<img src="/images/black-loader.gif" width="32" height="32"/>';
            innerHTML += '</div>';

            this.openOverlay(innerHTML);

            ajax.get('/jcontroller/index.php?ajaxmethod=GetPageContent&url=' + link, function(response) {

                innerHTML = '<div class="bottom">';
                innerHTML += '<a href="javascript:void(0)" class="close" onclick="oOverlay.closeOverlay()">Close [x]</a>';
                innerHTML += '</div>';

                publicObject.emptyOverlayContent();
                publicObject.setOverlayContent(response + innerHTML);
            });

        },

        setOverlayContent: function(innerHTML, domNode) {
            if(domNode != undefined) {
                content.append(domNode);
            }
            if(innerHTML != undefined) {
                content.append(innerHTML);
            }
        },

        emptyOverlayContent: function() {
            content.empty();
        }
    };

    return publicObject;
}();