[UPDATE] cleanup event handling ..refactor massive switch statement, so we can see what is what and do better mobile vs desktop event handling