function addEvent(obj, type, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(type, fn, false);
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e" + type + fn] = fn;
		obj[type + fn] = function () { obj["e" + type + fn](window.event); }
		obj.attachEvent("on" + type, obj[type + fn]);
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on" + type] = obj["e" + type + fn];
	}
}

var EventCache = function () {
	var listEvents = [];
	return {
		listEvents: listEvents,
		add: function (node, sEventName, fHandler) {
			listEvents.push(arguments);
		},
		flush: function () {
			var i, item;
			for (i = listEvents.length - 1; i >= 0; i = i - 1) {
				item = listEvents[i];
				if (item[0].removeEventListener) {
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if (item[1].substring(0, 2) != "on") {
					item[1] = "on" + item[1];
				};
				if (item[0].detachEvent) {
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
} ();

function trim(s) { return (s.replace(/^\s+|\s+$/g, '')); }

function formButtonClick(node) {
	return function () {
		(node.className == 'click') ? node.className = node.className.replace('click') : trim(node.className += ' click');
	}
}

function submitButtonMouseout(node) {
	return function () {
		node.className = '';
		node.blur();
	}
}
function init() {

	/* -- ENABLE FORM STYLING -- */
	var formContainer = $('formContainer');
	if (formContainer) {
		var submitButton = $('submit');
		addEvent(submitButton, 'mousedown', formButtonClick(submitButton));
		addEvent(submitButton, 'mouseup', formButtonClick(submitButton));
		addEvent(submitButton, 'mouseout', submitButtonMouseout(submitButton));
	}
	// document.querySelector('#darkroom img').setAttribute('src', 'http://thewebkid.com/darkroom.png');

}

addEvent(window, 'load', init);
addEvent(window, 'unload', EventCache.flush);



