﻿/// <reference name="MicrosoftAjax.js" />
/// <reference name="Util.js" />
/// <reference path="../../GlobalJSFunctionsDetail.js" />
/// <reference path="../LiveEdit.js" />

try {
	Sys.Application.add_load(loadOrAjaxUpdate);
}
catch (ex) { }

function changePage(num, id) {
	var frm = document.aspnetForm;
	frm.lngNewPage.value = num;
	frm.action = "/gallery.aspx?AID=" + id;
	frm.submit();
}

function viewSlideShow(albumID, title) {
	document.aspnetForm.action = "/gallery.aspx?AID=" + albumID + '&showSlideShow=1' + '&AN=' + title;
	document.aspnetForm.submit();
}

function searchTextHookFE(ev) {
	ev = (window.event ? window.event : ev);
	if (ev.keyCode == 10 || ev.keyCode == 13)
		photoGallerySearchFE();
}

function photoGallerySearchFE() {
	var frm = document.aspnetForm;
	frm.action = "/gallery.aspx?searchText=" + encodeURIComponent(frm.moduleSearch.value) + "&AID=" + frm.categoryFilter.value;
	frm.submit();
}

function changeSearchPage(num, searchText, id) {
	var frm = document.aspnetForm;
	frm.lngNewPage.value = num;
	frm.action = "/gallery.aspx?searchText= " + searchText + "&AID=" + id;
	frm.submit();
}

function changeAlbumPage(num) {
	var frm = document.aspnetForm;
	frm.lngNewPage.value = num;
	frm.action = "/gallery.aspx";
	frm.submit();
}

function arrayContains(a, obj){
	for(var i = 0; i < a.length; i++) {
		if(a[i] == obj){
		  return true;
		}
	}
	return false;
}

function vote(photoID) {
	var ids = getCookieValue('PGVote');
	if (ids != null) {
		var photoIDs = ids.split(',');
		if (arrayContains(photoIDs, photoID)) {
			alert("You’ve already voted.");
			return false;
		}
		else
			document.cookie = "PGVote=" + ids + "," + photoID + "; expires=12/31/2999 23:59:59";
		document.getElementById("thumbs" + photoID).src = '/Common/images/PhotoGallery2/ThumbsUpChecked.png';
	}
	else {
		document.cookie = "PGVote=" + photoID + "; expires=12/31/2999 23:59:59";
	}
	var frm = document.aspnetForm;
	frm.PGActionFE.value = 'vote';
	frm.lngPhotoID.value = photoID;
	redrawContent();
}

function PGPhotoModifyDelete(albumID, action, updatePanelID, photoID) {
	var ysnArchShowForce = -1, doSubmit = true;
	var frmPG = document.aspnetForm;

	switch (action) {
		case "Link":
			{
				doSubmit = false;
				showCopyLinkWindowUsingRelatedLink('/gallery.aspx?PID=' + photoID);
				break;
			}
		case "Publish":
		case "Unpublish":
		case "Reject":
		case "Submit":
			frmPG.strActionFE.value = "PGItem" + action;
			break;
		case "Delete":
			{
				if (confirm("Are you sure you want to delete this item?")) {
					frmPG.strActionFE.value = "PGItemDelete";
				}
				else
					doSubmit = false;
				break;
			}
		case 'archivePublic':
			ysnArchShowForce = 1;
		case 'archiveHidden':
			if (ysnArchShowForce < 0) ysnArchShowForce = 0;
			if (!(confirm('Are you sure you want to archive this item?'))) {
				ysnArchShowForce = -1;
				return;
			}
			frmPG.strActionFE.value = 'PGItemArchive';
			frmPG.ysnArchShowForceFE.value = ysnArchShowForce;
			break;
		default:
			{
				doSubmit = false;
				break;
			}
	}
	if (doSubmit) {
		frmPG.ysnSaveFE.value = 1;
		frmPG.lngPGPhotoID.value = photoID;
		raiseAsyncPostbackPG(updatePanelID, 0);
	}
}

function PGChangeOrder(albumID, direction, updatePanelID, photoID) {
	var frmPGL = document.aspnetForm;
	frmPGL.strActionFE.value = "PGItemChangeOrder";
	frmPGL.ysnSaveFE.value = 1;
	frmPGL.lngPGPhotoID.value = photoID;
	frmPGL.PGDirection.value = direction;
	raiseAsyncPostbackPG(updatePanelID, 0);
}

