var CPopup = { 
    bLoading:false,
    nTimer:false,
    htmlContent:'',
    
    showContent: function(strContentURL) 
    {                       
        //alert(strContentURL);
        $(window).bind("resize", CPopup.resizeWindow); 
        
        $('body').append('<div class="popupbg"></div>');
        var pPopupBG = $('.popupbg');
        pPopupBG.width($(window).width());
        pPopupBG.height($(window).height());
        pPopupBG.css({'opacity': 0});
         
        $('body').append('<div id="CPopupForm" class="popup"><div class="popupcontent"><img src="'+strRootPath+'images/ajax-loader.gif" /></div></div>');
        
        CPopup.bLoading = true;
        CPopup.nTimer = setTimeout(CPopup.showLoading, 500);
        
        var pPopup = $('.popup'); 
        pPopup.center();
        
        $.ajax({
            cache: false,
            url: strContentURL,
            success: function(data) {  
                if(data != '')
                {            
                    CPopup.htmlContent = data;   
                }
            }
        });
        
        pPopupBG.animate({'opacity': 0.5}, 200, function(){ CPopup.initContent(); });
    }, 
    
    initContent:function()
    {
        if(CPopup.htmlContent != '')
        {
            var pPopupBG = $('.popupbg'); 
            var pPopup = $('.popup');
            
            pPopup.css({'visibility':'visible'});
            CPopup.bLoading = false; 
            clearTimeout(CPopup.nTimer);
            
            $('.popupcontent').html(CPopup.htmlContent);
            CPopup.htmlContent = '';
            
            var pPopupData = $('.popupcontent');
            pPopup.center();  

            var nCPopupTop = parseInt(pPopup.css('top'));
            if(nCPopupTop < 10)
            {
                pPopup.css({'top':10});
            }
            var nCPopupTop = parseInt(pPopup.css('top'));
                                    
            var nWidth = pPopupData.width() - 80;
            var nHeight = pPopupData.height() - 80;
            var nTop = nCPopupTop + 40;
            var nLeft = parseInt(pPopup.css('left')) + 40; 

            pPopup.css({'top':nTop, 'left':nLeft, 'opacity':0});
            pPopupData.css({'width':nWidth, 'height':nHeight}); 
            pPopup.animate({'top':nTop-40, 'left':nLeft-40, 'opacity':1}, 200);
            pPopupData.animate({'width':nWidth+80, 'height':nHeight+80}, 200, function(){ pPopupData.css({'width':'auto', 'height':'auto'}); $('.popupcontent div:first').css({'visibility':'visible','opacity':0}); $('.popupcontent div:first').animate({'opacity':1}, 200); });            

            pPopupBG.click(function() { CPopup.hidePopup(); });
        }
        else
        {
            setTimeout(CPopup.initContent, 50);
        }        
    },  
    
    replaceContent: function(strContentURL)
    {
        $.ajax({
            cache: false,
            url: Url.encode(strContentURL),
            success: function(data) {
                if(data != '')
                {
                    $('.popupcontent').html(data);
                    $('.popupcontent div:first').css({'visibility':'visible'}); 
                }
            }
        });
    },
    
    hidePopup: function() 
    {     
        $(window).unbind("resize", CPopup.resizeWindow); 
        var pPopupBG = $('.popupbg');
        var pPopup = $('.popup');
        var pPopupData = $('.popupcontent'); 
        
        // pPopup.remove();
        var nWidth = pPopupData.width() - 80;
        var nHeight = pPopupData.height() - 80;
        var nTop = parseInt(pPopup.css('top')) + 40;
        var nLeft = parseInt(pPopup.css('left')) + 40;
        
        $('.popupcontent div:first').animate({'opacity':0}, 200, function(){ 
            pPopup.animate({'top':nTop, 'left':nLeft, 'opacity':0}, 200);
            pPopupData.animate({'width':nWidth, 'height':nHeight}, 200, function(){ pPopup.remove(); pPopupBG.animate({'opacity': 0}, 200, function(){ pPopupBG.remove(); }); });      
        });
    },
    
    resizeWindow: function(e)
    {
        var pPopupBG = $('.popupbg');
        pPopupBG.width($(window).width());
        pPopupBG.height($(window).height());
        $('.popup').center();
    },
    
    showLoading: function()
    {
        if(CPopup.bLoading)
        {             
           $('.popup').css({'visibility':'visible', 'opacity':0}).animate({'opacity':1}, 500);    
        }
    }    
};
