code: function $adjustLocation(c) {
                  if (c.$container.parentNode !== null) {
                      // hide DOM component before move
                      // makes moving more smooth
                      var prevVisibility = null;
                      if (c.$container.style.visibility !== "hidden") {
                          prevVisibility = c.$container.style.visibility;
                          c.$container.style.visibility = "hidden";
                      }
  
                      // find a location relatively to the first parent HTML element
                      var p = c, xx = c.x, yy = c.y;
                      while (((p = p.parent) !== null) && p.isDOMElement !== true) {
                          xx += p.x;
                          yy += p.y;
                      }
  
                      c.$container.style.left = "" + xx + "px";
                      c.$container.style.top  = "" + yy + "px";
                      if (prevVisibility !== null) {
                          c.$container.style.visibility = prevVisibility;
                      }
                  }
              }
docs: +---------------------------------------- |             ^      DOM1 |             . |             .  (x,y) -> (xx,yy) than correct left .  and top of DOM2 relatively to DOM1 |    +--------.-------------------------- |    |        .       zebkit1 |    |        . |    |  (left, top) |<............+------------------------- |    |        |           DOM2 |    |        |  Convert DOM (x, y) zebkit coordinates into appropriate CSS top and left locations relatively to its immediate DOM element. For instance if a zebkit component contains DOM component every movement of zebkit component has to bring to correction of the embedded DOM elements