(function($){if(!$.fn.c1){$.fn.c1=function(name,options){if(this.c1[name]) return this.c1[name].call(this,options);return this;}} $.fn.c1.rotator=function(options){return this.each(function(){options._root=$(this);options.images=$(options.images?options.images:'.c1-rotator-image',this);options.thumbs=$(options.thumbs?options.thumbs:'.c1-rotator-thumb',this);if(options.count>0){options.next=$(options.next?options.next:'.c1-rotator-next',this);options.prev=$(options.prev?options.prev:'.c1-rotator-prev',this);} options.pause=$(options.pause?options.pause:'.c1-rotator-pause',this);if($(this).hasClass('c1-rotator-fluid')){options.fluid=true;if($(this).css('position')!='absolute') $(this).css('position','relative');} $.fn.c1.rotator.manager.init(options);});};$.fn.c1.rotator.manager={id:0,config:[],init:function(config){config._count=0;config.images=config.images;config.thumbs=config.thumbs;config.pos=0;config.speed*=1000;config.animating=false;config.preload={};if(config.fade==null) config.fade='slow';if(config.delay==null) config.delay=0;var id=this.id++;this.config[id]=config;if(config.pause.length==0){this.config[id].images.each(function(i){$(this).bind('mouseover',function(){$.fn.c1.rotator.manager.stop(id);}).bind('mouseout',function(){$.fn.c1.rotator.manager.start(id);});});} if(config.hover==true){if(config.pause.length==0){this.config[id].thumbs.each(function(i){$(this).bind('mouseover',function(){$.fn.c1.rotator.manager.show(id,i,false);}).bind('mouseout',function(){$.fn.c1.rotator.manager.start(id);});});}}else{this.config[id].thumbs.each(function(i){$(this).click(function(){$.fn.c1.rotator.manager.show(id,i);return false;});$('a',this).click(function(){$.fn.c1.rotator.manager.show(id,i);return false;});});} if(config.count>0){config._top=0;if(config.next){config.next.click(function(){$.fn.c1.rotator.manager.next(id);}).css('cursor','pointer')[config.count>config.thumbs.length?'show':'hide']();} if(config.prev){config.prev.click(function(){$.fn.c1.rotator.manager.prev(id);}).css('cursor','pointer')[config.count>config.thumbs.length?'show':'hide']();} $.fn.c1.rotator.manager.thumbs(id);} config.pause.click(function(){$.fn.c1.rotator.manager.toggle(id);return false;});if(config.images.length>0&&$(config.images[0]).css('display')=='none'){config.pos=999999;this.preload(id,0,function(){jQuery.fn.c1.rotator.manager.show(id,0,true);});}else if(config.delay==0){this.start(id);} else window.setTimeout('jQuery.fn.c1.rotator.manager.next( '+id+' );',config.delay*1000);return id;},preload:function(id,pos,callback){var config=this.config[id];if(pos==null) pos=config.pos+1;if(pos>=config.images.length) pos=0;var preload=config.preload;if(preload[pos]!=null) return;preload[pos]=[];$(config.images[pos]).find('*[style]').each(function(){if($(this).css('display')!='none'){var src=$(this).css('background-image');if(src.indexOf('url(')>=0){var image=new Image();if(callback) image.onload=callback;image.src=src.replace(/["')]/g,'').replace(/url\(/g,'');preload[pos].push(image);}}});},prev:function(id){var pos=this.config[id].pos-1;if(pos<0) pos=this.config[id].images.length-1;this.show(id,pos,true);},next:function(id){var pos=this.config[id].pos+1;if(pos>=this.config[id].images.length){pos=0;if(this.config[id]['count']>0){this.config[id]['_count']++;if(this.config[id]['_count']>=this.config[id]['count']) return;}} this.show(id,pos,true);},show:function(id,pos,rotate){var t=this,config=t.config[id];t.stop(id);if(pos<0){rotate=config._next.rotate;pos=config._next.pos;config._next=null;} if(config.animating){config._next={pos:pos,rotate:rotate};return;} if(config.pos!=pos){var next=$(config.images[pos]);var existing=(config.images[config.pos]?$(config.images[config.pos]):$('null'));var thumb=config.thumbs[config.pos];if(thumb){if(config.thumbFade==null){t.flip($(thumb).removeClass('c1-rotator-thumb-active').find('img'));t.flip($(config.thumbs[pos]).addClass('c1-rotator-thumb-active').find('img'));}else{var thumbNew=$(config.thumbs[pos]).css('z-index',11);$(thumb).css('z-index',10);t.flip(thumbNew.addClass('c1-rotator-thumb-active').hide().find('img'));thumbNew.fadeIn(config.thumbFade,function(){t.flip($(thumb).removeClass('c1-rotator-thumb-active').hide().find('img'));});if(config.thumbFadeOut) $(thumb).fadeOut(config.thumbFade);}} config.pos=pos;if(config.fade!=0){if(config.fluid){var height=Math.max(parseInt(existing.css('height')),parseInt(next.css('height')));next.css({'position':'absolute','left':0,'top':0,'right':0}).parent().height(height);} config.animating=true;existing.css('z-index',1);next.css('z-index',2).fadeIn(config.fade,function(){existing.hide();if(config.fluid) $(this).css('position','static').parent().height('auto');$.fn.c1.rotator.manager.config[id].animating=false;if($.fn.c1.rotator.manager.config[id]._next!=null) window.setTimeout('jQuery.fn.c1.rotator.manager.show( '+id+', -1 );',10);$.fn.c1.rotator.manager.config[id]._root.trigger('c1.rotator.show');});if(config.fadeOut) existing.fadeOut(config.fade);}else{existing.hide();next.show();if(config._next!=null) window.setTimeout('jQuery.fn.c1.rotator.manager.show( '+id+', -1 );',10);}} if(config.count>0){if(config.pos=(config._top+config.count)){config._top=config.pos-config.count+1;} t.thumbs(id);} if(rotate==null||rotate==true) t.start(id);},pause:function(id){this.config[id].pause.addClass('c1-rotator-play');this.stop(id);},start:function(id){this.config[id].timeout=window.setTimeout('jQuery.fn.c1.rotator.manager.next( '+id+' );',this.config[id].speed);this.config[id].pause.removeClass('c1-rotator-play');jQuery.fn.c1.rotator.manager.preload(id);},stop:function(id){if(this.config[id].timeout){window.clearTimeout(this.config[id].timeout);this.config[id].timeout=null;}},toggle:function(id){if(this.config[id].timeout){this.stop(id);this.config[id].pause.addClass('c1-rotator-play');}else{this.start(id);this.config[id].pause.removeClass('c1-rotator-play');}},thumbs:function(id){var config=this.config[id];var start=config._top;var end=start+config.count;var classes=[];for(var i=0;i=start&&i=0){bg=bg.replace(/[)"']/g,'').replace(/url\(/g,'');var src=element.attr('src');if(src&&bg){element.attr('src',bg);alt.css('background-image','url('+src+')');}}}};})(jQuery);