// Dynamic Layer Object Common Extensions

// DynLayer write(), load(), setbg(), img() addon methods

// 19990531



// Copyright (C) 1999 Dan Steinman

// Distributed under the terms of the GNU Library General Public License

// Available at http://www.dansteinman.com/dynapi/



// updated 20011228 by Bob Clary <bc@bclary.com>

// to support Gecko



// DynLayer Load Method

// loads the contents of an external file into the layer

function DynLayerLoad(url,fn) {

	this.loadFinish = DynLayerLoadFinish

	//bc:if (is.ns) this.css.load(url,this.w)

	if (is.ns4) this.css.load(url,this.w);

	//bc:else if (is.ie) parent.bufferFrame.document.location = url

	else if (is.ie || is.ns5) parent.bufferFrame.document.location = url;

	this.evalfn = fn

}

function DynLayerLoadFinish() {

	//bc:if (is.ie) this.event.innerHTML = parent.bufferFrame.document.body.innerHTML

	if (is.ie||is.ns5) this.event.innerHTML = parent.bufferFrame.document.body.innerHTML;

	eval(this.evalfn)

}

DynLayer.prototype.load = DynLayerLoad



// DynLayer Set Background Method

// changes the background (the layer must be clipped)

function DynLayerSetbg(color) {

	//bc:if (is.ns) this.doc.bgColor = color

	if (is.ns4) this.doc.bgColor = color

	else this.css.backgroundColor = color

}

DynLayer.prototype.setbg = DynLayerSetbg



// DynLayer ChangeImage Method

// swaps an image in the layer

function DynLayerImg(imgName,imgObj) {

	this.doc.images[imgName].src = eval(imgObj+'.src')

}

DynLayer.prototype.img = DynLayerImg



// DynLayer GetRelative Methods

// retrieves the real location of a relatively positioned layer

function DynLayerGetRelativeX() {

	//bc:return (is.ns)? this.css.pageX : this.elm.offsetLeft

	return (is.ns4)? this.css.pageX : this.elm.offsetLeft

}

function DynLayerGetRelativeY() {

	//bc:return (is.ns)? this.css.pageY : this.elm.offsetTop

	return (is.ns4)? this.css.pageY : this.elm.offsetTop

}

DynLayer.prototype.getRelativeX = DynLayerGetRelativeX

DynLayer.prototype.getRelativeY = DynLayerGetRelativeY



// DynLayer GetContent Width/Height Methods

// retrieves the total width/height of the contents of the layer when they are not known

function DynLayerGetContentWidth() {

	//bc:return (is.ns)? this.doc.width : this.elm.scrollWidth

	return (is.ns4)? this.doc.width : this.elm.offsetWidth

}

function DynLayerGetContentHeight() {

	//bc:return (is.ns)? this.doc.height : this.elm.scrollHeight

	return (is.ns4)? this.doc.height : this.elm.offsetHeight

}

DynLayer.prototype.getContentWidth = DynLayerGetContentWidth

DynLayer.prototype.getContentHeight = DynLayerGetContentHeight

