
function processToDoPopupListAjaxCall(userId,entryId,objectId,action) {
	var url = document.getElementById('todo_list_edit_url').value;
	var jsonRequest = new Request.JSON(
						{
							url: 		url, 
							onComplete: ajaxParseToDoEditAction
						}).post(
							{
								'userId'				: userId,
								'entryId'				: entryId,
								'objectId'				: objectId,
								'ajaxBehavior'			: true,
								'action'				: action
							})
	return jsonRequest;
}

function removeToDoFromList(userId,entryId,objectId) {
	processToDoPopupListAjaxCall(userId,entryId,objectId,"removeObject");
}

function addEntryToDosToList(button,entryId) {
	popupTable.innerHTML = "<br><p align=center><img src=\"" + contextPath + "/images/bigrotation2.gif\"></p>";
	openPopup(button);
	var objectId = null;
	var userId = document.getElementById('userId').value;
	processToDoPopupListAjaxCall(userId,entryId,objectId,"addEntryObjects");
}

function addToDoToList(userId,entryId,objectId) {
	processToDoPopupListAjaxCall(userId,entryId,objectId,"addObject");
}

function addVisitorToDo (userId,entryId,objectId) {
	if ((userId == null) || (userId == '') || (userId == 0)) {
		alert('To add this object you must be logged in.');
	} else {
		addToDoToList(userId,entryId,objectId); 
		alert('This item has been added to your To-Do List');
	}
}

function getPopUpContents(entryId) {
	var userId = document.getElementById('userId').value;
	processToDoPopupListAjaxCall(userId,entryId,objectId,"getPopupContents");
}

function ajaxParseToDoEditAction(response)
{ 
	parseToDoActionResponse(response);
}

function parseToDoActionResponse (response) {
	if (response.action == 'removeObject') {
		updateToDoDialogWithRemovedObject(response);
	}
	if (response.action == 'addObject') {
		updateToDoDialogWithAddedObject(response);
	}
	if (response.action == 'addEntryObjects') {
		updateToDoDialogWithAddedEntryObjects(response);
	}
}

function updateToDoDialogWithRemovedObject (response) {
	var objectId = response.objectId;
	hideObjectRemoveButton(objectId);
	showObjectAddButton(objectId);
}

function updateToDoDialogWithAddedObject (response) {
	var objectId = response.objectId;
	hideObjectAddButton(objectId);
	showObjectRemoveButton(objectId);
}

function updateToDoDialogWithAddedEntryObjects (response) {
	var objectId = response.objectId;
	var popupTable = document.getElementById("popupTable");
	var html = response.generatedHtml;
	html = unescape(response.generatedHtml);
	popupTable.innerHTML = html;
}

function showObjectRemoveButton (objectId) {
	var div = document.getElementById('objectButtonRemove' + objectId);
	if (div != null) {
		div.style.display='block';
	}
}

function hideObjectRemoveButton (objectId) {
	var div = document.getElementById('objectButtonRemove' + objectId);
	if (div != null) {
		div.style.display='none';
	}
}

function showObjectAddButton (objectId) {
	var div = document.getElementById('objectButtonAdd' + objectId);
	if (div != null) {
		div.style.display='block';
	}
}

function hideObjectAddButton (objectId) {
	var div = document.getElementById('objectButtonAdd' + objectId);
	if (div != null) {
		div.style.display='none';
	}
}


