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

function checkElementsByForm(form, stopOnError)
{
	var msgFull = '', msg, result;
	var e, errE = null;
	for (var i = 0; i < form.elements.length; i++)
	{
		e = form.elements[i];
		if (stopOnError)
		{
			if (!(result = checkElement(e))) break;
		}
		else
		{
			if (msg = checkelement(e))
			{
				if (msgFull == '') msgFull = msg;
				else msgFull = msgFull + '\n' + msg;
				if (errE == null) errE = e;
			}
		}
	}
	if ((!stopOnError) && (msgFull != ''))
	{
		result = false;
		try { errE.focus(); errE.select(); } catch(e) {}
		alert(getValidateMessage(msgFull));
	}
	return result;
}

function getElementEx(name, form)
{
	var result = null;
	if ((form == undefined) || (form == null) || ((result = form.elements[name]) == undefined))
	{
		result = document.getElementById(name);
	}
	return result;
}

function checkElementsBySuff(arrPrefix, cntSuffix, arrDescriptor, form)
{
	var result = true;
	for (var i = 1; i <= cntSuffix; i++)
	{
		var checker = getElementEx(arrPrefix[0] + i, form);
		if ((checker != null) && (checker.checked))
		{
			for (var j = 1; j < arrPrefix.length; j++)
			{
				var e = getElementEx(arrPrefix[j] + i, form);
				if ((e != null) && (!(result = checkElement(e, arrDescriptor[j - 1])))) break;
			}
		}
		if (!result) break;
	}
	return result;
}

function checkElementsBySuffArr(arrPrefix, arrSuffix, arrDescriptor, form)
{
	var result = true;
	for (var i = 0; i < arrSuffix.length; i++)
	{
		var checker = getElementEx(arrPrefix[0] + arrSuffix[i], form);
		if ((checker != null) && (checker.checked))
		{
			for (var j = 1; j < arrPrefix.length; j++)
			{
				var e = getElementEx(arrPrefix[j] + arrSuffix[i], form);
				if ((e != null) && (!(result = checkElement(e, arrDescriptor[j - 1])))) break;
			}
		}
		if (!result) break;
	}
	return result;
}