    var valid = new Object();



    // REGEX Elements

		valid.text = /^\w+$/;

		valid.Ftext = /^([!-JVû-üþ~-Õ\.\-_'" ])+$/;



		valid.free = /[^ ]/;

		

		valid.password = /^(\w| |.){6,12}$/;



        valid.name = /^[a-z]+( [a-z]+){0,3}$/i;

		valid.Fname = /^[!-JVû-üþ~-Õ]+( [!-JVû-üþ~-Õ]+){0,2}$/;



        valid.integer = /^\d+$/;

        

        valid.cNumber = /^\d(\d|[\-\.\/\\_])*$/;

        

        valid.float = /^\d*(\.\d+)?$/;

        

        //valid.phone = /^[1-9]\d{1,2} [2-9]\d{2}-\d+$/;

        valid.phone = /^\+\d{1,3} \d{1,5} \d{3,9}$/;

		

        valid.email = /^[a-z0-9\-\._]+\@(\[?)[a-z0-9\-\.]+\.([a-z]{2,4}|[0-9]{1,3})(\]?)$/i;



        

	function validateRules(theForm) {



		var elArr = theForm.elements;



		for(var i = 0; i < elArr.length; i++) {



			with(elArr[i]) {



				v = elArr[i].rule;



              if(!v) continue;



				var thePat = valid[v];

				var gotIt = value.match(thePat);

				//thePat.exec(value);



              if(!(gotIt||(elArr[i].op&&value==''))){

				alert("Failure to match " + elArr[i].name + " to '" + value +"'");

				if(elArr[i].type!="select-one")elArr[i].select()

				elArr[i].focus();

				return false;

              }

           }

        }



		return true;



    }