function openEditWindowPG(albumID, photoID, isCopy, order, updatePanelID, isSubmit) {
	behavior = $find('editItemBehavior');
	if (behavior) {
		var ifr = document.getElementById('liveEditDialog');
		ifr.style.height = '530px';

		var url = '/common/modules/PhotoGallery2/PhotoGallery2LiveEdit.aspx?albumID=' + albumID + '&photoID=' + photoID + '&order=' + order + '&updatePanelID=' + updatePanelID;

		if (isSubmit)
			url = url + '&submit=1';
		if (isCopy)
			ifr.src = url + '&strPage=itemCopy';
		else
			ifr.src = url + '&strPage=itemForm';

		ifr.style.display = 'block';
		behavior.show();
	}
}

// Live edit related:
if (!window.PGKAMMenu) {
	PGKAMMenu = function() { };
	window.PGKAMMenu = PGKAMMenu;
}

function raiseAsyncPostbackPG(updatePanelID, closePopUp, type) {
	if (closePopUp)
		closeModalDialog('editItemBehavior');

	blockMenuSpawn = true;
	PGItemHideMenu();
	PGCategoryHideMenu();
	if(type)
		__doPostBack(updatePanelID, "");
	else
		__doPostBack(updatePanelID, "photo");
}

function PGItemMouseOver(sender, event, itemID) {	
	if (blockMenuSpawn)
		return;
	var controlID;
	PGKAMMenu.photoID = itemID;
	
	controlID = 'LiveEditControl' + itemID;

	var liveEditControl = $get(controlID);

	// Make sure previous KAMs are hidden if they need to be.
	if (!showLiveEditControls) {
		if (previousKAMControl)
			previousKAMControl.style.display = 'none';
		previousKAMControl = liveEditControl;
	}

	// Change z-index, for proper display.
	var parentContainer = resolveLiveEditContainer(liveEditControl);
	parentContainer.style.zIndex = 2;

	// Move action category menu to container for category.
	liveEditControl.appendChild(PGKAMMenu.elemItemMenu);

	// Show tool-tip (if they are not disabled).
	PGShowTooltip(controlID);

	// Show KAM.
	liveEditControl.style.display = 'block';
}

function PGShowTooltip(controlID) {
	var liveEditControl = $get(controlID);
	liveEditControl.appendChild(PGKAMMenu.elemTooltip);

	if (PGKAMMenu.elemTooltip) {
		if (showToolTip)
			PGKAMMenu.elemTooltip.style.display = 'block';
		else
			PGKAMMenu.elemTooltip.style.display = 'none';
	}
}

function PGItemMouseOut(sender, event) {
	// Ignore when mouse leaves child controls within the live edit control.
	event = (window.event ? window.event : event);
	var toElement = (event.toElement ? event.toElement : event.relatedTarget);

	if (!elemInsideOrEq(sender, toElement)) {
		PGItemHideMenu();
	}
}

function PGCategoryMouseOver(sender, event, categoryID, fromAlbumScreen) {	
	if (blockMenuSpawn)
		return;

	PGKAMMenu.albumID = categoryID;
	var controlID;
	if (!fromAlbumScreen)
		controlID = 'LiveEditControl_' + categoryID;
	else
		controlID = 'LiveEditControlAlbum_' + categoryID;
	var liveEditControl = $get(controlID);

	// Make sure previous KAMs are hidden if they need to be.
	if (!showLiveEditControls) {
		if (previousKAMControl)
			previousKAMControl.style.display = 'none';
		previousKAMControl = liveEditControl;
	}

	// Move action category menu to container for category.
	liveEditControl.appendChild(PGKAMMenu.elemCatMenu);

	// Change z-index, for proper display.
	var parentContainer = resolveLiveEditContainer(liveEditControl);
	parentContainer.style.zIndex = 2;

	// Show tool-tip (if they are not disabled).
	PGShowTooltip(controlID);

	// Show KAM.
	liveEditControl.style.display = 'block';
}

// Summons action menu for a category.
function PGActionsCategory(albumID, catElemID, updatePanelID, status, rights, fromAlbumScreen) {
	PGKAMMenu.updatePanelID = updatePanelID;
	PGKAMMenu.photoID = 0;
	PGKAMMenu.albumID = albumID;
	PGKAMMenu.counter = 0;
	PGKAMMenu.status = status;
	PGKAMMenu.rights = rights;
	if (!fromAlbumScreen)
		liveEditCommonCategory(
			$get(catElemID),
			PGKAMMenu.elemTooltip,
			PGKAMMenu.elemCatMenu,
			$get('LiveEditControl_' + albumID), 'PGCategoryLiveEditMoreActions');
	else
		liveEditCommonCategory(
			$get(catElemID),
			PGKAMMenu.elemTooltip,
			PGKAMMenu.elemCatMenu,
			$get('LiveEditControlAlbum_' + albumID), 'PGCategoryLiveEditMoreActions');
}

