﻿// Copyright 2007. Adobe Systems Incorporated. All Rights Reserved.
package com.adobe.captivate.events 
{
	import flash.events.Event;

	/**
	 * The CPHideRolloverEvent class describes the event object passed to the event listener when a rollover item is rolled over
	 */
	 
	public class CPHideRolloverEvent extends CaptivateEvent 
	{
		/**
		*  The <code>CPHideRolloverEvent.CPHIDEROLLOVEREVENT</code> constant defines the value of the
		*  <code>type</code> property of the event object for an <code>CPHideRolloverEvent</code> event.
		*  <p>The properties of the event object have the following values:</p>
		*  <table class="innertable">
		*     <tr><th>Property</th><th>Value</th></tr>
		*     <tr><td><code>itemName</code></td><td>The name of the item that was rollover</td></tr>
		*     <tr><td><code>slideNumber</code></td><td>The slide number of the slide the item is present upon</td></tr>
		*     <tr><td><code>frameNumber</code></td><td>The frame number upon which the item rollover was hidden</td></tr>
		*     <tr><td><code>rolloverDuration</code></td><td>The duration of the item rollover </td></tr>
		*     <tr><td><code>itemType</code></td><td>The type of the item on which rollover </td></tr>
		*     <tr><td><code>itemUID</code></td><td>The UID of the item on which rollover </td></tr>
		*	</table>
		*  @eventType CPHideRolloverEvent	
		*/
		public static const CPHIDEROLLOVEREVENT:String = "CPHideRolloverEvent";
		/**
		* @private
		*/
		protected var m_ItemName:String;
		/**
		* @private
		*/
		protected var m_SlideNumber:Number;
		/**
		* @private
		*/
		protected var m_FrameNumber:Number;
		/**
		* @private
		*/
		protected var m_RolloverDuration:uint;
		/**
		* @private
		*/		
		protected var m_ItemType :Number
		/**
		* @private
		*/		
		protected var m_ItemUID :Number
		/**
		* @private
		*/		
		public function CPHideRolloverEvent(captivateVersion:String="",
			itemName:String="", itemType:Number=-1, itemUID:Number=-1, rolloverDuration: uint=-1, slideNumber:Number=0,frameNumber:Number=0,cancelable:Boolean=false)
		{
			super(CPHideRolloverEvent.CPHIDEROLLOVEREVENT,captivateVersion,cancelable);
			m_ItemName = itemName;
			m_SlideNumber = slideNumber;
			m_FrameNumber = frameNumber;
			m_RolloverDuration = rolloverDuration;
			m_ItemType = itemType;
			m_ItemUID = itemUID;
			
		}
		/**
		* @private
		*/
		public override function clone():Event
		{
			return new CPHideRolloverEvent(captivateVersion,itemName,itemType, itemUID, rolloverDuration,slideNumber,frameNumber,cancelable);
		}
		/**
		* The name of the item that was attempted
		*/
		public function get itemName():String
		{
			return m_ItemName;
		}
		/**
		* The type of the item that was attempted
		*/
		public function get itemType():Number
		{
			return m_ItemType;
		}
		/**
		* The UID of the item that was attempted
		*/
		public function get itemUID():Number
		{
			return m_ItemUID;
		}
		/**
		* rollover duration on the object
		*/
		public function get rolloverDuration():uint
		{
			return m_RolloverDuration;
		}
		/**
		* The slide number of the slide the item is present upon
		*/
		public function get slideNumber():Number
		{
			return m_SlideNumber;
		}
		/**
		* The frame number upon which the item was attempted
		*/
		public function get frameNumber():Number
		{
			return m_FrameNumber;
		}
		/*
		* @private	
		*/
		public override function toString():String
		{
			return formatToString("CPHideRolloverEvent","cancelable","eventPhase","captivateVersion","itemName","slideNumber","frameNumber");
		}
	}
}
