(function($){$.fn.slideshow=function(options){var defaults={size:{height:100,width:100},icons:{previous:'_img/img_switch_arrow_l.gif',next:'_img/img_switch_arrow_r.gif',close:'_img/closeicon.jpg','background-top':'_img/topbg.jpg','background-bottom':'_img/img_switch_bg_small.gif'},containerClassName:'slideshow',title:null,closeLabel:'Close',flexibleHeight:false,domImages:null,domRoot:null,renderTop:$.fn.slideshow.defaultEmptyFunction,renderBottom:$.fn.slideshow.createBottomBar,slideEffect:{fx:'scrollHorz',timeout:1,pager:null}};var opts=$.extend(defaults,options);var targetElement=$(this);var slideshowTitle=opts.title;if(opts.domImages===null){throw'domImages must not be null.';}if(opts.domRoot===null){throw'domRoot must not be null.';}opts.domImages=$($.grep(opts.domImages,function(element,counter){var image=$(element);if(image.attr('src')===null||image.attr('src')===undefined){image.remove();return false}else{return true}}));if(options.flexibleHeight){options.size.width=$(opts.domImages[0]).width();options.size.height=$(opts.domImages[0]).height()}else{if(typeof(opts.size.height)==="undefined"||opts.size.height.constructor!==Number||opts.size.height===undefined){throw'options.size.height must be a valid Number!';}if(typeof(opts.size.width)==="undefined"||opts.size.width.constructor!==Number||opts.size.width===undefined){throw'options.size.width must be a valid Number!';}}if(opts.size.height===0){throw'options.size.height must not be zero!';}if(opts.size.width===0){throw'options.size.width must not be zero!';}opts.size.heightInPx=opts.size.height+'px';opts.size.widthInPx=opts.size.width+'px';var imageContainer=$('<div />');imageContainer.addClass('imagecontainer');var children=targetElement.children();targetElement.empty();imageContainer.append(children);targetElement.append(imageContainer);imageContainer.css({overflow:'hidden',position:'relative',height:options.size.heightInPx,width:options.size.widthInPx,padding:'0',margin:'0'});imageContainer.wrap('<div />');var slideshowContainer=imageContainer.parent();slideshowContainer.addClass(opts.containerClassName);var topbar=opts.renderTop(opts);slideshowContainer.prepend(topbar.domRoot);var bottombar=opts.renderBottom(opts);slideshowContainer.append(bottombar.domRoot);slideshowContainer.css({overflow:'hidden',position:'relative',height:options.size.height+topbar.size.height+bottombar.size.height+'px',width:options.size.widthInPx});opts.domImages.css({padding:'0',margin:'0',top:'0',left:'0',width:opts.size.widthInPx,height:opts.size.heightInPx});opts.slideEffect.prev=targetElement.find('.previous');opts.slideEffect.next=targetElement.find('.next');opts.slideEffect.timeout=0;opts.slideEffect.after=function(e0,e1,opts){var currentSlide=opts.currSlide;var nextSlide=opts.nextSlide;var maxSlides=opts.maxSlides;var rootElement=slideshowContainer;var previousElements=rootElement.find('.previous');if(currentSlide===0){previousElements.css('visibility','hidden')}else{previousElements.css('visibility','visible')}var nextElements=rootElement.find('.next');if(nextSlide<currentSlide){nextElements.css('visibility','hidden')}else{nextElements.css('visibility','visible')}var navBar=bottombar.domRoot;if(slideshowTitle===''){var imageTitle=$(this).attr('alt');if(imageTitle===null||imageTitle===undefined){imageTitle=''}navBar.find('.title').text(imageTitle)}if(navBar){navBar.find('.position').text((currentSlide+1)+'/'+maxSlides)}return this};opts.slideEffect.pager=targetElement.find('.pager');imageContainer.cycle(opts.slideEffect);return targetElement};$.fn.slideshow.defaultEmptyFunction=function(){return{size:{height:0,width:0}}};$.fn.slideshow.createBottomBar=function(options){var targetElement=$(this);var returnObject={size:{height:0,width:0},domRoot:null};if(options.domImages.length===0){return returnObject}var NAVIGATIONBUTTON_WIDTH_HEIGHT=29;var BOTTOMMARGIN=1;var POSITIONFIELD_WIDTH=200;var isVisible=false;returnObject.domRoot=$('<div class="bottomBar" />');var navBar=$('<div class="navigation" />');navBar.css({position:'relative',background:'transparent url('+options.icons['background-bottom']+') repeat-x scroll 0pt',height:'20px'});returnObject.domRoot.append(navBar);var pager=$('<div class="pager"></div>');pager.css('display','none');returnObject.domRoot.append(pager);var prevButton=null;if(options.domImages.length>1){prevButton=$('<a href="#" class="previous"><img src="'+options.icons.previous+'" /></a>');prevButton.css({'float':'left',width:NAVIGATIONBUTTON_WIDTH_HEIGHT+'px'});isVisible=true}navBar.append(prevButton);var positionInfo=null;if(options.domImages.length>1){positionInfo=$('<span class="position">1/1</span>');positionInfo.css({'text-align':'center',align:'center','margin-left':NAVIGATIONBUTTON_WIDTH_HEIGHT+'px',width:POSITIONFIELD_WIDTH+'px','float':'left',display:'none'})}navBar.append(positionInfo);var nextButton=null;if(options.domImages.length>1){nextButton=$('<a class="next" href="#"><img src="'+options.icons.next+'" /></a>');nextButton.css({'float':'right',width:NAVIGATIONBUTTON_WIDTH_HEIGHT+'px'});isVisible=true}navBar.append(nextButton);var title=options.title;if($.isFunction(options.title)){title=options.title()}if(title===''){title=$(options.domImages).attr('alt')}var titleElement=$('<div class="title">'+title+'</div>');if(title!==null&&(title!==''||options.domImages.length>1)){titleElement.css({'text-align':'center',align:'center','margin-left':'0px','margin-right':NAVIGATIONBUTTON_WIDTH_HEIGHT+'px','font-family':'Helvetica, Arial, Verdana, sans-serif',color:'#4A5865'});isVisible=true;navBar.append(titleElement)}navBar.find('img').css('border','none');if(isVisible===true){returnObject.size.height=NAVIGATIONBUTTON_WIDTH_HEIGHT}return returnObject};$.fn.slideshow.createTopBar=function(options){var targetElement=$(this);var returnObject={size:{height:0,width:0},domRoot:null};if(options.domImages.length===0){return returnObject}var TOPBAR_HEIGHT=29;var TOPMARGIN=1;returnObject.domRoot=$('<div class="topbar"></div>');var topBar=$('<div>&nbsp;</div>');returnObject.domRoot.append(topBar);topBar.css({margin:TOPMARGIN+'px',position:'relative',background:'transparent url('+options.icons['background-top']+') repeat-x scroll 0','font-family':'Helvetica, Arial, Verdana, sans-serif',color:'#4A5865'});var closeButton=$('<a class="close" href="#">'+options.closeLabel+' <img src="'+options.icons.close+'" /></a>');closeButton.css({position:'absolute',top:'0',right:'10px','text-align':'right',align:'right','text-decoration':'none',color:'#4A5865'});topBar.append(closeButton);topBar.find('img').css('border','none');returnObject.size.height=TOPBAR_HEIGHT+TOPMARGIN*2;return returnObject}})(jQuery);