



var formHasBeenSubmitted = false;
var defaultPleaseWaitButtonImage = '/activeaudience/images/buttons/button_please_wait.gif';
preloadImage(defaultPleaseWaitButtonImage);
var defaultPleaseWaitButtonText = 'Please Wait...';

function preloadImage(url) {
    var preload = new Image();
    preload.src = url;
}

function disableSubmitElement(button) {
    if (button.type == 'image') {
        button.src = defaultPleaseWaitButtonImage;
    } else if (button.type == 'submit') {
        button.value = defaultPleaseWaitButtonText;
    }
    button.disabled = true;
}

function isSubmittingElement(element) {
    return element.type=='image' || element.type=='submit' || element.tagName=='BUTTON';
}

function onlyOneSubmit(form) {
    // if there's a target, the form submission is opening in a new window
    // allow it to submit and don't disable the buttons
    if (form.target) return true;

    // form has already been submitted - don't submit it again
    if (formHasBeenSubmitted) return false;

    formHasBeenSubmitted = true;

    var els = form.getElementsByTagName('input');

    for (var i=0; i < els.length; i++) {
        var field = els[i];
        if (isSubmittingElement(field)) disableSubmitElement(field);
    }

    return true;
}

