(function($){
$.squeek = function(message, options){
	if(options === undefined){
		options = {};
	}
	var opts = $.extend({},$.squeek.defaults, options),
		squeekerId = opts.id + "-" + opts.name,
		$squeeker = $("#"+squeekerId);
	
	if(!$squeeker.length){
		$squeeker = $("<"+opts.squeekerTag+"/>")
				  . addClass(opts.id)
				  . attr('id',squeekerId)
				  . appendTo(opts.container);
	}
	
	if(message){
		$squeek = $("<"+opts.squeekTag+"/>")
				.addClass(opts.type)
				.css('display','none')
				.html(message)
				.prependTo($squeeker)
				.fadeIn(opts.effectSpeedIn);
		
		if(opts.life > 0){
			$squeek.delay(opts.life)
			   .fadeOut(opts.effectSpeedOut,function(){
				   $(this).remove();
			   });
		}
		else {
			$('<a title="'+opts.closeTitle+'">['+opts.closeText+']</a>')
					  .appendTo($squeek);
			$squeek.addClass(opts.stickyClass)
				   .bind('click',function(){
					   $(this).fadeOut(opts.effectSpeedOut,function(){
							   $(this).remove();
					   });
					});
		}
	}
};
$.squeek.defaults = {
	life:'5000',
	type:'success',
	name:'default',
    id:'squeeker',
    effectSpeedIn:600,
    effectSpeedOut:600,
    stickyClass: "sticky",
    closeTitle:"Dismiss",
    closeText:"Close",
    container: 'body',
	squeekerTag:'ul',
	squeekTag:'li'
};
})(jQuery);

