function trim(field)
{
while(field.value.substring(0,1)==' ') field.value=field.value.substring(1,field.value.length);
while(field.value.substring(field.value.length-1,field.value.length)==' ') field.value=field.value.substring(0,field.value.length-1);
}
function fail_alert(field,message)
{ alert(message); field.focus(); return(false); }

function check_select(field,message)
{ return( field.selectedIndex > 0 ? true : fail_alert(field,message) ); }
function check_radiocheckbox(field,message)
{
for (var i = 0; i < field.length; i++ ) if ( field[i].checked ) return (true);
return( fail_alert(field[0],message) );
}
function check_length( field, length, message )
{ trim(field); return( field.value.length>=length ? true : fail_alert(field,message) ); }
function check_bounds(field,min,max,message)
{ trim(field); return( field.value.length>=min&&field.value.length<=max ? true : fail_alert(field,message) ); }

var valid = new Object();
valid.Username = /^[a-zA-Z0-9]{2,}$/; // username
valid.ZIP = /^\d{5}$/; // zip codes
valid.Email = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; // email
valid.Password = valid.OldPassword = valid.password = /.{4,}/;
valid.ConfirmPassword = /.{1,}/;
valid.admin_username = valid.Username;
valid.home_dir = /^\/[^:*?\"'<>|\\]{5,}\/$/;
valid.site_ID = /^\d{1,}$/;
valid.color_theme = /^.{2,}$/;
valid.bizname = /^.{2,}$/;
valid.brand = /^.{2,}$/;
valid.mail_support = valid.Email;
valid.mail_links = valid.Email;
valid.mail_info = valid.Email;
valid.mail_ads = valid.Email;
valid.admin_mail = valid.Email;
valid.site_url = /^http:\/\/[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\/)*[a-zA-Z0-9\-\._]*\/$/;

//valid.IP = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/; // IP Address
//return( field.value.match('/'+pattern+'/i') ? true: fail_alert(field,message) ); }

function check_pattern( field, message )
{
	trim( field );
	var thePat = valid[field.name]; // [field.title] replaced with [field.name]
	if( !thePat.exec( field.value ) )
		return fail_alert( field, field.title );
	return true;
}
