var contextMenuX = 0;
var contextMenuY = 0;
var contextMenuSelectedItem;
var contextMenuType;
var clientIDToUpdate;
var uniqueIDToRender;
var clientIDLoadingMsg;
var contextMenuData;
var contextMenuDisplayed;
var wfCommandsMenuDisplayed;
var wfTaskCommandsMenuDisplayed;
var copyCutID=''; //stores ID to be copied or cut
var copyCutAction=0; //0=copy, 1=cut
var copyCutType=''; // document, folder
var copyCutTargetFolderID=''; //stores the currently selected folder if a copyCutID exists
	
	
	function setContextMenuWfID(WfID)
	{
		//called on grid sort when workflow user controls are loaded in the 
		//context menu - used by the controls to get the WfID from client
		
		if (WfID && document.getElementById('__selectedWfID')){
			document.getElementById('__selectedWfID').value = WfID;				
		}
	}
	
	function onDocLibraryClientContextClickStartHandler(node,evt)
	{
		if (location.href.indexOf('mode=search') == -1){
			loadFolderContextMenu(node,evt,'divRight','divRight','divRight');
			return false;	
		}
		else {
			loadSearchFolderContextMenu(node,evt,'divRight','divRight','divRight');
			return false;	
		}
		
	}	
	
	function loadFormContextMenu(item,evt,clientID,uniqueID,loadingID,bPopupAnother,bShowAllItems)
	{	
	
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;	
	
		try{
		
			var folderID = '';
			
			contextMenuSelectedItem = null; //reset selected item
			contextMenuType = 'form'; 
		
		/*
			if (document.getElementById('__folderID')){
				folderID = document.getElementById('__folderID').value;				
			}	
		*/				
			if (document.getElementById('__selectedDocID')){
				document.getElementById('__selectedDocID').value=item;				
			}
			
			contextMenuData = 'form,' + item + ',' + bPopupAnother + ',' + bShowAllItems; // + ',' + folderID;
		
			evt = (evt == null) ? window.event : evt;
			contextMenuX = evt.pageX ? evt.pageX : evt.x;
			contextMenuY = evt.pageY ? evt.pageY : evt.y;
			_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
			_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
			_ctl0_contextMenuCallBack.Callback(contextMenuData); 
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			
			}
		catch(e){
		}	
	}
	
	function loadDocContextMenu(item,evt,clientID,uniqueID,loadingID,currentTab)
	{	
	
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;	
	
		try{
		
			var folderID = '';
			
			contextMenuSelectedItem = null; //reset selected item
			contextMenuType = 'document'; 
		
			if (document.getElementById('__folderID')){
				folderID = document.getElementById('__folderID').value;				
			}	
						
			if (document.getElementById('__selectedDocID')){
				document.getElementById('__selectedDocID').value=item;				
			}
			
			contextMenuData = 'document,' + item + ',' + folderID + ',' + currentTab;
		
			evt = (evt == null) ? window.event : evt;
			contextMenuX = evt.pageX ? evt.pageX : evt.x;
			contextMenuY = evt.pageY ? evt.pageY : evt.y;
			_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
			_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
			_ctl0_contextMenuCallBack.Callback(contextMenuData); 
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			}
		catch(e){
		}	
	}
	
	function loadDocLibraryContextMenu(item,evt,clientID,uniqueID,loadingID)
	{	
	
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;	
	
		try{
		
			var folderID = '';
			var hasCheckedDocs = 'false';
			var tmpCheckedDocs = getCheckedDocumentValuesForCopyCut();
			var clientAction = '';

			if (tmpCheckedDocs != '') {
				hasCheckedDocs = 'true';
			}			
		
			contextMenuSelectedItem = null; //reset selected item
			contextMenuType = 'document'; 
		
			if (document.getElementById('__folderID')){
					folderID = document.getElementById('__folderID').value;				
				}	
			if (document.getElementById('__selectedDocID')){
				document.getElementById('__selectedDocID').value=item;				
			}
		
			if (copyCutAction=='0') {
				clientAction='copy';
			} else {
				clientAction='cut';
			}
			
			contextMenuData = 'documentLibrary,' + item + ',' + folderID + ',' + copyCutID + ',' + copyCutType + ',' + clientAction + ',' + hasCheckedDocs;
		
			evt = (evt == null) ? window.event : evt;
			contextMenuX = evt.pageX ? evt.pageX : evt.x;
			contextMenuY = evt.pageY ? evt.pageY : evt.y;
			_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
			_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
			_ctl0_contextMenuCallBack.Callback(contextMenuData); 
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			}
		catch(e){
		}	
	}
	
	function loadDocRecycleBinContextMenu(item,evt,clientID,uniqueID,loadingID)
	{	
	
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;	
	
		try{
		
			var folderID = '';
			
			contextMenuSelectedItem = null; //reset selected item
			contextMenuType = 'document'; 
		
			if (document.getElementById('__folderID')){
				folderID = document.getElementById('__folderID').value;				
			}	
						
			if (document.getElementById('__selectedDocID')){
				document.getElementById('__selectedDocID').value=item;				
			}
			
			contextMenuData = 'documentRecycleBin,' + item + ',' + folderID;
		
			evt = (evt == null) ? window.event : evt;
			contextMenuX = evt.pageX ? evt.pageX : evt.x;
			contextMenuY = evt.pageY ? evt.pageY : evt.y;
			_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
			_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
			_ctl0_contextMenuCallBack.Callback(contextMenuData); 
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			}
		catch(e){
		}	
	}
	
		
	function loadFolderContextMenu(node,evt,clientID,uniqueID,loadingID)
	{	
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;
	
		try{
			var clientAction = '';
			contextMenuSelectedItem = null; //reset selected item
			contextMenuType = 'folder'; 
		
			//set selected folder hidden input
			if (document.getElementById('__folderID')){
				document.getElementById('__folderID').value = node.getValue();			
			}
			
			if (copyCutID.length>0){
				copyCutTargetFolderID = node.getValue();				
			}
			
			var tree = node.getParentTreeView();
			
			if (copyCutAction=='0') {
				clientAction='copy';
			} else {
				clientAction='cut';
			}
			
			contextMenuData = 'folder,' + node.getValue() + ',' + copyCutTargetFolderID + ',' + copyCutID + ',' + copyCutType + ',' + clientAction;
						
			tree.unselectAll();
			node.select();	
		
			evt = (evt == null) ? window.event : evt;
			contextMenuX = evt.pageX ? evt.pageX : evt.x;
			contextMenuY = evt.pageY ? evt.pageY : evt.y;
			_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
			_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
			_ctl0_contextMenuCallBack.Callback(contextMenuData); 
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			}
		catch(e){
		}	
	}
	
		function loadSearchFolderContextMenu(node,evt,clientID,uniqueID,loadingID)
	{	
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;
	
		try{
			var clientAction = '';
		
			contextMenuSelectedItem = null; //reset selected item
			contextMenuType = 'folder'; 
			
			//set selected folder hidden input
			if (document.getElementById('__folderID')){
				document.getElementById('__folderID').value = node.getValue();			
			}
			
			if (copyCutID.length>0){
				copyCutTargetFolderID = node.getValue();				
			}
			
			if (copyCutAction=='0') {
				clientAction='copy';
			} else {
				clientAction='cut';
			}
			
			var tree = node.getParentTreeView();
			contextMenuData = 'searchfolder,' + node.getValue() + ',' + copyCutTargetFolderID + ',' + copyCutID + ',' + copyCutType + ',' + clientAction;
						
			tree.unselectAll();
			node.select();	
		
			evt = (evt == null) ? window.event : evt;
			contextMenuX = evt.pageX ? evt.pageX : evt.x;
			contextMenuY = evt.pageY ? evt.pageY : evt.y;
			_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
			_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
			_ctl0_contextMenuCallBack.Callback(contextMenuData); 
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			}
		catch(e){
		}	
	}
	function copyFolder(){
	
		//record the folder ID to be copied when user selects the Copy option from the folder context menu
				
		copyCutID='';
		copyCutType='';
		
		if (document.getElementById('__folderID')){
			copyCutID = document.getElementById('__folderID').value;
			copyCutType='folder';
		}
		
		if (copyCutID.length>0) copyCutAction=0;
	
	}
	
	function cutFolder(){
	
		//record the folder ID to be cut when user selects the Cut option from the folder context menu
			
		copyCutID='';
		copyCutType='';
		
		if (document.getElementById('__folderID')){
			copyCutID = document.getElementById('__folderID').value;
			copyCutType='folder';
		}
		
		if (copyCutID.length>0) copyCutAction=1;
	
	}
	
	function pasteFolder(){
	
		//initiate a folder copy or move based on the copyCutAction 1=copy,1=cut
		if (copyCutID.length>0 && copyCutTargetFolderID.length>0 && copyCutType=='folder'){
							
			//get the source treeNode object
			var sourceNode=getNodeByGuid(copyCutID);
					
			//get the target treeNode object			
			var targetNode=getNodeByGuid(copyCutTargetFolderID);
			
			//if this is a cut operation then clear out variables to disable the Paste option
			//the next time the folder context menu is rendered
			if (copyCutAction==1){
				copyCutID='';	
				copyCutTargetFolderID='';
				copyCutType='';
			}		
		
			//start the paste operation
			folderPasteStart(sourceNode,targetNode,copyCutAction);
		}				
		
	}
	
	function folderPasteStart(sourceNode, targetNode, action)
	{

			//tree = targetNode.getParentTreeView(); //tree declared in VVClient.js
			
			var sourceValue = sourceNode.getValue();			

			callbackString=	sourceNode.getType() + ',' + sourceValue + ',' + targetNode.getType() + ',' + targetNode.getValue();

			switch(action)
			{
				case 0:
					dragType = 'copy';
					break;
				case 1:
					dragType = 'move';
					break;
				case 2:
					dragType = 'delete';
					break;
			}
		
			if (targetNode.getText()=='RecycleBin' && dragType=='move'){
				dragType='delete';
				showButtons='true';
			}
			
			if (document.getElementById('__dragType')){
				document.getElementById('__dragType').value=dragType;				
			}			
				
			//send action to server after setting the dragDropArguments hidden form field value
			if (document.getElementById('__dragDropArguments')){
				document.getElementById('__dragDropArguments').value=callbackString;
				
				//initiate callback
				//no target id is required
				//event name is dragdrop
				//client element to update is MessageBox
				//Server control to render is MessageBox
				//no loading message will be displayed
				//no client side function to call
																
				vvCallbackGetHTML('','dragdrop','MessageBox','MessageBox','','','');
				
				//dragDropComplete function in VVClient.js is called when the server is done with the copy\move			
			}				
	}

