// Eros Fratini - eros@recoding.it
// jquery.showcase 2.0.1
(function(a){a.fn.showcase=function(c){var b=this,d;d=a.extend({},a.fn.showcase.defaults,c);if(!/images|titles/.test(d.linksOn))d.linksOn="images";if(c&&c.css)d.css=a.extend({},a.fn.showcase.defaults.css,c.css);if(c&&c.animation){d.animation=a.extend({},a.fn.showcase.defaults.animation,c.animation);if(!/horizontal-slider|vertical-slider|fade/.test(d.animation.type))d.animation.type="horizontal-slider"}if(c&&c.navigator){d.navigator=a.extend({},a.fn.showcase.defaults.navigator,c.navigator);if(!/top-left|top-right|bottom-left|bottom-right/.test(d.navigator.position))d.navigator.position=
"top-right";if(!/horizontal|vertical/.test(d.navigator.orientation))d.navigator.orientation="horizontal";if(c.navigator.css)d.navigator.css=a.extend({},a.fn.showcase.defaults.navigator.css,c.navigator.css);if(c.navigator.item){d.navigator.item=a.extend({},a.fn.showcase.defaults.navigator.item,c.navigator.item);d.navigator.item.cssHover=a.extend({},a.fn.showcase.defaults.navigator.item.css,a.fn.showcase.defaults.navigator.item.cssHover);d.navigator.item.cssSelected=a.extend({},a.fn.showcase.defaults.navigator.item.css,
a.fn.showcase.defaults.navigator.item.cssSelected);if(c.navigator.item.css){d.navigator.item.css=a.extend({},a.fn.showcase.defaults.navigator.item.css,c.navigator.item.css);d.navigator.item.cssHover=a.extend({},a.fn.showcase.defaults.navigator.item.cssHover,c.navigator.item.css);d.navigator.item.cssSelected=a.extend({},a.fn.showcase.defaults.navigator.item.cssSelected,c.navigator.item.css)}if(c.navigator.item.cssHover)d.navigator.item.cssHover=a.extend({},a.fn.showcase.defaults.navigator.item.cssHover,
c.navigator.item.cssHover);if(c.navigator.item.cssSelected)d.navigator.item.cssSelected=a.extend({},a.fn.showcase.defaults.navigator.item.cssSelected,c.navigator.item.cssSelected)}}if(c&&c.titleBar){d.titleBar=a.extend({},a.fn.showcase.defaults.titleBar,c.titleBar);if(!/bottom|top/.test(d.titleBar.position))d.titleBar.position="bottom";if(c.titleBar.css)d.titleBar.css=a.extend({},a.fn.showcase.defaults.titleBar.css,c.titleBar.css)}if(d.images.length!=0){b.css({width:d.css.width,height:d.css.height,
overflow:"hidden"});for(var e in d.images){c=new Image;c.src=d.images[e].url;c.alt=d.images[e].description||"";var f=a("<a />").attr({href:d.images[e].link||"#",target:d.images[e].target||"_self"});f.append(c);b.append(f)}}b.find("img:first")[0].complete?a.fn.showcase.start(b,d):b.find("img:first").load(function(){a.fn.showcase.start(b,d)});a.fn.extend({pause:function(){b.data("stopped",true)},go:function(){b.data("stopped",false)}})};a.fn.showcase.start=function(c,b){var d=0,e=c.find("img").length,
f=c.find("img:first"),g={width:f.removeAttr("width").width(),height:f.removeAttr("height").height()};b.css.width=g.width;b.css.height=g.height;c.css(b.css).find("a").css({position:"absolute",top:"0",left:"0"}).find("img").css("border","0px");f=a("<div id='slider' />").css({position:"absolute"});var i=a("<div id='navigator' />").css(b.navigator.css);switch(b.navigator.position){case "top-left":i.css({top:"0px",left:"0px"});break;case "top-right":i.css({top:"0px",right:"0px"});break;case "bottom-left":i.css({bottom:"0px",
left:"0px"});break;case "bottom-right":i.css({bottom:"0px",right:"0px"});break}c.find("a").wrapAll(f).each(function(k){switch(b.animation.type){case "horizontal-slider":a(this).css("left",k*g.width);break;case "vertical-slider":a(this).css("top",k*g.height);break;case "fade":a(this).css({top:"0",left:"0",opacity:1,"z-index":1E3-k});break}var j=a("<a href='#'>"+(b.navigator.showNumber?k+1:"")+"</a>").css({display:"block","text-decoration":"none","-moz-outline-style":"none"}).click(function(){b.animation.autoCycle&&
clearInterval(b.animation.intervalID);a.fn.showcase.showImage(k,c,g,b);d=k;if(b.animation.autoCycle)b.animation.intervalID=l(d,e,c,g,b);return false}).hover(function(){a(this).data("selected")||(b.navigator.item.cssClassHover?a(this).addClass(b.navigator.item.cssClassHover):a(this).css(b.navigator.item.cssHover))},function(){a(this).data("selected")||(b.navigator.item.cssClassHover?a(this).removeClass(b.navigator.item.cssClassHover):a(this).css(b.navigator.item.css))}).appendTo(i);if(b.navigator.item.cssClass)j.attr("class",
b.navigator.item.cssClass);else{a.extend({},j.css,b.navigator.item);j.css(b.navigator.item.css)}switch(b.navigator.orientation){case "horizontal":j.css("float","left");break;case "vertical":j.css("float","none");break}b.navigator.showMiniature&&a("<img />").attr({src:a(this).find("img").attr("src"),width:j.css("width").replace("px",""),height:j.css("height").replace("px",""),border:"0px"}).appendTo(j)});b.navigator.autoHide&&i.css("opacity",0);c.append(i).hover(function(){b.titleBar.autoHide&&b.titleBar.enabled&&
a(h).stop().animate({opacity:b.titleBar.css.opacity,left:0,right:0,height:b.titleBar.css.height},250);b.navigator.autoHide&&a(i).stop().animate({opacity:1},250);a(this).data("isMouseHover",true)},function(){b.titleBar.autoHide&&b.titleBar.enabled&&h.stop().animate({opacity:0,height:"0px"},400);b.navigator.autoHide&&i.stop().animate({opacity:0},250);a(this).data("isMouseHover",false)});if(b.titleBar.enabled){if(b.linksOn=="images")var h=a("<div id='subBar' />").html(a("<span />").html(c.find("a:first img").attr("alt")));
else{f=a("<a />").attr("href",c.find("a:first").attr("href")).html("<span>"+c.find("a:first img").attr("alt")+"</span>");h=a("<div id='subBar' />").html(f);c.find("#slider a").each(function(){a(this).attr("rel",a(this).attr("href"))});c.find("#slider a").removeAttr("href")}h.css({opacity:0.5,width:"100%",overflow:"hidden","z-index":10002,position:"absolute"});b.titleBar.position=="top"?h.css("top","0"):h.css("bottom","0");if(b.titleBar.cssClass)h.attr("class",b.titleBar.cssClass);else{h.css(b.titleBar.css);
a("a",h).css("color",b.titleBar.css.color)}b.titleBar.autoHide&&h.css({height:"0px",opacity:0});h.appendTo(c)}a.fn.showcase.setNavigationItem(0,c,b);if(b.animation.autoCycle)b.animation.intervalID=l(d,e,c,g,b)};var l=function(c,b,d,e,f){return setInterval(function(){if(!d.data("stopped"))if(!d.data("isMouseHover")||!f.animation.stopOnHover)a.fn.showcase.showImage(++c%b,d,e,f)},f.animation.interval)};a.fn.showcase.showImage=function(c,b,d,e){var f=b.find("a"),g=b.find("a").eq(c);switch(e.animation.type){case "horizontal-slider":b.find("#slider").stop().animate({left:-(c*
d.width)},e.animation.speed,e.animation.easefunction);break;case "vertical-slider":b.find("#slider").stop().animate({top:-(c*d.height)},e.animation.speed,e.animation.easefunction);break;case "fade":b.css({"z-index":"1001"});if(g.css("z-index")!="1000"){g.css({"z-index":"1000",opacity:0});f.not(g).each(function(){a(this).css("z-index")!="auto"&&a(this).css("z-index",parseInt(a(this).css("z-index"),10)-1)});g.stop().animate({opacity:1},e.animation.speed,e.animation.easefunction)}break}e.titleBar.enabled&&
e.linksOn=="titles"&&a("#subBar a",b).attr({href:g.attr("rel"),target:g.attr("target")});a("#subBar span",b).html(g.find("img").attr("alt"));a.fn.showcase.setNavigationItem(c,b,e)};a.fn.showcase.setNavigationItem=function(c,b,d){if(d.navigator.item.cssClassSelected){b.find("#navigator a").removeClass(d.navigator.item.cssClassSelected).data("selected",false);b.find("#navigator a").eq(c).addClass(d.navigator.item.cssClassSelected).data("selected",true)}else{d.navigator.item.cssClass||b.find("#navigator a").css(d.navigator.item.css).data("selected",
false);b.find("#navigator a").eq(c).css(d.navigator.item.cssSelected).data("selected",true)}};a.fn.showcase.defaults={images:[],linksOn:"images",css:{position:"relative",overflow:"hidden",border:"none",width:"",height:""},animation:{autoCycle:true,stopOnHover:true,interval:4E3,speed:500,easefunction:"swing",type:"horizontal-slider"},navigator:{css:{border:"none",padding:"5px",margin:"0px",position:"absolute","z-index":1E3},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);
