var ip_focused = 'focused';
var ip_blured = 'blured';

var ip_button = 'button';
var ip_buttonhover = 'buttonhover';
var ip_buttonpressed = 'buttonpressed';

document.observe('dom:loaded',function (){
	var inputs = $$('input').concat($$('textarea').concat($$('select').concat($$('button').concat())));
	inputs.each(function (inp) {
		if (inp.tagName == 'BUTTON' || (inp.tagName == 'INPUT' && inp.type != 'text' && inp.type != 'password')) {
			if (inp.type == 'button' || inp.type == 'submit' || inp.type == 'reset') {
				inp.addClassName(ip_button);
				inp.observe('mouseover', function (e){
						var input = e.element();
						input.removeClassName(ip_button);
						input.removeClassName(ip_buttonpressed);
						input.addClassName(ip_buttonhover);
					});
				inp.observe('mouseout', function (e){
						var input = e.element();
						input.removeClassName(ip_buttonhover);
						input.removeClassName(ip_buttonpressed);
						input.addClassName(ip_button);
					});
				inp.observe('mousedown', function (e){
						var input = e.element();
						input.removeClassName(ip_buttonhover);
						input.removeClassName(ip_button);
						input.addClassName(ip_buttonpressed);
					});
				inp.observe('mouseup', function (e){
						var input = e.element();
						input.removeClassName(ip_button);
						input.removeClassName(ip_buttonpressed);
						input.addClassName(ip_buttonhover);
					});
			}
		}
		else {
			inp.addClassName(ip_blured);
			inp.observe('focus', function ip_focus(e){
					var input = e.element();
					input.removeClassName(ip_blured);
					input.addClassName(ip_focused);
				});
			inp.observe('blur', function ip_focus(e){
					var input = e.element();
					input.removeClassName(ip_focused);
					input.addClassName(ip_blured);
				});
		}
	});
});



