	var isStrd = (document.getElementById && !document.all) ? true : false;
	var isIE = (document.all) ? true : false;
	
	var isdrag=false;
	var startX,startY,currentX,currentY,clickXoffset,clickYoffset;
	var dragItems = null;
	var dragElmt = null;
	var folders = null;
	var selectFldr = null;
	var oldMouseMove = document.onmouseover;
	var resizeLine = null;
	var isResize = false;
	var resizeStartX = null;
	var resizeX = 0;
	var initializeDragElements = false;

	/***************************************************************
	* 
	***************************************************************/
	function onDrag(e) {
		if( initializeDragElements == true )
		{
			addSelectedToDrag(dragItems);
			
			with(dragElmt.style) {
				top = (startY) + "px";
				left = (startX) + "px";
			}

			initializeDragElements = false;
		}

		if(isdrag) {
			currentX = (isStrd) ? e.pageX : window.event.clientX;
			currentY = (isStrd) ? e.pageY : window.event.clientY;
			
			dragElmt.style.left = (currentX - clickXoffset) + "px";
			dragElmt.style.top  = (currentY - clickYoffset) + "px";
			
			if(dragElmt.style.display != "block") dragElmt.style.display = "block";

			// check to see if over folder
			var fldrOvr = getFolderOver();
			if(fldrOvr != null) {
				if(selectFldr != null && selectFldr != fldrOvr) selectFldr.className = selectFldr.className.replace("folder-drag-over","");
				selectFldr = fldrOvr;
				if(fldrOvr.className.indexOf("folder-drag-over") == -1) fldrOvr.className += " folder-drag-over";
			}
			else if(selectFldr != null) {
				selectFldr.className = selectFldr.className.replace("folder-drag-over","");
				selectFldr = null;
			}

			return false;
		}
	}
	
	/***************************************************************
	* 
	***************************************************************/
	function isDragColumn(objClass) {
		var dragColClasses = ["list-icon","list-from","list-from-link","list-cb","list-icon-img"];
		for(var i = dragColClasses.length-1; i > -1; i--) {
			if(objClass.indexOf(dragColClasses[i]) >= 0) return true;
		}
		return false;
	}
	
	/***************************************************************
	* 
	***************************************************************/
	function onClickItem(e) {
		if(isStrd || isIE) {
			
			if(isStrd) {
				targetObj = e.target;
				clckBtn = e.which;
				currentX = e.pageX;
				currentY = e.pageY;
			}
			else {
				targetObj = window.event.srcElement;
				clckBtn = window.event.button;
				currentX = window.event.clientX;
				currentY = window.event.clientY + document.documentElement.scrollTop;
			}

			if(targetObj.id == "resize-line") {
				resizeStartX = getObjXY(document.getElementById("gw-msglist"))[0];
				document.onmousemove = doResize;
				isResize = true;
				resizeLine.style.borderLeft = "1px dotted #000";
				return false;
			}

			// filter left mouse click, not checkbox, and non-dragable columns
			if(clckBtn != 1 || targetObj.nodeName.toLowerCase() == "input") return;

			var isDragableColumn = isDragColumn(targetObj.className);
			// get the row oject for the clicked location
			while(targetObj.tagName != "HTML" && targetObj.tagName != "BODY" && targetObj.className.indexOf("unread") < 0 && targetObj.className.indexOf("read") < 0) {
				targetObj = (!document.all) ? targetObj.parentNode : targetObj.parentElement;
				if(isDragableColumn == false) isDragableColumn = isDragColumn(targetObj.className);
			}
			if(!isDragableColumn) return;

			if(targetObj.className.indexOf("unread") >= 0 || targetObj.className.indexOf("read") >= 0) {

				initFolders();
				isdrag = true;

				// if items are checked, drag the checked items, otherwise drag the item at the mouse location
				dragItems = new Array();
				var checkedMail = document.forms["MessageList"].elements["Item.drn"];
				var isOnTarget = false;
				for(var i = checkedMail.length-1; i > -1; i--) {
					if(checkedMail[i].checked == true) {
						var checkedMailRow = document.getElementById(checkedMail[i].value);
						var rowPos = getObjXY(checkedMailRow);
						checkedMailRow.ypos = rowPos[1];
						dragItems[dragItems.length] = checkedMailRow;
						if(targetObj.id == checkedMailRow.id) isOnTarget = true;
					}
				}
				if(dragItems.length == 0) dragItems[dragItems.length] = targetObj;
				else if(!isOnTarget) {
					document.onmousemove = returnFalse;
					return false;
				}

				var startPos = getObjXY(dragItems[dragItems.length-1].getElementsByTagName("td")[1]);
				startX = startPos[0];
				startY = startPos[1] - document.getElementById("tableContainer").scrollTop;
				clickXoffset = currentX - startX;
				clickYoffset = currentY - startY;

				// create floating layer
				if(dragElmt == null) {
					dragElmt = document.createElement("div");
					dragElmt.id = "drag-layer";
					document.getElementById('floatingelmts').appendChild(dragElmt);
				}

				initializeDragElements = true;
				
				document.onmousemove = onDrag;
				return false;
			}
		}
	}

	/***************************************************************
	* 
	***************************************************************/
	function addSelectedToDrag(dragRows) {
		// add matching table and rows to floating layer
		var dragContents = document.createElement("div");
		dragContents.className = "drag-row-container";

		for(var i = dragRows.length-1; i > -1; i--) {
			var dragRow = document.createElement("div");
			dragRow.className = "drag-row";
			dragRow.style.height = (dragRows[i].offsetHeight) + "px";
			if(i>0) dragRow.style.marginBottom = (dragRows[i-1].ypos - (dragRows[i].ypos + dragRows[i].offsetHeight)) + "px";

			var origRowCells = dragRows[i].getElementsByTagName("td");

			// add second td that contains the item image
			var rowImg = document.createElement("div");
			rowImg.innerHTML = origRowCells[1].innerHTML;
			rowImg.className = "drag-row-img";
			rowImg.style.width = origRowCells[1].offsetWidth + "px";

			var rowFrom = document.createElement("div");
			rowFrom.innerHTML = origRowCells[2].innerHTML;
			rowFrom.className = "drag-row-from";
			rowFrom.style.width = origRowCells[2].offsetWidth + "px";

			if( inc_documentDir == "rtl" )
			{
				dragRow.appendChild(rowFrom);
				dragRow.appendChild(rowImg);
			}
			else
			{
				dragRow.appendChild(rowImg);
				dragRow.appendChild(rowFrom);
			}

			// add row to table
			dragContents.appendChild(dragRow);
		}
		dragElmt.innerHTML = "";
		dragElmt.appendChild(dragContents);
	}

	
	/***************************************************************
	* 
	***************************************************************/
	function onRelease(e) {
		if(isResize) {
			resizeLine.style.borderLeft = "0px dotted #000";
			resizeCols();
			isResize = false;
			resizeStartX = null;
			document.onmousemove = oldMouseMove;
		}
		if(isdrag) {

			var releaseX = (isStrd) ? e.pageX : window.event.clientX;
			var releaseY = (isStrd) ? e.pageY : window.event.clientY;

			var fldrOvr = getFolderOver();
			if(fldrOvr != null) {
				var mailMoveList = "";
				var formMove = document.forms[ "formMove" ];
				for(var i = dragItems.length-1; i >-1; i--) 
				{
// 					mailMoveList += "&Item.drn=" + dragItems[i].id;
					var itemDrn = document.createElement( "input" );
					itemDrn.setAttribute( "type", "hidden" );
					itemDrn.setAttribute( "name", "Item.drn" );
					itemDrn.setAttribute( "value", dragItems[i].id );
					formMove.appendChild( itemDrn );
				}
				
				formMove.elements[ "Folder.Move.id" ].value = fldrOvr.id.substring(1);
				formMove.submit();
				
/*				if(mailMoveList != "")
				{
					window.location.href = homeURL + "?action=Item.Action&Item.Move=&Folder.List.css=&User.context=" + userContext + "&Folder.Move.id=" + fldrOvr.id.substring(1) + mailMoveList + "&merge=fldrmsglist&Item.UpdateList=";

				}*/
				
				dragElmt.style.display = "none";
			}
			else resetDrag(releaseX-clickXoffset, releaseY-clickYoffset, startX, startY);

			// reset
			isdrag = false;
			document.onmousemove = oldMouseMove;
			folders = null;
			dragItems = null;
			if(selectFldr != null) {
				selectFldr.style.fontWeight = "normal";
				selectFldr.className = selectFldr.className.replace("folder-drag-over"," ");
				selectFldr = null;
			}
			
		}
	}

	/***************************************************************
	* 
	***************************************************************/
	function getFolderOver() {
		if(folders != null) {
			for(var i = folders.length-1; i > -1; i--) {
				if(isOvrFldr(folders[i], currentX, currentY)) return folders[i];
			}
		}
		return null;
	}

	/***************************************************************
	* 
	***************************************************************/
	function isOvrFldr(fldr, mouseX, mouseY){
		if(mouseX < (fldr.xpos+fldr.offsetWidth) && mouseX > fldr.xpos && mouseY <= (fldr.ypos + fldr.offsetHeight) && mouseY >= fldr.ypos) return true;
		return false;
	}

	/***************************************************************
	* 
	***************************************************************/
	function resetDrag(endX, endY, origX, origY) {
		if(Math.abs(endX - origX) > 2 || Math.abs(endY - origY) > 2) { // 2 pixel buffer in case user drags mouse slightly on click
			currentX = endX;
			currentY = endY;
			dragElmt.onclick = new Function("return false");
			returnInterval = 0;
			returnTimer = setInterval("returnDrag()", 10);
		}
		else if(dragElmt != null) dragElmt.style.display = "none";
	}
	
	/***************************************************************
	* 
	***************************************************************/
	function returnFalse() {
		return false;
	}

	/***************************************************************
	* 
	***************************************************************/
	function returnDrag() {
		var intervals = 15;
		returnInterval++;

		var multi = (returnInterval == 1) ? 0 : (1 - Math.pow(0.9, returnInterval - 1)) / (1 - Math.pow(0.9, intervals - 1));
		var returnX = currentX + (startX - currentX) * multi;
		var returnY = currentY + (startY - currentY) * multi;

		if(isStrd) {
			dragElmt.style.left = returnX + "px";
			dragElmt.style.top = returnY + "px";
		}
		else {
			dragElmt.style.pixelLeft = returnX;
			dragElmt.style.pixelTop = returnY;
		}

		if(returnInterval == intervals) {
			clearInterval(returnTimer);
			dragElmt.style.display = "none";
		}
	}

	/***************************************************************
	* 
	***************************************************************/
	function initFolders() {
		var fldrLinks = document.getElementById("folder-tree").getElementsByTagName("a");
		folders = new Array();
		for(var i = fldrLinks.length-1; i > -1; i--) {
			if(!(fldrLinks[i].className.indexOf("expander") >= 0) && !(fldrLinks[i].className.indexOf("nodrag") >= 0)) {
				var fldrLnk = fldrLinks[i];
				var fldrPos = getObjXY(fldrLnk);
				fldrLnk.xpos = fldrPos[0] - document.getElementById("gw-folders").scrollLeft;
				fldrLnk.ypos = fldrPos[1] - document.getElementById("gw-folders").scrollTop;
				folders[folders.length] = fldrLnk;
			}
		}
	}

	/***************************************************************
	* 
	***************************************************************/
	function getObjXY(obj) {
		var intX = 0;
		var intY = 0;
		do { // Walk up our document tree until we find the body and add the distance from the parent to our counter.
			intX += obj.offsetLeft;
			intY += obj.offsetTop;
			obj = obj.offsetParent;
		} while(obj.tagName != "BODY" && obj.tagName != "HTML")
		if(isStrd) return new Array(intX+document.documentElement.scrollLeft,intY+document.documentElement.scrollTop);
		else return new Array(intX,intY);
	}

	/***************************************************************
	* 
	***************************************************************/
	function initDNDAndResize() {
		var enableDNDAndResize = true;
		var flvMjrVer = parseInt( inc_browserFlvMjrVer );
		if( inc_browserFlavor == "SAFARI" && flvMjrVer < 312 )
		{
			enableDNDAndResize = false;
		}
		
		if( enableDNDAndResize && ( isStrd || isIE ) ){
			// initialize drag and drop functionality
			document.onmousedown = onClickItem;
			document.onmouseup = onRelease;
			
			// create floating line layer for resize effect
			var mailColumn = document.getElementById("gw-msglist");
			resizeLine = document.createElement("div");
			resizeLine.id = "resize-line";
			if(mailColumn.style.left.length > 0) resizeLine.style.left = mailColumn.style.left;
			document.getElementById('floatingelmts').appendChild(resizeLine);
		}
	}

	/***************************************************************
	* 
	***************************************************************/
	function readCookie(name) {
		var cks = document.cookie.split(';');
		for(var i=0; i < cks.length; i++) {
			var c = cks[i];
			while(c.charAt(0)==' ') c = c.substring(1,c.length);
			if(c.indexOf(name+"=")==0) return c.substring(name.length+1,c.length);
		}
		return null;
	}

	/***************************************************************
	* 
	***************************************************************/
	function doResize(e) {
		if(isResize) {
			resizeX = (isStrd) ? e.pageX : window.event.clientX;
			resizeLine.style.visibility = "visible";
			resizeLine.style.left = resizeX + "px";
		}
		return false;
	}

	/***************************************************************
	* 
	***************************************************************/
	function resizeCols(presetWidth) {
		var fldrColumn = document.getElementById("gw-folders");
		var mailColumn = document.getElementById("gw-msglist");

		// calculate resize width of mail column
		if(presetWidth) {
			var newMailWidth = presetWidth;
		}
		else {
			var screenWidth = document.documentElement.clientWidth;
			var newMailWidth = Math.floor(((mailColumn.offsetWidth-(resizeX - resizeStartX))/screenWidth)*100);
		}
		
		if( newMailWidth < 99 )
		{
			// change widths of mail and folder columns
			mailColumn.style.left = (99 - newMailWidth) + "%";
			mailColumn.style.width = newMailWidth + "%";
			fldrColumn.style.width = (98 - newMailWidth) + "%";
			if(resizeLine) resizeLine.style.left = mailColumn.style.left;
			
			// store resize changes in cookie (expiration time = 12 months = 12*30*24*60*60*1000 = 31104000000 milliseconds
			document.cookie = "webacc-colsize="+newMailWidth+";expires="+(new Date(new Date().getTime()+31104000000)).toGMTString()+";path=/;";
		}
	}
	
	/***************************************************************
	* Show or hide the folders popup menu
	***************************************************************/
	function showMsglistPopupMenu(event,flag,drn)
	{
		return showGwMenuEx(event,'idMsglistPopupMenu',flag,drn);
	}

	/***************************************************************
	* 
	***************************************************************/
	function handleToolbarActions(event,id,folderId)
	{
		var hiddenAction = document.MessageList.elements[ "Toolbar.button" ];
		
		if( id == 1 )
		{
			hiddenAction.name = "Item.Delete";
			bHoldSelection = false;
		}
		else if( id == 2)
		{
			hiddenAction.name = "Folder.List";
			bHoldSelection = false;
		}
		else if( id == 3)
		{
			hiddenAction.name = "Item.Accept";
			bHoldSelection = false;
		}
		else if( id == 4)
		{
			hiddenAction.name = "Item.Decline";
			bHoldSelection = false;
		}
		else if( id == 5)
		{
			hiddenAction.name = "Item.Complete";
			bHoldSelection = false;
		}
		else if( id == 6)
		{
			hiddenAction.name = "Item.ReadLater";
			bHoldSelection = false;
		}
		else if( id == 7)
		{
			hiddenAction.name = "Item.MarkRead";
			bHoldSelection = false;
		}
		else if( id == 20 )
		{
			if( askContinue() == false )
			{
				return false;
			}
			else
			{
				hiddenAction.name = "Item.Purge";
				bHoldSelection = false;
			}
		}
		else if( id == 21)
		{
			hiddenAction.name = "Item.Undelete";
			bHoldSelection = false;
		}
		else if( id == 22 )
		{
			if( askContinue(1) )
			{
				window.location.href = homeURL + "?User.context=" + userContext + "&action=Folder.Empty&merge=fldrmsglist&Folder.List.css=&Folder.id=" + folderId;
			}
			
			bHoldSelection = false;
			return false;
		}
		else if( id == 30 )
		{
			hiddenAction.name = "Item.Retract";
			bHoldSelection = false;
		}
		else if( id == 31)
		{
			hiddenAction.name = "Item.RetractAll";
			bHoldSelection = false;
		}
		else if( id == 40 )
		{
			hiddenAction.name = "Item.CheckList.Top";
		}
		else if( id == 41 )
		{
			hiddenAction.name = "Item.CheckList.Bottom";
		}
		else if( id == 42 )
		{
			hiddenAction.name = "Item.CheckList.Up";
		}
		else if( id == 43 )
		{
			hiddenAction.name = "Item.CheckList.Down";
		}
		else
		{
			alert( "Unhandled message list toolbar" );
			
			return false;
		}
		
		document.MessageList.submit();
	}

	/***************************************************************
	* 
	***************************************************************/
	function fixMsglistHeight()
	{
		document.getElementById( "idHeader1" ).style.width = ( document.getElementById( "1" ).offsetWidth + document.getElementById( "2" ).offsetWidth  ) + "px";
		document.getElementById( "idHeader3" ).style.width = document.getElementById( "3" ).offsetWidth + "px";
		document.getElementById( "idHeader4" ).style.width = document.getElementById( "4" ).offsetWidth + "px";
		document.getElementById( "idHeader5" ).style.width = document.getElementById( "5" ).offsetWidth + "px";
		
		if( document.getElementById( "6" ) )
		{
			document.getElementById( "idHeader6" ).style.width = document.getElementById( "6" ).offsetWidth + "px";
		}
		
 		document.getElementById( "idMsglistBody" ).style.height = ( document.documentElement.clientHeight - document.getElementById( "idMsglistBody" ).offsetTop - 50) + "px";
// 		document.getElementById( "idMsglistBody" ).style.height = "200px";
	}

	/***************************************************************
	* 
	***************************************************************/
	function isItemSelected()
	{
		for( var i = 0; i < document.MessageList.elements["Item.drn"].length; i++ )
		{
			if( (document.MessageList.elements["Item.drn"])[i].checked )
			{
				return true;
			}
		}
		
		return false;
	}
	
	/***************************************************************
	* 
	***************************************************************/
    	function getSelectedDrns()
	{
		var selectedDrns = "";
		
		for( var i = 0; i < document.MessageList.elements["Item.drn"].length; i++ )
		{
			if( (document.MessageList.elements["Item.drn"])[i].checked )
			{
				selectedDrns = (document.MessageList.elements["Item.drn"])[i].value + ",";
			}
		}
		
		return selectedDrns;
	}
	
	/***************************************************************
	* 
	***************************************************************/
	function SetChecked()
	{
		var i=0;
		var val = document.MessageList.SelectAll.checked;
		
		for(i=0; i<document.MessageList.elements.length; i++)
		{
			if (document.MessageList.elements[i].name=='Item.drn')
			{
				document.MessageList.elements[i].checked=val;
				selectRow(document.MessageList.elements[i]);
			}
		}
	}
	
	/***************************************************************
	* Make an individual row appear selected (by toggling a selected class) 
	* when its checkbox is clicked
	***************************************************************/
	function selectRow(selectbox)
	{
		var currentrow = selectbox.parentNode.parentNode;
	
		if(selectbox.checked) 
		{
			currentrow.className += ' selected';
		}
		else 
		{
			currentrow.className = currentrow.className.replace(/ selected/g,'');
		}
		
// 		alert( "currentrow.style.background: " + currentrow.style.backgroundColor );
		
		//alert( "currentrow.className: " + currentrow.className );
	}

	/***************************************************************
	* 
	***************************************************************/
	function deleteCheck()
	{
		// Look for folders that are checked and add them
		var i = 0;
	
		for( i = 0; i < document.MessageList.elements.length; i++ )
		{
			// See if this is an item in the list
			if (document.MessageList.elements[i].name=='Item.drn')
			{
				// See if this item is selected for delete 
				if( document.MessageList.elements[i].checked == 1 )
				{
					// See if this is a reply requested item
					if( isRRItem( document.MessageList.elements[i].value ) )
					{
						// Ask if it should be deleted
						if( deleteRRWarning( "Item.REPLY_REQUESTED", inc_replyRequestedDeleteWarning ) == false )
						{
							// Dont delete this item- marked in unchecked
							document.MessageList.elements[i].checked = 0;
						}
					}
				}
			}
		}
		
		return true;
	
	}
		
	var nRRItemArray = new Array();
	nRRItemArray[nRRItemArray.length] = "0";
	
	/***************************************************************
	* 
	***************************************************************/
	function isRRItem( sItemDRN )
	{
		var i;
		
		for( i = 0; i < nRRItemArray.length; i++ )
		{
			if( nRRItemArray[i] == sItemDRN ) 
			{
				return true;
			}
		}
		
		return false;
	}
	
	/***************************************************************
	* 
	***************************************************************/
	function askContinue(emptyTrashFlag, errorString)
	{
		if( confirm( inc_emptyTrashWarning ) )
		{
			if( emptyTrashFlag )
			{
				document.MessageList.elements[ "action" ].value = "Folder.Empty";
			}
			
			return true;
		}
		
		return false;
	}

	/***************************************************************
	* This function is duplicated in msgitem.htt- both instances should be kept in sync
	***************************************************************/
	function deleteRRWarning( sItemSubType, errorString )
	{
		if( sItemSubType == "Item.REPLY_REQUESTED" )
		{
			return confirm( errorString );
		}
		
		return true;
	}
	
	/***************************************************************
	* 
	***************************************************************/
	function fixContentHeight(e)
	{
		var divFolders = document.getElementById( 'gw-folders' );
		var divMsglist = document.getElementById( 'gw-msglist' );
		var tblContainer = document.getElementById( 'tableContainer' );
		var btnDisplayNext = document.getElementById( 'idDisplayNext' );

		//Set the folders pane height
		if ( divFolders != null)
		{
			divFolders.style.height = ( document.documentElement.clientHeight - divFolders.offsetTop ) - 7 + "px";
		}

		//Set the msglist pane height
		if ( divMsglist != null)
		{
			divMsglist.style.height = ( document.documentElement.clientHeight- divMsglist.offsetTop ) - 1 + "px";
		}

		//if we have messages to show then we need to set the table height
		if ( tblContainer != null)
		{
			var height = ( divMsglist.offsetHeight - tblContainer.offsetTop );
			
			var flvMjrVer = parseInt( inc_browserFlvMjrVer );
			if( btnDisplayNext != null )
			{
				if( inc_browserFlavor == "SAFARI" && flvMjrVer < 312 )
				{
					//Don't set any height for this old version of SAFARI
				}
				else
				{
					tblContainer.style.height = height - btnDisplayNext.offsetHeight - 3 + "px";
				}
				
				btnDisplayNext.style.visibility = "visible";
			}
			else
			{
				if( inc_browserFlavor == "SAFARI" && flvMjrVer < 312 )
				{
					//Don't set any height for this old version of SAFARI
				}
				else
				{
					tblContainer.style.height = height - 3 + "px";
				}
			}
			
			tblContainer.style.visibility = "visible";
		}
	}

	/***********************************************************************
	*
	**********************************************************************/
	function handleMsglistPopupMenu(menuItem)
	{
		var hiddenAction = document.MessageList.elements[ "Toolbar.button" ];
		var itemDrn = document.MessageList.elements[ "Undefined" ];
		itemDrn.value = popupDrn;
		
		var baseURL = homeURL + "?User.context=" + userContext + inc_providerString + inc_urlFolderType + inc_urlFolderRightsPost + inc_urlFolderRightsDelete;
						
		if( menuItem == 1 ) //reply
		{
			var strUrl = baseURL + "&action=Item.Action&merge=xsend&Url.Item.Reply=1&Item.Read=&Item.Reply=sender&Item.drn=" + popupDrn;

			popoutComposeEx(strUrl, "_blank" );
		}
		else if( menuItem == 2 ) //forward
		{
			var strUrl = baseURL + "&action=Compose.Action&merge=xsend&Item.Enclosure.id=" + popupDrn + "&Url.Enclosure.type=forward&Item.drn=" + popupDrn;

			popoutComposeEx(strUrl, "_blank" );
		}
		else if( menuItem == 3 ) //accept 
		{
			hiddenAction.name = "Item.Accept";
			bHoldSelection = false;
			
			if( isItemSelected() == false )
			{
				itemDrn.name = "Item.drn";
			}
			
			document.MessageList.submit();
		}
		else if( menuItem == 4 ) //decline
		{
			hiddenAction.name = "Item.Decline";
			bHoldSelection = false;
			
			if( isItemSelected() == false )
			{
				itemDrn.name = "Item.drn";
			}
			
			document.MessageList.submit();
		}
		else if( menuItem == 5 ) //complete
		{
			hiddenAction.name = "Item.Complete";
			bHoldSelection = false;
			
			if( isItemSelected() == false )
			{
				itemDrn.name = "Item.drn";
			}
			
			document.MessageList.submit();
		}
		else if( menuItem == 6 ) //delete
		{
			hiddenAction.name = "Item.Delete";
			bHoldSelection = false;
			
			if( isItemSelected() == false )
			{
				itemDrn.name = "Item.drn";
			}
			
			document.MessageList.submit();
		}
		else if( menuItem == 7 ) //readlater
		{
			hiddenAction.name = "Item.ReadLater";
			bHoldSelection = false;
			
			if( isItemSelected() == false )
			{
				itemDrn.name = "Item.drn";
			}
			
			document.MessageList.submit();
		}
		else if( menuItem == 10 ) //markread
		{
			hiddenAction.name = "Item.MarkRead";
			bHoldSelection = false;
			
			if( isItemSelected() == false )
			{
				itemDrn.name = "Item.drn";
			}
			
			document.MessageList.submit();
		}
		else if( menuItem == 11 ) //move
		{
			hiddenAction.name = "Folder.List";
			bHoldSelection = false;
			
			if( isItemSelected() == false )
			{
				itemDrn.name = "Item.drn";
			}
			
			document.MessageList.submit();
		}
		else if( menuItem == 8 ) //properties
		{
			var sUrl = baseURL + "&action=Item.Action&Item.Properties=&Item.Read=&Url.Folder.type=&tab=1&Folder.name=&Folder.id=&merge=msgitem&Item.drn=" + popupDrn + "&Item.Enclosure.id=" + popupDrn;
			popout( sUrl, "ItemView" );
		}
		else if( menuItem == 9 ) //open
		{
			doPopout(popupDrn, "&Url.Folder.type=" + inc_folderType + inc_findUpdateList + inc_rightsDeleteAndPost + inc_sentValue, 0);
		}
		else
		{
			alert( "Unhandled menu item: " + menuItem );
		}
	}



	/***************************************************************
	* 
	***************************************************************/
	function getSelectedMsgItems( msgListCount )
	{
		var i = 0;
		var msgItem = null;
		var msgItemId = "";
		var msgItemDRNList = "";
		for( ; i <  msgListCount && bHoldSelection == true; i++ )
		{
			msgItemId = "msgitem" + (i + 1);
			msgItem = document.getElementById( msgItemId );
			if( msgItem == null )
				break;	// no more message items
			else
			{
				if( msgItem.checked )
					msgItemDRNList = msgItemDRNList + "," + msgItem.value;
			}
		}

		if( msgItemDRNList != "" )
			document.cookie = "webacc-selectedmsgitems="+msgItemDRNList+";expires="+(new Date(new Date().getTime()+31104000000)).toGMTString()+";path=/;";
		else 
			document.cookie = "webacc-selectedmsgitems=;path=/;";	// clear any previously set cookies
			
	}

	/***************************************************************
	* 
	***************************************************************/
	function setSelectedMsgItems( msgListCount )
	{
		var i = 0;
		var msgItem = null;
		var msgItemId = "";
		var msgItemDRN = "";
		var selectedMsgItems = readCookie("webacc-selectedmsgitems");

		if( selectedMsgItems )
		{
			// Loop through current items and check the ones that are in selected list
			for( ; i <  msgListCount; i++ )
			{
				msgItemId = "msgitem" + (i + 1);
				msgItem = document.getElementById( msgItemId );
				if( msgItem == null )
					break;	// no more message items
				else
				{
					// Only look for the drn - other parts of the "value" can 
					// change depending on the action
					msgItemDRN = msgItem.value.substr( 0, msgItem.value.indexOf("z") );

					// See if this message item is in the list- if so, check it
					if( selectedMsgItems.indexOf( msgItemDRN ) != -1 )
					{
						msgItem.checked = 1;
						selectRow(msgItem);
					}
				}
			}

		}

	}
	

	
