// can use in case methods might not yet be available;
var _queFuncAttempts;

function attemptFuncCall(method, args, obj, noQue)
{
	var funcCaller = this;
	args = (args)?args:[];
	obj = (obj)?obj:this;
	noQue = (noQue)?noQue:false;
	try {
		if (obj[method])
		{
			obj[method].apply(funcCaller, args);
		}
		else
		{
			eval(method).apply(funcCaller, args);
		}
	}
	catch(e) {
		
		if (!noQue)
		{
			if (!_queFuncAttempts)
			{
				_queFuncAttempts = [];
			}
			
			_queFuncAttempts.push({
				obj: obj,
				method: method,
				args: args
			});
		}
	}
}
