Element.Methods.setInputsDisabled = function(element, disabled) {
	var disable = function(e) {
    e.disabled = disabled;
  };

  $(element).select('input').each(disable);          
  $(element).select('select').each(disable);	
};

PeriodicalExecuter.prototype.start = function() {
  if (!this.timer) {
    this.registerCallbak();
  }
};

turn_on_ajax_failures = function() {
    Ajax.Request.prototype.successWithoutForcedFailure = Ajax.Request.prototype.success;
    Ajax.Request.prototype.success = function() {  
      return false;
    };
    
    Ajax.Updater.prototype.successWithoutForcedFailure = Ajax.Updater.prototype.success;
    Ajax.Updater.prototype.success = Ajax.Request.prototype.success;
}

turn_off_ajax_failures = function () {
    Ajax.Request.prototype.success = Ajax.Request.prototype.successWithoutForcedFailure;
    Ajax.Updater.prototype.success = Ajax.Updater.prototype.successWithoutForcedFailure;
}

execute_test_ajax = function(url) {
	new Ajax.Request(url);
}

execute_test_ajax_with_existing_onFailure = function(url, destination_url) {
	new Ajax.Request(url, {
		onFailure: function() {
			window.location = destination_url;
		}
	});
}

Ajax.Responders.register({
  onCreate: function(request, transport, json) {
		var shouldAddDefaultOnFailure = !request.options.onFailure && !request.options.on500 && !request.options.on503
		if (shouldAddDefaultOnFailure) {
			request.options.onFailure = function(response) {
				if (response.status == 503) {
					window.location = error_page_urls.code_503;
				} else {
					window.location = error_page_urls.code_500;
				}
			}
		}
  }
});

