Element.addMethods({
	observeOnce: function(element, eventType, handler) {
		var handlerWrapper = function(event) {
			Event.stopObserving(element, eventType, handlerWrapper);			
			handler.apply(element, arguments);
		}		
		Event.observe(element, eventType, handlerWrapper);
		return element;
	}
});

// EaseFromTo (adapted from "Quart.EaseInOut")
Effect.Transitions.EaseFromTo = function(pos) {
	if ((pos/=0.5) < 1) return 0.5*Math.pow(pos,4);
	return -0.5 * ((pos-=2)*Math.pow(pos,3) - 2);   
};
// EaseFrom (adapted from "Quart.EaseIn")
Effect.Transitions.EaseFrom = function(pos) {
    return Math.pow(pos,4);
};
// EaseTo (adapted from "Quart.EaseOut")
Effect.Transitions.EaseTo = function(pos) {
    return Math.pow(pos,0.25);
};



Event.observe(window, 'load', function(){
	
	
	
	$$('.buttonReset').each(function(b){
		b.observe('click',function(event){
			b=$(b);
			Event.stop(event);
			b.form.reset();
			Form.getElements(b.form).each(function(e){
				Try.these(
					function(){e.value = '';},
					function(){e.innerHTML = '';}
				);
			});
		}.bindAsEventListener(b))
	});
	
	
})