/*
	Copyright (c) 2004-2008, The Dojo Foundation All Rights Reserved.
	Available via Academic Free License >= 2.1 OR the modified BSD license.
	see: http://dojotoolkit.org/license for details
*/


if(!dojo._hasResource["dijit._base.popup"]){dojo._hasResource["dijit._base.popup"]=true;dojo.provide("dijit._base.popup");dojo.require("dijit._base.focus");dojo.require("dijit._base.place");dojo.require("dijit._base.window");dijit.popup=new function(){var _1=[],_2=1000,_3=1;this.prepare=function(_4){dojo.body().appendChild(_4);var s=_4.style;if(s.display=="none"){s.display="";}s.visibility="hidden";s.position="absolute";s.top="-9999px";};this.open=function(_6){var _7=_6.popup,_8=_6.orient||{"BL":"TL","TL":"BL"},_9=_6.around,id=(_6.around&&_6.around.id)?(_6.around.id+"_dropdown"):("popup_"+_3++);var _b=dojo.doc.createElement("div");dijit.setWaiRole(_b,"presentation");_b.id=id;_b.className="dijitPopup";_b.style.zIndex=_2+_1.length;_b.style.left=_b.style.top="0px";_b.style.visibility="hidden";if(_6.parent){_b.dijitPopupParent=_6.parent.id;}dojo.body().appendChild(_b);var s=_7.domNode.style;s.display="";s.visibility="";s.position="";_b.appendChild(_7.domNode);var _d=new dijit.BackgroundIframe(_b);var _e=_9?dijit.placeOnScreenAroundElement(_b,_9,_8,_7.orient?dojo.hitch(_7,"orient"):null):dijit.placeOnScreen(_b,_6,_8=="R"?["TR","BR","TL","BL"]:["TL","BL","TR","BR"]);_b.style.visibility="visible";var _f=[];var _10=function(){for(var pi=_1.length-1;pi>0&&_1[pi].parent===_1[pi-1].widget;pi--){}return _1[pi];};_f.push(dojo.connect(_b,"onkeypress",this,function(evt){if(evt.charOrCode==dojo.keys.ESCAPE&&_6.onCancel){dojo.stopEvent(evt);_6.onCancel();}else{if(evt.charOrCode===dojo.keys.TAB){dojo.stopEvent(evt);var _13=_10();if(_13&&_13.onCancel){_13.onCancel();}}}}));if(_7.onCancel){_f.push(dojo.connect(_7,"onCancel",null,_6.onCancel));}_f.push(dojo.connect(_7,_7.onExecute?"onExecute":"onChange",null,function(){var _14=_10();if(_14&&_14.onExecute){_14.onExecute();}}));_1.push({wrapper:_b,iframe:_d,widget:_7,parent:_6.parent,onExecute:_6.onExecute,onCancel:_6.onCancel,onClose:_6.onClose,handlers:_f});if(_7.onOpen){_7.onOpen(_e);}return _e;};this.close=function(_15){while(dojo.some(_1,function(_16){return _16.widget==_15;})){var top=_1.pop(),_18=top.wrapper,_19=top.iframe,_1a=top.widget,_1b=top.onClose;if(_1a.onClose){_1a.onClose();}dojo.forEach(top.handlers,dojo.disconnect);if(!_1a||!_1a.domNode){return;}this.prepare(_1a.domNode);_19.destroy();dojo._destroyElement(_18);if(_1b){_1b();}}};}();dijit._frames=new function(){var _1c=[];this.pop=function(){var _1d;if(_1c.length){_1d=_1c.pop();_1d.style.display="";}else{if(dojo.isIE){var _1e=dojo.config["dojoBlankHtmlUrl"]||(dojo.moduleUrl("dojo","resources/blank.html")+"")||"javascript:\"\"";var _1f="<iframe src='"+_1e+"'"+" style='position: absolute; left: 0px; top: 0px;"+"z-index: -1; filter:Alpha(Opacity=\"0\");'>";_1d=dojo.doc.createElement(_1f);}else{_1d=dojo.doc.createElement("iframe");_1d.src="javascript:\"\"";_1d.className="dijitBackgroundIframe";}_1d.tabIndex=-1;dojo.body().appendChild(_1d);}return _1d;};this.push=function(_20){_20.style.display="";if(dojo.isIE){_20.style.removeExpression("width");_20.style.removeExpression("height");}_1c.push(_20);};}();if(dojo.isIE<7){dojo.addOnLoad(function(){var f=dijit._frames;dojo.forEach([f.pop()],f.push);});}dijit.BackgroundIframe=function(_22){if(!_22.id){throw new Error("no id");}if((dojo.isIE&&dojo.isIE<7)||(dojo.isFF&&dojo.isFF<3&&dojo.hasClass(dojo.body(),"dijit_a11y"))){var _23=dijit._frames.pop();_22.appendChild(_23);if(dojo.isIE){_23.style.setExpression("width",dojo._scopeName+".doc.getElementById('"+_22.id+"').offsetWidth");_23.style.setExpression("height",dojo._scopeName+".doc.getElementById('"+_22.id+"').offsetHeight");}this.iframe=_23;}};dojo.extend(dijit.BackgroundIframe,{destroy:function(){if(this.iframe){dijit._frames.push(this.iframe);delete this.iframe;}}});}