/*
 * Created on Dec 17, 2007 by kyang
 *
 * NXADVOCATE
 * All Rights Reserved - Unauthorized Use Prohibited
 * For information contact licensing@nxadvocate.com
 * 
 */


/********** CALENDAR POPUP **********/


var cal = new CalendarPopup("calendarSpan"); 
cal.showYearNavigation();
cal.showYearNavigationInput();
cal.setCssPrefix("SBI");
cal.offsetX = -80;
cal.offsetY = -60;


/********** CONTACT GROUPS FORMS FUNCTIONS **********/


function preProcessAddToNewContactGroup () {
	showSaveProgress();
	
	var formFields = new Array();
	
	formFields['frmNewContactGroupTitle'] = document.getElementById('frmNewContactGroupTitle').value;
	
	return formFields;
}


function preProcessAddToExistingContactGroup(contactGroupsDropDownId) {
	showSaveProgress();
	
	var formFields = new Array();

	var theContactGroupsDropdown = document.getElementById(contactGroupsDropDownId);
	formFields['contactGroupId'] = theContactGroupsDropdown.options[theContactGroupsDropdown.selectedIndex].value;

	return formFields;
}

function showContactGroupAdminContacts (pageNumber, targetDivId) {
	var theContactGroupsDropdown = document.getElementById('selectedContactGroupId');
	var contactGroupId = theContactGroupsDropdown.options[theContactGroupsDropdown.selectedIndex].value;
	
	var theResultsPerPageDropdown = document.getElementById('resultsPerPage');
	var resultsPerPage = theResultsPerPageDropdown.options[theResultsPerPageDropdown.selectedIndex].value;

	nxwebTileLoader('contactgroups.php?selectedContactGroupId='+contactGroupId+'&resultsPerPage='+resultsPerPage+'&pageNumber='+pageNumber+'&action=renderContactGroupMembersTile', targetDivId, 'renderContactGroupActionLogTile()');
	
	hideSaveProgress();
}

function renderContactGroupActionLogTile () {
	var theContactGroupsDropdown = document.getElementById('selectedContactGroupId');
	var contactGroupId = theContactGroupsDropdown.options[theContactGroupsDropdown.selectedIndex].value;
	
	nxwebTileLoader('contactgroups.php?selectedContactGroupId='+contactGroupId+'&action=renderContactGroupActionLogTile', 'contactGroupActionLogTile', '');
}

function loadContactGroupEmailPage(contactGroupsDropDownId) {
	var theContactGroupsDropdown = document.getElementById(contactGroupsDropDownId);
	var contactGroupId = theContactGroupsDropdown.options[theContactGroupsDropdown.selectedIndex].value;
	
	window.location = "contactgroups.php?contactGroupId="+contactGroupId+"&action=displayContactGroupsEmailForm";
}

function exportContactGroup(contactGroupsDropDownId) {
	var theContactGroupsDropdown = document.getElementById(contactGroupsDropDownId);
	var contactGroupId = theContactGroupsDropdown.options[theContactGroupsDropdown.selectedIndex].value;
	
	if (contactGroupId == "") {
		alert("No Contact Group Selected");
	}
	else {
		window.location = "contactgroups.php?contactGroupId="+contactGroupId+"&action=exportContactGroup";
	}
}

function reloadContactGroupContacts() {
	var theContactGroupsDropdown = document.getElementById('selectedContactGroupId');
	var contactGroupId = theContactGroupsDropdown.options[theContactGroupsDropdown.selectedIndex].value;

	nxwebTileLoader('contactgroups.php?selectedContactGroupId='+contactGroupId+'&action=renderContactGroupMembersTile', 'contactGroupManagementTile', 'reloadContactGroupAdminTile()');
	
	hideSaveProgress();
}

function reloadContactGroupAdminTile() {
	var theContactGroupsDropdown = document.getElementById('selectedContactGroupId');
	var contactGroupId = theContactGroupsDropdown.options[theContactGroupsDropdown.selectedIndex].value;
	
	nxwebTileLoader('contactgroups.php?selectedContactGroupId='+contactGroupId+'&action=renderContactGroupAdminTile', 'contactGroupSelectionTile', '');
	
	hideSaveProgress();
}

function diplayDiv(divId) {
	document.getElementById(divId).style.display = "block";
}

