$(document).ready(function() {

    var messageForm = $('#messageForm');

    var submitButton = messageForm.find('.submitButton').first();
    var submitButtonSrc = submitButton.attr('src');
    var submitButtonActiveSrc = messageForm.find('.submitButtonActiveSrc').first().html();
    submitButton.mousedown(function() {
        $(this).attr('src', submitButtonActiveSrc);
    }).mouseup(function() {
        $(this).attr('src', submitButtonSrc);
    });
    submitButton.keydown(function() { $(this).mousedown() } );
    submitButton.keyup(function() { $(this).mouseup() } );

    var textarea = $('#messageBody');        
    var info = "Gillian is available for commissioned artwork in an array of media.";
    var origColor = textarea.css('color');
    textarea.val(info);
    textarea.css('color', '#808080');
    textarea.focus(function() {
        if ($(this).val() == info) $(this).val('');
        $(this).css('color', origColor);            
    });
    textarea.blur(function() {
        if ($.trim($(this).val()) == '') $(this).val(info);
        $(this).css('color', '#808080');
    });

    var messageSent = false;
    messageForm.submit(function() {

        if (messageSent) return false;      
                                                
        var message = $.trim(textarea.val());      
        if (message == "" || message == info || message == 'Please include a message.') {
            textarea.val('Please include a message.');
            return false;
        }
                        
        textarea.attr('readonly', 'readonly');
        submitButton.animate( { opacity: 0 } );
        submitButton.hide(2000);
        
        textarea.val('Sending...');
        
        $.ajax({
            type: "POST",
            url: $(this).attr('action'),
            data: { messageBody: message },
            dataType: 'json',
            success: function(data, textStatus, jqXHR) {
                textarea.val("Your message has been sent. Thank you.");
                submitButton.attr("disabled", "disabled");
            },
            error: function(jqXHR, textStatus, errorThrown) {
                // this is always returning an error. Not sure why.
                textarea.val("Your message has been sent. Thank you.");
                submitButton.attr("disabled", "disabled");
            }
        });          
        
        messageSent = true;        
        return false;
    });
 
    var menuHighlighter = $(".menuHighlighter").first();
    var firstLi = $(".artCategories li").first();
    menuHighlighter.css("top", firstLi.css("top"));
    menuHighlighter.css("left", firstLi.css("left"));
    $(".artCategories li").each(function() {
         $(this).hover(function(event) {          
            menuHighlighter.animate({
               opacity: 1.0,
               top : ($(this).offset().top - 1) + "px",
               left : ($(this).offset().left - 2) + "px",
               width : ($(this).find("a").first().width() + 4) + "px",
               height : ($(this).height() + 2) + "px"
               }, {
               queue: false,
               duration: 1250
            });
         },
         function(event) {
         });
    });

    $('.artCategories').mouseleave(function() {
        menuHighlighter.stop().animate( { opacity: 0.0 } );
    });
    
    $('.artOverlayTrigger').fancybox({
        titlePosition: 'inside',
        changeFade: 'slow'
    });
});
