function checkemail(email)
{
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (filter.test(email))
    {
	return '';
    }
    else
    {
	return "Please input a valid email address!\n";
    }
}
function form_submit(form)
{
    var error = '';
    var required;
    var filter=/,/;

    if (filter.test(form.required.value))
    {
	required = form.required.value.split(',');
    }
    else
    {
        for (var i = 0; i < form.required.length; i ++)
	{
	    required[i] = form.required[i].value;
	}
    }

    for (var i = 0; i < required.length; i ++)
    {
	var rname = required[i];
	
	var n = -1;
	for (var j = 0; j < form.elements.length; j ++)
	{
	    if (form.elements[j].name == rname)
	    {
		n = j;
		break;
	    }
	}
	
	if (n < 0) continue;
	
	var element = form.elements[n];
	
        var rv = 0;
	for (var j = 0; j < element.length; j ++)
	{
	    if (element[j].checked)
	    {
	        rv = 1;
	    }
	}
	if (!element.value && !rv)
	{
	    var ename = rname.charAt(0).toUpperCase() + rname.substring(1, rname.length);
	    ename = ename.replace(/_/,' ');
	    error += ename + "\n";
	}
	else
	{
	    var f = /email/i;
	    if (f.test(rname))
	    {
		error += checkemail(element.value);
	    }
	    f = /(phone|fax)/i;
	    if (f.test(rname))
	    {
	        error += checkphone(element.value);
	    }
	}
    }
    if (error)
    {
        alert('Please fill all required fields:\n \n'+error);
	return false;
    }
    return true;
}

