1  /**
     2   * com.sekati.load.Loader
     3   * @version 1.0.0
     4   * @author jason m horwitz | sekati.com | tendercreative.com
     5   * Copyright (C) 2007  jason m horwitz, Sekat LLC. All Rights Reserved.
     6   * Released under the MIT License: http://www.opensource.org/licenses/mit-license.php
     7   */
     8  
     9  import com.sekati.events.AbstractEventBroadcaster;
    10  import com.sekati.load.LoaderEvent;
    11  
    12  /**
    13   * CoreLoader
    14   */
    15  class com.sekati.load.Loader extends AbstractEventBroadcaster {
    16  
    17  	private var _url:String;
    18  	private var _rawURL:String;
    19  	private var _reloads:Number;
    20  	private var _reloadCount:Number;
    21  	private var _isReady:Boolean;
    22  	private var _d:Function;
    23  	private var _child:Object;
    24  
    25  	/**
    26  	 * Constructor
    27  	 */
    28  	public function Loader() {
    29  		super( );
    30  		_child = Object( this );
    31  		_isReady = false;
    32  		_reloadCount = 0;		
    33  	}
    34  
    35  	public function reload():Void {
    36  		_child.unload( );
    37  		_child.load( );
    38  	}
    39  
    40  	public function getPercent():Number {
    41  		var percent:Number = _child._container.getBytesLoaded( ) / _child._container.getBytesTotal( ) * 100;
    42  		return ( !(percent >= 0) || isNaN( percent ) ) ? 0 : Math.round( percent );
    43  	}
    44  
    45  	public function getRetryCount():Number {
    46  		return _reloadCount;
    47  	}
    48  
    49  	public function isReady():Boolean {
    50  		return _isReady;
    51  	}
    52  
    53  	public function getContainerRef():Object {
    54  		return _child._container;
    55  	}
    56  
    57  	private function onProgress():Void {
    58  		broadcastEvent( LoaderEvent.PROGRESS, _child );
    59  	}
    60  
    61  	/**
    62  	 * The raw URL passed, no cacheBuster
    63  	 */
    64  	public function getRawURL():String {
    65  		return _rawURL;
    66  	}
    67  
    68  	/**
    69  	 * The actual URL getting used, with cacheBuster
    70  	 */
    71  	public function getURL():String {
    72  		return _url;
    73  	}	
    74  }
    75