/////////////////////////////////////////////
/// Document Copy, Cut,Paste
/////////////////////////////////////////////

	function copyDocument(){
	
		//record the folder ID to be copied when user selects the Copy option from the folder context menu
				
		copyCutID='';
		copyCutType='';
		if (document.getElementById('__selectedDocID')){
			copyCutID = document.getElementById('__selectedDocID').value;
			copyCutType='document';
		}
		
		if (copyCutID.length>0) copyCutAction=0;
	
	}
	
	function copyDocumentBatch(){
	
		//record the folder ID to be copied when user selects the Copy option from the folder context menu
				
		copyCutID='';
		copyCutType='';
		
		copyCutID = getCheckedDocumentValuesForCopyCut();
		copyCutType='documentbatch';
		
		if (copyCutID.length>0) copyCutAction=0;
	
	}
	
	function cutDocument(){
	
		//record the folder ID to be cut when user selects the Cut option from the folder context menu
			
		copyCutID='';
		copyCutType='';

		if (document.getElementById('__selectedDocID')){
			copyCutID = document.getElementById('__selectedDocID').value;
			copyCutType='document';
		}		
		
		if (copyCutID.length>0) copyCutAction=1;
	
	}
	
	function cutDocumentBatch(){
	
		//record the folder ID to be cut when user selects the Cut option from the folder context menu
			
		copyCutID='';
		copyCutType='';

		copyCutID = getCheckedDocumentValuesForCopyCut();
		copyCutType='documentbatch';
	
		if (copyCutID.length>0) copyCutAction=1;
	
	}

	function pasteDocument(){
	
		//initiate a folder copy or move based on the copyCutAction 1=copy,1=cut
		if (copyCutID.length>0 && copyCutTargetFolderID.length>0 && copyCutType=='document'){
		
			//get the source treeNode object
			var sourceDocument=copyCutID;
			//get the target treeNode object			
			var targetNode=getNodeByGuid(copyCutTargetFolderID);
			//if this is a cut operation then clear out variables to disable the Paste option
			//the next time the folder context menu is rendered
			if (copyCutAction==1){
				copyCutID='';	
				copyCutTargetFolderID='';
				copyCutType='';
			}		
			//start the paste operation
			documentPasteStart(sourceDocument,targetNode,copyCutAction);
		}				
		
	}
	
	function pasteDocumentBatch(){
	
		//initiate a folder copy or move based on the copyCutAction 1=copy,1=cut
		if (copyCutID.length>0 && copyCutTargetFolderID.length>0 && copyCutType=='documentbatch'){
							
			//get the source treeNode object
			var sourceDocument=copyCutID;
			//get the target treeNode object			
			var targetNode=getNodeByGuid(copyCutTargetFolderID);
			//if this is a cut operation then clear out variables to disable the Paste option
			//the next time the folder context menu is rendered
			if (copyCutAction==1){
				copyCutID='';	
				copyCutTargetFolderID='';
				copyCutType='';
			}		
			//start the paste operation
			documentPasteStart(sourceDocument,targetNode,copyCutAction);
		}				
		
	}
	
	function documentPasteStart(sourceDocument, targetNode, action)
	{

			//tree = targetNode.getParentTreeView(); //tree declared in VVClient.js
			
			var sourceValue = sourceDocument;			

			callbackString=	'TreeImage' + ',' + sourceValue + ',' + targetNode.getType() + ',' + targetNode.getValue(); //sourceDocument.getType() + ',' + sourceValue + ',' + targetNode.getType() + ',' + targetNode.getValue();
			
			switch(action)
			{
				case 0:
					dragType = 'copy';
					break;
				case 1:
					dragType = 'move';
					break;
				case 2:
					dragType = 'delete';
					break;
			}
		
			if (targetNode.getText()=='RecycleBin' && dragType=='move'){
				dragType='delete';
				showButtons='true';
			}
			
			if (document.getElementById('__dragType')){
				document.getElementById('__dragType').value=dragType;				
			}			
				
			//send action to server after setting the dragDropArguments hidden form field value
			if (document.getElementById('__dragDropArguments')){
				document.getElementById('__dragDropArguments').value=callbackString;
				
				//initiate callback
				//no target id is required
				//event name is dragdrop
				//client element to update is MessageBox
				//Server control to render is MessageBox
				//no loading message will be displayed
				//no client side function to call
																
				vvCallbackGetHTML('','dragdrop','MessageBox','MessageBox','','','');
				
				//dragDropComplete function in VVClient.js is called when the server is done with the copy\move	
				uncheckAllDocuments();		
			}				
	}
	
