function sendCommentDelete(commentId)
{
	var commentBlock = $("commentBlock" + commentId);
	
	if(confirm('Are you sure you want to delete this comment?'))
	{
		createLoadingPop('Deleting Comment');
		
		var params = 'action=delete&contentType=comment&contentId=' + commentId + '&ieSucks=' + IeSucksUrlDate();
		new Ajax.Request('/rea/admin/ajaxaction', 
		{
			method: 'get',
			parameters: params,
			onSuccess: function(transport)
				{
					var responseXml = transport.responseXML;
					
					// get base xml element - use to get the three values we need to process
					var xmlBase = responseXml.getElementsByTagName("deletion")[0];
					var result = parseInt(xmlBase.getElementsByTagName("result")[0].firstChild.nodeValue);
					var contentId = parseInt(xmlBase.getElementsByTagName("contentId")[0].firstChild.nodeValue);					

					var resultMessage;
					
					if(result == 1)
					{
						new Effect.Fade(commentBlock);
						resultMessage = 'Successfully deleted comment';
					}
					else
					 resultMessage = 'Failed to delete comment';

					modifyLoadingPop(resultMessage);					
					setTimeout("finalizeAjaxPop()", 1500);

				}
		});	
	}
}


function sendToggleActive(formElement, contentId, contentType)
{
	var activeHidden = $("activeHidden" + contentId);
	var activeStatus = formElement.value;
	var processAction = true;
	
	if(activeStatus == 1)
		processAction = confirm("Are you sure you want to deactivate this " + contentType);
		
	if(processAction)
	{
		var loadingText = 'Activating';		
		if(activeStatus == 1)
			loadingText = 'Deactivating';
			
		createLoadingPop(loadingText + ' ' + contentType);
	
		var params = 'action=toggleactive&contentType=' + contentType + '&contentId=' + contentId + '&ieSucks=' + IeSucksUrlDate();
		
		new Ajax.Request('/rea/admin/ajaxaction', 
		{
			method: 'get',
			parameters: params,
			onSuccess: function(transport)
				{
					var responseXml = transport.responseXML;
					
					// get base xml element - use to get the three values we need to process
					var xmlBase = responseXml.getElementsByTagName("activation")[0];
					var result = parseInt(xmlBase.getElementsByTagName("result")[0].firstChild.nodeValue);
					var newActiveStatus = parseInt(xmlBase.getElementsByTagName("newActiveStatus")[0].firstChild.nodeValue);					
					
					var newLoadingTextNode, checkTheBox, optionText;
					
					if(result == 1)
					{				
						if(newActiveStatus == 1)
						{
							newLoadingTextNode = 'Successfully activated ' + contentType;
							optionText = 'Deactivate';
							checkTheBox = true;
						}
						else
						{
							newLoadingTextNode = 'Successfully deactivated ' + contentType;
							optionText = 'Activate';
							checkTheBox = false;
						}
							
						formElement.value = newActiveStatus;
					}
					
					if(formElement.type != null && formElement.type == 'checkbox')
						formElement.checked = checkTheBox;
					else
					{
						formElement.text = optionText;
						formElement.parentNode.selectedIndex = 0;
					}
						
					modifyLoadingPop(newLoadingTextNode);					
					setTimeout("finalizeAjaxPop()", 1500);
				}
		});			
	}
	else
	{	
		if(formElement.type != null && formElement.type == 'checkbox')
		{
			if(activeStatus == 1)
				formElement.checked = true;
			else
				formElement.checked = false;
		}
		else
		{
			formElement.parentNode.selectedIndex = 0;
		}
	}	
}


function sendToggleAccountContact(checkBox, contentId)
{
	var isContact = checkBox.value;
	var processAction = true;
	
	if(isContact == 1)
		processAction = confirm("Are you sure you want to remove this user from your company's contact list?");
		
	if(processAction)
	{
		var loadingText = 'Adding user to company contact list.';		
		if(isContact == 1)
			loadingText = 'Removing user from company contact list.';

		createLoadingPop(loadingText);
		
		var params = 'action=toggleaccountcontact' + '&contentId=' + contentId + '&ieSucks=' + IeSucksUrlDate();
		
		new Ajax.Request('/rea/admin/ajaxaction', 
		{
			method: 'get',
			parameters: params,
			onSuccess: function(transport)
				{
					var responseXml = transport.responseXML;
					
					// get base xml element - use to get the three values we need to process
					var xmlBase = responseXml.getElementsByTagName("userContact")[0];
					var result = parseInt(xmlBase.getElementsByTagName("result")[0].firstChild.nodeValue);
					var newContactStatus = parseInt(xmlBase.getElementsByTagName("contactStatus")[0].firstChild.nodeValue);					
					
					
					var newLoadingTextNode;
					
					if(result == 1)
					{				
						if(newContactStatus == 1)
						{
							newLoadingTextNode = 'Successfully added user to company contact list';
							checkBox.checked = true;
						}
						else
						{
							newLoadingTextNode = 'Successfully removed user from company contact list';
							checkBox.checked = false;
						}
							
						checkBox.value = newContactStatus;
					}
					else
						newLoadingTextNode = 'Action failed';
					
					modifyLoadingPop(newLoadingTextNode);					
					setTimeout("finalizeAjaxPop()", 1500);
				}
		});			
	}
	else
	{
		if(isContact == 1)
			checkBox.checked = true;
		else
			checkBox.checked = false;		
	}
}

