// From Golimojo - turns constructor into subclass of superConstructor function subclass(constructor, superConstructor) { function surrogateConstructor() { } surrogateConstructor.prototype = superConstructor.prototype; var prototypeObject = new surrogateConstructor(); prototypeObject.constructor = constructor; constructor.prototype = prototypeObject; } function argSlice(args, start) { var xtr = arguments.length-2; var ar = new Array(args.length-start+xtr); var i; for (i = 0; i