/*
 * Created on Jan 16, 2008 by kyang
 *
 * NXADVOCATE
 * All Rights Reserved - Unauthorized Use Prohibited
 * For information contact licensing@nxadvocate.com
 * 
 */ 
 
 
/********** AUTO LOGOFF WITH TIMEOUT **********/

// adjust this value if necessary
var timer;

function resetLogoutInterval (logoutIntervalMinutes) {
	clearInterval(timer);

	timer = setInterval("autoLogout()", logoutIntervalMinutes*60*1000);
}


function autoLogout () {
	window.location="/nxweb_nxadvocate_auth/logout.php";
}

 

/********** FLOATY RECENTLY VIEWED FUNCTIONS **********/

function jumpToVolunteer (volunteerDropdownId) {	
	var volunteerDropdown = document.getElementById(volunteerDropdownId);
	if (volunteerDropdown.selectedIndex >= 0) {
		var volunteerId = volunteerDropdown.options[volunteerDropdown.selectedIndex].value;
		window.location = "/nxweb_nxadvocate_volunteer/volunteers.php?frmVolunteerId="+volunteerId;
	}
}


function jumpToClient (clientDropdownId) {	
	var clientDropdown = document.getElementById(clientDropdownId);
	if (clientDropdown.selectedIndex >= 0) {
		var clientId = clientDropdown.options[clientDropdown.selectedIndex].value;
		window.location = "/nxweb_nxadvocate_client/clients.php?clientId="+clientId;
	}
}


function jumpToCase (caseDropdownId) {	
	var caseDropdown = document.getElementById(caseDropdownId);
	if (caseDropdown.selectedIndex >= 0) {
		var caseId = caseDropdown.options[caseDropdown.selectedIndex].value;
		window.location = "/nxweb_nxadvocate_case/cases.php?caseId="+caseId;
	}
}


function getRecentlyViewed (theIdInputId, theNameInputId, theDropdownId) {
	var theIdInput = document.getElementById(theIdInputId);
	var theNameInput = document.getElementById(theNameInputId);
	var theDropdown = document.getElementById(theDropdownId);
	
	theIdInput.value = theDropdown.options[theDropdown.selectedIndex].value;
	theNameInput.innerHTML = theDropdown.options[theDropdown.selectedIndex].text;
}


function updateFloatitContactBasketCount () {
	nxwebTileLoader('/nxweb_nxadvocate/contactbasket.php?action=getContactBasketCount', 'floatitContactBasketCount', '');
}


/********** FORM PROCESSING FUNCTIONS **********/


function preProcessGeneric (theFormId) {
	showSaveProgress();
	
	theForm = document.getElementById(theFormId);
	var formFields = new Array();
	
	for(i=0; i<theForm.elements.length; i++) {
		if (theForm.elements[i].type == "checkbox" ) {
			if (theForm.elements[i].checked) {
				formFields[theForm.elements[i].name] = 1;
			}
			else {
				formFields[theForm.elements[i].name] = 0;
			}
		} 
		else {
			formFields[theForm.elements[i].name] = theForm.elements[i].value;
		}
	}
	
	return formFields;
}


function preProcessFormData () {
	showSaveProgress();

	var formFields = new Array();
	
	if (typeof tinyMCE !== "undefined") { 
		tinyMCE.triggerSave(); 
	}

	for(i=0; i<theForm.elements.length; i++) {
		if (theForm.elements[i].type == "radio") {
			if (theForm.elements[i].checked) {
         		formFields[theForm.elements[i].name] = theForm.elements[i].value;
         	}
		}
		else if (theForm.elements[i].type == "checkbox") {
			if (theForm.elements[i].checked) {
         		formFields[theForm.elements[i].name] = 1;
         	}
         	else {
				formFields[theForm.elements[i].name] = 0;
			}
        } 
        else {
         	formFields[theForm.elements[i].name] = theForm.elements[i].value;
        }
  	} 
	
	return formFields;
}


function followUpGeneric () {
	hideSaveProgress();
	fdTableSort.init();
}


/********** ASSOCIATIVE DROPDOWN FUNCTIONS **********/


function preProcessAddAssociative (entityId, associativeName, associativeDropdownId) {
	var formFields = new Array();
	var theDropdown = document.getElementById(associativeDropdownId);

	formFields['Assoc'+associativeName] = theDropdown.options[theDropdown.selectedIndex].value;
	formFields['EntityId'] = entityId;

	return formFields;
}


