/* dw_core.js version date: July 2002 This code is from Dynamic Web Coding at http://www.dyn-web.com/ Copyright 2002 by Sharon Paine See Terms of Use at http://www.dyn-web.com/bus/terms.html Permission granted to use this code as long as this entire notice is included. */ ///////////////////////////////////////////////////////////////////// // dynObj constructor // arguments: id (required): id of positioned div. // left,top,width,height optional arguments. ///////////////////////////////////////////////////////////////////// function dynObj(id,x,y,w,h) { this.el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? getLyrRef(id,document): null; if (!this.el) return null; this.doc = (document.layers)? this.el.document: this.el; this.css = (this.el.style)? this.el.style: this.el; var px = (document.layers||window.opera)? "": "px"; this.x = x || 0; if (x) this.css.left = this.x+px; this.y = y || 0; if (y) this.css.top = this.y+px; this.width = w? w: (this.el.offsetWidth)? this.el.offsetWidth: (this.css.clip.width)? this.css.clip.width: 0; this.height = h? h: (this.el.offsetHeight)? this.el.offsetHeight: (this.css.clip.height)? this.css.clip.height: 0; // if w/h passed, set style width/height if (w){ (document.layers)? this.css.clip.width=w+px: this.css.width=w+px;} if (h){ (document.layers)? this.css.clip.height=h+px: this.css.height=h+px;} this.obj = id + "dynObj"; eval(this.obj + "=this"); } function dw_show() { this.css.visibility = "visible"; } function dw_hide() { this.css.visibility = "hidden"; } function dw_shiftTo(x,y) { if (x!=null) this.x=x; if (y!=null) this.y=y; // rounded below (this.x/y can hold decimals) if (this.css.moveTo) { this.css.moveTo(Math.round(this.x),Math.round(this.y)); } else { this.css.left=Math.round(this.x)+"px"; this.css.top=Math.round(this.y)+"px"; } } function dw_shiftBy(x,y) { this.shiftTo(this.x+x,this.y+y); } function dw_writeLyr(cntnt) { if (typeof this.doc.innerHTML!="undefined") { this.doc.innerHTML = cntnt; } else if (document.layers) { this.doc.write(cntnt); this.doc.close(); } } function dw_setBgClr(bg) { if (document.layers) this.doc.bgColor=bg; else this.css.backgroundColor=bg; } // assign methods dynObj.prototype.show = dw_show; dynObj.prototype.hide = dw_hide; dynObj.prototype.shiftTo = dw_shiftTo; dynObj.prototype.shiftBy = dw_shiftBy; dynObj.prototype.writeLyr = dw_writeLyr; dynObj.prototype.setBgClr=dw_setBgClr; // get reference to nested layer for ns4 // from dhtmllib.js by Mike Hall of www.brainjar.com function getLyrRef(lyr,doc) { if (document.layers) { var theLyr; for (var i=0; i 0) if ((theLyr = getLyrRef(lyr,theLyr.document)) != null) return theLyr; } return null; } }