docs: function handler(e) {
  			// allow tab navigation (conditionally)
  			if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {
  				if (pageBlock && e.data.constrainTabKey) {
  					var els = pageBlockEls;
  					var fwd = !e.shiftKey && e.target === els[els.length-1];
  					var back = e.shiftKey && e.target === els[0];
  					if (fwd || back) {
  						setTimeout(function(){focus(back);},10);
  						return false;
  					}
  				}
  			}
  			var opts = e.data;
  			var target = $(e.target);
  			if (target.hasClass('blockOverlay') && opts.onOverlayClick)
  				opts.onOverlayClick(e);
  
  			// allow events within the message content
  			if (target.parents('div.' + opts.blockMsgClass).length > 0)
  				return true;
  
  			// allow events for content that is not being blocked
  			return target.parents().children().filter('div.blockUI').length === 0;
  		}