function sendToggleFavorite(contentId, contentTypeId)
{
	var favoriteHidden = $("favoriteHidden");
	var isFavorite = favoriteHidden.value;
	var processAction = true;
	
	if(isFavorite == 1)
		processAction = confirm("Are you sure you want to remove this from your favorites?");
		
	if(processAction)
	{
		var loadingText = 'Adding to favorites.';
		if(isFavorite == 1)
			loadingText = 'Removing from favorites.';

		createLoadingPop(loadingText);
			
		var params = 'action=togglefavorite' + '&contentId=' + contentId + '&contentTypeId=' + contentTypeId + '&ieSucks=' + IeSucksUrlDate();
		
		new Ajax.Request('/rea/admin/ajaxaction', 
		{
			method: 'get',
			parameters: params,
			onSuccess: function(transport)
				{
					var responseXml = transport.responseXML;
					
					// get base xml element - use to get the three values we need to process
					var xmlBase = responseXml.getElementsByTagName("userFavorite")[0];
					var result = parseInt(xmlBase.getElementsByTagName("result")[0].firstChild.nodeValue);
					var newIsFavorite = parseInt(xmlBase.getElementsByTagName("isFavorite")[0].firstChild.nodeValue);					
					
					var newLoadingTextNode, newFavoriteText;
					
					if(result == 1)
					{				
						if(newIsFavorite == 1)
						{
							newLoadingTextNode = 'Successfully added to favorites';
							newFavoriteText = 'Remove From Favorites';
						}
						else
						{
							newLoadingTextNode = 'Successfully removed from favorites';
							newFavoriteText = 'Add To Favorites';
						}
							
						favoriteHidden.value = newIsFavorite;
						
						var favoriteTextContainer = $('favoriteTextContainer');
						favoriteTextContainer.removeChild(favoriteTextContainer.childNodes[0]);						
						favoriteTextContainer.appendChild(document.createTextNode(newFavoriteText));					
					}
					else
						newLoadingTextNode = 'Action failed';
					
					modifyLoadingPop(newLoadingTextNode);					
					setTimeout("finalizeAjaxPop()", 1500);
				}
		});			
	}
}

