var val_rules=new Object();
var val_functions=new Object();

val_functions['minimum length']=function(form,item_obj)
{
	arguments[2]=new String(form[item_obj['name']].value);
	if(arguments[2].length<item_obj.value)
	{
		return false;
	}
	return true;
}
val_functions['maximum length']=function(form,item_obj)
{
	arguments[2]=new String(form[item_obj['name']].value);
	if(arguments[2].length>item_obj.value)
	{
		return false;
	}
	return true;
}

val_functions['length range']=function(form,item_obj)
{
	arguments[2]=new String(form[item_obj['name']].value);
	if(arguments[2].length<item_obj.min)
	{
		return false;
	}
	if(arguments[2].length>item_obj.max)
	{
		return false;
	}
	return true;
}

val_functions['list not equal to']=function(form,item_obj)
{	
	arguments[2]=form[item_obj['name']].options[form[item_obj['name']].selectedIndex].value;
	if(arguments[2]==item_obj['value'])
	{
		return false;
	}
	return true;
}


val_functions['valid date']=function(form,item_obj)
{	
	return true;
}

function validate_form()
{
	//alert('starting validation');
	form=document.forms[arguments[0]];
	//alert(form);
	items=val_rules[arguments[0]];
	has_errors=false;
	error_string='The following errors have occurred:\n__________________________\n\n';
	error_items=new Object();
	for(var a=0;a<items.length;a++)
	{
		if(!val_functions[items[a]['type']](form,items[a]))
		{
			has_errors=true;
			error_string+=items[a]['msg']+'\n';
		}
	}
	if(has_errors)
	{
		error_string+='__________________________\n\nPlease correct these errors and try again.';
		alert(error_string);
		return false;
	}
	return true;
}
