if (!window.AT) {
    AT = {};
}

AT.validateArguments = function(parameters) {
    arguments = parameters.arguments || {};
    for (var argument in parameters.defaults)
        if (typeof arguments[argument] == 'undefined')
            arguments[argument] = parameters.defaults[argument];
    return arguments;
};

AT.showWatermarks = function(element) {
    this.showWatermark($(element==null?'body':element).find('input[type="text"],input[type="password"],textarea'));
};

AT.showWatermark = function(inputElements) {
    inputElements.each(function(index, inputElement) {
        inputElement = $(inputElement);
        if (inputElement.attr('placeholder') && !inputElement.attr('data-jq-watermark'))
            inputElement.watermark(inputElement.attr('placeholder'), {fallback: true});
    });
};

AT.createButtons = function(buttons, context) {
    var $buttons = (context ? $(buttons, context) : $(buttons));
    $buttons.button().click(function(e) {
        $(this).button('disable');
        e.preventDefault();
        $(this).closest('form').submit();
    });
    $buttons.button('enable');
};

AT.createButtonLinks = function(buttons, context) {
    var $buttons = (context ? $(buttons, context) : $(buttons));
    $buttons.button();
    //$buttons.button('enable');
};

AT.disableSubmitUntilFieldHasValue = function(formAndField) {
    $('input:submit', formAndField.form).button('disable');
    $(formAndField.field, formAndField.form).bind('keyup change input paste', function() {
        if ($(this).val())
            $('input:submit', formAndField.form).button('enable');
        else
            $('input:submit', formAndField.form).button('disable');
    });
};

function at_show(selector) {
    $(selector).slideDown('slow');
}
function at_hide(selector) {
    $(selector).slideUp('slow');
}
function at_showSubmitted(buttonSelector, submittedMessage) {
    $(buttonSelector).attr("disabled", "disabled").val(submittedMessage);
}
function at_showSubmittedButton(buttonSelector, submittedMessage) {
    $(buttonSelector).text(submittedMessage);
}
function at_showLocalImagesUploaderApplet(uploadSelector, confirmationSelector, session, uploadPage, parameters) {
    $(uploadSelector).slideDown('slow', function() {
        var appletHtml = '<applet archive="http://java.appletree.com/local_images_uploader.jar,http://java.appletree.com/apache-mime4j-0.5.jar,http://java.appletree.com/httpcore-4.0.jar,http://java.appletree.com/httpclient-4.0-beta2.jar,http://java.appletree.com/httpmime-4.0-beta2.jar,http://java.appletree.com/commons-logging-1.1.1.jar" code="com.treert.applets.LocalImagesUploader.class" width="400" height="100"><param name="session" value="'+session+'"/><param name="url" value="'+uploadPage+'"/>'+parameters+'</applet>';
        $(uploadSelector).append(appletHtml);
    });
    $(confirmationSelector).fadeOut('slow');
}
function at_reply(postId) {
    at_hide('#reply_to_' + postId + '_link');
    at_show('#reply_to_' + postId);
}

