X-Git-Url: http://www.average.org/gitweb/?p=mkgallery.git;a=blobdiff_plain;f=include%2Fshowwin.js;h=96568269b88b35f44adffbc9ba751442c16b8cf0;hp=daec73a234cb46fab57ffcf3ae744df6acf11a5d;hb=283ceff6555c129d7e03f639aa8a3e158dd2e1ac;hpb=af2f2275168124e103af685035fafdc0755d45be diff --git a/include/showwin.js b/include/showwin.js index daec73a..9656826 100644 --- a/include/showwin.js +++ b/include/showwin.js @@ -16,9 +16,9 @@ var showWindow = new Class({ getOptions: function(){ return { - embed: [], zIndex: 2, container: document.body, + tohide: '', onClick: $empty, } }, @@ -27,6 +27,7 @@ var showWindow = new Class({ this.setOptions(this.getOptions(), options); this.options.container = $(this.options.container); + this.options.tohide = $(this.options.tohide); this.container = new Element('div').addClass(name). setProperties({ @@ -44,16 +45,6 @@ var showWindow = new Class({ this.options.onClick() }.bind(this)).injectInside(this.options.container); - this.embedded = []; - this.options.embed.each(function(el){ - var sub = new Element('div'); - sub.addClass(el).setProperties({ - id: el, - name: el, - }).injectInside(this.container); - this.embedded.push(sub); - },this); - this.position(); window.addEvent('resize', this.position.bind(this)); @@ -62,10 +53,12 @@ var showWindow = new Class({ position: function(){ if(this.options.container == document.body){ + this.w = window.getWidth(); this.h = window.getHeight(); this.s = window.getScrollTop(); }else{ var myCoords = this.options.container.getCoordinates(); + this.w = myCoords.width; this.h = myCoords.height; this.s = myCoords.top; } @@ -75,11 +68,39 @@ var showWindow = new Class({ }) }, + getCoordinates: function(){ + return { + width: this.w, + height: this.h, + top: this.s, + }; + }, + show: function(){ + if (this.options.tohide) { + this.hiddenstyles = this.options.tohide.getStyles( + 'display' + ); + this.options.tohide.setStyles({ + display: 'none', + }); + } + this.bodystyles = document.body.getStyles( + 'overflow', 'overflow-x', 'overflow-y' + ); + document.body.setStyles({ + overflow: 'hidden', + 'overflow-x': 'hidden', + 'overflow-y': 'hidden', + }); this.container.setStyle('display', 'block'); }, hide: function(){ + if (this.options.tohide) { + this.options.tohide.setStyles(this.hiddenstyles); + } + document.body.setStyles(this.bodystyles); this.container.setStyle('display', 'none'); } })