All you need to do is remove the [i] because the mouseover callback just receives the data for the element that was moused over:
alert(d.value)
Oops, I miss read your code, the index i will refer to the path (you only seem to have one path) so the mouseover can't tell you about an individual point on the path. To do that you may want to have a circle at each point in your data array which you attach a mouseover event instead.
* Draw circles on top of the line, and put your mouseover listener
there. If you like, you can even use invisible circles with
pointer-events all.
* Use a mousemove listener rather than a mouseover listener, and then
use your scale's invert method to find the corresponding x-value. You
can then find the closest x-value in your dataset (say by using
d3.bisect) and determine the value that way.
* Use the voronoi layout to create an invisible overlay. This is a bit
like the previous approach, but finds the closest point in x & y
rather than just x. You can see an example of this technique here:
http://mbostock.github.com/d3/talk/20111018/airports.html
Mike
I'd read this tutorial:
http://bost.ocks.org/mike/path/
Mike