<?xml version="1.0" encoding="utf-8"?>
<mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();">
	<mx:Script>
		<![CDATA[
			import com.terralever.facebook.Facebook;
			import com.terralever.facebook.data.photos.FacebookAlbum;
			import com.terralever.facebook.delegates.photos.GetAlbums_delegate;

			[Bindable] private var facebook:Facebook;
			[Bindable] private var photoAlbums:Array;
			[Bindable] private var albumPhotos:Array;
			
			private var api_key:String = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
			private var secret:String  = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

			private function init():void {
				facebook = new Facebook();
				facebook.addEventListener("ready", onFacebookReady);
				facebook.startDesktopSession(api_key, secret);
			}

			private function onFacebookReady(event:Event):void {
				showAlbumsButton.enabled = true;
			}

			private function getAlbumsReply(event:Event):void {
				var delegate:GetAlbums_delegate = event.target as GetAlbums_delegate;
				photoAlbums = delegate.albums;
			}

			private function getAlbums():void {
				facebook.photos_getAlbums(facebook.user, getAlbumsReply);
			}
			private function getPhotosReply(event:Event):void {
				albumPhotos = event.target.photos;
			}
						
			private function getPhotos(event:Event):void {
				albumPhotos = new Array();
				facebook.photos_get(null, event.target.selectedItem.aid, null, getPhotosReply);
			}
		]]>
	</mx:Script>

<mx:Button x="10" y="10" label="Start using Facebook API" click="facebook.validateDesktopSession();" id="startButton" width="166"/>

<mx:DataGrid x="9" y="195" dataProvider="{photoAlbums}" width="180" height="225" itemClick="getPhotos(event)">
	<mx:columns>
		<mx:DataGridColumn headerText="Album Name" dataField="name"/>
	</mx:columns>
</mx:DataGrid>

<mx:DataGrid x="197" y="195" width="75" rowHeight="75" height="225" dataProvider="{albumPhotos}" headerHeight="0">
	<mx:columns>
		<mx:DataGridColumn headerText="" dataField="src_small" itemRenderer="mx.controls.Image"  />
	</mx:columns>
</mx:DataGrid>

<mx:Button x="10" y="40" label="Show Albums" id="showAlbumsButton" click="getAlbums()" enabled="false"  width="166"/>

</mx:Application>
