Effect.ResizeWindow = Class.create();Object.extend(Object.extend(Effect.ResizeWindow.prototype, Effect.Base.prototype), {initialize: function(win, top, left, width, height) {this.window = win;this.window.resizing = true;var size = win.getSize();this.initWidth    = parseFloat(size.width);this.initHeight   = parseFloat(size.height);var location = win.getLocation();this.initTop    = parseFloat(location.top);this.initLeft   = parseFloat(location.left);this.width    = width != null  ? parseFloat(width)  : this.initWidth;this.height   = height != null ? parseFloat(height) : this.initHeight;this.top      = top != null    ? parseFloat(top)    : this.initTop;this.left     = left != null   ? parseFloat(left)   : this.initLeft;this.dx     = this.left   - this.initLeft;this.dy     = this.top    - this.initTop;this.dw     = this.width  - this.initWidth;this.dh     = this.height - this.initHeight;this.r2      = $(this.window.getId() + "_row2");this.content = $(this.window.getId() + "_content");this.contentOverflow = this.content.getStyle("overflow") || "auto";this.content.setStyle({overflow: "hidden"});if (this.window.options.wiredDrag) {this.window.currentDrag = win._createWiredElement();this.window.currentDrag.show();this.window.element.hide();}
this.start(arguments[5]);},update: function(position) {var width  = Math.floor(this.initWidth  + this.dw * position);var height = Math.floor(this.initHeight + this.dh * position);var top    = Math.floor(this.initTop    + this.dy * position);var left   = Math.floor(this.initLeft   + this.dx * position);if (window.ie) {if (Math.floor(height) == 0)  
this.r2.hide();else if (Math.floor(height) >1)  
this.r2.show();}      
this.r2.setStyle({height: height});this.window.setSize(width, height);this.window.setLocation(top, left);},finish: function(position) {if (this.window.options.wiredDrag) {this.window._hideWiredElement();this.window.element.show();}
this.window.setSize(this.width, this.height);this.window.setLocation(this.top, this.left);this.r2.setStyle({height: null});this.content.setStyle({overflow: this.contentOverflow});this.window.resizing = false;}
});Effect.ModalSlideDown = function(element) {var windowScroll = WindowUtilities.getWindowScroll();var height = element.getStyle("height");element.setStyle({top: - (parseFloat(height) - windowScroll.top) + "px"});element.show();return new Effect.Move(element, Object.extend({ x: 0, y: parseFloat(height) }, arguments[1] || {}));};Effect.ModalSlideUp = function(element) {var height = element.getStyle("height");return new Effect.Move(element, Object.extend({ x: 0, y: -parseFloat(height) }, arguments[1] || {}));};PopupEffect = Class.create();PopupEffect.prototype = {initialize: function(htmlElement) {this.html = $(htmlElement);this.options = Object.extend({className: "popup_effect", duration: 0.4}, arguments[1] || {});},show: function(element, options) {var position = Position.cumulativeOffset(this.html);var size = this.html.getDimensions();var bounds = element.win.getBounds();this.window =  element.win;if (!this.div) {this.div = document.createElement("div");this.div.className = this.options.className;this.div.style.height = size.height + "px";this.div.style.width  = size.width  + "px";this.div.style.top    = position[1] + "px";this.div.style.left   = position[0] + "px";this.div.style.position = "absolute"
document.body.appendChild(this.div);}                                                   
if (this.options.fromOpacity)
this.div.setStyle({opacity: this.options.fromOpacity})
this.div.show();var style = "top:" + bounds.top + ";left:" +bounds.left + ";width:" + bounds.width +";height:" + bounds.height;if (this.options.toOpacity)
style += ";opacity:" + this.options.toOpacity;new Effect.Morph(this.div ,{style: style, duration: this.options.duration, afterFinish: this._showWindow.bind(this)});},hide: function(element, options) {var position = Position.cumulativeOffset(this.html);var size = this.html.getDimensions();this.window.visible = true;var bounds = this.window.getBounds();this.window.visible = false;this.window.element.hide();this.div.style.height = bounds.height;this.div.style.width  = bounds.width;this.div.style.top    = bounds.top;this.div.style.left   = bounds.left;if (this.options.toOpacity)
this.div.setStyle({opacity: this.options.toOpacity})
this.div.show();var style = "top:" + position[1] + "px;left:" + position[0] + "px;width:" + size.width +"px;height:" + size.height + "px";if (this.options.fromOpacity)
style += ";opacity:" + this.options.fromOpacity;new Effect.Morph(this.div ,{style: style, duration: this.options.duration, afterFinish: this._hideDiv.bind(this)});},_showWindow: function() {this.div.hide();this.window.element.show();},_hideDiv: function() {this.div.hide();}
}
