﻿ctx = new ContextInfo(); 
ctx.imagesPath = '/_layouts/images/';
ctx.PortalUrl = '';
if (ctx.PortalUrl == '') ctx.PortalUrl = null;
ctx2 = ctx;

function OverrideCreateMenu( e )
{
	var ctx=currentCtx;
	if( !e ) 
         { e = window.event; }
    var srcElement=e.srcElement ? e.srcElement : e.target;
    if (itemTable==null || imageCell==null ||
	    (onKeyPress==false &&
	     (srcElement.tagName=='A' ||
	      srcElement.parentNode.tagName=='A')))
	    return;
    var container = itemTable;

	IsMenuShown=true;
	document.body.onclick='';
	var m;
    m=CMenu( currentItemID + '_menu' );
    if (!m)
	    return;

	var element = srcElement;

	while( element[ 'id' ].indexOf( 'MenuItemTable' ) == -1 )
	{
		if( element.parentElement )
		{
			element = element.parentElement;
		}
		else
		{
			element = element.parentNode;
		}
	}
	
	var menuItems = element.attributes['menuItems'].nodeValue.split( '|' );
	var menuPics = element.attributes[ 'menuPics' ].nodeValue.split( '|' );
	var actionTypes = element.attributes[ 'actionTypes' ].nodeValue.split( '|' );

	for( var i = 0; i < menuItems.length - 1; i++ )		
	{
	    var j = 0;
	    
		var caption = menuItems[ i ];
		var menuPic = ( menuPics[ i ] != '' ? ctx.imagesPath + menuPics[ i ] : '' );
		var action = actionTypes[ i ];

		if( action != "" )
		{
			CAMOpt(m, caption, 'javascript:{ window.location = "' + action + '"}', menuPic );
		}
		else
		{
			if( document.all )
			{
				CAMOpt(m, caption, unescape( itemTable.rows[ 0 ].cells[ 0 ].all[ 'ActionsDiv' ].all[ i * 2  ].all[ 0 ].href ), menuPic );
			}
			else
			{
//			  CAMOpt(m, caption, unescape( itemTable.rows[0].cells[0].getElementsByTagName('div').namedItem('ActionsDiv').childNodes[ i * 2 + 1 ].childNodes[0].href ), menuPic );

                CAMOpt(m, caption, unescape( itemTable.rows[0].cells[0].getElementsByTagName( 'div' ).namedItem( 'ActionsDiv' ).getElementsByTagName( 'a' )[ j++ ].href ), menuPic );
			}
		}
	}

	currentEditMenu=m;
    container.onmouseout=null;
    OMenu(m, container, null, null, -1);
    itemTable=GetSelectedElement(container, 'TABLE');
    m._onDestroy=OutItem;
    e.cancelBubble=true;
    return false;
}

function OverrideOnItem(elm)
{
	OnItem( elm )
	
	itemTable.onclick = OverrideCreateMenu;
	itemTable.oncontextmenu = OverrideCreateMenu;
}
