package com.guru.project.component.step 
{
	import com.guru.call.FunctionCall;
	import com.guru.call.ICall;
	import com.guru.component.sectionStructure.SectionStructureStepBase;
	import com.guru.display.scrollPanel.GuruScrollBar;
	import com.guru.display.scrollPanel.GuruScrollPanel;
	import com.guru.display.Text;
	import flash.display.MovieClip;
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class ComponentStep1 extends SectionStructureStepBase
	{
		
		private var mScrollBarVert:GuruScrollBar;
		private var mScrollBarVertText:Text;
		
		private var mScrollBarHori:GuruScrollBar;
		private var mScrollBarHoriText:Text;
		
		private var mGuruScrollPanelVert:GuruScrollPanel;
		private var mGuruScrollPanelHori:GuruScrollPanel;
		
		public function ComponentStep1(pTimeline_mc:MovieClip, pNextCall:ICall = null, pPrevCall:ICall = null, pData_obj:Object = null)
		{
			super(pTimeline_mc, pNextCall, pPrevCall, pData_obj);
			
			mScrollBarVert = new GuruScrollBar(mTimeline_mc.scrollBarVert_mc, 20, true);
			mScrollBarVertText = new Text(mTimeline_mc.scrollBarVertText_mc);
			
			mScrollBarHori = new GuruScrollBar(mTimeline_mc.scrollBarHori_mc, 20, false);
			mScrollBarHoriText = new Text(mTimeline_mc.scrollBarHoriText_mc);
			
			mScrollBarVert.setUpdateCall(new FunctionCall(this, onScrollUpdate, true));
			mScrollBarHori.setUpdateCall(new FunctionCall(this, onScrollUpdate, false));
			mScrollBarVert.update(50);
			mScrollBarHori.update(0);
			
			var vertScrollPanel_mc:MovieClip = mTimeline_mc.scrollPanelVert_mc;
			var horiScrollPanel_mc:MovieClip = mTimeline_mc.scrollPanelHori_mc;
			mGuruScrollPanelVert = new GuruScrollPanel(vertScrollPanel_mc.scrollContent_mc, vertScrollPanel_mc.mask_mc, vertScrollPanel_mc.scrollBar_mc, true);
			mGuruScrollPanelHori = new GuruScrollPanel(horiScrollPanel_mc.scrollContent_mc, horiScrollPanel_mc.mask_mc, horiScrollPanel_mc.scrollBar_mc, false);
		}
		
		override public function dispose():void 
		{
			mGuruScrollPanelVert.dispose();
			mGuruScrollPanelHori.dispose();
			mScrollBarHori.dispose();
			mScrollBarVert.dispose();
			mScrollBarHoriText.dispose();
			mScrollBarVertText.dispose();
			
			super.dispose();
		}
		
		private function onScrollUpdate(pVert_bol:Boolean, pPercent_num:Number):void
		{
			if(pVert_bol)
				mScrollBarVertText.setText(pPercent_num);
			else
				mScrollBarHoriText.setText(pPercent_num);
		}
		
	}

}