



/**
 * This file contains a list of all ajax handlers for dynamic list item
 * features.
 * Two functions must be defined for each dynamic list item feature:
 *   onSuccess:
 *     This function will be called, if the AJAX request succeeds
 *     (this means, if no network error occurs and the returnCode was
 *      set to 'ok'.)
 *   onError:
 *     This function will be called, if anything prevents the received
 *     return code from being 'ok'.
 *
 *  The signature for each of these functions is (returnCode, htmlCode, itemId)
 *  where
 *    returnCode : The returnCode received from the server. 'ok' will be
 *                 recognized as success.
 *    htmlCode : The messages snippet as pure HTML
 *    itemId : The id of the item, which this AJAX call belongs to.
 */

function j21p_list_members_item_block_onSuccess(returnCode, htmlCode, itemId) {
  j21p_setMessages(htmlCode);
  var element = document.getElementById('j21p_list_block_link_' + itemId);
  var firstSpan = element.getElementsByTagName('span')[0];
  var secondSpan = element.getElementsByTagName('span')[1];
  if (firstSpan.style.display == 'none') {
    firstSpan.style.display = 'block';
  } else {
    firstSpan.style.display = 'none';
  }
  if (secondSpan.style.display == 'none') {
    secondSpan.style.display = 'block';
  } else {
    secondSpan.style.display = 'none';
  }
}
function j21p_list_members_item_block_onError(returnCode, htmlCode, itemId) {
  j21p_errorMessage(htmlCode);
}

function j21p_list_requests_delete_onSuccess(returnCode, htmlCode, itemId) {
  j21p_setMessages(htmlCode);
  var element = document.getElementById('dynamicListWrapper_requests_' + itemId);
  element.style.display = 'none';
}

function j21p_list_requests_delete_onError(returnCode, htmlCode, itemId) {
  j21p_errorMessage(htmlCode);
  
}

function j21p_errorMessage(htmlCode) {
  j21p_setMessages(htmlCode);
}

function j21p_list_deleteAll_updateElements(htmlCode, listId, itemId) {
  j21p_setMessages(htmlCode);
  var parentElement = document.getElementById('dynamicList_' + listId + '_' + itemId);
	var listElements = parentElement.getElementsByTagName('input');
	if (listElements) {
		var i = 0; while(listElements[i]) {
			if (listElements[i].checked) {
				var element = document.getElementById('j21p_listelement_' + listElements[i].value);
			  element.style.display = 'none';
			} i++;
		}
	}
}

function j21p_list_requests_deleteAll_onSuccess(returnCode, htmlCode, itemId) {
	j21p_list_deleteAll_updateElements(htmlCode, 'requests', itemId);
}

function j21p_list_requests_deleteAll_onError(returnCode, htmlCode, itemId) {
  j21p_errorMessage(htmlCode);
}

function j21p_list_notifications_deleteAll_onSuccess(returnCode, htmlCode, itemId) {
	j21p_list_deleteAll_updateElements(htmlCode, 'notifications', itemId);
}

function j21p_list_notifications_deleteAll_onError(returnCode, htmlCode, itemId) {
  j21p_errorMessage(htmlCode);
}

function j21p_list_externalWeblogs_deleteAll_onSuccess(returnCode, htmlCode, itemId) {
	j21p_list_deleteAll_updateElements(htmlCode, 'externalWeblogs', itemId);
}

function j21p_list_externalWeblogs_deleteAll_onError(returnCode, htmlCode, itemId) {
  j21p_errorMessage(htmlCode);
}



