(function() {
    jQuery.showMessage = function(message, options) {
        // defaults
        settings = jQuery.extend({
            id: 'sliding_message_box',
            position: 'bottom',
            size: '90',
            delay: 3000,
            speed: 500,
            fontSize: '30px'
        }, options);

        var elem = $('#' + settings.id);
        var delayed;

        // generate message div if it doesn't exist
        if (elem.length == 0) {
            elem = $('<div></div>').attr('id', settings.id);

            elem.css({ 'z-index': '999',
                'text-align': 'center',
                'position': 'absolute',
                'position': 'fixed',
                'left': '0',
                'width': '100%',
                'line-height': settings.size + 'px',
                'font-size': settings.fontSize
            });

            if (settings.backgroundColor != null) {
                alert(settings.backgroundColor);
            }

            elemText = $('<p></p>').attr('id', settings.id + "_message");
            elem.append(elemText);
            $('body').append(elem);
        }

        //elem.html(message);
        $("#" + settings.id + "_message").html(message);

        if (settings.position == 'bottom') {
            elem.css('bottom', '-' + settings.size + 'px');
            elem.animate({ bottom: '0' }, settings.speed);
            delayed = '$("#' + settings.id + '").animate({bottom:"-' + settings.size + 'px"}, ' + settings.speed + ');';
            setTimeout(delayed, settings.delay);
        }
        else if (settings.position == 'top') {
            elem.css('top', '-' + settings.size + 'px');
            elem.animate({ top: '0' }, settings.speed);
            delayed = '$("#' + settings.id + '").animate({top:"-' + settings.size + 'px"}, ' + settings.speed + ');';
            setTimeout(delayed, settings.delay);
        }
    }
})(jQuery);
