Forms = function(){}

Forms.prototype.constructor = new function()
{
	if(typeof(Tools)!="function")
	{
		alert("Error!\nMust use correct installed Tools!\nError using overdiv library");
		return false;
	}
}

Forms.validate = function(form)
{
	elements = form.getElementsByTagName("INPUT");
	allowsubmit = true;
	for(i=0;i<elements.length;i++)
	{
		el = elements[i];
		if(el.type=="text" || el.type=="file" || el.type=="password")
		{
			pattern = el.getAttribute('pattern');
			if(pattern != null)
			{
				re = new RegExp(pattern);
				value = el.value;
				if(value==undefined)
				{
					value = el.innerHTML;
				}
				if(value==undefined)
				{
					continue;
				}
				if (!re.test(value)) {
					allowsubmit = false;
					Forms.showError(el);
				}
				else
				{
					Forms.hideError(el);
				}
			}
			continue;
		}
	}
	
	elements = form.getElementsByTagName("TEXTAREA");
	for(i=0;i<elements.length;i++)
	{
		el = elements[i];
		pattern = el.getAttribute('pattern');
		if(pattern != null)
		{
			re = new RegExp(pattern);
			value = el.value;
			if(value==undefined)
			{
				value = el.innerHTML;
			}
			if(value==undefined)
			{
				continue;
			}
			if (!re.test(value)) {
				allowsubmit = false;
				Forms.showError(el);
			}
			else
			{
				Forms.hideError(el);
			}
		}
		continue;
	}

	return allowsubmit;
}

Forms.showError = function(el)
{
	errId = el.getAttribute('errorid');
	if(errId!=null)
	{
		errId = $(errId);
		if(errId)
		{
			errId.style.display= Tools.isIE() ? "block" : "table-row";
		}
	}
}

Forms.hideError = function(el)
{
	errId = el.getAttribute('errorid');
	if(errId!=null)
	{
		errId = $(errId);
		if(errId)
		{
			errId.style.display= "none";
		}
	}
}