var Function = {

	call: function(func, firstParam, extraParams) {
		if (typeof(func) === 'function') {
			if (Variable.isArray(extraParams) && !Variable.isEmpty(extraParams, 'array')) {
				extraParams.unshift(firstParam);
				return func.apply(this, extraParams);
			}
			else {
				return func.call(this, firstParam);
			}
		}
		throw new Error("Call: first parameter is not a valid function.");
	}

};

