vanilla.namespace("joblib.overlay");joblib.overlay={open:function(a,b,c){this.show();$("#overlayContent").load(a,b,function(){this._adjustHeight();$("#overlayContent a.close").click(this.close.bind(this));if(c){c($("#overlayContent"))}}.bind(this))},close:function(){this.hide()},show:function(){var a=$("body");var e=$("html");var c=$("head");if($("#overlayBackground").length<=0){$.create("div",{id:"overlayBackground"}).hide().appendTo(a);$.create("div",{id:"overlayContainer"},$.create("div",{id:"overlay"},$.create("div",{id:"overlayContent"}))).hide().appendTo(a)}else{if($("#overlayBackground").is(":visible")){return}}this.bodyCSS=this._saveCSS(a);this.documentScroll=e.scrollTop();this.documentCSS=this._saveCSS(e);e.add(a).css({margin:0,padding:0,width:"100%",height:"100%"});$("#overlayBackground").css("opacity",0).show().animate({opacity:0.9});$("#overlayContainer").show();$("#overlayContent").height(0).html("<p>Chargement ...</p>").css("overflow","hidden").height($("#overlayContent").get(0).scrollHeight);if(vanilla.isBoggyIE){this.selects=$("#overlayBackground").prevAll().find("select:visible").hide()}this._center()},hide:function(){if(!$("#overlayBackground").is(":visible")){return}this._restoreCSS($("body"),this.bodyCSS);this._restoreCSS($("html"),this.documentCSS);$("#overlayContent").empty();$("#overlayContainer").hide();$("#overlayBackground").fadeOut(500,function(){$(this).css("display","none")});if(vanilla.isBoggyIE&&this.selects){this.selects.show();this.selects=null}},_adjustHeight:function(){$("#overlayContent").css("visibility","hidden");$("#overlayContainer").wait(0,function(){$("#overlayContent").animate({height:$("#overlayContent").get(0).scrollHeight},{step:this._center.bind(this),complete:function(){$("#overlayContent").css("visibility","visible").css("overflow","auto")}})}.bind(this))},_center:function(){if(!$("#overlayBackground").is(":visible")){return}$("#overlay").css("margin-top",Math.max(10,$("html").height()/2-$("#overlay").outerHeight()/2+$("html").scrollTop()))},_saveCSS:function(b){var a={};a.width=b.css("width");a.height=b.css("height");a.margin=b.css("margin");a.padding=b.css("padding");return a},_restoreCSS:function(a,b){a.css(b)}};
