a:23:{s:9:"#provides";s:20:"dojox.widget.Standby";s:9:"#resource";s:17:"widget/Standby.js";s:9:"#requires";a:3:{i:0;a:3:{i:0;s:6:"common";i:1;s:13:"dijit._Widget";i:2;s:5:"dijit";}i:1;a:3:{i:0;s:6:"common";i:1;s:16:"dijit._Templated";i:2;s:5:"dijit";}i:2;a:3:{i:0;s:6:"common";i:1;s:7:"dojo.fx";i:2;s:4:"dojo";}}s:20:"dojox.widget.Standby";a:5:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:13:"dijit._Widget";}s:4:"call";a:2:{i:0;s:13:"dijit._Widget";i:1;s:16:"dijit._Templated";}}s:6:"mixins";a:1:{s:9:"prototype";a:1:{i:0;s:26:"dijit._Templated.prototype";}}s:7:"summary";s:223:"A widget designed to act as a Standby/Busy/Disable/Blocking widget to indicate a
particular DOM node is processing and cannot be clicked on at this time.
This widget uses absolute positioning to apply the overlay and image.";s:9:"classlike";b:1;}s:33:"dojox.widget.Standby.templatePath";a:2:{s:9:"prototype";s:20:"dojox.widget.Standby";s:7:"summary";s:0:"";}s:34:"dojox.widget.Standby._underlayNode";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:31:"dojox.widget.Standby._imageNode";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:26:"dojox.widget.Standby.image";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:1:"A";s:7:"summary";s:87:"URL to an image to center within the blocking overlay.  The default is a basic spinner.";}s:30:"dojox.widget.Standby.imageText";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:4:"Text";s:7:"summary";s:68:"to set on the ALT tag of the image.  The default is 'Please wait...'";}s:31:"dojox.widget.Standby._displayed";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:8:"instance";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:33:"dojox.widget.Standby._resizeCheck";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:8:"instance";s:20:"dojox.widget.Standby";s:7:"private";b:1;s:7:"summary";s:0:"";}s:27:"dojox.widget.Standby.target";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:8:"instance";s:20:"dojox.widget.Standby";s:7:"summary";s:0:"";}s:26:"dojox.widget.Standby.color";a:3:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:3:"The";s:7:"summary";s:87:"color to use for the translucent overlay.  Text string such as: darkblue, #FE02FD, etc.";}s:28:"dojox.widget.Standby.startup";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:809:"		if(typeof this.target === "string"){
			var w = dijit.byId(this.target);
			if(w){
				this.target = w.domNode;
			}else{
				this.target = dojo.byId(this.target);
			}
		}
		dojo.style(this._underlayNode, "display", "none");
		dojo.style(this._imageNode, "display", "none");
		dojo.style(this._underlayNode, "backgroundColor", this.color);
		dojo.attr(this._imageNode, "src", this.image);
		dojo.attr(this._imageNode, "alt", this.imageText);
		this.connect(this._underlayNode, "onclick", "_ignore");


		//Last thing to do is move the widgets parent, if any, to the current document body.  Avoids having to deal with
		//parent relative/absolute mess.  Otherwise positioning goes goofy.
		if(this.domNode.parentNode && this.domNode.parentNode != dojo.body()){
			dojo.body().appendChild(this.domNode);
		} ";s:7:"summary";s:102:"Over-ride of the basic widget startup function.  Configures the target node and sets the image to use.";}s:25:"dojox.widget.Standby.show";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:90:"		if(!this._displayed){
			this._displayed = true;
			this._size();
			this._fadeIn();
		}";s:7:"summary";s:61:"Function to display the blocking overlay and busy/status icon";}s:25:"dojox.widget.Standby.hide";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:201:"		if(this._displayed){
			this._size();
			this._fadeOut();
			this._displayed = false;
			if (this._resizeCheck !== null) {
				clearInterval(this._resizeCheck);
				this._resizeCheck = null;
			}
		}";s:7:"summary";s:54:"Function to hide the blocking overlay and status icon.";}s:26:"dojox.widget.Standby._size";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:3256:"		if(this._displayed){
			//Show the image and make sure the zIndex is set high.
			var curStyle = dojo.style(this._imageNode, "display"); 
			dojo.style(this._imageNode, "display", "block");
			var box = dojo.coords(this.target);
			var img = dojo.marginBox(this._imageNode);
			dojo.style(this._imageNode, "display", curStyle);
			dojo.style(this._imageNode, "zIndex", "10000");


			//Need scroll positions as it needs to alter ABS positioning.
			var sVal = dojo._docScroll();
			if(!sVal){
				sVal = {x:0,y:0};
			}


			//Address margins as they shift the position..
			var marginLeft = dojo.style(this.target, "marginLeft");
			if(dojo.isWebKit && marginLeft){
				//Webkit works differently here.  Needs to be doubled.
				//Don't ask me why. :)
				marginLeft = marginLeft*2;
			}


			if(marginLeft){
				box.w = box.w - marginLeft;
			}

 		
			if (!dojo.isWebKit) {
				//Webkit and others work differently here.  
				var marginRight = dojo.style(this.target, "marginRight");
				if(marginRight){
					box.w = box.w - marginRight;
				}
    		}


			var marginTop = dojo.style(this.target, "marginTop");
			if(marginTop){
				box.h = box.h - marginTop;
			}
			var marginBottom = dojo.style(this.target, "marginBottom");
			if(marginBottom){
				box.h = box.h - marginBottom;
			}


			if(box.h > 0 && box.w > 0){
				//Set position and size of the blocking div overlay.
				dojo.style(this._underlayNode, "width", box.w + "px");
				dojo.style(this._underlayNode, "height", box.h + "px");
				dojo.style(this._underlayNode, "top", (box.y + sVal.y) + "px");
				dojo.style(this._underlayNode, "left", (box.x + sVal.x) + "px");




				//Apply curving styles if present.
				var cloneStyles = function(list, scope){
					dojo.forEach(list, function(style){
						dojo.style(this._underlayNode,style,dojo.style(this.target,style));
					}, scope);
				};
				var styles = ["borderRadius", "borderTopLeftRadius", "borderTopRightRadius","borderBottomLeftRadius", "borderBottomRightRadius"];
				cloneStyles(styles, this);
				if(!dojo.isIE){
					//Browser specific styles to try and clone if non-IE.
					styles = ["MozBorderRadius", "MozBorderRadiusTopleft", "MozBorderRadiusTopright","MozBorderRadiusBottomleft", "MozBorderRadiusBottomright",
						"WebkitBorderRadius", "WebkitBorderTopLeftRadius", "WebkitBorderTopRightRadius", "WebkitBorderBottomLeftRadius","WebkitBorderBottomRightRadius"
					];
					cloneStyles(styles, this);
				}
				var imgTop = (box.h/2) - (img.h/2);
				var imgLeft = (box.w/2) - (img.w/2);
				dojo.style(this._imageNode, "top", (imgTop + box.y + sVal.y) + "px");
				dojo.style(this._imageNode, "left", (imgLeft + box.x + sVal.x) + "px");
				dojo.style(this._underlayNode, "display", "block");
				dojo.style(this._imageNode, "display", "block");
			}else{
				//Target has no size, display nothing on it!
				dojo.style(this._underlayNode, "display", "none");
				dojo.style(this._imageNode, "display", "none");
			}
			if (this._resizeCheck === null) {
				//Set an interval timer that checks the target size and scales as needed.
				//Checking every 10th of a second seems to generate a fairly smooth update.
				var self = this;
				this._resizeCheck = setInterval(function(){self._size();}, 100);
			}
		}";s:7:"summary";s:98:"Internal function that handles resizing the overlay and centering of the image on window resizing.";s:7:"private";b:1;}s:28:"dojox.widget.Standby._fadeIn";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:303:"		var underlayNodeAnim = dojo.animateProperty({node: this._underlayNode, properties: {opacity: {start: 0, end: 0.75}}});
		var imageAnim = dojo.animateProperty({node: this._imageNode, properties: {opacity: {start: 0, end: 1}}});
		var anim = dojo.fx.combine([underlayNodeAnim,imageAnim]);
		anim.play();";s:7:"summary";s:64:"Internal function that does the opacity style fade in animation.";s:7:"private";b:1;}s:29:"dojox.widget.Standby._fadeOut";a:5:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:509:"		var self = this;
		var underlayNodeAnim = dojo.animateProperty({
			node: this._underlayNode, 
			properties: {opacity: {start: 0.75, end: 0}},
			onEnd: function() {
				dojo.style(self._underlayNode, "display", "none");
			}
		});
		var imageAnim = dojo.animateProperty({
			node: this._imageNode, 
			properties: {opacity: {start: 1, end: 0}},
			onEnd: function() {
				dojo.style(self._imageNode, "display", "none");
			}
		});
		var anim = dojo.fx.combine([underlayNodeAnim,imageAnim]);
		anim.play();";s:7:"summary";s:65:"Internal function that does the opacity style fade out animation.";s:7:"private";b:1;}s:28:"dojox.widget.Standby._ignore";a:6:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:5:"event";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:75:"		 if(event){
			 event.preventDefault();
			 event.stopPropagation();
		 }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:33:"dojox.widget.Standby.uninitialize";a:4:{s:9:"prototype";s:20:"dojox.widget.Standby";s:4:"type";s:8:"Function";s:6:"source";s:14:"		this.hide();";s:7:"summary";s:69:"Over-ride to hide the widget, which clears intervals, before cleanup.";}s:12:"dojox.widget";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}