/*
  Sliding Billboard
  Version 1.0.4
  Copyright (c) 2009-2010 DMXzone.com
*/
(function(a){a.fn.swipe=function(c){var d={threshold:{x:30,y:30},swipeUp:function(e){alert("swiped up")},swipeDown:function(e){alert("swiped down")},swipeLeft:function(e){alert("swiped left")},swipeRight:function(e){alert("swiped right")}};c=a.extend(d,c);if(!this){return false}var b=(typeof Touch=="object");return this.each(function(){var i=a(this);var g={x:0,y:0};var e={x:0,y:0};function f(l){if(!b){l.preventDefault()}g.x=b?l.targetTouches[0].pageX:l.pageX;g.y=b?l.targetTouches[0].pageY:l.pageY;e.x=b?l.targetTouches[0].pageX:l.pageX;e.y=b?l.targetTouches[0].pageY:l.pageY}function k(l){l.preventDefault();e.x=b?l.targetTouches[0].pageX:l.pageX;e.y=b?l.targetTouches[0].pageY:l.pageY}function h(l){if(!b){l.preventDefault()}var n=g.x-e.x;var m=g.y-e.y;if(Math.abs(n)<Math.abs(m)){if(m<-d.threshold.y){d.swipeUp(l)}else{if(m>d.threshold.y){d.swipeDown(l)}}}else{if(n<-d.threshold.x){d.swipeLeft(l)}else{if(n>d.threshold.x){d.swipeRight(l)}}}}function j(l){}if(b){this.addEventListener("touchstart",f,false);this.addEventListener("touchmove",k,false);this.addEventListener("touchend",h,false);this.addEventListener("touchcancel",j,false)}else{a(this).bind("mousedown",f);a(this).bind("mousemove",k);a(this).bind("mouseup",h)}})}})(jQuery);jQuery.fn.extend({dmxSlidingBillboard:function(a){return this.each(function(){jQuery.extend(this,new jQuery.dmxSlidingBillboard(this,a))})}});jQuery.dmxSlidingBillboard=function(c,e){e=jQuery.extend({},jQuery.dmxSlidingBillboard.defaults,e);var n,v,s,g,w,o;var B,u;var t=[],p=[];var r=0,j=0;var h=false,D=null;var q=this;var A=jQuery(c).css({visibility:"hidden",overflow:"hidden"});var C=jQuery(e.header,c);var z=jQuery(e.footer,c);var x=jQuery(e.view,c);var b=jQuery(e.sectionNav,e.globalSectionNav?null:c);var l=jQuery(e.pageNav,e.globalPageNav?null:c);jQuery.extend(q,{version:"1.0.3",next:function(){var E=a(r+1);if(!h){if(e.autoNextSection&&t.length>1&&j==p[r]-1){q.nextSection()}else{q.nextPage()}}},prevSection:function(){if(r==0){q.moveToSection(t.length)}else{q.moveToSection(r)}},nextSection:function(){if(r==t.length-1){q.moveToSection(1)}else{q.moveToSection(r+2)}},moveToSection:function(E){$section=a(r+1);expr=e.item;if(j>0){expr+=":gt("+((j*o)-1)+")"}expr+=":lt("+o+")";$section.find(expr).each(function(){if(jQuery(this).data("blur")){jQuery(this).data("blur").call(this)}});$section=a(E);if($section.length==1){if(e.horizontal){if(typeof WebKitTransitionEvent=="object"){n.bind("webkitTransitionEnd",function(){jQuery(e.section,n).not($section).css({top:"0px"});j=0;expr=e.item;if(j>0){expr+=":gt("+((j*o)-1)+")"}expr+=":lt("+o+")";$section.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}});$(this).unbind("webkitTransitionEnd")});n.css({"-webkit-transition-property":"-webkit-transform","-webkit-transition-timing-function":"ease-in-out","-webkit-transition-duration":k(e.scrollDuration),"-webkit-transform":"translate3d(-"+$section.position().left+"px,0,0)"})}else{n.stop().animate({left:"-"+$section.position().left+"px"},e.scrollDuration,e.scrollEasing,function(){jQuery(e.section,n).not($section).css({top:"0px"});j=0;expr=e.item;if(j>0){expr+=":gt("+((j*o)-1)+")"}expr+=":lt("+o+")";$section.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}})})}}else{if(typeof WebKitTransitionEvent=="object"){n.bind("webkitTransitionEnd",function(){jQuery(e.section,n).not($section).css({left:"0px"});j=0;expr=e.item;if(j>0){expr+=":gt("+((j*o)-1)+")"}expr+=":lt("+o+")";$section.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}});$(this).unbind("webkitTransitionEnd")});n.css({"-webkit-transition-property":"-webkit-transform","-webkit-transition-timing-function":"ease-in-out","-webkit-transition-duration":k(e.scrollDuration),"-webkit-transform":"translate3d(0,-"+$section.position().top+"px,0)"})}else{n.stop().animate({top:"-"+$section.position().top+"px"},e.scrollDuration,e.scrollEasing,function(){jQuery(e.section,n).not($section).css({left:"0px"});j=0;expr=e.item;if(j>0){expr+=":gt("+((j*o)-1)+")"}expr+=":lt("+o+")";$section.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}})})}}d($section.attr("id"))}},setSection:function(E){$section=a(E);this.setPage(1);if($section.length==1){n.stop();if(e.horizontal){n.css({left:"-"+$section.position().left+"px"})}else{n.css({top:"-"+$section.position().top+"px"})}d($section.attr("id"))}},prevPage:function(){if(j==0){q.moveToPage(p[r])}else{q.moveToPage(j)}},nextPage:function(){if(j==p[r]-1){q.moveToPage(1)}else{q.moveToPage(j+2)}},moveToPage:function(E){var F=a(r+1);expr=e.item;if(j>0){expr+=":gt("+((j*o)-1)+")"}expr+=":lt("+o+")";F.find(expr).each(function(){if(jQuery(this).data("blur")){jQuery(this).data("blur").call(this)}});if(e.horizontal){if(typeof WebKitTransitionEvent=="object"){F.bind("webkitTransitionEnd",function(){expr=e.item;if(E-1>0){expr+=":gt("+(((E-1)*o)-1)+")"}expr+=":lt("+o+")";F.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}});$(this).unbind("webkitTransitionEnd")});F.css({"-webkit-transition-property":"-webkit-transform","-webkit-transition-timing-function":"ease-in-out","-webkit-transition-duration":k(e.scrollDuration),"-webkit-transform":"translate3d(0,-"+((E-1)*s)+"px,0)"})}else{F.stop().animate({top:"-"+((E-1)*s)+"px"},e.scrollDuration,e.scrollEasing,function(){expr=e.item;if(E-1>0){expr+=":gt("+(((E-1)*o)-1)+")"}expr+=":lt("+o+")";F.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}})})}}else{if(typeof WebKitTransitionEvent=="object"){F.bind("webkitTransitionEnd",function(){expr=e.item;if(E-1>0){expr+=":gt("+(((E-1)*o)-1)+")"}expr+=":lt("+o+")";F.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}});$(this).unbind("webkitTransitionEnd")});F.css({"-webkit-transition-property":"-webkit-transform","-webkit-transition-timing-function":"ease-in-out","-webkit-transition-duration":k(e.scrollDuration),"-webkit-transform":"translate3d(-"+((E-1)*v)+"px,0,0)"})}else{F.stop().animate({left:"-"+((E-1)*v)+"px"},e.scrollDuration,e.scrollEasing,function(){expr=e.item;if(E-1>0){expr+=":gt("+(((E-1)*o)-1)+")"}expr+=":lt("+o+")";F.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}})})}}j=E-1;f(j)},setPage:function(E){var F=a(r+1);F.stop();if(e.horizontal){F.css({top:"-"+((E-1)*s)+"px"})}else{F.css({left:"-"+((E-1)*v)+"px"})}j=E-1;f(j)},setSectionItem:function(E){q.setPage(Math.floor((E-1)/o)+1)},play:function(E){if(e.scrollInterval>0&&D===null){D=setInterval(q.next,E?E:e.scrollInterval)}},stop:function(){if(D!==null){clearInterval(D);D=null}},redraw:function(){x.css({visibility:"hidden"});v=x.width();s=A.height()-C.outerHeight(true)-z.outerHeight(true);x.height(s);o=e.columns*e.rows;g=v/e.columns;w=s/e.rows;if(typeof(e.imageMaxWidth)=="string"){if(e.imageMaxWidth.indexOf("%")>0){B=g*(parseInt(e.imageMaxWidth)/100)||0}else{B=parseInt(e.imageMaxWidth)||0}}else{B=e.imageMaxWidth}if(typeof(e.imageMaxHeight)=="string"){if(e.imageMaxHeight.indexOf("%")>0){u=w*(parseInt(e.imageMaxHeight)/100)||0}else{u=parseInt(e.imageMaxHeight)||0}}else{u=e.imageMaxHeight}var E=jQuery(e.item,x).eq(0);var G=g;G-=parseInt(E.css("paddingLeft"))|0;G-=parseInt(E.css("paddingRight"))|0;G-=parseInt(E.css("borderLeftWidth"))|0;G-=parseInt(E.css("borderRightWidth"))|0;G-=parseInt(E.css("marginLeft"))|0;G-=parseInt(E.css("marginRight"))|0;G=Math.floor(G);var F=w;F-=parseInt(E.css("paddingTop"))|0;F-=parseInt(E.css("paddingBottom"))|0;F-=parseInt(E.css("borderTopWidth"))|0;F-=parseInt(E.css("borderBottomWidth"))|0;F-=parseInt(E.css("marginTop"))|0;F-=parseInt(E.css("marginBottom"))|0;F=Math.floor(F);jQuery(e.section,n).each(function(H){jQuery(e.item,this).css({display:"block",position:"absolute",width:G+"px",height:F+"px"}).each(function(I){if(e.horizontal){jQuery(this).css({top:Math.floor(Math.floor(I/e.columns)*w)+"px",left:Math.floor((I%e.columns)*g)+"px"})}else{jQuery(this).css({left:Math.floor(Math.floor(I/e.rows)*g)+"px",top:Math.floor((I%e.rows)*w)+"px"})}jQuery(this).hover(function(){if(jQuery(this).attr("onclick")){jQuery(this).addClass("clickable")}jQuery(this).addClass("hover")},function(){jQuery(this).removeClass("hover clickable")})});p[H]=Math.ceil(jQuery(e.item,this).length/o);t[H]="#"+this.id});if(e.horizontal){jQuery(e.section,n).width(v).each(function(H){jQuery(this).css({position:"absolute",left:Math.floor(H*v)+"px"})})}else{jQuery(e.section,n).height(s).each(function(H){jQuery(this).css({position:"absolute",top:Math.floor(H*s)+"px"})})}jQuery("li>img,li>a>img",A).each(function(){$this=jQuery(this);if($this.attr("width")){$this.css("width",parseInt($this.attr("width"))).removeAttr("width")}if($this.attr("height")){$this.css("height",parseInt($this.attr("height"))).removeAttr("height")}if($this.width()>0&&$this.height()>0){m({target:this})}else{var H=$this.attr("src");$this.attr("src","");$this.one("load",m);$this.attr("src",H)}});x.css({visibility:"visible"})}});function k(E){if(typeof E==="string"){switch(E){case"fast":return"200ms";case"slow":return"600ms";default:return"400ms"}}else{return E+"ms"}}function m(N){var M=jQuery(N.target);var R=M.offsetParent();var P=M.closest(e.item);var F=M.closest("[class*=layout-]");var G=/layout-(\w+)/i.exec(M.closest("[class*=layout-]").attr("class"))[1]||e.layoutStyle;var Q=R.width();var K=R.height();var L=parseInt(R.css("padding-top"))||0;var I,H,O;if(G!="fill"){if((B/u)<(M.width()/M.height())){I=(parseInt(M.css("marginLeft"))||0)+(parseInt(M.css("marginRight"))||0);H=(parseInt(M.css("borderLeftpWidth"))||0)+(parseInt(M.css("borderRightWidth"))||0);O=(parseInt(M.css("paddingLeft"))||0)+(parseInt(M.css("paddingRight"))||0);if(e.imageScaleUp){var J=Math.min(Q-I-H-O,B)}else{var J=Math.min(Q-I-H-O,B,M.width())}var E=(J/M.width())*M.height();M.width(J);M.height(E);if(G=="left"){M.css({position:"absolute",top:L+((K/2)-(M.outerHeight(true)/2)),left:R.css("padding-left"),right:"auto"})}else{if(G=="right"){M.css({position:"absolute",top:L+((K/2)-(M.outerHeight(true)/2)),left:"auto",right:R.css("padding-right")})}else{if(G=="top"){M.css({position:"absolute",top:L,left:(Q/2)-(M.outerWidth(true)/2),right:"auto"})}else{if(G=="full"){M.css({position:"absolute",top:(R.innerHeight()/2)-(M.outerHeight(true)/2),left:(R.innerWidth()/2)-(M.outerWidth(true)/2),right:"auto"})}}}}}else{I=(parseInt(M.css("marginTop"))||0)+(parseInt(M.css("marginBottom"))||0);H=(parseInt(M.css("borderTopWidth"))||0)+(parseInt(M.css("borderBottomWidth"))||0);O=(parseInt(M.css("paddingTop"))||0)+(parseInt(M.css("paddingBottom"))||0);if(e.imageScaleUp&&G!="top"){var E=Math.min(K-I-H-O,u)}else{var E=Math.min(K-I-H-O,u,M.height())}var J=(E/M.height())*M.width();M.width(J);M.height(E);if(G=="left"){M.css({position:"absolute",top:L+((K/2)-(M.outerHeight(true)/2)),left:R.css("padding-left"),right:"auto"})}else{if(G=="right"){M.css({position:"absolute",top:L+((K/2)-(M.outerHeight(true)/2)),left:"auto",right:R.css("padding-right")})}else{if(G=="top"){M.css({position:"absolute",top:L,left:(Q/2)-(M.outerWidth(true)/2),right:"auto"})}else{if(G=="full"){M.css({position:"absolute",top:(R.innerHeight()/2)-(M.outerHeight(true)/2),left:(R.innerWidth()/2)-(M.outerWidth(true)/2),right:"auto"})}}}}}}if(G=="left"){P.find("h4,p").css({margin:0,marginLeft:M.outerWidth(true)})}else{if(G=="right"){P.find("h4,p").css({margin:0,marginRight:M.outerWidth(true)})}else{if(G=="top"){P.find("h4,p").eq(0).css({margin:0,marginTop:M.outerHeight(true)})}else{if(G=="full"||e.layoutStyle=="fill"){if(G=="fill"){M.css({position:"absolute",top:0,left:0,right:0,bottom:0,width:P.innerWidth()+"px",height:P.innerHeight()+"px",margin:0,padding:0,border:"0px none"})}M=P.find("h4");I=(parseInt(M.css("marginLeft"))||0)+(parseInt(M.css("marginRight"))||0);H=(parseInt(M.css("borderLeftpWidth"))||0)+(parseInt(M.css("borderRightWidth"))||0);O=(parseInt(M.css("paddingLeft"))||0)+(parseInt(M.css("paddingRight"))||0);P.find("h4").addClass("full").css({position:"absolute",width:P.innerWidth()-I-O-H,left:0,top:0,zIndex:1});M=P.find("p");I=(parseInt(M.css("marginLeft"))||0)+(parseInt(M.css("marginRight"))||0);H=(parseInt(M.css("borderLeftpWidth"))||0)+(parseInt(M.css("borderRightWidth"))||0);O=(parseInt(M.css("paddingLeft"))||0)+(parseInt(M.css("paddingRight"))||0);P.find("p").addClass("full").css({position:"absolute",width:P.innerWidth()-I-O-H,left:0,bottom:0,zIndex:1}).hide();P.hover(function(){jQuery("p",this).slideDown("normal")},function(){jQuery("p",this).slideUp("normal")})}}}}}function y(){jQuery("a[onfocus]").each(function(){jQuery(this).parents("li").data("focus",jQuery(this).attr("onfocus")).end().removeAttr("onfocus")});jQuery("a[onblur]").each(function(){jQuery(this).parents("li").data("blur",jQuery(this).attr("onblur")).end().removeAttr("onblur")});if(x.css("position")=="static"){x.css({position:"relative"})}x.css({overflow:"hidden"});x.wrapInner(document.createElement("div"));n=x.children().eq(0);n.css({position:"absolute",left:0,top:0,"-webkit-transform":"translate3d(0,0,0)"});n.children().css({"-webkit-transform":"translate3d(0,0,0)"});i();q.redraw();if(location.hash&&jQuery.inArray(location.hash,t)>-1){q.setSection(location.hash)}else{q.setSection(e.startSection)}q.setSectionItem(e.startIndex);var I=a(r+1);var F=Math.floor((e.startIndex-1)/o)+1;expr=e.item;if(F-1>0){expr+=":gt("+(((F-1)*o)-1)+")"}expr+=":lt("+(F*o)+")";I.find(expr).each(function(){if(jQuery(this).data("focus")){jQuery(this).data("focus").call(this)}});b.find("a[href^=#]").click(function(K){q.moveToSection(jQuery(this).attr("href"));return false});var G=jQuery(e.navLeft,e.globalNav?null:c);var E=jQuery(e.navRight,e.globalNav?null:c);var J=jQuery(e.navUp,e.globalNav?null:c);var H=jQuery(e.navDown,e.globalNav?null:c);G.hover(function(){jQuery(this).addClass("hover")},function(){jQuery(this).removeClass("hover")}).click(function(K){if(e.horizontal){q.prevSection()}else{q.prevPage()}});E.hover(function(){jQuery(this).addClass("hover")},function(){jQuery(this).removeClass("hover")}).click(function(K){if(e.horizontal){q.nextSection()}else{q.nextPage()}});J.hover(function(){jQuery(this).addClass("hover")},function(){jQuery(this).removeClass("hover")}).click(function(K){if(e.horizontal){q.prevPage()}else{q.prevSection()}});H.hover(function(){jQuery(this).addClass("hover")},function(){jQuery(this).removeClass("hover")}).click(function(K){if(e.horizontal){q.nextPage()}else{q.nextSection()}});if(e.showSideNavOnMouseOver){G.hide();E.hide();J.hide();H.hide()}A.hover(function(){h=true;if(e.showSideNavOnMouseOver){G.fadeIn();E.fadeIn();J.fadeIn();H.fadeIn()}},function(){h=false;if(e.showSideNavOnMouseOver){G.fadeOut();E.fadeOut();J.fadeOut();H.fadeOut()}});if(e.redrawOnWindowResize){jQuery(window).resize(function(){q.redraw()})}if(e.mousewheel&&A.mousewheel){A.mousewheel(function(K,L){if(L>0){if(e.horizontal){q.prevPage()}else{q.prevSection()}}else{if(L<0){if(e.horizontal){q.nextPage()}else{q.nextSection()}}}return false})}if(e.keyboard){jQuery(document).keyup(function(K){switch(K.keyCode){case 37:if(e.horizontal){q.prevSection()}else{q.prevPage()}break;case 38:if(e.horizontal){q.prevPage()}else{q.prevSection()}break;case 39:if(e.horizontal){q.nextSection()}else{q.nextPage()}break;case 40:if(e.horizontal){q.nextPage()}else{q.nextSection()}break}return false})}if(e.gestures){x.swipe({swipeUp:function(K){if(e.horizontal){q.prevPage()}else{q.prevSection()}return false},swipeDown:function(K){if(e.horizontal){q.nextPage()}else{q.nextSection()}return false},swipeLeft:function(K){if(e.horizontal){q.prevSection()}else{q.prevPage()}return false},swipeRight:function(K){if(e.horizontal){q.nextSection()}else{q.nextPage()}return false}})}if(e.autoPlay){q.play()}}function a(E){if(typeof E=="number"){E=t[E-1]}return jQuery(E,c)}function d(E){r=jQuery.inArray("#"+E,t);jQuery("a.selected",b).removeClass("selected");jQuery("a[href=#"+E+"]",b).addClass("selected");i()}function f(E){jQuery("a.selected",l).removeClass("selected");jQuery("a",l).eq(E).addClass("selected")}function i(){l.empty();if(p[r]>1){for(var F=1;F<=p[r];++F){var E=jQuery('<a href="#'+F+'"></a>').data("index",F).text(F);E.click(function(){q.moveToPage(jQuery(this).data("index"));return false});l.append(E).append(" ")}}else{l.append('<a href="javascript:void();" style="visibility:hidden;">&nbsp;</a>')}l.append('<div style="clear:both;"></div>');f(0)}y();A.css({visibility:"visible",overflow:"visible"})};jQuery.dmxSlidingBillboard.defaults={header:".dmxBillboardHeader",view:".dmxBillboardView",footer:".dmxBillboardFooter",section:"ul",item:"li",sectionNav:".dmxBillboardSectionNav",globalSectionNav:false,pageNav:".dmxBillboardPageNav",globalPageNav:false,navLeft:".dmxBillboardLeftNav",navRight:".dmxBillboardRightNav",navUp:".dmxBillboardUpNav",navDown:".dmxBillboardDownNav",globalNav:false,horizontal:true,columns:2,rows:1,startSection:1,startIndex:1,scrollInterval:5000,scrollDuration:"normal",scrollEasing:"swing",autoPlay:true,autoNextSection:true,redrawOnWindowResize:false,showSideNavOnMouseOver:false,keyboard:false,mousewheel:false,gestures:false,layoutStyle:"left",imageScaleUp:false,imageMaxWidth:"100%",imageMaxHeight:"100%"};

