<!---->
function check_email(val) {
	if(val.length==0) return false;

	// name@domain.ext
 	reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');
	// fname lname <name@domain.ext> or name <name@domain.ext>
 	reg2 = new RegExp('^([a-zù-üà-öÙ-ÜÀ-ÖA-Z0-9\\-\\.\\_ ]+)( <)([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})(>)$');
	return reg.test(val)|reg2.test(val);
}
function check_number(val) {
	if(val.length==0) return true;
	
 	reg = new RegExp("^([0-9']+)$");
	return reg.test(val);
}

function check_date(val) {
	if(val.length==0) return true;

 	reg = new RegExp('^([0-9]{2})(\\.)([0-9]{2})(\\.)([0-9]{4})$');
	return reg.test(val);
}

function check_date(val) {
	if(val.length==0) return true;

 	reg = new RegExp('^([0-9]{2})(\\.)([0-9]{2})(\\.)([0-9]{4})$');
	return reg.test(val);
}

function validate(pt) {
	pt=document.frm;
	String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } 
	//__________email_____________
	var member__email=pt.member__email.value.trim();
	if (member__email.length!=pt.member__email.value.length) pt.member__email.value=member__email;
	//__________gender__________
	var adr__gender='';
	if (pt.adr__gender.options.length>0) adr__gender=pt.adr__gender.options[pt.adr__gender.selectedIndex].value;
	//__________firstname__________
	var adr__firstname=pt.adr__firstname.value.trim();
	if (adr__firstname.length!=pt.adr__firstname.value.length) pt.adr__firstname.value=adr__firstname;
	//__________lastname__________
	var adr__lastname=pt.adr__lastname.value.trim();
	if (adr__lastname.length!=pt.adr__lastname.value.length) pt.adr__lastname.value=adr__lastname;
	//__________field1_mm__________
	var field1_mm='';
	if (pt.field1_mm.options.length>0) field1_mm=pt.field1_mm.options[pt.field1_mm.selectedIndex].value;
	//__________field1_dd__________
	var field1_dd=pt.field1_dd.value.trim();
	if (field1_dd.length!=pt.field1_dd.value.length) pt.field1_dd.value=field1_mm;
	if (field1_dd.length==1) pt.field1_dd.value='0'+field1_dd
	//__________field1_yyyy__________
	var field1_yyyy=pt.field1_yyyy.value.trim();
	if (field1_yyyy.length!=pt.field1_yyyy.value.length) pt.field1_yyyy.value=field1_yyyy;
		
	//---------- Check Email ----------
	if (!check_email(member__email)) {
			alert(msg_invalid_email_address);
			return false;
	}
	//---------- Check Date ----------
	if (!check_number(field1_dd) 	||		!check_number(field1_yyyy)||
			(field1_yyyy.length!=4)		|| 		(parseInt(field1_dd)>31) ||
			 field1_mm.length==0 			|| 		(parseInt(field1_yyyy)<1850) || 		(parseInt(field1_yyyy)>2100)
			) {
			pt.field1_mm.selectedIndex=0;
			pt.field1_dd.value='';
			pt.field1_yyyy.value='';
			pt.adr__field1.value='';
			if (field1_mm.length!=0) {
				alert(msg_invalid_date_of_birth);
				return false;
			}
	}
	else {
		pt.adr__field1.value=pt.field1_yyyy.value+'.'+pt.field1_mm.value+'.'+pt.field1_dd.value;
	}
	//---------- Check Mandatory ----------
	if (adr__firstname.length==0 ||
	    adr__gender.length==0 )
	{
			alert(msg_invalid_required_field);
			return false;
	}
	pt.submit();
	return true;
}
<!---->
