setTimeout not forwarding function's returned variables

I am trying to write a function that calculates the estimated time remaining for the movie to load. I have a function written that gets that information and I run it again with a setTimeout for 1 second then take the difference… blah blah blah. My issue gets me before i can get that calculating goodness off the ground. The first time i run the function without the setTimeout it works correctly. When i use the setTimeout, it returns the boolean value “1” signifying that it ran and didn’t fail. Somewhere in there it loses the value returned by the called function. Any thoughts? I’m sure this may not be the most efficient method for doing what I want, but it bugs me nonetheless why this isn’t working.

Here’s my code:

function getDeltaBytesLoaded(target_mc) {
	var sample1:Number = new Number();
	var sample2:Number = new Number();
	var total:Number = new Number();
	total = target_mc.getBytesTotal();
	
	sample1 = GetLoadingInfo(target_mc, "loaded");
	trace("sample1 = " + sample1);  //outputs a correct number
	sample2 = setTimeout(GetLoadingInfo, 1000, target_mc, "loaded");
	trace("sample2 = " + sample2);  //outputs '1'
}

function GetLoadingInfo(target_mc, returnWhat) {
	loadedBytes = target_mc.getBytesLoaded();
	totalBytes = target_mc.getBytesTotal();
	loadedRatio = loadedBytes / totalBytes;
	returnArray = new Array(loadedBytes, totalBytes, loadedRatio);
	switch (returnWhat) {
	case "loaded" :
		return (returnArray[0]);
		break;
	case "total" :
		return (returnArray[1]);
		break;
	case "%" :
		return (returnArray[2]);
		break;
	case "all" :
		return (returnArray);
		break;
	default :
		return (returnArray);
	}
}