code: function _fnEventFire ( sType, x, y )
  	{
  		var iFired = 0;
  		var aEvents = _oaoEvents[sType];
  		for ( var i=0 ; i<aEvents.length ; i++ )
  		{
  			if ( (aEvents[i].x == x     && aEvents[i].y == y    ) ||
  				 (aEvents[i].x === null && aEvents[i].y == y    ) ||
  				 (aEvents[i].x == x     && aEvents[i].y === null ) ||
  				 (aEvents[i].x === null && aEvents[i].y === null )
  			)
  			{
  				aEvents[i].fn( _fnCellFromCoords(x,y), x, y );
  				iFired++;
  			}
  		}
  		return iFired;
  	}
docs: /*
  Function: _fnEventFire
  Purpose:  Look thought the events cache and fire off the event of interest
  Returns:  int:iFired - number of events fired
  Inputs:   string:sType - type of event to look for
  int:x - x coord of cell
  int:y - y coord of  ell
  Notes:    It might be more efficient to return after the first event has been tirggered,
  but that would mean that only one function of a particular type can be
  subscribed to a particular node.