Event.addBehavior({
  '#container_calendario': Remote.Links,
  '.navegaanews': Remote.Links,
  '#publications': Remote.Links({tagName: 'area'}),
  '.images_list': Controls.ChangeImage({
    replace_src: {from: '_thumb.', to: '_card.'},
    callback: function(element) {
      var piedefoto = $('piedefoto');
      var alt = element.down('img').alt;
      if (alt) {
        piedefoto.show();
        piedefoto.update('Foto: ' + alt);
      } else piedefoto.hide();
      $(this.options.big_image).up('a').href = element.href;
    }
  }),
  '#dentrocajaprensa': Remote.Links({tagName: '.navegadornoticias a'}),
  '#events_categories': Remote.Link,
  '.cajaasociaciones form': Remote.Form,
  '.encuestas form': Remote.Form,
  '.encuestas a': Remote.Link,
  '.cajaasociaciones:click': Event.delegate({
    'a.ajax': function(e) {
      var element = e.element();
      if (element.tagName.toLowerCase() != 'a') element = element.up('a');
      e.stop();
      new Ajax.Request(element.href, {method: 'get'});
    }
  })
});

Effect.SwitchWithEffects = function(old_element, new_element, options) {
  old_element = $(old_element);
  new_element = $(new_element);
  
  new_element.hide();
  new_element.absolutize();
  new_element.clonePosition(old_element, {setWidth: false, setHeight: false});
  new_element.setStyle({zIndex: options.zIndex || 1, width: '', height: ''});
  new_element.up().setStyle({
    width: Math.max(new_element.getWidth(), old_element.getWidth())+'px',
    height: Math.max(new_element.getHeight(), old_element.getHeight())+'px', overflow: 'hidden'
  });
  
  var effects = [];
  if (options.effect_for_old) effects.push(new Effect[options.effect_for_old](old_element, Object.extend(options.options_for_old || {}, {sync: true})));
  if (options.effect_for_new) effects.push(new Effect[options.effect_for_new](new_element, Object.extend(options.options_for_new || {}, {sync: true})));
  if (effects.size() == 0) return;
  
  var afterEffect = options.afterFinish || Prototype.K;
  var beforeEffect = options.beforeStart || Prototype.K;
  return new Effect.Parallel(effects,
    Object.extend(options, {afterFinish: function() {
      old_element.remove();
      new_element.relativize();
      new_element.setStyle({top: '0px', left: '0px', zIndex: 0});
      new_element.id = old_element.id;
      new_element.up().setStyle({width: '', height: '', overflow: ''});
      afterEffect();
    }, beforeStart: function() {
      beforeEffect();
      new_element.show();
    }
  }));
};

Event.onReady(function() {
  $$("#dentrocajaprensa .navegadornoticias").invoke("show");

  var globalHandlers = {
    onCreate: function() {
      var item = $('loader');
      if (!item.visible()) {
        var size = item.getDimensions();
        var dim = document.viewport.getDimensions();
        item.style.left = (dim.width - size.width)/2 + "px";
        item.style.top = (dim.height - size.height)/2 + "px";
        if (item.getStyle('position') == 'absolute') {
          var offsets = document.viewport.getScrollOffsets();
          item.style.left = parseInt(item.style.left) + offsets.left + "px";
          item.style.top = parseInt(item.style.top) + offsets.top + "px";
        }
      }
      item.show();
    },
    onComplete: function() {
      if(Ajax.activeRequestCount == 0){
        Element.hide('loader');
      }
    }
  };
  Ajax.Responders.register(globalHandlers);
});
