img.src = "<?php echo $registry->getImageDir() . '/shout.png'; ?>";
text = document.createTextNode(" "+s+" ");
del = document.createElement('img');
+ del.id = "dest"+s+"X"+exten+"del";
del.src = "<?php echo $registry->getImageDir('horde') . '/delete-small.png'; ?>"
del.style.cursor = 'pointer';
del.setAttribute('onclick', 'delDest("'+exten+'", "device", "'+s+'")');
img.src = "<?php echo $registry->getImageDir() . '/telephone-pole.png'; ?>";
text = document.createTextNode(" "+s+" ");
del = document.createElement('img');
+ del.id = "dest"+s+"X"+exten+"del";
del.src = "<?php echo $registry->getImageDir('horde') . '/delete-small.png'; ?>"
del.style.cursor = 'pointer';
del.setAttribute('onclick', 'delDest("'+exten+'", "number", "'+s+'")');
'action': 'deleteDestination'
});
+ // Hide the delete button and replace it with a spinner
+ $("dest"+dest+"X"+exten+"del").hide();
+ spinner = document.createElement('img');
+ spinner.src = "<?php echo $registry->getImageDir('horde') . '/loading.gif'; ?>"
+ parent = $("dest"+dest+"X"+exten+"del").parentNode;
+ parent.insertBefore(spinner, $("dest"+dest+"X"+exten+"del"));
+
// FIXME: Better error handling
new Ajax.Request('<?php echo Horde::applicationUrl('ajax.php'); ?>',
{