// --------------------------------------------------------------------------------
// nsttc_Application.js
// Travis Musika 26-Jan-2005
// Contains Javascript relevant to the NSTravelTradeCatalogue.
// --------------------------------------------------------------------------------

var fieldPrefix = "tmpl_nsttcRequest_nsttcOrder_"

// 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", nsttc_formSubmitClicked, false);
    
	if (document.getElementById("nsttc_form") != null) {
		var inp = document.getElementById("nsttc_form").getElementsByTagName("input");
		for (var i = 0; i < inp.length; i++) {
			if (inp[i].type == "text") ow_f_AddEvent(inp[i], "keypress", nsttc_formTextSubmit, false);
		}
	}    	
}
);

// --------------------------------------------------------------------------------
// nsttc_formTextSubmit()
// Fires when a textfield had focus and ENTER was pressed.
// --------------------------------------------------------------------------------
// Arguments:
//	- none
// Returns:
//	- Nothing
// --------------------------------------------------------------------------------
function nsttc_formTextSubmit(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;
	}
}

// --------------------------------------------------------------------------------
// nsttc_formSubmitClicked()
// Fires when the submit button was clicked.
// --------------------------------------------------------------------------------
// Arguments:
//	- none
// Returns:
//	- Nothing
// --------------------------------------------------------------------------------
function nsttc_formSubmitClicked(e) {

	if (!nsttc_checkRequestData()) {
		if (!e) var e = window.event;
		if (e.preventDefault) e.preventDefault(); else e.returnValue = false;
	} else {
		return;
	}
}

// --------------------------------------------------------------------------------
// nsttc_checkRequestData()
// Validates the data entered on the order page.
// --------------------------------------------------------------------------------
// Arguments:
//	- none
// Returns:
//	- the results of the validation [boolean]
// --------------------------------------------------------------------------------

function nsttc_checkRequestData()
{
	// return if the cancel button is clicked
	//if (ow_cancelled)
	//	return true;
	
		
	var ow_txtCompanyName = document.getElementById(fieldPrefix + "ow_txtCompanyName");
	if (ow_txtCompanyName != null)
		if (ow_txtCompanyName.value.length == 0) {
			alert(document.getElementById(fieldPrefix + "ow_rfvCompanyName").value);
			ow_txtCompanyName.focus();
			return false;
		}
		
	var ow_txtFirstName = document.getElementById(fieldPrefix + "ow_txtFirstName");
	if (ow_txtFirstName  != null)
		if (ow_txtFirstName .value.length == 0) {
			alert(document.getElementById(fieldPrefix + "ow_rfvFirstName").value);
			ow_txtFirstName.focus();
			return false;
		}
		
	var ow_txtLastName = document.getElementById(fieldPrefix + "ow_txtLastName");
	if (ow_txtLastName != null)
		if (ow_txtLastName.value.length == 0) {
			alert(document.getElementById(fieldPrefix + "ow_rfvLastName").value);
			ow_txtLastName.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_regvEmail").value);
				document.getElementById(fieldPrefix + "ow_txtEmail").focus();
				return false;
			}
		}

	var ow_chkForUseInMagazines = document.getElementById(fieldPrefix + "ow_chkForUseInMagazines");
	var ow_chkForUseInNewspaper = document.getElementById(fieldPrefix + "ow_chkForUseInNewspaper");
	var ow_chkForUseInWebsite = document.getElementById(fieldPrefix + "ow_chkForUseInWebsite");
	var ow_chkForUseInGuide = document.getElementById(fieldPrefix + "ow_chkForUseInGuide");
	var ow_chkForUseInBrochures = document.getElementById(fieldPrefix + "ow_chkForUseInBrochures");
	var ow_chkForUseInOther = document.getElementById(fieldPrefix + "ow_chkForUseInOther");
	
	if ((ow_chkForUseInMagazines != null && !ow_chkForUseInMagazines.checked)
		&& (ow_chkForUseInNewspaper != null && !ow_chkForUseInNewspaper.checked)
		&& (ow_chkForUseInWebsite != null && !ow_chkForUseInWebsite.checked)
		&& (ow_chkForUseInGuide != null && !ow_chkForUseInGuide.checked)
		&& (ow_chkForUseInBrochures != null && !ow_chkForUseInBrochures.checked)
		&& (ow_chkForUseInOther != null && !ow_chkForUseInOther.checked)) {
			alert(document.getElementById(fieldPrefix + "ow_cvForUseIn").value);
			return false;
	}
	if (ow_chkForUseInOther != null && ow_chkForUseInOther.checked) {
		var ow_txtForUseIn = document.getElementById(fieldPrefix + "ow_txtForUseIn");
		if (ow_txtForUseIn != null && ow_txtForUseIn.value.length == 0) {
			alert(document.getElementById(fieldPrefix + "ow_rfvForUseIn").value);
			ow_txtForUseIn.focus();
			return false;
		}
	}
	
	var ow_chkOptin = document.getElementById(fieldPrefix + "ow_chkOptin");
	if (ow_chkOptin != null) {
		if (ow_chkOptin.checked) {
			// if the optin value is checked, we require the Address, City/Town, Country, Phone number fields as well
			var ow_txtAddress1 = document.getElementById(fieldPrefix + "ow_txtAddress1");
			if (ow_txtAddress1 != null)
				if (ow_txtAddress1.value.length == 0) {
					alert(document.getElementById(fieldPrefix + "ow_rfvAddress1").value);
					ow_txtAddress1.focus();
					return false;
				}
				
			var ow_txtCity = document.getElementById(fieldPrefix + "ow_txtCity");
			if (ow_txtCity != null)
				if (ow_txtCity.value.length == 0) {
					alert(document.getElementById(fieldPrefix + "ow_rfvCity").value);
					ow_txtCity.focus();
					return false;
				}
				
			var ow_lstCountry = document.getElementById(fieldPrefix + "ow_lstCountry");
			if (ow_lstCountry != null)
				if (ow_lstCountry.selectedIndex == 0) {
					alert(document.getElementById(fieldPrefix + "ow_rfvCountry").value);
					ow_lstCountry.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;
				}
		}
	}
	
	return true;	

}	
