1)
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
Если типом переменной id является строка, то она находит элемент в dom с таким id и возвращает его самого, в противном случае - возвращает саму переменную (которая, предполагается, является элементом dom).
2-3) Почитайте про ООП вот
тут, многое станет понятнее, я думаю.
4) Про прозрачность и плавное её изменение можете почитать
тут.