
// validate method
function ElementValidator(argFormName, argElementName, argRegExpPattern, argMessageIfNotValid )
{
	this.formName = argFormName;
	this.elementName = argElementName;
	this.regExpPattern = argRegExpPattern;
	this.messageIfNotValid = argMessageIfNotValid;
	this.isValid = ElementValidator_isValid;
}

function ElementValidator_isValid()
{
	var textOfElement = 
	document.forms[this.formName].elements[this.elementName].value;
	var reg = new RegExp(this.regExpPattern);
	return reg.test(textOfElement);
}

function FormValidator()
{
	this.elementValidators = new Array();
	this.add = FormValidator_add; 
	this.validate = FormValidator_validate;
}

function FormValidator_add(argElementValidator)
{
	var newIndex = this.elementValidators.length;
	this.elementValidators[newIndex] = argElementValidator;
}

var followOn;
function FormValidator_validate()
{
	var count = this.elementValidators.length;
	for (var i = 0 ; i < count ; i++)
	{
		if (!this.elementValidators[i].isValid())
		{
			followOn = false; //stop following methods
			window.alert(this.elementValidators[i].messageIfNotValid);
			return false;
		}
	followOn = true;
	}
	return true;
}