addEvent(window, 'load', init);

function init()
{
   var addLinks = css.getElementsByClass(document, 'addReminder', 'a');

   for(var i = 0; i < addLinks.length; i++)
   {
      addEvent(addLinks[i], 'click', addReminder);

      addLinks[i].href='#';
   }

   var delLinks = css.getElementsByClass(document, 'delReminder', 'a');

   for(var i = 0; i < delLinks.length; i++)
   {
      addEvent(delLinks[i], 'click', delReminder);

      delLinks[i].href='#';
   }
}

function addReminder(e)
{
   var event = getEventTarget(e).id.substr(1);

   xajax_addReminder(event);

   return false;
}

function delReminder(e)
{
   var event = getEventTarget(e).id.substr(1);

   xajax_delReminder(event);

   return false;
}

function reminderAdded(event, succeeded)
{
   if(!succeeded)
   {
      // The AJAX call failed to add the reminder. Fall back to the form -- it can give the user an error more easily.
      top.location = '/prefs-remind.php?action=set&event=' + event;
      return;
   }
   
   var wrapper = document.getElementById('reminder' + event);

   new Effect.Highlight(wrapper, {startcolor: '#9AD8A4', endcolor: '#dbe6fa', duration: 0.5, afterFinish: function() {
      wrapper.innerHTML = 'Reminder set (<a class="delReminder" id="e' + event + '" onclick="delReminder(event);" href="#">remove</a>)';
      }});

   return;
}

function reminderDeleted(event, succeeded)
{
   if(!succeeded)
   {
      // The AJAX call failed to add the reminder. Fall back to the form -- it can give the user an error more easily.
      top.location = '/prefs-remind.php?action=remove&event=' + event;
      return;
   }
   
   var wrapper = document.getElementById('reminder' + event);

   new Effect.Highlight(wrapper, {startcolor: '#D89A9A', endcolor: '#dbe6fa', duration: 0.5, afterFinish: function() {
      wrapper.innerHTML = '<a class="addReminder" id="e' + event + '" onclick="addReminder(event);" href="#">Set reminder &raquo;</a>';
      }});

   return;
}