// this work for additional information regarding copyright ownership.
$(document).ready(function(){$(".jcarousel").jcarousel({}),$(".jcarousel-control-prev").on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).jcarouselControl({target:"-=1"}),$(".jcarousel-control-next").on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).jcarouselControl({target:"+=1"}),$(".jcarousel-pagination").on("jcarouselpagination:active","li",function(){$(this).addClass("active")}).on("jcarouselpagination:inactive","li",function(){$(this).removeClass("active")}).jcarouselPagination({item:function(e){return'<li><a href="#'+e+'">'+e+"</a></li>"}}),$("#tryit-start").on("click",function(){$(".jcarousel").jcarousel("scroll",1)})});