package com.actiontad.utils
{

	import flash.events.*;
	import flash.net.*;

	public class LoaderHelper
	{


		public static function loadFreshFile(fileToLoad:String, completeFunc:Function, 
			errorFunc:Function, cache:Boolean = false):void
		{

			var theRequest:String = fileToLoad;
			var thefheads:Array;
	
			if (cache == false) {

				var nocaches:URLRequestHeader = 
				new URLRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
     				var nocachets:URLRequestHeader = 
				new URLRequestHeader("Cache-Control", "post-check=0, pre-check=0");
     				var expiresheads:URLRequestHeader = 
				new URLRequestHeader("Expires", "Tue, 24 April 1994 04:00:00 GMT");
     				var pragmaheads:URLRequestHeader = new URLRequestHeader("Pragma", "no-cache");

				var adate:Date = new Date();
        			var atime:String = ""+adate.getTime()+"";
        			thefheads = new Array(nocaches, nocachets, pragmaheads, expiresheads);
				theRequest += (theRequest.indexOf("?")!=-1) ? "&"+atime+"=1"+"" : "?"+atime+"";

			}
	
			var fxreq:URLRequest = new URLRequest(theRequest);
	
			var floader:URLLoader = new URLLoader();
        
			if (theRequest!=fileToLoad) {fxreq.requestHeaders = thefheads;}

        		floader.addEventListener(Event.COMPLETE, completeFunc, false, 0, true);
        		floader.addEventListener(IOErrorEvent.IO_ERROR, errorFunc, false, 0, true);

        		floader.load(fxreq);

		}

	}
}