docs: function (date) {
              var evt = {
                  date : date,
                  cancelDefault : false
              };
              this.evalCallback(this._cfg.onDateSelect, evt);
              if (evt.cancelDefault !== true) {
                  var cfg = this._cfg;
                  var dateToChange = this._dateToChange;
                  var dateToKeep = this._dateToKeep;
                  var properties = {};
                  var tmp;
                  properties[dateToChange] = date;
                  properties[dateToKeep] = cfg[dateToKeep];
                  if (properties.fromDate > properties.toDate) {
                      tmp = properties.fromDate;
                      properties.fromDate = properties.toDate;
                      properties.toDate = tmp;
                  } else {
                      tmp = dateToKeep;
                      dateToKeep = dateToChange;
                      dateToChange = tmp;
                  }
                  this.setProperty("fromDate", properties.fromDate);
                  this.setProperty("toDate", properties.toDate);
                  this._dateToChange = dateToChange;
                  this._dateToKeep = dateToKeep;
                  this._subTplModuleCtrl.setRanges(this._getRanges());
                  this.evalCallback(cfg.onchange);
              }
          }