RBjs.Freezer = new function() 
{
    var me = this;
    this.owner = RBjs;
    this.content_id = null;
    
    this.freeze_img_1 = document.createElement('IMG');
    this.freeze_img_1.src = '/09/2010/img/freeze00.gif';
    
    //this.freeze_img_2 = document.createElement('IMG');
    //this.freeze_img_2.src = '/09/2010/img/freeze00.gif';
    
    this.now_fr = 0;
    
    this.msecs = 700;
    this.interval = null;
    
    this.unfreeze_callback = 0;
    
    this.setMinFreezeTime = function( msecs )
    {
        this.msecs = msecs > 0 ? msecs : 0;        
    }
    
    this.freezeAll = function()
    {
        if(me.now_fr) return false;
        
        document.onkeydown = function( e ) {
           e = (e) ? e : window.event;
           if( e.keyCode == 27 ) return false;
        }
    
        this.now_fr = 1;
        if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
            $j("body","html").css({height: "100%", width: "100%"});
            $j("html").css("overflow","hidden");
            if (document.getElementById("freezer_iframe_fix_for_ie") === null) {//iframe to hide select elements in ie6
                $j("body").append("<iframe id='freezer_iframe_fix_for_ie'></iframe><div id='freezer_overlay'><div id='freezer_animation'></div></div>");                
                me.content_id = $j('#freezer_animation');
            }
        } else { //all others
            if(document.getElementById("freezer_overlay") === null){

                // ie 7, 8
                if( match = /MSIE\s(\d(?:\.\d?))/.exec( window.navigator.userAgent ) ) {
                    var ver = match[1] ? parseFloat(match[1]) : 0; 
                    if( ver >= 7 ) {
                        $j("body").append("<div id='freezer_overlay'><div id='freezer_window'></div></div>");
            
                        var freeze_img_1 = document.createElement('DIV');
                        freeze_img_1.id = 'freezer_animation_IE7';
                        document.body.appendChild( freeze_img_1 );
                        me.content_id = $j('#freezer_animation_IE7');
                    } else {
                        // практически не достижимый случай
                        $j("body").append("<div id='freezer_overlay'><div id='freezer_window'><div id='freezer_animation'></div></div></div>");
                        me.content_id = $j('#freezer_animation');
                    }
                } else {
                    $j("body").append("<div id='freezer_overlay'><div id='freezer_window'><div id='freezer_animation'></div></div></div>");
                    me.content_id = $j('#freezer_animation');
                }
            }
        }
        
        $j( '#freezer_overlay' ).show();
        
        var userAgent = navigator.userAgent.toLowerCase();
        if( userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1 ) {
            $j("#freezer_overlay").addClass("freezer_overlayFor_Mac"); //use png overlay so hide flash
        } else {
            //$j("#freezer_overlay").addClass("TB_overlayBG"); //use background and opacity
        }
        
         /*
        window.setTimeout( function() {
    var freeze_img_1 = document.createElement('IMG');
     freeze_img_1.src = '/09/img/freeze_06.gif';
     freeze_img_1.className = 'cl_freezer_img';
     
     //freeze_img_1.style.top = 100;
     //freeze_img_1.style.left = 100;
     
         //document.getElementById( 'freezer_window2' ).appendChild( freeze_img_1 );
         document.body.appendChild( freeze_img_1 );
         //alert( 'ddddd' );
        }, 20 );
    */   
    }
    
    
    this.unfreezeAll = function()
    {
        if( me.msecs ) {
            me.interval = window.setTimeout( me.unfreezeAllForce, me.msecs );            
        } else {
            me.unfreezeAllForce();    
        }
    }
    
    this.unfreezeAllForce = function()
    {
        window.clearTimeout( me.interval );
        
        $j('#freezer_overlay, #freezer_window, #freezer_iframe_fix_for_ie, #freezer_animation, #freezer_animation_IE7').remove();
        if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
            $j("body","html").css({height: "auto", width: "auto"});
            $j("html").css("overflow","");
        }
        document.onkeydown = "";
        document.onkeyup = "";
        
        me.now_fr = 0;

        if( typeof( me.unfreeze_callback ) == 'function' )
        {
            me.unfreeze_callback();
        }         
                
        return false;
      
    }
    
    this.setUnfreezeCallBack = function( unfreeze_callback )
    {
        me.unfreeze_callback = unfreeze_callback;            
    }
}