Function.prototype.bind = function(object) {
    var method = this;
    var args = Array.prototype.slice.call(arguments, 1);

    return function () {
        var args2 = Array.prototype.slice.call(arguments);
        method.apply(object, args2.concat(args));
    };
};

Function.prototype.every = function(delay, obj) {
    var args = Array.prototype.slice.call(arguments, 2);
    var method = this;

    method.apply(obj, args);
    return window.setInterval(function() {
        method.apply(obj, args);
    }, delay);
};

Function.prototype.after = function(delay, obj) {
    var args = Array.prototype.slice.call(arguments, 2);
    var method = this;

    return window.setTimeout(function() {
        method.apply(obj, args);
    }, delay);
};


