function stopEvent(e, preventDefault)
{
    if (window.event) {
        // Handle IEs way of doing things...
        window.event.cancelBubble = true;
        if (preventDefault) {
            window.event.returnValue = false;
        }
    } else {
        // ...and handle the right way of doing things
        e.stopPropagation();
        if (preventDefault) {
            the_event.preventDefault();
        }
    }
    return false;
}

function confirmDelete(e, deletedObjectName)
{
    if (!confirm("Do you really want to delete " + deletedObjectName + "?")) {
        stopEvent(e, true);
    }
}

function focusElement(elementId, select) {
    var element = dojo.byId(elementId);

    element.focus();
    if (select) {
        element.select();
    }
}

function focusElementOnLoad(elementId, select)
{
    dojo.addOnLoad(function() { focusElement(elementId, select); });
}

function toggleDisplay(elementId) {
    var element = dojo.byId(elementId);
    var visible = (dojo.style(elementId, "display") != 'none');

    dojo.style(element, "display", visible ? 'none' : 'inline');
    return !visible;
}

function fadeToggleDisplay(elementId) {
    var element = dojo.byId(elementId);
    var visible = (dojo.style(elementId, "display") != 'none');

    if (visible) {
        dojo.fx.wipeOut({node: elementId, duration: 250}).play();
    } else {
        dojo.fx.wipeIn({node: elementId, duration: 250}).play();
    }
    return !visible;
}

function getEnclosingForm(obj) {
   var node = obj.parentNode;
   var i = 0;

   while (node.tagName !='FORM' && node !=null && node.tagName!='HTML'){
       node = node.parentNode;
   }
   if (node.tagName == 'HTML') {
      return null;
   }
   return node;
}
