var buttonClasses = [ // CSS class names to be augmented with button press event handlers.
	"small_button",
	"form_button"
];

function buttonsInit() {
	var i;
	for (i = 0; i < buttonClasses.length; i++) {
		$$("."+buttonClasses[i]).each(function(element) {
			if (!element.hasClassName(buttonClasses[i]+"_disabled")) {
				if (element.hasClassName("_toggle")) { // toggle mode - a bit different
					element.observe("mousedown", function (event) {
						var className = getButtonClassName(event.element(), false);
						if (className) 	// button is not pressed
							event.element().removeClassName(className).addClassName(className + "_pressed");
						else			// button is not pressed
							buttonOut(event)
					});
				} else {
					element.observe("mousedown", function (event) {
						var className = getButtonClassName(event.element(), false);
						if (className && !event.element().hasClassName(className+"_disabled"))
							event.element().removeClassName(className).addClassName(className + "_pressed");
					});
					element.observe("mouseup", buttonOut);
					element.observe("mouseout", buttonOut);
				}
			}
		});
	}
}

function buttonOut(event) {
	var className = getButtonClassName(event.element(), true);
	if (className)
		event.element().removeClassName(className + "_pressed").addClassName(className);
}

function getButtonClassName(element, isPressed) {
	var pressed = (isPressed) ? "_pressed" : "";
	var i;
	for (i = 0; i < buttonClasses.length; i++) {
		if (element.hasClassName(buttonClasses[i] + pressed))
			return buttonClasses[i];
	}
}
