(function(b){b.fn.showcase=function(e){var h=this;var g;g=b.extend({},b.fn.showcase.defaults,e);if(!/images|titles/.test(g.linksOn)){g.linksOn="images"}if(e&&e.css){g.css=b.extend({},b.fn.showcase.defaults.css,e.css)}if(e&&e.animation){g.animation=b.extend({},b.fn.showcase.defaults.animation,e.animation);if(!/horizontal-slider|vertical-slider|fade/.test(g.animation.type)){g.animation.type="horizontal-slider"}}if(e&&e.navigator){g.navigator=b.extend({},b.fn.showcase.defaults.navigator,e.navigator);if(!/top-left|top-right|bottom-left|bottom-right/.test(g.navigator.position)){g.navigator.position="top-right"}if(!/horizontal|vertical/.test(g.navigator.orientation)){g.navigator.orientation="horizontal"}if(e.navigator.css){g.navigator.css=b.extend({},b.fn.showcase.defaults.navigator.css,e.navigator.css)}if(e.navigator.item){g.navigator.item=b.extend({},b.fn.showcase.defaults.navigator.item,e.navigator.item);g.navigator.item.cssHover=b.extend({},b.fn.showcase.defaults.navigator.item.css,b.fn.showcase.defaults.navigator.item.cssHover);g.navigator.item.cssSelected=b.extend({},b.fn.showcase.defaults.navigator.item.css,b.fn.showcase.defaults.navigator.item.cssSelected);if(e.navigator.item.css){g.navigator.item.css=b.extend({},b.fn.showcase.defaults.navigator.item.css,e.navigator.item.css);g.navigator.item.cssHover=b.extend({},b.fn.showcase.defaults.navigator.item.cssHover,e.navigator.item.css);g.navigator.item.cssSelected=b.extend({},b.fn.showcase.defaults.navigator.item.cssSelected,e.navigator.item.css)}if(e.navigator.item.cssHover){g.navigator.item.cssHover=b.extend({},b.fn.showcase.defaults.navigator.item.cssHover,e.navigator.item.cssHover)}if(e.navigator.item.cssSelected){g.navigator.item.cssSelected=b.extend({},b.fn.showcase.defaults.navigator.item.cssSelected,e.navigator.item.cssSelected)}}}if(e&&e.titleBar){g.titleBar=b.extend({},b.fn.showcase.defaults.titleBar,e.titleBar);if(!/bottom|top/.test(g.titleBar.position)){g.titleBar.position="bottom"}if(e.titleBar.css){g.titleBar.css=b.extend({},b.fn.showcase.defaults.titleBar.css,e.titleBar.css)}}if(g.images.length!=0){h.css({width:g.width,height:g.height,overflow:"hidden"});for(var f in g.images){var d=new Image();d.src=g.images[f].url;d.alt=g.images[f].description||"";var c=b("<a />").attr({href:g.images[f].link||"#",target:g.images[f].target||"_self"});c.append(d);h.append(c)}}if(h.find("img:first")[0].complete){b.fn.showcase.start(h,g)}else{h.find("img:first").load(function(){b.fn.showcase.start(h,g)})}b.fn.extend({pause:function(){h.data("stopped",true)},go:function(){h.data("stopped",false)}})};b.fn.showcase.start=function(l,d){var i=0;var h=l.find("img").length;var k=l.find("img:first");var f={width:k.removeAttr("width").width(),height:k.removeAttr("height").height()};d.css.width=f.width;d.css.height=f.height;l.css(d.css).find("a").css({position:"absolute",top:"0",left:"0"}).find("img").css("border","0px");var j=b("<div id='slider' />").css({position:"absolute"});var g=b("<div id='navigator' />").css(d.navigator.css);switch(d.navigator.position){case"top-left":g.css({top:"0px",left:"0px"});break;case"top-right":g.css({top:"0px",right:"0px"});break;case"bottom-left":g.css({bottom:"0px",left:"0px"});break;case"bottom-right":g.css({bottom:"0px",right:"0px"});break}l.find("a").wrapAll(j).each(function(n){switch(d.animation.type){case"horizontal-slider":b(this).css("left",n*f.width);break;case"vertical-slider":b(this).css("top",n*f.height);break;case"fade":b(this).css({top:"0",left:"0",opacity:1,"z-index":1000-n});break}var m=b("<a href='#'>"+(d.navigator.showNumber?(n+1):"")+"</a>").css({display:"block","text-decoration":"none","-moz-outline-style":"none"}).click(function(){if(d.animation.autoCycle){clearInterval(d.animation.intervalID)}b.fn.showcase.showImage(n,l,f,d);i=n;if(d.animation.autoCycle){d.animation.intervalID=a(i,h,l,f,d)}return false}).hover(function(){if(!b(this).data("selected")){if(d.navigator.item.cssClassHover){b(this).addClass(d.navigator.item.cssClassHover)}else{b(this).css(d.navigator.item.cssHover)}}},function(){if(!b(this).data("selected")){if(d.navigator.item.cssClassHover){b(this).removeClass(d.navigator.item.cssClassHover)}else{b(this).css(d.navigator.item.css)}}}).appendTo(g);if(d.navigator.item.cssClass){m.attr("class",d.navigator.item.cssClass)}else{b.extend({},m.css,d.navigator.item);m.css(d.navigator.item.css)}switch(d.navigator.orientation){case"horizontal":m.css("float","left");break;case"vertical":m.css("float","none");break}if(d.navigator.showMiniature){b("<img />").attr({src:b(this).find("img").attr("src"),width:m.css("width").replace("px",""),height:m.css("height").replace("px",""),border:"0px"}).appendTo(m)}});if(d.navigator.autoHide){g.css("opacity",0)}l.append(g).hover(function(){if(d.titleBar.autoHide&&d.titleBar.enabled){b(c).stop().animate({opacity:d.titleBar.css.opacity,left:0,right:0,height:d.titleBar.css.height},250)}if(d.navigator.autoHide){b(g).stop().animate({opacity:1},250)}b(this).data("isMouseHover",true)},function(){if(d.titleBar.autoHide&&d.titleBar.enabled){c.stop().animate({opacity:0,height:"0px"},400)}if(d.navigator.autoHide){g.stop().animate({opacity:0},250)}b(this).data("isMouseHover",false)});if(d.titleBar.enabled){if(d.linksOn=="images"){var c=b("<div id='subBar' />").html(b("<span />").html(l.find("a:first img").attr("alt")))}else{var e=b("<a />").attr("href",l.find("a:first").attr("href")).html("<span>"+l.find("a:first img").attr("alt")+"</span>");var c=b("<div id='subBar' />").html(e);l.find("#slider a").each(function(){b(this).attr("rel",b(this).attr("href"))});l.find("#slider a").removeAttr("href")}c.css({opacity:0.5,width:"100%",overflow:"hidden","z-index":10002,position:"absolute"});if(d.titleBar.position=="top"){c.css("top","0")}else{c.css("bottom","0")}if(d.titleBar.cssClass){c.attr("class",d.titleBar.cssClass)}else{c.css(d.titleBar.css);b("a",c).css("color",d.titleBar.css.color)}if(d.titleBar.autoHide){c.css({height:"0px",opacity:0})}c.appendTo(l)}b.fn.showcase.setNavigationItem(0,l,d);if(d.animation.autoCycle){d.animation.intervalID=a(i,h,l,f,d)}};var a=function(d,c,f,g,e){return setInterval(function(){if(!f.data("stopped")){if(!f.data("isMouseHover")||!e.animation.stopOnHover){b.fn.showcase.showImage(++d%c,f,g,e)}}},e.animation.interval)};b.fn.showcase.showImage=function(d,g,h,c){var f=g.find("a");var e=g.find("a").eq(d);switch(c.animation.type){case"horizontal-slider":g.find("#slider").stop().animate({left:-(d*h.width)},c.animation.speed,c.animation.easefunction);break;case"vertical-slider":g.find("#slider").stop().animate({top:-(d*h.height)},c.animation.speed,c.animation.easefunction);break;case"fade":g.css({"z-index":"1001"});if(e.css("z-index")!="1000"){e.css({"z-index":"1000",opacity:0});f.not(e).each(function(){if(b(this).css("z-index")!="auto"){b(this).css("z-index",parseInt(b(this).css("z-index"),10)-1)}});e.stop().animate({opacity:1},c.animation.speed,c.animation.easefunction)}break}if(c.titleBar.enabled){if(c.linksOn=="titles"){b("#subBar a",g).attr({href:e.attr("rel"),target:e.attr("target")})}}b("#subBar span",g).html(e.find("img").attr("alt"));b.fn.showcase.setNavigationItem(d,g,c)};b.fn.showcase.setNavigationItem=function(d,e,c){if(c.navigator.item.cssClassSelected){e.find("#navigator a").removeClass(c.navigator.item.cssClassSelected).data("selected",false);e.find("#navigator a").eq(d).addClass(c.navigator.item.cssClassSelected).data("selected",true)}else{if(c.navigator.item.cssClass){e.find("#navigator a").eq(d).css(c.navigator.item.cssSelected).data("selected",true)}else{e.find("#navigator a").css(c.navigator.item.css).data("selected",false);e.find("#navigator a").eq(d).css(c.navigator.item.cssSelected).data("selected",true)}}};b.fn.showcase.defaults={images:[],linksOn:"images",css:{position:"relative",overflow:"hidden",border:"none",width:"",height:""},animation:{autoCycle:true,stopOnHover:true,interval:4000,speed:500,easefunction:"swing",type:"horizontal-slider"},navigator:{css:{border:"none",padding:"5px",margin:"0px",position:"absolute","z-index":1000},position:"top-right",orientation:"horizontal",autoHide:false,showNumber:false,showMiniature:false,item:{cssClass:null,cssClassHover:null,cssClassSelected:null,css:{color:"#000000","text-decoration":"none","text-align":"center","-moz-outline-style":"none",width:"12px",height:"12px",lineHeight:"12px",verticalAlign:"middle",backgroundColor:"#878787",margin:"0px 3px 3px 0px",border:"solid 1px #acacac","-moz-border-radius":"4px","-webkit-border-radius":"4px"},cssHover:{backgroundColor:"#767676",border:"solid 1px #676767"},cssSelected:{backgroundColor:"#00FF00",border:"solid 1px #acacac"}}},titleBar:{enabled:true,autoHide:true,position:"bottom",cssClass:null,css:{opacity:0.5,color:"#ffffff",backgroundColor:"#000000",height:"40px",padding:"4px",fontColor:"#444444",fontStyle:"italic",fontWeight:"bold",fontSize:"1em"}}}})(jQuery);
