// JavaScript Document
// JavaScript Document
//--- Extract front part of string prior to searchString
function subit(){
document.asdf.submit()
}
function getFront(mainStr, searchStr)
{
	var foundOffset = mainStr.indexOf(searchStr);
	
	if(foundOffset == -1)
	{
		return null;
	}
	
	return mainStr.substring(0, foundOffset);
}

//--- Extract back end of string after searchString
function getEnd(mainStr, searchStr)
{
	var foundOffset = mainStr.indexOf(searchStr);
	
	if(foundOffset == -1)
	{
		return null;
	}
	
	return mainStr.substring(foundOffset + searchStr.length, mainStr.length);
}

function deleteString(mainStr, deleteStr)
{
	return replaceString(mainStr, deleteStr, "")
}

function replaceString(mainStr, searchStr, replaceStr)
{
	var front = getFront(mainStr, searchStr);
	var end = getEnd(mainStr, searchStr);
	
	if((front != null) && (end != null))
	{
		return front + replaceStr + end;
	}
	
	return null;
}





function hideCategoryPanel()
{
	document.getElementById("categoryPanel").style.visibility = 'hidden';
	//--- Reset add & delete category images.
	document.getElementById("addCategory").src = document.getElementById("addCategory").src.substring(0, document.getElementById("addCategory").src.lastIndexOf("/") + 1) + "addCategory.gif";
	document.getElementById("deleteCategory").src = document.getElementById("deleteCategory").src.substring(0, document.getElementById("deleteCategory").src.lastIndexOf("/") + 1) + "deleteCategory.gif";
}

function displayCategoryPanel(type)
{
	var id=document.getElementById('id').value;
		var sortcat=document.getElementById('sort').value;
	if(type == "add")
	{
		//--- Clear anything that might previously be in the text box and display the categoryPanel.
		document.getElementById('categoryPanel').innerHTML = "Add the following Category<br><form name=\"asdf\" method=\"post\" action=\"manage-press-releases.php?id=" + id + "&sortcategories=" + sortcat + "&action=1\"><input type=\"text\" id=\"txtCategory\" name=\"txtCategory\" value=\"\"><br> <a href=\"#\" onClick=\"subit();\"><img src=\"../skins/captiva/images/okCategory.gif\" width=\"45\" height=\"20\" border=\"0\" onmouseover=\"this.src='../skins/captiva/images/okCategoryOn.gif';\" onmouseout=\"this.src='../skins/captiva/images/okCategory.gif'\"; /></a><a href=\"#\" onclick=\"hideCategoryPanel();\"><img src=\"../skins/captiva/images/cancelCategory.gif\" width=\"45\" height=\"20\" border=\"0\" onmouseover=\"this.src='../skins/captiva/images/cancelCategoryOn.gif';\" onmouseout=\"this.src='../skins/captiva/images/cancelCategory.gif';\" /></a></form>";
		document.getElementById('categoryPanel').style.visibility = 'visible';
	}
	
	if(type == "delete")
	{
		//--- Set the text box to the currently selected item and display the categoryPanel.
		document.getElementById('categoryPanel').innerHTML = "Delete the following Category<br><form name=\"asdf\" method=\"post\" action=\"manage-press-releases.php?id=" + id + "&sortcategories=1&action=2\"><input type=\"text\" id=\"txtCategorys\" name=\"txtCategorys\" value=\"" + document.getElementById('selCategories').options[document.getElementById('selCategories').selectedIndex].text + "\" disabled=\"disabled\"><input type=\"hidden\" name=\"txtCategory\" value=\"" + document.getElementById('selCategories').options[document.getElementById('selCategories').selectedIndex].text + "\"<br><a href=\"#\" onClick=\"subit();\"><img src=\"../skins/captiva/images/okCategory.gif\" width=\"45\" height=\"20\" border=\"0\" onmouseover=\"this.src='../skins/captiva/images/okCategoryOn.gif';\" onmouseout=\"this.src='../skins/captiva/images/okCategory.gif'\"; /></a><a href=\"#\" onclick=\"hideCategoryPanel();\"><img src=\"../skins/captiva/images/cancelCategory.gif\" width=\"45\" height=\"20\" border=\"0\" onmouseover=\"this.src='../skins/captiva/images/cancelCategoryOn.gif';\" onmouseout=\"this.src='../skins/captiva/images/cancelCategory.gif';\" /></a></form>";
		document.getElementById('categoryPanel').style.visibility = 'visible';
	}
}

function addItem()
{
	var newLocation;
	var itemExists;
	var listLength;
	var itemToAdd;
	
	itemExists = "";
	listLength = document.getElementById('selCategories').options.length;
	itemToAdd = document.getElementById('txtCategory').value;

	//--- Add category to category List.

	//--- Get the last item index, and then add 1 to that and we will have our location for the new category.
	newLocation = document.getElementById('selCategories').options.length;
	
	//--- Check to make sure the category they are trying to add is not already in the list.
	for(i = 0; i < listLength; i++)
	{
		if(document.getElementById('selCategories').options[i].text == itemToAdd)
		{
			itemExists = itemExists + "1";
		}
		else
		{
			itemExists = itemExists + "0";
		}
	}
	
	//--- If 1 is NOT found in the list, then we can add the category.
	if(itemExists.indexOf("1")  == -1)
	{
		//--- The item is not in the list, so we can add it.
		//--- Check to make sure the text field isn't blank.
		if((itemToAdd == "") ||  itemToAdd.indexOf(" ") == 0)
		{
			//--- validateEmptyString = true because the string is empty or starts with 0s.
			alert("Please enter a category.");
		}
		else
		{
			document.getElementById('selCategories').options[newLocation] = new Option(itemToAdd, itemToAdd);
			hideCategoryPanel();
			document.getElementById('txtCategory').value = "";
			//--- select newly added item.
			document.getElementById('selCategories').selectedIndex = newLocation;
			
			//--- Now add the item to the hidden field used to store the list for the database.
			document.getElementById('hCategories').value = document.getElementById('hCategories').value + itemToAdd + ",";
		}	
		
	}
	else
	{
		//--- This item already exists.
		alert("This category has already been added.");
	}
	
}



