test
function validate() {
var incomplete = false;
reset_error_messages();
for(var id in graph.required) {
var valid;
switch(graph.types[id]) {
case ‘n’:
case ‘a’:
valid = !(element(id).val() == false);
break;
case ‘r’:
var valid = element(id).find(‘input:checked’).parent().index() > 0;
break;
case ‘d’:
var valid = element(id).find(‘option:selected’).index() > 0;
break;
}
switch(id){
case ‘mail’:
case ‘email’:
var valid = MailCheck( element(id).val() );
break;
}
if(!valid) {
add_element_error(id, graph.required[id]);
incomplete = true;
}
}
if(incomplete) {
set_form_error(graph.form.incomplete);
}
return !incomplete;
}

function MailCheck( mail ) {
var check = mail.match(/^[a-zA-Z0-9.!#$%&’*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/);
if(check == null) return false;
return true;
}