There can be only a single JavaScript handler and that will be used to handle all events. You are right that the last one will overwrite all previous changes.
You should move the logic into a client-side handler. One of the possible solutions:
1) Store event type into Tag (by using DataTagField property).
2) Create a new JavaScript event handler:
<script type="text/javascript">
function clickHandler(e) {
if (e.tag() == 'Opertunity') {
document.location = 'Opertunity.aspx?id=' + e.value();
}
else {
document.location = 'Ticket.aspx?id=' + e.value();
}
}
</script>
3. Set EventClickJavaScript to call this function (it can be done in the ASPX declaration):
EventClickJavaScript = "clickHandler(e);"
See also a similar question here:
http://forums.daypilot.org/Topic.aspx/97/event_click_javascrip_dyanmically