Fix javascript errors

Fixes some javascript-related issues and errors.
Something that might not be immediately obvious here: you're using ``==`` to compare a string (which is what a jQuery ``.val()`` returns) to an integer (which is how you've defined ``sponsor_addon``).

Javascript as a language happens to work here; since you said ``==`` instead of ``===`` it coerces the data types to see if they match, so there's no actual bug here.  With that being said, this is generally regarded in the Javascript community as a mistake on the part of the language (which for backwards compatibility reasons it's impossible to fix) and programmers are discouraged from ever relying on this behavior.

So it's generally considered good practice to always use ``===`` and do type conversions yourself.

To make this easier, there's actually a utility function in Uber so that you could say

```javascript
if ($.val('amount_extra') === sponsor_addon) {
```

because the ``$.val()`` utility method that Uber provides (we stick it in the jQuery ``$`` namespace which is actually an idiomatic jQuery convention and not just something weird I'm doing) automatically checks to see if the string being returned looks like an integer and if so it parses it into an actual integer so that you don't run into these kinds of issues.

On a related note, it looks like these donation levels are hard-coded in this Javascript code, but I presume that they also appear in the backend code as donation tiers.  There's an ``[integer_enums]`` section of the config file, where you could define these configurable values, e.g.

```
sponsor_addon = 50
super_sponsor_addon = 195
```

and then those become available as global config variables, which also makes them available in templates.  So you could even use them in your Javascript code, e.g.

```javascript
if ($.val('amount_extra') === {{ SPONSOR_ADDON }}) {
```

and then you wouldn't have the value repeated in two places.