/gi,bO=/^(?:select|textarea)/i,bP=/s+/,bQ=/([?&])_=[^&]*/,bR=/^([w+.-]+:)(?://([^/?#:]*)(?::(d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=[“*/”]+[“*”];try{bV=e.href}catch(bY){bV=c.createElement(“a”),bV.href=””,bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!=”string”&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(” “);if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h=”GET”;c&&(f.isFunction(c)?(d=c,c=b):typeof c==”object”&&(c=f.param(c,f.ajaxSettings.traditional),h=”POST”));var i=this;f.ajax({url:a,type:h,dataType:”html”,data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f(“
- Loading..
- “); $.ajax({ url: base_url+”photo_gallery.php?func=get-album-list&show=”+show, beforeSend: function() { $(“#movies_”+show).html(“
- Loading..
- “); }, success: function(data){ $(“#movies_”+show).html(data); $(“#”+show+”_loaded_count”).val(no_of_records); $(“#”+show+”_more_link”).show(); $(“#”+show+”_more_load”).hide(); } }); } function showMoreMovies(show){ var loaded_count; loaded_count = $(“#”+show+”_loaded_count”).val(); $.ajax({ url: base_url+”photo_gallery.php?func=get-album-list&show=”+show+”&loaded_count=”+loaded_count, beforeSend: function() { $(“#”+show+”_more_link”).hide(); $(“#”+show+”_more_load”).show(); }, success: function(data){ $(“#”+show+”_more_link”).show(); $(“#”+show+”_more_load”).hide(); var data_arr = data.split(“_!@#$%_”); //alert(“#”+show+”_loaded_count”); $(“#”+show+”_loaded_count”).val(data_arr[1]); if(data_arr[0] != “”){ $(“#movies_”+show).append(data_arr[0]); } if(data_arr[0] == “”){ $(“#”+show+”_more_link”).hide(); } } }); } /* * Slides, A Slideshow Plugin for jQuery * Intructions: http://slidesjs.com * By: Nathan Searles, http://nathansearles.com * Version: 1.1.9 * Updated: September 5th, 2011 * * Licensed under the Apache License, Version 2.0 (the “License”); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an “AS IS” BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ (function(a){a.fn.slides=function(b){return b=a.extend({},a.fn.slides.option,b),this.each(function(){function w(g,h,i){if(!p&&o){p=!0,b.animationStart(n+1);switch(g){case”next”:l=n,k=n+1,k=e===k?0:k,r=f*2,g=-f*2,n=k;break;case”prev”:l=n,k=n-1,k=k===-1?e-1:k,r=0,g=0,n=k;break;case”pagination”:k=parseInt(i,10),l=a(“.”+b.paginationClass+” li.”+b.currentClass+” a”,c).attr(“href”).match(“[^#/]+$”),k>l?(r=f*2,g=-f*2):(r=0,g=0),n=k}h===”fade”?b.crossfade?d.children(“:eq(“+k+”)”,c).css({zIndex:10}).fadeIn(b.fadeSpeed,b.fadeEasing,function(){b.autoHeight?d.animate({height:d.children(“:eq(“+k+”)”,c).outerHeight()},b.autoHeightSpeed,function(){d.children(“:eq(“+l+”)”,c).css({display:”none”,zIndex:0}),d.children(“:eq(“+k+”)”,c).css({zIndex:0}),b.animationComplete(k+1),p=!1}):(d.children(“:eq(“+l+”)”,c).css({display:”none”,zIndex:0}),d.children(“:eq(“+k+”)”,c).css({zIndex:0}),b.animationComplete(k+1),p=!1)}):d.children(“:eq(“+l+”)”,c).fadeOut(b.fadeSpeed,b.fadeEasing,function(){b.autoHeight?d.animate({height:d.children(“:eq(“+k+”)”,c).outerHeight()},b.autoHeightSpeed,function(){d.children(“:eq(“+k+”)”,c).fadeIn(b.fadeSpeed,b.fadeEasing)}):d.children(“:eq(“+k+”)”,c).fadeIn(b.fadeSpeed,b.fadeEasing,function(){a.browser.msie&&a(this).get(0).style.removeAttribute(“filter”)}),b.animationComplete(k+1),p=!1}):(d.children(“:eq(“+k+”)”).css({left:r,display:”block”}),b.autoHeight?d.animate({left:g,height:d.children(“:eq(“+k+”)”).outerHeight()},b.slideSpeed,b.slideEasing,function(){d.css({left:-f}),d.children(“:eq(“+k+”)”).css({left:f,zIndex:5}),d.children(“:eq(“+l+”)”).css({left:f,display:”none”,zIndex:0}),b.animationComplete(k+1),p=!1}):d.animate({left:g},b.slideSpeed,b.slideEasing,function(){d.css({left:-f}),d.children(“:eq(“+k+”)”).css({left:f,zIndex:5}),d.children(“:eq(“+l+”)”).css({left:f,display:”none”,zIndex:0}),b.animationComplete(k+1),p=!1})),b.pagination&&(a(“.”+b.paginationClass+” li.”+b.currentClass,c).removeClass(b.currentClass),a(“.”+b.paginationClass+” li:eq(“+k+”)”,c).addClass(b.currentClass))}}function x(){clearInterval(c.data(“interval”))}function y(){b.pause?(clearTimeout(c.data(“pause”)),clearInterval(c.data(“interval”)),u=setTimeout(function(){clearTimeout(c.data(“pause”)),v=setInterval(function(){w(“next”,i)},b.play),c.data(“interval”,v)},b.pause),c.data(“pause”,u)):x()}a(“.”+b.container,a(this)).children().wrapAll(‘
‘);var c=a(this),d=a(“.slides_control”,c),e=d.children().size(),f=d.children().outerWidth(),g=d.children().outerHeight(),h=b.start-1,i=b.effect.indexOf(“,”)<0?b.effect:b.effect.replace(” “,””).split(“,”)[0],j=b.effect.indexOf(“,”)<0?i:b.effect.replace(” “,””).split(“,”)[1],k=0,l=0,m=0,n=0,o,p,q,r,s,t,u,v;if(e<2)return a(“.”+b.container,a(this)).fadeIn(b.fadeSpeed,b.fadeEasing,function(){o=!0,b.slidesLoaded()}),a(“.”+b.next+”, .”+b.prev).fadeOut(0),!1;if(e<2)return;h<0&&(h=0),h>e&&(h=e-1),b.start&&(n=h),b.randomize&&d.randomize(),a(“.”+b.container,c).css({overflow:”hidden”,position:”relative”}),d.children().css({position:”absolute”,top:0,left:d.children().outerWidth(),zIndex:0,display:”none”}),d.css({position:”relative”,width:f*3,height:g,left:-f}),a(“.”+b.container,c).css({display:”block”}),b.autoHeight&&(d.children().css({height:”auto”}),d.animate({height:d.children(“:eq(“+h+”)”).outerHeight()},b.autoHeightSpeed));if(b.preload&&d.find(“img:eq(“+h+”)”).length){a(“.”+b.container,c).css({background:”url(“+b.preloadImage+”) no-repeat 50% 50%”});var z=d.find(“img:eq(“+h+”)”).attr(“src”)+”?”+(new Date).getTime();a(“img”,c).parent().attr(“class”)!=”slides_control”?t=d.children(“:eq(0)”)[0].tagName.toLowerCase():t=d.find(“img:eq(“+h+”)”),d.find(“img:eq(“+h+”)”).attr(“src”,z).load(function(){d.find(t+”:eq(“+h+”)”).fadeIn(b.fadeSpeed,b.fadeEasing,function(){a(this).css({zIndex:5}),a(“.”+b.container,c).css({background:””}),o=!0,b.slidesLoaded()})})}else d.children(“:eq(“+h+”)”).fadeIn(b.fadeSpeed,b.fadeEasing,function(){o=!0,b.slidesLoaded()});b.bigTarget&&(d.children().css({cursor:”pointer”}),d.children().click(function(){return w(“next”,i),!1})),b.hoverPause&&b.play&&(d.bind(“mouseover”,function(){x()}),d.bind(“mouseleave”,function(){y()})),b.generateNextPrev&&(a(“.”+b.container,c).after(‘Prev‘),a(“.”+b.prev,c).after(‘Next‘)),a(“.”+b.next,c).click(function(a){a.preventDefault(),b.play&&y(),w(“next”,i)}),a(“.”+b.prev,c).click(function(a){a.preventDefault(),b.play&&y(),w(“prev”,i)}),b.generatePagination?(b.prependPagination?c.prepend(”
“):c.append(”
“),d.children().each(function(){a(“.”+b.paginationClass,c).append(‘
- ‘+(m+1)+”
- “),m++})):a(“.”+b.paginationClass+” li a”,c).each(function(){a(this).attr(“href”,”#”+m),m++}),a(“.”+b.paginationClass+” li:eq(“+h+”)”,c).addClass(b.currentClass),a(“.”+b.paginationClass+” li a”,c).click(function(){return b.play&&y(),q=a(this).attr(“href”).match(“[^#/]+$”),n!=q&&w(“pagination”,j,q),!1}),a(“a.link”,c).click(function(){return b.play&&y(),q=a(this).attr(“href”).match(“[^#/]+$”)-1,n!=q&&w(“pagination”,j,q),!1}),b.play&&(v=setInterval(function(){w(“next”,i)},b.play),c.data(“interval”,v))})},a.fn.slides.option={preload:!1,preloadImage:”images/loading.gif”,container:”slides_container”,generateNextPrev:!1,next:”next”,prev:”prev”,pagination:!0,generatePagination:!0,prependPagination:!1,paginationClass:”pagination”,currentClass:”current”,fadeSpeed:350,fadeEasing:””,slideSpeed:350,slideEasing:””,start:1,effect:”slide”,crossfade:!1,randomize:!1,play:0,pause:0,hoverPause:!1,autoHeight:!1,autoHeightSpeed:350,bigTarget:!1,animationStart:function(){},animationComplete:function(){},slidesLoaded:function(){}},a.fn.randomize=function(b){function c(){return Math.round(Math.random())-.5}return a(this).each(function(){var d=a(this),e=d.children(),f=e.length;if(f>1){e.hide();var g=[];for(i=0;i1)return this.each(function(){t(this).bxSlider(n)}),this;var o={},r=this;e.el=this;var a=t(window).width(),l=t(window).height(),d=function(){o.settings=t.extend({},s,n),o.settings.slideWidth=parseInt(o.settings.slideWidth),o.children=r.children(o.settings.slideSelector),o.children.length1||o.settings.maxSlides>1,o.carousel&&(o.settings.preloadImages=”all”),o.minThreshold=o.settings.minSlides*o.settings.slideWidth+(o.settings.minSlides-1)*o.settings.slideMargin,o.maxThreshold=o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin,o.working=!1,o.controls={},o.interval=null,o.animProp=”vertical”==o.settings.mode?”top”:”left”,o.usingCSS=o.settings.useCSS&&”fade”!=o.settings.mode&&function(){var t=document.createElement(“div”),e=[“WebkitPerspective”,”MozPerspective”,”OPerspective”,”msPerspective”];for(var i in e)if(void 0!==t.style[e[i]])return o.cssPrefix=e[i].replace(“Perspective”,””).toLowerCase(),o.animProp=”-“+o.cssPrefix+”-transform”,!0;return!1}(),”vertical”==o.settings.mode&&(o.settings.maxSlides=o.settings.minSlides),r.data(“origStyle”,r.attr(“style”)),r.children(o.settings.slideSelector).each(function(){t(this).data(“origStyle”,t(this).attr(“style”))}),c()},c=function(){r.wrap(‘
‘),o.viewport=r.parent(),o.loader=t(‘
‘),o.viewport.prepend(o.loader),r.css({width:”horizontal”==o.settings.mode?100*o.children.length+215+”%”:”auto”,position:”relative”}),o.usingCSS&&o.settings.easing?r.css(“-“+o.cssPrefix+”-transition-timing-function”,o.settings.easing):o.settings.easing||(o.settings.easing=”swing”),f(),o.viewport.css({width:”100%”,overflow:”hidden”,position:”relative”}),o.viewport.parent().css({maxWidth:v()}),o.settings.pager||o.viewport.parent().css({margin:”0 auto 0px”}),o.children.css({“float”:”horizontal”==o.settings.mode?”left”:”none”,listStyle:”none”,position:”relative”}),o.children.css(“width”,u()),”horizontal”==o.settings.mode&&o.settings.slideMargin>0&&o.children.css(“marginRight”,o.settings.slideMargin),”vertical”==o.settings.mode&&o.settings.slideMargin>0&&o.children.css(“marginBottom”,o.settings.slideMargin),”fade”==o.settings.mode&&(o.children.css({position:”absolute”,zIndex:0,display:”none”}),o.children.eq(o.settings.startSlide).css({zIndex:50,display:”block”})),o.controls.el=t(‘
‘),o.settings.captions&&P(),o.active.last=o.settings.startSlide==x()-1,o.settings.video&&r.fitVids();var e=o.children.eq(o.settings.startSlide);”all”==o.settings.preloadImages&&(e=o.children),o.settings.ticker?o.settings.pager=!1:(o.settings.pager&&T(),o.settings.controls&&C(),o.settings.auto&&o.settings.autoControls&&E(),(o.settings.controls||o.settings.autoControls||o.settings.pager)&&o.viewport.after(o.controls.el)),g(e,h)},g=function(e,i){var s=e.find(“img, iframe”).length;if(0==s)return i(),void 0;var n=0;e.find(“img, iframe”).each(function(){t(this).one(“load”,function(){++n==s&&i()}).each(function(){this.complete&&t(this).load()})})},h=function(){if(o.settings.infiniteLoop&&”fade”!=o.settings.mode&&!o.settings.ticker){var e=”vertical”==o.settings.mode?o.settings.minSlides:o.settings.maxSlides,i=o.children.slice(0,e).clone().addClass(“bx-clone”),s=o.children.slice(-e).clone().addClass(“bx-clone”);r.append(i).prepend(s)}o.loader.remove(),S(),”vertical”==o.settings.mode&&(o.settings.adaptiveHeight=!0),o.viewport.height(p()),r.redrawSlider(),o.settings.onSliderLoad(o.active.index),o.initialized=!0,o.settings.responsive&&t(window).bind(“resize”,B),o.settings.auto&&o.settings.autoStart&&H(),o.settings.ticker&&L(),o.settings.pager&&I(o.settings.startSlide),o.settings.controls&&W(),o.settings.touchEnabled&&!o.settings.ticker&&O()},p=function(){var e=0,s=t();if(“vertical”==o.settings.mode||o.settings.adaptiveHeight)if(o.carousel){var n=1==o.settings.moveSlides?o.active.index:o.active.index*m();for(s=o.children.eq(n),i=1;i<=o.settings.maxSlides-1;i++)s=n+i>=o.children.length?s.add(o.children.eq(i-1)):s.add(o.children.eq(n+i))}else s=o.children.eq(o.active.index);else s=o.children;return”vertical”==o.settings.mode?(s.each(function(){e+=t(this).outerHeight()}),o.settings.slideMargin>0&&(e+=o.settings.slideMargin*(o.settings.minSlides-1))):e=Math.max.apply(Math,s.map(function(){return t(this).outerHeight(!1)}).get()),e},v=function(){var t=”100%”;return o.settings.slideWidth>0&&(t=”horizontal”==o.settings.mode?o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin:o.settings.slideWidth),t},u=function(){var t=o.settings.slideWidth,e=o.viewport.width();return 0==o.settings.slideWidth||o.settings.slideWidth>e&&!o.carousel||”vertical”==o.settings.mode?t=e:o.settings.maxSlides>1&&”horizontal”==o.settings.mode&&(e>o.maxThreshold||e0)if(o.viewport.width()o.maxThreshold)t=o.settings.maxSlides;else{var e=o.children.first().width();t=Math.floor(o.viewport.width()/e)}else”vertical”==o.settings.mode&&(t=o.settings.minSlides);return t},x=function(){var t=0;if(o.settings.moveSlides>0)if(o.settings.infiniteLoop)t=o.children.length/m();else for(var e=0,i=0;e<=f()?o.settings.moveSlides:f();else t=Math.ceil(o.children.length/f());return t},m=function(){return o.settings.moveSlides>0&&o.settings.moveSlides<=f()?o.settings.moveSlides:f()},S=function(){if(o.children.length>o.settings.maxSlides&&o.active.last&&!o.settings.infiniteLoop){if(“horizontal”==o.settings.mode){var t=o.children.last(),e=t.position();b(-(e.left-(o.viewport.width()-t.width())),”reset”,0)}else if(“vertical”==o.settings.mode){var i=o.children.length-o.settings.minSlides,e=o.children.eq(i).position();b(-e.top,”reset”,0)}}else{var e=o.children.eq(o.active.index*m()).position();o.active.index==x()-1&&(o.active.last=!0),void 0!=e&&(“horizontal”==o.settings.mode?b(-e.left,”reset”,0):”vertical”==o.settings.mode&&b(-e.top,”reset”,0))}},b=function(t,e,i,s){if(o.usingCSS){var n=”vertical”==o.settings.mode?”translate3d(0, “+t+”px, 0)”:”translate3d(“+t+”px, 0, 0)”;r.css(“-“+o.cssPrefix+”-transition-duration”,i/1e3+”s”),”slide”==e?(r.css(o.animProp,n),r.bind(“transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd”,function(){r.unbind(“transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd”),D()})):”reset”==e?r.css(o.animProp,n):”ticker”==e&&(r.css(“-“+o.cssPrefix+”-transition-timing-function”,”linear”),r.css(o.animProp,n),r.bind(“transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd”,function(){r.unbind(“transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd”),b(s.resetValue,”reset”,0),N()}))}else{var a={};a[o.animProp]=t,”slide”==e?r.animate(a,i,o.settings.easing,function(){D()}):”reset”==e?r.css(o.animProp,t):”ticker”==e&&r.animate(a,speed,”linear”,function(){b(s.resetValue,”reset”,0),N()})}},w=function(){for(var e=””,i=x(),s=0;i>s;s++){var n=””;o.settings.buildPager&&t.isFunction(o.settings.buildPager)?(n=o.settings.buildPager(s),o.pagerEl.addClass(“bx-custom-pager”)):(n=s+1,o.pagerEl.addClass(“bx-default-pager”)),e+=’
“}o.pagerEl.html(e)},T=function(){o.settings.pagerCustom?o.pagerEl=t(o.settings.pagerCustom):(o.pagerEl=t(‘
‘),o.settings.pagerSelector?t(o.settings.pagerSelector).html(o.pagerEl):o.controls.el.addClass(“bx-has-pager”).append(o.pagerEl),w()),o.pagerEl.delegate(“a”,”click”,q)},C=function(){o.controls.next=t(‘‘+o.settings.nextText+”“),o.controls.prev=t(‘‘+o.settings.prevText+”“),o.controls.next.bind(“click”,y),o.controls.prev.bind(“click”,z),o.settings.nextSelector&&t(o.settings.nextSelector).append(o.controls.next),o.settings.prevSelector&&t(o.settings.prevSelector).append(o.controls.prev),o.settings.nextSelector||o.settings.prevSelector||(o.controls.directionEl=t(‘
‘),o.controls.directionEl.append(o.controls.prev).append(o.controls.next),o.controls.el.addClass(“bx-has-controls-direction”).append(o.controls.directionEl))},E=function(){o.controls.start=t(‘
“),o.controls.stop=t(‘
“),o.controls.autoEl=t(‘
‘),o.controls.autoEl.delegate(“.bx-start”,”click”,k),o.controls.autoEl.delegate(“.bx-stop”,”click”,M),o.settings.autoControlsCombine?o.controls.autoEl.append(o.controls.start):o.controls.autoEl.append(o.controls.start).append(o.controls.stop),o.settings.autoControlsSelector?t(o.settings.autoControlsSelector).html(o.controls.autoEl):o.controls.el.addClass(“bx-has-controls-auto”).append(o.controls.autoEl),A(o.settings.autoStart?”stop”:”start”)},P=function(){o.children.each(function(){var e=t(this).find(“img:first”).attr(“title”);void 0!=e&&(“”+e).length&&t(this).append(‘
‘+e+”
“)})},y=function(t){o.settings.auto&&r.stopAuto(),r.goToNextSlide(),t.preventDefault()},z=function(t){o.settings.auto&&r.stopAuto(),r.goToPrevSlide(),t.preventDefault()},k=function(t){r.startAuto(),t.preventDefault()},M=function(t){r.stopAuto(),t.preventDefault()},q=function(e){o.settings.auto&&r.stopAuto();var i=t(e.currentTarget),s=parseInt(i.attr(“data-slide-index”));s!=o.active.index&&r.goToSlide(s),e.preventDefault()},I=function(e){var i=o.children.length;return”short”==o.settings.pagerType?(o.settings.maxSlides>1&&(i=Math.ceil(o.children.length/o.settings.maxSlides)),o.pagerEl.html(e+1+o.settings.pagerShortSeparator+i),void 0):(o.pagerEl.find(“a”).removeClass(“active”),o.pagerEl.each(function(i,s){t(s).find(“a”).eq(e).addClass(“active”)}),void 0)},D=function(){if(o.settings.infiniteLoop){var t=””;0==o.active.index?t=o.children.eq(0).position():o.active.index==x()-1&&o.carousel?t=o.children.eq((x()-1)*m()).position():o.active.index==o.children.length-1&&(t=o.children.eq(o.children.length-1).position()),”horizontal”==o.settings.mode?b(-t.left,”reset”,0):”vertical”==o.settings.mode&&b(-t.top,”reset”,0)}o.working=!1,o.settings.onSlideAfter(o.children.eq(o.active.index),o.oldIndex,o.active.index)},A=function(t){o.settings.autoControlsCombine?o.controls.autoEl.html(o.controls[t]):(o.controls.autoEl.find(“a”).removeClass(“active”),o.controls.autoEl.find(“a:not(.bx-“+t+”)”).addClass(“active”))},W=function(){1==x()?(o.controls.prev.addClass(“disabled”),o.controls.next.addClass(“disabled”)):!o.settings.infiniteLoop&&o.settings.hideControlOnEnd&&(0==o.active.index?(o.controls.prev.addClass(“disabled”),o.controls.next.removeClass(“disabled”)):o.active.index==x()-1?(o.controls.next.addClass(“disabled”),o.controls.prev.removeClass(“disabled”)):(o.controls.prev.removeClass(“disabled”),o.controls.next.removeClass(“disabled”)))},H=function(){o.settings.autoDelay>0?setTimeout(r.startAuto,o.settings.autoDelay):r.startAuto(),o.settings.autoHover&&r.hover(function(){o.interval&&(r.stopAuto(!0),o.autoPaused=!0)},function(){o.autoPaused&&(r.startAuto(!0),o.autoPaused=null)})},L=function(){var e=0;if(“next”==o.settings.autoDirection)r.append(o.children.clone().addClass(“bx-clone”));else{r.prepend(o.children.clone().addClass(“bx-clone”));var i=o.children.first().position();e=”horizontal”==o.settings.mode?-i.left:-i.top}b(e,”reset”,0),o.settings.pager=!1,o.settings.controls=!1,o.settings.autoControls=!1,o.settings.tickerHover&&!o.usingCSS&&o.viewport.hover(function(){r.stop()},function(){var e=0;o.children.each(function(){e+=”horizontal”==o.settings.mode?t(this).outerWidth(!0):t(this).outerHeight(!0)});var i=o.settings.speed/e,s=”horizontal”==o.settings.mode?”left”:”top”,n=i*(e-Math.abs(parseInt(r.css(s))));N(n)}),N()},N=function(t){speed=t?t:o.settings.speed;var e={left:0,top:0},i={left:0,top:0};”next”==o.settings.autoDirection?e=r.find(“.bx-clone”).first().position():i=o.children.first().position();var s=”horizontal”==o.settings.mode?-e.left:-e.top,n=”horizontal”==o.settings.mode?-i.left:-i.top,a={resetValue:n};b(s,”ticker”,speed,a)},O=function(){o.touch={start:{x:0,y:0},end:{x:0,y:0}},o.viewport.bind(“touchstart”,X)},X=function(t){if(o.working)t.preventDefault();else{o.touch.originalPos=r.position();var e=t.originalEvent;o.touch.start.x=e.changedTouches[0].pageX,o.touch.start.y=e.changedTouches[0].pageY,o.viewport.bind(“touchmove”,Y),o.viewport.bind(“touchend”,V)}},Y=function(t){var e=t.originalEvent,i=Math.abs(e.changedTouches[0].pageX-o.touch.start.x),s=Math.abs(e.changedTouches[0].pageY-o.touch.start.y);if(3*i>s&&o.settings.preventDefaultSwipeX?t.preventDefault():3*s>i&&o.settings.preventDefaultSwipeY&&t.preventDefault(),”fade”!=o.settings.mode&&o.settings.oneToOneTouch){var n=0;if(“horizontal”==o.settings.mode){var r=e.changedTouches[0].pageX-o.touch.start.x;n=o.touch.originalPos.left+r}else{var r=e.changedTouches[0].pageY-o.touch.start.y;n=o.touch.originalPos.top+r}b(n,”reset”,0)}},V=function(t){o.viewport.unbind(“touchmove”,Y);var e=t.originalEvent,i=0;if(o.touch.end.x=e.changedTouches[0].pageX,o.touch.end.y=e.changedTouches[0].pageY,”fade”==o.settings.mode){var s=Math.abs(o.touch.start.x-o.touch.end.x);s>=o.settings.swipeThreshold&&(o.touch.start.x>o.touch.end.x?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto())}else{var s=0;”horizontal”==o.settings.mode?(s=o.touch.end.x-o.touch.start.x,i=o.touch.originalPos.left):(s=o.touch.end.y-o.touch.start.y,i=o.touch.originalPos.top),!o.settings.infiniteLoop&&(0==o.active.index&&s>0||o.active.last&&0>s)?b(i,”reset”,200):Math.abs(s)>=o.settings.swipeThreshold?(0>s?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto()):b(i,”reset”,200)}o.viewport.unbind(“touchend”,V)},B=function(){var e=t(window).width(),i=t(window).height();(a!=e||l!=i)&&(a=e,l=i,r.redrawSlider())};return r.goToSlide=function(e,i){if(!o.working&&o.active.index!=e)if(o.working=!0,o.oldIndex=o.active.index,o.active.index=0>e?x()-1:e>=x()?0:e,o.settings.onSlideBefore(o.children.eq(o.active.index),o.oldIndex,o.active.index),”next”==i?o.settings.onSlideNext(o.children.eq(o.active.index),o.oldIndex,o.active.index):”prev”==i&&o.settings.onSlidePrev(o.children.eq(o.active.index),o.oldIndex,o.active.index),o.active.last=o.active.index>=x()-1,o.settings.pager&&I(o.active.index),o.settings.controls&&W(),”fade”==o.settings.mode)o.settings.adaptiveHeight&&o.viewport.height()!=p()&&o.viewport.animate({height:p()},o.settings.adaptiveHeightSpeed),o.children.filter(“:visible”).fadeOut(o.settings.speed).css({zIndex:0}),o.children.eq(o.active.index).css(“zIndex”,51).fadeIn(o.settings.speed,function(){t(this).css(“zIndex”,50),D()});else{o.settings.adaptiveHeight&&o.viewport.height()!=p()&&o.viewport.animate({height:p()},o.settings.adaptiveHeightSpeed);var s=0,n={left:0,top:0};if(!o.settings.infiniteLoop&&o.carousel&&o.active.last)if(“horizontal”==o.settings.mode){var a=o.children.eq(o.children.length-1);n=a.position(),s=o.viewport.width()-a.outerWidth()}else{var l=o.children.length-o.settings.minSlides;n=o.children.eq(l).position()}else if(o.carousel&&o.active.last&&”prev”==i){var d=1==o.settings.moveSlides?o.settings.maxSlides-m():(x()-1)*m()-(o.children.length-o.settings.maxSlides),a=r.children(“.bx-clone”).eq(d);n=a.position()}else if(“next”==i&&0==o.active.index)n=r.find(“> .bx-clone”).eq(o.settings.maxSlides).position(),o.active.last=!1;else if(e>=0){var c=e*m();n=o.children.eq(c).position()}if(“undefined”!=typeof n){var g=”horizontal”==o.settings.mode?-(n.left-s):-n.top;b(g,”slide”,o.settings.speed)}}},r.goToNextSlide=function(){if(o.settings.infiniteLoop||!o.active.last){var t=parseInt(o.active.index)+1;r.goToSlide(t,”next”)}},r.goToPrevSlide=function(){if(o.settings.infiniteLoop||0!=o.active.index){var t=parseInt(o.active.index)-1;r.goToSlide(t,”prev”)}},r.startAuto=function(t){o.interval||(o.interval=setInterval(function(){“next”==o.settings.autoDirection?r.goToNextSlide():r.goToPrevSlide()},o.settings.pause),o.settings.autoControls&&1!=t&&A(“stop”))},r.stopAuto=function(t){o.interval&&(clearInterval(o.interval),o.interval=null,o.settings.autoControls&&1!=t&&A(“start”))},r.getCurrentSlide=function(){return o.active.index},r.getSlideCount=function(){return o.children.length},r.redrawSlider=function(){o.children.add(r.find(“.bx-clone”)).outerWidth(u()),o.viewport.css(“height”,p()),o.settings.ticker||S(),o.active.last&&(o.active.index=x()-1),o.active.index>=x()&&(o.active.last=!0),o.settings.pager&&!o.settings.pagerCustom&&(w(),I(o.active.index))},r.destroySlider=function(){o.initialized&&(o.initialized=!1,t(“.bx-clone”,this).remove(),o.children.each(function(){void 0!=t(this).data(“origStyle”)?t(this).attr(“style”,t(this).data(“origStyle”)):t(this).removeAttr(“style”)}),void 0!=t(this).data(“origStyle”)?this.attr(“style”,t(this).data(“origStyle”)):t(this).removeAttr(“style”),t(this).unwrap().unwrap(),o.controls.el&&o.controls.el.remove(),o.controls.next&&o.controls.next.remove(),o.controls.prev&&o.controls.prev.remove(),o.pagerEl&&o.pagerEl.remove(),t(“.bx-caption”,this).remove(),o.controls.autoEl&&o.controls.autoEl.remove(),clearInterval(o.interval),o.settings.responsive&&t(window).unbind(“resize”,B))},r.reloadSlider=function(t){void 0!=t&&(n=t),r.destroySlider(),d()},d(),this}}(jQuery); /************************************************************************** * @name Zozo UI Tabs * @descripton Create awesome tabbed content area * @version 6.5 * @Licenses: http://codecanyon.net/licenses/ * @requires jQuery v1.7 or later * @copyright Copyright (c) 2013 Zozo UI * @author Zozo UI * @URL: http://www.zozoui.com * This files should be not used in production. ***************************************************************************/ /** * jQuery.browser.mobile (http://detectmobilebrowser.com/) **/ ; (function (a) { (jQuery.browser = jQuery.browser || {}).mobile = /(android|ipad|playbook|silk|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(a.substr(0, 4)) })(navigator.userAgent || navigator.vendor || window.opera); ; (function ($, window, document, undefined) { if (!window.console) window.console = {}; if (!window.console.log) window.console.log = function () { }; $.fn.extend({ hasClasses: function (selectors) { var _base = this; for (i in selectors) { if ($(_base).hasClass(selectors[i])) return true; } return false; } }); $.zozo = {}; $.zozo.core = {}; $.zozo.core.console = { debug: false, log: function (message) { if ($(“#zozo-console”).length != 0) { $(“”) .css({ marginTop: -24 }) .html(message) .prependTo(“#zozo-console”) .animate({ marginTop: 0 }, 300) .animate({ backgroundColor: “#ffffff” }, 800); } else { if (console && this.debug === true) { console.log(message); } } } }; $.zozo.core.content = { debug: false, video: function (_content) { if (_content) { _content.find(“iframe”).each(function () { var _iframeSrc = $(this).attr(‘src’); var wmode = “wmode=transparent”; if (_iframeSrc && _iframeSrc.indexOf(wmode) === -1) { if (_iframeSrc.indexOf(‘?’) != -1) $(this).attr(‘src’, _iframeSrc + ‘&’ + wmode); else $(this).attr(‘src’, _iframeSrc + ‘?’ + wmode); } }); } }, check: function (_content) { this.video(_content); } }; $.zozo.core.keyCodes = { tab: 9, enter: 13, esc: 27, space: 32, pageup: 33, pagedown: 34, end: 35, home: 36, left: 37, up: 38, right: 39, down: 40 }; $.zozo.core.debug = { startTime: new Date(), log: function (msg) { if (console) { console.log(msg); } }, start: function () { this.startTime = +new Date(); this.log(“start: ” + this.startTime); }, stop: function () { var _end = +new Date(); var _diff = _end – this.startTime; this.log(“end: ” + _end); this.log(“diff: ” + _diff); var Seconds_from_T1_to_T2 = _diff / 1000; var Seconds_Between_Dates = Math.abs(Seconds_from_T1_to_T2); //this.log(“diff s: ” + Seconds_Between_Dates); } }; $.zozo.core.support = { is_mouse_present: function () { return ((‘onmousedown’ in window) && (‘onmouseup’ in window) && (‘onmousemove’ in window) && (‘onclick’ in window) && (‘ondblclick’ in window) && (‘onmousemove’ in window) && (‘onmouseover’ in window) && (‘onmouseout’ in window) && (‘oncontextmenu’ in window)); }, is_touch_device: function () { return ((‘ontouchstart’ in window) || // html5 browsers (navigator.maxTouchPoints > 0) || // future IE (navigator.msMaxTouchPoints > 0)) && // current IE10 (jQuery.browser.mobile); // mobile browser }, html5_storage: function () { try {//https://github.com/artberri/jquery-html5storage/blob/master/jquery.html5storage.js return ‘localStorage’ in window && window[‘localStorage’] !== null; } catch (e) { return false; } }, supportsCss: (function () { var div = document.createElement(‘div’), vendors = ‘khtml ms o moz webkit’.split(‘ ‘), cssPre = false; return function (prop) { (prop in div.style) && (cssPre = prop) var propUp = prop.replace(/^[a-z]/, function (val) { return val.toUpperCase(); }); $.each(vendors, function (index, value) { (value + propUp in div.style) && (cssPre = ‘-‘ + value + ‘-‘ + prop); }); return cssPre; }; })(), css: { transition: false } }; $.zozo.core.utils = { toArray: function (_object) { return $.map(_object, function (value, key) { return value; }); }, createHeader: function (_t, _c) { var _tab = $(“
- ” + _t + “
- “); var _content = $(”
” + _c + “
“); return { tab: _tab, content: _content }; }, isEmpty: function (_str) { return (!_str || 0 === _str.length); }, isNumber: function (_input) { return typeof _input === ‘number’ && isFinite(_input); }, isEven: function (_number) { return _number % 2 === 0; }, isOdd: function (_input) { return !(_number % 2 === 0); }, animate: function (_base, _elem, _pre, _prop, _post, _hidePre) { var _duration = (_base.settings.animation.effects === “none”) ? 0 : _base.settings.animation.duration; var _easing = _base.settings.animation.easing; var _transition = $.zozo.core.support.css.transition; if (_elem && _prop) { if (_pre) { _elem.css(_pre); } /* moz transitions css transition fix*/ var _prLeft = _elem.css(“left”); var _preTop = _elem.css(“top”); if (_base.settings.animation.type === “css”) { //pre animation _prop[_transition] = “all ” + _duration + “ms ease-in-out” //animation setTimeout(function () { _elem.css(_prop); }); //post animation setTimeout(function () { // _base.settings.animating = false; if (_post) { _elem.css(_post); } _elem.css(_transition, “”); //_container.removeClass(ANIMATINGCLASS); }, _duration); } else { //lem.show().animate(_prop, { _elem.animate(_prop, { duration: _duration, easing: _easing, complete: function () { // _base.settings.animating = false; if (_post) { _elem.css(_post); } // _container.removeClass(ANIMATINGCLASS); if (_hidePre) { _elem.hide(); } } }); } } return _base; } }; $.zozo.core.plugins = { easing: function (_base) { var _exist = false; if (_base) { if (_base.settings) { //set up a default value for easing var _defEasing = ‘swing’; // check for the existence of the easing plugin if ($.easing.def) { _exist = true; } else { if (_base.settings.animation.easing != ‘swing’ && _base.settings.animation.easing != ‘linear’) { _base.settings.animation.easing = _defEasing; } } } } return _exist; } }; $.zozo.core.browser = { init: function () { this.browser = this.searchString(this.dataBrowser) || “An unknown browser”; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || “an unknown version”; $.zozo.core.console.log(“init: ” + this.browser + ” : ” + this.version); if (this.browser === “Explorer”) { var _el = $(“html”); var version = parseInt(this.version); if (version === 6) { _el.addClass(“ie ie7”); } else if (version === 7) { _el.addClass(“ie ie7”); } else if (version === 8) { _el.addClass(“ie ie8”); } else if (version === 9) { _el.addClass(“ie ie9”); } } }, isIE: function (_version) { if ($.zozo.core.utils.isNumber(_version)) { return (this.browser === “Explorer” && this.version <= _version) } else { return (this.browser === “Explorer”) } }, isChrome: function (_version) { if ($.zozo.core.utils.isNumber(_version)) { return (this.browser === “Chrome” && this.version <= _version) } else { return (this.browser === “Chrome”) } }, searchString: function (data) { for (var i = 0; i < data.length; i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index + this.versionSearchString.length + 1)); }, dataBrowser: [ { string: navigator.userAgent, subString: “Chrome”, identity: “Chrome” }, { string: navigator.vendor, subString: “Apple”, identity: “Safari”, versionSearch: “Version” }, { prop: window.opera, identity: “Opera” }, { string: navigator.userAgent, subString: “Firefox”, identity: “Firefox” }, { string: navigator.userAgent, subString: “MSIE”, identity: “Explorer”, versionSearch: “MSIE” } ] }; $.zozo.core.hashHelper = { mode: “single”, separator: null, all: function (_sep) { var hashArray = []; var hash = document.location.hash; if (!this.hasHash()) { return hashArray; } if (this.isSimple(_sep)) { return hash.substring(1); } else { hash = hash.substring(1).split(‘&’); for (var i = 0; i < hash.length; i++) { var match = hash[i].split(_sep); //if (match.length != 2 || match[0] in hashArray) return undefined; if (match.length != 2 || match[0] in hashArray) { match[1] = “none”; } hashArray[match[0]] = match[1]; } } return hashArray; }, get: function (key, _sep) { var all = this.all(_sep); if (this.isSimple(_sep)) { return all; } else { if (typeof all === ‘undefined’ || typeof all.length < 0) { //self.log(“get: undefined or null all”); return null; } else { if (typeof all[key] !== ‘undefined’ && all[key] !== null) { //self.log(“get: exist key”); return all[key]; } else { //self.log(“get: undefined or null key” + key); return null; } } } }, set: function (key, value, _sep, _mod) { if (this.isSimple(_sep)) { document.location.hash = value; } else { if (_mod === “multiple”) { var all = this.all(_sep); var hash = []; all[key] = value; for (var key in all) { hash.push(key + _sep + all[key]); } document.location.hash = hash.join(‘&’); } else { document.location.hash = key + _sep + value; } } }, isSimple: function (_sep) { if (!_sep || _sep === “none”) { return true; } else { return false; } }, hasHash: function () { var hash = document.location.hash; if (hash.length > 0) { return true; } else { return false; } } }; $.zozo.core.support.css.transition = $.zozo.core.support.supportsCss(“transition”); $.zozo.core.browser.init(); })(jQuery, window, document); ; (function ($) { $.event.special.ztap = { // Abort tap if touch moves further than 10 pixels in any direction distanceThreshold: 10, // Abort tap if touch lasts longer than half a second timeThreshold: 500, //isTouchSupported: ‘ontouchstart’ in window || window.DocumentTouch && document instanceof DocumentTouch, isTouchSupported: jQuery.zozo.core.support.is_touch_device(), setup: function (_event) { var self = this, _base = $(self); var originalEvent = “click”; if (_event) { if (_event.data) { originalEvent = _event.data; } } if ($.event.special.ztap.isTouchSupported) { // Bind touch start _base.on(‘touchstart’, function (startEvent) { // Save the target element of the start event var target = startEvent.target, touchStart = startEvent.originalEvent.touches[0], startX = touchStart.pageX, startY = touchStart.pageY, threshold = $.event.special.ztap.distanceThreshold, timeout; function clearTapHandler() { clearTimeout(timeout); _base.off(‘touchmove’, moveHandler).off(‘touchend’, tapHandler); }; function tapHandler(endEvent) { clearTapHandler(); // When the touch end event fires, check if the target of the // touch end is the same as the target of the start, and if // so, fire a click. if (target == endEvent.target) { $.event.simulate(‘ztap’, self, endEvent); } }; // Remove tap and move handlers if the touch moves too far function moveHandler(moveEvent) { var touchMove = moveEvent.originalEvent.touches[0], moveX = touchMove.pageX, moveY = touchMove.pageY; if (Math.abs(moveX – startX) > threshold || Math.abs(moveY – startY) > threshold) { clearTapHandler(); } }; // Remove the tap and move handlers if the timeout expires timeout = setTimeout(clearTapHandler, $.event.special.ztap.timeThreshold); // When a touch starts, bind a touch end and touch move handler _base.on(‘touchmove’, moveHandler).on(‘touchend’, tapHandler); }); } else { // Bind click _base.on(originalEvent, function (endEvent) { $.event.simulate(‘ztap’, self, endEvent); }); } } }; })(jQuery); ;(function ($, window, document, undefined) { if (window.zozo == null) { window.zozo = {}; } var ZozoTabs = function (elem, options) { this.elem = elem; this.$elem = $(elem); this.options = options; this.metadata = (this.$elem.data(“options”)) ? this.$elem.data(“options”) : {}; this.attrdata = (this.$elem.data()) ? this.$elem.data() : {}; this.tabID; this.$tabGroup; this.$mobileNav; this.$mobileDropdownArrow; this.$tabs; this.$container; this.$contents; this.autoplayIntervalId; this.resizeWindowIntervalId; this.currentTab; this.BrowserDetection = $.zozo.core.browser; this.Deeplinking = $.zozo.core.hashHelper; this.lastWindowHeight; this.lastWindowWidth; this.responsive; }; var zozo = { pluginName: “zozoTabs”, elementSpacer: “”, commaRegExp: /,/g, space: ” “, responsive: { largeDesktop: 1200, desktop: 960, tablet: 720, phone: 480 }, modes: { tabs: “tabs”, stacked: “stacked”, menu: “menu”, slider: “slider” }, states:{ closed: “z-state-closed”, open: “z-state-open”, active: “z-state-active” }, events: { click: “click”, mousover: “mouseover”, touchend: “touchend”, touchstart: “touchstart”, touchmove: “touchmove” }, animation: { effects:{ fade: “fade”, none: “none”, slideH: “slideH”, slideV: “slideV”, slideLeft: “slideLeft”, slideRight: “slideRight”, slideUp: “slideUp”, slideUpDown: “slideUpDown”, slideDown: “slideDown” }, types: { css: “css”, jquery: “jquery” } }, classes: { prefix: “z-“, wrapper: “z-tabs”, tabGroup: “z-tabs-nav”, tab: “z-tab”, first: “z-first”, last: “z-last”, left: “z-left”, right: “z-right”, firstCol: “z-first-col”, lastCol: “z-last-col”, firstRow: “z-first-row”, lastRow: “z-last-row”, active: “z-active”, link: “z-link”, container: “z-container”, content: “z-content”, shadows: “z-shadows”, bordered: “z-bordered”, dark: “z-dark”, spaced: “z-spaced”, rounded: “z-rounded”, themes: [ “gray”, “black”, “blue”, “crystal”, “green”, “silver”, “red”, “orange”, “deepblue”, “white” ], flatThemes: [ “flat-turquoise”,//1 “flat-emerald”, “flat-peter-river”, “flat-amethyst”, “flat-wet-asphalt”, “flat-green-sea”,//2 “flat-nephritis”, “flat-belize-hole”, “flat-wisteria”, “flat-midnight-blue”, “flat-sun-flower”,//3 “flat-carrot”, “flat-alizarin”, “flat-graphite”, “flat-concrete”, “flat-orange”,//4 “flat-pumpkin”, “flat-pomegranate”, “flat-silver”, “flat-asbestos”, “flat-zozo-red” ], styles: [ “contained”, “pills”, “underlined”, “clean”, “minimal” ], orientations: [ “vertical”, “horizontal” ], sizes: [ “mini”, “small”, “medium”, “large”, “xlarge”, “xxlarge” ], positions: { top: “top”, topLeft: “top-left”, topCenter: “top-center”, topRight: “top-right”, topCompact: “top-compact”, bottom: “bottom”, bottomLeft: “bottom-left”, bottomCenter: “bottom-center”, bottomRight: “bottom-right”, bottomCompact: “bottom-compact” } } }, FLATCLASS = “flat”, READY = “ready”, ERROR = “error”, SELECT = “select”, ACTIVATE = “activate”, DEACTIVATE = “deactivate”, HOVERCLASS = “hover”, BEFORESEND = “beforeSend”, CONTENTLOAD = “contentLoad”, CONTENTURL = “contentUrl”, CONTENTTYPE = “contentType”, DISABLED = “disabled”, MENUICONCLASS = “z-icon-menu”, DISABLEDCLASS = “z-disabled”, STACKEDCLASS = “z-stacked”, LIGHTICONCLASS = “z-icons-light”, DARKICONCLASS = “z-icons-dark”, AJAXSPINNERCLASS = “z-spinner”, UNDERLINEDCLASS = “underlined”, CONTAINEDCLASS = “contained”, CLEANCLASS = “clean”, PILLS = “pills”, VERTICALCLASS = “vertical”, HORIZONTALCLASS = “horizontal”, TOPLEFTCLASS = “top-left”, TOPRIGHTCLASS = “top-right”, TOPCLASS = “top”, BOTTOMCLASS = “bottom”, BOTTOMRIGHTCLASS = “bottom-right”, BOTTOMLEFTCLASS = “bottom-left”, MOBILECLASS = “mobile”, MULTILINECLASS = “z-multiline”, TRANSITION = “transition”, ANIMATINGCLASS = “z-animating”, MOBILEDROPDOWNARROWCLASS = “z-dropdown-arrow”, RESPONSIVECLASS = “responsive”, CONTENTINNERCLASS = “z-content-inner”; ZozoTabs.prototype = { defaults: { delayAjax:50, animation: { duration: 600, effects: “slideH”, easing: “easeInQuad”, type: “css”, mobileDuration: 00 }, autoContentHeight:true, autoplay: { interval: 0, smart: true }, bordered: true, dark: false, cacheAjax: true, contentUrls: null, deeplinking: false, deeplinkingAutoScroll:false, deeplinkingMode: “single”, deeplinkingPrefix: null, deeplinkingSeparator: “”, defaultTab: “tab1”, event: zozo.events.click, maxRows: 3, minWidth: 200, minWindowWidth: 480, mobileAutoScrolling: null,//{navTopOffset:-10, contentTopOffset: -10}, mobileNav: true, mobileMenuIcon: null, mode: zozo.modes.tabs, multiline:false, hashAttribute: “data-link”, position: zozo.classes.positions.topLeft, orientation: HORIZONTALCLASS, ready: function () { }, responsive: true, responsiveDelay: 0, rounded: false, shadows: true, theme: “silver”, scrollToContent: false, select: function () { }, spaced: false, deactivate: function () { }, beforeSend: function () { }, contentLoad: function () { }, next: null, prev:null, error: function () { }, noTabs: false, rememberState:false, size: “medium”, style: CONTAINEDCLASS, tabRatio: 1.03, tabRatioCompact: 1.031, original:{ itemWidth: 0, itemMinWidth: null, itemMaxWidth: null, groupWidth: 0, initGroupWidth: 0, itemD: 0, itemM: 0, firstRowWidth: 0, lastRowItems:0, count:0, contentMaxHeight: null, contentMaxWidth: null, navHeight: null, position: null, bottomLeft: null, tabGroupWidth:0 }, animating: false }, init: function () { var _base = this; //setTimeout( function(){ _base.settings = $.extend(true,{}, _base.defaults, _base.options, _base.metadata, _base.attrdata); _base.$elem.find(“>.” + AJAXSPINNERCLASS).remove(); _base.$elem.removeClass(“z-tabs-loading”); if (_base.settings.contentUrls != null) { _base.$elem.find(“> div > div”).each(function (index, item) { $(item).data(CONTENTURL, _base.settings.contentUrls[index]); }); } methods.initAnimation(_base,true); methods.updateClasses(_base); methods.checkWidth(_base, true); methods.bindEvents(_base); methods.initAutoPlay(_base); $.zozo.core.plugins.easing(_base); /*load tab state from html5 local storage*/ if (_base.settings.rememberState === true && $.zozo.core.support.html5_storage()) { var tab = localStorage.getItem(_base.tabID + “_defaultTab”); if (methods.tabExist(_base, tab)) { _base.settings.defaultTab = tab; } } // check if Deeplinking is enabled if (_base.settings.deeplinking === true) { var _prefix = (_base.settings.deeplinkingPrefix) ? _base.settings.deeplinkingPrefix : _base.tabID; if (document.location.hash) { var tab = _base.Deeplinking.get(_prefix, _base.settings.deeplinkingSeparator); if (methods.tabExist(_base, tab)) { methods.showTab(_base, tab); //scroll to top if (_base.settings.deeplinkingAutoScroll === true) { $(‘html, body’).animate({ scrollTop: _base.$elem.offset().top – 150 }, 2000); } } else { methods.showTab(_base, _base.settings.defaultTab); } } else { methods.showTab(_base, _base.settings.defaultTab); } // bind the event hashchange, using jquery-hashchange-plugin if (typeof ($(window).hashchange) != “undefined”) { $(window).hashchange(function () { var _newTab = _base.Deeplinking.get(_prefix, _base.settings.deeplinkingSeparator); if (!_base.currentTab || _base.currentTab.attr(_base.settings.hashAttribute) !== _newTab) { methods.showTab(_base, _newTab); } }); } else { // Bind the event hashchange, using jquery event binding, not supported (IE6, IE7) $(window).bind(‘hashchange’, function () { var _newTab = _base.Deeplinking.get(_prefix, _base.settings.deeplinkingSeparator); if (!_base.currentTab || _base.currentTab.attr(_base.settings.hashAttribute) !== _newTab) { methods.showTab(_base, _newTab); } }); } } else { if (_base.settings.noTabs === true) { methods.showContent(_base, methods.getActive(_base, 0)); } else { methods.showTab(_base, _base.settings.defaultTab); } } methods.checkWidth(_base); //fire ready event _base.$elem.trigger(READY, _base.$elem); return _base; //}, 2000); }, setOptions: function (_option) { var _base = this; _base.settings = $.extend(true, _base.settings, _option); methods.initAnimation(_base); methods.updateClasses(_base, true); //version 5.0 methods.initTransition(_base, _base.$tabs.index(_base.currentTab)); methods.checkWidth(_base, false, true); methods.initAutoPlay(_base); return _base; }, add: function (item, content, tabID) { var _base = this; var tabOjb = {}; if (item != null && typeof item === ‘object’) { if (item.tab) { tabOjb.tab = $(item.tab); (item.tabID && _base.settings.deeplinking === true) && (tabOjb.tab.attr(_base.settings.hashAttribute, item.tabID)); } if (item.content) { tabOjb.content = $(item.content); } } else if (item && content) { tabOjb.tab = $(“
- ” + item + “
- “); tabOjb.content = $(”
” + content + “
“); (tabID && _base.settings.deeplinking === true) && (tabOjb.tab.attr(_base.settings.hashAttribute, tabID)); } if (tabOjb.tab && tabOjb.content) { tabOjb.tab.appendTo(_base.$tabGroup).hide().fadeIn(300).css(“display”, “”); tabOjb.content.appendTo(_base.$container); methods.updateClasses(_base); methods.bindEvent(_base, tabOjb.tab); setTimeout(function () { methods.checkWidth(_base, false, true); }, 350); } return _base; }, insertAfter: function (_t, _c, _d) { var _base = this; return _base; }, insertBefore: function (_t, _c, _d) { var _base = this; return _base; }, remove: function (_i) { var _base = this; var _index = (_i – 1); var _tabToRemove = _base.$tabs.eq(_index); var _contentToRmove = _base.$contents.eq(_index); _contentToRmove.remove(); _tabToRemove.fadeOut(300, function () { $(this).remove(); methods.updateClasses(_base); }); setTimeout(function () { methods.checkWidth(_base, false, true); }, 350); return _base; }, enable: function (_i) { var _base = this; var _tabToEnable = _base.$tabs.eq(_i); //var _contentToEnable= _base.$contents.eq(_i); if (_tabToEnable.length) { _tabToEnable.removeClass(DISABLEDCLASS); _tabToEnable.data(DISABLED,false); } return _base; }, disable: function (_i) { var _base = this; var _tabToDisable = _base.$tabs.eq(_i); //var _contentToDisable = _base.$contents.eq(_i); if (_tabToDisable.length) { _tabToDisable.addClass(DISABLEDCLASS); _tabToDisable.data(DISABLED, true); } return _base; }, select: function (_i) { var _base = this; if (_base.settings.animating !== true) { if (_base.settings.noTabs === true) { methods.showContent(_base, methods.getActive(_base, _i)); } else { methods.changeHash(_base, _base.$tabs.eq(_i).attr(_base.settings.hashAttribute)); } } return _base; }, first: function () { var _base = this; _base.select(methods.getFirst()); return _base; }, prev: function () { var _base = this; var _currentIndex = methods.getActiveIndex(_base) if (_currentIndex <= methods.getFirst(_base)) { _base.select(methods.getLast(_base)); } else { _base.select(_currentIndex – 1); $.zozo.core.debug.log(“prev tab : ” + (_currentIndex – 1)); } return _base; }, next: function (_base) { _base = (_base) ? _base : this; var _currentIndex = methods.getActiveIndex(_base); var _count = parseInt(methods.getLast(_base)); if (_currentIndex >= _count) { _base.select(methods.getFirst()); } else { _base.select(_currentIndex + 1); $.zozo.core.debug.log(“next tab : ” + (_currentIndex + 1)); } return _base; }, last: function () { var _base = this; _base.select(methods.getLast(_base)); return _base; }, play: function (interval) { var _base = this; if (interval == null || interval < 0) { interval = 2000; } _base.settings.autoplay.interval = interval; _base.stop(); _base.autoplayIntervalId = setInterval(function () { _base.next(_base); }, _base.settings.autoplay.interval); return _base; }, stop: function (_base) { _base = (_base) ? _base : this; clearInterval(_base.autoplayIntervalId); return _base; }, refresh: function () { var _base = this; _base.$contents.filter(“.z-active”).css({ “display”: “block” }).show(); methods.checkWidth(_base); return _base; } }; var methods = { initAnimation: function (_base, _init) { var _effects = $.zozo.core.utils.toArray(zozo.animation.effects); if ($.inArray(_base.settings.animation.effects, _effects) < 0) { _base.settings.animation.effects = zozo.animation.effects.slideH; } if (jQuery.browser.mobile) { //_base.settings.event = zozo.events.touchend; _base.settings.shadows = false; } if ($.zozo.core.support.css.transition === false) { _base.settings.animation.type = zozo.animation.types.jquery; if (jQuery.browser.mobile) { _base.settings.animation.duration = 0; } } if (_base.settings.animation.effects === zozo.animation.effects.none && _init ===true) { _base.settings.animation.duration = 0; } }, updateClasses: function (_base, _options) { _base.$elem.find(‘*’).stop(true, true); _base.tabID = _base.$elem.attr(“id”); _base.$tabGroup = _base.$elem.find(“> ul”).addClass(zozo.classes.tabGroup).not(“.z-tabs-mobile”).addClass(“z-tabs-desktop”); _base.$tabs = _base.$tabGroup.find(“> li”); _base.$container = _base.$elem.find(“> div”); _base.$contents = _base.$container.find(“> div”); if (_base.$tabGroup.length<=0) { _base.settings.noTabs = true; } var _transition = $.zozo.core.support.css.transition; var _noTabs = _base.settings.noTabs; //update container and content classes _base.$container.addClass(zozo.classes.container).css({_transition:””}); _base.$contents.addClass(zozo.classes.content); _base.$contents.each(function (index, item) { var _cont = $(item); _cont.css({ “left”: “”, “top”: “”, “opacity”: “”, “display”: “”, _transition: “” }); (_cont.hasClass(zozo.classes.active)) && _cont.show().css({ “display”: “block”, _transition: “” }); }); if (_noTabs != true) { _base.$tabs.each(function (index, item) { var _tab =$(item); _tab .removeClass(zozo.classes.first) .removeClass(zozo.classes.last) .removeClass(zozo.classes.left) .removeClass(zozo.classes.right) .removeClass(zozo.classes.firstCol) .removeClass(zozo.classes.lastCol) .removeClass(zozo.classes.firstRow) .removeClass(zozo.classes.lastRow) .css({ “width”: “”, “float”: “” }) .addClass(zozo.classes.tab) .find(“a”) .addClass(zozo.classes.link); (methods.isTabDisabled(_tab)) && (_base.disable(index)); (_base.settings.deeplinking === false) && $(item).attr(_base.settings.hashAttribute, “tab” + (index + 1)) }); _base.$tabs.filter(“li:first-child”).addClass(zozo.classes.first); _base.$tabs.filter(“li:last-child”).addClass(zozo.classes.last); } var _positions = $.zozo.core.utils.toArray(zozo.classes.positions); _base.$elem .removeClass(zozo.classes.wrapper) .removeClass(zozo.classes.rounded) .removeClass(zozo.classes.shadows) .removeClass(zozo.classes.spaced) .removeClass(zozo.classes.bordered) .removeClass(zozo.classes.dark) .removeClass(MULTILINECLASS) .removeClass(LIGHTICONCLASS) .removeClass(DARKICONCLASS) .removeClass(STACKEDCLASS) .removeClass(FLATCLASS) .removeClass(zozo.classes.styles.join(zozo.space)) .removeClass(zozo.classes.orientations.join(zozo.space)) .removeClass(_positions.join().replace(zozo.commaRegExp, zozo.space)) .removeClass(zozo.classes.sizes.join(zozo.space)) .removeClass(zozo.classes.themes.join(zozo.space)) .removeClass(zozo.classes.flatThemes.join(zozo.space)) .addClass(HOVERCLASS) .addClass(_base.settings.style) .addClass(_base.settings.size) .addClass(_base.settings.theme); //console.log(zozo.classes.themes.join(zozo.space)); // console.log(zozo.classes.flatThemes.join(zozo.space)); //light or dark icons (methods.isFlatTheme(_base)) && _base.$elem.addClass(FLATCLASS); (methods.isLightTheme(_base)) ? _base.$elem.addClass(DARKICONCLASS): _base.$elem.addClass(LIGHTICONCLASS); (_base.settings.rounded === true) && _base.$elem.addClass(zozo.classes.rounded); (_base.settings.shadows === true) && _base.$elem.addClass(zozo.classes.shadows); (_base.settings.bordered === true) && _base.$elem.addClass(zozo.classes.bordered); (_base.settings.dark === true) && _base.$elem.addClass(zozo.classes.dark); (_base.settings.spaced === true) && _base.$elem.addClass(zozo.classes.spaced); (_base.settings.multiline === true) && _base.$elem.addClass(MULTILINECLASS); methods.checkPosition(_base); if (_base.$elem.find(“> ul.” + “z-tabs-mobile”).length) { _base.$mobileNav = _base.$elem.find(“> ul.” + “z-tabs-mobile”); } else { _base.$mobileNav = $(”
“); } if (_base.$mobileNav) { _base.$tabGroup.before(_base.$mobileNav); if (_base.$elem.find(“> i.” + MOBILEDROPDOWNARROWCLASS).length) { _base.$mobileDropdownArrow = _base.$elem.find(“> i.” + MOBILEDROPDOWNARROWCLASS); } else { _base.$mobileDropdownArrow = $(“”); } _base.$tabGroup.before(_base.$mobileDropdownArrow); } //remove hover class for touch (jQuery.browser.mobile) && (_base.$elem.removeClass(HOVERCLASS)); }, checkPosition: function (_base) { _base.$container.appendTo(_base.$elem); _base.$tabGroup.prependTo(_base.$elem); _base.$elem.find(“> span.z-tab-spacer”).remove(); _base.$elem.addClass(zozo.classes.wrapper); var _isTop = methods.isTop(_base); //set calculate and container height _base.$contents.each(function (index, item) { var _content = $(item); var _contentClass = CONTENTINNERCLASS; if (!_content.find(“> div.” + CONTENTINNERCLASS).length) { if (_content.hasClass(“z-row”)) { _content.removeClass(“z-row”); _contentClass = “z-row ” + CONTENTINNERCLASS; } _content.wrapInner(”
“); $.zozo.core.content.check(_content); } }); if (_base.settings.orientation === VERTICALCLASS) { if (_base.settings.position !== TOPRIGHTCLASS) { _base.settings.position = TOPLEFTCLASS; } } else { _base.settings.orientation = HORIZONTALCLASS; if (_isTop === false) { _base.$tabGroup.appendTo(_base.$elem); $(zozo.elementSpacer).appendTo(_base.$elem); _base.$container.prependTo(_base.$elem); } } _base.$elem.addClass(_base.settings.orientation); _base.$elem.addClass(_base.settings.position); if (_isTop) { _base.$elem.addClass(TOPCLASS); } else { _base.$elem.addClass(BOTTOMCLASS); } }, bindEvents: function (_base) { //main tab events var _duration = (_base.settings.animation.effects === zozo.animation.effects.none) ? 0 : _base.settings.animation.duration; _base.$tabs.each(function () { var _tab = $(this); var href = _tab.find(“a”).attr(“href”); var target = _tab.find(“a”).attr(“target”); if (!$.trim(href).length) { methods.bindEvent(_base, _tab); } else { _tab.on(‘ztap’, { data: _base.settings.event }, function (_event) { ($.trim(target).length) ? window.open(href, target) :window.location = href; _event.preventDefault(); }); } }); /* $(window).resize(function () { clearInterval(_base.resizeWindowIntervalId); _base.resizeWindowIntervalId = setTimeout(function () { methods.checkWidth(_base); }, 200) }); */ $(window).resize(function () { if (/*_base.lastWindowHeight !== $(window).height() ||*/ _base.lastWindowWidth !== $(window).width()) { clearInterval(_base.resizeWindowIntervalId); _base.resizeWindowIntervalId = setTimeout(function () { _base.lastWindowHeight = $(window).height(); _base.lastWindowWidth = $(window).width(); //console.log(“resizing ” + $(window).width()); methods.checkWidth(_base); }, _base.settings.responsiveDelay); } }); //bind next event var _nextButton = _base.settings.next; if (_nextButton != null) { $(_nextButton).on(zozo.events.click, function (_event) { _event.preventDefault(); _base.next(); }); } //bind prve event var _prevButton = _base.settings.prev; if (_prevButton != null) { $(_prevButton).on(zozo.events.click, function (_event) { _event.preventDefault(); _base.prev(); }); } //mobile dropdown menu event if (_base.$mobileNav) { _base.$mobileNav.find(“li”).on(‘ztap’, { data: _base.settings.event }, function (_event) { //_base.$mobileNav.find(“li”).on(_base.settings.event, function (_event) { _event.preventDefault(); if (_base.$mobileNav.hasClass(zozo.states.closed)) { _base.$mobileNav.removeClass(zozo.states.closed); _base.$tabGroup.removeClass(“z-hide-menu”); methods.mobileNavAutoScroll(_base); } else { _base.$mobileNav.addClass(zozo.states.closed); _base.$tabGroup.addClass(“z-hide-menu”); } methods.refreshParents(_base, _duration); }); } _base.lastWindowHeight = $(window).height(); _base.lastWindowWidth = $(window).width(); _base.$elem.bind(READY, _base.settings.ready); _base.$elem.bind(SELECT, _base.settings.select); _base.$elem.bind(DEACTIVATE, _base.settings.deactivate); _base.$elem.bind(ERROR, _base.settings.error); _base.$elem.bind(CONTENTLOAD, _base.settings.contentLoad); }, bindEvent: function (_base, _tab) { _tab.on(‘ztap’, { data: _base.settings.event }, function (_event) { _event.preventDefault(); //stop autoplay if smart is true if (_base.settings.autoplay !== false && _base.settings.autoplay != null) { if (_base.settings.autoplay.smart === true) { _base.stop(); } } methods.changeHash(_base, _tab.attr(_base.settings.hashAttribute)); if (methods.allowAutoScrolling(_base) === true && methods.isMobile(_base)) { $(window.opera ? ‘html’ : ‘html, body’).animate({ scrollTop: _base.$elem.offset().top +_base.settings.mobileAutoScrolling.contentTopOffset }, 0); } }); }, mobileNavAutoScroll: function (_base) { if (methods.allowAutoScrolling(_base) === true) { $(window.opera ? ‘html’ : ‘html, body’).animate({ scrollTop: _base.$mobileNav.offset().top + _base.settings.mobileAutoScrolling.navTopOffset }, 0); } return _base; }, showTab: function (_base, tab) { if (methods.tabExist(_base, tab) && tab != null && _base.settings.animating !== true) { var nextTab = _base.$tabs.filter(“li[” + _base.settings.hashAttribute + “=’” + tab + “‘]”); var _nextIndex = _base.$tabs.index(nextTab); var _tabElement = methods.getActive(_base, _nextIndex); if (_tabElement.enabled && _tabElement.preIndex !== _tabElement.index && _base.settings.noTabs !== true) { //_base.settings.animating = true //set current tab _base.currentTab = nextTab; //update classes _base.$tabs.removeClass(zozo.classes.active); _base.currentTab.addClass(zozo.classes.active); //save to local html5 storage if (_base.settings.rememberState === true && $.zozo.core.support.html5_storage()) { localStorage.setItem(_base.tabID + “_defaultTab”, nextTab.data(“link”)); } methods.mobileNav(_base, false, _tabElement.index); if (_tabElement.contentUrl) { if (_tabElement.preIndex === -1) { //transition.init(_base, _tabElement); _tabElement.content.css({ “opacity”: “”, “left”: “”, “top”: “”, “position”: “relative” }).show(); } if (_tabElement.contentType === “iframe”) { methods.iframeContent(_base, _tabElement); } else { methods.ajaxRequest(_base, _tabElement); } } else { methods.showContent(_base, _tabElement); } } } }, getActiveIndex: function (_base) { var _index; if (_base.settings.noTabs === true) { _index = _base.$container.find(“>div.” + zozo.classes.active).index(); } else { if (_base.currentTab) { _index = parseInt(_base.currentTab.index()); } else { _index = _base.$tabGroup.find(“li.” + zozo.classes.active).index(); } } return _index; }, getActive: function (_base, _index) { var _preIndex = methods.getActiveIndex(_base); var _nextContent = _base.$contents.eq(_index); var _nextTab = _base.$tabs.eq(_index); var _preTab = _base.$tabs.eq(_preIndex); var _transition = $.zozo.core.support.css.transition; var _duration = (_base.settings.animation.effects === zozo.animation.effects.none) ? 0 : _base.settings.animation.duration; var _tabElement = { index: _index, tab: _nextTab, content: _nextContent, contentInner: _nextContent.find(“> .z-content-inner”), enabled: methods.isTabDisabled(_nextTab)===false, contentUrl: _nextContent.data(CONTENTURL), contentType: _nextContent.data(CONTENTTYPE), noAnimation: false, transition: _transition, duration: _duration, preIndex: _preIndex, preTab: _preTab, preContent: _base.$contents.eq(_preIndex) }; return _tabElement; }, iframeContent: function (_base, _tabElement) { var _iframe = _tabElement.contentInner.find(“> div >.z-iframe”); if (!_iframe.length) { methods.showLoading(_base); _tabElement.contentInner.append(‘
‘); console.log(“add iframe”); } else { methods.hideLoading(_base); } methods.showContent(_base, _tabElement); _tabElement.contentInner.find(“.z-iframe”).load(function () { methods.hideLoading(_base); }); return _base; }, showLoading: function (_base) { _base.$container.append(”); return _base; }, hideLoading: function (_base) { _base.$container.find(“>.” + AJAXSPINNERCLASS).remove(); return _base; }, ajaxRequest: function (_base, _tabElement) { var data = {}; var callbackOjb = { tab: _tabElement.tab, content: _tabElement.contentInner, index: _tabElement.index, xhr: null, message: “” }; $.ajax({ type: “GET”, cache: (_base.settings.cacheAjax === true), url: _tabElement.contentUrl, dataType: “html”, data: data, beforeSend: function (xhr, settings) { //return fire(element, ‘ajax:beforeSend’, [xhr, settings]); methods.showLoading(_base); _base.settings.animating = true; }, error: function (xhr, status, error) { if (xhr.status == 404) { callbackOjb.message = ”
Sorry, error: 404 – the requested content could not be found.
“; } else { callbackOjb.message = ”
An error occurred: ” + status + “nError: ” + xhr + ” code: ” + xhr.status + “
“; } callbackOjb.xhr = xhr; (_base.settings.error && typeof (_base.settings.error) == typeof (Function)) && _base.$elem.trigger(ERROR, callbackOjb); _tabElement.contentInner.html(callbackOjb.message); }, complete: function (xhr, status) { //_base.$elem.trigger(‘ajax:complete’, [xhr, status]); setTimeout(function () { _base.settings.animating = false; //methods.setContentHeight(_base, _tabElement.content); methods.showContent(_base, _tabElement); methods.hideLoading(_base); }, _base.settings.delayAjax); }, success: function (data, status, xhr) { setTimeout(function () { _tabElement.contentInner.html(data); callbackOjb.xhr = xhr; _base.$elem.trigger(CONTENTLOAD, callbackOjb); }, _base.settings.delayAjax); } }); return _base; }, showContent: function (_base, _tabElement) { if (_tabElement.preIndex !== _tabElement.index && _base.settings.animating !== true) { _base.settings.animating = true; _base.$contents.removeClass(zozo.classes.active); _tabElement.content.addClass(zozo.classes.active); if (_tabElement.preIndex === -1) { transition.init(_base, _tabElement); } else { var _effects = _base.settings.animation.effects; //var _preSize = methods.getElementSize(_tabElement.preContent).height; //var _nextSize = methods.getElementSize(_tabElement.content).height; //var _largest = methods.getContentHeight(_base, null, true).height; var _preSize = methods.getContentHeight(_base, _tabElement.preContent, true).height; var _nextSize = methods.getContentHeight(_base, _tabElement.content,true).height; var _largest = methods.isLarger(_preSize, _nextSize); if (_base.settings.orientation === HORIZONTALCLASS && _base.settings.autoContentHeight === true) { _largest = (_preSize > _nextSize) ? _preSize : _nextSize } var _width = (_effects === zozo.animation.effects.slideH || _effects === zozo.animation.effects.slideLeft || _effects === zozo.animation.effects.slideRight) ? _base.$container.width() : _width = _largest; if (_tabElement.preIndex < _tabElement.index && _effects === zozo.animation.effects.slideV) { var _vHeight = methods.isLarger(_preSize, _nextSize); (_vHeight > _width) && (_width = _vHeight); } var _prevValue = -_width; var _nextValue = _width; if (_tabElement.preIndex > _tabElement.index) { _prevValue = _width; _nextValue = -_width; } transition.before(_base, _tabElement); switch(_effects) { case zozo.animation.effects.slideV: methods.animate(_base, _tabElement.preContent,null, { “left”: 0, “top”: _prevValue + “px” }); methods.animate(_base, _tabElement.content, {“left”: 0, “top”: _nextValue + “px”}, { “top”: 0}); break; case zozo.animation.effects.slideUp: methods.animate(_base, _tabElement.preContent, { “opacity”: 1 }, { “left”: 0, “top”: (-_width) + “px”}); methods.animate(_base, _tabElement.content, { “left”: 0, “top”: (_width * 1) + “px” }, { “top”: 0 }); break; case zozo.animation.effects.slideDown: methods.animate(_base, _tabElement.preContent, { “opacity”: 1 }, { “left”: 0, “top”: (_width) + “px” }); methods.animate(_base, _tabElement.content, { “left”: 0, “top”: (-_width) + “px”}, { “top”: 0 }); break; case zozo.animation.effects.slideUpDown: methods.animate(_base, _tabElement.preContent, { “opacity”: 1 }, { “left”: 0, “top”: (-_width*1) + “px” }); methods.animate(_base, _tabElement.content, { “left”: 0, “top”: (-(_width * 2)) + “px” }, { “top”: 0 }); break; case zozo.animation.effects.slideH: methods.animate(_base, _tabElement.preContent, null, { “left”: _prevValue + “px” }); methods.animate(_base, _tabElement.content, { “left”: _nextValue + “px” }, { “left”: 0}); break; case zozo.animation.effects.slideRight: methods.animate(_base, _tabElement.preContent, { “opacity”: 1 }, { “top”: 0, “left”: (_width) + “px”}); methods.animate(_base, _tabElement.content, { “top”: 0, “left”: (-_width) + “px” }, { “top”: 0, “left”: 0}); break; case zozo.animation.effects.slideLeft: methods.animate(_base, _tabElement.preContent, { “opacity”: 1 }, { “top”: 0, “left”: (-_width) + “px” }); methods.animate(_base, _tabElement.content, { “top”: 0, “left”: (_width) + “px” }, { “top”: 0, “left”: 0 }); break; case zozo.animation.effects.fade: methods.animate(_base, _tabElement.preContent, { “display”: “block” }, { “opacity”: 0 }); methods.animate(_base, _tabElement.content, { “display”: “block”, “opacity”: 0 }, { “opacity”: 1 }); break; case zozo.animation.effects.none: _base.$contents.css({ “position”: “absolute”, “left”: 0, “top”: 0 }).removeClass(zozo.classes.active).hide() .eq(_tabElement.index).addClass(zozo.classes.active).css({ “position”: “relative” }).show(); break; default: } transition.after(_base, _tabElement); } } }, refreshParents: function (_base, _duration) { setTimeout(function () { _base.$elem.parents(“.z-tabs”).each(function (index, item) { $(item).data(‘zozoTabs’).refresh(); }); }, _duration); }, animate: function (_base, _elem, _pre, _prop, _post, _hidePre) { $.zozo.core.utils.animate(_base, _elem, _pre, _prop, _post, _hidePre); }, mobileNav: function (_base, _show, _nextIndex) { if (_nextIndex !== null && _base.$mobileNav) { _base.$mobileNav.find(“> li > a > span.z-title”).html(_base.$tabs.eq(_nextIndex).find(“a”).html()); } if (_show === true) { setTimeout(function () { _base.$mobileNav.removeClass(zozo.states.closed); }, _base.settings.animation.mobileDuration); _base.$tabGroup.removeClass(“z-hide-menu”);; } else { (_base.$mobileNav) && _base.$mobileNav.addClass(zozo.states.closed); _base.$tabGroup.addClass(“z-hide-menu”); } }, setResponsiveDimension: function (_base, _groupWidth, _rec) { var _container = _base.$container; _base.settings.original.count = parseInt(_base.$tabs.size()); if (!_rec) { _base.settings.original.itemD = parseInt(_container.width() / _base.settings.original.itemWidth); _base.settings.original.itemM = _base.settings.original.itemWidth + _base.settings.original.itemM; } _base.settings.original.firstRowWidth = (_base.settings.original.itemWidth / (parseInt(_base.settings.original.itemD) * _base.settings.original.itemWidth) * 100); _base.settings.original.itemCount = parseInt(_base.settings.original.itemD) * parseInt(_base.settings.original.count / (parseInt(_base.settings.original.itemD))); _base.settings.original.lastItem = 100 / (parseInt(_base.settings.original.count) – parseInt(_base.settings.original.itemCount)); _base.settings.original.navHeight = _base.settings.original.itemD * (parseInt(_base.$tabs.eq(0).innerHeight())) + ((_base.settings.original.itemM > 0 ? _base.$tabs.eq(0).innerHeight() : 0)); _base.settings.original.bottomLeft = _base.settings.original.count – (_base.settings.original.count – _base.settings.original.itemCount); _base.settings.original.rows = _base.settings.original.count > _base.settings.original.itemCount ? parseInt(_base.settings.original.itemCount / _base.settings.original.itemD) + 1 : parseInt(_base.settings.original.itemCount / _base.settings.original.itemD); _base.settings.original.lastRowItems = _base.settings.original.count – (_base.settings.original.itemCount * (_base.settings.original.rows – 1)); _base.settings.original.itemsPerRow = _base.settings.original.itemCount / _base.settings.original.rows; if (_container.width() > _groupWidth && !_rec) { _base.settings.original.itemD = _base.settings.original.count; _base.settings.original.itemM = 0; _base.settings.original.rows = 1; _base.settings.original.itemCount = _base.settings.original.count; } return _base; }, checkWidth: function (_base, _init, _options) { var _groupWidth = 0; var _container = _base.$container; var _isCompact = methods.isCompact(_base); var _heightTotal = 0; var _tabR = _base.settings.tabRatio; var _tabRC = _base.settings.tabRatioCompact; _base.$tabs.each(function (index) { var _itemTempWidth = $(this).outerWidth(true) * _tabR; (_isCompact) && (_itemTempWidth = (_itemTempWidth * _tabRC)); if (_init === true) { if (_itemTempWidth > _base.settings.original.itemWidth) { _base.settings.original.itemWidth = _itemTempWidth; _base.settings.original.itemMaxWidth = _itemTempWidth; } if (_itemTempWidth < _base.settings.original.itemMinWidth) { _base.settings.original.itemMinWidth = _itemTempWidth; } } _heightTotal = _heightTotal + $(this).innerHeight(); _groupWidth = _groupWidth + _itemTempWidth; }); if (_init === true) { _groupWidth = _groupWidth + (_base.settings.original.itemWidth * 0); } _base.settings.original.count = parseInt(_base.$tabs.size()); _base.settings.original.groupWidth = _groupWidth; methods.setResponsiveDimension(_base, _base.settings.original.groupWidth); if (_base.settings.original.count > 3 && _base.settings.original.lastRowItems === 1) { _base.settings.original.itemD = _base.settings.original.itemD – 1; _base.settings.original.itemM = _container.width() % _base.settings.original.itemWidth; methods.setResponsiveDimension(_base, _base.settings.original.groupWidth,true); } if (_init === true || _options === true) { _base.settings.original.initGroupWidth = _base.settings.original.groupWidth; if (methods.isCompact(_base)) { var _percent = 100 / _base.settings.original.count; _base.$tabs.each(function () { $(this).css({ “width”: _percent + “%” }) }); } _base.settings.original.position = _base.settings.position; } if (_base.settings.responsive === true) { methods.responsive(_base, _init); } var _isResORCompact = ( (methods.isCompact(_base) && !methods.isMobile(_base))); var _css = (methods.isResponsive(_base) && _base.BrowserDetection.isIE(7)) ? { “float”: “none”, “width”: “auto” } : { “float”: “” }; //version 5.1 removed float right var _hasResponsiveClass = _base.$elem.hasClass(RESPONSIVECLASS); _base.$tabs.each(function (index) { if (((_hasResponsiveClass === true && (index + 1) === _base.settings.original.itemD) || (index + 1) === _base.settings.original.count) && _isResORCompact) { $(this).css(_css); } else { $(this).css({ “float”: “” }); } }); if (_base.settings.orientation === VERTICALCLASS) { methods.setContentHeight(_base, null, true); } }, checkModes:function (_base) { var _isCompact = methods.isCompact(_base); if (_base.settings.mode === zozo.modes.stacked) { _base.$elem.addClass(STACKEDCLASS); _base.$elem.addClass(RESPONSIVECLASS); _base.$tabs.css({ “width”: “” }); (_base.$mobileNav) && _base.$mobileNav.hide(); } else { if (_isCompact) { var _percent = 100 / _base.settings.original.count _base.$tabs.each(function () { $(this).css({ “float”: “”, “width”: _percent + “%” }) }); } else { _base.$tabs.each(function () { $(this).css({ “float”: “”, “width”: “” }) }); } } }, getContentHeight: function (_base, _contentElement, _noAnimation) { var _autoContentHeight = _base.settings.autoContentHeight; var _size = { width: 0, height: 0 }; if (_autoContentHeight != true) { _base.$contents.each(function (index, item) { var _content = $(item); var contentSize = methods.getElementSize(_content); (contentSize.height > _size.height) && (_size.height = contentSize.height); (contentSize.width > _size.width) && (_size.width = contentSize.width); }); } else { var _activeContent = _base.$elem.find(“> .z-container > .z-content.z-active”); if (_contentElement != null) { _activeContent = _contentElement; } _size.height = methods.getElementSize(_activeContent).height; } if (_base.settings.orientation === VERTICALCLASS && !methods.isMobile(_base)) { var _containerSize = 0; _base.$tabs.each(function (index) { _containerSize = _containerSize + parseInt($(this).height()) + parseInt($(this).css(“border-top-width”)) + parseInt($(this).css(“border-bottom-width”)); }); _size.height = methods.isLarger(_size.height, _base.$tabGroup.innerHeight()); _size.height = methods.isLarger(_size.height, _containerSize); } return _size; }, setContentHeight: function (_base, _contentElement, _noAnimation) { //_heightOption: auto, largest, var _size = methods.getContentHeight(_base,_contentElement,_noAnimation); _base.settings.original.contentMaxHeight = _size.height; _base.settings.original.contentMaxWidth = _size.width; var _duration = (_base.settings.animation.effects === zozo.animation.effects.none || _noAnimation === true) ? 0 : _base.settings.animation.duration; var _autoContentHeight = _base.settings.autoContentHeight; var _transition = $.zozo.core.support.css.transition; var _cssProperties = { _transition: “none”, ‘min-height’: _base.settings.original.contentMaxHeight + “px” }; //var _cssProperties = { _transition: “none”, “height”: _base.settings.original.contentMaxHeight + “px”, ‘min-height’: _base.settings.original.contentMaxHeight + “px” }; if (_noAnimation === true) { _base.$container.css(_cssProperties); } else { methods.animate(_base, _base.$container, null, _cssProperties, {}); } return _base; }, responsive: function (_base, _init) { var _windowSize = $(window).width(); var _isTop = methods.isTop(_base); var _isCompact = methods.isCompact(_base); var _isContentLarger = _base.settings.original.initGroupWidth >= _base.$container.width(); var _maxRowsExecuted = _base.settings.original.rows > _base.settings.maxRows; var _minWidthExecuted = _windowSize <= _base.settings.minWindowWidth; var _enableMobileNav = (!_base.BrowserDetection.isIE(8) && _base.settings.mobileNav === true && _base.$mobileNav!=null); var _count = _base.settings.original.count; var _itemCount = _base.settings.original.itemCount; var _itemD = _base.settings.original.itemD; var _rows = _base.settings.original.rows; _base.$elem.removeClass(STACKEDCLASS); _base.$tabs.removeClass(zozo.classes.left).removeClass(zozo.classes.right).removeClass(zozo.classes.firstCol).removeClass(zozo.classes.lastCol).removeClass(zozo.classes.firstRow).removeClass(zozo.classes.lastRow) if (_base.settings.orientation === HORIZONTALCLASS) { var _compactResp = (_isCompact && (parseInt(_base.settings.original.count * _base.settings.original.itemWidth) >= _base.$container.width())) var _normalResp = (!_isCompact && _isContentLarger); var _isHorizontalResponsive = _compactResp || _normalResp; if (_isHorizontalResponsive) { (_rows === _count || (_base.settings.mode === zozo.modes.stacked)) && (_base.$elem.addClass(STACKEDCLASS)); _base.$tabs.each(function (index) { var _item = $(this); var _currentIndex = (index + 1); if (_base.settings.original.itemM > 0) { if (_currentIndex <= _itemCount) { _item.css({ “float”: “”, “width”: _base.settings.original.firstRowWidth + “%” }); } else { _item.css({ “float”: “”, “width”: _base.settings.original.lastItem + “%” }); } if (_isTop ===true) { (index === (_itemD – 1)) ? _item.addClass(zozo.classes.right) : _item.removeClass(zozo.classes.right); } else{ (_currentIndex === _count) && (_item.addClass(zozo.classes.right)); (index === _base.settings.original.bottomLeft) && (_item.addClass(zozo.classes.left)); } //console.log(“_currentIndex: ” + _currentIndex + ” _itemD: ” + _itemD + ” _itemCount: ” + _itemCount + ” _rows: ” + _rows + ” _count: ” + _count); if (_rows > 1 && _itemD!==1) { (_currentIndex === 1 || (_currentIndex > _itemD && (_currentIndex % _itemD === 1))) && (_item.addClass(zozo.classes.firstCol)); (_currentIndex === _count || (_currentIndex >= _itemD && (_currentIndex % _itemD === 0))) && (_item.addClass(zozo.classes.lastCol)); (_currentIndex <= _itemD) && (_item.addClass(zozo.classes.firstRow)); (_currentIndex > (_itemD * (_rows – 1))) && (_item.addClass(zozo.classes.lastRow)); } } }); methods.switchResponsiveClasses(_base, true); } else { if (_isCompact) { var _percent = 100 / _base.settings.original.count; _base.$tabs.each(function () { $(this).css({ “float”: “”, “width”: _percent + “%” }) }); } else { _base.$tabs.each(function () { $(this).css({ “float”: “”, “width”: “” }) }); } methods.switchResponsiveClasses(_base, false); } if (_windowSize >= 1200 && _base.responsive != zozo.responsive.largeDesktop) { _base.responsive = zozo.responsive.largeDesktop; methods.switchMenu(_base, false); } if (_base.responsive != zozo.responsive.phone && _enableMobileNav && ((_minWidthExecuted) || ((_maxRowsExecuted)))) { _base.responsive = ‘auto’; _base.$elem.removeClass(RESPONSIVECLASS) _base.$tabs.each(function () { $(this).css({ “width”: “” }) }); _base.$tabs.filter(“li:first-child”).addClass(zozo.classes.first); _base.$tabs.filter(“li:last-child”).addClass(zozo.classes.last); methods.switchMenu(_base, true); } } else { // if (_enableMobileNav === true && (_windowSize <= zozo.responsive.phone || parseInt(_base.$elem.width() – _base.settings.original.itemWidth) < _base.settings.minWidth)) { if (_enableMobileNav === true && (_minWidthExecuted || parseInt(_base.$elem.width() – _base.settings.original.itemWidth) < _base.settings.minWidth)) { methods.switchMenu(_base, true); } else { methods.switchMenu(_base, false); } } methods.refreshParents(_base, 0); }, switchResponsiveClasses:function (_base, _resp) { var _isTop = methods.isTop(_base); var _oriPos = _base.settings.original.position; var _topLeft = zozo.classes.positions.topLeft; var _bLeft = zozo.classes.positions.bottomLeft; if (_resp === true) { _base.$elem.addClass(RESPONSIVECLASS); methods.switchMenu(_base, false); _base.$elem.removeClass(_oriPos); } else { (_isTop === true) ? _base.$elem.removeClass(_topLeft).addClass(_oriPos) : _base.$elem.removeClass(_bLeft).addClass(_oriPos); methods.switchMenu(_base, false); _base.$elem.removeClass(RESPONSIVECLASS); _base.$tabs.removeClass(zozo.classes.last).filter(“li:last-child”).addClass(zozo.classes.last); } }, switchMenu: function (_base, _isMobile) { var _themes = zozo.classes.themes; var _sizes = zozo.classes.sizes; var _positions = $.zozo.core.utils.toArray(zozo.classes.positions); _base.$elem.removeClass(_themes.join(zozo.space)); if (_isMobile === true) { (_base.$mobileNav) && _base.$mobileNav.addClass(zozo.states.closed).show(); _base.$tabGroup.addClass(“z-hide-menu”); _base.$elem.addClass(MOBILECLASS); _base.$elem.removeClass(_base.settings.orientation); _base.$elem.removeClass(_base.settings.position); (_base.settings.style === UNDERLINEDCLASS) ? _base.$elem.addClass(“m-” + _base.settings.theme) : _base.$elem.addClass(_base.settings.theme); } else { _base.$elem.addClass(_base.settings.orientation); _base.$elem.addClass(_base.settings.theme); _base.$elem.addClass(_base.settings.position); (_base.$mobileNav) && _base.$mobileNav.removeClass(zozo.states.closed); _base.$tabGroup.removeClass(“z-hide-menu”); _base.$tabs.filter(“li:first-child”).addClass(zozo.classes.first); _base.$elem.removeClass(MOBILECLASS); (_base.$mobileNav) && _base.$mobileNav.hide(); } }, initAutoPlay: function (_base) { if (_base.settings.autoplay !== false && _base.settings.autoplay != null) { if (_base.settings.autoplay.interval > 0) { _base.stop(); _base.autoplayIntervalId = setInterval(function () { _base.next(_base); }, _base.settings.autoplay.interval); } else { _base.stop(); } } else { _base.stop(); } }, changeHash: function (_base, tab) { var _prefix = (_base.settings.deeplinkingPrefix) ? _base.settings.deeplinkingPrefix : _base.tabID; if (_base.settings.animating !== true) { if (_base.settings.deeplinking === true) { if (typeof ($(window).hashchange) != “undefined”) { //window.zozo.debug.start(); _base.Deeplinking.set(_prefix, tab, _base.settings.deeplinkingSeparator, _base.settings.deeplinkingMode); //window.zozo.debug.stop(); } else { if (_base.BrowserDetection.isIE(7)) { //IE and browsers that don’t support hashchange methods.showTab(_base, tab); } else { //modern browsers _base.Deeplinking.set(_prefix, tab, _base.settings.deeplinkingSeparator, _base.settings.deeplinkingMode); } } } else { methods.showTab(_base, tab); } } }, getFirst: function (_base) { return 0; }, getLast: function (_base) { if (_base.settings.noTabs === true) { return parseInt(_base.$container.children(“div”).size()-1); } return parseInt(_base.$tabGroup.children(“li”).size()-1); }, isCompact: function (_base) { return (_base.settings.position === zozo.classes.positions.topCompact || _base.settings.position === zozo.classes.positions.bottomCompact) }, isTop: function (_base) { if (_base.settings.original.position === null) { _base.settings.original.position = _base.settings.position; } return (_base.settings.original.position.indexOf(“top”) >= 0); }, isLightTheme: function (_base) { var _lightThemes = [“red”, “deepblue”, “blue”, “green”, “orange”, “black”]; var _isLight = true; var _isFlat = methods.isFlatTheme(_base); if (_base.settings.style !== UNDERLINEDCLASS) { ($.inArray(_base.settings.theme, _lightThemes) > -1) && (_isLight = false); (_isFlat) && (_isLight = false); } return _isLight; }, isFlatTheme: function (_base) { return (_base.settings.theme.indexOf(“flat”) >= 0); }, isResponsive: function (_base) { return (_base.$elem.hasClass(RESPONSIVECLASS) === true) }, tabExist: function (_base, tab) { return (_base.$tabs.filter(“li[” + _base.settings.hashAttribute + “=’” + tab + “‘]”).length> 0) }, isMobile: function (_base) { return (_base.$elem.hasClass(MOBILECLASS) === true) }, isTabDisabled:function (_tab) { return (_tab.hasClass(DISABLEDCLASS) || _tab.data(DISABLED) === true); }, allowAutoScrolling: function (_base) { return (_base.settings.mobileAutoScrolling != null && _base.settings.mobileAutoScrolling != false) }, getElementSize: function (_content) { var _size = { width: 0, height: 0 }; if (_content == null || _content.length == 0) { return _size; } if (_content.is(“:visible”) === false) { _size.height = _content.show().find(“>.z-content-inner”).innerHeight(); _size.width = _content.show().find(“>.z-content-inner”).outerWidth(); if (_size.height >= 0) { //_size.height = _content.height(); } _content.hide(); } else { _size.height = _content.find(“>.z-content-inner”).innerHeight(); _size.width = _content.find(“>.z-content-inner”).outerWidth(); if (_size.height >= 0) { //_size.height = _content.height(); } } (_content.hasClass(“z-video”) && ( _size.height= _content.innerHeight())); return _size; }, getWidth: function (object) { if (object == null || object.length == 0) { return 0; } object = object.find(“a”); var value = object.outerWidth(); //value += parseInt(object.css(“padding-left”), 10) + parseInt(object.css(“padding-right”), 10); //Total Padding Width value += parseInt(object.css(“margin-left”), 10) + parseInt(object.css(“margin-right”), 10); //Total Margin Width value += parseInt(object.css(“borderLeftWidth”), 10) + parseInt(object.css(“borderRightWidth”), 10); //Total Border Width return value; }, isLarger: function (_small, _large) { var _r = _small; if (_small < _large) { _r = _large; } return _r; } }; var transition = { init: function (_base, _tabElement) { _base.$contents.hide() _tabElement.content.css({ “opacity”: “”, “left”: “”, “top”: “”, “position”: “relative” }).show(); setTimeout(function () { _base.$container.find(“.z-tabs”).each(function (index, item) {$(item).data(‘zozoTabs’).refresh();}); _base.$elem.trigger(SELECT, { tab: _tabElement.tab, content: _tabElement.content, index: _tabElement.index }); _base.settings.animating = false; }, _tabElement.duration >= 0 ? 200 : _tabElement.duration); if (_base.settings.orientation === VERTICALCLASS) { /*set content height for animation*/ methods.setContentHeight(_base, _tabElement.content,true); } return _base; }, before: function (_base, _tabElement) { setTimeout(function () { _tabElement.content.find(“.z-tabs”).each(function (index, item) { $(item).data(‘zozoTabs’).refresh(); }); }, 50); if (_base.settings.animation.effects !== zozo.animation.effects.none) { /*set content height for animation*/ methods.setContentHeight(_base, _tabElement.preContent, true); methods.setContentHeight(_base, _tabElement.content); } _base.$container.addClass(ANIMATINGCLASS); _tabElement.preContent.css({ “position”: “absolute”, “display”: “block”, “left”: 0, “top”: 0 }); _tabElement.content.css({ “position”: “absolute”, “display”: “block” }); return _base; }, after: function (_base, _tabElement) { setTimeout(function () { _tabElement.content.css({ “position”: “relative” }); _tabElement.preContent.css({ “display”: “none” }); }, _tabElement.duration); /*hide all other tab contents*/ _base.$contents.each(function (index, item) { if (_tabElement.index != index && _tabElement.preIndex != index) { $(item).css({ _transition: “”, “position”: “”, “display”: “”, “left”: “”, “top”: “” }); } }); setTimeout(function () { _base.$elem.trigger(SELECT, { tab: _tabElement.tab, content: _tabElement.content, index: _tabElement.index }); _base.$elem.trigger(DEACTIVATE, { tab: _tabElement.preTab, content: _tabElement.preContent, index: _tabElement.preIndex }); var _cssProperties = (_base.settings.orientation === VERTICALCLASS) ? { “height”: “” } : { “height”: “”, “min-height”: “”, “overflow”: “” }; /*remove content height and set relative positioning*/ _base.$container.css(_cssProperties); _base.$container.removeClass(ANIMATINGCLASS); setTimeout(function () { _base.$contents.removeClass(zozo.classes.active).eq(_tabElement.index).addClass(zozo.classes.active); _base.settings.animating = false; _base.$contents.stop(true, true); }); }, _tabElement.duration+50); return _base; } }; ZozoTabs.defaults = ZozoTabs.prototype.defaults; $.fn.zozoTabs = function (options) { return this.each(function () { if (undefined == $(this).data(zozo.pluginName)) { var zozoTabs = new ZozoTabs(this, options).init(); $(this).data(zozo.pluginName, zozoTabs); } }); }; window.zozo.tabs = ZozoTabs; $(document).ready(function () { $(“[data-role=’z-tabs’]”).each(function (index, item) { if (!$(item).zozoTabs()) { $(item).zozoTabs(); } }); }); })(jQuery, window, document);
Vasant G Hegde May 28 2017, 23:58 IST
As an investor, when investing in mutual funds, you must have been confused while deciding between Growth and Dividend options. You must have asked this question yourself — which option is better? Growth or Dividend? Do remember that the option you tick in the box will decide your future cash flows, income accruals, taxability, the number and value of units.Also do bear in mind that whatever option you choose, the returns are the same for both the options as the scheme that you have invested in share the same basket of securities.
For the uninitiated, here’s the low-down on the various options mutual funds offer:
Growth option
Under this option as the name suggests, the NAV grows along with the appreciation in the portfolio value. You don’t receive any payouts whenever the fund declares dividends. If you need money you have to redeem either part or all units. This is also the default option. This option is ideal for those who don’t depend on regular income streams but instead want to create a corpus for a long-term goal like a retirement fund.Dividend option
The profit earned by the mutual fund schemes from the investments in the portfolio is paid out from time to time in the form of dividends. This option is recommended for those investors looking for regular income from their investments. The Net Asset Value of the scheme falls to the extent of dividends declared, as the profits are paid to investors. So as more dividends are paid out from time to time, the difference in the NAV between the two options will keep increasing.The dividend payout option seems attractive for investors wanting a regular income. But bear in mind that dividend declaration is a function of distributable surplus and there is no guarantee that you will get dividends regularly. If there is no surplus to distribute, dividend will not be declared by the fund. Therefore, if you are looking for regular income, you need to opt for SWP( Systematic Withdrawal plan). However, redemption of units under an SWP may have STT implication in equity schemes and capital gains tax implication in both equity and debt schemes.
Receiving dividends from time to time also means you are recovering your initial investment. You also don’t have to pay any tax on the dividends you are receiving. While the dividends you receive is tax-free in your hands, the scheme or the fund house has to pay Dividend Distribution tax to the government in respect of dividends distributed on units of debt schemes.
Dividends declared under a debt scheme are subject to dividend distribution tax
Dividend in a debt scheme attract dividend distribution tax, which reduces the NAV. Thus, the investor is effectively bearing the cost of the dividend distribution tax, although it might be paid by the scheme to income tax authorities. This cost might be fine for an investor in the high tax bracket, because the impact of the distribution tax could be lower than his marginal rate of taxation (which comes into play for taxation, if the investment is held for less than a year).But for a senior citizen with no taxable income, or whose marginal rate of taxation is lower, it is meaningless to bear the cost of distribution tax. Thus, for such investors, dividend option may not be preferable though dividends are precisely the reason they invest in the first place!
Dividend reinvestment option
Under the dividend option, one has another option called dividend reinvestment option. It is similar to growth option in terms of value. The only difference is whenever the dividend is declared, additional units are allotted and added to your folio. It increases the number of units one holds for the same cost price.
While in a dividend payout option, the investor receives the dividend in his bank account and the NAV goes down to reflect the dividend paid out, it does not change the number of units held by the investor.So which option is better? That depends on your need for a regular income and the objective of your investment.
(The writer is a former banker. He is currently teaching at Manipal Academy of Banking, Bengaluru)
Most popular stories now
Photo Gallery
Like us on Facebook
This Article Was Originally From *This Site*
Powered by WPeMatico