/* $Id: ElementDescriptor.js,v 1.1 2004/08/24 15:08:07 jane Exp $ */

function ElementDescriptor(p_validate, p_required, p_dataType, p_extStyle, p_msgValidate,
	p_msgRequired, p_onValidate, p_beforeValidate, p_afterValidate)
{
	this.validate = p_validate;
	this.required = p_required;
	this.dataType = p_dataType;
	this.extStyle = p_extStyle;
	this.msgValidate = p_msgValidate;
	this.msgRequired = p_msgRequired;
	this.onValidate = p_onValidate;
	this.beforeValidate = p_beforeValidate;
	this.afterValidate = p_afterValidate;
}

function copyED(p_ed)
{
	return new ElementDescriptor(p_ed.validate, p_ed.required, p_ed.dataType, p_ed.extStyle, p_ed.msgValidate, p_ed.msgRequired, p_ed.onValidate, p_ed.beforeValidate, p_ed.afterValidate);
}

function fillEDByElement(p_ed, p_element)
{
	if ((p_ed == undefined) || (p_ed == null)) p_ed = new ElementDescriptor();
	var v;
	if (p_ed.validate == undefined) if ((v = p_element.getAttribute(extAttributes.vValidate)) != null) p_ed.validate = v;
	if (p_ed.required == undefined) if ((v = p_element.getAttribute(extAttributes.vRequired)) != null) p_ed.required = v;
	if (p_ed.dataType == undefined) if ((v = p_element.getAttribute(extAttributes.vDataType)) != null) p_ed.dataType = v;
	if (p_ed.extStyle == undefined) if ((v = p_element.getAttribute(extAttributes.vExtStyle)) != null) p_ed.extStyle = v;
	if (p_ed.msgValidate == undefined) if ((v = p_element.getAttribute(extAttributes.vValidateMsg)) != null) p_ed.msgValidate = v;
	if (p_ed.msgValidate == undefined) p_ed.msgValidate = DefMsgValidate;
	if (p_ed.msgRequired == undefined) if ((v = p_element.getAttribute(extAttributes.vRequireMsg)) != null) p_ed.msgRequired = v;
	if (p_ed.msgRequired == undefined) p_ed.msgRequired = DefMsgRequired;
	if (p_ed.onValidate == undefined) if ((v = p_element.getAttribute(extAttributes.vOnValidate)) != null) p_ed.onValidate = v;
	if (p_ed.beforeValidate == undefined) if ((v = p_element.getAttribute(extAttributes.vBeforeValidate)) != null) p_ed.beforeValidate = v;
	if (p_ed.afterValidate == undefined) if ((v = p_element.getAttribute(extAttributes.vAfterValidate)) != null) p_ed.afterValidate = v;
	return p_ed;
}

function fillEDByValues(p_ed, p_validate, p_required, p_dataType, p_extStyle, p_msgValidate,
	p_msgRequired, p_onValidate, p_beforeValidate, p_afterValidate)
{
	if ((p_ed == undefined) || (p_ed == null)) p_ed = new ElementDescriptor();
	if (p_ed.validate == undefined) p_ed.validate = p_validate;
	if (p_ed.required == undefined) p_ed.required = p_required;
	if (p_ed.dataType == undefined) p_ed.dataType = p_dataType;
	if (p_ed.extStyle == undefined) p_ed.extStyle = p_extStyle;
	if (p_ed.msgValidate == undefined) p_ed.msgValidate = p_msgValidate;
	if (p_ed.msgValidate == undefined) p_ed.msgValidate = DefMsgValidate;
	if (p_ed.msgRequired == undefined) p_ed.msgRequired = p_msgRequired;
	if (p_ed.msgRequired == undefined) p_ed.msgRequired = DefMsgRequired;
	if (p_ed.onValidate == undefined) p_ed.onValidate = p_onValidate;
	if (p_ed.beforeValidate == undefined) p_ed.beforeValidate = p_beforeValidate;
	if (p_ed.afterValidate == undefined) p_ed.afterValidate = p_afterValidate;
	return p_ed;
}
