<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>red_query_essential.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -94,12 +94,13 @@ class Element &lt; Array
   end
 
   def find(css_selector)
-    Element.new(`#{@jq_native}.find(#{css_selector}.__value__)`)
+    e = Element.new(`#{@jq_native}.find(#{css_selector}.__value__)`)
+    raise &quot;[red_query/Element.find] Not found: #{css_selector}&quot; unless e.length &gt; 0
+    return e
   end
   
   def find_first(css_selector)
     result = find(css_selector)
-    throw &quot;[red_query] not found: #{css_selector}&quot; unless result
     # return nil unless result
     result[0]
   end
@@ -186,11 +187,18 @@ class Element &lt; Array
     `#{@jq_native}.mouseup(function (event) { return #{callback}.m$call(event); })`
   end
   
+  def hover(over_block, out_block)
+    over_fn = mouse_event(over_block)
+    out_fn = mouse_event(out_block)
+    `#{@jq_native}.hover(function(event){return #{over_fn}.m$call(event);}, function(event){return #{out_fn}.m$call(event);})`
+  end
+
+  # only for jquery 1.3+
   # def mouse_enter(&amp;block)
   #   callback = mouse_event(block)
   #   `#{@jq_native}.mouseenter(function (event) { return #{callback}.m$call(event); })`
   # end
-  
+  # 
   # def mouse_leave(&amp;block)
   #   callback = mouse_event(block)
   #   `#{@jq_native}.mouseleave(function (event) { return #{callback}.m$call(event); })`
@@ -239,7 +247,8 @@ class Element &lt; Array
     if pos.nil?
       `#{@jq_native}.scrollTop()`
     else
-      `#{@jq_native}.scrollTop(#{pos})`
+      # `#{@jq_native}.scrollTop(#{pos})`
+      `#{@jq_native}.animate({scrollTop: #{pos}}, 500, &quot;swing&quot;)`
     end
   end
 
@@ -256,6 +265,6 @@ class Element &lt; Array
   end
 
   def parent
-    Element.new(`#{@jq_native}.parent()`)
+    Element.new(`jQuery(#{@jq_native}.parent().get(0))`)
   end
 end</diff>
      <filename>lib/element.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,14 +1,6 @@
 require 'lib/observable'
 require 'lib/json'
-require 'lib/ajax'
-require 'lib/browser'
-require 'lib/cookie'
-require 'lib/events'
-require 'lib/document'
-require 'lib/history'
-require 'lib/location'
 require 'lib/singleton'
 require 'lib/string'
-require 'lib/timer'
-require 'lib/interval'
 require 'lib/returning'
+require 'red_query_essential'</diff>
      <filename>red_query.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d9d0806da6d7dc4d5155321598b92d7a63e4f8ff</id>
    </parent>
  </parents>
  <author>
    <name>Julius Eckert</name>
    <email>eckert.julius@gmail.com</email>
  </author>
  <url>http://github.com/julius/red_query/commit/abd028a65b5c7bac49d6cb21ba303c780c2fb117</url>
  <id>abd028a65b5c7bac49d6cb21ba303c780c2fb117</id>
  <committed-date>2009-10-27T09:11:42-07:00</committed-date>
  <authored-date>2009-10-27T09:11:42-07:00</authored-date>
  <message>split red_query.rb for testing dependencies + Element.hover + Exception for Element.find</message>
  <tree>c5db244e6c858bc4968dea146d1c84ebbe65d71e</tree>
  <committer>
    <name>Julius Eckert</name>
    <email>eckert.julius@gmail.com</email>
  </committer>
</commit>
