Use strict comparison where obvious
Tabs to spaces
Added a JSHint config file to check (the current) code style and detect (common) errors
Consistency changes for the current code style
Removal of excessive whitespace
Fix JSHint warning about undefined ActiveXObject
Rename component.json to bower.json, update to current Bower spec
Change comparison to be less strict.

And save a couple chars :-)
IE 10, fix error "Invalid calling object"

check the version of navigator because  IE 10 can be "Netscape" or
"Microsoft Internet Explorer".
We need to call addAttachEvent instead of attachEvent => fix error
"Invalid calling object"