
	// ===============================================================
	// Request Search - PART.A
	// ===============================================================
	function ACCESS_RIGHTS_HTTP_SEARCH()
	{
		GET_MAP_ARRAY = JSCUS_SQL._ACCOUNT._ACCESS_RIGHTS.CUS_PREPARE_MAPPED_ARRAY_FOR_GET();	
		// JSVC_MAP_ARRAY.VAR_SET(GET_MAP_ARRAY, 'PARAM_PARENT_ID', PROPERTY_PARENT_ID));		// Parent ID Sample
		JSVC_MAP_ARRAY.VAR_SET(GET_MAP_ARRAY, 'PARAM_ACC_ACCESS_ACC_LEVEL_ID', PROPERTY_ACC_LEVEL_ID);

		JSOC_DIALOG.VAR_LOADING_SPINNER(true);
		JSCUS_SQL._ACCOUNT._ACCESS_RIGHTS.CUS_GET
		(
			GET_MAP_ARRAY,
			ACCESS_RIGHTS_HTTP_SEARCH_CALLBACK,
			true
		);        		
	}
	
	// ===============================================================
	// Request Search - PART.B
	// ===============================================================
	function ACCESS_RIGHTS_HTTP_SEARCH_CALLBACK(IS_SUCCESS, RESPONSE_STRING)
	{
		// Disable Dialogs
		// _______________________________________________________________________
		CUS_SEND_DIALOG_TRY_DISMISS();
		
		// Validate
		// _______________________________________________________________________
		if(IS_SUCCESS === false)
		{
			alert("CONNECTION ERROR: \n" + RESPONSE_STRING);
			return;
		}
		
		// Validate JSON Response
		// _______________________________________________________________________
		var JSON_OBJECT = JSRC_JSON.REF_CREATE(RESPONSE_STRING);
		if(JSRC_JSON.REF_IS_SUCCESS(JSON_OBJECT) === false)
		{
			alert("REQUEST ERROR: \n" + RESPONSE_STRING);
			return;
		}
		
		// JSON Empty (Clears the DataGrodView)
		// _______________________________________________________________________
		if(JSRC_JSON.REF_READ(JSON_OBJECT, "JSON_COUNT") <= 0)
		{
			ACCESS_RIGHTS_DGV.ROW.CLEAR();
			return;
		}

		// Populate DGV
		// _______________________________________________________________________
		ACCESS_RIGHTS_DGV.POPULATE_FROM_QUERY
		(
				JSON_OBJECT, 
				'',
				false,
				false,
				1,
				[2, 1]
		);
		
		
		// Initialize
		// _______________________________________________________________________	
		var WEBTABLE_DATE = null;
		var ROW_INDEX = 0;
	
	
		// Load Dialog
		// _______________________________________________________________________	
		JSOC_DIALOG.VAR_MODAL("ACCESS_RIGHTS_MODAL", false);
		JSOC_DIALOG.VAR_MODAL("ACCESS_RIGHTS_MODAL", true);
	}
	
	
	// ===============================================================
	// Request Save
	// ===============================================================
	function ACCESS_RIGHTS_HTTP_SAVE(CALLBACK_METHOD)
	{
		// Validate Duplicates
		// _______________________________________________________________________
		var POPULATE_ROW_INDEX = 0;

		
		// Save item [Prepare]
		// _______________________________________________________________________
		var CURRENT_SAVE_MAP_ARRAY;
		var REQUEST_SAVE_MAP_ARRAY = [];
		
		while(ACCESS_RIGHTS_DGV.ROW.COUNT() > POPULATE_ROW_INDEX)
		{
			CURRENT_SAVE_MAP_ARRAY = JSCUS_SQL._ACCOUNT._ACCESS_RIGHTS.CUS_PREPARE_MAPPED_ARRAY_FOR_SAVE();
			JSVC_MAP_ARRAY.VAR_SET(CURRENT_SAVE_MAP_ARRAY, "PARAM_ACC_ACCESS_ID", ACCESS_RIGHTS_DGV.CELL.VALUE('ACC_ACCESS_ID', POPULATE_ROW_INDEX));				
			JSVC_MAP_ARRAY.VAR_SET(CURRENT_SAVE_MAP_ARRAY, "PARAM_ACC_ACCESS_SYS_AUTHORITY_ID", ACCESS_RIGHTS_DGV.CELL.VALUE('ACC_ACCESS_SYS_AUTHORITY_ID', POPULATE_ROW_INDEX));
			REQUEST_SAVE_MAP_ARRAY.push(CURRENT_SAVE_MAP_ARRAY);
			POPULATE_ROW_INDEX ++;
		}

		
		// Declare Post Request Handler
		// _______________________________________________________________________
		var RESPONSE_HANDLER = 			
			function(IS_SUCCESS, HTTP_RESPONSE)
			{
				// Handle Error
				// ...........................................
				if(IS_SUCCESS === false)
				{
					METHOD_UNABLE_TO_SEND_REQUEST(CALLBACK_METHOD);	
					return;
				}
				
				// Catch JSON Error
				// ...........................................
				else if(JSRC_JSON.REF_IS_JSTRING(HTTP_RESPONSE) == false)
				{
					METHOD_SERVER_ISSUE(CALLBACK_METHOD, HTTP_RESPONSE);
					return;			
				}
					
				// Read Response
				// ...........................................
				else
				{
					// Load Response
					var JSON_OBJECT = JSRC_JSON.REF_CREATE(HTTP_RESPONSE);
					if(JSRC_JSON.REF_IS_SUCCESS(JSON_OBJECT) === false)
					{
						METHOD_REQUEST_FAILURE(CALLBACK_METHOD, JSON_OBJECT);
						return;
					}
					
			
					// Post Save Action
					else
					{
						// Lift edit and Exit EditMode		
						if(JSOC_ELEMENT.VAR_ELEMENT_EXISTS('ACCESS_RIGHTS_MODAL') == true)
						{
							JSOC_DIALOG.VAR_MODAL('ACCESS_RIGHTS_MODAL', false);
						}
						
						//SWAP_EDIT_MODE(false);
						CALLBACK_METHOD(true);											
					}
				}
			};
			
			
		// Save Item [Send Request]
		// _______________________________________________________________________
		JSCUS_SQL._ACCOUNT._ACCESS_RIGHTS.CUS_SAVE 
		(
			REQUEST_SAVE_MAP_ARRAY,
			RESPONSE_HANDLER
		);
		
	}