(function() {
    var iCount = 0
    jQuery.showMessage = function(message, options){
        // defaults
        iCount = iCount + 1
        var sId = 'sliding_message_box' + iCount
        settings = jQuery.extend({
             id: sId,
             position: 'bottom',
             size: '90',
             backgroundColor: 'rgb(143, 177, 240)',
             delay: 1500,
             speed: 500,
             fontSize: '30px',
             fontFamily: 'tahoma'
        }, 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': '9999',
                      'background-color': settings.backgroundColor,
                      'text-align': 'center',
                      'position': 'absolute',
                      'position': 'fixed',
                      'left': '0',
                      'width': '100%',
                      'text-shadow' :'0 1px 0 #ffffff',
                      'line-height': settings.size + 'px',
                      'font-size': settings.fontSize,
                      'font-family': settings.fontFamily
                      });

            $('body').append(elem);
        }

        elem.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);

