if (!GEM) { var GEM = new Object(); }; GEM.resizer = { name : "maincontent", container : {id:'finder_container'}, content: {id:'finder_content'}, offset: 15, listenerid : null, resizerid : null, init : function() { this.content.e = document.getElementById(this.content.id); this.container.e = document.getElementById(this.container.id); this.listenerid = setInterval("GEM.resizer.listener()",300); }, get_height : function(_elem) { if (_elem.clientHeight) { return _elem.clientHeight; } else { if (_elem.offsetHeight) { return _elem.offsetHeight; } } }, resize : function(to_h) { var c = this.get_height(this.container.e); if (Math.abs(c-to_h) <= 1) { this.container.e.style.height = to_h +'px'; clearInterval(this.resizerid); this.resizerid = null; if (!this.listenerid) { this.listenerid = setInterval("GEM.resizer.listener()",300); } } else { this.container.e.style.height = Math.floor((c+(to_h-c)/2))+'px'; } }, listener : function() { if ((this.get_height(this.content.e) + this.offset) > (this.get_height(this.container.e) + 1)) { this.resizerid = setInterval("GEM.resizer.resize("+ (this.get_height(this.content.e) + this.offset) +")",70); this.resize_loop = true; clearInterval(this.listenerid); this.listenerid = null; } if ((this.get_height(this.content.e) + this.offset) < (this.get_height(this.container.e) - 1)) { this.resizerid = setInterval("GEM.resizer.resize("+ (this.get_height(this.content.e) + this.offset) +")",70); this.resize_loop = true; clearInterval(this.listenerid); this.listenerid = null; } } };