Sorry, Spider, I would probably try to help, but I am buried up to my neck in stuff to do already. I am sure most of the other devs are as well right now, or they may just not have time to help with this issue. If it was something simple that I was already familiar with, I could probably give some pointers at least, but I don't really know anything about what you are needing and it would take a bit of research for me to even know where to start.
Basically, I am just saying that if you don't get much assistance on this issue, try not to get too upset about it
Hopefully someone will see it and know what needs to be done. Most times, I find that if I need help with code, it is hard to get it unless it is something that another coder is interested in. I have alot of code that I have spent quite a bit of time on only to put them aside because I couldn't get it working on my own. Since this code probably isn't something that someone else is currently already wanting to work on, it is probably unlikely that anyone else will. I am not trying to be negative in any way, just trying to let you know why it may be hard to get help with this. Sorry, I couldn't be of any real assistance this time.
BTW, I am sure what you are trying to do can be done. It is just a matter of how to actually do it.
Maybe the code in this post can be of some use to you:
http://www.eqemulator.net/forums/showthread.php?t=26610