function PGCategoryMouseOut(sender, event) {
	// Ignore when mouse leaves child controls within the live edit control.
	event = (window.event ? window.event : event);
	var toElement = (event.toElement ? event.toElement : event.relatedTarget);

	if (!elemInsideOrEq(sender, toElement))
		PGCategoryHideMenu();
}

function PGCategoryHideMenu() {
	var categoryID = PGKAMMenu.albumID;
	var controlID = 'LiveEditControl_' + categoryID;
	var controlIDAlbum = 'LiveEditControlAlbum_' + categoryID;
	
	var liveEditControl = $get(controlID);
	var liveEditControlAlbum = $get(controlIDAlbum);

	if (!liveEditControl && !liveEditControlAlbum)
		return;

	// Change z-index, for proper display.
	var parentContainer;
	if (liveEditControl)
		parentContainer = resolveLiveEditContainer(liveEditControl);
	else
		parentContainer = resolveLiveEditContainer(liveEditControlAlbum);
	parentContainer.style.zIndex = 0;
	
	// Hide action menu for category.
	PGKAMMenu.elemCatMenu.style.display = 'none';

	if (PGKAMMenu.elemCatMenu.parentNode) {
		PGKAMMenu.elemCatMenu.parentNode.removeChild(PGKAMMenu.elemCatMenu);
		PGKAMMenu.elemLiveEditBullpen.appendChild(PGKAMMenu.elemCatMenu);
	}

	// Hide any possibly visible tool-tip.
	PGHideTooltip();
	
	// Hide KAM unless KAMs are set to always show.
	if (!showLiveEditControls) {
		if (liveEditControlAlbum)
			liveEditControlAlbum.style.display = 'none';
		if (liveEditControl)
			liveEditControl.style.display = 'none';
	}
}

function PGItemHideMenu() {
	var itemID = PGKAMMenu.photoID;
	var controlID = 'LiveEditControl' + itemID;
	var liveEditControl = $get(controlID);

	if (!liveEditControl)
		return;

	// Change z-index, for proper display.
	var parentContainer = resolveLiveEditContainer(liveEditControl);
	parentContainer.style.zIndex = 0;

	// Hide action menu for item.
	PGKAMMenu.elemItemMenu.style.display = 'none';

	if (PGKAMMenu.elemItemMenu.parentNode) {
		PGKAMMenu.elemItemMenu.parentNode.removeChild(PGKAMMenu.elemItemMenu);
		PGKAMMenu.elemLiveEditBullpen.appendChild(PGKAMMenu.elemItemMenu);
	}

	// Hide any possibly visible tool-tip.
	PGHideTooltip();

	// Hide KAM unless KAMs are set to always show.
	if (!showLiveEditControls) {
		liveEditControl.style.display = 'none';
	}
}

// Hides tool-tip text for a category.
function PGHideTooltip() {
	if (PGKAMMenu.elemTooltip.parentNode)
		PGKAMMenu.elemTooltip.parentNode.removeChild(PGKAMMenu.elemTooltip);
	PGKAMMenu.elemTooltip.style.display = 'none';
}

