/*******************************************************************************
GenLayer Object
File:		GenLayer.js
Purpose:	Generic layer
Author:		Kevin Yip Yuk Lap
Version:	1.0 (Feb 2000)
*******************************************************************************/
function GenLayer(name)
{
	// Object constants
	this.NN4 = (document.layers) ?true :false;
	this.IE4 = (document.all) ?true :false;
	this.refStr = (this.NN4) ?('document.layers["' + name + '"]') :('document.all["' + name + '"].style');

	// Mandatory parameters
	this.name = name;

	// Create object
	this.obj = 'GenLayerObject_' + this.name;
	eval(this.obj + '=this');
}

{
	// Object functions
	var glp = GenLayer.prototype;
	glp.show = GenLayerShow;
	glp.hide = GenLayerHide;
	glp.moveTo = GenLayerMoveTo;
	glp.moveBy = GenLayerMoveBy;
	glp.getX = GenLayerGetX;
	glp.getY = GenLayerGetY;
	glp.getWidth = GenLayerGetWidth;
	glp.getHeight = GenLayerGetHeight;
}

function GenLayerShow()
{
	refObj = eval(this.refStr);

	if (this.NN4)
		refObj.visibility = 'show';
	else if (this.IE4)
		refObj.visibility = 'visible';
}

function GenLayerHide()
{
	refObj = eval(this.refStr);

	if (this.NN4)
		refObj.visibility = 'hide';
	else if (this.IE4)
		refObj.visibility = 'hidden';
}

function GenLayerMoveTo(x, y)
{
	refObj = eval(this.refStr);

	refObj.xpos = parseInt(refObj.left, 10);
	refObj.xpos = x;
	refObj.left = refObj.xpos;
	refObj.ypos = parseInt(refObj.top, 10);
	refObj.ypos = y;
	refObj.top = refObj.ypos;
}

function GenLayerMoveBy(x, y)
{
	refObj = eval(this.refStr);

	refObj.xpos = parseInt(refObj.left, 10);
	refObj.xpos += x;
	refObj.left = refObj.xpos;
	refObj.ypos = parseInt(refObj.top, 10);
	refObj.ypos += y;
	refObj.top = refObj.ypos;
}

function GenLayerGetX()
{
	refObj = eval(this.refStr);

	return parseInt(refObj.left, 10);
}

function GenLayerGetY()
{
	refObj = eval(this.refStr);

	return parseInt(refObj.top, 10);
}

function GenLayerGetWidth()
{
	refObj = eval(this.refStr);

	if (this.NN4)
		return refObj.clip.width;
	else
		return eval('document.all["' + this.name + '"].offsetWidth');
}

function GenLayerGetHeight()
{
	refObj = eval(this.refStr);

	if (this.NN4)
		return refObj.clip.height;
	else
		return eval('document.all["' + this.name + '"].offsetHeight');
}