Little bit of subject line humor there =).

Ok, here I go with my question. I have a lot of 3d points, which i can form into a plane. I can also find out where a ray intersects the plane. What i want to do is feed a function with 3 points at a time (a triangle), and know if the point of intersection on the plane is within that triangle.
Code:
::strikes with bad ASCII art::
                                   / <-Ray
---------------------------------/----     
\                              /       \ 
  \                          /           \  <-Plane
    \                      /               \
      \             +---+/                   \
        \            \ /*\                     \
          \           +---+ <-Square             \
            \                                      \
             ----------------------------------------
*= instersect point.
Hope that makes sense... If anyone can help me out, I would be grateful =).

Z.

[edit]
instersect point? i cannot spell =).