function wmng(s) {
        var settings = {
                overlayBgColor : '#444',
                overlayOpacity : 0.5,
                containerBorderSize : 10,
                containerResizeSpeed : 400,
                closeKey : 27,
                imageBtnClose : '',
                width : 300
        };
        

        
        function init() {
                $('embed, object, select').css({ 'visibility' : 'hidden' });
                
                settings = $.extend(true, s, settings);

                
                _set_interface();
                _set_view();
                $('#container-data-box').css({
                        width : settings.width
                });
        };
        
        function _set_interface() {
                $('body').append('<div id="overlay"></div><div id="popup"><div id="container-data-box"><div id="container-data"><div id="details"><span id="details-caption"></span><span id="details-description"></span></div></div><div id="secNav"><a href="#" id="btnClose" style="position: relative; z-index: 100111;">' + settings.imageBtnClose + '</a></div></div></div>');
                
                var arrPageSizes = pageSize();
        
                $('#overlay').css({
                        backgroundColor:        settings.overlayBgColor,
                        opacity:                        settings.overlayOpacity,
                        width:                          arrPageSizes[0],
                        height:                         arrPageSizes[1]
                }).fadeIn();
                
                var arrPageScroll = pageScroll();

                $('#popup').css({
			top:    arrPageScroll[1] + arrPageSizes[3] / 3 - $('#popup').height(),
                        left:   arrPageScroll[0]
                }).show();

		// $('#overlay, #btnClose').click(function(e) {
                /*$('#btnClose').click(function(e) {
                        _finish();
                        return false;
                });*/
                
                
                $(window).scroll(function() {
                        var arrPageSizes = pageSize();
                        $('#overlay').css({
                                width:          arrPageSizes[0],
                                height:         arrPageSizes[1]
                        });
                        var arrPageScroll = pageScroll();
                        $('#popup').css({
                                top:    arrPageScroll[1] + arrPageSizes[3] / 3 - $('#popup').height(),
                                left:   arrPageScroll[0]
                        });
                })
                
                $(window).resize(function() {
                        var arrPageSizes = pageSize();
                        $('#overlay').css({
                                width:          arrPageSizes[0],
                                height:         arrPageSizes[1]
                        });
                        var arrPageScroll = pageScroll();
                        $('#popup').css({
                                top:    arrPageScroll[1] + arrPageSizes[3] / 3 - $('#popup').height(),
                                left:   arrPageScroll[0]
                        });
                });
        }
        
        function _set_view() {
		$('#details-caption').text(settings.title);
                $('#details-description').html(settings.text);
        };
        
	function _enable_keyboard_navigation() {
                $(document).keydown(function(objEvent) {
                        _keyboard_action(objEvent);
                });
        }
        
        function _keyboard_action(objEvent) {
                if ( objEvent == null ) {
                        keycode = event.keyCode;
                        escapeKey = 27;
                } else {
                        keycode = objEvent.keyCode;
                        escapeKey = objEvent.DOM_VK_ESCAPE;
                }
                key = String.fromCharCode(keycode).toLowerCase();
                if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) {
                        _finish();
                }
        }
        
        function _finish() {
                $('#popup').remove();
                $('#overlay').fadeOut(function() { $('#overlay').remove(); });
                $('embed, object, select').css({ 'visibility' : 'visible' });
        }
        
        function pageSize() {
                var xScroll, yScroll;
                if (window.innerHeight && window.scrollMaxY) {
                        xScroll = window.innerWidth + window.scrollMaxX;
                        yScroll = window.innerHeight + window.scrollMaxY;
                } else if (document.body.scrollHeight > document.body.offsetHeight){
                        xScroll = document.body.scrollWidth;
                        yScroll = document.body.scrollHeight;
                } else {
                        xScroll = document.body.offsetWidth;
                        yScroll = document.body.offsetHeight;
                }
                var windowWidth, windowHeight;
                if (self.innerHeight) {
                        if(document.documentElement.clientWidth){
                                windowWidth = document.documentElement.clientWidth;
                        } else {
                                windowWidth = self.innerWidth;
                        }
                        windowHeight = self.innerHeight;
                } else if (document.documentElement && document.documentElement.clientHeight) {
                        windowWidth = document.documentElement.clientWidth;
                        windowHeight = document.documentElement.clientHeight;
                } else if (document.body) {
                        windowWidth = document.body.clientWidth;
                        windowHeight = document.body.clientHeight;
                }
                if(yScroll < windowHeight){
                        pageHeight = windowHeight;
                } else {
                        pageHeight = yScroll;
                }
                if(xScroll < windowWidth){
                        pageWidth = xScroll;
                } else {
                        pageWidth = windowWidth;
                }
                arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
                return arrayPageSize;
        };
 
        function pageScroll() {
                var xScroll, yScroll;
                if (self.pageYOffset) {
                        yScroll = self.pageYOffset;
                        xScroll = self.pageXOffset;
                } else if (document.documentElement && document.documentElement.scrollTop) {
                        yScroll = document.documentElement.scrollTop;
                        xScroll = document.documentElement.scrollLeft;
                } else if (document.body) {
                        yScroll = document.body.scrollTop;
                        xScroll = document.body.scrollLeft;
                }
                arrayPageScroll = new Array(xScroll,yScroll);
                return arrayPageScroll;
        };
       	init();
       
}; 

