
	// General
	var popupGDLink_ControlUniqueID;
	var popupGDLink_CommandFieldSeparator;
	
	// Menu
	var popupGDLinkXREFID;
	var popupGDLinkMenuID;
	var popupGDLinkLinkID;
	var popupGDLinkId;
	var popupGDLink;
	var popupGDLinkMoveUp;
	var popupGDLinkMoveDown;
	var popupGDLinkMoveTop;
	var popupGDLinkMoveBottom;
	var popupGDLinkHelp;
	var popupGDLinkProperties;
	var popupGDLinkDelete;
	var popupGDLinkDeleteFromMenu;
	var popupGDLinkDeleteFromSystem;
	
	function popupGDLink_InitializeMenu(menuId){
		popupGDLinkId = menuId;
		popupGDLink = igmenu_getMenuById(menuId);
		// Get the first menu item
		var items = popupGDLink.getItems();
		var item = items[0];
		var child;
		while(item){
			switch(item.getTag()){
				case 'MoveUp':popupGDLinkMoveUp=item;break;
				case 'MoveDown':popupGDLinkMoveDown=item;break;
				case 'MoveTop':popupGDLinkMoveTop=item;break;
				case 'MoveBottom':popupGDLinkMoveBottom=item;break;
				case 'Help':popupGDLinkHelp=item;break;
				case 'Properties':popupGDLinkProperties=item;break;
				case 'Delete':
					popupGDLinkDelete=item;
					// Get the children
					child=item.getFirstChild();
					while(child){
						switch(child.getTag()){
							case 'DeleteFromMenu':popupGDLinkDeleteFromMenu=child;break;
							case 'DeleteFromSystem':popupGDLinkDeleteFromSystem=child;break;
						}
						child=child.getNextSibling();
					}
					break;		
			}
			item=item.getNextSibling();
		}
	}
		
	function popupGDLink_GeoDocsShowMenu(vControlUniqueID, vCommandFieldSeparator, vXREFID, vMenuID, vLinkID, vPermission, vPermissionSeparator, event){
		//alert('showMenu(' + key + ')');
		try {
			var aPermission = vPermission.split(vPermissionSeparator);
			
			popupGDLink_ControlUniqueID = vControlUniqueID;
			popupGDLink_CommandFieldSeparator = vCommandFieldSeparator;
			popupGDLinkXREFID = vXREFID;
			popupGDLinkMenuID = vMenuID;
			popupGDLinkLinkID = vLinkID;
			
			// set everything to true for the time being
			popupGDLinkMoveUp.setEnabled(aPermission[0] != '0');
			popupGDLinkMoveDown.setEnabled(aPermission[0] != '0');
			popupGDLinkMoveTop.setEnabled(aPermission[0] != '0');
			popupGDLinkMoveBottom.setEnabled(aPermission[0] != '0');
			popupGDLinkProperties.setEnabled(1);
			popupGDLinkDeleteFromMenu.setEnabled(aPermission[0] != '0');
			popupGDLinkDeleteFromSystem.setEnabled((aPermission[2] != '0') && (aPermission[0] != '0'));
			popupGDLinkDelete.setEnabled(popupGDLinkDeleteFromMenu.getEnabled() || popupGDLinkDeleteFromSystem.getEnabled());
			popupGDLinkHelp.setEnabled(1);
		}
		catch(exception){
			debugger;
		}
		igmenu_showMenu(popupGDLinkId,event);
	}
	
	function popupGDLink_ItemClick(menuId, itemId){
		var menuItem=igmenu_getItemById(itemId);
		switch(menuItem.getTag()){
			case 'MoveUp':
				igmenu_showMenu();
				popupGDLink_MoveUp(popupGDLinkXREFID);
				return true;
				break;
			case 'MoveDown':
				igmenu_showMenu();
				popupGDLink_MoveDown(popupGDLinkXREFID);
				return true;
				break;
			case 'MoveTop':
				igmenu_showMenu();
				popupGDLink_MoveTop(popupGDLinkXREFID);
				return true;
				break;
			case 'MoveBottom':
				igmenu_showMenu();
				popupGDLink_MoveBottom(popupGDLinkXREFID);
				return true;
				break;
			case 'DeleteFromMenu':
				igmenu_showMenu();
				popupGDLink_DeleteFromMenu(popupGDLinkXREFID);
				return true;
				break;
			case 'DeleteFromSystem':
				igmenu_showMenu();
				popupGDLink_DeleteFromSystem(popupGDLinkXREFID);
				return true;
				break;
			case 'Properties':
				igmenu_showMenu();
				popupGDLink_ShowProperties(popupGDLinkLinkID, popupGDLinkXREFID);
				return true;
				break;
			default:
				return false;
		}
	}
	
	function popupGDLink_Refresh(){
		__doPostBack(popupGDLink_ControlUniqueID, 'Refresh');
	}
	
	function popupGDLink_MoveUp(vXREFID) {
		__doPostBack(popupGDLink_ControlUniqueID, 'MoveUp' + popupGDLink_CommandFieldSeparator + vXREFID);
	}
	
	function popupGDLink_MoveDown(vXREFID) {
		__doPostBack(popupGDLink_ControlUniqueID, 'MoveDown' + popupGDLink_CommandFieldSeparator + vXREFID);
	}
	
	function popupGDLink_MoveTop(vXREFID) {
		__doPostBack(popupGDLink_ControlUniqueID, 'MoveTop' + popupGDLink_CommandFieldSeparator + vXREFID);
	}
	
	function popupGDLink_MoveBottom(vXREFID) {
		__doPostBack(popupGDLink_ControlUniqueID, 'MoveBottom' + popupGDLink_CommandFieldSeparator + vXREFID);
	}
	
	function popupGDLink_DeleteFromMenu(vXREFID) {
		__doPostBack(popupGDLink_ControlUniqueID, 'DeleteFromMenu' + popupGDLink_CommandFieldSeparator + vXREFID);
	}
	
	function popupGDLink_DeleteFromSystem(vXREFID) {
		__doPostBack(popupGDLink_ControlUniqueID, 'DeleteFromSystem' + popupGDLink_CommandFieldSeparator + vXREFID);
	}
	
	function popupGDLink_ShowProperties(vLinkID, vXREFID){
		var queryString;

		queryString = 'LinkID=' + vLinkID + '&XREFID=' + vXREFID;
		Dialog('/gd/webvieweditor/dialogs/dlgLinkProperties.aspx?' + queryString, function(param) {
			if (param) {
				popupGDLink_Refresh();
			}
		}, null);
	}
