﻿package pages.views.components {
	import flash.ui.Mouse;

	import caurina.transitions.Tweener;

	import flash.events.MouseEvent;
	import flash.display.MovieClip;

	import com.shuhanarts.as3.Component;

	/**
	 * @author dream.kuang
	 *  Date 2010/12/31
	 */
	public class STooltip extends Component {

		private var tooltip : MovieClip;
		private var target : MovieClip;

		/**
		 * cons..
		 */
		public function STooltip(tooltip : MovieClip,target : MovieClip)
		{
			super();
			this.tooltip = tooltip;
			this.target = target;
			this.tooltip.mouseEnabled = false;
			destory();
		}
		public function init() : void
		{
			target.addEventListener(MouseEvent.MOUSE_OVER, onOver);
			target.addEventListener(MouseEvent.MOUSE_OUT, onOut);
			target.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
			tooltip.alpha = 0;
			tooltip.visible = true;
			//trace("tooltip init");
		}
		private function onOver(e : MouseEvent = null) : void
		{
			Tweener.addTween(tooltip, {alpha:1, time:tweenerTime, transition:"linear"});
			//Mouse.hide();
		}
		private function onOut(e : MouseEvent = null) : void
		{
			Tweener.addTween(tooltip, {alpha:0, time:tweenerTime, transition:"linear"});
			//Mouse.show();
		}
		private function onMove(e : MouseEvent = null) : void
		{
			var x : Number = e.stageX;
			var y : Number = e.stageY;
			Tweener.addTween(tooltip, {x:x, y:y, alpha:1, time:tweenerTime, transition:tweenerTransition});
		}
		public function destory() : void
		{
			target.removeEventListener(MouseEvent.MOUSE_OVER, onOver);
			target.removeEventListener(MouseEvent.MOUSE_OVER, onOut);
			target.removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
			tooltip.alpha = 0;
			tooltip.visible = false;
			//Mouse.show();
		}
	}
}
