chui-3.9.2.min.js 51.9 KB
/*
ChocolateChip-UI
ChUI.js
Copyright 2015 Sourcebits www.sourcebits.com
License: MIT
Version: 3.9.2
*/
window.CHUIJSLIB,window.jQuery?window.CHUIJSLIB=window.jQuery:window.chocolatechipjs&&(window.CHUIJSLIB=window.chocolatechipjs),function(e){function t(e){return"tagName"in e?e:e.parentNode}function s(e,t,s,i){return Math.abs(e-t)>=Math.abs(s-i)?e-t>0?"left":"right":s-i>0?"up":"down"}function i(){if(p=null,c.last)try{c&&c.el&&(c.el.trigger("longtap"),c={})}catch(e){}}function n(){p&&clearTimeout(p),p=null}function a(){r&&clearTimeout(r),d&&clearTimeout(d),l&&clearTimeout(l),p&&clearTimeout(p),r=d=l=p=null,c={}}function o(t){function s(e){return/m/.test(e)?parseFloat(e):/s/.test(e)?100*parseFloat(e):void 0}var i,n;"transition"in document.body.style?i="transition-duration":"-webkit-transition"in document.body.style&&(i="-webkit-transition-duration"),n=s(e("article").eq(0).css(i)),setTimeout(function(){e(t).trigger({type:"navigationend"})},n)}e.extend({UuidBit:1,Uuid:function(){return this.UuidBit++,Date.now().toString(36)+this.UuidBit},concat:function(e){return e instanceof Array?e.join(""):[].slice.apply(arguments).join("")},forEach:function(e,t,s){function i(e){var t=e.length,s=typeof e;return"function"===s||e===window?!1:1===e.nodeType&&t?!0:"array"===s||0===t||"number"==typeof t&&t>0&&t-1 in e}var n,a=0,o=e.length,r=i(e);if(s){if(r)for(;o>a&&(n=t.apply(e[a],s),n!==!1);a++);else for(a in e)if(n=t.apply(e[a],s),n===!1)break}else if(r)for(;o>a&&(n=t.call(e[a],e[a],a),n!==!1);a++);else for(a in e)if(n=t.call(e[a],e[a],a),n===!1)break}}),e.fn.extend({forEach:function(t,s){var i=this;return e.forEach(i,t,s)},iz:function(t){if(window.jQuery){var s=e();return this.forEach(function(i){e(i).is(t)&&s.push(i)}),s}return window.chocolatechipjs?this.is(t):void 0},unique:function(){var e=[],t=this.sort();return t.forEach(function(t,s){-1===e.indexOf(t)&&e.push(t)}),e.length?e:[]},iznt:function(e){return window.jQuery?this.not(e):window.chocolatechipjs?this.isnt(e):void 0},haz:function(e){return this.has(e)},haznt:function(t){if(window.jQuery){var s=e();return this.forEach(function(i){e(i).has(t)[0]||s.push(i)}),s}return window.chocolatechipjs?this.hasnt(t):void 0},hazClass:function(t){if(window.jQuery){var s=e();return this.forEach(function(i){e(i).hasClass(t)&&s.push(i)}),s}return window.chocolatechipjs?this.hasClass(t):void 0},hazntClass:function(t){if(window.jQuery){var s=e();return this.forEach(function(i){e(i).hasClass(t)||s.push(i)}),s}if(window.chocolatechipjs){var s=[];return this.forEach(function(e){e.classList.contains(t)&&s.push(e)}),s}},hazAttr:function(t){if(window.jQuery){var s=e();return this.forEach(function(i){e(i).attr(t)&&s.push(i)}),s}if(window.chocolatechipjs){var s=[];return s}},hazntAttr:function(t){if(window.jQuery){var s=e();return this.forEach(function(i){e(i).attr(t)||s.push(i)}),s}if(window.chocolatechipjs){var s=[];return ctx.hasAttribute(t)||s.push(ctx),s}}}),e.extend({eventStart:null,eventEnd:null,eventMove:null,eventCancel:null,gestureLength:30}),e(function(){window.navigator.pointerEnabled?(e.eventStart="pointerdown",e.eventEnd="pointerup",e.eventMove="pointermove",e.eventCancel="pointercancel"):window.navigator.msPointerEnabled?(e.eventStart="MSPointerDown",e.eventEnd="MSPointerUp",e.eventMove="MSPointerMove",e.eventCancel="MSPointerCancel"):"ontouchstart"in window&&/mobile/gim.test(navigator.userAgent)?(e.eventStart="touchstart",e.eventEnd="touchend",e.eventMove="touchmove",e.eventCancel="touchcancel"):(e.eventStart="mousedown",e.eventEnd="click",e.eventMove="mousemove",e.eventCancel="mouseout")}),e.extend({isMobile:/mobile/gim.test(navigator.userAgent),isTrident:/trident/gim.test(navigator.userAgent),isIEEdge:/edge/gim.test(navigator.userAgent),isWinPhone:(/trident/gim.test(navigator.userAgent)||/edge/gim.test(navigator.userAgent))&&/mobile/gim.test(navigator.userAgent),isiPhone:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/iphone/gim.test(navigator.userAgent),isiPad:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/ipad/gim.test(navigator.userAgent),isiPod:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/ipod/gim.test(navigator.userAgent),isiOS:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/ip(hone|od|ad)/gim.test(navigator.userAgent),isAndroid:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/android/gim.test(navigator.userAgent)&&!/trident/gim.test(navigator.userAgent),isWebOS:/webos/gim.test(navigator.userAgent),isBlackberry:/blackberry/gim.test(navigator.userAgent),isTouchEnabled:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&"createTouch"in document,isOnline:navigator.onLine,isStandalone:navigator.standalone,isiOS6:!/trident/gim.test(navigator.userAgent)&&!e.isEdge&&/OS 6/gim.test(navigator.userAgent),isiOS7:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/OS 7/gim.test(navigator.userAgent),isiOS8:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/OS 8/gim.test(navigator.userAgent),isiOS9:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/OS 9/gim.test(navigator.userAgent),isWin:/edge/gim.test(navigator.userAgent)||/trident/gim.test(navigator.userAgent),isIE10:/msie 10/gim.test(navigator.userAgent),isIE11:/windows nt/gim.test(navigator.userAgent)&&/trident/gim.test(navigator.userAgent),isWebkit:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/webkit/gim.test(navigator.userAgent),isDesktop:!/mobile/gim.test(navigator.userAgent),isSafari:!/edge/gim.test(navigator.userAgent)&&!/Chrome/gim.test(navigator.userAgent)&&/Safari/gim.test(navigator.userAgent)&&!/android/gim.test(navigator.userAgent),isChrome:!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/Chrome/gim.test(navigator.userAgent)&&!((/samsung/gim.test(navigator.userAgent)||/Galaxy Nexus/gim.test(navigator.userAgent)||/HTC/gim.test(navigator.userAgent)||/LG/gim.test(navigator.userAgent))&&!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/android/i.test(navigator.userAgent)&&/webkit/i.test(navigator.userAgent)),isNativeAndroid:(/samsung/gim.test(navigator.userAgent)||/Galaxy Nexus/gim.test(navigator.userAgent)||/HTC/gim.test(navigator.userAgent)||/LG/gim.test(navigator.userAgent))&&!/trident/gim.test(navigator.userAgent)&&!/edge/gim.test(navigator.userAgent)&&/android/i.test(navigator.userAgent)&&/webkit/i.test(navigator.userAgent)}),e.extend({browserVersion:function(){var e,t=navigator.appName,s=navigator.userAgent,i=s.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);return i&&null!==(e=s.match(/version\/([\.\d]+)/i))&&(i[2]=e[1]),i=i?[i[1],i[2]]:[t,navigator.appVersion,"-?"],i[1]}}),e(function(){e.body=e("body"),/android/gim.test(navigator.userAgent)&&/webkit/gim.test(navigator.userAgent)&&!/Chrome/gim.test(navigator.userAgent)&&e.body.addClass("isNativeAndroidBrowser"),e.isWin?e.body.addClass("isWindows"):e.isiOS?e.body.addClass("isiOS"):e.isAndroid&&e.body.addClass("isAndroid"),e.isSafari&&6===parseInt(e.browserVersion(),10)&&e.body.addClass("isSafari6"),e.isNativeAndroid&&e.body.addClass("isNativeAndroidBrowser")});var r,l,d,c={},u=750,h=150;e.gestureLength=50,e.isAndroid&&(h=200);var p;e(function(){var o,v,g=e(document.body),f=!1;g.on(e.eventStart,function(s){if(o=Date.now(),v=o-(c.last||o),s.originalEvent&&(s=s.originalEvent),window.navigator.pointerEnabled||window.navigator.msPointerEnabled){if(window&&window.jQuery&&e===window.jQuery){if(s.originalEvent&&!s.originalEvent.isPrimary)return}else if(!s.isPrimary)return;s=s.originalEvent?s.originalEvent:s,g.on("MSHoldVisual",function(e){e.preventDefault()}),c.el=e(t(s.target)),r&&clearTimeout(r),c.x1=s.pageX,c.y1=s.pageY,f=!1}else"mousedown"===e.eventStart?(c.el=e(t(s.target)),r&&clearTimeout(r),c.x1=s.pageX,c.y1=s.pageY,f=!1):1===s.touches.length&&(c.el=e(t(s.touches[0].target)),r&&clearTimeout(r),c.x1=s.touches[0].pageX,c.y1=s.touches[0].pageY,f=2===s.targetTouches.length?!0:!1);v>0&&250>=v&&(c.isDoubleTap=!0),c.last=o,p=setTimeout(i,u)}),g.on(e.eventMove,function(t){if(t.originalEvent&&(t=t.originalEvent),window.navigator.pointerEnabled||window.navigator.msPointerEnabled){if(window&&window.jQuery&&e===window.jQuery){if(t.originalEvent&&!t.originalEvent.isPrimary)return}else if(!t.isPrimary)return;t=t.originalEvent?t.originalEvent:t,n(),c.x2=t.pageX,c.y2=t.pageY}else n(),"mousemove"===e.eventMove?(c.x2=t.pageX,c.y2=t.pageY):1===t.touches.length&&(c.x2=t.touches[0].pageX,c.y2=t.touches[0].pageY)}),g.on(e.eventEnd,function(t){if(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)if(window&&window.jQuery&&e===window.jQuery){if(t.originalEvent&&!t.originalEvent.isPrimary)return}else if(!t.isPrimary)return;n(),c.el&&(c.x2&&Math.abs(c.x1-c.x2)>e.gestureLength||c.y2&&Math.abs(c.y1-c.y2)>e.gestureLength?l=setTimeout(function(){c&&c.el&&(c.el.trigger("swipe"),c.el.trigger("swipe"+s(c.x1,c.x2,c.y1,c.y2)),c={})},0):"last"in c&&(d=setTimeout(function(){c&&c.el&&c.el.trigger("tap"),c&&c.isDoubleTap?c&&c.el&&(c.el.trigger("doubletap"),c={}):r=setTimeout(function(){return r=null,c&&c.el?(c.el.trigger("singletap"),c={},!1):void 0},h)},0)))}),g.on("touchcancel",a)}),["swipe","swipeleft","swiperight","swipeup","swipedown","doubletap","tap","singletap","longtap"].forEach(function(t){e.fn.extend({method:function(e){return this.on(t,e)}})}),e.extend({UIDesktopCompat:function(){e.isDesktop&&e.isSafari?e("body").addClass("isiOS").addClass("isDesktopSafari isDesktop"):e.isDesktop&&e.isChrome&&e("body").addClass("isAndroid").addClass("isDesktopChrome isDesktop")}}),e(function(){e.UIDesktopCompat()}),e(function(){e.body=e("body"),e.body[0].classList.contains("splitlayout")||e("body").prepend("<nav id='global-nav'></nav>"),e.body[0].classList.contains("splitlayout")&&window.innerWidth<768&&e("meta[name=viewport]").attr("content","width=device-width, initial-scale=0.45, maximum-scale=2, user-scalable=yes"),e("h1").each(function(e,t){t.nextElementSibling&&"A"===t.nextElementSibling.nodeName&&t.classList.add("buttonOnRight")}),e(".toolbar").prev("article").addClass("has-toolbar"),e.isiOS&&e.isStandalone&&e.body[0].classList.add("isStandalone")}),e.extend({UIHideNavBar:function(){e("nav").hide(),e.body.addClass("hide-navbars")},UIShowNavBar:function(){e("nav").show(),e.body.removeClass("hide-navbars")}}),window.jQuery&&e.extend({subscriptions:{},subscribe:function(t,s){e.subscriptions[t]||(e.subscriptions[t]=[]);var i=e.Uuid();return e.subscriptions[t].push({token:i,callback:s}),i},unsubscribe:function(t){setTimeout(function(){for(var s in e.subscriptions)if(e.subscriptions[s])for(var i=0,n=e.subscriptions[s].length;n>i;i++)if(e.subscriptions[s][i].token===t)return e.subscriptions[s].splice(i,1),t;return!1})},publish:function(t,s){return e.subscriptions[t]?(setTimeout(function(){for(var i=e.subscriptions[t]?e.subscriptions[t].length:0;i--;)e.subscriptions[t][i].callback(t,s);return!0}),!0):!1}}),e.extend({UIBrowserHashModification:!1,UIEnableBrowserHashModification:function(){e.UIBrowserHashModification=!0,e.UISetHashOnUrl("#"+e("article.current")[0].id)},UISetHashOnUrl:function(t,s){if(e.UIBrowserHashModification){s=s||"#/";var i;i=/^#/.test(t)?s+t.split("#")[1]:s+t,e.isAndroid?(/#/.test(t)&&(t=t.split("#")[1]),/\//.test(t)&&(t=t.split("/")[1]),window.location.hash="#/"+t):window.history.replaceState("Object","Title",i)}},UIGoBackToArticle:function(t){var s,i,n=e.UINavigationHistory.indexOf(t),a=e("article.current"),r=e(t);0===e.UINavigationHistory.length&&(r=e("article:first-of-type"),e.UINavigationHistory.push("#"+r[0].id));var l;l=e.UINavigationHistory.length>1?e.UINavigationHistory.splice(n+1):e("article.previous"),e.publish("chui/navigateBack/leave",a[0].id),e.publish("chui/navigateBack/enter",r[0].id),a[0].scrollTop=0,r[0].scrollTop=0,l.length&&e.forEach(l,function(t){e(t).removeClass("previous").addClass("next"),e(t).prev().removeClass("previous").addClass("next")}),s=a.next().hazClass("toolbar"),i=r.next().hazClass("toolbar"),r.removeClass("previous next").addClass("current"),r.prev().removeClass("previous next").addClass("current"),i&&i.length&&i.removeClass("previous next").addClass("current"),a.removeClass("current").addClass("next"),a.prev().removeClass("current").addClass("next"),s&&s.length&&s.removeClass("current").addClass("next"),e(".toolbar.previous").removeClass("previous").addClass("next"),e.UISetHashOnUrl(e.UINavigationHistory[e.UINavigationHistory.length-1]),o(r)},UIGoBack:function(){var t,s,i=e.UINavigationHistory.length,n=e("article.current"),a=e(e.UINavigationHistory[i-2]);0===i&&(a=e("article:first-of-type"),e.UINavigationHistory.push("#"+a[0].id)),e.publish("chui/navigateBack/leave",n[0].id),e.publish("chui/navigateBack/enter",a[0].id),n[0].scrollTop=0,a[0].scrollTop=0,t=n.next().hazClass("toolbar"),s=a.next().hazClass("toolbar"),a.removeClass("previous").addClass("current"),a.prev().removeClass("previous").addClass("current"),s[0]&&s.length&&s.removeClass("previous").addClass("current"),n.removeClass("current").addClass("next"),n.prev().removeClass("current").addClass("next"),t[0]&&t.length&&t.removeClass("current").addClass("next"),e.UINavigationHistory[i-2],1!==e.UINavigationHistory.length&&(e.UINavigationHistory.pop(),e.UISetHashOnUrl(e.UINavigationHistory[e.UINavigationHistory.length-1]),o(a))},isNavigating:!1,UIGoToArticle:function(t){if(!e.isNavigating){e.isNavigating=!0;var s=e("article.current"),i=s.prev();t=e(t);var n,a,r="#"+t[0].id,l=t.prev(),d="next previous";e.publish("chui/navigate/leave",s[0].id),e.UINavigationHistory.push(r),e.publish("chui/navigate/enter",t[0].id),s[0].scrollTop=0,t[0].scrollTop=0,n=s.next().hazClass("toolbar"),a=t.next().hazClass("toolbar"),s.removeClass("current").addClass("previous"),i.removeClass("current").addClass("previous"),n&&n.length&&n.removeClass("current").addClass("previous"),t.removeClass(d).addClass("current"),l.removeClass(d).addClass("current"),a&&a.length&&a.removeClass(d).addClass("current"),e.UISetHashOnUrl(t[0].id),setTimeout(function(){e.isNavigating=!1},500),o(t)}}}),e(function(){e.extend({UINavigationHistory:["#"+e("article").eq(0).attr("id")]});var t=e("body")[0];setTimeout(function(){e("nav:not(#global-nav)").forEach(function(s,i){t.classList.contains("splitlayout")||e("body")[0].classList.contains("slide-out-app")||t.classList.contains("hasTabBar")||(0===i?s.classList.add("current"):s.classList.add("next"))}),e("article").forEach(function(s,i){if(!t.classList.contains("splitlayout")&&!t.classList.contains("slide-out-app")&&!t.classList.contains("hasTabBar"))if(0===i)s.classList.add("current");else{if(e(s).closest(".sheet")[0])return;s.classList.add("next")}})},50),e("body").on("singletap",".back",function(){this.hasAttribute("disabled")||this.classList.contains("back")&&e.UIGoBack()}),e("body").on("singletap doubletap","li",function(){var t=e(this);if(!e.isNavigating&&this.hasAttribute("data-goto")&&this.getAttribute("data-goto")&&document.getElementById(this.getAttribute("data-goto"))&&!e(this).parent()[0].classList.contains("deletable")){t.addClass("selected");var s="#"+this.getAttribute("data-goto");e(s).addClass("navigable"),setTimeout(function(){t.removeClass("selected")},1e3);var i=e(s);e.isAndroid||e.isChrome?setTimeout(function(){e.UIGoToArticle(i)},200):e.UIGoToArticle(i)}}),e("li[data-goto]").forEach(function(t){e(t).closest("article").addClass("navigable");var s="#"+t.getAttribute("data-goto");e(s).addClass("navigable")}),e("nav").on(e.eventStart,function(e){e.preventDefault()})}),e(function(){e("body").on("singletap","button",function(){if(!this.hasAttribute("disabled")){var t=e(this);t.parent(".segmented")[0]||t.parent(".tabbar")[0]||this.classList.contains("slide-out-button")||this.classList.contains("back")||this.classList.contains("backTo")||(t.addClass("selected"),setTimeout(function(){t.removeClass("selected")},1e3))}})}),e.fn.extend({UIBlock:function(t){return t=t?" style='opacity:"+t+"'":" style='opacity: .5;'",e(this).before("<div class='mask'"+t+"></div>"),e("article.current").attr("aria-hidden",!0),this},UIUnblock:function(){return e(".mask").remove(),e("article.current").removeAttr("aria-hidden"),this}}),e.fn.extend({UICenter:function(t){var t=t;if(this[0]){var s=e(this),i=s.parent();t?e(this.css("position",t)):t="absolute"===s.css("position")?"absolute":"relative";var n,a,o,r;"absolute"===t?(n=s[0].clientHeight,a=s[0].clientWidth,o=i[0].clientHeight,r=i[0].clientWidth):(n=parseInt(s.css("height"),10),a=parseInt(s.css("width"),10),o=parseInt(i.css("height"),10),r=parseInt(i.css("width"),10),e(this).css({"margin-left":"auto","margin-right":"auto"}));var l,d;"body"===i[0].nodeName?(l=window.innerHeight/2+window.pageYOffset-n/2+"px",d=window.innerWidth/2-a/2+"px"):(l=o/2-n/2+"px",d=r/2-a/2+"px"),"absolute"!==t&&(d=0),s.css({left:d,top:l})}}}),e.fn.extend({UIBusy:function(t){t=t||{};var s={size:43,color:"#000",position:!1,duration:"2s"};e.extend(s,t);var i,n=this,a=function(){var t={"-webkit-animation-duration":s.duration};return i=e('<span class="busy"></span>'),e(i).css({"background-color":s.color,height:s.size+"px",width:s.size+"px"}),e(i).css(t),e(i).attr("role","progressbar"),s.position&&e(i).addClass(s.position),n.append(i),this},o=function(){s.id=e.Uuid();var i=null,a=s.position?" "+s.position:"";return e.isNativeAndroid?(i='<svg class="busy'+a+'" version="1.1" id="'+s.id+'" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve"><g><path fill="none" stroke="'+s.color+'" stroke-width="10" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M74.2,65c2.7-4.4,4.3-9.5,4.3-15c0-15.7-12.8-28.5-28.5-28.5S21.5,34.3,21.5,50c0,5.5,1.6,10.6,4.3,15"/></g><polyline fill="none" stroke="'+s.color+'" stroke-width="10" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="89.4,56.1 74.3,65 65.4,49.9 "/></svg>',void n.append(i)):(i='<svg id="'+s.id+'" class="busy'+a+'" x="0px" y="0px" viewBox="0 0 100 100"><circle stroke="url(#SVGID_1_)" cx="50" cy="50" r="28.5"/></svg>',n.append(i),n.addClass("hasActivityIndicator"),s.position&&e("#"+s.id).addClass(s.position),t.color&&e("#"+s.id).find("circle").css("stroke",t.color),e("#"+s.id).css({height:s.size+"px",width:s.size+"px"}),e("#"+s.id))},r=function(){return i=e('<progress class="busy"></progress>'),e(i).css({color:s.color}),e(i).attr("role","progressbar"),e(i).addClass("win-ring"),s.position&&e(i).addClass(s.position),n.append(i),this};e.isWin?r(t):e.isAndroid||e.isChrome?o(t):(e.isiOS||e.isSafari)&&a(t)}}),e.extend({UIPopup:function(t){if(t){var s={};s.id=e.Uuid(),s.content=!0,e.extend(s,t);var i,n,a=s.id,o=s.title?"<header><h1>"+s.title+"</h1></header>":"",r=s.message?'<p role="note">'+t.message+"</p>":"",l=t.cancelButton?'<button class="cancel" role="button">'+s.cancelButton+"</button>":"",d=s.continueButton?'<button class="continue" role="button">'+s.continueButton+"</button>":"",c=s.callback||e.noop;n=s.empty?e.concat('<div class="popup closed" role="alertdialog" id="',a,'"><div class="panel"></div></div>'):e.concat('<div class="popup closed','" role="alertdialog" id="',a,'"><div class="panel">',o,r,"</div><footer>",l,d,"</footer>",i,"</div>"),e("body").append(n),c&&d&&e(".popup").find(".continue").on(e.eventStart,function(){var t=e(this);e.isAndroid||e.isChrome?(t.addClass("selected"),setTimeout(function(){t.removeClass("selected"),e(".popup").UIPopupClose(),c.call(c)},300)):(e(".popup").UIPopupClose(),c.call(c))}),e.UICenterPopup(),setTimeout(function(){e("body").find(".popup").addClass("opened"),e("body").find(".popup").removeClass("closed")},200),e("body").find(".popup").UIBlock("0.5");var u=e.eventStart+" singletap "+e.eventEnd;e(".mask").on(u,function(e){e.stopPropagation()})}},UICenterPopup:function(){var t=e(".popup");if(t[0]){var s,i=window.innerHeight/2+window.pageYOffset-t[0].clientHeight/2+"px";s=320===window.innerWidth?"10px":Math.floor((window.innerWidth-318)/2)+"px",e.isWin?t.css({top:i}):t.css({left:s,top:i})}}}),e.fn.extend({UIPopupClose:function(){(this||this.classList.contains("popup"))&&(e(this).UIUnblock(),e(this).remove())}}),e(function(){e("body").on(e.eventStart,".cancel",function(){var t=e(this);t.closest(".popup")[0]&&(e.isAndroid||e.isChrome?(t.addClass("selected"),setTimeout(function(){t.closest(".popup").UIPopupClose(),t.removeClass("selected")},300)):t.closest(".popup").UIPopupClose())}),e(window).on("resize",function(){e.UICenterPopup()})}),e.extend({UIPopover:function(t){t=t||{};var s={id:e.Uuid(),callback:e.noop,title:""};e.extend(s,t),t&&t.content?s.content=t.content:s.content="";var i="<header><h1>"+s.title+"</h1></header>",n='<div class="popover" id="'+s.id+'">'+i+"<section></section></div>",a="#"+s.id,o=function(t){var s,i,n=e(t).offset(),o=n.left,r=e(a),l=r.offset();s=l.left,i=n.top+e(t)[0].clientHeight,r.width()+n.left>window.innerWidth?r.css({left:window.innerWidth-r.width()-20+"px",top:i-30+"px"}):r.css({left:o+"px",top:i-30+"px"})};return e(".mask")[0]?(e.UIPopoverClose(),void e("body").UIUnblock()):(e("body").append(n),(e.isAndroid||e.isChrome)&&setTimeout(function(){e(a).addClass("opened")},50),e.isWin&&e(a).addClass("open"),e(a).data("triggerEl",s.trigger),e(a).find("section").append(s.content),s.callback.call(s.callback,s.trigger),o(s.trigger),void e(".popover").UIBlock(".5"))}}),e.extend({UIAlignPopover:function(){var t=e(".popover");if(t.length){var s=t.data("triggerEl"),i=e(s).offset(),n=i.left;e(t).width()+i.left>window.innerWidth?t.css({left:window.innerWidth-e(t).width()-20+"px"}):t.css({left:n+"px"})}}}),e.extend({UIPopoverClose:function(){e("body").UIUnblock(),e(".popover").css("visibility","hidden"),setTimeout(function(){e(".popover").remove()},10)}}),e(function(){e(window).on("resize",function(){e.UIAlignPopover()});var t=e.eventStart+" singletap "+e.eventEnd;e("body").on(t,".mask",function(t){if(e(".popover")[0])e.UIPopoverClose();else{if(t&&1===t.nodeType)return;t.stopPropogation()}})}),e.fn.extend({UISegmented:function(t){var s={selected:0,callback:e.noop};if(t&&e.extend(s,t),!e(this).hazClass("paging").length){var i=s.callback,n=s.selected;this.find("button").forEach(function(t,s){e(t).attr("role","radio"),e(t).addClass("segment"),s===n&&(t.setAttribute("aria-checked","true"),t.classList.add("selected"))}),this.on("singletap","button",function(t){var s=e(this);this.parentNode.classList.contains("paging")||(s.siblings("button").removeClass("selected"),s.siblings("button").removeAttr("aria-checked"),s.addClass("selected"),s.attr("aria-checked",!0),i.call(this,t))})}}}),e.extend({UICreateSegmented:function(t){var s,i=t&&t.id?t.id:e.Uuid(),n=t&&t.className?t.className:"",a=t&&t.labels?t.labels:[],o=(t&&t.selected?t.selected:0,['<div class="segmented']);return n&&o.push(" "+n),o.push('">'),a.forEach(function(e,t){o.push('<button role="radio" class="segment"'),o.push('"'),o.push(">"),o.push(e),o.push("</button>")}),o.push("</div>"),s=e(o.join("")),s.attr("id",i),s}}),e.fn.extend({UIPanelToggle:function(t,s){var i,n=0;n=this.children().hazClass("selected").index()||0,t instanceof Array?i=t.children("div"):"string"==typeof t&&(i=e(t).children("div")),i.eq(n).siblings().css({display:"none"}),s&&s.apply(this,arguments),this.on(e.eventEnd,"button",function(){i.eq(e(this).index()).css({display:"block"}).siblings().css("display","none")}),this.on("singletap","button",function(){var t=e(this);this.parentNode.classList.contains("paging")||(t.siblings("button").removeClass("selected"),t.siblings("button").removeAttr("aria-checked"),t.addClass("selected"),t.attr("aria-checked",!0))})}}),e.extend({UIPaging:function(){var t=e(".segmented.paging").closest("nav").next();e(".segmented.paging").hazClass("horizontal").length?t.addClass("horizontal"):e(".segmented.paging").hazClass("vertical").length&&t.addClass("vertical"),t.children().eq(0).addClass("current"),t.children().eq(0).siblings().addClass("next");var s=function(){return t.children().length},i=function(i){if(1!==s()){i.next().removeClass("selected"),i.addClass("selected");var n;n=e("section.current"),0===n.index()?(n.removeClass("current"),t.children().eq(s()-1).addClass("current").removeClass("next"),t.children().eq(s()-1).siblings().removeClass("next").addClass("previous")):(n.removeClass("current").addClass("next"),n.prev().removeClass("previous").addClass("current")),setTimeout(function(){i.removeClass("selected")},250)}},n=function(i){if(1!==s()){i.prev().removeClass("selected"),i.addClass("selected");var n;i[0].classList.contains("disabled")||(n=e("section.current"),n.index()===s()-1?(n.removeClass("current"),t.children().eq(0).addClass("current").removeClass("previous"),t.children().eq(0).siblings().removeClass("previous").addClass("next")):(n.removeClass("current").addClass("previous"),n.next().removeClass("next").addClass("current")),setTimeout(function(){i.removeClass("selected")},250))}};e(".segmented.paging").on(e.eventStart,"button:first-of-type",function(){i(e(this))}),e(".segmented.paging").on(e.eventStart,"button:last-of-type",function(){n(e(this))}),e("article.paging.horizontal")[0]&&(e("article.paging").on("swiperight",function(){i(e("button:first-of-type"))}),e("article.paging").on("swipeleft",function(){n(e("button:last-of-type"))})),e("article.paging.vertical")[0]&&(e("article.paging").on("swipeup",function(){i(e("button:first-of-type"))}),e("article.paging").on("swipeudown",function(){n(e("button:last-of-type"))}))}}),e.fn.extend({UIEditList:function(t){var s={editLabel:"Edit",doneLabel:"Done",deleteLabel:"Delete",callback:e.noop,deletable:!0,movable:!0};if(t&&(e.extend(s,t),s.deletable||s.movable)){var i,n,a,o,r,l,d=e.isiOS||e.isSafari?d:"transform",c=s.editLabel,u=(s.doneLabel,s.deleteLabel),h=(s.placement,s.callback,"swiperight"),p="swipeleft",v=e("html").attr("dir");v=v?v.toLowerCase():"","rtl"===v&&(h="swipeleft",p="swiperight"),e.isWin&&(u="");e("li").eq(0)[0].clientHeight;if(s.deletable&&(i=e.concat('<button class="delete"><label>',u,"</label></button>"),a='<span class="deletion-indicator"></span>',e(this).addClass("deletable")),s.movable){var r="<span class='move-up'></span>",l="<span class='move-down'></span>";e(this).addClass("editable")}n=e.concat('<button class="edit">',c,"</button>"),e(this).closest("article").prev().find(".edit")[0]||e(this).closest("article").prev().find(".done")[0]||e(this).closest("article").prev().append(n),o=e(this).closest("article").prev().find(".edit"),e(this).find("li").forEach(function(t){e(t).has(".deletion-indicator").length||(s.deletable&&e(t).prepend(a),s.movable&&(e(t).append(r),e(t).append(l)),s.deletable&&e(t).append(i))});var g=[];e(this).find("li").forEach(function(t,s){0===s?e(t).attr("data-list-position","0"):e(t).attr("data-list-position",s),g.push(s)}),e(this).attr("data-list-items-position",g.join(","));var f=function(t,i,n){e(function(){n.on("singletap",function(){var n=this;if(this.classList.contains("edit"))setTimeout(function(){n.classList.remove("edit"),n.classList.add("done"),e(n).text(s.doneLabel),e(i).addClass("showIndicators")});else if(this.classList.contains("done")){e(i).data("list-edit")&&t.call(t,i),setTimeout(function(){n.classList.remove("done"),n.classList.add("edit"),e(n).text(s.editLabel),e(i).removeClass("showIndicators"),e(i).find("li").removeClass("selected")});var a=[];e(i).find("li").forEach(function(t,s){a.push(e(t).attr("data-list-position"))}),e(i).attr("data-list-items-position",a.join(","))}}),e(i).off("singletap",".deletion-indicator"),e(i).on("singletap",".deletion-indicator",function(){return e(this).parent("li").hazClass("selected").length?void e(this).parent("li").removeClass("selected"):void e(this).parent("li").addClass("selected")}),e(i).on(h,"li",function(){s.deletable&&e(this).removeClass("selected")}),e(i).on(p,"li",function(){s.deletable&&e(this).addClass("selected")}),e(i).on("singletap",".move-up",function(t){var s=e(this).closest("li");if(!(window.chocolatechipjs&&s.is("li:first-child")[0]||window.jQuery&&s.is("li:first-child"))){e(i).data("list-edit",!0);var s=e(this).closest("li"),n=s.prev(),a=s.clone(),o=n.clone(),r=s[0].offsetHeight;s.css({"-webkit-transform":"translate3d(0,-"+r+"px,0)",transform:"translate3d(0,-"+r+"px,0)"}),n.css({"-webkit-transform":"translate3d(0,"+r+"px,0)",transform:"translate3d(0,"+r+"px,0)"}),setTimeout(function(){window.chocolatechipjs?(e.replace(o,s),e.replace(a,n)):(s.replaceWith(o),n.replaceWith(a))},250)}}),e(i).on("singletap",".move-down",function(t){var s=e(this).closest("li"),n=s.next(),a=s.clone(),o=n.clone();if(!(window.chocolatechipjs&&s.is("li:last-child")[0]||window.jQuery&&s.is("li:last-child"))){e(i).data("list-edit",!0);var r=s[0].offsetHeight;s.css({"-webkit-transform":"translate3d(0,"+r+"px,0)",transform:"translate3d(0,"+r+"px,0)"}),n.css({"-webkit-transform":"translate3d(0,-"+r+"px,0)",transform:"translate3d(0,-"+r+"px,0)"}),setTimeout(function(){window.chocolatechipjs?(e.replace(o,s),e.replace(a,n)):(s.replaceWith(o),n.replaceWith(a))},250)}}),e(i).on("singletap",".delete",function(){var t=this;e(i).data("list-edit",!0);var s="-1200%";"rtl"===e("html").attr("dir")&&(s="1000%"),e(this).siblings().css({"-webkit-transform":"translate3d("+s+",0,0)","-webkit-transition":"all 1s ease-out",transform:"translate3d("+s+",0,0)",transition:"all 1s ease-out"});var n=e(i).attr("data-list-items-deleted");void 0===n?n=[e(this).closest("li").attr("data-list-position")]:(n=n.split(","),n.push(e(this).closest("li").attr("data-list-position"))),e(i).attr("data-list-items-deleted",n.sort().join(",")),setTimeout(function(){e(t).parent().remove()},500)})})};return f(s.callback,e(this),o)}}}),e.fn.extend({UISelectList:function(t){var s={name:e.Uuid(),selected:0,callback:e.noop};t&&e.extend(s,t);var i=s.name,n=this[0];n.classList.add("select"),e(n).find("li").forEach(function(t,n){var a=null!==t.getAttribute("data-select-value")?t.getAttribute("data-select-value"):"";t.setAttribute("role","radio"),e(t).removeClass("selected").find("input").removeAttr("checked"),s.selected===n?(t.setAttribute("aria-checked","true"),t.classList.add("selected"),e(t).find("input")[0]?e(t).find("input").prop("checked",!0).attr("value",a):e(t).append('<input type="radio" checked="checked" name="'+i+'" value="'+a+'">')):e(t).find("input")[0]||e(t).append('<input type="radio" name="'+i+'" value="'+a+'">')}),e(n).on("singletap","li",function(){var t=this;e(t).siblings("li").removeClass("selected"),e(t).siblings("li").removeAttr("aria-checked"),e(t).siblings("li").find("input").removeAttr("checked"),e(t).addClass("selected"),t.setAttribute("aria-checked",!0),e(t).find("input").prop("checked",!0),s.callback.apply(this,arguments)})}}),e.extend({UISheet:function(t){var s={id:e.Uuid(),listClass:"",background:"",handle:!0};t&&e.extend(s,t),s.background&&(s.background=e.concat(' style="background-color:',s.background,'" ')),s.handle===!1&&(s.handle=""),s.handle='<div class="handle"><span></span></div>',t&&e.extend(s,t);var i=e.concat('<div id="',s.id,'" class="sheet',s.listClass,'"',s.background,">",s.handle,'<section class="scroller-vertical"></section></div>');e("body").append(i),e(".sheet .handle").on(e.eventStart,function(){var t=e(this);e.isAndroid||e.isChrome?(t.addClass("selected"),setTimeout(function(){t.removeClass("selected"),e.UIHideSheet()},500)):e.UIHideSheet()})},UIShowSheet:function(t){var s=t?t:".sheet";e("article.current").addClass("blurred"),e.isAndroid||e.isChrome?(e(s).css("display","block"),setTimeout(function(){e(s).addClass("opened")},20)):e(s).addClass("opened")},UIHideSheet:function(){e(".sheet").removeClass("opened"),e("article.current").addClass("removeBlurSlow"),setTimeout(function(){e("article").removeClass("blurred"),e("article").removeClass("removeBlurSlow")},500)}}),e.extend({UISlideout:function(t){var s={dynamic:!1,callback:e.noop};t&&"object"==typeof t&&e.extend(s,t);var i=e("<button class='slide-out-button'></button>"),n='<div class="slide-out"><section></section></div>',a=e("article");
e("body").append(n),e("body").addClass("slide-out-app"),e("article:first-of-type").addClass("show"),e("article:first-of-type").prev().addClass("show"),e("#global-nav").append(i),e(".slide-out-button").on(e.eventStart,function(){e(".slide-out").toggleClass("open"),e(this).toggleClass("focused"),e(".slide-out.open")[0]&&e(".navigable").hazClass("current")[0]&&(e(".back").prop("disabled","disabled"),e(".back").attr("disabled","disabled")),e(".slide-out.open")[0]&&!e(".navigable").hazClass("current")[0]&&e(".back").removeAttr("disabled"),!e(".slide-out.open")[0]&&e(".navigable").hazClass("current")[0]&&e(".back").removeAttr("disabled"),!e(".slide-out.open")[0]&&e(".navigable").hazntClass("current")[0]&&e(".back").removeAttr("disabled")}),s.dynamic?e(".slide-out").on("singletap","li",function(){var t=e(this);t.addClass("selected"),e(".slide-out").removeClass("open"),e(".slide-out-button").removeClass("focused"),setTimeout(function(){t.removeClass("selected")},500),e.isAndroid||e.isChrome?setTimeout(function(){s.callback(t),e(".slide-out-button").removeClass("focused")},400):(s.callback(t),e(".slide-out-button").removeClass("focused"))}):e(".slide-out").on("singletap","li",function(){e.UINavigationHistory.splice(0,1);var t=e(this);t.addClass("selected"),setTimeout(function(){t.removeClass("selected")},500);var s="#"+e(this).attr("data-show-article");e(".navigable").removeClass("previous").addClass("next"),e(".navigable").prev().removeClass("previous").addClass("next"),e(".navigable").removeClass("current").removeClass("previous").addClass("next"),e(".navigable").prev().removeClass("current").removeClass("previous").addClass("next"),e.UINavigationHistory[0]=s,e.UISetHashOnUrl(s),e.publish("chui/navigate/leave",e("article.show")[0].id),e.publish("chui/navigate/enter",s),e(".back").removeProp("disabled"),e(s).hazClass("navigable")[0]&&(e(s).removeClass("next").addClass("current"),e(s).prev().removeClass("next").addClass("current")),e.isAndroid||e.isChrome?setTimeout(function(){e(".slide-out").removeClass("open"),a.removeClass("show"),a.prev().removeClass("show"),e(s).addClass("show"),e(s).prev().addClass("show"),e(".slide-out-button").removeClass("focused")},400):(e(".slide-out").removeClass("open"),a.removeClass("show"),a.prev().removeClass("show"),e(s).addClass("show"),e(s).prev().addClass("show"),e(".slide-out-button").removeClass("focused"))})}}),e.extend(e.UISlideout,{populate:function(t){var s=e(".slide-out");if(s[0]&&e.isArray(t)){s.find("section").append('<ul class="list"></ul>');var i=s.find("ul");t.forEach(function(e){for(var t in e)"header"===t?i.append('<li class="slideout-header"><h2>'+e[t]+"</h2></li>"):i.append('<li data-show-article="'+t+'"><h3>'+e[t]+"</h3></li>")})}}}),e.fn.extend({UIStepper:function(t){if(!t)return[];if(!t.start)return[];if(!t.end)return[];var s=e(this),i=t.start,n=t.end,a=t.defaultValue?t.defaultValue:t.start,o="+",r="-";e.isWin&&(o="",r="");var l='<button class="decrease"><span>'+r+"</span></button>",d="<label>"+a+'</label><input type="text" value="'+a+'">',c='<button class="increase"><span>'+o+"</span></button>";s.append(l+d+c),s.data("ui-value",{start:i,end:n,defaultValue:a});var u=function(){var t,i=s.find("input").val(),n=s.data("ui-value"),a=n.start;a>=i?e(this).addClass("disabled"):(t=Number(i)-1,s.find("button:last-of-type").removeClass("disabled"),s.find("label").text(t),s.find("input")[0].value=t,i===a&&e(this).addClass("disabled"))},h=function(){var t,i=s.find("input").val(),n=s.data("ui-value"),a=n.end;i>=a?e(this).addClass("disabled"):(t=Number(i)+1,s.find("button:first-of-type").removeClass("disabled"),s.find("label").text(t),s.find("input")[0].value=t,i===a&&e(this).addClass("disabled"))};s.find("button:first-of-type").on("singletap",function(){u.call(this,s)}),s.find("button:last-of-type").on("singletap",function(){h.call(this,s)})}}),e.extend({UIResetStepper:function(e){var t=e.data("ui-value").defaultValue;e.find("label").html(t),e.find("input")[0].value=t}}),e.fn.extend({UISwitch:function(){var t=!1,s="swiperight",i="swipeleft";"rtl"===document.documentElement.dir&&(s="swipeleft",i="swiperight"),this.forEach(function(n,a){n.setAttribute("role","checkbox"),e(n).data("ui-setup")!==!0&&(n.querySelector("input")||n.insertAdjacentHTML("afterBegin",'<input type="checkbox">'),n.classList.contains("on")&&n.querySelector("input").setAttribute("checked","checked"),n.querySelector("em")&&(t=!0),t||n.insertAdjacentHTML("afterBegin","<em></em>"),e(n).on("singletap",function(){var e=n.querySelector("input");n.classList.contains("on")?(n.classList.remove("on"),n.removeAttribute("aria-checked"),e.removeAttribute("checked")):(n.classList.add("on"),e.setAttribute("checked","checked"),n.setAttribute("aria-checked",!0))}),e(n).on(s,function(){var e=n.querySelector("input");n.classList.contains("on")&&(n.classList.remove("on"),n.removeAttribute("aria-checked"),e.removeAttribute("checked"))}),e(n).on(i,function(){var e=n.querySelector("input");n.classList.contains("on")||(n.classList.add("on"),e.setAttribute("checked","checked"),n.setAttribute("aria-checked",!0))}),e(n).data("ui-setup",!0))})}}),e.extend({UICreateSwitch:function(t){var s={id:e.Uuid(),name:"",value:"",state:"",checked:"",style:""};e.extend(s,t),"off"===s.state&&(s.state="");var i=e.concat('<span class="switch'," ",s.style," ",s.state,'" id="',s.id,'"><em></em>','<input type="checkbox"',s.name,s.checked,' value="',s.value,'"></span>');return e(i)}}),e(function(){e(".switch").UISwitch()}),document.addEventListener("touchstart",function(e){var t=e.target,s=0;for(s=0;10>s;s+=1)null!==t&&(void 0!==t.className&&t.className.match("navigable")&&(0===t.scrollTop?t.scrollTop=1:t.scrollTop+t.offsetHeight===t.scrollHeight&&(t.scrollTop=t.scrollTop-1)),t=t.parentNode)}),e.extend({UITabbar:function(t){if(t){var s={id:e.Uuid(),selected:0};e.extend(s,t),t.tabs&&t.labels||console.error("The tab bar needs labels and the number of tabs to function."),e("body").addClass("hasTabBar"),e.isiOS6&&e("body").addClass("isiOS6");for(var i='<div class="tabbar" id="'+s.id+'">',n=e.isiOS||e.isSafari?'<span class="icon"></span>':"",a=e("article"),o=0;o<s.tabs;o++)i+='<button class="'+s.icons[o],s.selected===o&&(i+=" selected"),i+='">'+n+"<label>"+s.labels[o]+"</label></button>";i+="</div>",e("body").append(i),e("#"+s.id).find("button").forEach(function(t,s){e(t).data("history",["#"+a.eq(s)[0].id])}),e("nav").removeClass("current").addClass("next"),e("#global-nav").removeClass("next"),e("article").eq(s.selected).removeClass("next").addClass("current"),e("article").eq(s.selected).prev("nav").removeClass("next").addClass("current"),e.UINavigationHistory[0]="#"+e("article").eq(s.selected)[0].id;var r="singletap";e.isAndroid&&(r=e.eventStart),e(".tabbar").on(r,"button",function(){var t,s,i=this;e.publish("chui/navigate/leave",e("article.current")[0].id),i.classList.add("selected"),e(i).siblings("button").removeClass("selected"),t=e(this).index(),e("article.previous").removeClass("previous").addClass("next"),e("nav.previous").removeClass("previous").addClass("next");var n=e(this).data("history");if(n.length>1){e("article.current").removeClass("current").addClass("next"),e("nav.current").removeClass("current").addClass("next"),e(n[n.length-1]).removeClass("next").addClass("current"),e(n[n.length-1]).prev().removeClass("next").addClass("current");for(var a=n.length-1,o=0;a>o;o++)e(n[o]).removeClass("next").addClass("previous"),e(n[o]).prev().removeClass("next").addClass("previous");e.UISetHashOnUrl(n[n.length-1])}else e("article.current").removeClass("current").addClass("next"),e("nav.current").removeClass("current").addClass("next"),e("article").eq(t).removeClass("next").addClass("current"),e("nav").eq(t+1).removeClass("next").addClass("current"),e.UISetHashOnUrl(n[0]);s=e("article").eq(t)[0].id,e.publish("chui/navigate/enter",s),e("article").forEach(function(t){window.jQuery?e(t).scrollTop(0):window.chocolatechipjs&&(t.scrollTop=0)}),e.UINavigationHistory=e(this).data("history")})}}}),e.extend({templates:{},template:function(e,t){var s;t=t||"data",s=/\[\[=([\s\S]+?)\]\]/g;var i=new Function(t,"var p=[];p.push('"+e.replace(/[\r\t\n]/g," ").split("'").join("\\'").replace(s,"',$1,'").split("[[").join("');").split("]]").join("p.push('")+"');return p.join('');");return i}}),e.template.data={},e.template.index=0,e.template.repeater=function(t,s,i){if(t){if(!e.isArray(i))return console.error("$.template.repeater() requires data of type Array."),"$.template.repeater() requires data of type Array.";var n=e.template(s);e.isArray(i)&&i.forEach(function(s){e(t).append(n(s))})}else{var a=e("[data-repeater]");e.template.index=0;var o=/data-src/gim;a.forEach(function(t){var s=t.innerHTML;s=s.replace(o,"src"),t=e(t);var i=t.attr("data-repeater");if(!i||!e.template.data[i])return void console.error("No matching data for template. Check your data assignment on $.template.data or the template's data-repeater value.");t.empty(),t.removeClass("cloak");var n=e.template(s);e.template.data[i].forEach(function(s){t.append(n(s)),e.template.index+=1}),delete e.template.data[i]})}},e.extend({UISearch:function(t){var s={articleId:e("article").eq(0)[0].id,id:e.Uuid(),placeholder:"search",results:1};t&&e.extend(s,t);var i=s.articleId,n=s.id,a=s.placeholder,o=s.results,r='<div class="searchBar"><input placeholder="'+a+'" type="search" results="'+o+'" id="'+n+'"></div>';e(i).find("section").prepend(r),e.isWin&&(e(i).prev().append(r),e("#"+n).parent().append('<span class="searchGlyph">&#xe11A;</span>'))}}),e(function(){var t=function(){function t(e){return""===i?e:(e=e.charAt(0).toUpperCase()+e.substr(1),i+e)}var s=document.createElement("div").style,i=function(){for(var e,t="t,webkitT".split(","),i=t.length,n=0;i>n;n++)if(e=t[n]+"ransform",e in s)return t[n].substr(0,t[n].length-1);return!1}(),n=i?"-"+i.toLowerCase()+"-":"",a=t("transform"),o=t("transitionDuration"),r="ontouchstart"in window;(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&(r=!1);var l=e.eventStart,d=e.eventMove,c=e.eventEnd,u=e.eventCancel,h=function(){if(i===!1)return!1;var e={"":"transitionend",webkit:"webkitTransitionEnd"};return e[i]}(),p=function(t){var s={snapThreshold:null,loop:!0};if(t){e.extend(s,t);var i,a,o;this.carouselContainer="string"==typeof s.target?document.querySelector(s.target):s.target,this.settings={panels:s.panels,snapThreshold:s.snapThreshold,loop:s.loop},e.isRTL&&(s.loop=!0),this.carouselContainer.style.overflow="hidden",this.carouselContainer.style.position="relative",this.carouselPanels=[],i=document.createElement("ul"),i.className="carousel-track",i.style.cssText="position:relative;top:0;height:100%;width:100%;"+n+"transition-duration:0;"+n+"transform:translateZ(0);"+n+"transition-timing-function:ease-out",this.carouselContainer.appendChild(i),this.track=i,this.refreshSize();for(var r,u=-1;2>u;u++)a=document.createElement("li"),a.id="carousel-panel-"+(u+1),a.style.cssText=n+"transform:translateZ(0);position:absolute;top:0;height:100%;width:100%;left:"+100*u+"%",r=-1===u?this.settings.panels-1:u,e(a).data("upcomingPanelIndex",r),this.settings.loop||-1!==u||(a.style.visibility="hidden"),this.track.appendChild(a),this.carouselPanels.push(a);o=this.carouselPanels[1].className,this.carouselPanels[1].className=o?o+" carousel-panel-active":"carousel-panel-active",this.carouselContainer.addEventListener(l,this,!1),this.carouselContainer.addEventListener(d,this,!1),this.carouselContainer.addEventListener(c,this,!1),this.track.addEventListener(h,this,!1);var p;if(s.pagination){p=document.createElement("ul"),p.className="pagination";for(var v=0;v<this.settings.panels;v++)a=document.createElement("li"),0===v&&(a.className="selected"),p.appendChild(a);window.chocolatechipjs?this.carouselContainer.insertAdjacentElement("afterEnd",p):e(this.carouselContainer).after(p)}}};return p.prototype={currentPanel:1,x:0,panel:0,customEvents:[],onSlide:function(e){this.carouselContainer.addEventListener("carousel-panel-move",e,!1),this.customEvents.push(["move",e])},destroy:function(){for(;this.customEvents.length;)this.carouselContainer.removeEventListener("carousel-panel-"+this.customEvents[0][0],this.customEvents[0][1],!1),this.customEvents.shift();this.carouselContainer.removeEventListener(l,this,!1),this.carouselContainer.removeEventListener(d,this,!1),this.carouselContainer.removeEventListener(c,this,!1),this.track.removeEventListener(h,this,!1)},refreshSize:function(){this.carouselContainerWidth=this.carouselContainer.clientWidth,this.carouselContainerHeight=this.carouselContainer.clientHeight,this.panelWidth=this.carouselContainerWidth,this.maxX=-this.settings.panels*this.panelWidth+this.carouselContainerWidth,this.snapThreshold=null===this.settings.snapThreshold?Math.round(.15*this.panelWidth):/%/.test(this.settings.snapThreshold)?Math.round(this.panelWidth*this.settings.snapThreshold.replace("%","")/100):this.settings.snapThreshold},updatePanelCount:function(e){this.settings.panels=e,this.maxX=-this.settings.panels*this.panelWidth+this.carouselContainerWidth},goToPanel:function(t){this.carouselPanels[this.currentPanel].className=this.carouselPanels[this.currentPanel].className.replace(/(^|\s)carousel-panel-active(\s|$)/,""),t=0>t?0:t>this.settings.panels-1?this.settings.panels-1:t,console.log("p: ",t),this.panel=t,this.track.style[o]="0s",this.getPosition(-t*this.panelWidth),this.currentPanel=this.panel+1-3*Math.floor((this.panel+1)/3),this.carouselPanels[this.currentPanel].className=this.carouselPanels[this.currentPanel].className+" carousel-panel-active",0===this.currentPanel?(this.carouselPanels[2].style.left=100*this.panel-100+"%",this.carouselPanels[0].style.left=100*this.panel+"%",this.carouselPanels[1].style.left=100*this.panel+100+"%",e(this.carouselPanels[2]).data("upcomingPanelIndex",0===this.panel?this.settings.panels-1:this.panel-1),e(this.carouselPanels[0]).data("upcomingPanelIndex",this.panel),e(this.carouselPanels[1]).data("upcomingPanelIndex",this.panel===this.settings.panels-1?0:this.panel+1)):1===this.currentPanel?(this.carouselPanels[0].style.left=100*this.panel-100+"%",this.carouselPanels[1].style.left=100*this.panel+"%",this.carouselPanels[2].style.left=100*this.panel+100+"%",e(this.carouselPanels[0]).data("upcomingPanelIndex",0===this.panel?this.settings.panels-1:this.panel-1),e(this.carouselPanels[1]).data("upcomingPanelIndex",this.panel),e(this.carouselPanels[2]).data("upcomingPanelIndex",this.panel===this.settings.panels-1?0:this.panel+1)):(this.carouselPanels[1].style.left=100*this.panel-100+"%",this.carouselPanels[2].style.left=100*this.panel+"%",this.carouselPanels[0].style.left=100*this.panel+100+"%",e(this.carouselPanels[1]).data("upcomingPanelIndex",0===this.panel?this.settings.panels-1:this.panel-1),e(this.carouselPanels[2]).data("upcomingPanelIndex",this.panel),e(this.carouselPanels[0]).data("upcomingPanelIndex",this.panel===this.settings.panels-1?0:this.panel+1)),this.slide()},handleEvent:function(e){switch(e.type){case l:this.start(e);break;case d:this.move(e);break;case u:case c:this.end(e)}},getPosition:function(e){this.x=e,this.track.style[a]="translate("+e+"px,0) translateZ(0)"},resize:function(){this.refreshSize(),this.track.style[o]="0s",this.getPosition(-this.panel*this.panelWidth)},start:function(e){if(!this.initiated){var t=r?e.touches[0]:e;this.initiated=!0,this.moved=!1,this.thresholdExceeded=!1,this.startX=t.pageX,this.startY=t.pageY,this.pointX=t.pageX,this.pointY=t.pageY,this.stepsX=0,this.stepsY=0,this.directionX=0,this.directionLocked=!1,this.track.style[o]="0s",this.event("touchstart")}},move:function(e){if(this.initiated){var t=r?e.touches[0]:e,s=t.pageX-this.pointX,i=t.pageY-this.pointY,n=this.x+s;Math.abs(t.pageX-this.startX);if(this.moved=!0,this.pointX=t.pageX,this.pointY=t.pageY,this.directionX=s>0?1:0>s?-1:0,this.stepsX+=Math.abs(s),this.stepsY+=Math.abs(i),!(this.stepsX<10&&this.stepsY<10)){if(!this.directionLocked&&this.stepsY>this.stepsX)return void(this.initiated=!1);e.preventDefault(),this.directionLocked=!0,!this.settings.loop&&(n>0||n<this.maxX)&&(n=this.x+s/2),this.getPosition(n)}}},end:function(e){if(this.initiated){var t=r?e.changedTouches[0]:e,s=Math.abs(t.pageX-this.startX);if(this.initiated=!1,this.moved)return!this.settings.loop&&(this.x>0||this.x<this.maxX)&&(s=0),s<this.snapThreshold?(this.track.style[o]=Math.floor(300*s/this.snapThreshold)+"ms",void this.getPosition(-this.panel*this.panelWidth)):void this.checkPosition()}},checkPosition:function(){var t,s,i;this.carouselPanels[this.currentPanel].className="",this.directionX>0?(this.panel=-Math.ceil(this.x/this.panelWidth),this.currentPanel=this.panel+1-3*Math.floor((this.panel+1)/3),t=this.currentPanel-1,t=0>t?2:t,this.carouselPanels[t].style.left=100*this.panel-100+"%",s=this.panel-1):(this.panel=-Math.floor(this.x/this.panelWidth),this.currentPanel=this.panel+1-3*Math.floor((this.panel+1)/3),t=this.currentPanel+1,t=t>2?0:t,this.carouselPanels[t].style.left=100*this.panel+100+"%",s=this.panel+1),i=this.carouselPanels[this.currentPanel].className,/(^|\s)carousel-panel-active(\s|$)/.test(i)||(this.carouselPanels[this.currentPanel].className=i?i+" carousel-panel-active":"carousel-panel-active"),i=this.carouselPanels[t].className,s-=Math.floor(s/this.settings.panels)*this.settings.panels,e(this.carouselPanels[t]).data("upcomingPanelIndex",s);var n=-this.panel*this.panelWidth;this.track.style[o]=Math.floor(500*Math.abs(this.x-n)/this.panelWidth)+"ms",this.settings.loop||(this.carouselPanels[t].style.visibility=0===n||n===this.maxX?"hidden":""),this.x===n?this.slide():(this.getPosition(n),this.slide())},slide:function(){this.event("move")},event:function(e){var t=document.createEvent("Event");t.initEvent("carousel-panel-"+e,!0,!0),this.carouselContainer.dispatchEvent(t)}},p}();e.extend({UISetupCarousel:function(s){function i(e){var t=e.shift(0);return e.reverse(),e.unshift(t),e}if(s){var n={loop:!1,pagination:!1};e.extend(n,s);var a=new t({target:n.target,panels:n.panels.length,loop:n.loop,pagination:n.pagination});e(n.target).data("carousel",a),e.isRTL&&(n.panels=i(n.panels));for(var o,r=0;3>r;r++)o=0===r?n.panels.length-1:r-1,a.carouselPanels[r].innerHTML=n.panels[Number(o)];var l=0,d=e(n.target).next("ul.pagination");a.onSlide(function(){for(var t=0;3>t;t++){var s=e(a.carouselPanels[t]).data("upcomingPanelIndex");a.carouselPanels[t].innerHTML=n.panels[Number(s)]}l=e(".carousel-panel-active").data("upcomingPanelIndex"),d.find("li").removeClass("selected"),e.isRTL?(d.find("li").removeClass("selected"),1>l?d.find("li").eq(0).addClass("selected"):d.find("li").eq(n.panels.length-l).addClass("selected")):d.find("li").eq(l).addClass("selected")}),e(n.target).on("mousedown","img",function(){return!1});var c=e(n.target).css("width");d.css("width",c),d.on("click","li",function(){e(this).siblings("li").removeClass("selected"),e(this).addClass("selected");var t=0;if(e.isRTL){var s=e(this).parent().children("li").length;0===e(this).index()?a.goToPanel(0):(t=s-e(this).index(),a.goToPanel(t)),e(this).siblings("li").removeClass("selected"),e(this).addClass("selected")}else 0===e(this).index()?a.goToPanel(0):a.goToPanel(e(this).index())})}}})}),e.fn.extend({UIRange:function(){if(!e.isWin&&"INPUT"===this[0].nodeName){var t,s=e(this),i=s.width(),n=(s.val()-s.attr("min"))/(s.attr("max")-s.attr("min")),a=-1.3;0>n?t=0:n>1?t=i:(t=i*n+a,a-=n),e.isAndroid||e.isChrome?s.css({"background-size":Math.round(t)+"px 3px, 100% 2px"}):s.css({"background-size":Math.round(t)+"px 10px"})}}}),e(function(){e("input[type=range]").forEach(function(t){e(t).UIRange()}),e("body").on("input","input[type=range]",function(){e(this).UIRange()})}),e.extend({UISelectBox:function(){if(!e.isDesktop&&e.isiOS)e(".select-box-label").forEach(function(t){var s=e(t),i=s.prev();i[0].id||i.attr("id",e.Uuid()),i.trigger("singletap"),s.text(i.val()),s.attr("for",i.attr("id"))}),e(".select-box select").on("change",function(){e(this).next().text(e(this).val())});else if(!e.isDesktop){var t=function(e){var t;t=document.createEvent("MouseEvents"),t.initMouseEvent("mousedown",!0,!0,window),e.dispatchEvent(t)};e.isDesktop||(e(".select-box-label").forEach(function(t){t.id||e(t).prev().attr("id",e.Uuid());var s=e(t).siblings("select").val();e(t).text(s)}),e(".select-box select").on("change",function(){var t=e(this).find("option:selected").text(),s=e(this);s.next("label").text(e(this).val()),s.siblings("label").text(t)}),e("body").on("singletap",".select-box-label",function(){t(e("select")[0])}))}}}),e(function(){e.UISelectBox()}),e.extend(e,{UIBindData:function(t){var s;s=e(t?"[data-controller="+t+"]":"[data-controller]");var i=[],n=function(t){var s="data-binding-"+e(t).attr("data-controller");i.push(s)};s.forEach(function(t,s){var a=e(t).attr("data-controller");n(t),e.subscribe(i[s],function(t,s){var i="[data-model="+a+"]";e(i).text(s)})}),e("body").on("input change","[data-controller]",function(t){var s="data-binding-"+e(this).attr("data-controller");e.publish(s,e(this).val())})},UIUnBindData:function(t){delete e.subscriptions["data-binding-"+t]}})}(window.CHUIJSLIB);