docs: function(node, startListener, moveListener, endListener)
  	{
  		if (startListener != null)
  		{
  			mxEvent.addListener(node, (mxClient.IS_POINTER) ? 'pointerdown' : 'mousedown', startListener);
  		}
  		
  		if (moveListener != null)
  		{
  			mxEvent.addListener(node, (mxClient.IS_POINTER) ? 'pointermove' : 'mousemove', moveListener);
  		}
  		
  		if (endListener != null)
  		{
  			mxEvent.addListener(node, (mxClient.IS_POINTER) ? 'pointerup' : 'mouseup', endListener);
  		}
  		
  		if (!mxClient.IS_POINTER && mxClient.IS_TOUCH)
  		{
  			if (startListener != null)
  			{
  				mxEvent.addListener(node, 'touchstart', startListener);
  			}
  			
  			if (moveListener != null)
  			{
  				mxEvent.addListener(node, 'touchmove', moveListener);
  			}
  			
  			if (endListener != null)
  			{
  				mxEvent.addListener(node, 'touchend', endListener);
  			}
  		}
  	}