diff --git a/o2web/source/o2_core/o2/widget/Dialog.js b/o2web/source/o2_core/o2/widget/Dialog.js index 658ca58b235bbc7732e69d55439875b0a32bbd0e..e33421488b2f8e7b3ce094a18c6781b4c87c0099 100644 --- a/o2web/source/o2_core/o2/widget/Dialog.js +++ b/o2web/source/o2_core/o2/widget/Dialog.js @@ -453,6 +453,20 @@ o2.widget.Dialog = o2.DL = new Class({ // // this.content.setStyle("display", "block"); // //this.fireEvent("postShow"); + var pn = this.node.getOffsetParent(); + var p = pn.getPosition(); + + var h = this.css.to.height.toInt(); + var y = this.css.to.top.toInt(); + y = y+p.y; + + var ih = window.innerHeight.toInt(); + if (h+y> ih){ + y = ih-p.y-h-20; + if (y<0) y=0; + this.css.to.top = ""+y+"px"; + } + this.morph.start(this.css.to).chain(function(){ if (this.titleText) this.getTitle(); if (this.button) this.getButton();