package com.guru.component.lang 
{
	import com.guru.call.FunctionCall;
	import com.guru.display.LabelMovieClip;
	import flash.display.MovieClip;
	import flash.events.Event;
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class LangMovieClip
	{
		private var mTimeline_mc:MovieClip;
		private var mControl:LabelMovieClip;
		private var mChangeLandID_num:Number;
		private var mContent_mc:MovieClip;
		
		public function LangMovieClip(pTimeline_mc:MovieClip)
		{
			mTimeline_mc = pTimeline_mc;
			mControl = new LabelMovieClip(mTimeline_mc, "hide");
			mContent_mc = mTimeline_mc.content_mc;
			mChangeLandID_num = LangModel.setChangeLangCall(new FunctionCall(this, onChangeLang));
			
			mTimeline_mc.addEventListener(Event.REMOVED_FROM_STAGE, onRemoveHandler);
			
			this, onChangeLang();
		}
		
		public function dispose():void
		{
			LangModel.cancelChangeLangCall(mChangeLandID_num);
		}
		
		private function onRemoveHandler(e:Event):void
		{
			this.dispose();
		}
		
		private function onChangeLang():void
		{
			mControl.playTo("hide", new FunctionCall(this, onHideDone));
		}
		
		private function onHideDone():void
		{
			this.refresh();
			mControl.playTo("show", new FunctionCall(this, onShowDone));
		}
		
		private function refresh():void
		{
			mContent_mc.gotoAndStop(LangModel.getLang());
		}
		
		private function onShowDone():void
		{
			
		}
		
	}

}