/*
 * jQuery twitter-like alert plugin
 * 
 * The MIT License
 * 
 * Copyright (c) 2011 João Netto (hi@joaonetto.me)
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
(function($) {
	$.talert = function(message, options) {
		var defaults = {
			trigger: 'click',
			closetime: 3000,
			background: '#649b1a',
			color: '#FFFFFF',
			opacity: '.8'
		}
		
		var options = $.extend(defaults, options);	
		
		/* Append alert div on document */
		var $style = "overflow: hidden; width: 100%; text-align: center; padding: 40px 0; position: fixed; bottom: 0; left: 0;"
				+ " background-color: "+options.background+"; height: 0; color: "+options.color+"; "
				+ " font: 20px/40px arial, sans-serif; opacity: "+options.opacity+"; ";
		$("body").append("<div id=\"talert_holder\" style=\""+$style+"\">"+message+"</div>");
		
		/* Find element */
		var $talert = $("body").find("#talert_holder");
		
		/* Animation and close handler */
		var alerttimer = window.setTimeout(function () {
			$talert.trigger(options.trigger);
		}, options.closetime);
		
		/* Close element */
		$talert.animate({ height: $talert.css('line-height') || '50px'}, 200).live(options.trigger, function () {
			window.clearTimeout(alerttimer);
			$talert.animate({height: '0'}, 200, function() {
				$talert.remove();
			});
		});
	}
})(jQuery);

