| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | /** * @namespace jvm Holds core methods and classes used by jVectorMap. */var jvm = {  /**   * Inherits child's prototype from the parent's one.   * @param {Function} child   * @param {Function} parent   */  inherits: function(child, parent) {    function temp() {}    temp.prototype = parent.prototype;    child.prototype = new temp();    child.prototype.constructor = child;    child.parentClass = parent;  },  /**   * Mixes in methods from the source constructor to the target one.   * @param {Function} target   * @param {Function} source   */  mixin: function(target, source){    var prop;    for (prop in source.prototype) {      if (source.prototype.hasOwnProperty(prop)) {        target.prototype[prop] = source.prototype[prop];      }    }  },  min: function(values){    var min = Number.MAX_VALUE,        i;    if (values instanceof Array) {      for (i = 0; i < values.length; i++) {        if (values[i] < min) {          min = values[i];        }      }    } else {      for (i in values) {        if (values[i] < min) {          min = values[i];        }      }    }    return min;  },  max: function(values){    var max = Number.MIN_VALUE,        i;    if (values instanceof Array) {      for (i = 0; i < values.length; i++) {        if (values[i] > max) {          max = values[i];        }      }    } else {      for (i in values) {        if (values[i] > max) {          max = values[i];        }      }    }    return max;  },  keys: function(object){    var keys = [],        key;    for (key in object) {      keys.push(key);    }    return keys;  },  values: function(object){    var values = [],        key,        i;    for (i = 0; i < arguments.length; i++) {      object = arguments[i];      for (key in object) {        values.push(object[key]);      }    }    return values;  }};jvm.$ = jQuery;
 |