//>>built
define("dojox/widget/Standby",["dojo/_base/kernel","dojo/_base/declare","dojo/_base/array","dojo/_base/event","dojo/_base/sniff","dojo/dom","dojo/dom-attr","dojo/dom-construct","dojo/dom-geometry","dojo/dom-style","dojo/window","dojo/_base/window","dojo/_base/fx","dojo/fx","dijit/_Widget","dijit/_TemplatedMixin","dijit/registry"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,fx,_e,_f,_10){
_1.experimental("dojox.widget.Standby");
return _2("dojox.widget.Standby",[_e,_f],{image:require.toUrl("dojox/widget/Standby/images/loading.gif").toString(),imageText:"Please Wait...",text:"Please wait...",centerIndicator:"image",target:"",color:"#C0C0C0",duration:500,zIndex:"auto",opacity:0.75,templateString:"<div>"+"<div style=\"display: none; opacity: 0; z-index: 9999; "+"position: absolute; cursor:wait;\" dojoAttachPoint=\"_underlayNode\"></div>"+"<img src=\"${image}\" style=\"opacity: 0; display: none; z-index: -10000; "+"position: absolute; top: 0px; left: 0px; cursor:wait;\" "+"dojoAttachPoint=\"_imageNode\">"+"<div style=\"opacity: 0; display: none; z-index: -10000; position: absolute; "+"top: 0px;\" dojoAttachPoint=\"_textNode\"></div>"+"</div>",_underlayNode:null,_imageNode:null,_textNode:null,_centerNode:null,_displayed:false,_resizeCheck:null,_started:false,_parent:null,startup:function(_11){
if(!this._started){
if(typeof this.target==="string"){
var w=_10.byId(this.target);
this.target=w?w.domNode:_6.byId(this.target);
}
if(this.text){
this._textNode.innerHTML=this.text;
}
if(this.centerIndicator==="image"){
this._centerNode=this._imageNode;
_7.set(this._imageNode,"src",this.image);
_7.set(this._imageNode,"alt",this.imageText);
}else{
this._centerNode=this._textNode;
}
_a.set(this._underlayNode,{display:"none",backgroundColor:this.color});
_a.set(this._centerNode,"display","none");
this.connect(this._underlayNode,"onclick","_ignore");
if(this.domNode.parentNode&&this.domNode.parentNode!=_c.body()){
_c.body().appendChild(this.domNode);
}
if(_5("ie")==7){
this._ieFixNode=_8.create("div");
_a.set(this._ieFixNode,{opacity:"0",zIndex:"-1000",position:"absolute",top:"-1000px"});
_c.body().appendChild(this._ieFixNode);
}
this.inherited(arguments);
}
},show:function(){
if(!this._displayed){
if(this._anim){
this._anim.stop();
delete this._anim;
}
this._displayed=true;
this._size();
this._disableOverflow();
this._fadeIn();
}
},hide:function(){
if(this._displayed){
try{
if(this._anim){
this._anim.stop();
delete this._anim;
}
this._size();
}
catch(e){
console.error(e);
}
finally{
this._fadeOut();
this._displayed=false;
if(this._resizeCheck!==null){
clearInterval(this._resizeCheck);
this._resizeCheck=null;
}
}
}
},isVisible:function(){
return this._displayed;
},onShow:function(){
},onHide:function(){
},uninitialize:function(){
this._displayed=false;
if(this._resizeCheck){
clearInterval(this._resizeCheck);
}
_a.set(this._centerNode,"display","none");
_a.set(this._underlayNode,"display","none");
if(_5("ie")==7&&this._ieFixNode){
_c.body().removeChild(this._ieFixNode);
delete this._ieFixNode;
}
if(this._anim){
this._anim.stop();
delete this._anim;
}
this.target=null;
this._imageNode=null;
this._textNode=null;
this._centerNode=null;
this.inherited(arguments);
},_size:function(){
if(this._displayed){
var dir=_7.get(_c.body(),"dir");
if(dir){
dir=dir.toLowerCase();
}
var _12;
var _13=this._scrollerWidths();
var _14=this.target;
var _15=_a.get(this._centerNode,"display");
_a.set(this._centerNode,"display","block");
var box=_9.position(_14,true);
if(_14===_c.body()||_14===_c.doc){
box=_b.getBox();
box.x=box.l;
box.y=box.t;
}
var _16=_9.getMarginBox(this._centerNode);
_a.set(this._centerNode,"display",_15);
if(this._ieFixNode){
_12=-this._ieFixNode.offsetTop/1000;
box.x=Math.floor((box.x+0.9)/_12);
box.y=Math.floor((box.y+0.9)/_12);
box.w=Math.floor((box.w+0.9)/_12);
box.h=Math.floor((box.h+0.9)/_12);
}
var zi=_a.get(_14,"zIndex");
var _17=zi;
var _18=zi;
if(this.zIndex==="auto"){
if(zi!="auto"){
_17=parseInt(_17,10);
_18=parseInt(_18,10);
}else{
var _19=_14;
if(_19&&_19!==_c.body()&&_19!==_c.doc){
_19=_14.parentNode;
var _1a=-100000;
while(_19&&_19!==_c.body()){
zi=_a.get(_19,"zIndex");
if(!zi||zi==="auto"){
_19=_19.parentNode;
}else{
var _1b=parseInt(zi,10);
if(_1a<_1b){
_1a=_1b;
_17=_1b+1;
_18=_1b+1;
}
_19=_19.parentNode;
}
}
}
}
}else{
_17=parseInt(this.zIndex,10);
_18=parseInt(this.zIndex,10);
}
_a.set(this._centerNode,"zIndex",_18);
_a.set(this._underlayNode,"zIndex",_17);
var pn=_14.parentNode;
if(pn&&pn!==_c.body()&&_14!==_c.body()&&_14!==_c.doc){
var obh=box.h;
var obw=box.w;
var _1c=_9.position(pn,true);
if(this._ieFixNode){
_12=-this._ieFixNode.offsetTop/1000;
_1c.x=Math.floor((_1c.x+0.9)/_12);
_1c.y=Math.floor((_1c.y+0.9)/_12);
_1c.w=Math.floor((_1c.w+0.9)/_12);
_1c.h=Math.floor((_1c.h+0.9)/_12);
}
_1c.w-=pn.scrollHeight>pn.clientHeight&&pn.clientHeight>0?_13.v:0;
_1c.h-=pn.scrollWidth>pn.clientWidth&&pn.clientWidth>0?_13.h:0;
if(dir==="rtl"){
if(_5("opera")){
box.x+=pn.scrollHeight>pn.clientHeight&&pn.clientHeight>0?_13.v:0;
_1c.x+=pn.scrollHeight>pn.clientHeight&&pn.clientHeight>0?_13.v:0;
}else{
if(_5("ie")){
_1c.x+=pn.scrollHeight>pn.clientHeight&&pn.clientHeight>0?_13.v:0;
}else{
if(_5("webkit")){
}
}
}
}
if(_1c.w<box.w){
box.w=box.w-_1c.w;
}
if(_1c.h<box.h){
box.h=box.h-_1c.h;
}
var _1d=_1c.y;
var _1e=_1c.y+_1c.h;
var _1f=box.y;
var _20=box.y+obh;
var _21=_1c.x;
var _22=_1c.x+_1c.w;
var _23=box.x;
var _24=box.x+obw;
var _25;
if(_20>_1d&&_1f<_1d){
box.y=_1c.y;
_25=_1d-_1f;
var _26=obh-_25;
if(_26<_1c.h){
box.h=_26;
}else{
box.h-=2*(pn.scrollWidth>pn.clientWidth&&pn.clientWidth>0?_13.h:0);
}
}else{
if(_1f<_1e&&_20>_1e){
box.h=_1e-_1f;
}else{
if(_20<=_1d||_1f>=_1e){
box.h=0;
}
}
}
if(_24>_21&&_23<_21){
box.x=_1c.x;
_25=_21-_23;
var _27=obw-_25;
if(_27<_1c.w){
box.w=_27;
}else{
box.w-=2*(pn.scrollHeight>pn.clientHeight&&pn.clientHeight>0?_13.w:0);
}
}else{
if(_23<_22&&_24>_22){
box.w=_22-_23;
}else{
if(_24<=_21||_23>=_22){
box.w=0;
}
}
}
}
if(box.h>0&&box.w>0){
_a.set(this._underlayNode,{display:"block",width:box.w+"px",height:box.h+"px",top:box.y+"px",left:box.x+"px"});
var _28=["borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"];
this._cloneStyles(_28);
if(!_5("ie")){
_28=["MozBorderRadius","MozBorderRadiusTopleft","MozBorderRadiusTopright","MozBorderRadiusBottomleft","MozBorderRadiusBottomright","WebkitBorderRadius","WebkitBorderTopLeftRadius","WebkitBorderTopRightRadius","WebkitBorderBottomLeftRadius","WebkitBorderBottomRightRadius"];
this._cloneStyles(_28,this);
}
var _29=(box.h/2)-(_16.h/2);
var _2a=(box.w/2)-(_16.w/2);
if(box.h>=_16.h&&box.w>=_16.w){
_a.set(this._centerNode,{top:(_29+box.y)+"px",left:(_2a+box.x)+"px",display:"block"});
}else{
_a.set(this._centerNode,"display","none");
}
}else{
_a.set(this._underlayNode,"display","none");
_a.set(this._centerNode,"display","none");
}
if(this._resizeCheck===null){
var _2b=this;
this._resizeCheck=setInterval(function(){
_2b._size();
},100);
}
}
},_cloneStyles:function(_2c){
_3.forEach(_2c,function(s){
_a.set(this._underlayNode,s,_a.get(this.target,s));
},this);
},_fadeIn:function(){
var _2d=this;
var _2e=_d.animateProperty({duration:_2d.duration,node:_2d._underlayNode,properties:{opacity:{start:0,end:_2d.opacity}}});
var _2f=_d.animateProperty({duration:_2d.duration,node:_2d._centerNode,properties:{opacity:{start:0,end:1}},onEnd:function(){
_2d.onShow();
delete _2d._anim;
}});
this._anim=fx.combine([_2e,_2f]);
this._anim.play();
},_fadeOut:function(){
var _30=this;
var _31=_d.animateProperty({duration:_30.duration,node:_30._underlayNode,properties:{opacity:{start:_30.opacity,end:0}},onEnd:function(){
_a.set(this.node,{"display":"none","zIndex":"-1000"});
}});
var _32=_d.animateProperty({duration:_30.duration,node:_30._centerNode,properties:{opacity:{start:1,end:0}},onEnd:function(){
_a.set(this.node,{"display":"none","zIndex":"-1000"});
_30.onHide();
_30._enableOverflow();
delete _30._anim;
}});
this._anim=fx.combine([_31,_32]);
this._anim.play();
},_ignore:function(e){
if(e){
_4.stop(e);
}
},_scrollerWidths:function(){
var div=_8.create("div");
_a.set(div,{position:"absolute",opacity:0,overflow:"hidden",width:"50px",height:"50px",zIndex:"-100",top:"-200px",padding:"0px",margin:"0px"});
var _33=_8.create("div");
_a.set(_33,{width:"200px",height:"10px"});
div.appendChild(_33);
_c.body().appendChild(div);
var b=_9.getContentBox(div);
_a.set(div,"overflow","scroll");
var a=_9.getContentBox(div);
_c.body().removeChild(div);
return {v:b.w-a.w,h:b.h-a.h};
},_setTextAttr:function(_34){
this._textNode.innerHTML=_34;
this.text=_34;
},_setColorAttr:function(c){
_a.set(this._underlayNode,"backgroundColor",c);
this.color=c;
},_setImageTextAttr:function(_35){
_7.set(this._imageNode,"alt",_35);
this.imageText=_35;
},_setImageAttr:function(url){
_7.set(this._imageNode,"src",url);
this.image=url;
},_setCenterIndicatorAttr:function(_36){
this.centerIndicator=_36;
if(_36==="image"){
this._centerNode=this._imageNode;
_a.set(this._textNode,"display","none");
}else{
this._centerNode=this._textNode;
_a.set(this._imageNode,"display","none");
}
},_setTargetAttr:function(_37){
if(typeof _37==="string"){
var w=_10.byId(_37);
this._set("target",w?w.domNode:_6.byId(_37));
}else{
this._set("target",_37);
}
},_disableOverflow:function(){
if(this.target===_c.body()||this.target===_c.doc){
this._overflowDisabled=true;
var _38=_c.body();
if(_38.style&&_38.style.overflow){
this._oldOverflow=_a.get(_38,"overflow");
}else{
this._oldOverflow="";
}
if(_5("ie")&&!_5("quirks")){
if(_38.parentNode&&_38.parentNode.style&&_38.parentNode.style.overflow){
this._oldBodyParentOverflow=_38.parentNode.style.overflow;
}else{
try{
this._oldBodyParentOverflow=_a.get(_38.parentNode,"overflow");
}
catch(e){
this._oldBodyParentOverflow="scroll";
}
}
_a.set(_38.parentNode,"overflow","hidden");
}
_a.set(_38,"overflow","hidden");
}
},_enableOverflow:function(){
if(this._overflowDisabled){
delete this._overflowDisabled;
var _39=_c.body();
if(_5("ie")&&!_5("quirks")){
_39.parentNode.style.overflow=this._oldBodyParentOverflow;
delete this._oldBodyParentOverflow;
}
_a.set(_39,"overflow",this._oldOverflow);
if(_5("webkit")){
var div=_8.create("div",{style:{height:"2px"}});
_39.appendChild(div);
setTimeout(function(){
_39.removeChild(div);
},0);
}
delete this._oldOverflow;
}
}});
});
