function validateContact() {
	var bContinue = true;

	var first_name=$("first_name").value;
	var email_address=$("email_address").value;
	var comments=$("comments").value;

	if ( !isValidField( $('email_address'),  $('errSignIn'), 'The email address you entered is invalid.  Please try again.') ) {
		bContinue = false;
	}

	if ( whiteSpaceOnly(first_name) ) {
		$('errSignIn').innerHTML = 'Please provide your first name.';
		$('errSignIn').style.display = 'block';
		alert('Please provide your first name.');
		bContinue = false;
	}
	
	if ( whiteSpaceOnly(email_address) ) {
		$('errSignIn').innerHTML = 'Please provide your email address.';
		$('errSignIn').style.display = 'block';
		alert('Please provide your email address.');
		bContinue = false;
	}
	
	if ( whiteSpaceOnly(comments) ) {
		$('errSignIn').innerHTML = 'Please leave us some comments.';
		$('errSignIn').style.display = 'block';
		alert('Please leave us some comments.');
		bContinue = false;
	}

	if (bContinue) {
		$("btnSignIn").innerHTML = "Please Wait...";
		alert('You filled in first name, email address, and comments!');

		// sdk call
		// same as login from header, but don't reload the page on failure
		//ezpSecuritySdk.login( BrandId, user, password, EZP.util.Callback(null,completeLoginSuccess, completeLoginFromGateFailed) );
	}

	return false;
}