$.fn.crossfade=function(o,options){var opts=$.extend({},$.fn.crossfade.defaults,options);if(!$.fn.crossfade.flag)return;if(!$(this).hasClass('crossfade-dom')){$(this).addClass('crossfade-dom');$(this).css({padding:0});$(this).prepend('<div class="crossfade-bg"><div class="crossfade-ontop"></div></div>');}var $bg=$(this).find('.crossfade-bg');var $ontop=$(this).find('.crossfade-ontop');$ontop.hide();var oCss={position:'relative','top':0,'left':0,width:'100%',height:'100%'};$bg.css(oCss);$bg.css(opts.css);$ontop.css(oCss);$ontop.css(opts.css);if(undefined===o)return;var i_css={backgroundImage:"url('"+opts.urlPrefix+o.src+"')",backgroundColor:o.color};$ontop.css(i_css);$.fn.crossfade.flag=false;$ontop.fadeIn(opts.fadeSpeed,function(){$bg.css(i_css);$ontop.hide().css({backgroundImage:'none'});$.fn.crossfade.flag=true;opts.complete();});};$.fn.crossfade.flag=true;$.fn.crossfade.defaults={urlPrefix:'',fadeSpeed:'slow',css:{backgroundRepeat:'no-repeat'},complete:function(){}};