function validate_form(frm) { 
var value = ''; 
var errFlag = new Array(); 
var _qfGroups = {}; 
_qfMsg = '';

value = frm.elements['first_name'].value; 
if (value == '' && !errFlag['first_name']) { 
errFlag['first_name'] = true; 
_qfMsg = _qfMsg + '\n - First Name is required'; 
}

value = frm.elements['last_name'].value; 
if (value == '' && !errFlag['last_name']) { 
errFlag['last_name'] = true; 
_qfMsg = _qfMsg + '\n - Last Name is required'; 
}

value = frm.elements['email'].value; 
if (value == '' && !errFlag['email']) { 
errFlag['email'] = true; 
_qfMsg = _qfMsg + '\n - Email is required'; 
}

value = frm.elements['email'].value; 
var regex = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/; 
if (value != '' && !regex.test(value) && !errFlag['email']) { 
errFlag['email'] = true; 
_qfMsg = _qfMsg + '\n - Email must be a valid email address'; 
}

value = frm.elements['phone'].value; 
if (value == '' && !errFlag['phone']) { 
errFlag['phone'] = true; 
_qfMsg = _qfMsg + '\n - Phone is required'; 
}

if (_qfMsg != '') { 
_qfMsg = 'Invalid information entered.' + _qfMsg; 
_qfMsg = _qfMsg + '\nPlease correct these fields.'; 
alert(_qfMsg); 
return false; 
} 
return true; 
} 
function formatAsPhone(phone,req) { 
var digits = phone.value.replace(/[^0-9]/ig, ''); 
var isreq = (req) ? true : false; 
if (!digits && isreq) { 
alert('Please enter a valid phone number for: '+phone.name); 
//phone.focus(); 
return; 
} 
if(digits.length > 0){ 
switch(digits.length){ 
case 10: 
phone.value = '(' + digits.substring(0, 3) + ') ' + digits.substring(3, 6) + '-' + digits.substring(6, 10); 
break; 
default: 
//alert('Please enter 10 digits for '+phone.name+'.\nAn Area Code is required.'); 
phone.value = digits; 
//phone.focus(); 
break; 
} 
} 
} 
function formatAsDate(elm) { 
var digits = elm.value.replace(/[^0-9]/ig, ''); 
if (!digits) { 
//alert('Please enter a valid date for: '+id); 
return; 
} 
switch(digits.length){ 
case 8: 
elm.value = digits.substring(0, 2) +'-'+ digits.substring(2, 4) +'-'+ digits.substring(4, 8); 
break; 
case 6: 
elm.value = digits.substring(0, 2) +'-'+ digits.substring(2, 6) 
break 
default: 
/* 
alert('Please enter a valid date for: '+id); 
elm.value = digits; 
elm.focus(); 
*/ 
break; 
} 
}