function insertAtCursor(myFieldId, myValue) {
	if (tinyMCE){ tinyMCE.triggerSave();}
	
	var myField = document.getElementById(myFieldId);

	if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
	}
	else {
		myField.value += myValue;
	}
}


/**************** FUNCTIONS FOR NEW CONTACT GROUP ADMIN *******************/


function deleteContactGroup (contactGroupId) {
	var message = "Are you sure you want to delete this contact group?"
	
	var return_value = confirm(message);
	
	if (return_value == true) {
		// reload counties associative element with new selectd state
		nxwebTileLoader('?action=deleteContactGroup&contactGroupId='+contactGroupId, '', 'window.location=\'contactgrouplist.php\'');
	}
}


function addContactGroupInclusion () {
	personId = document.getElementById('frmContactGroupInclusionPopupSearchResultId').value;
	contactGroupId = document.getElementById('frmContactGroupId').value;

	nxwebTileLoader('contactgroup.php?action=addInclusion&contactGroupId='+contactGroupId+'&personId='+personId, '', 'refreshContactGroupMemberRelatedTables('+contactGroupId+')');
}


function addContactGroupExclusion () {
	personId = document.getElementById('frmContactGroupExclusionPopupSearchResultId').value;
	contactGroupId = document.getElementById('frmContactGroupId').value;
	
	nxwebTileLoader('contactgroup.php?action=addExclusion&contactGroupId='+contactGroupId+'&personId='+personId, '', 'refreshContactGroupMemberRelatedTables('+contactGroupId+')');
}


function addContactGroupUser () {
	userId = document.getElementById('frmContactGroupUserPopupSearchResultId').value;
	contactGroupId = document.getElementById('frmContactGroupId').value;

	nxwebTileLoader('contactgroup.php?action=addUser&contactGroupId='+contactGroupId+'&userId='+userId, '', 'refreshContactGroupUsersTile('+contactGroupId+')');
}


function switchContactGroupUserAdminStatus (contactGroupId, userId) {
	showSaveProgress();
	
	nxwebTileLoader('contactgroup.php?action=switchUserAdminStatus&contactGroupId='+contactGroupId+'&userId='+userId, '', '');
	
	hideSaveProgress();
}


function refreshContactGroupMemberRelatedTables (contactGroupId) {
	nxwebTileLoader('contactgroup.php?action=renderContactGroupMembersTile&contactGroupId='+contactGroupId, 'contactGroupMembersTile', 'refreshContactGroupInclusionsTile('+contactGroupId+')');
	
	hideSaveProgress();
}


function refreshContactGroupMembersTile (contactGroupId) {
	nxwebTileLoader('contactgroup.php?action=renderContactGroupMembersTile&contactGroupId='+contactGroupId, 'contactGroupMembersTile', '');
	
	hideSaveProgress();
}


function refreshContactGroupInclusionsTile (contactGroupId) {
	nxwebTileLoader('contactgroup.php?action=renderContactGroupInclusionsTile&contactGroupId='+contactGroupId, 'contactGroupInclusionsTile', 'refreshContactGroupExclusionsTile('+contactGroupId+')');
	
	hideSaveProgress();
}


function refreshContactGroupExclusionsTile (contactGroupId) {
	nxwebTileLoader('contactgroup.php?action=renderContactGroupExclusionsTile&contactGroupId='+contactGroupId, 'contactGroupExclusionsTile', '');

	hideSaveProgress();
}


function refreshContactGroupUsersTile (contactGroupId) {
	nxwebTileLoader('contactgroup.php?action=renderContactGroupUsersTile&contactGroupId='+contactGroupId, 'contactGroupUsersTile', '');
	
	hideSaveProgress();
}


/**************** FUNCTIONS FOR CONTACT GROUP EMAIL SENDING *******************/


function confirmSendContactGroupEmail () {
	if (confirm('Are you sure that you want to send this email to the selected contact group?')) {
		nxwebAjaxFormProcessor('ContactGroupsActionForm', 'contactgroups.php?action=sendContactGroupEmail', 'preProcessFormData()', 'followUpSendContactGroupEmail()',  '');
	}
}

function followUpSendContactGroupEmail () {
	hideSaveProgress();
	
	alert('Email has been sent.');
}
