/**
 *   jQuery Plugin "Flash" 1.0.1
 *   -------------------------------------------
 *   jquery.flash.js
 *   jquery.flash.css
 *   
 *   Copyright (c) 2009 hokuken
 *   http://hokuken.com/
 *   
 *   created  : 2009-06-02
 *   modified : 2010-02-26 bug fixed: fadeOut 後にerrorの際に付与されるClass を削除するようにした
 *   
 *   Flash displaies information box to document for few second.
 *   You must write css #flash{...}
 *   You define some mode and write css #flashMode{...}
 *
 *   Usage :
 *     $.flash("message", {mode:"warn", fadeInSp:500, fadeOutSp:500, lasting:1000})
 *
 *     in css file...
 *     #flashWarn {...}  
 *   
 */

(function() {
    jQuery.flash = function(msg, option) {
    	if (msg.toString().length == 0) return;
		
		option = jQuery.extend({
			mode: "",//flash mode: string
			css: {}, //flash's style
			fadeInSp: 500,//fade in speed: number only
			fadeOutSp: 500,//fade out speed
			lasting: 1000//lasting time for display
		}, option);
		
		var mode = (option.mode.length > 1)? option.mode.substr(0,1).toUpperCase() + option.mode.substr(1): option.mode;
		var span = option.mode.length > 0? ('flash_icon flash_icon_' + option.mode): option.mode;
		var $flash = $("#flash");
		if ($flash.length == 0) {
			$flash = jQuery('<div id="flash" class="borderRadius10 hidden'+ (mode.length>0?' '+mode:'') +'"><span class="' + span + '">'+ msg +'</span></div>').css(option.css).appendTo("body");
		} else {
			if (mode.length > 0)
				$flash.addClass(mode);
			$flash
				.html('<span class="' + span + '">'+ msg +'</span>');
		}
		if ('\v'=='v') {
			$flash.css({opacity: 0.8});
		}
		
		$flash
		.fadeIn(option.fadeInSp, function(){
			setTimeout(function(){
				$flash.fadeOut(option.fadeOutSp, function(){
					$flash.removeClass(mode);
				});

//				setTimeout(function(){$div.remove()}, option.fadeOutSp);
			},
			option.lasting
		);});
		
		return;
	};
})(jQuery);
