package com.guru.component.friendPanel
{
	import com.guru.call.FunctionCall;
	import com.guru.call.ICall;
	import com.guru.display.button.LabelButton;
	import com.guru.display.externalLoader.LoaderQueue;
	import com.guru.display.LabelMovieClip;
	import com.guru.display.scrollPanel.GuruScrollPanel;
	import com.guru.facebook.FacebookDataBridge;
	import com.guru.component.friendPanel.friendSelector.FriendSelector;
	import com.guru.component.panel.Panel;
	import com.guru.component.panel.PanelBase;
	import com.guru.display.scrollPanel.ScrollPanel;
	import com.guru.utils.TimerUtil;
	import com.guru.utils.TraceUtil;
	import flash.display.Bitmap;
	import flash.display.MovieClip;
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class FriendPanel extends PanelBase
	{
		private var mFriendSelector:FriendSelector;
		private var mHoriSegment_num:Number = 0;
		private var mQuota_num:Number = 0;
		
		public function FriendPanel(pTimeline_mc:MovieClip, pName_str:String, pHoriSegment_num:Number = 3, pQuota_num:Number = 10)
		{
			super(pTimeline_mc, pName_str);
			
			mHoriSegment_num = pHoriSegment_num;
			mQuota_num = pQuota_num;
		}
		
		override public function showPanel(pDoneCall:ICall = null, pData_obj:Object = null):void 
		{
			var quota_num:Number = mQuota_num;
			
			if (pData_obj && pData_obj["quota"])
				quota_num = pData_obj["quota"];
				
			mFriendSelector = new FriendSelector(mContent_mc.friendSelector_mc, quota_num, mHoriSegment_num);
			
			var selectCall:ICall = null;
			if (pData_obj && pData_obj["selectCall"])
				selectCall = pData_obj["selectCall"];
				
			mFriendSelector.setSelectCall(new FunctionCall(this, onSelectFriend, selectCall));
			
			super.showPanel(pDoneCall, pData_obj);
		}
		
		override protected function onPanelHideDone(pDoneCall:ICall = null):void 
		{
			if (mFriendSelector)
			{
				mFriendSelector.dispose();
				mFriendSelector = null;
			}
			
			super.onPanelHideDone(pDoneCall);
		}
		
		private function onSelectFriend(pDoneCall:ICall, pFriendData_array:Array):void
		{
			this.hidePanel();
			
			TraceUtil.printArray(pFriendData_array);
			
			if(pDoneCall)
				pDoneCall.execute(pFriendData_array);
		}
	}

}