//<SCRIPT language="JavaScript">
var fLayout_register = null;

function fLayout_registerFrame(frameWindow) {
	fLayout_register = fLayout_register || new fLayout_FrameRegister();
	fLayout_register.register(frameWindow);
}

function fLayout_resizeAll() {
	if (fLayout_register) {
		fLayout_register.resizeAll();
	}
}

function fLayout_FrameRegister() {
	this.frames = [null];
	this.register = _register;
	this.resizeAll = _resizeAll;

	function _register(frameWindow) {
		var newFrame = null;

		for (var index = 0; index < this.frames.length; ++index) {
			if (this.frames[index]) {
				if (typeof this.frames[index].window.document == "unknown") {
					this.frames[index] = null;
				} else if (this.frames[index].window == frameWindow) {
					newFrame = this.frames[index];
				}
			}
		}

		if (!newFrame) {
			newFrame = new fLayout_Frame(frameWindow);
			this.frames.push(newFrame);
		}

		newFrame.resize();
	}

	function _resizeAll() {
		for (var index = 0; index < this.frames.length; ++index) {
			if (this.frames[index]) {
				this.frames[index].resize();
			}
		}
	}
}

function fLayout_Frame(frameWindow) {
	this.name = frameWindow.name;
	this.window = frameWindow;
	this.iFrame = getIFrame(this.name);
	this.fixedWidth = (this.iFrame.width.indexOf("px") > 0);
	this.resize = frameResize;

	function frameResize() {
		var frameContent = this.window.document;
		var hasBodyScrollProperty = (frameContent.body && (typeof frameContent.body.scrollWidth == 'number'));

		this.iFrame.scrolling = "yes";
		this.iFrame.width = "100%";
		var nWidth = 0;
		if (hasBodyScrollProperty) {
			with (frameContent.body) {
				nWidth = (offsetWidth > scrollWidth) ? offsetWidth : scrollWidth;
			}
		} else {
			nWidth = frameContent.width;
		}

		if (hasBodyScrollProperty) {
			if (nWidth > this.iFrame.scrollWidth) {
				this.iFrame.width = nWidth;
			}
		} else {
			if (nWidth > this.iFrame.innerWidth) {
				this.iFrame.width = nWidth;
			}
		}
		this.iFrame.scrolling = "no";

		this.iFrame.height = 20;
		var nHeight = 0;
		if (hasBodyScrollProperty) {
			with (frameContent.body) {
				nHeight = (offsetHeight > scrollHeight) ? offsetHeight : scrollHeight;
			}
		} else {
			nHeight = frameContent.height;
		}
		this.iFrame.height = nHeight + 20;
	}

	function getIFrame(frameName) {
		if (typeof document.all == "object") {
			return eval("document.all." + frameName);
		}
		if (typeof document.getElementById == "function") {
			return document.getElementById(frameName);
		}
		return document.frames[frameName];
	}
}
//</SCRIPT>
