// wireup validation function
function wireup()
{
	//alert("wireup called");
	// generate JavaScript code for the individual form validation elements
	for(var x=0; x< vald.length; x++)
	{
		switch(vtype[x])
		{
			case "NONE":
			     v_code[x] = "true;";
				break;
			
			case "EMAIL":
				v_code[x] = "ValidateEmail(document."+formname+"."+vald[x]+");";
				break;
				
			case "NOT_EMPTY":
				v_code[x] = "ValidateString(document."+formname+"."+vald[x]+");";
				
				break;
				
			case "MORE_THAN_SIX":				
				v_code[x] = "ValidateMorethan(document."+formname+"."+vald[x]+", 6);";
				
				break;
				
			case "REGEX":
				v_code[x] =  "ValidateRegex(document."+formname+"."+vald[x]+", /"+vregx[x]+"/);";
				
				break;
				
			default:
				v_code[x] = "";
				alert("Error: Unknown validation type: "+vtype[x]);
		}
	}

}

function ValidateMorethan(obj, len)
{
	return (obj.value.length >= len)
		
}
function ValidateRegex(obj, expr) {

	var reggy =expr;
	retrun (reggy.test(obj.value));		
}

function ValidateString(obj) {
	
	return (obj.value != "");
}

function ValidateEmail(obj) {

	rez =  ((obj.value.indexOf("@") != -1) && (obj.value.indexOf(" ") == -1) && ValidateString(obj));
	rez = rez && (obj.value.indexOf("@")+3 < obj.value.length);
	rez = rez && (obj.value.indexOf(".") != -1);
	rez = rez && (obj.value.indexOf(".")+2 < obj.value.length);
	rez = rez && !(obj.value.indexOf("www.") == 0);
	return rez;
}

function ValidateName(obj) {
	rez =  ValidateString(obj);
	rez = rez && (obj.value.indexOf("0") == -1);
	rez = rez && (obj.value.indexOf("1") == -1);
	rez = rez && (obj.value.indexOf("2") == -1);
	rez = rez && (obj.value.indexOf("3") == -1);
	rez = rez && (obj.value.indexOf("4") == -1);
	rez = rez && (obj.value.indexOf("5") == -1);
	rez = rez && (obj.value.indexOf("6") == -1);
	rez = rez && (obj.value.indexOf("7") == -1);
	rez = rez && (obj.value.indexOf("8") == -1);
	rez = rez && (obj.value.indexOf("9") == -1);
	return rez;
}

function ValidateFileUpload(obj)
{
	
}

// form validation function
function validate()
{
	//alert("validate called");
	// igonore validation if not present		
	if(!hasvalidation)
		return true;
				
	// evaluate form validation
	var res=0;
	var haserrors=false;
	var errormsg = '';
	for (var x=0 ; x< v_code.length; x++)
	{		
		if(v_code[x] != "" && v_code[x] != null)
			res=eval (v_code[x]);
		if (res == false)		
		{
			errormsg += vemsg[x]+"\n";
			haserrors=true;		
		}
	}
	
	if(errormsg)
	{	
		alert(errormsg);
	}
	// post form validation code
	return !haserrors;
}
