(function() {
    jQuery.showMessage = function(message, options){
        // defaults
        settings = jQuery.extend({
             id: 'message',
             position: 'top',
             size: '90',
             backgroundColor: 'rgb(0, 38, 70)',
             delay: 10000,
             color: 'rgb(255, 255, 255)',
             speed: 800,
             fontSize: '20px',
             closable: true,
             opacity: 0.8
        }, options);        
        
        var elem = $('#' + settings.id);
        var delayed;
        
        // generate message div if it doesn't exist
       
        if(elem.length == 0)
        {           
        	elem = $('body').prepend(document.createElement('div')).children(':first');
        	
        	elem.attr('id', settings.id);
            
            elem.css({'z-index': '999',
                      'background-color': settings.backgroundColor,
                      'text-align': 'center',
                      'position': 'fixed',
                      'color': settings.color,
                      'left': '0',
                      'width': '100%',
                      'line-height': settings.fontsize,
                      'font-size': settings.fontSize,
                      'display': 'none',
                      'padding': '30px 0'
                      });
            
            if(settings.opacity > 0)
            {
            	elem.css({'opacity': settings.opacity,
            			  '-ms-filter': "progid:DXImageTransform.Microsoft.Alpha(Opacity=" + (settings.opacity * 100) + ")",
            			  'filter': 'alpha(opacity=' + (settings.opacity * 100) + ')'});
            }
        }
        
        elem.html(message);
        
        if(settings.closable)
        {        	
        	elem.css('cursor', 'pointer');

        	elem.bind('click', function() { elem.fadeOut(settings.speed); });        	
        }

        if(settings.position == 'bottom')
        {
        	elem.css('bottom', 0);
	    }        

        elem.fadeIn(settings.speed);
        	
    	if(settings.delay > 0)
        { 
    		delayed = '$("#' + settings.id + '").fadeOut(' + settings.speed + ');';
	           
	        setTimeout(delayed, settings.delay);
        }	            
    };    
   
})(jQuery);