function PGActionsInit() {
	// Set up state variables (they change per item).
	PGKAMMenu.updatePanelID = '';
	PGKAMMenu.photoID = 0;
	PGKAMMenu.albumID = 0;
	PGKAMMenu.counter = 0;
	PGKAMMenu.order = 0;
	PGKAMMenu.status = 0;
	PGKAMMenu.rights = 0;

	// Get invisible bullpen (where hidden stuff is stored).
	PGKAMMenu.elemLiveEditBullpen = $get('PGLiveEditBullpen');

	// Set up KAM tooltip.
	PGKAMMenu.elemTooltip = $get('PGLiveEditToolTip');
	if (!showToolTip)
		PGKAMMenu.elemTooltip.style.display = 'none';

	// Set up category action menu.
	PGKAMMenu.elemCatMenu = $get('PGCategoryLiveEditMoreActions');

	PGKAMMenu.elemCatActionNew = $get('PGCategoryNewItem');
	hookAnchorClick(PGKAMMenu.elemCatActionNew,
		function(sender, eventArgs) {
			PGCategoryHideMenu();
			var updatePanel = (PGKAMMenu.updatePanelID + '').trim();

			if (updatePanel == 'search' || updatePanel == '')
				openEditWindowPG(0, 0, 1, 0, 'search');
			else
				openEditWindowPG(PGKAMMenu.albumID, 0, 0, 0, PGKAMMenu.updatePanelID);
		});

	// Set up item action menu.
	PGKAMMenu.elemItemMenu = $get('PGItemLiveEditMoreActions');
	PGKAMMenu.elemItemMoveHeading = $get('PGItemMoveHeading');
	PGKAMMenu.elemItemActionMoveUpIcon = $get('PGItemMoveUpIcon');
	PGKAMMenu.elemItemActionMoveDownIcon = $get('PGItemMoveDownIcon');
	PGKAMMenu.elemItemActionModify = $get('PGItemModify');	
	PGKAMMenu.elemItemActionCommands = $get('PGItemCommands');
	hookAnchorClick(PGKAMMenu.elemItemActionModify,
		function(sender, eventArgs) {
			if (!PGKAMMenu.elemItemActionModify.inactive) {
				PGItemHideMenu();
				openEditWindowPG(PGKAMMenu.albumID, PGKAMMenu.photoID, 0, -1, PGKAMMenu.updatePanelID);
			}
		});

	PGKAMMenu.elemItemActionMoveUp = $get('PGItemMoveUp');
	hookAnchorClick(PGKAMMenu.elemItemActionMoveUp,
		function(sender, eventArgs) {
			if (!PGKAMMenu.elemItemActionMoveUp.inactive) {
				PGItemHideMenu();
				PGChangeOrder(PGKAMMenu.albumID, 'up', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
			}
		});

	PGKAMMenu.elemItemActionMoveDown = $get('PGItemMoveDown');
	hookAnchorClick(PGKAMMenu.elemItemActionMoveDown,
		function(sender, eventArgs) {
			if (!PGKAMMenu.elemItemActionMoveDown.inactive) {
				PGItemHideMenu();
				PGChangeOrder(PGKAMMenu.albumID, 'down', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
			}
		});

	PGKAMMenu.elemItemActionCopyLink = $get('PGItemCopyLink');
	hookAnchorClick(PGKAMMenu.elemItemActionCopyLink,
		function(sender, eventArgs) {
			PGPhotoModifyDelete(PGKAMMenu.albumID, 'Link', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
		});

	PGKAMMenu.elemItemActionUnpublish = $get('PGItemUnpublish');
	hookAnchorClick(PGKAMMenu.elemItemActionUnpublish,
		function(sender, eventArgs) {
			PGItemHideMenu();
			PGPhotoModifyDelete(PGKAMMenu.albumID, 'Unpublish', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
		});

	PGKAMMenu.elemItemActionPublish = $get('PGItemPublish');
	hookAnchorClick(PGKAMMenu.elemItemActionPublish,
		function(sender, eventArgs) {
			PGItemHideMenu();
			PGPhotoModifyDelete(PGKAMMenu.albumID, 'Publish', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
		});

	PGKAMMenu.elemItemActionSubmit = $get('PGItemSubmit');
	hookAnchorClick(PGKAMMenu.elemItemActionSubmit,
		function(sender, eventArgs) {
			PGItemHideMenu();
			PGPhotoModifyDelete(PGKAMMenu.albumID, 'Submit', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
		});

	PGKAMMenu.elemItemActionCopy = $get('PGItemCopy');
	hookAnchorClick(PGKAMMenu.elemItemActionCopy,
		function(sender, eventArgs) {
			PGItemHideMenu();

			if (PGKAMMenu.counter > 0)
				openEditWindowPG(PGKAMMenu.albumID, PGKAMMenu.photoID, 1, -1, PGKAMMenu.updatePanelID);
			else
				openEditWindowPG(PGKAMMenu.albumID, PGKAMMenu.photoID, 1, -1, 'search');
		});

//	PGKAMMenu.elemItemActionArchive = $get('PGItemArchive');
//	hookAnchorClick(PGKAMMenu.elemItemActionArchive,
//		function(sender, eventArgs) {
//			PGItemHideMenu();
//			PGPhotoModifyDelete(PGKAMMenu.albumID, 'archiveHidden', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
//		});

	PGKAMMenu.elemItemActionDelete = $get('PGItemDelete');
	hookAnchorClick(PGKAMMenu.elemItemActionDelete,
		function(sender, eventArgs) {
			PGItemHideMenu();
			PGPhotoModifyDelete(PGKAMMenu.albumID, 'Delete', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
		});

	PGKAMMenu.elemItemActionNewAnchor = $get('PGItemNewItemAnchor');
	PGKAMMenu.elemItemActionNew = $get('PGItemNewItem');
	hookAnchorClick(PGKAMMenu.elemItemActionNew,
		function(sender, eventArgs) {
			if (!PGKAMMenu.elemItemActionNew.inactive) {
				PGItemHideMenu();
				openEditWindowPG(PGKAMMenu.albumID, 0, 0, PGKAMMenu.order, PGKAMMenu.updatePanelID);
			}
		});

	PGKAMMenu.elemItemActionReject = $get('PGItemReject');
	hookAnchorClick(PGKAMMenu.elemItemActionReject,
		function(sender, eventArgs) {
			PGItemHideMenu();
			PGPhotoModifyDelete(PGKAMMenu.albumID, 'Reject', PGKAMMenu.updatePanelID, PGKAMMenu.photoID);
		});
}

// Summons action menu for an item.
function PGActionItems(photoID, updatePanelID, albumID, order, counter, status, rights, lastItem) {		
	PGKAMMenu.updatePanelID = updatePanelID;
	PGKAMMenu.albumID = albumID;
	PGKAMMenu.photoID = photoID;
	PGKAMMenu.counter = counter;
	PGKAMMenu.order = order;
	PGKAMMenu.status = status;
	PGKAMMenu.rights = rights;
	PGKAMMenu.lastItem = lastItem;

	// Determine if modify is available.
	if (rights >= PUBLISHER || rights == AUTHOR && status < MIN_PUBLISHED) {
		PGKAMMenu.elemItemActionModify.className = 'big modify';
		PGKAMMenu.elemItemActionModify.title = '';
		PGKAMMenu.elemItemActionModify.inactive = false;
	}
	else {
		PGKAMMenu.elemItemActionModify.className = 'big modify inactive';
		PGKAMMenu.elemItemActionModify.title = 'You do not have rights to modify this item.'
		PGKAMMenu.elemItemActionModify.inactive = true;
	}

	// Determine if move is available and how it should display.
	var MOVE_ACTIVE_UP = '/App_Themes/CP/Images/IconMoveUp.png';
	var MOVE_ACTIVE_DOWN = '/App_Themes/CP/Images/IconMoveDown.png';
	var MOVE_INACTIVE_UP = '/App_Themes/CP/Images/IconMoveUpInactive.png';
	var MOVE_INACTIVE_DOWN = '/App_Themes/CP/Images/IconMoveDownInactive.png';

	var moveDisplay = (rights > AUTHOR ? 'inline' : 'none')
	PGKAMMenu.elemItemMoveHeading.style.display = moveDisplay;
	PGKAMMenu.elemItemActionMoveUp.style.display = moveDisplay;
	PGKAMMenu.elemItemActionMoveDown.style.display = moveDisplay;

	var moveText;
	if (rights > AUTHOR) {
		if (counter < 0) {
			PGKAMMenu.elemItemActionMoveUp.className = 'moveUp inactive';
			PGKAMMenu.elemItemActionMoveUp.inactive = true;
			PGKAMMenu.elemItemActionMoveDown.className = 'moveDown inactive';
			PGKAMMenu.elemItemActionMoveDown.inactive = true;

			switch (counter) {
				case -2:
					moveText = 'Can only move items from module page.'
					break;
				default: // Search Screen
					moveText = 'Can\'t move items on the search page.';
					break;
			}

			PGKAMMenu.elemItemActionMoveUpIcon.src = MOVE_INACTIVE_UP;
			PGKAMMenu.elemItemActionMoveDownIcon.src = MOVE_INACTIVE_DOWN;
			PGKAMMenu.elemItemActionMoveUpIcon.title = moveText;
			PGKAMMenu.elemItemActionMoveUpIcon.alt = moveText;
			PGKAMMenu.elemItemActionMoveDownIcon.title = moveText;
			PGKAMMenu.elemItemActionMoveDownIcon.alt = moveText;
		}
		else {
			if (counter == 1) {
				moveText = 'This item is first in the list and can\'t be moved any higher.';
				PGKAMMenu.elemItemActionMoveUpIcon.src = MOVE_INACTIVE_UP;
				PGKAMMenu.elemItemActionMoveUp.className = 'moveUp inactive';
				PGKAMMenu.elemItemActionMoveUp.alt = 'This item is first in the list and can\'t be moved any higher.';
				PGKAMMenu.elemItemActionMoveUp.inactive = true;
			}
			else {
				moveText = 'Move Up';
				PGKAMMenu.elemItemActionMoveUpIcon.src = MOVE_ACTIVE_UP;
				PGKAMMenu.elemItemActionMoveUp.className = 'moveUp';
				PGKAMMenu.elemItemActionMoveUp.inactive = false;
			}

			PGKAMMenu.elemItemActionMoveUpIcon.title = moveText;
			PGKAMMenu.elemItemActionMoveUpIcon.alt = moveText;

			if (lastItem) {
				moveText = 'This item is last in the list and can\'t be moved any lower.';
				PGKAMMenu.elemItemActionMoveDownIcon.src = MOVE_INACTIVE_DOWN;
				PGKAMMenu.elemItemActionMoveDown.className = 'moveDown inactive';
				PGKAMMenu.elemItemActionMoveDown.inactive = true;
			}
			else {
				moveText = 'Move Down';
				PGKAMMenu.elemItemActionMoveDownIcon.src = MOVE_ACTIVE_DOWN;
				PGKAMMenu.elemItemActionMoveDown.className = 'moveDown';
				PGKAMMenu.elemItemActionMoveDown.inactive = false;
			}

			PGKAMMenu.elemItemActionMoveDownIcon.title = moveText;
			PGKAMMenu.elemItemActionMoveDownIcon.alt = moveText;
		}
	}

	// Determine visiblity of submit/reject/publish/unpublish.
	PGKAMMenu.elemItemActionSubmit.style.display = 'none';
	PGKAMMenu.elemItemActionReject.style.display = 'none';
	PGKAMMenu.elemItemActionPublish.style.display = 'none';
	PGKAMMenu.elemItemActionUnpublish.style.display = 'none';

	if (rights > AUTHOR) {
		if (status > MAX_DRAFT)
			PGKAMMenu.elemItemActionUnpublish.style.display = '';
		else
			PGKAMMenu.elemItemActionPublish.style.display = '';

		if (status == SUBMITTED)
			PGKAMMenu.elemItemActionReject.style.display = '';
	}
	else if (status != SUBMITTED && status <= MAX_DRAFT)
		PGKAMMenu.elemItemActionSubmit.style.display = '';

	// Determine visiblity of delete/archive.
	//PGKAMMenu.elemItemActionArchive.style.display = 'none';
	PGKAMMenu.elemItemActionDelete.style.display = 'none';

	if (rights > AUTHOR) {
		// Only publisher or higher can delete.
		//if (status > MAX_DRAFT)
			//PGKAMMenu.elemItemActionArchive.style.display = '';
		//else
			PGKAMMenu.elemItemActionDelete.style.display = '';
	}
	else if (status <= MAX_DRAFT)
		PGKAMMenu.elemItemActionDelete.style.display = '';

	// Determine visiblity/behavior of new.
	if (counter > 0) {
		if (rights >= AUTHOR) {
			PGKAMMenu.elemItemActionNew.style.display = '';
			PGKAMMenu.elemItemActionNewAnchor.title = '';
			PGKAMMenu.elemItemActionNewAnchor.className = 'addItem';
			PGKAMMenu.elemItemActionNew.inactive = false;
		}
		else
			PGKAMMenu.elemItemActionNew.style.display = 'none';
	}
	else if (counter > -2) {
		PGKAMMenu.elemItemActionNew.style.display = '';
		PGKAMMenu.elemItemActionNewAnchor.title = 'You cannot add item on search screen.';
		PGKAMMenu.elemItemActionNewAnchor.className = 'addItem inactive';
		PGKAMMenu.elemItemActionNew.inactive = true;
	}
	else
		PGKAMMenu.elemItemActionNew.style.display = 'none';

	// Apply even/odd classes.
	var listItems = PGKAMMenu.elemItemActionCommands.firstChild;
	var lc = 0;

	while (listItems != null) {
		if (listItems.nodeType == 1 && listItems.style.display != 'none')
			listItems.className = (((++lc) % 2) == 0 ? 'even' : '');
		listItems = listItems.nextSibling;
	}

	// Show menu.
	liveEditCommonItem(
	PGKAMMenu.elemTooltip,
	PGKAMMenu.elemItemMenu,
	$get('LiveEditControl' + photoID), 'PGItemLiveEditMoreActions', false);
	
}
