/// <summary>Runs a mouseover which may bubble all the way to the root from the given element.</summary>
        /// <param name="element">The element to run a mouseover on.</param>
        /// <param name="uiEvent">The event that represents the click.</param>
        public static void MouseOn(Element element, UIEvent uiEvent)
        {
            if (uiEvent.cancelBubble || element == null || element.Handler.IgnoreSelfClick)
            {
                return;
            }

            if (element.GetType() != typeof(TextElement))
            {
                element.MouseOver(uiEvent);
            }

            MouseOn(element.ParentNode, uiEvent);
        }
		/// <summary>Runs a mouseover which may bubble all the way to the root from the given element.</summary>
		/// <param name="element">The element to run a mouseover on.</param>
		/// <param name="uiEvent">The event that represents the click.</param>
		public static void MouseOn(Element element,UIEvent uiEvent){
			if(uiEvent.cancelBubble || element==null || element.Handler.IgnoreSelfClick){
				return;
			}
			
			if(element.GetType()!=typeof(TextElement)){
				element.MouseOver(uiEvent);
			}
			
			MouseOn(element.ParentNode,uiEvent);
		}