/* ~/_js/grantapp/submit.js 
 * This should be self-explanatory. 
 * James Cradock, jcradock@me3.com 
 */ 
 
var DEBUG = false; 
 
function submit_me(fObj, do_what) { 
	if (DEBUG) { 
		alert('Debug! Action is "'+ do_what +'"'+"\n"); 
	} 
	if (do_what == 'Register') { 
		if (got_required(fObj, do_what)) { 
			fObj.Action.value = do_what; 
			fObj.submit(); 
		} 
	} else if (do_what == 'E-mail Password') { 
		if (got_required(fObj, do_what)) { 
			fObj.Action.value = do_what; 
			fObj.submit(); 
		} 
	} else {
		fObj.Action.value = do_what; 
		fObj.submit(); 
	} 
} 

function got_required(fObj, do_what) { 
	if (do_what == 'Register') { 
		var aFields = Array(
			"project_name", 
			"contact_first_name", 
			"contact_last_name", 
			"contact_phone", 
			"contact_email", 
			"contact_email", 
			"password", 
			"confirm_password" 
		);
		for (var i = 0; i < aFields.length; i++) { 
			eval('var val = fObj.'+ aFields[i] +'.value;'); 
			if (empty(trim(val))) { 
				alert('Not all required data has been entered!'+"\n")
				return false; 
			} 
		} 
		if (fObj.password.value != fObj.confirm_password.value) { 
			alert('Passwords do not match!'+"\n")
			return false; 
		} 
		if (! valid_email(fObj.contact_email.value)) { 
			alert('E-mail address is not valid!'+"\n"); 
			return false; 
		} 
		return true; 
	} 
	if (do_what == 'E-mail Password') { 
		if (empty(trim(fObj.contact_email.value))) { 
			alert('Enter your e-mail address!'+"\n")
			return false; 
		} 
		if (! valid_email(fObj.contact_email.value)) { 
			alert('E-mail address is not valid!'+"\n"); 
			return false; 
		} 
		return true; 
	} 
} 

function valid_email(email) { 
	var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
	if (! email.match(re)) { 
		return false; 
	} else { 
		return true; 
	} 
} 

function ltrim(str) { 
	var re = /\s*((\S+\s*)*)/; 
	return str.replace(re, '$1'); 
} 

function rtrim(str) { 
	var re = /((\S+\s*)*)\s*/; 
	return str.replace(re, '$1'); 
} 

function trim(str) { 
	return rtrim(ltrim(str)); 
} 

function empty(str) { 
	if (trim(str) == '') { 
		return true; 
	} 
	return false; 
} 