//--- deleteItem Function -----------------------------------------------------------------------------
//    Description: Deletes a category form a select list.
//---------------------------------------------------------------------------------------------------------
function deleteItem()
{
	var i;
	var itemSelected;
	var listLength;
	var selectedItem;
	
	itemSelected = "";
	listLength = document.getElementById('selCategories').options.length;

	//--- Make sure they really want to delete this.
	if(confirm("*** Important ***\n\nThe current category will be permanently deleted.\nOnce Save Changes is clicked, the current category will be deleted and all items linked to this category will be given a category of 'None'.\n\nContinue?") == true)
	{
		//--- Check to make sure there is anything in the list.
		if(listLength >= 1)
		{
			//--- Get the currently selected item.
			selectedItem = document.getElementById('selCategories').options[document.getElementById('selCategories').selectedIndex].value;
			
			//--- Cycle through the list and check to make sure something is selected.
			for(i = 0; i < listLength; i++)
			{
				//alert(document.forms[0].selCategories.options[i].selected);
				if(document.getElementById('selCategories').options[i].selected == true)
				{
					itemSelected = itemSelected + "1";
				}
				else
				{
					itemSelected = itemSelected + "0";
				}
			}
			
			//--- If 1 is NOT found in the string, then nothing is selected.
			if(itemSelected.indexOf("1") != -1)
			{
				//--- Something was selected.
				//--- Check to make sure that the selection is not a blank.
				if(selectedItem != null)
				{
					//--- Check to see if item is primary item that must remain.
					if(itemSelected.indexOf("1") != 0)
					{					
						//--- Now delete the item to the hidden field used to store the list for the database.
						document.getElementById('hCategories').value = deleteString(document.getElementById('hCategories').value, document.getElementById('selCategories').options[document.getElementById('selCategories').selectedIndex].text + ",");
				
						//--- Delete the selected category from the list.
						document.getElementById('selCategories').options[document.getElementById('selCategories').selectedIndex] = null;
						hideCategoryPanel();
						document.getElementById('txtCategory').value = "";
					}
					else
					{
						alert("This item cannot be removed.");	
					}
				}
			}
			else
			{
				//--- The list has focus, but nothing was selected.
				alert("Please choose a category to delete.");
			}
		}
		else
		{
			alert("There are currently no items to delete");
		}
	}

}

//--- toggleImage Function -------------------------------------------------------------------------------------------------------------
//--- Description: toggles the Add and Delete category Images.
//--------------------------------------------------------------------------------------------------------------------------------------
function toggleImage(button)
{
	var currentButton = button.src.substring(button.src.lastIndexOf("/") + 1, button.src.length);
	var currentPath = button.src.substring(0, button.src.lastIndexOf("/"));
	
	switch (currentButton)
	{
		case "addCategoryOn.gif":
			button.src = currentPath + "/addCategoryActive.gif";
			document.getElementById("deleteCategory").src = currentPath + "/deleteCategory.gif";
			break;
			
		case "addCategoryActive.gif":
			button.src = currentPath + "/addCategory.gif";
			document.getElementById("deleteCategory").src = currentPath + "/deleteCategory.gif";
			break;
	
		case "deleteCategoryOn.gif":
			button.src = currentPath + "/deleteCategoryActive.gif";
			document.getElementById("addCategory").src = currentPath + "/addCategory.gif";
			break;
		
		case "deleteCategoryActive.gif":
			button.src = currentPath + "/deleteCategory.gif";
			document.getElementById("addCategory").src = currentPath + "/addCategory.gif";
			break;
			
		default:
			alert("Error in Category");
			break;
	}

}


function mouseOverTab(button)
{
	var currentButton = button.src.substring(button.src.lastIndexOf("/") + 1, button.src.length);
	var currentPath = button.src.substring(0, button.src.lastIndexOf("/"));
	
	if(currentButton == "addCategory.gif")
	{
		document.getElementById("addCategory").src = currentPath + "/addCategoryOn.gif";
	}
	
	if(currentButton == "deleteCategory.gif")
	{
		document.getElementById("deleteCategory").src = currentPath + "/deleteCategoryOn.gif";	
	}
}


function mouseOutTab(button)
{
	var currentButton = button.src.substring(button.src.lastIndexOf("/") + 1, button.src.length);
	var currentPath = button.src.substring(0, button.src.lastIndexOf("/"));
	
	if(currentButton == "addCategoryOn.gif")
	{
		document.getElementById("addCategory").src = currentPath + "/addCategory.gif";
	}
	
	if(currentButton == "deleteCategoryOn.gif")
	{
		document.getElementById("deleteCategory").src = currentPath + "/deleteCategory.gif";	
	}
}