code: function() {
  		
  		if (typeof this.__options.animationDuration == 'number') {
  			this.__options.animationDuration = [this.__options.animationDuration, this.__options.animationDuration];
  		}
  		
  		if (typeof this.__options.delay == 'number') {
  			this.__options.delay = [this.__options.delay, this.__options.delay];
  		}
  		
  		if (typeof this.__options.delayTouch == 'number') {
  			this.__options.delayTouch = [this.__options.delayTouch, this.__options.delayTouch];
  		}
  		
  		if (typeof this.__options.theme == 'string') {
  			this.__options.theme = [this.__options.theme];
  		}
  		
  		// determine the future parent
  		if (this.__options.parent === null) {
  			this.__options.parent = $(env.window.document.body);
  		}
  		else if (typeof this.__options.parent == 'string') {
  			this.__options.parent = $(this.__options.parent);
  		}
  		
  		if (this.__options.trigger == 'hover') {
  			
  			this.__options.triggerOpen = {
  				mouseenter: true,
  				touchstart: true
  			};
  			
  			this.__options.triggerClose = {
  				mouseleave: true,
  				originClick: true,
  				touchleave: true
  			};
  		}
  		else if (this.__options.trigger == 'click') {
  			
  			this.__options.triggerOpen = {
  				click: true,
  				tap: true
  			};
  			
  			this.__options.triggerClose = {
  				click: true,
  				tap: true
  			};
  		}
  		
  		// for the plugins
  		this._trigger('options');
  		
  		return this;
  	}
docs: Some options may need to be formated before being used
  
  @returns {self}
  @private