<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init();">
	
	<!--	
	
	License: http://www.opensource.org/licenses/bsd-license.php
	URL: http://www.swaroopch.info/archives/2007/04/10/big-brother/

	-->
	
	<mx:Script>
		<![CDATA[
			import flash.utils.setInterval;
			import mx.events.IndexChangedEvent;
			import mx.rpc.events.ResultEvent;
			import mx.collections.ArrayCollection;
			
			[Bindable]
			private var WhatBigBrotherSays:ArrayCollection = new ArrayCollection();
			private var timer:Timer;
			private var interval:Number;
			
			public function init():void
			{
				interval = setInterval(onTick, 30 * 1000);				
				GetBigBrotherStatement.send();
			}
			
			private function onTick():void
			{
				GetBigBrotherStatement.send();
			}
				
			private function GetShouting(event:ResultEvent):void
			{
				var output:String = event.result.toString();
				var app_names:Array = output.split(',');
				WhatBigBrotherSays.removeAll();
				var n:int = app_names.length;
				for (var i:int = 0; i < n; i++)
				{
					var fields:Array = app_names[i].split('=');
					WhatBigBrotherSays.addItem(
					  { application : fields[0],
					    time : fields[1] }
					 );
				}
			}
			
			public function WhichApp(data:Object, field:String, index:Number, percentValue:Number):String
			{
				return data.application;
			}
			
		]]>
	</mx:Script>
	
	<mx:HTTPService id="GetBigBrotherStatement" url="BigBrotherSays.txt" result="GetShouting(event)"/>
	
	<mx:PieChart id="BigBrotherChart" dataProvider="{WhatBigBrotherSays}" showDataTips="true" width="100%" height="100%">
		<mx:series>
			<mx:PieSeries field="time" nameField="time" labelFunction="WhichApp"
				labelPosition="callout" fontSize="20" showDataEffect="Fade" />
		</mx:series>
	</mx:PieChart>
	
</mx:Application>
