﻿// Mnilionic; 2007; +20xp;
// Делегатор объектов


// static
var Delegate = {

    create: function(target, func, params){
        var f = function () {
            var target = arguments.callee.target;
            var func = arguments.callee.func;
            var params = arguments.callee.params;

            var args = [], i = 0;
                while( (value = arguments[i]) != undefined) args[i++] = value;
                args.push(params)

            return func.apply(target, args);
        }
        f.target = target;
        f.func = func;
        f.params = params || null;
	    
        return f;
    }

};
