Your flop raise was perfect. He was semi-bluffing and you caught him. He is a moron for calling it.

I have no clue what I would have done on his turn bet.

I have a player note that I find myself using more and more that would apply to this guy: "Will can ANY BET no matter how high if he has a flush draw"