if (!window.console || !console.firebug){
	var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
	"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
	
	window.console = {};
	for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {}
}

function prePrint(obj) {
	if (!console.firebug) {
		// alert(obj);
	} else {
		console.log(obj);
	}
}

Form.Element.Methods.disable = function(element) {
	element = $(element);
	// element.blur();
	element.addClassName('disabled');
	element.disabled = true;
	return element;
};
Form.Element.Methods.enable = function(element) {
	element = $(element);
	element.disabled = false;
	element.removeClassName('disabled');
	return element;
};
Element.addMethods();

var dim = function (target, dontShow) {
	target = $(target);
	
	if (target.hasClassName('dimmer')) return target.fade({from: 0, to: 0.5, duration: 0.4}).remove();
	
	var element = new Element('div').hide().addClassName('dimmer').absolutize();
	element.clonePosition(target).identify();
	
	$(document.body).insert(element);
	
	if (dontShow) return element;
	
	return element.appear({from: 0, to: 0.5, duration: 0.4});
}

var loading = function (target) {
	return dim(target).addClassName('loading');
}