code: function() {
  		var destZoomLevel = _currZoomLevel,
  			minZoomLevel = _getMinZoomLevel(),
  			maxZoomLevel = _getMaxZoomLevel();
  
  		if ( _currZoomLevel < minZoomLevel ) {
  			destZoomLevel = minZoomLevel;
  		} else if ( _currZoomLevel > maxZoomLevel ) {
  			destZoomLevel = maxZoomLevel;
  		}
  
  		var destOpacity = 1,
  			onUpdate,
  			initialOpacity = _bgOpacity;
  
  		if(_opacityChanged && !_isZoomingIn && !_wasOverInitialZoom && _currZoomLevel < minZoomLevel) {
  			//_closedByScroll = true;
  			self.close();
  			return true;
  		}
  
  		if(_opacityChanged) {
  			onUpdate = function(now) {
  				_applyBgOpacity(  (destOpacity - initialOpacity) * now + initialOpacity );
  			};
  		}
  
  		self.zoomTo(destZoomLevel, 0, 200,  framework.easing.cubic.out, onUpdate);
  		return true;
  	}
docs: amount of pixels to drag to determine direction of swipe