	
function EForm()
{
	// you change below messages !
	this.RequireMsg = "Field [TITLE] is required !";
	this.FormatMsg  = "Field [TITLE] has wrong format !";

// ========================================================================================	
// DO NOT EDIT BELOW CODE =================================================================
// ========================================================================================
	
	this.valid_objs = new Array();
	
//======= EForm.getObj() ===================================================	
	this.getObj = function(id)
	{
		var obj = document.getElementById(id);
		if (typeof(obj) != 'undefined')
			return obj;
		else
			return null;
	}
//======= EForm.registerValidation() ===================================================
	this.registerValidation = function(id, mask, title, cssclass, errclass, require, OBJ)
	{	
		var cur = this.valid_objs.length;
		this.valid_objs[cur] 			= new Object();
		this.valid_objs[cur].id  		= id;
		this.valid_objs[cur].mask 		= mask;
		this.valid_objs[cur].title 		= title;
		this.valid_objs[cur].cssclass 	= cssclass;
		this.valid_objs[cur].errclass 	= errclass;
		this.valid_objs[cur].require 	= require;
	
		var inpt = this.getObj(id);
		var frm  = inpt.form;
		frm.onsubmit = function()
		{
		var ret = true;
		for (var i=0;i<OBJ.valid_objs.length;i++)
		{
			r = OBJ.validateField(OBJ.valid_objs[i].id, OBJ.valid_objs[i].mask, OBJ.valid_objs[i].title, OBJ.valid_objs[i].cssclass, OBJ.valid_objs[i].errclass , OBJ.valid_objs[i].require);
			ret = ret && r;
		}
		return ret;
		}
	}
	
//======= EForm.validateField() ===================================================	
	this.validateField = function(id, mask, title, cssclass, errcssclass, require)	
	{
		var fld = this.getObj(id);
		if (require && !fld.value.length)
		{
			alert(this.RequireMsg.replace('[TITLE]',title));			
			if (errcssclass)
				fld.className=errcssclass;
			fld.focus();
			return false;
		}
		else
		{
			if (fld.value.length)
			{
				var re = new RegExp(mask)
				if (! (fld.value.match(re)))
				{
					alert(this.FormatMsg.replace('[TITLE]',title));			
					if (errcssclass)
						fld.className=errcssclass;
					fld.focus();
					return false;
				}
				else
				if (cssclass)
					fld.className=cssclass;
			}
		}
		return true;
	}
	
	

}