// --------------------------------------------------------------------------------
// FeedbackFormValidation.js
// Simon Anderson 26-Jan-2005
// Contains Javascript relevant to the Feedback Form.
// --------------------------------------------------------------------------------

var fieldPrefix = "tmpl_nsfbf_FbForm_nsfbfForm_"

// cancel flag
//var ow_cancelled = false;

// --- Attach JS to document elements and execute simple statements. ---
ow_f_AppendLoadEvent(
function() {

	if (document.getElementById(fieldPrefix + "ow_btnOK") != null) ow_f_AddEvent(document.getElementById(fieldPrefix + "ow_btnOK"), "click", feedbackFormSubmitClicked, false);
    
	if (document.getElementById("nsfbf_form") != null) {
		var inp = document.getElementById("nsfbf_form").getElementsByTagName("input");
		for (var i = 0; i < inp.length; i++) {
			if (inp[i].type == "text") ow_f_AddEvent(inp[i], "keypress", feedbackFormTextSubmit, false);
		}
	}    	
}
);

// --------------------------------------------------------------------------------
// feedbackFormTextSubmit()
// Fires when a textfield had focus and ENTER was pressed.
// --------------------------------------------------------------------------------
// Arguments:
//	- none
// Returns:
//	- Nothing
// --------------------------------------------------------------------------------
function feedbackFormTextSubmit(e) {

	var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;

	if (code == 13) {
		document.getElementById(fieldPrefix + "ow_btnOK").click();
		if (e.preventDefault) e.preventDefault(); else e.returnValue = false;
	}
}

// --------------------------------------------------------------------------------
// feedbackFormSubmitClicked()
// Fires when the submit button was clicked.
// --------------------------------------------------------------------------------
// Arguments:
//	- none
// Returns:
//	- Nothing
// --------------------------------------------------------------------------------
function feedbackFormSubmitClicked(e) {

	if (!nsfbf_CheckFeedbackData()) {
		if (!e) var e = window.event;
		if (e.preventDefault) e.preventDefault(); else e.returnValue = false;
	} else {
		return;
	}
}

// --------------------------------------------------------------------------------
// nsfbf_CheckFeedbackData()
// Validates the data entered on the feedback create page.
// --------------------------------------------------------------------------------
// Arguments:
//	- none
// Returns:
//	- the results of the validation [boolean]
// --------------------------------------------------------------------------------

function nsfbf_CheckFeedbackData()
{
	// return if the cancel button is clicked
	//if (ow_cancelled)
	//	return true;

	var ow_ddlSubject = document.getElementById(fieldPrefix + "ow_ddlSubject");
	if (ow_ddlSubject != null)
		if (ow_ddlSubject.options[ow_ddlSubject.selectedIndex].value == "") {
			alert(document.getElementById(fieldPrefix + "ow_cvSubject").value);
			ow_ddlSubject.focus();
			return false;
		}	
	
		
	var ow_txtName = document.getElementById(fieldPrefix + "ow_txtName");
	if (ow_txtName != null)
		if (ow_txtName.value.length == 0) {
			alert(document.getElementById(fieldPrefix + "ow_rfvName").value);
			ow_txtName.focus();
			return false;
		}
		
	var ow_txtPhone = document.getElementById(fieldPrefix + "ow_txtPhone");
	if (ow_txtPhone != null)
		if (ow_txtPhone.value.length == 0) {
			alert(document.getElementById(fieldPrefix + "ow_rfvPhone").value);
			ow_txtPhone.focus();
			return false;
		}		
		
		
	var ow_txtEmail = document.getElementById(fieldPrefix + "ow_txtEmail");
	if (ow_txtEmail != null)
		if (ow_txtEmail.value.length == 0)
		{
			alert(document.getElementById(fieldPrefix + "ow_rfvEmail").value);
			ow_txtEmail.focus();
			return false;
		} 
		else 
		{
			var em_re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (!document.getElementById(fieldPrefix + "ow_txtEmail").value.match(em_re)) 
			{
				alert(document.getElementById(fieldPrefix + "ow_revEmail").value);
				document.getElementById(fieldPrefix + "ow_txtEmail").focus();
				return false;
			}
		}		
		
		
	var ow_txtFeedback = document.getElementById(fieldPrefix + "ow_txtFeedback");
	if (ow_txtFeedback != null)
		if (ow_txtFeedback.value.length == 0) {
			alert(document.getElementById(fieldPrefix + "ow_rfvFeedback").value);
			ow_txtFeedback.focus();
			return false;
		}			
	
	return true;	

}	
