(function($) {
    $.fn.wait = function(option, options) {
		milli = 1000; //3
		if (option && (typeof option == 'function' || isNaN(option)) ) { //1//5
			options = option;
		} else if (option) { //2//4
			milli = option;
		}
		// set defaults
        var defaults = {
            msec: milli,
            onEnd: options
        },
        settings = $.extend({},defaults, options);

		if(typeof settings.onEnd == 'function') {
			this.each(function() {
                setTimeout(settings.onEnd, settings.msec);
            });
            return this;
		} else {
            return this.queue('fx',
            function() {
                var self = this;
                setTimeout(function() { $.dequeue(self); },settings.msec);
            });
		}

    }
})(jQuery);
