package com.guru.project.brother.collection.galleryStep 
{
	import com.guru.call.FunctionCall;
	import com.guru.call.ICall;
	import com.guru.display.button.LabelButton;
	import com.guru.project.brother.game.item.GiftItem;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.MovieClip;
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class GalleryItem
	{
		private var mTimeline_mc:MovieClip;
		private var mItem:GiftItem;
		private var mBtn:LabelButton;
		private var mPressCall:ICall;
		private var mSpacer_mc:MovieClip;
		private var mCid_str:String;
		
		public function GalleryItem(pTimeline_mc:MovieClip, pItemData_str:String, pCid_str:String = "")
		{
			mTimeline_mc = pTimeline_mc;
			mCid_str = pCid_str;
			
			mBtn = new LabelButton(mTimeline_mc.galleryItemBtn_mc);
			mItem = new GiftItem(mBtn.getInnerTimeline().item_mc);
			mBtn.setPressCall(new FunctionCall(this, onBtnPress));
			mSpacer_mc = mTimeline_mc.spacer_mc;
			
			if (pItemData_str.length > 0)
			{
				mItem.setDataInStringFormat(pItemData_str);
			}
			else
			{
				mBtn.enabled = false;
			}
		}
		
		public function getCid():String
		{
			return mCid_str;
		}
		
		public function getWidth():Number
		{
			return mSpacer_mc.width;
		}
		
		public function getHeight():Number
		{
			return mSpacer_mc.height;
		}
		
		public function reset():void
		{
			mBtn.reset();
		}
		
		public function onPress():void
		{
			mBtn.onPress();
		}
		
		public function setPressCall(pCall:ICall):void
		{
			mPressCall = pCall;
		}
		
		public function getTimeline():MovieClip
		{
			return mTimeline_mc;
		}
		
		public function dispose():void
		{
			mBtn.dispose();
			mItem.dispose();
			mPressCall = null;
			mTimeline_mc = null;
		}
		
		private function onBtnPress():void
		{
			if(mPressCall)
				mPressCall.execute();
		}
		
	}

}