dojo.provide("dijit.ShopnicsDialog");
dojo.require("dijit.Dialog");
dojo.declare("dijit.ShopnicsDialog",dijit.Dialog, {

    autoPosition: true,
    positionTop: "",
    positionLeft: "",
    autoHeight: true,

   _position: function(){
        if(this.autoPosition) {
            this.inherited(arguments);
            return;
        }
        if(!dojo.hasClass(dojo.body(),"dojoMove")){
			var node = this.domNode;
			var viewport = dijit.getViewport();
			var p = this._relativePosition;
			var mb = p ? null : dojo.marginBox(node);
			dojo.style(node,{
				left: this.positionLeft && this.positionLeft.length > 0 ? this.positionLeft : Math.floor(viewport.l + (p ? p.l : (viewport.w - mb.w) / 2)) + "px",
				top: this.positionTop && this.positionTop.length > 0 ? this.positionTop : Math.floor(viewport.t + (p ? p.t : (viewport.h - mb.h) / 2)) + "px"
			});
		}
   },

   _size: function(){
       if(this.autoHeight) {
           this.inherited(arguments);
           return;
       }
       	var mb = dojo.marginBox(this.domNode);
		var viewport = dijit.getViewport();
		if(mb.w >= viewport.w || mb.h >= viewport.h){
			dojo.style(this.containerNode, {
				width: Math.min(mb.w, Math.floor(viewport.w * 0.75))+"px",
				overflow: "auto",
				position: "relative"	// workaround IE bug moving scrollbar or dragging dialog
			});
		}
   }

});
