var frmObject;

window.onerror = JSAlertOnError;

function JSAlertOnError(strMessage, strURL, strLineNumber){
	alert('URL: ' + strURL + '\n\nError Message: ' + strMessage + '\n\nLine Number: ' + strLineNumber)
	return false;
}

function JSSetFormObject() {
	frmObject = document.getElementById("frmMainForm")
}

function JSPaging(x_intCurrentPage, x_objHiddenFormVar) {
	if(x_objHiddenFormVar) {
		x_objHiddenFormVar.value = x_intCurrentPage;
		//alert(x_objHiddenFormVar.value);
	}
	frmObject.submit();
}

//	function JS_____New()
//	function JS_____Edit(x_____)
//	function JS_____Search()
//	function JS_____ClearSearch()
//	function JS_____Save()
//	function JS_____ExitToSearch()
//	function JS_____Delete()

//========================================================
// BEGIN USERS
//========================================================
function JSUsersNew() {
	frmObject.action = "users-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnUserKey.value = '';
	frmObject.submit();
}

function JSUsersEdit(x_strUserKey) {
	frmObject.action = "users-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnUserKey.value = x_strUserKey;
	frmObject.submit();
}

function JSUsersSearch() {
	frmObject.hdnSearchUserPage.value = '1';
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSUsersClearSearch() {
	frmObject.hdnSearchUserPage.value = '1';
	frmObject.txtSearchUserFirstName.value = '';
	frmObject.txtSearchUserLastName.value = '';
	frmObject.txtSearchUserEMail.value = '';
	frmObject.submit();
}

function JSUsersSave() {
	frmObject.submit();
}

function JSUsersReload() {
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.submit();
}

function JSUsersExitToSearch() {
	frmObject.action = "users.asp";
	if (frmObject.hdnUserKey.value.length > 0) {
		frmObject.hdnActionToTake.value = 'search';
	}
	frmObject.submit();
}

function JSUsersDelete() {
	frmObject.action = "users-edit.asp";
	frmObject.hdnActionToTake.value = 'delete';
	frmObject.submit();
}
//========================================================
// END USERS
//========================================================

//========================================================
// BEGIN E-MAILS
//========================================================
function JSEMailsNew() {
	frmObject.action = "emails-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnEMailKey.value = '';
	frmObject.submit();
}

function JSEMailsEdit(x_strEMailKey) {
	frmObject.action = "emails-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnEMailKey.value = x_strEMailKey;
	frmObject.submit();
}

function JSEMailsSearch() {
	frmObject.hdnSearchEMailPage.value = '1';
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSEMailsClearSearch() {
	frmObject.hdnSearchEMailPage.value = '1';
	frmObject.hdnActionToTake.value = 'search';
	frmObject.txtSearchEMail.value = '';
	frmObject.selSearchEMailIsDeleted.value = '-1';
	frmObject.selSearchEMailGroupID.value = '-1';
}

function JSEMailsSave() {
	frmObject.submit();
}

function JSEMailsExitToSearch() {
	frmObject.action = "emails.asp";
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSEMailsDelete() {
	frmObject.action = "emails-edit.asp";
	frmObject.hdnActionToTake.value = 'delete';
	frmObject.submit();
}
//========================================================
// END E-MAILS
//========================================================

//========================================================
// BEGIN GROUPS
//========================================================
function JSGroupsNew() {
	frmObject.action = "groups-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnGroupKey.value = '';
	frmObject.submit();
}

function JSGroupsEdit(x_intGroupID) {
	frmObject.action = "groups-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnGroupKey.value = x_intGroupID;
	frmObject.submit();
}

function JSGroupsSearch() {
	frmObject.hdnSearchGroupPage.value = '1';
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSGroupsClearSearch() {
	frmObject.hdnSearchGroupPage.value = '1';
	frmObject.txtSearchGroupName.value = '';
	frmObject.selSearchGroupIsDefault.value = '';
	frmObject.selSearchGroupIsPublic.value = '';
	frmObject.selSearchGroupIsActive.value = '';
}

function JSGroupsSave() {
	frmObject.hdnActionToTake.value = 'save';
	frmObject.submit();
}

function JSGroupsExitToSearch() {
	frmObject.action = "groups.asp";
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSGroupsDelete() {
	if (confirm('This will delete the selected E-Mail Group.  Do you wish to continue?')) {
		frmObject.action = "groups-edit.asp";
		frmObject.hdnActionToTake.value = 'delete';
		frmObject.submit();
	}
}

function JSGroupsExitToEdit() {
	frmObject.action = "groups-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.submit();
}

function JSGroupsImport() {
	frmObject.action = "groups-import.asp";
	frmObject.hdnActionToTake.value = 'import';
	frmObject.submit();
}

function JSGroupsSaveImport() {
	if (frmObject.txtaEMailList.length = 0) {
		alert('At least one E-Mail address is required');
		return false;
	}
	frmObject.action = "groups-import.asp";
	frmObject.hdnActionToTake.value = 'save';
	frmObject.submit();
}
//========================================================
// END GROUPS
//========================================================

//========================================================
// BEGIN TEMPLATES
//========================================================
function JSTemplatesNew() {
	frmObject.action = "templates-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnTemplateID.value = 0;
	frmObject.submit();
}

function JSTemplatesEdit(x_intTemplateID) {
	frmObject.action = "templates-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnTemplateID.value = x_intTemplateID;
	frmObject.submit();
}

function JSTemplatesSearch() {
	frmObject.hdnSearchTemplatePage.value = '1';
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSTemplatesClearSearch() {
	frmObject.hdnActionToTake.value = 'search';
	frmObject.txtSearchTemplateName.value = '';
	frmObject.txtSearchTemplateSubject.value = '';
}

function JSTemplatesSave() {
	if (frmObject) {
		frmObject.action = "templates-edit.asp";
		frmObject.hdnActionToTake.value = 'save';
		
		if (frmObject.txtTemplateName) {
			if (frmObject.txtTemplateName.value.length == 0) {
				alert('The Name is required to proceed');
				return false;
			}
		}
		
		frmObject.submit();
	}
}

function JSTemplatesExitToSearch() {
	if (frmObject) {
		frmObject.action = "templates.asp";
		if (frmObject.hdnTemplateID.value != 0) {
			frmObject.hdnActionToTake.value = 'search';
		}
		frmObject.submit();
	}
}

//	function JS_____Delete()
//========================================================
// END TEMPLATES
//========================================================

//========================================================
// BEGIN NEWSLETTERS
//========================================================

function JSNewsletterNew() {
	frmObject.action = "newsletters-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnNewsletterID.value = 0;
	frmObject.submit();
}

function JSNewsletterEdit(x_intNewsletterID) {
	frmObject.action = "newsletters-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.hdnNewsletterID.value = x_intNewsletterID;
	frmObject.submit();
}

function JSNewslettersSearch() {
	frmObject.hdnSearchNewsletterPage.value = '1';
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSNewslettersClearSearch() {
	frmObject.hdnActionToTake.value = 'search';
	frmObject.txtSearchNewsletterSubject.value = '';
	frmObject.selSearchNewslettersGroupID.value = '-1';
	frmObject.selSearchNewslettersSent.value = '-1';
}

function JSNewslettersSave() {
	if (frmObject) {
		frmObject.action = "newsletters-edit.asp";
		frmObject.hdnActionToTake.value = 'save';
	
		if (frmObject.txtNewsletterSubject.value.length == 0) {
			alert('The Subject is required to proceed');
			return false;
		}
		if (frmObject.selNewsletterTemplateID) {
			if (frmObject.selNewsletterTemplateID.value == -1) {
				alert('Please select an E-Mail Template to proceed');
				return false;
			}
		}
		frmObject.submit();
	}
}

function JSNewslettersExitToSearch() {
	if (frmObject) {
		frmObject.action = "newsletters.asp";
		if (frmObject.hdnNewsletterID.value != 0) {
			frmObject.hdnActionToTake.value = 'search';
		}
		frmObject.submit();
	}
}

function JSNewslettersReturnToEdit() {
	frmObject.action = "newsletters-edit.asp";
	frmObject.hdnActionToTake.value = 'edit';
	frmObject.submit();
}

function JSNewslettersCopy() {
	if (frmObject) {
		frmObject.action = "newsletters-edit.asp";
		frmObject.hdnActionToTake.value = 'copy';
		frmObject.submit();
	}
}

function JSNewslettersPreview() {
	if (frmObject) {
		frmObject.action = "newsletters-preview.asp";
		frmObject.hdnActionToTake.value = 'preview';
		frmObject.submit();
	}
}

function JSNewslettersSend() {
	if (frmObject.selNewsletterGroupID.value == -1) {
		alert('Please select an E-Mail Group to proceed');
		return false;
	}
	if (confirm('Please verify that you want to send this as an E-Mail to\nthe group you have selected, and if so, click on OK.\n\nOnce sent, the Newsletter cannot be sent again, and it\ncannot be recalled.')) {
		frmObject.action = "newsletters-send.asp";
		frmObject.hdnActionToTake.value = 'send';
		frmObject.submit();
	}
}
//========================================================
// END NEWSLETTERS
//========================================================

//========================================================
// BEGIN SUBSCRIBE/CONFIRM/UNSUBSCRIBE
//========================================================
function JSSubscribe() {
	if (frmObject.txtEMail.value.length == 0) {
		alert('Your E-Mail address is required to continue');
		return false;
	} else {
		if (!isValid(ExpEmail, frmObject.txtEMail.value)) {
			alert('Your E-Mail address is not valid');
			return false;
		}
	}
	if (frmObject.selOrganizationGroupKeys) {
		if (GetSelectedItemsCount(frmObject.selOrganizationGroupKeys) < 1) {
			alert('You must select at least one Newsletter to continue');
			return false;
		}
	}
	frmObject.hdnActionToTake.value = 'subscribe';
	frmObject.submit();
}

function JSConfirmSave() {
	frmObject.hdnActionToTake.value = 'confirm';
	frmObject.submit();
}

function JSManageSave() {
	if (frmObject.txtEMail.value.length == 0) {
		alert('Your E-Mail address is required to continue');
		return false;
	} else {
		if (!isValid(ExpEmail, frmObject.txtEMail.value)) {
			alert('Your E-Mail address is not valid');
			return false;
		}
	}
	if (frmObject.selOrganizationGroupKeys) {
		if (GetSelectedItemsCount(frmObject.selOrganizationGroupKeys) < 1) {
			alert('You must select at least one Newsletter to continue');
			return false;
		}
	}
	frmObject.hdnActionToTake.value = 'save';
	frmObject.submit();
}

function JSSetRadio(x_strRadioValue) {
	var intCounter = 0;
	var objFormField;
	for (var i = 0; i < frmObject.elements.length; i++) {
		objFormField = frmObject.elements[i];
		if (objFormField.type == "radio") {
			if (objFormField.value == x_strRadioValue) {
				objFormField.checked = true;
			}
		}
	}
}

function JSSwitchRadio() {
	TurnOffRadio(frmObject.rdoSwitchGroups);
}
//========================================================
// END SUBSCRIBE/CONFIRM/UNSUBSCRIBE
//========================================================

//========================================================
// BEGIN ORGANIZATIONS
//========================================================
function JSSwitchOrganizationsSearch() {
	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSOrganizationsClearSearch() {
	frmObject.hdnActionToTake.value = '';
	frmObject.txtSearchOrganizationName.value = '';
	frmObject.selSearchOrganizationIsActive.value = '-1';
}

function JSSwitchOrganization(x_strOrganizationKey) {
	frmObject.hdnActionToTake.value = 'switch';
	if (x_strOrganizationKey == undefined) {
		x_strOrganizationKey = '';
	} else {
		if (!confirm('This will log you into this Organization\'s management console.\n\nDo you wish to continue?')) {
			return false;
		}
	}
	frmObject.hdnOrganizationKey.value = x_strOrganizationKey;
	frmObject.submit();
}
//========================================================
// END ORGANIZATIONS
//========================================================


//========================================================
// BEGIN REPORTS
//========================================================
function JSReportsSearch() {
	var dteStartDate = getDateSelector(frmObject, 'Start')
	var dteEndDate = getDateSelector(frmObject, 'End')
	//alert('Start: ' + dteStartDate + '\nEnd: ' + dteEndDate);
	
	if (dteStartDate < 0 || dteEndDate < 0) {
		if (dteStartDate == -2) {
			alert('You have entered an invalid Start Date.');
		}
		if (dteEndDate == -2) {
			alert('You have entered an invalid End Date.');
		}
		return false;
	} else if (dteStartDate != 0 && dteEndDate != 0) {
		if (isValidDate(dteStartDate, true) && isValidDate(dteEndDate, true)) {
			if (CheckStartEndDate(dteStartDate, dteEndDate)) {
				alert('The Start Date must be prior to the End Date.');
				return false;
			}
		}
	}

	frmObject.hdnActionToTake.value = 'search';
	frmObject.submit();
}

function JSReportsClearSearch() {
	frmObject.hdnActionToTake.value = '';
	clearDateSelector(frmObject, 'Start');
	clearDateSelector(frmObject, 'End');
	frmObject.selSearchEMailGroupID.value = '-1';
}
//========================================================
// END REPORTS
//========================================================

