(function(a){a.fn.awShowcase=function(p){var u={selected:0,width:700,height:470,auto:false,interval:3000,continuous:false,loading:true,tooltip_width:200,tooltip_icon_width:32,tooltip_icon_height:32,tooltip_offsetx:18,tooltip_offsety:0,arrows:true,buttons:true,btn_numbers:false,keybord_keys:false,mousetrace:false,pauseonover:true,transition:"vslide",transition_speed:500,show_caption:"onload",thumbnails:false,thumbnails_position:"outside-last",thumbnails_direction:"vertical",thumbnails_slidex:0};p=a.extend(u,p);var J=p.selected;var k=0;var n=false;var j=false;var A=null;var B=a(this);var c=[];var E=[];var e=0;B.children("div").each(function(){var M=a(this);if(p.thumbnails){var i=M.find(".showcase-thumbnail");E.push(i);i.remove()}c.push(M.html());M.remove();e++});var m=a(document.createElement("div")).css("width",p.width).css("height",p.height).css("overflow","hidden").css("position","relative").addClass("showcase-content-wrapper").prependTo(B);function t(i){return a(document.createElement("div")).attr("id","showcase-content-"+i).css("width",p.width+"px").css("height",p.height+"px").css("overflow","hidden").css("position","absolute").addClass("showcase-content").html(c[i])}function F(){var i=parseInt(J)+1;if(i==e&&p.continuous){i=0}else{if(i==e&&!p.continuous){n=true;clearInterval(A)}}if(!n){s(i,"next")}}function s(Q,P){if(J!=Q){var O;var N;if(Q>J&&P!="previous"||P=="next"){O=a(B).find("#showcase-content-"+parseInt(J));if(p.transition=="vslide"){H(O,true);l(O,true);a(O).animate({left:-(p.width+100)},p.transition_speed+300,function(){O.remove()})}else{if(p.transition=="hslide"){H(O,true);l(O,true);a(O).animate({top:-(p.height+100)},p.transition_speed+300,function(){O.remove()})}else{H(O,true);l(O,true);a(O).fadeOut(p.transition_speed,function(){O.remove()})}}N=t(Q);if(p.transition=="vslide"){N.css("left",p.width+"px");a(N).animate({left:"0px"},p.transition_speed,function(){H(N);l(N)})}else{if(p.transition=="hslide"){N.css("top",p.height+"px");a(N).animate({top:"0px"},p.transition_speed,function(){H(N);l(N)})}else{N.css("left","0px");N.css("display","none");a(N).fadeIn(p.transition_speed,function(){H(N);l(N);O.remove()})}}m.append(N)}else{if(Q<J||P=="previous"){O=a(B).find("#showcase-content-"+parseInt(J));if(p.transition=="vslide"){H(O,true);l(O,true);a(O).animate({left:(p.width+100)+"px"},p.transition_speed+300,function(){O.remove()})}else{if(p.transition=="hslide"){H(O,true);l(O,true);a(O).animate({top:(p.height+100)+"px"},p.transition_speed+300,function(){O.remove()})}else{H(O,true);l(O,true);a(O).fadeOut(p.transition_speed,function(){O.remove()})}}N=t(Q);if(p.transition=="vslide"){N.css("left","-"+p.width+"px");m.append(N);a(N).animate({left:"0px"},p.transition_speed,function(){H(N);l(N)})}else{if(p.transition=="hslide"){N.css("top","-"+p.height+"px");m.append(N);a(N).animate({top:"0px"},p.transition_speed,function(){H(N);l(N)})}else{N.css("left","0px");N.css("display","none");a(N).fadeIn(p.transition_speed,function(){H(N);l(N)})}}m.append(N)}}k=J;J=Q;if(p.thumbnails){if(J>k&&P!="previous"||P=="next"){I("forward",true)}else{if(J<k||P=="previous"){I("backward",true)}}}if(p.arrows){a(B).find(".showcase-arrow-previous").unbind("click").click(function(){if(A){j=true;clearInterval(A)}s((J===0)?e-1:parseInt(J)-1,"previous")});a(B).find(".showcase-arrow-next").unbind("click").click(function(){if(A){j=true;clearInterval(A)}s((J==e-1)?0:parseInt(J)+1,"next")})}var M;if(p.buttons){M=0;B.find(".showcase-button-wrapper span").each(function(){var i=a(this);i.removeClass("active");if(M==J){i.addClass("active")}M++})}if(p.thumbnails){M=0;B.find(".showcase-thumbnail").each(function(){var i=a(this);i.removeClass("active");if(M==J){i.addClass("active")}M++})}if(p.show_caption=="show"){a(N).find(".showcase-caption").show()}}}if(p.keybord_keys){a(document).keydown(function(i){if(i.keyCode==37){s((J===0)?e-1:parseInt(J)-1,"previous")}if(i.keyCode==39){s((J==e-1)?0:parseInt(J)+1,"next")}})}var y=0;function I(T,O,N){var S=true;var U=f(a(x).find(".showcase-thumbnail"));if(p.thumbnails_direction=="horizontal"){U=r(a(x).find(".showcase-thumbnail"))}var V=1;if(p.thumbnails_slidex===0){p.thumbnails_slidex=v}if(O){var M=y;var P=0;while(M<0){if(p.thumbnails_direction=="horizontal"){M+=r(a(E[0]))}else{M+=f(a(E[0]))}P++}var R=P;var Q=v+P-1;if(J>=R&&J<=Q){S=false}var i;if((J-Q)>p.thumbnails_slidex){i=J-Q;while(i>p.thumbnails_slidex){i-=p.thumbnails_slidex;V++}}else{if((R-J)>p.thumbnails_slidex){i=R-J;while(i>p.thumbnails_slidex){i-=p.thumbnails_slidex;V++}}else{V=1}}}if(T=="forward"&&S){if(p.thumbnails_direction=="vertical"&&p.height<(q+y)){y-=U*(p.thumbnails_slidex*V)}else{if(p.thumbnails_direction=="horizontal"&&p.width<(q+y)){y-=U*(p.thumbnails_slidex*V)}else{if(J===0){if(!N){y=0}}}}if(p.thumbnails_direction=="horizontal"){x.animate({left:y},300)}else{x.animate({top:y},300)}}else{if(S){if(y<0){y+=U*(p.thumbnails_slidex*V)}else{if(J==e-1){if(!N){y-=U*(p.thumbnails_slidex*V)}}else{y=0}}if(p.thumbnails_direction=="horizontal"){x.animate({left:y},300)}else{x.animate({top:y},300)}}}}function l(i,N){var M=i.find(".showcase-caption");if(!N){if(p.show_caption=="onload"){M.fadeIn(300)}else{if(p.show_caption=="onhover"){a(i).mouseenter(function(){M.fadeIn(300)});a(i).mouseleave(function(){M.stop(true,true).fadeOut(100)})}}}else{M.stop(true,true).fadeOut(300)}}function H(i,M){i.children("a.showcase-tooltip").each(function(){if(!M){var O=a(this).attr("coords");O=O.split(",");a(this).addClass("showcase-plus-anchor");a(this).css("position","absolute");a(this).css("display","none");a(this).css("width",p.tooltip_icon_width);a(this).css("height",p.tooltip_icon_height);a(this).css("left",parseInt(O[0])-(parseInt(p.tooltip_icon_width)/2));a(this).css("top",parseInt(O[1])-(parseInt(p.tooltip_icon_height)/2));var N=a(this).html();a(this).mouseenter(function(){d(i,O[0],O[1],N)});a(this).mouseleave(function(){d(i,O[0],O[1],N)});a(this).html("");a(this).fadeIn(300)}else{a(this).stop(true,true).fadeOut(300)}})}var w=null;function d(M,i,Q,N){if(w===null){w=a(document.createElement("div")).addClass("showcase-tool-tip").css("display","none").css("position","absolute").css("max-width",p.tooltip_width).html(N);M.append(w);var P=parseInt(w.css("padding-right"))*2+parseInt(w.css("border-right-width"))*2;var O=parseInt(w.css("padding-bottom"))*2+parseInt(w.css("border-bottom-width"))*2;lastx=parseInt(i)+w.width()+P;lasty=parseInt(Q)+w.height()+O;if(lastx<p.width){w.css("left",parseInt(i)+parseInt(p.tooltip_offsetx))}else{w.css("left",(parseInt(i)-parseInt(p.tooltip_offsetx))-(parseInt(w.width())+parseInt(p.tooltip_offsetx)))}if(lasty<p.height){w.css("top",parseInt(Q)+parseInt(p.tooltip_offsety))}else{w.css("top",(parseInt(Q)-parseInt(p.tooltip_offsety))-(parseInt(w.height())+parseInt(O)))}w.fadeIn(400)}else{w.fadeOut(400);w.remove();w=null}}if(p.mousetrace){var K=a(document.createElement("div")).css("position","absolute").css("top","0").css("background-color","#fff").css("color","#000").css("padding","3px 5px").css("x-index","30").html("X: 0 Y: 0");B.append(K);var z=B.offset();m.mousemove(function(i){K.html("X: "+(i.pageX-z.left)+" Y: "+(i.pageY-z.top))})}function f(i,M,P,N,T){M=typeof(M)!="undefined"?M:true;P=typeof(P)!="undefined"?P:true;N=typeof(N)!="undefined"?N:true;T=typeof(T)!="undefined"?T:true;var O=(M)?a((i)).height():0;var S=(P)?parseFloat(a((i)).css("margin-top"))+parseFloat(a(i).css("margin-bottom")):0;var Q=(N)?parseFloat(a((i)).css("padding-top"))+parseFloat(a(i).css("padding-bottom")):0;var R=(T)?parseFloat(a((i)).css("border-top-width"))+parseFloat(a((i)).css("border-bottom-width")):0;O+=S+Q+R;return O}function r(i,M,O,N,T){M=typeof(M)!="undefined"?M:true;O=typeof(O)!="undefined"?O:true;N=typeof(N)!="undefined"?N:true;T=typeof(T)!="undefined"?T:true;var S=(M)?a((i)).width():0;var R=(O)?parseFloat(a((i)).css("margin-left"))+parseFloat(a(i).css("margin-right")):0;var P=(N)?parseFloat(a((i)).css("padding-left"))+parseFloat(a((i)).css("padding-right")):0;var Q=(T)?parseFloat(a((i)).css("border-left-width"))+parseFloat(a((i)).css("border-right-width")):0;S+=R+P+Q;return S}var x;var q=0;var v=0;if(p.thumbnails){thumb_container=a("<div />");thumb_restriction=a("<div />");x=a("<div />");for(var G=E.length-1;G>=0;--G){var C=a(E[G]).css({overflow:"hidden"});C.attr("id","showcase-thumbnail-"+G);C.addClass((G===p.selected)?"active":"");C.click(function(M,i){return function(){if(A){j=true;clearInterval(A)}s(M,i)}}(G,""));x.prepend(C)}if(p.thumbnails_position=="outside-first"||p.thumbnails_position=="outside-last"){if(p.thumbnails_direction!="horizontal"){m.css("float","left");thumb_container.css("float","left");thumb_container.css("height",p.height)}else{a(x).find(".showcase-thumbnail").css("float","left")}if(p.thumbnails_position=="outside-last"){B.append(thumb_container);if(p.thumbnails_direction!="horizontal"){B.append(a("<div />").addClass("clear"))}}else{B.prepend(thumb_container);if(p.thumbnails_direction!="horizontal"){B.append(a("<div />").addClass("clear"))}}}else{thumb_container.css({position:"absolute","z-index":20});if(p.thumbnails_direction=="horizontal"){thumb_container.css({left:0,right:0});a(x).find(".showcase-thumbnail").css("float","left");a(x).append(a("<div />").addClass("clear"));if(p.thumbnails_position=="inside-first"){thumb_container.css("top",0)}else{thumb_container.css("bottom",0)}}else{thumb_container.css({top:0,bottom:0});if(p.thumbnails_position=="inside-first"){thumb_container.css("left",0)}else{thumb_container.css("right",0)}}m.prepend(thumb_container)}thumb_container.addClass("showcase-thumbnail-container");thumb_container.css("overflow","hidden");thumb_restriction.addClass("showcase-thumbnail-restriction");thumb_restriction.css({overflow:"hidden",position:"relative"});if(p.thumbnails_direction=="horizontal"){thumb_restriction.css({"float":"left"})}x.addClass("showcase-thumbnail-wrapper");if(p.thumbnails_direction=="horizontal"){x.addClass("showcase-thumbnail-wrapper-horizontal")}else{x.addClass("showcase-thumbnail-wrapper-vertical")}x.css("position","relative");thumb_restriction.append(x);thumb_container.append(thumb_restriction);var g=a('<div class="showcase-thumbnail-button-backward" />');if(p.thumbnails_direction!="horizontal"){g.html('<span class="showcase-thumbnail-vertical"><span>Up</span></span>')}else{g.css({"float":"left"});g.html('<span class="showcase-thumbnail-horizontal"><span>Left</span></span>')}g.click(function(){I("backward",false,true)});thumb_container.prepend(g);var b=a('<div class="showcase-thumbnail-button-forward" />');if(p.thumbnails_direction!="horizontal"){b.html('<span class="showcase-thumbnail-vertical"><span>Down</span></span>')}else{b.css({"float":"left"});b.html('<span class="showcase-thumbnail-horizontal"><span>Right</span></span>')}b.click(function(){I("forward",false,true)});thumb_container.append(b);var L=0;if(p.thumbnails_direction!="horizontal"){L=f(x,false);L+=(f(g))+(f(b));while(L<p.height){L+=f(a(E[0]));v++}}else{L=r(x,false);L+=(r(g))+(r(b));while(L<p.width){L+=r(a(E[0]));v++}}if(v+1>E.length){if(p.thumbnails_direction!="horizontal"){thumb_restriction.css("margin-top",f(g))}else{thumb_restriction.css("margin-left",r(g))}g.hide();b.hide()}if(p.thumbnails_direction!="horizontal"){var h=(f(g))+(f(b));thumb_restriction.css("height",p.height-h)}else{var o=(r(g))+(r(b));thumb_restriction.css("width",p.width-o)}if(p.thumbnails_direction=="horizontal"){a(".showcase-thumbnail").each(function(){q+=r(a(this))});x.css("width",q)}else{a(".showcase-thumbnail").each(function(){q+=f(a(this))})}}if(p.thumbnails&&p.thumbnails_position.indexOf("outside")!=-1&&p.thumbnails_direction!="horizontal"){B.css("width",p.width+r(x,true,false))}else{B.css("width",p.width)}var D=t(p.selected);m.append(D);H(D);l(D);if(p.show_caption=="show"){a(D).find(".showcase-caption").show()}if(e>1&&p.auto){A=window.setInterval(F,p.interval)}if(p.auto&&p.pauseonover){B.mouseenter(function(){n=true;clearInterval(A)});B.mouseleave(function(){if(!j){n=false;A=window.setInterval(F,p.interval)}})}if(p.arrows&&e>1){a(document.createElement("div")).addClass("showcase-arrow-previous").prependTo(B).click(function(){if(A){j=true;clearInterval(A)}s(e-1,"previous")});a(document.createElement("div")).addClass("showcase-arrow-next").prependTo(B).click(function(){if(A){j=true;clearInterval(A)}s(1,"next")})}if(p.buttons&&e>1){a(document.createElement("div")).css("clear","both").addClass("showcase-button-wrapper").appendTo(B);var G=0;while(G<e){a(document.createElement("span")).attr("id","showcase-navigation-button-"+G).addClass((G===0)?"active":"").html((p.btn_numbers)?parseInt(G)+1:"&#9679;").click(function(M,i){return function(){if(A){j=true;clearInterval(A)}s(M,i)}}(G,"")).appendTo(a(B).find(".showcase-button-wrapper"));G++}}B.removeClass("showcase-load")}})(jQuery);
