summaryrefslogtreecommitdiff
path: root/bPod/com/threads/ThreadSelectionSystem.as
blob: c94b57d4c417fd9af4defffa245a5488b01fbba4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import com.keywords.KeywordSelectionSystem;
import com.events.EventBroadcaster;
import com.tubes.BuckyFileTube;
import com.services.BuckyServices;

class com.threads.ThreadSelectionSystem extends KeywordSelectionSystem {

	private var itemsPerRow:Number		=	1;
	private var vertSpace:Number		=	1;
	private var tube:BuckyFileTube;
		
	private function doAction():Void {
		eraseExistingSpinners();
		BuckyServices.setActiveThread( selectedData() );
		EventBroadcaster.getInstance().addEventListener("fileListMade", this);
		tube	=	new BuckyFileTube ( BuckyServices.files + selectedData().id );
		startButtonSpinner();
	}
	
	
	private function showSelectedFeedback():Void {
		for (var i:Number = listItems.length ; i >= 0  ; i--) 	{
			var t:MovieClip = listItems[i];
			
			t.overlay._visible = ( currentSelection == i) ? true : false;

		}
	}

	private function eraseExistingSpinners():Void {
		for (var i:Number = 0 ; i <  listItems.length ; i++) {
			var t:MovieClip = listItems[i];
			t.alphabet_mc._visible = true;
			t.username_mc.username_txt.text = systemData[i].user;
			t["spinnerHolder"].removeMovieClip(); // kill if exists .. fail silently if not
		}
 		EventBroadcaster.getInstance().removeEventListener("threadListMade", this);
	}

	private function startButtonSpinner():Void {
		var t:MovieClip = listItems[currentSelection];
		t.alphabet_mc._visible = false;	
		t.username_mc.username_txt.text = "loading!!!";	
		t.createEmptyMovieClip ("spinnerHolder", t.getNextHighestDepth());
		t["spinnerHolder"].attachMovie ("Spinner", "spinner" , 100, {_x:196, _y:15, _width:18, _height:18});
	}


	private function fileListMade (_evt:Object):Void {
		
		eraseExistingSpinners();
		
		_root.debug.text	=	tube.articles.length;

		if (( tube.articles.length != undefined) && ( tube.articles.length != 0 )) {
			
			BuckyServices.setActiveThread ( selectedData() );
			
			setCurrentSelection ( currentSelection );
			showSelectedFeedback();

			BuckyServices.filesMC.doLoad( tube.articles , "FileButton" ); 

			EventBroadcaster.getInstance().broadcastEvent("switchToFilesView", null);

		} else if ( tube.articles.length == 0 ) {

			_root.switcher.handleOpenThreadBtn();
			var t:MovieClip = listItems[currentSelection];			
			t.username_mc.username_txt.text = "opening " + selectedData().user + "'s thread..";

		}
	}
};