Detecting which tile the mouse is over for isometric game

I’m making a turn based isometric strategy game similar to Tactics Ogre. I have the map drawing function down, and the character depth problem solved. I am able to both move the character (with the arrow keys), and limit the movement of the character based on the height of the map. A character, for example, can not move on to tiles that 4 tile heights above or below his or her position, nor can they move on tiles with no height (missing space) A random map function has been added for testing to see what works and doesn’t.

The problem is that to progress much further I need to add mouse functionality. Namely, I need to be able to detect which tile the mouse is hovering over. I thought this would be fairly simple, but it’s more difficult then it looks. The tiles themselves overlap, so I can’t check the mouse against individual tiles, and because the faces can be obscured by stacked tiles, I can’t check those. The solution more or less has to be mathematical.

I’m posting the .SWF, with the tops of my tiles converted to buttons that change color when mouseOver 'ed. Arrow keys move the character

http://img357.imageshack.us/my.php?image=tilemaptestuy3.swf

Any help/advice is appreciated.