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