widget-modality-min.js revision c0e4b72550a9206a3094dbc43e95ee297b863bf9
6ed90202378068e77619b6e8b259ad064dd3fd2bapennerYUI.add("widget-modality",function(b){var i="widget",p="host",o="renderUI",j="bindUI",q="syncUI",l="rendered",m="boundingBox",n="contentBox",k="visible",f="zIndex",g="align",h="Change",c=b.Lang.isBoolean,e=b.ClassNameManager.getClassName,a=(function(){
6ed90202378068e77619b6e8b259ad064dd3fd2bapenner/*! IS_POSITION_FIXED_SUPPORTED - Juriy Zaytsev (kangax) - http://yura.thinkweb2.com/cft/ */
a9a7680c6369eada5da57ae66d9033ac2c408b27JazzyNicovar s=null,t,r;if(document.createElement){t=document.createElement("div");if(t&&t.style){t.style.position="fixed";t.style.top="10px";r=document.body;if(r&&r.appendChild&&r.removeChild){r.appendChild(t);s=(t.offsetTop===10);r.removeChild(t);}}}return s;}()),d;(function(){var u="widgetModal",t="modal",s="mask",r={modal:e(i,t),mask:e(i,s)};d=b.Base.create(u,b.Plugin.Base,[],{_maskNode:null,_uiHandles:null,initializer:function(w){var v=this;this.afterHostMethod(o,this.renderUI);this.afterHostMethod(j,this.bindUI);this.afterHostMethod(q,this.syncUI);if(this.get(p).get(l)){this.renderUI();this.bindUI();this.syncUI();}this._maskNode=d._GET_MASK();},destructor:function(){if(this._maskNode){this._maskNode.remove(true);}this._detachUIHandles();this.get(p).get(m).removeClass(r.modal);},renderUI:function(){var w=this.get(p).get(m),v=this.get(p).get(n);v.setStyles({position:"relative"});this._repositionMask(this.get(p));w.addClass(r.modal);},bindUI:function(){this.afterHostEvent(k+h,this._afterHostVisibleChange);this.afterHostEvent(f+h,this._afterHostZIndexChange);},syncUI:function(){var v=this.get(p);this._uiSetHostVisible(v.get(k));this._uiSetHostZIndex(v.get(f));},_focus:function(x){var w=this.get(p),y=w.get(m),v=y.get("tabIndex");y.set("tabIndex",v>=0?v:0);w.focus();},_blur:function(){this.get(p).blur();},_getMaskNode:function(){return d._GET_MASK();},_uiSetHostVisible:function(B){var w=this,C=this.get(p).get("id"),v=d.STACK.length;if(B){for(var y=0;y<v;y++){d.STACK[y].modal._detachUIHandles();d.STACK[y].modal._blur();}d.STACK.push({host:w.get("host"),modal:w,id:C});console.log(d.STACK);this._attachUIHandles();this._repositionMask(this.get(p));this._uiSetHostZIndex(this.get(p).get(f));this._maskNode.setStyle("display","block");this._focus();}else{for(var x=0;x<d.STACK.length;x++){if(d.STACK[x].id===C){var A=d.STACK.pop();console.log(d.STACK);A.modal._detachUIHandles();A.modal._blur();}}if(d.STACK.length===0){this._maskNode.setStyle("display","none");}else{var z=d.STACK[d.STACK.length-1].host;this._repositionMask(z);z.modal.bindUI();z.modal._attachUIHandles();z.modal._uiSetHostZIndex(z.get(f));z.modal._focus();}}},_uiSetHostZIndex:function(v){this._maskNode.setStyle(f,v||0);},_attachUIHandles:function(w){if(this._uiHandles){return;}var v=this.get(p),x=v.get(m);this._uiHandles=[x.on("clickoutside",b.bind(this._focus,this)),x.on("focusoutside",b.bind(this._focus,this)),];if(!a){this._uiHandles.push(b.one("win").on("scroll",b.bind(function(z){var y=this._maskNode;y.setStyle("top",y.get("docScrollY"));},this)));}},_detachUIHandles:function(){console.log(this);b.each(this._uiHandles,function(v){v.detach();});this._uiHandles=null;},_afterHostVisibleChange:function(v){this._uiSetHostVisible(v.newVal);},_afterHostZIndexChange:function(v){this._uiSetHostZIndex(v.newVal);},_isNested:function(){var v=d._GET_MASK();return v.get(k);},_repositionMask:function(w){this._maskNode.remove();var x=w.get(m),v=x.get("parentNode")||b.one("body");v.insert(this._maskNode,v.get("firstChild"));}},{NS:t,ATTRS:{maskNode:{getter:"_getMaskNode",readOnly:true},node:{value:undefined}},CLASSES:r,_GET_MASK:function(){var v=b.one(".yui3-widget-mask")||null;if(v){return v;}else{v=b.Node.create("<div></div>");v.addClass(r.mask);v.setStyles({position:a?"fixed":"absolute",width:"100%",height:"100%",top:"0",left:"0",display:"block"});return v;}},STACK:[]});b.namespace("Plugin").Modal=d;}());},"@VERSION@",{requires:["widget","plugin","gallery-outside-events"]});