function preProcessDeleteAssociative (associativeName, entityId, associativeId) {
	var formFields = new Array();

	formFields['Assoc'+associativeName] = associativeId;
	formFields['EntityId'] = entityId;
	
	return formFields;
}

function refreshAssociative (refreshFunctionCall, entityId, associativeName, associativeDivName) {
	nxwebTileLoader(refreshFunctionCall+'&EntityId='+entityId+'&AssociativeName='+associativeName, associativeDivName, '');
}


/********** PEOPLECORPORATIONS FUNCTIONS **********/


function preProcessAddPeopleCorporation () {
	showSaveProgress();
	
	var formFields = new Array();
  
  	formFields['frmPersonId'] = document.getElementById('frmPersonId').value;
  	formFields['frmCorporationId'] = document.getElementById('frmNewCorporationId').value;
  	formFields['frmTitle'] = document.getElementById('frmNewTitle').value;

  	return formFields;
}


function preProcessAddCorporationPeople () {
	showSaveProgress();
	
	var formFields = new Array();

  	formFields['frmPersonId'] = document.getElementById('frmNewPersonId').value;
  	formFields['frmCorporationId'] = document.getElementById('frmCorporationId').value;
  	formFields['frmTitle'] = document.getElementById('frmNewTitle').value;

  	return formFields;
}


function preProcessSetDefaultPeopleCorporation (theId) {
	showSaveProgress();
	
	var formFields = new Array();

  	formFields['frmPeopleCorporationId'] = theId;

  	return formFields;
}


function preProcessSavePeopleCorporation (theId) {
	showSaveProgress();
	
	var formFields = new Array();
  
  	formFields['frmPeopleCorporationId'] = theId;
  	formFields['frmCorporationId'] = document.getElementById('nested_'+theId+'_frmCorporationId').value;
  	formFields['frmTitle'] = document.getElementById('nested_'+theId+'_frmTitle').value;

  	return formFields;
}


function preProcessSaveCorporationPeople (theId) {
	showSaveProgress();
	
	var formFields = new Array();
  
  	formFields['frmPeopleCorporationId'] = theId;
  	formFields['frmPersonId'] = document.getElementById('nested_'+theId+'_frmPersonId').value;
  	formFields['frmTitle'] = document.getElementById('nested_'+theId+'_frmTitle').value;

  	return formFields;
}


function preProcessDeletePeopleCorporation (theId) {
	showSaveProgress();
	
	var formFields = new Array();
  
  	formFields['frmPeopleCorporationId'] = theId;

  	return formFields;
}



function displayPeopleCorporationsTable(personId) {
	nxwebTileLoader('/nxweb_nxadvocate/people.php?action=renderPeopleCorporationsTable&personId='+personId, 'peopleCorporationsTableTile', '');
	
	hideSaveProgress();
	fdTableSort.init();
}


function displayCorporationPeopleTable(corporationId) {
	nxwebTileLoader('/nxweb_nxadvocate_corporation/corporations.php?action=renderCorporationPeopleTable&corporationId='+corporationId, 'corporationPeopleTableTile', '');
	
	hideSaveProgress();
	fdTableSort.init();
}



// Use with popup searches, this clears the 'name' and hidden 'id' fields on the form.
// 'unselectedDisplayName' is the string used for the 'name' field when no id has been selected,
// by default it displays an empty string.
function resetFields (idFieldId, nameFieldId, unselectedDisplayName) {
	var idField = document.getElementById(idFieldId);
	var nameField = document.getElementById(nameFieldId);
	
	idField.value = "";

	if (unselectedDisplayName == undefined)
		nameField.innerHTML = "";
	else
		nameField.innerHTML = unselectedDisplayName;
}


/********** POPUP SEARCH ASSIGNMENT FUNCTIONS **********/


function clearAssignmentFields (idFieldId, nameFieldId) {
	var idField = document.getElementById(idFieldId);
	var nameField = document.getElementById(nameFieldId);
	
	idField.value = "";
	nameField.innerHTML = "(Not Set)";
}


/********** MISCELLANEOUS **********/


function reloadPage () {
	window.location.reload();
	hideSaveProgress();
	hideFadeBackground();
}
			

/********** HIGHSLIDE POPUP **********/


hs.graphicsDir = '/nxweb_core/externals/highslide/graphics/';
hs.outlineType = 'drop-shadow';
hs.outlineWhileAnimating = true;



