code: function (elem) {
              var self = this;
              if (elem === undefined) return;
  
              /* Handle mapElem Hover attributes */
              if (elem.mapElem !== undefined) {
                  self.animate(elem.mapElem, elem.mapElem.attrsHover, elem.mapElem.attrsHover.animDuration);
              }
  
              /* Handle textElem Hover attributes */
              if (elem.textElem !== undefined) {
                  self.animate(elem.textElem, elem.textElem.attrsHover, elem.textElem.attrsHover.animDuration);
              }
  
              /* Handle tooltip init */
              if (elem.options && elem.options.tooltip !== undefined) {
                  var content = '';
                  // Reset classes
                  self.$tooltip.removeClass().addClass(self.options.map.tooltip.cssClass);
                  // Get content
                  if (elem.options.tooltip.content !== undefined) {
                      // if tooltip.content is function, call it. Otherwise, assign it directly.
                      if (typeof elem.options.tooltip.content === "function") content = elem.options.tooltip.content(elem.mapElem);
                      else content = elem.options.tooltip.content;
                  }
                  if (elem.options.tooltip.cssClass !== undefined) {
                      self.$tooltip.addClass(elem.options.tooltip.cssClass);
                  }
                  self.$tooltip.html(content).css("display", "block");
              }
  
              // workaround for older version of Raphael
              if (elem.mapElem !== undefined || elem.textElem !== undefined) {
                  if (self.paper.safari) self.paper.safari();
              }
          }
docs: /*
  Set the behaviour when mouse enters element ("mouseover" event)
  It may be an area, a plot, a link or a legend element
  @param elem the map element