Function.prototype.bind = function() {
    if (arguments.length < 2 && typeof arguments[0] == 'undefined') return this;
    var __method = this, args = [];
    for(var i = 0; i < arguments.length; i++) {
        args.push(arguments[i]);
    }
    var object = args.shift();
    return function() {
        return __method.apply(object, args.concat(arguments));
    }
}

function parentFrameResize(frameSrc) {
    var d = document;
    var frame = d.createElement('iframe');
    frame.style.display = 'none';
    frame.src = sprintf(frameSrc, d.body.offsetHeight);
    d.body.appendChild(frame);
}
