package
{
    
    import com.adobe.viewsource.ViewSource;
    import com.signalsondisplay.blog.BlogLaunchButton;
    import com.signalsondisplay.blog.BlogSoundLoader;
    
    import flash.display.*;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.URLRequest;
    
    import fr.kikko.SystemTracker;
    
    [SWF(backgroundColor="#000", frameRate=30)]
    public class Avoid3DLight extends Sprite
    {

        private var _soundLoader:BlogSoundLoader;
        private var _launch:BlogLaunchButton;

        public function Avoid3DLight()
        {
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
            
            ViewSource.addMenuItem( this, "srcview/index.html" );

            SystemTracker.init( this );
            
            /**
             * check out russian circles!
             * http://www.myspace.com/russiancircles
             */
            _soundLoader = new BlogSoundLoader( new URLRequest( "http://www.signalsondisplay.com/blog/wp-content/uploads/as3/3d/sound_plane/harper_lewis.mp3" ) );
            _soundLoader.addEventListener( Event.COMPLETE, soundLoadComplete );
            addChild( _soundLoader );
        }
        
        private function soundLoadComplete( e:Event ):void
        {
            _soundLoader.removeEventListener( Event.COMPLETE, soundLoadComplete );
            _launch = new BlogLaunchButton( this );
            _launch.addEventListener( MouseEvent.CLICK, init );
        }
        
        private function init( e:MouseEvent ):void
        {
            _launch.removeEventListener( MouseEvent.CLICK, init );
            removeChild( _launch );
            
            var ui:UI = new UI();
            ui.x = 10;
            ui.y = 100;
            addChild( ui );
            
            var plane:LightPlane = new LightPlane();
            plane.sound = _soundLoader.sound;
            plane.ui = ui;
            addChild( plane );
        }
        
    }
    
}