Why not try three different triggers rather than using one ?
If you insist on making just one trigger based on all events, here is what you can do inside the trigger:
IF EXISTS(SELECT * FROM inserted) AND EXISTS(SELECT * FROM deleted)
BEGIN
EXEC PROC_FOR_UPDATE
END
IF EXISTS(SELECT * FROM inserted) AND NOT EXISTS(SELECT * FROM deleted)
BEGIN
EXEC PROC_FOR_INSERT
END
IF NOT EXISTS(SELECT * FROM inserted) AND EXISTS(SELECT * FROM deleted)
BEGIN
EXEC PROC_FOR_DELETE
END