var formChanged = false;

function unsaved_callback(e) {
  if(formChanged == false) return;
  
  var el = Event.element(e);

  if((el.tagName == 'A' || (el.tagName == 'SPAN' && el.up().tagName == 'A')) && el.rel != 'nowarn' && el.up().rel !='nowarn' && !el.up('td.mceToolbarTop')) {
    if(!confirm("There may be unsaved changes on this page. Click ok to continue.")) {
      return Event.stop(e);
    }
  }
}

function saveBeforeLeaving() { 
  $$('form').each(function(form) {
    form.getElements().each(function(input) {
      input.observe('change', function() { formChanged = true; });
    });
  });
  
  $(document.body).observe('click', unsaved_callback );
}