function sendHomeListUpdate(formSelect, contentType)
{
	var numToShow = parseInt(formSelect.options[formSelect.selectedIndex].value);
	var currentCountField = $(contentType + 'ListCount');
	var numCurrentlyShowing = parseInt(currentCountField.value);	
	var contentContainer = $(contentType + 'ContentList');
	
	if(numToShow > numCurrentlyShowing)
	{			
		var params = 'action=updatecontentlist' + '&currentCount=' + numCurrentlyShowing + '&numToShow=' + numToShow + '&contentType=' + contentType + '&ieSucks=' + IeSucksUrlDate();
		
		new Ajax.Request('/rea/admin/ajaxaction', 
		{
			method: 'get',
			parameters: params,
			onSuccess: function(transport)
				{
					var responseXml = transport.responseXML;
					
					// get base xml element - use to get the three values we need to process
					var xmlBase = responseXml.getElementsByTagName("contentList")[0];
					var contentItems = xmlBase.getElementsByTagName("content");

					var numContentItems = contentItems.length;
					
					
					if(numContentItems > 0)
					{
						var currentItem, contentId, contentHeadline, contentActive, contentPublish;
						
						for(var i = 0; i < numContentItems; i++)
						{
						
							currentItem = contentItems[i];
							
							contentId = parseInt(currentItem.getElementsByTagName("id")[0].firstChild.nodeValue);
							contentHeadline = currentItem.getElementsByTagName("headline")[0].firstChild.nodeValue;
							contentActive = parseInt(currentItem.getElementsByTagName("active")[0].firstChild.nodeValue);
							contentPublish = currentItem.getElementsByTagName("publish")[0].firstChild.nodeValue;
							contentSubId = parseInt(currentItem.getElementsByTagName("subId")[0].firstChild.nodeValue);
							
							var liContainer = document.createElement('li');
							var divOutter = document.createElement('div');
							var divLeft = document.createElement('div');
							var divRight = document.createElement('div');
							var divDate = document.createElement('div');
							var aHeadline = document.createElement('a');
							var selectAction = document.createElement('select');
							var divClear = document.createElement('div');				

							
							selectAction.options[0] = new Option('Take Action', '');
							selectAction.options[1] = new Option('View', '');
							
							if(contentSubId != null && contentSubId > 0)
							{
								selectAction.onchange = new Function("processHomeCommentAction(this, " + contentId + ", " + contentSubId + ")");
																							
								selectAction.options[2] = new Option('Delete', '');
							}
							else
							{
								selectAction.onchange = new Function("processHomeAction(this, " + contentId + ", '" + contentType + "')");
															
								selectAction.options[2] = new Option('Edit', '');
								
								var contentActiveText = 'Activate';
								if(contentActive > 0)
									contentActiveText = 'Deactivate';
									
								selectAction.options[3] = new Option(contentActiveText, contentActive);
							}
							
							
							divRight.className = 'accountHomeListRight';
							divRight.appendChild(selectAction);							
											
							
							divDate.className = 'accountHomeListDate';
							divDate.appendChild(document.createTextNode(contentPublish));
							
							var contentHref;
							
							if(contentType == 'story')
								contentHref = '/rea/news/story';
							else
							if(contentType == 'event')
								contentHref = '/rea/events/view';
							else
							if(contentType == 'job')
								contentHref = '/rea/jobs/view';
							else
							if(contentType == 'product')
								contentHref = '/rea/catalog/product';
							else
							if(contentType == 'comment')
								contentHref = '/rea/news/story';

								
							contentHref += '?id=' + contentId;
							
							aHeadline.href = contentHref;
							aHeadline.target = '_blank';
							aHeadline.appendChild(document.createTextNode(contentHeadline));
							
							divLeft.className = 'accountHomeListLeft';
							divLeft.appendChild(divDate);
							divLeft.appendChild(aHeadline);
							
							divClear.style.clear = 'both';
							
							divOutter.appendChild(divRight);
							divOutter.appendChild(divLeft);
							divOutter.appendChild(divClear);
							
							liContainer.appendChild(divOutter);
							
							contentContainer.appendChild(liContainer);
							
							currentCountField.value = numCurrentlyShowing + numContentItems;							
							
						}
						
						createCookie('num' + contentType + 'list', numCurrentlyShowing + numContentItems, 365);
					}
					else
					{						
						createLoadingPop("Unable to locate any additional content");
						setTimeout("finalizeAjaxPop()", 2000);
						
						formSelect.selectedIndex = numCurrentlyShowing - 1;
						currentCountField.value = numCurrentlyShowing;
					}					
				}
		});
	}
	else
	{
		// removing elements from the list - don't need ajax
		var numToRemove = (numCurrentlyShowing - numToShow);
		var liList = contentContainer.getElementsByTagName('li');
		var removeIndex = (liList.length - 1);		
		
		for(var i = 0; i < numToRemove; i++)
		{
			contentContainer.removeChild(liList[removeIndex]);
			removeIndex--;
		}
		
		currentCountField.value = numToShow;
		
		createCookie('num' + contentType + 'list', numToShow, 365);
	}
	
}


var processPop
function createLoadingPop(loadingText)
{
		createOpaqueLayer();
		
		processPop = document.createElement('div');
		processPop.className = 'processPop';
		processPop.id = 'processPop';
		processPop.style.marginTop = (getHeightOffset() + 250) + 'px';
			
		var loadingTextNode = document.createTextNode(loadingText);
	
		var loadingImage = new Image(16, 16);
		loadingImage.src = '/images/admin/mozilla_blu.gif';
		
		processPop.appendChild(loadingImage);	
		processPop.appendChild(loadingTextNode);

		$('pageContainer').appendChild(processPop);
}

function modifyLoadingPop(newText)
{
	if(newText == null || newText == '')
		newText = 'Unable to complete your request';
		
	processPop.innerHTML = '';
	processPop.appendChild(document.createTextNode(newText));
}

function finalizeAjaxPop()
{
	$('pageContainer').removeChild($('processPop'));
	removeOpaqueLayer();
}

function IeSucksUrlDate()
{
	return new Date();
}