function uncheckAllDocuments() {
		var chkAll=document.getElementById('checkall');
		var form = document.forms[0];
		if (chkAll != null){
			
			chkAll.checked=false;
			
			for (var i=0;i<form.elements.length;i++) {
				var e = form.elements[i];
				if ((e.name.indexOf("chkBatch") != -1) && (e.type=='checkbox')) {
					e.checked = false;
				}
			}
		}
    }
    
function getCheckedDocumentValuesForCopyCut()
	{
		var TotalBoxes = 0;
		var TotalOn = 0;
		var values='';
		var values2='';
		var form = document.forms[0];
		
		for (var i=0;i<form.elements.length;i++) {
			var e = form.elements[i];
			if ((e.name != 'allbox') && (e.type=='checkbox') && (e.name.indexOf("chkBatch") != -1)) {
			TotalBoxes++;
			if (e.checked) {
			values += e.parentNode.getAttribute("value") + ":";
			values2 += e.parentNode.getAttribute("value") + ",";
			TotalOn++;
			}
			}
		}
		
		if (document.getElementById('__checkedDocuments')){
			document.getElementById('__checkedDocuments').value=values2;
		}		
		return values;
	}
///////////////////////////////////


	
	function loadWfTaskCommandsContextMenu(evt,lnkButton,WfID,WfMode,clientID,uniqueID,loadingID)
	{	
		var contextmenuClientID = document.getElementById("__ClientContextMenu").value;
		var contextmenuCB = eval(contextmenuClientID + '_contextMenuCallBack');	
		
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;
	
		try{
		
			if (wfTaskCommandsMenuDisplayed != true){
			
				wfTaskCommandsMenuDisplayed = true;
				wfCommandsMenuDisplayed = false;
					
				contextMenuSelectedItem = null; //reset selected item
				contextMenuType = 'wftaskcommands';		
				contextMenuData = 'wftaskcommands,' + WfID + ',' + WfMode;
								
				evt = (evt == null) ? window.event : evt;
				
				if (lnkButton){
					contextMenuX = lnkButton.offsetLeft;
					contextMenuY = lnkButton.offsetTop + lnkButton.offsetHeight;
				}	
				else{
					contextMenuX = evt.pageX ? evt.pageX : evt.x;
					contextMenuY = evt.pageY ? evt.pageY : evt.y;
				}
			
				//_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
				//_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
				//_ctl0_contextMenuCallBack.Callback(contextMenuData); 
				
				
				contextmenuCB.DomElement.style.left = contextMenuX + 'px'; 
				contextmenuCB.DomElement.style.top = (contextMenuY - contextmenuCB.DomElement.offsetHeight) + 'px'; 
				contextmenuCB.Callback(contextMenuData);
			}
			
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			}
		catch(e){
		}	
	}
	
	function loadWfCommandsContextMenu(evt,lnkButton,WfID,WfMode,clientID,uniqueID,loadingID)
	{	
	
		var contextmenuClientID = document.getElementById("__ClientContextMenu").value;
		var contextmenuCB = eval(contextmenuClientID + '_contextMenuCallBack');
		
		clientIDToUpdate = clientID;
		uniqueIDToRender = uniqueID;
		clientIDLoadingMsg = loadingID;
	
		try{
		
			if (wfTaskCommandsMenuDisplayed != true){
			
				wfTaskCommandsMenuDisplayed = true;
				wfCommandsMenuDisplayed = false;
					
				contextMenuSelectedItem = null; //reset selected item				
				contextMenuType = 'wfcommands';		
				contextMenuData = 'wfcommands,' + WfID + ',' + WfMode;
				
				evt = (evt == null) ? window.event : evt;
				
				if (lnkButton){
					contextMenuX = lnkButton.offsetLeft;
					contextMenuY = lnkButton.offsetTop + lnkButton.offsetHeight;
				}	
				else{
					contextMenuX = evt.pageX ? evt.pageX : evt.x;
					contextMenuY = evt.pageY ? evt.pageY : evt.y;
				}
			
				//_ctl0_contextMenuCallBack.DomElement.style.left = contextMenuX + 'px'; 
				//_ctl0_contextMenuCallBack.DomElement.style.top = (contextMenuY - _ctl0_contextMenuCallBack.DomElement.offsetHeight) + 'px'; 
				//_ctl0_contextMenuCallBack.Callback(contextMenuData); 
				
				
				contextmenuCB.DomElement.style.left = contextMenuX + 'px'; 
				contextmenuCB.DomElement.style.top = (contextMenuY - contextmenuCB.DomElement.offsetHeight) + 'px'; 
				contextmenuCB.Callback(contextMenuData); 
			}
			
			evt.cancelBubble = true; 
			evt.returnValue = false; 
			return false; 	
			}
		catch(e){
		}	
	}


	function showDocContextMenu()
	{
		
		try{
			var contextmenuClientID = document.getElementById("__ClientContextMenu").value;
			var contextmenuCB = eval(contextmenuClientID + '_menuContextMenu');

			//_ctl0_menuContextMenu.ShowContextMenu(contextMenuX, contextMenuY, contextMenuData);
			contextmenuCB.ShowContextMenu(contextMenuX, contextMenuY, contextMenuData);
			contextMenuDisplayed = true;
		}
		catch(e){
			contextMenuDisplayed = false;
		}		
	}
	
	function contextMenuHide(menu)
	{	
		contextMenuDisplayed = false;
		wfCommandsMenuDisplayed = false;
		wfTaskCommandsMenuDisplayed = false;
		
		if (contextMenuType == 'folder'){
			if (contextMenuSelectedItem){
				return true;
			}
			else{
				//no menu item selected so refresh screen using selected folder
				//select folder as if user clicked on it
				if (location.href.indexOf('mode=search') == -1){
					vvCallbackGetHTML('','selectfolder',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
				}
			}
		}
	
	}

	function contextMenuItemMouseOver(item){
		var test = '';
	}


	function contextMenuItemMouseOut(item){
		var test = '';
	}


	function contextMenuItemSelect(item)
	{
	//fires before the menu item's NavigateURL is executed
	
	/*
     Note - to select a tab in the document library folder properties use
		"javascript:selectTab('0,2')" where 0=control ID of the folderbase user control and 2=tab number to select
	*/
	
		try{
		
		contextMenuSelectedItem = item; //determine if user selected an item during contextMenuHide event
		
		var divFolderDetails = document.getElementById('0_divFolderDetails');
		
			switch(item.ID)
			{
				case 'CutDocument':
					cutDocument();
					return true;
					break;
				case 'CopyDocument':
					copyDocument();
					return true;
					break;				
				case 'PasteDocument':
					pasteDocument();
					return true;
					break;
				case 'CutDocumentBatch':
					cutDocumentBatch();
					return true;
					break;
				case 'CopyDocumentBatch':
					copyDocumentBatch();
					return true;
					break;				
				case 'PasteDocumentBatch':
					pasteDocumentBatch();
					return true;
					break;
				case 'CutFolder':
					cutFolder();
					return true;
					break;				
				case 'CopyFolder':
					copyFolder();
					return true;
					break;				
				case 'PasteFolder':
					pasteFolder();
					return true;
					break;
				case 'FolderProperties':
					if (divFolderDetails){
						//folder properties already displayed
						//select folder as if user clicked on the folder
						vvCallbackGetHTML('','selectfolder',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					}
					else{						
						//display folder properties as if user clicked on the folder properties button
						vvCallbackFireEvent('btnFolderProperties',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					}
					
					return true;
					break;	
				case 'FolderDocuments':
					//display folder's documents (switches to documentList view)
					vvCallbackGetHTML('','loadgrid',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');	
					return true;
					break;
				case 'FolderTab0':
					//display folder tab (0=folderbase user control, 0=tab number to select)
					selectTab('0,0',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					return true;
					break;	
				case 'FolderTab1':			
					//display folder tab (0=folderbase user control, 1=tab number to select)
					selectTab('0,1',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					return true;
					break;	
				case 'FolderTab2':
					//display folder tab (0=folderbase user control, 2=tab number to select)
					selectTab('0,2',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					return true;
					break;	
				case 'FolderTab3':
					//display folder tab (0=folderbase user control, 3=tab number to select)
					selectTab('0,3',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					return true;
					break;	
				case 'FolderTab4':
					//display folder tab (0=folderbase user control, 4=tab number to select)
					selectTab('0,4',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					return true;
					break;	
				case 'FolderTab5':
					//display folder tab (0=folderbase user control, 5=tab number to select)
					selectTab('0,5',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					return true;
					break;				
				case 'DocumentCheckOut':				
					if (document.getElementById('__selectedDocID')){	
						if (window.location.href.toLowerCase().indexOf('document_library.aspx') > -1) {
							vvCallbackGetHTML('ctrlContextMenu','DocumentCheckOut',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
						}
						else {
							vvCallbackGetHTML('ctrlContextMenu','DocumentCheckOut',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'','');
						}
						//set value telling child window to refreshparent when it closes
						setRefreshOpener();						
					}					
					return true;
					break;
				case 'DocumentUndoCheckOut':
					if (document.getElementById('__selectedDocID')){	
						if (window.location.href.toLowerCase().indexOf('document_library.aspx') > -1) {					
							vvCallbackGetHTML('ctrlContextMenu','DocumentUndoCheckOut',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
						}
						else {
							vvCallbackGetHTML('ctrlContextMenu','DocumentUndoCheckOut',clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
						}
						//set value telling child window to refreshparent when it closes
						setRefreshOpener();
					}	
					return true;
					break;
				case 'DocumentCheckIn':
					//set value telling child window to refreshparent when it closes
					setRefreshOpener();
					return true;
					break;					
				case 'SummaryItem':
					return false;
					break;
				case 'WorkflowHistory':
					return false;
					break;	
				case 'WorkflowManager':
					return true;
					break;	
				case 'Workflow':
					return true;
					break;			
				case 'Form':
					return true;
					break;
				case 'RelatedDocuments':
					return true;
					break;
				case 'Document':
					return false;
					break;
				case 'DocumentProperties':
					return true;
					break;
				case 'DocumentSecurity':
					return true;
					break;
				case 'DocumentHistory':
					return true;
					break;
				case 'DocumentTraining':
					return true;
					break;
				case 'NoAction':
					return false;
					break;
				default:
					vvCallbackGetHTML('ctrlContextMenu',item.ID,clientIDToUpdate,uniqueIDToRender,clientIDLoadingMsg,'resizeForm','true');
					return true;
					break;			
			}
			
		}
		catch(e){
		}			
	}
