JavaScript: Understanding the Weird Parts - The First 3.5 Hours