MooTools.lang.set('en-GB', 'Date', {
  dateOrder: ['date', 'month', 'year', '/'],
  cascades: ['en-US']
});

MooTools.lang.setLanguage('en-GB');

window.addEvent ('domready', function () {
  /* Add controls to collapsible elements. */
  $$('div.collapsible').each (function(el) {
    var wrapper_el = new Element ('div');

    var show_el = new Element ('a');
    show_el.addClass ('control');
    show_el.appendText ('Show');

    var hide_el = new Element ('a');
    hide_el.addClass ('control');
    hide_el.appendText ('Hide');

    wrapper_el.adopt (show_el, hide_el);
    wrapper_el.wraps (el);

    show_el.addEvent('click', function(e) {
      e.stop();
      el.setStyle ('display','block');
      show_el.setStyle ('display', 'none');
      hide_el.setStyle ('display', 'inline');
      });

    hide_el.addEvent('click', function(e) {
      e.stop();
      el.setStyle ('display','none');
      show_el.setStyle ('display', 'inline');
      hide_el.setStyle ('display', 'none');
      });

    if (el.hasClass ('collapsed')) {
      hide_el.setStyle ('display', 'none');
      el.setStyle ('display', 'none');
    } else {
      show_el.setStyle ('display', 'none');
    }

  });

  /* Make external links open in a new window. */
  $$('a[href^="http://"]').each(function(a) {
    a.addEvent('click', function(e) {
      e.preventDefault();
      window.open (a.get('href'));
    });
  });
});


window.addEvent ('domready', function () {
  /* Make some forms ajaxey. */
  $$('form.ajaxable').each (ajax_form_create);

  /* Make some forms ask for confirmation. */
  $$('form.confirm').each (function (element) {
    element.addEvent ('submit', function (event) { return confirm ("Are you sure?"); });
  });

  /* Sort out obfuscated emails. */
  $$('span.obfuscmail').each (function (element) {
    var unobfuscated = element.get ('text').split("").reverse().join("");
    var mailto = new Element ('a', {'href': 'mailto:' + unobfuscated, 'text':unobfuscated});
    mailto.replaces (element);
  });
});

function ajax_form_create (element)
{
  var input_el = new Element ('input', {'type':'hidden', 'name':'submission_type', 'value':'async'});
  input_el.inject (element);

  var request = element.set ('send', {evalResponse:'true'});
  element.addEvent ('submit', ajax_form_submit_handler);
}

function ajax_form_submit_handler (event)
{
  event.target.send ();
  event.stop ();
  return false;
}

