var EGallery=function(t){var e={};function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)i.d(n,s,function(e){return t[e]}.bind(null,s));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=9)}([function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e){function i(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}t.exports=function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}},function(t,e,i){var n=i(5),s=i(6);t.exports=function(t,e){return!e||"object"!==n(e)&&"function"!=typeof e?s(t):e}},function(t,e){function i(e){return t.exports=i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(e)}t.exports=i},function(t,e,i){var n=i(7);t.exports=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&n(t,e)}},function(t,e){function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t){return(n="function"==typeof Symbol&&"symbol"===i(Symbol.iterator)?function(t){return i(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":i(t)})(t)}function s(e){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?t.exports=s=function(t){return n(t)}:t.exports=s=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":n(t)},s(e)}t.exports=s},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},function(t,e){function i(e,n){return t.exports=i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(e,n)}t.exports=i},function(t,e,i){},function(t,e,i){"use strict";i.r(e);var n=i(0),s=i.n(n),r=i(1),a=i.n(r),o=i(2),l=i.n(o),u=i(3),c=i.n(u),h=i(4),y=i.n(h);var g=function(){function t(e){var i=this;s()(this,t),this.settings=jQuery.extend(!0,this.getDefaultSettings(),e),this.$container=jQuery(this.settings.container),this.timeouts=[],this.initElements(),this.prepareGallery();var n=this.runGallery.bind(this);this.runGallery=this.debounce(function(){for(var t=arguments.length,e=new Array(t),s=0;s<t;s++)e[s]=arguments[s];i.settings.lazyLoad?n.apply(void 0,e):i.allImagesPromise.then(function(){return n.apply(void 0,e)})},300),this.settings.lazyLoad&&(this.handleScroll=this.debounce(function(){return i.lazyLoadImages()},16)),this.bindEvents(),this.runGallery()}return a()(t,[{key:"getDefaultSettings",value:function(){return{}}},{key:"getItemClass",value:function(t){return this.settings.classesPrefix+t}},{key:"initElements",value:function(){this.elements={$window:jQuery(window)};var t="-"+(this.settings.rtl?"rtl":"ltr"),e=this.getItemClass(this.settings.classes.container)+" "+this.getItemClass(this.settings.type)+" "+this.getItemClass(t);this.settings.lazyLoad&&(e+=" "+this.getItemClass(this.settings.classes.lazyLoad)),this.$container.addClass(e)}},{key:"bindEvents",value:function(){this.elements.$window.on("resize",this.runGallery),this.settings.lazyLoad&&this.elements.$window.on("scroll",this.handleScroll)}},{key:"getNestedObjectData",value:function(t,e){var i=e.split("."),n=i.splice(0,1);return i.length?this.getNestedObjectData(t[n],i.join(".")):{object:t,key:e}}},{key:"getTemplateArgs",value:function(t,e){var i=this.getNestedObjectData(t,e);return i.object[i.key]||""}},{key:"getCurrentBreakpoint",value:function(){var t=Object.keys(this.settings.breakpoints).map(Number).sort(function(t,e){return t-e}),e=0;return t.some(function(t){return innerWidth<t&&(e=t,!0)}),e}},{key:"getCurrentDeviceSetting",value:function(t){var e=this.getCurrentBreakpoint();return e?this.settings.breakpoints[e][t]:this.settings[t]}},{key:"getActiveItems",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.settings.tags,i=[];if(!e.length)return t?(this.$items.each(function(t){i.push(t)}),i):this.$items;var n=this.$items.filter(function(n,s){var r=s.dataset.eGalleryTags;return!!r&&(r=r.split(/[ ,]+/),!!e.some(function(t){return r.includes(t)})&&(t&&i.push(n),!0))});return t?i:n}},{key:"getImageData",value:function(t){return this.settings.tags.length&&(t=this.getActiveItems(!0)[t]),this.imagesData[t]}},{key:"compileTemplate",value:function(t,e){var i=this;return t.replace(/{{([^}]+)}}/g,function(t,n){return i.getTemplateArgs(e,n.trim())})}},{key:"createOverlay",value:function(t){var e=this.settings,i=e.classes,n=e.overlayTemplate,s=jQuery("<div>",{class:this.getItemClass(i.overlay)}),r=this.compileTemplate(n,jQuery.extend(!0,this.settings,t));return s.html(r),s}},{key:"createItem",value:function(t){var e,i=this.settings.classes,n=jQuery("<div>",{class:this.getItemClass(i.item),"data-e-gallery-tags":t.tags}),s=jQuery("<div>",{class:this.getItemClass(i.image)});this.settings.lazyLoad||s.css("background-image","url("+t.thumbnail+")"),this.settings.overlay&&(e=this.createOverlay(t));var r=n;return t.url&&(r=jQuery("<a>",{class:this.getItemClass(i.link),href:t.url}),n.html(r)),r.html(s),e&&r.append(e),n}},{key:"debounce",value:function(t,e){var i,n=this;return function(){for(var s=arguments.length,r=new Array(s),a=0;a<s;a++)r[a]=arguments[a];clearTimeout(i),i=setTimeout(function(){return t.apply(void 0,r)},e),n.timeouts.push(i)}}},{key:"buildGallery",value:function(){var t=this,e=this.settings.items;this.$items=jQuery(),e.forEach(function(e){var i=t.createItem(e);t.$items=t.$items.add(i),t.$container.append(i)})}},{key:"loadImages",value:function(){var t=this,e=[];this.settings.items.forEach(function(i,n){var s=new Image,r=new Promise(function(t){s.onload=t});e.push(r),r.then(function(){return t.calculateImageSize(s,n)}),s.src=i.thumbnail}),this.allImagesPromise=Promise.all(e)}},{key:"lazyLoadImages",value:function(){var t=this;if(!this.lazyLoadComplete){var e=this.getActiveItems(),i=this.getActiveItems(!0);e.each(function(e,n){var s=t.settings.items[i[e]];if(s.loading||!function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",i=t.getBoundingClientRect().top,n=t.offsetHeight,s=i+n;return("middle"===e?i+n/2:"bottom"===e?s:i)<=innerHeight&&s>=0}(n))return!0;s.loading=!0;var r=jQuery(n),a=new Image;return new Promise(function(t){a.onload=t}).then(function(){r.find(t.settings.selectors.image).css("background-image",'url("'+s.thumbnail+'")').addClass(t.getItemClass(t.settings.classes.imageLoaded)),t.loadedItemsCount++,t.loadedItemsCount===t.settings.items.length&&(t.lazyLoadComplete=!0)}),a.src=s.thumbnail,!0})}}},{key:"calculateImageSize",value:function(t,e){this.imagesData[e]={width:t.width,height:t.height,ratio:t.width/t.height}}},{key:"createImagesData",value:function(){var t=this;this.settings.items.forEach(function(e,i){return t.calculateImageSize(e,i)})}},{key:"makeGalleryFromContent",value:function(){var t=this.settings.selectors,e=this.settings.lazyLoad,i=[];this.$items=this.$container.find(t.items),this.$items.each(function(n,s){var r=jQuery(s).find(t.image);i[n]={thumbnail:r.data("thumbnail")},e?(i[n].width=r.data("width"),i[n].height=r.data("height")):r.css("background-image",'url("'.concat(r.data("thumbnail"),'")'))}),this.settings.items=i}},{key:"prepareGallery",value:function(){this.settings.items?this.buildGallery():this.makeGalleryFromContent(),this.imagesData=[],this.settings.lazyLoad?(this.loadedItemsCount=0,this.lazyLoadComplete=!1,this.createImagesData()):this.loadImages()}},{key:"runGallery",value:function(t){var e=this,i=this.$container[0].style;i.setProperty("--hgap",this.getCurrentDeviceSetting("horizontalGap")+"px"),i.setProperty("--vgap",this.getCurrentDeviceSetting("verticalGap")+"px"),i.setProperty("--animation-duration",this.settings.animationDuration+"ms"),this.$items.addClass(this.getItemClass(this.settings.classes.hidden)),this.getActiveItems().removeClass(this.getItemClass(this.settings.classes.hidden)),this.settings.lazyLoad&&setTimeout(function(){return e.lazyLoadImages()},300),this.run(t)}},{key:"setSettings",value:function(t,e){var i=this.getNestedObjectData(this.settings,t);i.object&&(i.object[i.key]=e,this.runGallery(!0))}},{key:"unbindEvents",value:function(){this.elements.$window.off("resize",this.runGallery)}},{key:"destroy",value:function(){this.unbindEvents(),this.$container.empty(),this.timeouts.forEach(function(t){return clearTimeout(t)})}}]),t}(),f=function(t){function e(){return s()(this,e),l()(this,c()(e).apply(this,arguments))}return y()(e,t),a()(e,[{key:"getDefaultSettings",value:function(){return{aspectRatio:"16:9"}}},{key:"setItemsPosition",value:function(){var t=this.getCurrentDeviceSetting("columns");this.getActiveItems().each(function(e,i){i.style.setProperty("--column",e%t),i.style.setProperty("--row",Math.floor(e/t))})}},{key:"setContainerSize",value:function(){var t=this.getCurrentDeviceSetting("columns"),e=Math.ceil(this.getActiveItems().length/t),i=this.$container[0].style;i.setProperty("--columns",t),i.setProperty("--rows",e);var n=this.getActiveItems().width(),s=this.settings.aspectRatio.split(":"),r=s[1]/s[0],a=(r*n*e+this.getCurrentDeviceSetting("horizontalGap")*(e-1))/this.$container.width()*100;i.setProperty("--aspect-ratio",100*r+"%"),i.setProperty("--container-aspect-ratio",a+"%")}},{key:"run",value:function(){var t=this,e=this.getItemClass(this.settings.classes.animated);this.$container.addClass(e),setTimeout(function(){t.setItemsPosition(),t.setContainerSize(),setTimeout(function(){return t.$container.removeClass(e)},t.settings.animationDuration)},50)}}]),e}(g),m=function(t){function e(){return s()(this,e),l()(this,c()(e).apply(this,arguments))}return y()(e,t),a()(e,[{key:"getDefaultSettings",value:function(){return{idealRowHeight:200,lastRow:"auto",breakpoints:{1024:{idealRowHeight:150},768:{idealRowHeight:100}}}}},{key:"run",value:function(){this.rowsHeights=[],this.rowsCount=0,this.containerWidth=this.$container.width(),this.makeJustifiedRow(0)}},{key:"makeJustifiedRow",value:function(t){for(var e=0,i=t;;i++){var n=this.getImageData(i),s=Math.round(this.getCurrentDeviceSetting("idealRowHeight")*n.ratio);s>this.containerWidth&&(s=this.containerWidth);var r=e+s;if(r>this.containerWidth)if(this.containerWidth-e<r-this.containerWidth){this.fitImagesInContainer(t,i,e),this.rowsCount++,this.makeJustifiedRow(i);break}var a=i===this.getActiveItems().length-1;if(n.computedWidth=s,a){var o=this.getCurrentDeviceSetting("lastRow");if("hide"!==o){var l="fit"===o||.7<=r/this.containerWidth?r:this.containerWidth;this.fitImagesInContainer(t,i+1,l)}this.inflateGalleryHeight();break}e=r}}},{key:"fitImagesInContainer",value:function(t,e,i){for(var n=e-t-1,s=this.getActiveItems(),r=0,a=t;a<e;a++){var o=this.getImageData(a),l=o.computedWidth/i,u=s.get(a),c=this.getItemClass(this.settings.classes.firstRowItem);if(u.style.setProperty("--item-width",l),u.style.setProperty("--gap-count",n),u.style.setProperty("--item-height",o.height/o.width*100+"%"),u.style.setProperty("--item-start",r),u.style.setProperty("--item-row-index",a-t),r+=l,a===t){u.classList.add(c);var h=l*(this.containerWidth-n*this.getCurrentDeviceSetting("horizontalGap"));this.rowsHeights.push(h/o.ratio)}else u.classList.remove(c)}}},{key:"inflateGalleryHeight",value:function(){var t=this.rowsHeights.reduce(function(t,e){return t+e})+this.rowsCount*this.getCurrentDeviceSetting("verticalGap"),e=t/this.containerWidth,i=this.rowsHeights.map(function(e){return e/t*100}),n=-1,s=0;this.getActiveItems().each(function(t,e){"0"===e.style.getPropertyValue("--item-row-index")&&++n&&(s+=i[n-1]),e.style.setProperty("--item-top",s+"%"),e.style.setProperty("--item-height",i[n]+"%"),e.style.setProperty("--row",n)}),this.$container[0].style.setProperty("--container-aspect-ratio",e)}}]),e}(g),d=function(t){function e(){return s()(this,e),l()(this,c()(e).apply(this,arguments))}return y()(e,t),a()(e,[{key:"run",value:function(t){var e=this,i=this.getCurrentBreakpoint();if(t||i!==this.currentBreakpoint){this.currentBreakpoint=i;for(var n=[],s=[],r=[],a=this.getCurrentDeviceSetting("columns"),o=this.$container.width(),l=(o-this.getCurrentDeviceSetting("horizontalGap")*(a-1))/a,u=this.getActiveItems(),c=0,h=0;h<a;h++)s[h]=0,n[h]=0;u.each(function(t,i){var o=e.getImageData(t),u=l/o.ratio,h=t%a;c=n[h],jQuery.each(n,function(t,e){e&&c>e+5&&(c=e,h=t)}),r[t]=n[h],n[h]+=u,i.style.setProperty("--item-height",o.height/o.width*100+"%"),i.style.setProperty("--column",h),i.style.setProperty("--items-in-column",s[h]),s[h]++});var y=Math.max.apply(Math,n),g=n.indexOf(y),f=s[g]-1,m=y/o;this.$container[0].style.setProperty("--columns",a),this.$container[0].style.setProperty("--highest-column-gap-count",f),this.$container.css("padding-bottom",100*m+"%"),u.each(function(t,e){var i=r[t]?r[t]/y*100:0;e.style.setProperty("--percent-height",i+"%")})}}}]),e}(g);i(8);i.d(e,"default",function(){return p});var p=function(){function t(e){s()(this,t),this.userSettings=e,this.initGalleriesTypes(),this.createGallery()}return a()(t,[{key:"getDefaultSettings",value:function(){return{container:null,items:null,type:"grid",tags:[],overlay:!1,overlayTemplate:'<div class="{{ classesPrefix }}{{ classes.overlayTitle }}">{{ title }}</div><div class="{{ classesPrefix }}{{ classes.overlayDescription }}">{{ description }}</div>',columns:5,horizontalGap:10,verticalGap:10,rtl:!1,animationDuration:350,lazyLoad:!1,classesPrefix:"e-gallery-",classes:{container:"container",item:"item",image:"image",overlay:"overlay",overlayTitle:"overlay__title",overlayDescription:"overlay__description",link:"link",firstRowItem:"first-row-item",animated:"-animated",hidden:"item--hidden",lazyLoad:"-lazyload",imageLoaded:"image-loaded"},selectors:{items:".e-gallery-item",image:".e-gallery-image"},breakpoints:{1024:{horizontalGap:5,verticalGap:5,columns:4},768:{horizontalGap:1,verticalGap:1,columns:2}}}}},{key:"initGalleriesTypes",value:function(){this.galleriesTypes={grid:f,justified:m,masonry:d}}},{key:"createGallery",value:function(){var t=jQuery.extend(this.getDefaultSettings(),this.userSettings),e=this.galleriesTypes[t.type];this.galleryHandler=new e(t)}},{key:"setSettings",value:function(t,e){this.galleryHandler.setSettings(t,e)}},{key:"destroy",value:function(){this.galleryHandler.destroy()}}]),t}()}]).default;
!function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ownKeys(t,e){var n,a=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,n)),a}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(n),!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}function haObserveTarget(e,n){new IntersectionObserver(function(e,t){e.forEach(function(e){e.isIntersecting&&n(e)})},2<arguments.length&&void 0!==arguments[2]?arguments[2]:{}).observe(e)}(h=>{var c=h(window);function u(a,i,o){var r;return function(){var e=this,t=arguments,n=o&&!r;clearTimeout(r),r=setTimeout(function(){r=null,o||a.apply(e,t)},i),n&&a.apply(e,t)}}function g(e,t){var e=e.find(".hajs-filter"),n=e.data("default-filter");e.length&&(e.on("click.onFilterNav","button",function(e){e.stopPropagation();e=h(this);e.addClass("ha-filter__item--active").siblings().removeClass("ha-filter__item--active"),t(e.data("filter"))}),e.find('[data-filter="'+n+'"]').click())}function p(e){var t,n,a;e.$element.on("click",e.selector,function(e){e.preventDefault()}),h.fn.magnificPopup&&(e.isEnabled?(t=h(window).width(),n=elementorFrontendConfig.breakpoints.md,a=elementorFrontendConfig.breakpoints.lg,e.$element.find(e.selector).magnificPopup({key:e.key,type:"image",image:{titleSrc:function(e){return e.el.attr("title")?e.el.attr("title"):e.el.find("img").attr("alt")}},gallery:{enabled:!0,preload:[1,2]},zoom:{enabled:!0,duration:300,easing:"ease-in-out",opener:function(e){return e.is("img")?e:e.find("img")}},disableOn:function(){return!(e.disableOnMobile&&t<n||e.disableOnTablet&&n<=t&&t<a)}})):h.magnificPopup.close())}function f(e){var t=e.find(".hajs-image-comparison"),n=t.getHappySettings();n[{on_hover:"move_slider_on_hover",on_swipe:"move_with_handle_only",on_click:"click_to_move"}[n.move_handle||"on_swipe"]]=!0,delete n.move_handle,t.imagesLoaded().done(function(){t.twentytwenty(n);var e=setTimeout(function(){c.trigger("resize.twentytwenty"),clearTimeout(e)},400)})}h.fn.getHappySettings=function(){return this.data("happy-settings")},c.on("elementor/frontend/init",function(){function e(e){e.hasClass("elementor-element-edit-mode")&&e.addClass("ha-has-bg-overlay")}var t=elementorModules.frontend.handlers.Base,n=t.extend({bindEvents:function(){this.removeArrows(),this.run()},removeArrows:function(){var e=this;this.elements.$container.on("init",function(){e.elements.$container.siblings().hide()})},getDefaultSettings:function(){return{autoplay:!0,arrows:!1,checkVisible:!1,container:".hajs-slick",dots:!1,infinite:!0,rows:0,slidesToShow:1,prevArrow:h("<div />").append(this.findElement(".slick-prev").clone().show()).html(),nextArrow:h("<div />").append(this.findElement(".slick-next").clone().show()).html()}},getDefaultElements:function(){return{$container:this.findElement(this.getSettings("container"))}},onElementChange:u(function(){this.elements.$container.slick("unslick"),this.run()},200),getSlickSettings:function(){var e=1==h('html[dir="rtl"]').length||h("body").hasClass("rtl");"yes"==this.getElementSettings("vertical")&&(e=!1);var t={fade:this.$element.hasClass("ha-slider")?"fade"===this.getElementSettings("slides_transition"):"fade"===this.getElementSettings("slides_transition")&&1===parseInt(this.getElementSettings("slides_to_show")),infinite:!!this.getElementSettings("loop"),autoplay:!!this.getElementSettings("autoplay"),autoplaySpeed:this.getElementSettings("autoplay_speed"),speed:this.getElementSettings("animation_speed"),centerMode:!!this.getElementSettings("center"),vertical:!!this.getElementSettings("vertical"),rtl:e};switch(this.getElementSettings("navigation")){case"arrow":t.arrows=!0;break;case"dots":t.dots=!0;break;case"both":t.arrows=!0,t.dots=!0}e=!!this.getElementSettings("slides_to_scroll");return t.slidesToShow=parseInt(this.getElementSettings("slides_to_show"))||1,t.slidesToScroll=e&&parseInt(this.getElementSettings("slides_to_show"))||1,t.responsive=[{breakpoint:elementorFrontend.config.breakpoints.lg,settings:{slidesToShow:parseInt(this.getElementSettings("slides_to_show_tablet"))||t.slidesToShow,slidesToScroll:e?parseInt(this.getElementSettings("slides_to_show_tablet"))||t.slidesToShow:1}},{breakpoint:elementorFrontend.config.breakpoints.md,settings:{slidesToShow:parseInt(this.getElementSettings("slides_to_show_mobile"))||parseInt(this.getElementSettings("slides_to_show_tablet"))||t.slidesToShow,slidesToScroll:e?parseInt(this.getElementSettings("slides_to_show_mobile"))||parseInt(this.getElementSettings("slides_to_show_tablet"))||t.slidesToShow:1}}],h.extend({},this.getSettings(),t)},run:function(){this.elements.$container.slick(this.getSlickSettings())}}),a=t.extend({onInit:function(){t.prototype.onInit.apply(this,arguments),this.run(),this.runFilter(),c.on("resize",u(this.run.bind(this),100))},getLayoutMode:function(){var e=this.getElementSettings("layout");return"even"===e?"masonry":e},getDefaultSettings:function(){return{itemSelector:".ha-image-grid__item",percentPosition:!0,layoutMode:this.getLayoutMode()}},getDefaultElements:function(){return{$container:this.findElement(".hajs-isotope")}},getLightBoxSettings:function(){return{key:"imagegrid",$element:this.$element,selector:".ha-js-lightbox",isEnabled:!!this.getElementSettings("enable_popup"),disableOnTablet:!!this.getElementSettings("disable_lightbox_on_tablet"),disableOnMobile:!!this.getElementSettings("disable_lightbox_on_mobile")}},runFilter:function(){var t=this,n=this.getLightBoxSettings();g(this.$element,function(e){t.elements.$container.isotope({filter:e}),"*"!==e&&(n.selector=e),p(n)})},onElementChange:function(e){-1!==["layout","image_height","columns","image_margin","enable_popup"].indexOf(e)&&this.run()},run:function(){var e=this;e.elements.$container.isotope(e.getDefaultSettings()).imagesLoaded().progress(function(){e.elements.$container.isotope("layout")}),p(e.getLightBoxSettings())}}),i=t.extend({onInit:function(){t.prototype.onInit.apply(this,arguments),this.run(),this.runFilter(),c.on("resize",u(this.run.bind(this),100))},getDefaultSettings:function(){var e={rowHeight:+this.getElementSettings("row_height.size")||150,lastRow:this.getElementSettings("last_row"),margins:+this.getElementSettings("margins.size"),captions:!!this.getElementSettings("show_caption")},t={};return"yes"==this.getElementSettings("max_row_height")&&(t={maxRowHeight:+this.getElementSettings("row_height.size")||150}),h.extend(e,t)},getDefaultElements:function(){return{$container:this.findElement(".hajs-justified-grid")}},getLightBoxSettings:function(){return{key:"justifiedgallery",$element:this.$element,selector:".ha-js-lightbox",isEnabled:!!this.getElementSettings("enable_popup"),disableOnTablet:!!this.getElementSettings("disable_lightbox_on_tablet"),disableOnMobile:!!this.getElementSettings("disable_lightbox_on_mobile")}},runFilter:function(){var t=this,n=this.getLightBoxSettings(),a={lastRow:this.getElementSettings("last_row")};g(t.$element,function(e){"*"!==e&&(a.lastRow="nojustify",n.selector=e),a.filter=e,t.elements.$container.justifiedGallery(a),p(n)})},onElementChange:function(e){-1!==["row_height","max_row_height","last_row","margins","show_caption","enable_popup"].indexOf(e)&&this.run()},run:function(){this.elements.$container.justifiedGallery(this.getDefaultSettings()),p(this.getLightBoxSettings())}}),o=t.extend({onInit:function(){t.prototype.onInit.apply(this,arguments),this.wrapper=this.$element.find(".ha-news-ticker-wrapper"),this.run()},onElementChange:function(e){"item_space"!==e&&"title_typography_font_size"!==e||this.run()},run:function(){var e,t,n,a,i,o,r,s;0!=this.wrapper.length&&(a=this.wrapper.innerHeight(),s=this.wrapper.innerWidth(),t=(e=this.wrapper.find(".ha-news-ticker-container")).find(".ha-news-ticker-item"),a="scroll"+(n=this.wrapper.data("scroll-direction"))+parseInt(a)+parseInt(s),i=this.wrapper.data("duration"),o="normal",r=10,s={transform:"translateX(0"+s+"px)"},"right"===n&&(o="reverse"),t.each(function(){r+=h(this).outerWidth(!0)}),e.css({width:r,display:"flex"}),h.keyframe.define([{name:a,"0%":s,"100%":{transform:"translateX(-101%)"}}]),e.playKeyframe({name:a,duration:i.toString()+"ms",timingFunction:"linear",delay:"0s",iterationCount:"infinite",direction:o,fillMode:"none",complete:function(){}}))}}),r=t.extend({onInit:function(){t.prototype.onInit.apply(this,arguments),this.wrapper=this.$element.find(".ha-post-tab"),this.run()},run:function(){var r=this.wrapper.find(".ha-post-tab-filter").find("li"),e=this.wrapper.data("event"),s=this.wrapper.data("query-args");r.on(e,u(function(e){e.preventDefault();var e=h(this),n=e.data("term"),t=e.closest(".ha-post-tab").find(".ha-post-tab-content"),a=t.find(".ha-post-tab-loading"),i=t.find(".ha-post-tab-item-wrapper"),o=!1;0===a.length&&(r.removeClass("active"),i.removeClass("active"),e.addClass("active"),i.each(function(){var e=h(this),t=e.data("term");n===t&&(e.addClass("active"),o=!0)}),!1===o)&&h.ajax({url:HappyLocalize.ajax_url,type:"POST",data:{action:"ha_post_tab_action",security:HappyLocalize.nonce,post_tab_query:s,term_id:n},beforeSend:function(){t.append('<span class="ha-post-tab-loading"><i class="eicon-spinner eicon-animation-spin"></i></span>')},success:function(e){t.find(".ha-post-tab-loading").remove(),t.append(e)},error:function(e){}})},200))}}),a=(elementorFrontend.hooks.addAction("frontend/element_ready/ha-slider.default",function(e){elementorFrontend.elementsHandler.addHandler(n,{$element:e})}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-carousel.default",function(e){elementorFrontend.elementsHandler.addHandler(n,{$element:e})}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-horizontal-timeline.default",function(e){elementorFrontend.elementsHandler.addHandler(n,{$element:e,autoplay:!1,container:".ha-horizontal-timeline-wrapper",navigation:"arrow",arrows:!0});e=e.find(".ha-horizontal-timeline-image");void 0!==e.data("mfp-src")&&e.magnificPopup({type:"image",gallery:{enabled:!0}})}),h("body").on("click.onWrapperLink","[data-ha-element-link]",function(){var e,t,n=h(this),a=n.data("ha-element-link"),n=n.data("id"),i=document.createElement("a");i.id="happy-addons-wrapper-link-"+n,i.href=a.url,i.target=a.is_external?"_blank":"_self",i.rel=a.nofollow?"nofollow noreferer":"",i.style.display="none",document.body.appendChild(i),(e=document.getElementById(i.id)).click(),t=setTimeout(function(){document.body.removeChild(e),clearTimeout(t)})}),h.each({"ha-image-compare.default":f,"ha-number.default":function(t){haObserveTarget(t[0],function(){var e=t.find(".ha-number-text");e.numerator(e.data("animation"))})},"ha-skills.default":function(e){haObserveTarget(e[0],function(){e.find(".ha-skill-level").each(function(){var e=h(this),t=e.find(".ha-skill-level-text"),n=e.data("level");e.animate({width:n+"%"},500),t.numerator({toValue:n+"%",duration:1300,onStep:function(){t.append("%")}})})})},"ha-fun-factor.default":function(t){haObserveTarget(t[0],function(){var e=t.find(".ha-fun-factor__content-number");e.numerator(e.data("animation"))})},"ha-bar-chart.default":function(a){haObserveTarget(a[0],function(){var e=a.find(".ha-bar-chart-container"),t=a.find("#ha-bar-chart"),n=e.data("settings");e.length&&new Chart(t,n)})},"ha-twitter-feed.default":function(i){var e=i.find(".ha-twitter-load-more"),o=i.find(".ha-tweet-items");e.on("click",function(e){e.preventDefault();var t=h(this),e=t.data("settings"),n=t.data("total"),a=i.find(".ha-tweet-item").length;h.ajax({url:HappyLocalize.ajax_url,type:"POST",data:{action:"ha_twitter_feed_action",security:HappyLocalize.nonce,query_settings:e,loaded_item:a},success:function(e){a<n?h(e).appendTo(o):(t.text("All Loaded").addClass("loaded"),setTimeout(function(){t.css({display:"none"})},800))},error:function(e){}})})},"ha-threesixty-rotation.default":function(a){var e,i=a.find(".ha-threesixty-rotation-inner"),t=i.data("selector"),n=i.data("autoplay"),o=a.find(".ha-threesixty-rotation-magnify"),r=a.find(".ha-threesixty-rotation-360img"),s=o.data("zoom"),l=a.find(".ha-threesixty-rotation-play"),d=circlr(t,{play:!0});"on"===n?((e=a.find(".ha-threesixty-rotation-autoplay")).on("click",function(e){e.preventDefault(),d.play(),r.remove()}),setTimeout(function(){e.trigger("click"),e.remove()},1e3)):l.on("click",function(e){e.preventDefault();e=h(this).find("i");e.hasClass("hm-play-button")?(e.removeClass("hm-play-button"),e.addClass("hm-stop"),d.play()):(e.removeClass("hm-stop"),e.addClass("hm-play-button"),d.stop()),r.remove()}),o.on("click",function(e){a.find("img").each(function(){-1!==h(this).attr("style").indexOf("block")&&(HappySimplaMagnify(h(this)[0],s),o.css("display","none"),r.remove())})}),h(document).on("click",function(e){var e=h(e.target),t=a.find(".ha-img-magnifier-glass"),n=o.find("i");t.length&&e[0]!==n[0]&&(t.remove(),o.removeAttr("style")),e[0]===i[0]&&r.remove()}),i.on("mouseup mousedown touchstart touchend",function(e){r.remove()})},"ha-data-table.default":function(e){var n=e.find(".ha-table__head-column-cell"),r=e.find(".ha-table__body-row");r.each(function(o,e){h(e).find(".ha-table__body-row-cell").each(function(e,t){var t=h(t),n=parseInt(t.attr("rowspan"),10);if(1<n)for(var a=o+1;a<o+n&&a<r.length;a++){var i=h(r).eq(a).children().eq(e);h('<td class="ha-table__body-row-cell test">nullval</td>').insertBefore(i)}})}),r.each(function(e,t){h(t).find(".ha-table__body-row-cell").each(function(e,t){t=h(t);-1===t.html().indexOf("nullval")?(e=n.eq(e).html(),t.prepend('<div class="ha-table__head-column-cell">'+e+"</div>")):t.remove()})})},section:e,column:e,"ha-event-calendar.default":function(b){var e=b.find(".ha-ec"),S=b.find(".ha-ec-popup-wrapper"),t=b.find(".ha-ec-popup-close"),n=e.data("initialview"),a=e.data("firstday"),i=e.data("locale"),x=e.data("show-popup"),k=e.data("allday-text"),C=e.data("time-format"),o=window["HaECjson"+b.data("id")];void 0!==o&&(new FullCalendar.Calendar(e[0],{stickyHeaderDates:!1,locale:i,headerToolbar:{left:"prev,next today",center:"title",right:"dayGridMonth,timeGridWeek,timeGridDay,listMonth"},initialView:n,firstDay:a,eventTimeFormat:{hour:"numeric",minute:"2-digit",meridiem:"short"},events:o,height:"auto",eventClick:function(e){if("yes"==x){var t=function(e){return new Date(e)},n=function(e){var t,n,a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"g:i a";return t=(e=e).getHours(),n=e.getMinutes(),(e=new Date).setHours(t),e.setMinutes(n),t={},a.includes("H")?(t.hour="2-digit",t.hour12=!1):(t.hour="numeric",t.hour12=!0,(a.includes("a")||a.includes("A"))&&(t.hour="numeric")),t.minute="2-digit",n=new Intl.DateTimeFormat("en-US",t).format(e),n=a.includes("a")?n.toLowerCase():n},a=(e.jsEvent.preventDefault(),e.view.calendar.currentData.currentDate.toString(),e.event.allDay),i=e.event.title,o=e.event.startStr,r=e.event.endStr,s=e.event.extendedProps.guest,l=e.event.extendedProps.location,d=e.event.extendedProps.description,c=e.event.url,h=e.event.extendedProps.image,u=S.find(".ha-ec-event-title"),g=S.find(".ha-ec-event-time-wrap"),p=S.find(".ha-ec-event-guest-wrap"),f=S.find(".ha-ec-event-location-wrap"),m=S.find(".ha-ec-popup-desc"),y=S.find(".ha-ec-popup-readmore-link"),v=S.find(".ha-ec-popup-image");v.css("display","none"),u.css("display","none"),g.css("display","none"),p.css("display","none"),f.css("display","none"),m.css("display","none"),y.css("display","none"),S.addClass("ha-ec-popup-ready"),h&&(v.removeAttr("style"),v.find("img").attr("src",h),v.find("img").attr("alt",i)),i&&(u.removeAttr("style"),u.text(i)),s&&(p.removeAttr("style"),p.find("span.ha-ec-event-guest").text(s)),l&&(f.removeAttr("style"),f.find("span.ha-ec-event-location").text(l)),d&&(m.removeAttr("style"),m.html(d)),!0!==a?(g.removeAttr("style"),o=Date.parse(t(o)),r=Date.parse(t(r)),h=n(t(o),C),v="Invalid Data",o<r&&(v=n(t(r),C)),g.find("span.ha-ec-event-time").text(h+" - "+v)):(g.removeAttr("style"),g.find("span.ha-ec-event-time").text(k)),c&&(y.removeAttr("style"),y.attr("href",c),"on"===e.event.extendedProps.external&&y.attr("target","_blank"),"on"===e.event.extendedProps.nofollow)&&y.attr("rel","nofollow")}else{var _,w;if(e.event.url&&e.event.extendedProps.external)return e.jsEvent.preventDefault(),u=b.data("id"),(i=document.createElement("a")).id="happy-even-calender-link-"+u,i.href=e.event.url,i.target=e.event.extendedProps.external?"_blank":"_self",i.rel=e.event.extendedProps.nofollow?"nofollow noreferer":"",i.style.display="none",document.body.appendChild(i),(_=document.getElementById(i.id)).click(),w=setTimeout(function(){document.body.removeChild(_),clearTimeout(w)}),!1}},dateClick:function(e){itemDate=e.date.toUTCString()}}).render(),b.find(".ha-ec-popup-wrapper").on("click",function(e){e.stopPropagation(),e.target!==e.currentTarget&&e.target!=t[0]&&e.target!=t.find(".eicon-editor-close")[0]||S.addClass("ha-ec-popup-removing").removeClass("ha-ec-popup-ready")}))},"ha-mailchimp.default":function(e){var n=e.find(".ha-mailchimp-form"),a=e.find(".ha-mc-response-message"),i=n.data("success-message");n.on("submit",function(e){e.preventDefault();e={action:"ha_mailchimp_ajax",security:HappyLocalize.nonce,subscriber_info:n.serialize(),list_id:n.data("list-id"),post_id:n.parent().data("post-id"),widget_id:n.parent().data("widget-id")};h.ajax({type:"post",url:HappyLocalize.ajax_url,data:e,success:function(e){n.trigger("reset"),e.status?(a.removeClass("error"),a.addClass("success"),a.text(i)):(a.addClass("error"),a.removeClass("success"),a.text(e.msg));var t=setTimeout(function(){a.removeClass("error"),a.removeClass("success"),clearTimeout(t)},5e3)},error:function(e){}})})},"ha-image-accordion.default":function(e){var n;e.hasClass("ha-image-accordion-click")&&(n=e.find(".ha-ia-item")).each(function(e,t){h(this).on("click",function(e){h(this).hasClass("active")||(n.removeClass("active"),h(this).addClass("active"))})})},"ha-content-switcher.default":function(e){var n,a,t,i,o,r,s,l=e.find(".ha-content-switcher-wrapper");"button"==l.data("design-type")?(n=l.find(".ha-cs-button"),a=l.find(".ha-cs-content-section"),n.each(function(e,t){h(this).on("click",function(e){e.preventDefault(),h(this).hasClass("active")||(n.removeClass("active"),h(this).addClass("active"),a.removeClass("active"),e=h(this).data("content-id"),l.find("#"+e).addClass("active"))})})):(e=l.find(".ha-cs-switch.ha-input-label"),t=l.find("input.ha-cs-toggle-switch"),i=l.find(".ha-cs-switch.primary"),o=l.find(".ha-cs-switch.secondary"),r=l.find(".ha-cs-content-section.primary"),s=l.find(".ha-cs-content-section.secondary"),e.on("click",function(e){(t.is(":checked")?(i.removeClass("active"),r.removeClass("active"),o.addClass("active"),s):(o.removeClass("active"),s.removeClass("active"),i.addClass("active"),r)).addClass("active")}))},"ha-member.default":function(e){var t,n=e.find(".ha-btn"),a=e.find(".ha-member-lightbox");0<a.length&&(t=a.find(".ha-member-lightbox-close"),n.on("click",function(){a.addClass("ha-member-lightbox-show")}),a.on("click",function(e){!a.hasClass("ha-member-lightbox-show")||e.target!=a[0]&&e.target!=t[0]&&e.target!=t.find("i.eicon-editor-close")[0]||a.removeClass("ha-member-lightbox-show")}))},"ha-creative-button.default":function(e){var n=e.find(".ha-creative-btn-wrap"),t=n.data("magnetic"),a=n.find("a.ha-creative-btn"),t=("yes"==t&&(n.on("mousemove",function(e){var t=e.pageX-(n.offset().left+n.outerWidth()/2),e=e.pageY-(n.offset().top+n.outerHeight()/2);a.css("transform","translate("+.3*t+"px, "+.5*e+"px)")}),n.on("mouseout",function(e){a.css("transform","translate(0px, 0px)")})),e.find(".ha-eft--expandable")),i=t.find(".text");0<t.length&&0<i.length&&(i[0].addEventListener("transitionend",function(){i[0].style.width&&(i[0].style.width="auto")}),t[0].addEventListener("mouseenter",function(e){e.currentTarget.classList.add("hover"),i[0].style.width="auto";e=i[0].offsetWidth;i[0].style.width="0",window.getComputedStyle(i[0]).transform,i[0].style.width="".concat(e,"px")}),t[0].addEventListener("mouseleave",function(e){e.currentTarget.classList.remove("hover"),i[0].style.width="".concat(i[0].offsetWidth,"px"),window.getComputedStyle(i[0]).transform,i[0].style.width=""}))},"ha-pdf-view.default":function(e){var t=e.data("id"),e=e.find(".viewer-"+t).data("pdf-settings"),t={width:e.width,height:e.height,page:e.page_number};PDFObject.embed(e.pdf_url,"#"+e.unique_id,t)},"ha-comparison-table.default":function(e){var t=e.find(".ha-comparison-table-wrapper"),n=e.find(".ha-comparison-table__head"),a=n.data("sticky-header"),i=(e.height(),t.innerHeight()),o=t.offset().top;"yes"===a&&c.scroll(function(){var e=h(this).scrollTop();o<=e?n.addClass("table-sticky"):i<e&&n.removeClass("table-sticky")})}},function(e,t){elementorFrontend.hooks.addAction("frontend/element_ready/"+e,t)}),{"ha-image-grid.default":a,"ha-justified-gallery.default":i,"ha-news-ticker.default":o,"ha-post-tab.default":r}),s=(h.each(a,function(e,t){elementorFrontend.hooks.addAction("frontend/element_ready/"+e,function(e){elementorFrontend.elementsHandler.addHandler(t,{$element:e})})}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-navigation-menu.default",function(e){var a=e.find(".ha-nav-menu");function t(){jQuery(window).width()<768?(a.removeClass("ha-navigation-menu-wrapper"),a.addClass("ha-navigation-burger-menu"),a.find(".ha-submenu-indicator-wrap").on("click",function(e){e.preventDefault();e=h(this).parent("li.menu-item-has-children");e&&e.children("ul.sub-menu").slideToggle()})):(a.addClass("ha-navigation-menu-wrapper"),a.removeClass("ha-navigation-burger-menu"),a.find("ul.menu").removeAttr("style"),a.find("ul.sub-menu").removeAttr("style"))}jQuery(window).width()<1025&&767<jQuery(window).width()&&a.find(".ha-submenu-indicator-wrap").on("click",function(e){e.preventDefault();e=h(this).parent("li.menu-item-has-children");e&&e.children("ul.sub-menu").slideToggle()}),a.find(".ha-menu-toggler").on("click",function(e){var t=h(this).data("humberger"),n=a.find("ul.menu");"open"==t?(h(".ha-menu-open-icon").addClass("hide-icon"),h(".ha-menu-close-icon").removeClass("hide-icon"),h(".ha-menu-close-icon").addClass("show-icon"),n.slideDown()):(h(".ha-menu-close-icon").addClass("hide-icon"),h(".ha-menu-open-icon").removeClass("hide-icon"),h(".ha-menu-open-icon").addClass("show-icon"),n.slideUp())}),t(),c.on("resize",u(t,100))}),elementorFrontend.hooks.addAction("frontend/element_ready/ha-age-gate.default",function(e,t){var n,a,i,o,r,s;elementorFrontend.isEditMode()?(localStorage.removeItem("ha-age-gate-expire-time"),e.find(".ha-age-gate-wrapper").length&&"no"==e.find(".ha-age-gate-wrapper").data("editor_mood")&&e.find(".ha-age-gate-wrapper").hide()):elementorFrontend.isEditMode()||(a=(n=e.find(".ha-age-gate-wrapper")).data("age_gate_cookies_time"),i=localStorage.getItem("ha-age-gate-expire-time"),n.closest("body").css("overflow","hidden"),o=new Date,(r=new Date).setDate(o.getDate()+a),t("body,html,document").scrollTop(e.offset().top),s=setTimeout(function(){t("body,html,document").scrollTop(t("body").offset().top),clearTimeout(s)},1e3),""!=i&&null!=i&&new Date(o)<=new Date(i)?(t(".ha-age-gate-wrapper").hide(),n.closest("body").css("overflow","")):(""!=i&&null!=i&&new Date(o)>new Date(i)&&localStorage.removeItem("ha-age-gate-expire-time"),t(".ha-age-gate-wrapper").show()),e.find(".ha-age-gate-wrapper.ha-age-gate-confirm-age").length&&t(".ha-age-gate-confirm-age-btn").on("click",function(){localStorage.setItem("ha-age-gate-expire-time",r),t(this).closest(".ha-age-gate-wrapper").hide(),t(this).closest("body").css("overflow","")}),e.find(".ha-age-gate-wrapper.ha-age-gate-confirm-dob").length&&t(".ha-age-gate-confirm-dob-btn").on("click",function(){var e=new Date(Date.parse(t(this).closest(".ha-age-gate-form-body").find(".ha-age-gate-date-input").val())).getFullYear();o.getFullYear()-e<t(this).closest(".ha-age-gate-wrapper").data("userbirth")?t(this).closest(".ha-age-gate-boxes").find(".ha-age-gate-warning-msg").show():(localStorage.setItem("ha-age-gate-expire-time",r),t(this).closest(".ha-age-gate-wrapper").hide(),t(this).closest("body").css("overflow",""))}),e.find(".ha-age-gate-wrapper.ha-age-gate-confirm-by-boolean").length&&(t(".ha-age-gate-wrapper .ha-age-gate-confirm-yes-btn").on("click",function(){localStorage.setItem("ha-age-gate-expire-time",r),t(this).closest(".ha-age-gate-wrapper").hide(),t(this).closest("body").css("overflow","")}),t(".ha-age-gate-wrapper .ha-age-gate-confirm-no-btn").on("click",function(){t(this).closest(".ha-age-gate-boxes").find(".ha-age-gate-warning-msg").show()})))}),t.extend({onInit:function(){t.prototype.onInit.apply(this,arguments),this.run()},onElementChange:u(function(e){-1!==["width","title_typography_typography","title_typography_font_size","title_typography_line_height","title_typography_font_weight","sub_title_typography_typography","sub_title_typography_font_size","sub_title_typography_line_height","sub_title_typography_font_weight"].indexOf(e)&&this.run()},300),run:function(){var a,e,t,n,i,o,r=this,s=JSON.parse(r.$element.find(".ha-lhi-image-area").attr("data-settings")),l=r.$element.find(".ha-lhi-image"),d=r.$element.find(".ha-lhi-title h2"),c=r.$element.find(".ha-lhi-title p"),h=r.$element.find("canvas"),u=s.hover_style,g=s.plugin_url+"liquid-hover-image/"+s.hover_effect;"custom"==s.hover_effect&&(g=s.custom_effect||""),h&&h.remove(),new hoverEffect({parent:l[0],intensity:s.intensity,image1:s.first_image,image2:s.second_image,displacementImage:g,imagesRatio:l.height()/l.width(),angle1:(s.angle-45)*(Math.PI/180)*-1,angle2:(s.angle-45)*(Math.PI/180)*-1,speedIn:s.speed,speedOut:s.speed});"style-1"==u&&(d.length||c.length)&&(a=s.style_1_direction,d.length&&(d[0].innerHTML=d[0].textContent.replace(/\S/g,"<span class='letter'>$&</span>")),c.length&&c.addClass("letter"),e=[0,0],t=[0,0],n=[0,0],i=[0,0],"left"==a?(e=[80,0],t=[0,-80]):"right"==a?(e=[0,80],t=[80,200]):"up"==a?(n=[80,0],i=[0,-80]):"down"==a&&(n=[-80,0],i=[0,80]),r.$element.hover(function(){anime.timeline({loop:!1}).add({targets:".elementor-element-"+r.getID()+" .ha-lhi-title .letter",translateX:e,translateY:n,translateZ:0,opacity:[0,1],easing:"easeOutExpo",duration:800,delay:function(e,t){return 40*t}})},function(){anime.timeline({loop:!1}).add({targets:".elementor-element-"+r.getID()+" .ha-lhi-title .letter",translateX:t,translateY:i,opacity:[1,0],duration:850,delay:function(e,t,n){return t=t,n=n,"right"==a?40*(n-t):40*t}})})),"style-2"==u&&(d.length||c.length)&&(d.length&&(o=d.find(".normal").outerHeight(),d.height(o)),c.length&&(o=c.find(".normal").outerHeight(),c.height(o)),r.$element.hover(function(){d.addClass("play"),c.addClass("play")},function(){d.removeClass("play"),c.removeClass("play")})),"style-5"==u&&(d.length||c.length)&&d.length&&(o=d.find(".normal").outerHeight(),d.attr("style","--ha-lhi-style-5-height:"+o+"px"))}})),l=(elementorFrontend.hooks.addAction("frontend/element_ready/ha-liquid-hover-image.default",function(e){elementorFrontend.elementsHandler.addHandler(s,{$element:e})}),t.extend({onInit:function(){t.prototype.onInit.apply(this,arguments),this.run()},onElementChange:u(function(e){-1!==["text_scroll_type"].indexOf(e)&&this.run()},300),getReadySettings:function(){var e={},t=this.getElementSettings("text_scroll_type");return t&&(e.scroll_type=t),h.extend({},this.getSettings(),e)},run:function(){var e=this.getReadySettings(),t=this.$element,n=t.find(".ha-split-lines")[0],a=[],i=e.scroll_type;"undefined"==typeof gsap||"undefined"==typeof ScrollTrigger||(gsap.registerPlugin(ScrollTrigger),n.length<=0)||("horizontal_line_mask"===i||"vertical_line_mask"===i?(h(n).each(function(e){var t=h(this);a[e]=new SplitType(t,{types:"lines, words"})}),h(n).find(".line").each(function(e){h(this).append("<div class='ha-line-mask'></div>")})):"horizontal_line_highlight"===i?h(n).each(function(e){var t=h(this);a[e]=new SplitType(t,{types:"words, chars"})}):new SplitType(n,{types:"lines, words"}),"horizontal_line_mask"===i||"vertical_line_mask"===i?t.find(".line").each(function(e,t){var n,a=h(t).find(".ha-line-mask");a.length<=0||(h(t).addClass("mask-active"),n="horizontal_line_mask"===i?{width:"0%"}:{height:"0%"},gsap.timeline({scrollTrigger:_objectSpread({trigger:t},{start:"horizontal_line_mask"===i?"bottom 50%":"bottom center",end:"bottom center",scrub:3})}).to(a,_objectSpread(_objectSpread({},n),{},{duration:1})))}):"horizontal_line_highlight"===i?(e=t.find(".word .char"),n=t.find(".ha-split-lines"),0<=e.length&&0<=n.length&&gsap.to(e,{scrollTrigger:{trigger:n,start:"top 40%",end:"bottom center",scrub:1},opacity:1,duration:2,stagger:1})):t.find(".line").each(function(){var e=this;gsap.to(this,{scrollTrigger:{trigger:this,start:"top 50%",end:"bottom 50%",onEnter:function(){h(e).addClass("highlight")},onLeaveBack:function(){h(e).removeClass("highlight")}}})}))}})),d=(elementorFrontend.hooks.addAction("frontend/element_ready/ha-text-scroll.default",function(e){elementorFrontend.elementsHandler.addHandler(l,{$element:e})}),t.extend({onInit:function(){t.prototype.onInit.apply(this,arguments),this.run()},bindEvents:function(){ScrollTrigger.config({limitCallbacks:!0,ignoreMobileResize:!0})},run:function(){gsap.registerPlugin(ScrollTrigger);var e,t,n,a,i,o,r,s,l,d,c=this.$element;c.find("title").remove(),c.hasClass("ha-svg-animated-yes")&&(e=c.data("id"),n=(t=this.getElementSettings()).scroll_action,o=null,a=parseFloat(t.repeat_delay)||.5,i=new TimelineMax({repeat:0,yoyo:!1,repeatDelay:.5}),"automatic"===n?(o="custom"!==t.animate_trigger?t.animate_trigger:t.animate_offset.size+"%",d=t.anim_rev?"pause play reverse":"none",i.repeat(t.loop?-1:0).yoyo(t.yoyo).repeatDelay(t.loop?a:0),ScrollTrigger.create({trigger:".elementor-element-"+e,toggleActions:"play "+d,start:"top "+o,animation:i})):(i.repeat("hover"===n&&t.loop?-1:0).yoyo("hover"===n&&t.yoyo).repeatDelay("hover"===n&&t.loop?a:0),"viewport"===n&&(o=t.animate_offset.size/100)),r=c.hasClass("ha-svg-animation-rev-yes")?"to":"from",d=c.find("path, circle, rect, square, ellipse, polyline, polygon, line"),s=0,l=("from"==r?t.animate_start_point:t.animate_end_point).size,d.each(function(e,t){t=h(t);t.attr("fill","transparent"),c.hasClass("ha-svg-sync-together-yes")&&(e=0),s=e,"from"==r?i.from(t,1,{PaSvgDrawer:(l||0)+"% 0"},e):i.to(t,1,{PaSvgDrawer:(l||0)+"% 0"},e)}),"yes"===t.svg_fill&&(0==s&&(s=1),i.to(d,1,{fill:t.svg_color,stroke:t.svg_stroke},s)),"viewport"===n?(d=new ScrollMagic.Controller,new ScrollMagic.Scene({triggerElement:".elementor-element-"+e,triggerHook:o,duration:t.draw_speed?1e3*t.draw_speed.size:"150%"}).setTween(i).addTo(d)):(t.frames&&(i.duration(t.frames),i.repeatDelay(a)),"hover"===n&&(i.pause(),c.find("svg").hover(function(){i.play()},function(){i.pause()}))))}}));elementorFrontend.hooks.addAction("frontend/element_ready/ha-svg-draw.default",function(e){elementorFrontend.elementsHandler.addHandler(d,{$element:e})})})})(jQuery);
(s=>{var o,e=window,r=s(".ha-reading-progress-bar");r.length<=0||(o={},"yes"===(o=JSON.parse(r.attr("data-ha_rpbsettings"))).ha_rpb_enable&&(o.hasOwnProperty("progress_bar_type")&&"vertical"===o.progress_bar_type&&o.hasOwnProperty("rpb_vertical_position")&&"right"==o.rpb_vertical_position?s("body").addClass("no-scroll"):s("body").removeClass("no-scroll"),s(e).scroll(function(){var r=0,t=(r=(s(e).scrollTop()||0)/((s(document).height()||1)-(s(e).height()||1))*100).toFixed(0);100<r&&(r=100),o.hasOwnProperty("progress_bar_type")&&"horizontal"===o.progress_bar_type?(s(".hm-hrp-bar").css({display:"flex"}),s(".hm-hrp-bar").width(t+"%"),1<t&&0<r?(s(".hm-tool-tip").css({opacity:1,transition:"opacity 0.3s"}),s(".hm-tool-tip").text(t+"%"),98<=t?s(".hm-tool-tip").css({right:"5px"}):s(".hm-tool-tip").css({right:"-28px"})):(s(".hm-tool-tip").css({opacity:0,transition:"opacity 0.3s"}),s(".hm-tool-tip").text("0%"))):o.hasOwnProperty("progress_bar_type")&&"vertical"===o.progress_bar_type?(s(".hm-vrp-bar").css({display:"flex"}),0<r&&1<t?s(".hm-vrp-bar").height(t+"%"):s(".hm-vrp-bar").height("0%")):o.hasOwnProperty("progress_bar_type")&&"circle"===o.progress_bar_type&&(t=2*Math.PI*45,t=Math.round(t-r/100*t),0<=r)&&(s(".hm-progress-circle").css("stroke-dashoffset",t.toFixed(2)),s(".hm-progress-percent-text").text("".concat(r.toFixed(0),"%")))})))})(jQuery);
!function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if(i=e({path:"/"},t.defaults,i),"number"==typeof i.expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=encodeURIComponent(String(n)),n=n.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),n=n.replace(/[\(\)]/g,escape);var f="";for(var s in i)i[s]&&(f+="; "+s,i[s]!==!0&&(f+="="+i[s]));return document.cookie=n+"="+r+f}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=0;d<p.length;d++){var u=p[d].split("="),l=u.slice(1).join("=");'"'===l.charAt(0)&&(l=l.slice(1,-1));try{var g=u[0].replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent);if(l=o.read?o.read(l,g):o(l,g)||l.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent),this.json)try{l=JSON.parse(l)}catch(e){}if(n===g){c=l;break}n||(c[g]=l)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}return n(function(){})});
(function($){
var selectors=[];
var check_binded=false;
var check_lock=false;
var defaults={
interval: 250,
force_process: false
};
var $window=$(window);
var $prior_appeared=[];
function process(){
check_lock=false;
for (var index=0, selectorsLength=selectors.length; index < selectorsLength; index++){
var $appeared=$(selectors[index]).filter(function(){
return $(this).is(':appeared');
});
$appeared.trigger('wpr_appear', [$appeared]);
if($prior_appeared[index]){
var $disappeared=$prior_appeared[index].not($appeared);
$disappeared.trigger('wpr_disappear', [$disappeared]);
}
$prior_appeared[index]=$appeared;
}};
function add_selector(selector){
selectors.push(selector);
$prior_appeared.push();
}
$.expr[':']['appeared']=function(element){
var $element=$(element);
if(!$element.is(':visible')){
return false;
}
var window_left=$window.scrollLeft();
var window_top=$window.scrollTop();
var offset=$element.offset();
var left=offset.left;
var top=offset.top;
if(top + $element.height() >=window_top &&
top - ($element.data('appear-top-offset')||0) <=window_top + $window.height() &&
left + $element.width() >=window_left &&
left - ($element.data('appear-left-offset')||0) <=window_left + $window.width()){
return true;
}else{
return false;
}};
$.fn.extend({
wpr_appear: function(options){
var opts=$.extend({}, defaults, options||{});
var selector=this.selector||this;
if(!check_binded){
var on_check=function(){
if(check_lock){
return;
}
check_lock=true;
setTimeout(process, opts.interval);
};
$(window).scroll(on_check).resize(on_check);
check_binded=true;
}
if(opts.force_process){
setTimeout(process, opts.interval);
}
add_selector(selector);
return $(selector);
}});
$.extend({
wpr_force_appear: function(){
if(check_binded){
process();
return true;
}
return false;
}});
})(function(){
if(typeof module!=='undefined'){
return require('jquery');
}else{
return jQuery;
}}());
!function(n,t){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(n="undefined"!=typeof globalThis?globalThis:n||self,r=n._,(e=n._=t()).noConflict=function(){return n._=r,e})}(this,function(){var n="1.13.7",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,V=Object.prototype,F="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=V.toString,q=V.hasOwnProperty,r="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=r&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,o){return o=null==o?u.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+o];switch(o){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}for(var e=Array(o+1),r=0;r<o;r++)e[r]=arguments[r];return e[o]=t,u.apply(this,e)}}function o(n){var t=typeof n;return"function"==t||"object"==t&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function i(n){var t="[object "+n+"]";return function(n){return s.call(n)===t}}var X=i("String"),Y=i("Number"),Z=i("Date"),nn=i("RegExp"),tn=i("Error"),rn=i("Symbol"),en=i("ArrayBuffer"),a=i("Function"),t=t.document&&t.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof t?function(n){return"function"==typeof n||!1}:a,t=i("Object"),un=u&&(!/\[native code\]/.test(String(DataView))||t(new DataView(new ArrayBuffer(8)))),a="undefined"!=typeof Map&&t(new Map),u=i("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,v=U||i("Array");function y(n,t){return null!=n&&q.call(n,t)}var on=i("Arguments"),an=(!function(){on(arguments)||(on=function(n){return y(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(t){return function(n){n=t(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(t){return function(n){return null==n?void 0:n[t]}}var d=sn("byteLength"),pn=ln(d),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=r?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),g=sn("length");function yn(n,t){t=function(t){for(var r={},n=t.length,e=0;e<n;++e)r[t[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(n){return r[n]=!0,t.push(n)}}}(t);var r=J.length,e=n.constructor,u=p(e)&&e.prototype||V,o="constructor";for(y(n,o)&&!t.contains(o)&&t.push(o);r--;)(o=J[r])in n&&n[o]!==u[o]&&!t.contains(o)&&t.push(o)}function b(n){if(!o(n))return[];if(W)return W(n);var t,r=[];for(t in n)y(n,t)&&r.push(t);return K&&yn(n,r),r}function dn(n,t){var r=b(t),e=r.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=r[o];if(t[i]!==u[i]||!(i in u))return!1}return!0}function m(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,d(n))}m.VERSION=n,m.prototype.valueOf=m.prototype.toJSON=m.prototype.value=function(){return this._wrapped},m.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function mn(n,t,r,e){var u;return n===t?0!==n||1/n==1/t:null!=n&&null!=t&&(n!=n?t!=t:("function"==(u=typeof n)||"object"==u||"object"==typeof t)&&function n(t,r,e,u){t instanceof m&&(t=t._wrapped);r instanceof m&&(r=r._wrapped);var o=s.call(t);if(o!==s.call(r))return!1;if(un&&"[object Object]"==o&&h(t)){if(!h(r))return!1;o=bn}switch(o){case"[object RegExp]":case"[object String]":return""+t==""+r;case"[object Number]":return+t!=+t?+r!=+r:0==+t?1/+t==1/r:+t==+r;case"[object Date]":case"[object Boolean]":return+t==+r;case"[object Symbol]":return F.valueOf.call(t)===F.valueOf.call(r);case"[object ArrayBuffer]":case bn:return n(gn(t),gn(r),e,u)}o="[object Array]"===o;if(!o&&vn(t)){var i=d(t);if(i!==d(r))return!1;if(t.buffer===r.buffer&&t.byteOffset===r.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof r)return!1;var i=t.constructor,a=r.constructor;if(i!==a&&!(p(i)&&i instanceof i&&p(a)&&a instanceof a)&&"constructor"in t&&"constructor"in r)return!1}e=e||[];u=u||[];var f=e.length;for(;f--;)if(e[f]===t)return u[f]===r;e.push(t);u.push(r);if(o){if((f=t.length)!==r.length)return!1;for(;f--;)if(!mn(t[f],r[f],e,u))return!1}else{var c,l=b(t);if(f=l.length,b(r).length!==f)return!1;for(;f--;)if(c=l[f],!y(r,c)||!mn(t[c],r[c],e,u))return!1}e.pop();u.pop();return!0}(n,t,r,e))}function c(n){if(!o(n))return[];var t,r=[];for(t in n)r.push(t);return K&&yn(n,r),r}function jn(e){var u=g(e);return function(n){if(null==n)return!1;var t=c(n);if(g(t))return!1;for(var r=0;r<u;r++)if(!p(n[e[r]]))return!1;return e!==_n||!p(n[wn])}}var wn="forEach",t=["clear","delete"],u=["get","has","set"],U=t.concat(wn,u),_n=t.concat(u),r=["add"].concat(t,wn,"has"),u=a?jn(U):i("Map"),t=a?jn(_n):i("WeakMap"),U=a?jn(r):i("Set"),a=i("WeakSet");function j(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e}function An(n){for(var t={},r=b(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t}function xn(n){var t,r=[];for(t in n)p(n[t])&&r.push(t);return r.sort()}function Sn(f,c){return function(n){var t=arguments.length;if(c&&(n=Object(n)),!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=f(e),o=u.length,i=0;i<o;i++){var a=u[i];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var On=Sn(c),w=Sn(b),Mn=Sn(c,!0);function En(n){var t;return o(n)?z?z(n):((t=function(){}).prototype=n,n=new t,t.prototype=null,n):{}}function Bn(n){return v(n)?n:[n]}function _(n){return m.toPath(n)}function Nn(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function In(n,t,r){n=Nn(n,_(t));return H(n)?r:n}function Tn(n){return n}function A(t){return t=w({},t),function(n){return dn(n,t)}}function kn(t){return t=_(t),function(n){return Nn(n,t)}}function x(u,o,n){if(void 0===o)return u;switch(null==n?3:n){case 1:return function(n){return u.call(o,n)};case 3:return function(n,t,r){return u.call(o,n,t,r)};case 4:return function(n,t,r,e){return u.call(o,n,t,r,e)}}return function(){return u.apply(o,arguments)}}function Dn(n,t,r){return null==n?Tn:p(n)?x(n,t,r):(o(n)&&!v(n)?A:kn)(n)}function Rn(n,t){return Dn(n,t,1/0)}function S(n,t,r){return m.iteratee!==Rn?m.iteratee(n,t):Dn(n,t,r)}function Vn(){}function Fn(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))}m.toPath=Bn,m.iteratee=Rn;var O=Date.now||function(){return(new Date).getTime()};function Pn(t){function r(n){return t[n]}var n="(?:"+b(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},qn=Pn(r),r=Pn(An(r)),Un=m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Wn=/(.)^/,zn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ln=/\\|'|\r|\n|\u2028|\u2029/g;function $n(n){return"\\"+zn[n]}var Cn=/^\s*(\w|\$)+\s*$/;var Kn=0;function Jn(n,t,r,e,u){return e instanceof t?(e=En(n.prototype),o(t=n.apply(e,u))?t:e):n.apply(r,u)}var M=l(function(u,o){function i(){for(var n=0,t=o.length,r=Array(t),e=0;e<t;e++)r[e]=o[e]===a?arguments[n++]:o[e];for(;n<arguments.length;)r.push(arguments[n++]);return Jn(u,i,this,this,r)}var a=M.placeholder;return i}),Gn=(M.placeholder=m,l(function(t,r,e){var u;if(p(t))return u=l(function(n){return Jn(t,u,r,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(g);function B(n,t,r,e){if(e=e||[],t||0===t){if(t<=0)return e.concat(n)}else t=1/0;for(var u=e.length,o=0,i=g(n);o<i;o++){var a=n[o];if(E(a)&&(v(a)||an(a)))if(1<t)B(a,t-1,r,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else r||(e[u++]=a)}return e}var Hn=l(function(n,t){var r=(t=B(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=Gn(n[e],n)}return n});var Qn=l(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),Xn=M(Qn,m,1);function Yn(n){return function(){return!n.apply(this,arguments)}}function Zn(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}}var nt=M(Zn,2);function tt(n,t,r){t=S(t,r);for(var e,u=b(n),o=0,i=u.length;o<i;o++)if(t(n[e=u[o]],e,n))return e}function rt(o){return function(n,t,r){t=S(t,r);for(var e=g(n),u=0<o?0:e-1;0<=u&&u<e;u+=o)if(t(n[u],u,n))return u;return-1}}var et=rt(1),ut=rt(-1);function ot(n,t,r,e){for(var u=(r=S(r,e,1))(t),o=0,i=g(n);o<i;){var a=Math.floor((o+i)/2);r(n[a])<u?o=a+1:i=a}return o}function it(o,i,a){return function(n,t,r){var e=0,u=g(n);if("number"==typeof r)0<o?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=i(f.call(n,e,u),fn))?r+e:-1;for(r=0<o?e:u-1;0<=r&&r<u;r+=o)if(n[r]===t)return r;return-1}}var at=it(1,et,ot),ft=it(-1,ut);function ct(n,t,r){t=(E(n)?et:tt)(n,t,r);if(void 0!==t&&-1!==t)return n[t]}function N(n,t,r){if(t=x(t,r),E(n))for(u=0,o=n.length;u<o;u++)t(n[u],u,n);else for(var e=b(n),u=0,o=e.length;u<o;u++)t(n[e[u]],e[u],n);return n}function I(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=t(n[a],a,n)}return o}function lt(f){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!E(n)&&b(n),o=(u||n).length,i=0<f?0:o-1;for(e||(r=n[u?u[i]:i],i+=f);0<=i&&i<o;i+=f){var a=u?u[i]:i;r=t(r,n[a],a,n)}return r}(n,x(t,e,4),r,u)}}var st=lt(1),pt=lt(-1);function T(n,e,t){var u=[];return e=S(e,t),N(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u}function ht(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!t(n[i],i,n))return!1}return!0}function vt(n,t,r){t=S(t,r);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(t(n[i],i,n))return!0}return!1}function k(n,t,r,e){return E(n)||(n=j(n)),0<=at(n,t,r="number"==typeof r&&!e?r:0)}var yt=l(function(n,r,e){var u,o;return p(r)?o=r:(r=_(r),u=r.slice(0,-1),r=r[r.length-1]),I(n,function(n){var t=o;if(!t){if(null==(n=u&&u.length?Nn(n,u):n))return;t=n[r]}return null==t?t:t.apply(n,e)})});function dt(n,t){return I(n,kn(t))}function gt(n,e,t){var r,u,o=-1/0,i=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&o<r&&(o=r);else e=S(e,t),N(n,function(n,t,r){u=e(n,t,r),(i<u||u===-1/0&&o===-1/0)&&(o=n,i=u)});return o}var bt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function mt(n){return n?v(n)?f.call(n):X(n)?n.match(bt):E(n)?I(n,Tn):j(n):[]}function jt(n,t,r){if(null==t||r)return(n=E(n)?n:j(n))[Fn(n.length-1)];for(var e=mt(n),r=g(e),u=(t=Math.max(Math.min(t,r),0),r-1),o=0;o<t;o++){var i=Fn(o,u),a=e[o];e[o]=e[i],e[i]=a}return e.slice(0,t)}function D(o,t){return function(r,e,n){var u=t?[[],[]]:{};return e=S(e,n),N(r,function(n,t){t=e(n,t,r);o(u,n,t)}),u}}var wt=D(function(n,t,r){y(n,r)?n[r].push(t):n[r]=[t]}),_t=D(function(n,t,r){n[r]=t}),At=D(function(n,t,r){y(n,r)?n[r]++:n[r]=1}),xt=D(function(n,t,r){n[r?0:1].push(t)},!0);function St(n,t,r){return t in r}var Ot=l(function(n,t){var r={},e=t[0];if(null!=n){p(e)?(1<t.length&&(e=x(e,t[1])),t=c(n)):(e=St,t=B(t,!1,!1),n=Object(n));for(var u=0,o=t.length;u<o;u++){var i=t[u],a=n[i];e(a,i,n)&&(r[i]=a)}}return r}),Mt=l(function(n,r){var t,e=r[0];return p(e)?(e=Yn(e),1<r.length&&(t=r[1])):(r=I(B(r,!1,!1),String),e=function(n,t){return!k(r,t)}),Ot(n,e,t)});function Et(n,t,r){return f.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))}function Bt(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[0]:Et(n,n.length-t)}function R(n,t,r){return f.call(n,null==t||r?1:t)}var Nt=l(function(n,t){return t=B(t,!0,!0),T(n,function(n){return!k(t,n)})}),It=l(function(n,t){return Nt(n,t)});function Tt(n,t,r,e){Q(t)||(e=r,r=t,t=!1),null!=r&&(r=S(r,e));for(var u=[],o=[],i=0,a=g(n);i<a;i++){var f=n[i],c=r?r(f,i,n):f;t&&!r?(i&&o===c||u.push(f),o=c):r?k(o,c)||(o.push(c),u.push(f)):k(u,f)||u.push(f)}return u}var kt=l(function(n){return Tt(B(n,!0,!0))});function Dt(n){for(var t=n&&gt(n,g).length||0,r=Array(t),e=0;e<t;e++)r[e]=dt(n,e);return r}var Rt=l(Dt);function Vt(n,t){return n._chain?m(t).chain():t}function Ft(r){return N(xn(r),function(n){var t=m[n]=r[n];m.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Vt(this,t.apply(m,n))}}),m}N(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];m.prototype[t]=function(){var n=this._wrapped;return null!=n&&(r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Vt(this,n)}}),N(["concat","join","slice"],function(n){var t=e[n];m.prototype[n]=function(){var n=this._wrapped;return Vt(this,n=null!=n?t.apply(n,arguments):n)}});n=Ft({__proto__:null,VERSION:n,restArguments:l,isObject:o,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:tn,isSymbol:rn,isArrayBuffer:en,isDataView:h,isArray:v,isFunction:p,isArguments:an,isFinite:function(n){return!rn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var t;return null==n||("number"==typeof(t=g(n))&&(v(n)||X(n)||an(n))?0===t:0===g(b(n)))},isMatch:dn,isEqual:function(n,t){return mn(n,t)},isMap:u,isWeakMap:t,isSet:U,isWeakSet:a,keys:b,allKeys:c,values:j,pairs:function(n){for(var t=b(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},invert:An,functions:xn,methods:xn,extend:On,extendOwn:w,assign:w,defaults:Mn,create:function(n,t){return n=En(n),t&&w(n,t),n},clone:function(n){return o(n)?v(n)?n.slice():On({},n):n},tap:function(n,t){return t(n),n},get:In,has:function(n,t){for(var r=(t=_(t)).length,e=0;e<r;e++){var u=t[e];if(!y(n,u))return!1;n=n[u]}return!!r},mapObject:function(n,t,r){t=S(t,r);for(var e=b(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=t(n[a],a,n)}return o},identity:Tn,constant:cn,noop:Vn,toPath:Bn,property:kn,propertyOf:function(t){return null==t?Vn:function(n){return In(t,n)}},matcher:A,matches:A,times:function(n,t,r){var e=Array(Math.max(0,n));t=x(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},random:Fn,now:O,escape:qn,unescape:r,templateSettings:Un,template:function(o,n,t){n=Mn({},n=!n&&t?t:n,m.templateSettings);var r,t=RegExp([(n.escape||Wn).source,(n.interpolate||Wn).source,(n.evaluate||Wn).source].join("|")+"|$","g"),i=0,a="__p+='";if(o.replace(t,function(n,t,r,e,u){return a+=o.slice(i,u).replace(Ln,$n),i=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",t=n.variable){if(!Cn.test(t))throw new Error("variable is not a bare identifier: "+t)}else a="with(obj||{}){\n"+a+"}\n",t="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(t,"_",a)}catch(n){throw n.source=a,n}function e(n){return r.call(this,n,m)}return e.source="function("+t+"){\n"+a+"}",e},result:function(n,t,r){var e=(t=_(t)).length;if(!e)return p(r)?r.call(n):r;for(var u=0;u<e;u++){var o=null==n?void 0:n[t[u]];void 0===o&&(o=r,u=e),n=p(o)?o.call(n):o}return n},uniqueId:function(n){var t=++Kn+"";return n?n+t:t},chain:function(n){return(n=m(n))._chain=!0,n},iteratee:Rn,partial:M,bind:Gn,bindAll:Hn,memoize:function(e,u){function o(n){var t=o.cache,r=""+(u?u.apply(this,arguments):n);return y(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return o.cache={},o},delay:Qn,defer:Xn,throttle:function(r,e,u){function o(){l=!1===u.leading?0:O(),i=null,c=r.apply(a,f),i||(a=f=null)}function n(){var n=O(),t=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,t<=0||e<t?(i&&(clearTimeout(i),i=null),l=n,c=r.apply(a,f),i||(a=f=null)):i||!1===u.trailing||(i=setTimeout(o,t)),c}var i,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(i),l=0,i=a=f=null},n},debounce:function(t,r,e){function u(){var n=O()-i;n<r?o=setTimeout(u,r-n):(o=null,e||(f=t.apply(c,a)),o||(a=c=null))}var o,i,a,f,c,n=l(function(n){return c=this,a=n,i=O(),o||(o=setTimeout(u,r),e&&(f=t.apply(c,a))),f});return n.cancel=function(){clearTimeout(o),o=a=c=null},n},wrap:function(n,t){return M(t,n)},negate:Yn,compose:function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},after:function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},before:Zn,once:nt,findKey:tt,findIndex:et,findLastIndex:ut,sortedIndex:ot,indexOf:at,lastIndexOf:ft,find:ct,detect:ct,findWhere:function(n,t){return ct(n,A(t))},each:N,forEach:N,map:I,collect:I,reduce:st,foldl:st,inject:st,reduceRight:pt,foldr:pt,filter:T,select:T,reject:function(n,t,r){return T(n,Yn(S(t)),r)},every:ht,all:ht,some:vt,any:vt,contains:k,includes:k,include:k,invoke:yt,pluck:dt,where:function(n,t){return T(n,A(t))},max:gt,min:function(n,e,t){var r,u,o=1/0,i=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&r<o&&(o=r);else e=S(e,t),N(n,function(n,t,r){((u=e(n,t,r))<i||u===1/0&&o===1/0)&&(o=n,i=u)});return o},shuffle:function(n){return jt(n,1/0)},sample:jt,sortBy:function(n,e,t){var u=0;return e=S(e,t),dt(I(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},groupBy:wt,indexBy:_t,countBy:At,partition:xt,toArray:mt,size:function(n){return null==n?0:(E(n)?n:b(n)).length},pick:Ot,omit:Mt,first:Bt,head:Bt,take:Bt,initial:Et,last:function(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[n.length-1]:R(n,Math.max(0,n.length-t))},rest:R,tail:R,drop:R,compact:function(n){return T(n,Boolean)},flatten:function(n,t){return B(n,t,!1)},without:It,uniq:Tt,unique:Tt,union:kt,intersection:function(n){for(var t=[],r=arguments.length,e=0,u=g(n);e<u;e++){var o=n[e];if(!k(t,o)){for(var i=1;i<r&&k(arguments[i],o);i++);i===r&&t.push(o)}}return t},difference:Nt,unzip:Dt,transpose:Dt,zip:Rt,object:function(n,t){for(var r={},e=0,u=g(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},range:function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),o=0;o<e;o++,n+=r)u[o]=n;return u},chunk:function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(f.call(n,e,e+=t));return r},mixin:Ft,default:m});return n._=n});
window.wp=window.wp||{},function(s){var t="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(e){var n,a={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(t){if(document.getElementById("tmpl-"+e))return(n=n||_.template(s("#tmpl-"+e).html(),a))(t);throw new Error("Template not found: #tmpl-"+e)}}),wp.ajax={settings:t.ajax||{},post:function(t,e){return wp.ajax.send({data:_.isObject(t)?t:_.extend(e||{},{action:t})})},send:function(a,t){var e,n;return _.isObject(a)?t=a:(t=t||{}).data=_.extend(t.data||{},{action:a}),t=_.defaults(t||{},{type:"POST",url:wp.ajax.settings.url,context:this}),(e=(n=s.Deferred(function(n){t.success&&n.done(t.success),t.error&&n.fail(t.error),delete t.success,delete t.error,n.jqXHR=s.ajax(t).done(function(t){var e;"1"!==t&&1!==t||(t={success:!0}),_.isObject(t)&&!_.isUndefined(t.success)?(e=this,n.done(function(){a&&a.data&&"query-attachments"===a.data.action&&n.jqXHR.hasOwnProperty("getResponseHeader")&&n.jqXHR.getResponseHeader("X-WP-Total")?e.totalAttachments=parseInt(n.jqXHR.getResponseHeader("X-WP-Total"),10):e.totalAttachments=0}),n[t.success?"resolveWith":"rejectWith"](this,[t.data])):n.rejectWith(this,[t])}).fail(function(){n.rejectWith(this,arguments)})})).promise()).abort=function(){return n.jqXHR.abort(),this},e}}}(jQuery);
(function($, wpreview, Cookies){
"use strict";
wpreview.initNotificationBar=function(){
if($('#hello-bar').length){
$('body').addClass('has-hello-bar');
}
$('#hello-bar.hello-bar--top:not(.hello-bar--floating)').prependTo('body');
if($('#hello-bar.hello-bar--top.hello-bar--floating').length){
$('body').css({ paddingTop: $('#hello-bar').height() + 10 });
}};
wpreview.getAnimateDuration=function(animation){
if(! animation){
return 0;
}
switch(animation){
case 'flipOutX':
case 'flipOutY':
case 'bounceIn':
case 'bounceOut':
return 750;
case 'hinge':
return 2000;
}
return 1000;
};
wpreview.openPopup=function(popup){
if(! popup){
popup='#wp-review-popup';
}
$.magnificPopup.open({
items: {
src: popup,
type: 'inline'
},
removalDelay: wpreview.getAnimateDuration(wpreview.popup.animation_out),
callbacks: {
beforeOpen: function(){
this.st.mainClass='animated ' + wpreview.popup.animation_in;
},
beforeClose: function(){
var $wrap=this.wrap,
$bg=$wrap.prev(),
$mfp=$wrap.add($bg);
$mfp.removeClass(wpreview.popup.animation_in).addClass(wpreview.popup.animation_out);
}}
});
};
wpreview.initPopup=function(){
if(! $('#wp-review-popup').length){
return;
}
var popupShown=false,
expiration=parseInt(wpreview.popup.expiration),
cookieName=wpreview.popup.cookie_name||'wpr-popup';
function canShowPopup(){
if(popupShown){
return false;
}
if(expiration&&Cookies.get(cookieName) ){
return false;
}
if(wpreview.popup.screen_size_check&&$(window).width() <=parseInt(wpreview.popup.screen_width) ){
return false;
}
return true;
}
function showPopup(){
wpreview.openPopup('#wp-review-popup');
popupShown=true;
if(expiration){
Cookies.set(cookieName, 1, {
expires: expiration
});
}}
if(wpreview.popup.show_on_load){
var delay=parseInt(wpreview.popup.delay) * 1000;
setTimeout(function(){
if(! canShowPopup()){
return;
}
showPopup();
}, delay);
}
if(wpreview.popup.show_on_reach_bottom&&$('#wp-review-content-bottom').length){
var offsetTop=$('#wp-review-content-bottom').offset().top;
$(window).on('scroll', function(){
if(! canShowPopup()){
return;
}
var scrollTop=$(window).scrollTop();
if(scrollTop >=offsetTop){
showPopup();
}});
}
if(wpreview.popup.exit_intent){
$(document).exitIntent(function(){
if(! canShowPopup()){
return;
}
showPopup();
});
}};
wpreview.loadReviews=function($el, options){
$el.html('<div class="loading"></div>');
function onSuccess(response){
$el.removeClass('js-reviews-placeholder loading').html(response);
};
function onError(response){
console.log(response);
};
wp.ajax.send('wp-review-load-reviews', {
success: onSuccess,
error: onError,
data: options
});
};
wpreview.ajaxReviewsLoading=function(){
$('.js-reviews-placeholder').each(function(){
var options=$(this).attr('data-options') ? JSON.parse($(this).attr('data-options') ):{};
wpreview.loadReviews($(this), options);
});
$(document).on('click', '.reviews-pagination a', function(ev){
ev.preventDefault();
var $pagination, $reviews, options, page;
$pagination=$(this).closest('.reviews-pagination');
$reviews=$pagination.closest('.wp-reviews-list');
options=$reviews.attr('data-options') ? JSON.parse($reviews.attr('data-options') ):{};
page=$pagination.attr('data-page') ? parseInt($pagination.attr('data-page') ):1;
options.page=$(this).hasClass('previous') ?(page - 1):(page + 1);
options.no_cache=true;
wpreview.loadReviews($reviews, options);
});
};
wpreview.featuresRating=function($wrapper){
var data=$wrapper.data();
if(! data.rating){
return;
}
data.action='wpr-visitor-features-rating';
$.ajax ({
beforeSend: function(){
$wrapper.addClass('wp-review-loading');
},
data: data,
type: 'post',
url: wpreview.ajaxurl,
success: function(response){
$wrapper.removeClass('wp-review-loading');
if(typeof response!='object'){
response=JSON.parse(response);
}
if('ok'!=response.status){
console.error(response);
return;
}
response.html=response.html.replace('delay-animation', '');
$wrapper.closest('#review').replaceWith(response.html);
Cookies.set('wpr_visitor_has_reviewed_post_' + data.post_id, 1, {
expires: 315360000000 
});
},
error: function(response){
$wrapper.removeClass('wp-review-loading');
console.log(response);
}});
};
wpreview.initResponsiveTable=function(){
if('function'!==typeof $.fn.stacktable){
return;
}
$('.comparison-table').stacktable();
};
wpreview.addVerifiedPurchase=function(){
$('.wp_review_comment.verified cite, .wp_review_comment.verified .fn').after('<em> ' + wpreview.verifiedPurchase + '</em>');
};
$(document).ready(function(){
wpreview.initNotificationBar();
wpreview.initPopup();
wpreview.ajaxReviewsLoading();
wpreview.initResponsiveTable();
wpreview.addVerifiedPurchase();
$('[data-wp-review-tabs] .tab-title:first-child').addClass('active');
$('[data-wp-review-tabs] .tab-content:first-of-type').fadeIn();
$('[data-wp-review-tabs] .tab-title button').on('click', function(ev){
ev.preventDefault();
var $btn, $tabs, href;
$btn=$(this);
$tabs=$btn.closest('[data-wp-review-tabs]');
href=$btn.attr('data-href');
$tabs.find('.tab-title').removeClass('active');
$btn.closest('.tab-title').addClass('active');
$tabs.find('.tab-content').hide();
$tabs.find(href).fadeIn();
});
$('#commentform').on('submit', function(ev){
$(this).find('.wpr-error').remove();
if($(this).hasClass('wpr-uncompleted-rating') ){
$(this).append('<div class="wpr-error">' + wpreview.rateAllFeatures + '</div>');
ev.preventDefault();
}});
});
})(jQuery, window.wpreview||{}, Cookies);
jQuery(document).ready(function($){
$('.wp-review-comment-field.allowed-to-rate a').on('click', function(){
var $this=$(this),
$elem=$this.closest('.wp-review-comment-field');
if($elem.hasClass('allowed-to-rate')){
$elem.removeClass('has-not-rated-yet');
$elem.find('.review-result').css('width', parseInt($this.data('input-value'))*20+'%');
$elem.find('.wp_review_comment_rating').val($this.data('input-value'));
}});
if($('.review-wrapper').length){
$('.review-wrapper').wpr_appear().on('wpr_appear', function(event){
var $this=$(this);
if($this.hasClass('delay-animation')){
$this.removeClass('delay-animation');
if($this.find('.wp-review-circle-rating').length){
$this.find('.wp-review-circle-rating').each(function(index, el){
if($(el).closest('.wp-review-user-rating').length)
return true;
var initial_value=$(el).data('initial_value');
$({value: 0}).animate({value: initial_value}, {
duration: 2000,
easing:'swing',
step: function(){
$(el).val(Math.floor(this.value)).trigger('change');
},
complete: function(){
$(el).val(initial_value).trigger('change');
}});
});
}}
}).on('wpr_disappear', function(event){
var $this=$(this);
});
$(window).load(function(){
$.wpr_force_appear();
});
}
var $commentFeedback=$('.wp-review-feedback');
$commentFeedback.on('click', 'a', function(e){
var $this=$(this);
e.preventDefault();
if($this.hasClass('voted')||$this.siblings().hasClass('voted')||$commentFeedback.hasClass('processing')) return;
$.ajax({
type: 'POST',
url: wpreview.ajaxurl,
beforeSend: function(){
$commentFeedback.addClass('processing');
},
data: { action: 'mts_review_feedback', isHelpful: $this.data('value'), commentId: $this.data('comment-id') },
success: function(data){
$this.closest('.wp-review-feedback').find('a').removeClass('voted');
$this.addClass('voted').find('.feedback-count').text('('+data+')');
},
error: function(jqXHR){
alert(jqXHR.responseText);
},
complete: function(){
$commentFeedback.removeClass('processing');
}});
});
if($('#wp-review-comment-title-field').length){
$('#wp-review-comment-title-field').closest('form').addClass('wp-review-comment-form');
}
$(document).on('click', '.wp-review-comment-img-field a', function(e){
e.preventDefault();
$(this).parents('.wp-review-comment-form-photo').find('.hide').removeClass('hide');
$(this).parent().addClass('hide').find('input').val('');
return false;
});
$(document).on('change', '.wp-review-comment-attachment-source .input-file', function(e){
e.preventDefault();
var $this=$(this);
if($this.parents('.wp-review-comment-form-photo').find('#comment_image_spinner').length!=0){
return;
}
$this.parents('form').find('input[type="submit"]').attr('disabled', 'disabled');
$('<i id="comment_image_spinner" class="fa fa-spinner fa-spin"></i>').insertAfter($this.parent('p'));
var $fd=new FormData(),
files=$(this)[0].files[0];
$fd.append("files[]", files);
$fd.append('action', 'wpr-upload-comment-image');
$fd.append('_ajax_nonce', wpreview.commentImageUploadNonce);
$.ajax({
type: 'POST',
url: wpreview.ajaxurl,
processData: false,
contentType: false,
data: $fd,
success: function (response){
if(response){
$this.next('input').val(response);
}else{
alert('Something went wrong. Please upload different image.');
}
$this.parents('form').find('input[type="submit"]').removeAttr('disabled');
$this.parents('.wp-review-comment-form-photo').find('#comment_image_spinner').remove();
},
error: function(){
alert('Something went wrong. Please upload different image.');
$this.parents('form').find('input[type="submit"]').removeAttr('disabled');
$this.parents('.wp-review-comment-form-photo').find('#comment_image_spinner').remove();
}});
return false;
});
});
function wp_review_rate($elem){
var is_comment_rating=($elem.is('.wp-review-comment-rating-star')||!!$elem.closest('.wp-review-comment-rating-star').length);
if(is_comment_rating){
return '';
}
var rating=$elem.find('.wp-review-user-rating-val').val();
var postId=$elem.find('.wp-review-user-rating-postid').val();
var token=$elem.find('.wp-review-user-rating-nonce').val();
var $target=$elem;
if(! $target.is('.wp-review-user-rating'))
$target=$elem.closest('.wp-review-user-rating');
if(rating==0){
return '';
}
jQuery.ajax ({
beforeSend: function(){
$target.addClass('wp-review-loading');
},
data: { action: 'wp_review_rate', post_id: postId, nonce: token, review: rating },
type: 'post',
dataType: 'json',
url: wpreview.ajaxurl,
success: function(response){
$target.removeClass('wp-review-loading');
if(typeof response.html!=='undefined'&&response.html!=''){
$target.empty().append(response.html).addClass('has-rated').removeClass('wp-review-user-rating');
}
if(typeof response.rating_total!=='undefined'&&response.rating_total!=''){
$target.parent().find('.wp-review-user-rating-total').text(response.rating_total);
}
if(typeof response.rating_count!=='undefined'&&response.rating_count!=''){
$target.parent().find('.wp-review-user-rating-counter').text(response.rating_count);
}
if(response.awaiting_moderation!=undefined){
$target.parent().find('.user-total-wrapper .awaiting-response-wrapper').text(response.awaiting_moderation);
}
Cookies.set('wpr_visitor_has_reviewed_post_' + postId, 1, {
expires: 315360000000 
});
}});
};
(function (factory){
if(typeof exports==='object'){
module.exports=factory(require('jquery'));
}else if(typeof define==='function'&&define.amd){
define(['jquery'], factory);
}else{
factory(jQuery);
}}(function ($){
"use strict";
var k={},
max=Math.max,
min=Math.min;
k.c={};
k.c.d=$(document);
k.c.t=function (e){
return e.originalEvent.touches.length - 1;
};
k.o=function (){
var s=this;
this.o=null;
this.$=null;
this.i=null;
this.g=null;
this.v=null;
this.cv=null;
this.x=0;
this.y=0;
this.w=0;
this.h=0;
this.$c=null;
this.c=null;
this.t=0;
this.isInit=false;
this.fgColor=null;
this.pColor=null;
this.dH=null;
this.cH=null;
this.eH=null;
this.rH=null;
this.scale=1;
this.relative=false;
this.relativeWidth=false;
this.relativeHeight=false;
this.$div=null;
this.run=function (){
var cf=function (e, conf){
var k;
for (k in conf){
s.o[k]=conf[k];
}
s._carve().init();
s._configure()
._draw();
};
if(this.$.data('kontroled')) return;
this.$.data('kontroled', true);
this.extend();
this.o=$.extend({
min: this.$.data('min')!==undefined ? this.$.data('min'):0,
max: this.$.data('max')!==undefined ? this.$.data('max'):100,
stopper: true,
readOnly: this.$.data('readonly')||(this.$.attr('readonly')==='readonly'),
cursor: this.$.data('cursor')===true&&30
|| this.$.data('cursor')||0,
thickness: this.$.data('thickness')
&& Math.max(Math.min(this.$.data('thickness'), 1), 0.01)
|| 0.35,
lineCap: this.$.data('linecap')||'butt',
width: this.$.data('width')||200,
height: this.$.data('height')||200,
displayInput: this.$.data('displayinput')==null||this.$.data('displayinput'),
displayPrevious: this.$.data('displayprevious'),
fgColor: this.$.data('fgcolor')||'#87CEEB',
inputColor: this.$.data('inputcolor'),
font: this.$.data('font')||'Arial',
fontWeight: this.$.data('font-weight')||'bold',
inline: false,
step: this.$.data('step')||1,
rotation: this.$.data('rotation'),
draw: null,
change: null,
cancel: null,
release: null,
format: function(v){
return v;
},
parse: function (v){
return parseFloat(v);
}}, this.o
);
this.o.flip=this.o.rotation==='anticlockwise'||this.o.rotation==='acw';
if(!this.o.inputColor){
this.o.inputColor=this.o.fgColor;
}
if(this.$.is('fieldset')){
this.v={};
this.i=this.$.find('input');
this.i.each(function(k){
var $this=$(this);
s.i[k]=$this;
s.v[k]=s.o.parse($this.val());
$this.bind('change blur',
function (){
var val={};
val[k]=$this.val();
s.val(s._validate(val));
}
);
});
this.$.find('legend').remove();
}else{
this.i=this.$;
this.v=this.o.parse(this.$.val());
this.v===''&&(this.v=this.o.min);
this.$.bind('change blur',
function (){
s.val(s._validate(s.o.parse(s.$.val())));
}
);
}
!this.o.displayInput&&this.$.hide();
this.$c=$(document.createElement('canvas')).attr({
width: this.o.width,
height: this.o.height
});
this.$div=$('<div style="'
+ (this.o.inline ? 'display:inline;':'')
+ 'width:' + this.o.width + 'px;height:' + this.o.height + 'px;'
+ '"></div>');
this.$.wrap(this.$div).before(this.$c);
this.$div=this.$.parent();
if(typeof G_vmlCanvasManager!=='undefined'){
G_vmlCanvasManager.initElement(this.$c[0]);
}
this.c=this.$c[0].getContext ? this.$c[0].getContext('2d'):null;
if(!this.c){
throw {
name:        "CanvasNotSupportedException",
message:     "Canvas not supported. Please use excanvas on IE8.0.",
toString:    function(){return this.name + ": " + this.message}}
}
this.scale=(window.devicePixelRatio||1) / (
this.c.webkitBackingStorePixelRatio ||
this.c.mozBackingStorePixelRatio ||
this.c.msBackingStorePixelRatio ||
this.c.oBackingStorePixelRatio ||
this.c.backingStorePixelRatio||1
);
this.relativeWidth=this.o.width % 1!==0
&& this.o.width.indexOf('%');
this.relativeHeight=this.o.height % 1!==0
&& this.o.height.indexOf('%');
this.relative=this.relativeWidth||this.relativeHeight;
this._carve();
if(this.v instanceof Object){
this.cv={};
this.copy(this.v, this.cv);
}else{
this.cv=this.v;
}
this.$
.bind("configure", cf)
.parent()
.bind("configure", cf);
this._listen()
._configure()
._xy()
.init();
this.isInit=true;
this.$.val(this.o.format(this.v));
this._draw();
return this;
};
this._carve=function(){
if(this.relative){
var w=this.relativeWidth ?
this.$div.parent().width() *
parseInt(this.o.width) / 100
: this.$div.parent().width(),
h=this.relativeHeight ?
this.$div.parent().height() *
parseInt(this.o.height) / 100
: this.$div.parent().height();
this.w=this.h=Math.min(w, h);
}else{
this.w=this.o.width;
this.h=this.o.height;
}
this.$div.css({
'width': this.w + 'px',
'height': this.h + 'px'
});
this.$c.attr({
width: this.w,
height: this.h
});
if(this.scale!==1){
this.$c[0].width=this.$c[0].width * this.scale;
this.$c[0].height=this.$c[0].height * this.scale;
this.$c.width(this.w);
this.$c.height(this.h);
}
return this;
};
this._draw=function (){
var d=true;
s.g=s.c;
s.clear();
s.dH&&(d=s.dH());
d!==false&&s.draw();
};
this._touch=function (e){
var touchMove=function (e){
var v=s.xy2val(
e.originalEvent.touches[s.t].pageX,
e.originalEvent.touches[s.t].pageY
);
if(v==s.cv) return;
if(s.cH&&s.cH(v)===false) return;
s.change(s._validate(v));
s._draw();
};
this.t=k.c.t(e);
touchMove(e);
k.c.d
.bind("touchmove.k", touchMove)
.bind("touchend.k",
function (){
k.c.d.unbind('touchmove.k touchend.k');
s.val(s.cv);
}
);
return this;
};
this._mouse=function (e){
var mouseMove=function (e){
var v=s.xy2val(e.pageX, e.pageY);
if(v==s.cv) return;
if(s.cH&&(s.cH(v)===false)) return;
s.change(s._validate(v));
s._draw();
};
mouseMove(e);
k.c.d
.bind("mousemove.k", mouseMove)
.bind("keyup.k",
function (e){
if(e.keyCode===27){
k.c.d.unbind("mouseup.k mousemove.k keyup.k");
if(s.eH&&s.eH()===false)
return;
s.cancel();
}}
)
.bind("mouseup.k",
function (e){
k.c.d.unbind('mousemove.k mouseup.k keyup.k');
s.val(s.cv);
}
);
return this;
};
this._xy=function (){
var o=this.$c.offset();
this.x=o.left;
this.y=o.top;
return this;
};
this._listen=function (){
if(!this.o.readOnly){
this.$c
.bind("mousedown",
function (e){
e.preventDefault();
s._xy()._mouse(e);
}
)
.bind("touchstart",
function (e){
e.preventDefault();
s._xy()._touch(e);
}
);
this.listen();
}else{
this.$.attr('readonly', 'readonly');
}
if(this.relative){
$(window).resize(function(){
s._carve().init();
s._draw();
});
}
return this;
};
this._configure=function (){
if(this.o.draw) this.dH=this.o.draw;
if(this.o.change) this.cH=this.o.change;
if(this.o.cancel) this.eH=this.o.cancel;
if(this.o.release) this.rH=this.o.release;
if(this.o.displayPrevious){
this.pColor=this.h2rgba(this.o.fgColor, "0.4");
this.fgColor=this.h2rgba(this.o.fgColor, "0.6");
}else{
this.fgColor=this.o.fgColor;
}
return this;
};
this._clear=function (){
this.$c[0].width=this.$c[0].width;
};
this._validate=function (v){
var val=(~~ (((v < 0) ? -0.5:0.5) + (v/this.o.step))) * this.o.step;
return Math.round(val * 100) / 100;
};
this.listen=function (){};
this.extend=function (){};
this.init=function (){};
this.change=function (v){};
this.val=function (v){};
this.xy2val=function (x, y){};
this.draw=function (){};
this.clear=function (){ this._clear(); };
this.h2rgba=function (h, a){
var rgb;
h=h.substring(1,7);
rgb=[
parseInt(h.substring(0,2), 16),
parseInt(h.substring(2,4), 16),
parseInt(h.substring(4,6), 16)
];
return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + a + ")";
};
this.copy=function (f, t){
for (var i in f){
t[i]=f[i];
}};};
k.Dial=function (){
k.o.call(this);
this.startAngle=null;
this.xy=null;
this.radius=null;
this.lineWidth=null;
this.cursorExt=null;
this.w2=null;
this.PI2=2*Math.PI;
this.extend=function (){
this.o=$.extend({
bgColor: this.$.data('bgcolor')||'#e4e4e4',
angleOffset: this.$.data('angleoffset')||0,
angleArc: this.$.data('anglearc')||360,
inline: true
}, this.o);
};
this.val=function (v, triggerRelease){
if(null!=v){
v=this.o.parse(v);
if(triggerRelease!==false
&& v!=this.v
&& this.rH
&& this.rH(v)===false){ return; }
this.cv=this.o.stopper ? max(min(v, this.o.max), this.o.min):v;
this.v=this.cv;
this.$.val(this.o.format(this.v));
this._draw();
}else{
return this.v;
}};
this.xy2val=function (x, y){
var a, ret;
a=Math.atan2(
x - (this.x + this.w2),
- (y - this.y - this.w2)
) - this.angleOffset;
if(this.o.flip){
a=this.angleArc - a - this.PI2;
}
if(this.angleArc!=this.PI2&&(a < 0)&&(a > -0.5)){
a=0;
}else if(a < 0){
a +=this.PI2;
}
ret=(a * (this.o.max - this.o.min) / this.angleArc) + this.o.min;
this.o.stopper&&(ret=max(min(ret, this.o.max), this.o.min));
return ret;
};
this.listen=function (){
var s=this, mwTimerStop,
mwTimerRelease,
mw=function (e){
e.preventDefault();
var ori=e.originalEvent,
deltaX=ori.detail||ori.wheelDeltaX,
deltaY=ori.detail||ori.wheelDeltaY,
v=s._validate(s.o.parse(s.$.val()))
+ (
deltaX > 0||deltaY > 0
? s.o.step
: deltaX < 0||deltaY < 0 ? -s.o.step:0
);
v=max(min(v, s.o.max), s.o.min);
s.val(v, false);
if(s.rH){
clearTimeout(mwTimerStop);
mwTimerStop=setTimeout(function (){
s.rH(v);
mwTimerStop=null;
}, 100);
if(!mwTimerRelease){
mwTimerRelease=setTimeout(function (){
if(mwTimerStop)
s.rH(v);
mwTimerRelease=null;
}, 200);
}}
},
kval,
to,
m=1,
kv={
37: -s.o.step,
38: s.o.step,
39: s.o.step,
40: -s.o.step
};
this.$
.bind("keydown",
function (e){
var kc=e.keyCode;
if(kc >=96&&kc <=105){
kc=e.keyCode=kc - 48;
}
kval=parseInt(String.fromCharCode(kc));
if(isNaN(kval)){
(kc!==13)
&& kc!==8 
&& kc!==9 
&& kc!==189 
&& (kc!==190
|| s.$.val().match(/\./))
&& e.preventDefault();
if($.inArray(kc,[37,38,39,40]) > -1){
e.preventDefault();
var v=s.o.parse(s.$.val()) + kv[kc] * m;
s.o.stopper&&(v=max(min(v, s.o.max), s.o.min));
s.change(s._validate(v));
s._draw();
to=window.setTimeout(function (){
m *=2;
}, 30);
}}
}
)
.bind("keyup",
function (e){
if(isNaN(kval)){
if(to){
window.clearTimeout(to);
to=null;
m=1;
s.val(s.$.val());
}}else{
(s.$.val() > s.o.max&&s.$.val(s.o.max))
|| (s.$.val() < s.o.min&&s.$.val(s.o.min));
}}
);
};
this.init=function (){
if(this.v < this.o.min
|| this.v > this.o.max){ this.v=this.o.min; }
this.$.val(this.v);
this.w2=this.w / 2;
this.cursorExt=this.o.cursor / 100;
this.xy=this.w2 * this.scale;
this.lineWidth=this.xy * this.o.thickness;
this.lineCap=this.o.lineCap;
this.radius=this.xy - this.lineWidth / 2;
this.o.angleOffset
&& (this.o.angleOffset=isNaN(this.o.angleOffset) ? 0:this.o.angleOffset);
this.o.angleArc
&& (this.o.angleArc=isNaN(this.o.angleArc) ? this.PI2:this.o.angleArc);
this.angleOffset=this.o.angleOffset * Math.PI / 180;
this.angleArc=this.o.angleArc * Math.PI / 180;
this.startAngle=1.5 * Math.PI + this.angleOffset;
this.endAngle=1.5 * Math.PI + this.angleOffset + this.angleArc;
var s=max(
String(Math.abs(this.o.max)).length,
String(Math.abs(this.o.min)).length,
2
) + 2;
this.o.displayInput
&& this.i.css({
'width':((this.w / 2 + 4) >> 0) + 'px',
'height':((this.w / 3) >> 0) + 'px',
'position':'absolute',
'vertical-align':'middle',
'margin-top':((this.w / 3) >> 0) + 'px',
'margin-left':'-' + ((this.w * 3 / 4 + 2) >> 0) + 'px',
'border':0,
'background':'none',
'font':this.o.fontWeight + ' ' + ((this.w / s) >> 0) + 'px ' + this.o.font,
'text-align':'center',
'color':this.o.inputColor||this.o.fgColor,
'padding':'0px',
'-webkit-appearance': 'none'
})||this.i.css({
'width': '0px',
'visibility': 'hidden'
});
};
this.change=function (v){
this.cv=v;
this.$.val(this.o.format(v));
};
this.angle=function (v){
return (v - this.o.min) * this.angleArc / (this.o.max - this.o.min);
};
this.arc=function (v){
var sa, ea;
v=this.angle(v);
if(this.o.flip){
sa=this.endAngle + 0.00001;
ea=sa - v - 0.00001;
}else{
sa=this.startAngle - 0.00001;
ea=sa + v + 0.00001;
}
this.o.cursor
&& (sa=ea - this.cursorExt)
&& (ea=ea + this.cursorExt);
return {
s: sa,
e: ea,
d: this.o.flip&&!this.o.cursor
};};
this.draw=function (){
var c=this.g,
a=this.arc(this.cv),
pa,
r=1;
c.lineWidth=this.lineWidth;
c.lineCap=this.lineCap;
if(this.o.bgColor!=="none"){
c.beginPath();
c.strokeStyle=this.o.bgColor;
c.arc(this.xy, this.xy, this.radius, this.endAngle - 0.00001, this.startAngle + 0.00001, true);
c.stroke();
}
if(this.o.displayPrevious){
pa=this.arc(this.v);
c.beginPath();
c.strokeStyle=this.pColor;
c.arc(this.xy, this.xy, this.radius, pa.s, pa.e, pa.d);
c.stroke();
r=this.cv==this.v;
}
c.beginPath();
c.strokeStyle=r ? this.o.fgColor:this.fgColor ;
c.arc(this.xy, this.xy, this.radius, a.s, a.e, a.d);
c.stroke();
};
this.cancel=function (){
this.val(this.v);
};};
$.fn.dial=$.fn.knob=function (o){
return this.each(function (){
var d=new k.Dial();
d.o=o;
d.$=$(this);
d.run();
}
).parent();
};}));
document.addEventListener('DOMContentLoaded',function(){const input=document.querySelector('.autocomplete-strada input');if(!input)return;let streets=[];fetch('https://notariate.ro/wp-content/uploads/2025/07/strazi_grile_complet.json').then(res=>res.json()).then(data=>{streets=data.map(item=>item.denumire)});input.addEventListener('input',function(){const val=this.value.toLowerCase();const suggestions=streets.filter(strada=>strada.toLowerCase().includes(val)).slice(0,5);let datalist=document.getElementById('autocomplete-strada');if(!datalist){datalist=document.createElement('datalist');datalist.id='autocomplete-strada';document.body.appendChild(datalist);input.setAttribute('list','autocomplete-strada')}
datalist.innerHTML='';suggestions.forEach(item=>{const option=document.createElement('option');option.value=item;datalist.appendChild(option)})})});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):jQuery&&!jQuery.fn.hoverIntent&&e(jQuery)}(function(f){"use strict";function u(e){return"function"==typeof e}var i,r,v={interval:100,sensitivity:6,timeout:0},s=0,a=function(e){i=e.pageX,r=e.pageY},p=function(e,t,n,o){if(Math.sqrt((n.pX-i)*(n.pX-i)+(n.pY-r)*(n.pY-r))<o.sensitivity)return t.off(n.event,a),delete n.timeoutId,n.isActive=!0,e.pageX=i,e.pageY=r,delete n.pX,delete n.pY,o.over.apply(t[0],[e]);n.pX=i,n.pY=r,n.timeoutId=setTimeout(function(){p(e,t,n,o)},o.interval)};f.fn.hoverIntent=function(e,t,n){function o(e){var u=f.extend({},e),r=f(this),v=((t=r.data("hoverIntent"))||r.data("hoverIntent",t={}),t[i]),t=(v||(t[i]=v={id:i}),v.timeoutId&&(v.timeoutId=clearTimeout(v.timeoutId)),v.event="mousemove.hoverIntent.hoverIntent"+i);"mouseenter"===e.type?v.isActive||(v.pX=u.pageX,v.pY=u.pageY,r.off(t,a).on(t,a),v.timeoutId=setTimeout(function(){p(u,r,v,d)},d.interval)):v.isActive&&(r.off(t,a),v.timeoutId=setTimeout(function(){var e,t,n,o,i;e=u,t=r,n=v,o=d.out,(i=t.data("hoverIntent"))&&delete i[n.id],o.apply(t[0],[e])},d.timeout))}var i=s++,d=f.extend({},v);f.isPlainObject(e)?(d=f.extend(d,e),u(d.out)||(d.out=d.over)):d=u(t)?f.extend(d,{over:e,out:t,selector:n}):f.extend(d,{over:e,out:e,selector:t});return this.on({"mouseenter.hoverIntent":o,"mouseleave.hoverIntent":o},d.selector)}});
(function($){
"use strict";
$.maxmegamenu=function(menu, options){
var plugin=this;
var $menu=$(menu);
var $wrap=$(menu).parent();
var $toggle_bar=$menu.siblings(".mega-menu-toggle");
var html_body_class_timeout;
var defaults={
event: $menu.attr("data-event"),
effect: $menu.attr("data-effect"),
effect_speed: parseInt($menu.attr("data-effect-speed")),
effect_mobile: $menu.attr("data-effect-mobile"),
effect_speed_mobile: parseInt($menu.attr("data-effect-speed-mobile")),
panel_width: $menu.attr("data-panel-width"),
panel_inner_width: $menu.attr("data-panel-inner-width"),
mobile_force_width: $menu.attr("data-mobile-force-width"),
mobile_overlay: $menu.attr("data-mobile-overlay"),
mobile_state: $menu.attr("data-mobile-state"),
mobile_direction: $menu.attr("data-mobile-direction"),
second_click: $menu.attr("data-second-click"),
vertical_behaviour: $menu.attr("data-vertical-behaviour"),
document_click: $menu.attr("data-document-click"),
breakpoint: $menu.attr("data-breakpoint"),
unbind_events: $menu.attr("data-unbind"),
hover_intent_timeout: $menu.attr("data-hover-intent-timeout"),
hover_intent_interval: $menu.attr("data-hover-intent-interval")
};
plugin.settings={};
var items_with_submenus=$("li.mega-menu-megamenu.mega-menu-item-has-children," +
"li.mega-menu-flyout.mega-menu-item-has-children," +
"li.mega-menu-tabbed > ul.mega-sub-menu > li.mega-menu-item-has-children," +
"li.mega-menu-flyout li.mega-menu-item-has-children", $menu);
var collapse_children_parents=$("li.mega-menu-megamenu li.mega-menu-item-has-children.mega-collapse-children > a.mega-menu-link", $menu);
plugin.addAnimatingClass=function(element){
if(plugin.settings.effect==="disabled"){
return;
}
$(".mega-animating").removeClass("mega-animating");
var timeout=plugin.settings.effect_speed + parseInt(plugin.settings.hover_intent_timeout, 10);
element.addClass("mega-animating");
setTimeout(function(){
element.removeClass("mega-animating");
}, timeout);
};
plugin.hideAllPanels=function(){
$(".mega-toggle-on > a.mega-menu-link", $menu).each(function(){
plugin.hidePanel($(this), false);
});
};
plugin.expandMobileSubMenus=function(){
if(plugin.settings.mobile_direction!=='vertical'){
return;
}
$(".mega-menu-item-has-children.mega-expand-on-mobile > a.mega-menu-link", $menu).each(function(){
plugin.showPanel($(this), true);
});
if(plugin.settings.mobile_state=='expand_all'){
$(".mega-menu-item-has-children:not(.mega-toggle-on) > a.mega-menu-link", $menu).each(function(){
plugin.showPanel($(this), true);
});
}
if(plugin.settings.mobile_state=='expand_active'){
const activeItemSelectors=[
"li.mega-current-menu-ancestor.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current-menu-item.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current-menu-parent.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current_page_ancestor.mega-menu-item-has-children > a.mega-menu-link",
"li.mega-current_page_item.mega-menu-item-has-children > a.mega-menu-link"
];
$menu.find(activeItemSelectors.join(', ')).each(function(){
plugin.showPanel($(this), true);
});
}}
plugin.hideSiblingPanels=function(anchor, immediate){
anchor.parent().parent().find(".mega-toggle-on").children("a.mega-menu-link").each(function(){
plugin.hidePanel($(this), immediate);
});
};
plugin.isDesktopView=function(){
var width=Math.max(document.documentElement.clientWidth||0, window.innerWidth||0);
return width > plugin.settings.breakpoint;
};
plugin.isMobileView=function(){
return !plugin.isDesktopView();
};
plugin.showPanel=function(anchor, immediate){
if($.isNumeric(anchor)){
anchor=$("li.mega-menu-item-" + anchor, $menu).find("a.mega-menu-link").first();
}else if(anchor.is("li.mega-menu-item")){
anchor=anchor.find("a.mega-menu-link").first();
}
anchor.parent().triggerHandler("before_open_panel");
anchor.parent().find("[aria-expanded]").first().attr("aria-expanded", "true");
$(".mega-animating").removeClass("mega-animating");
if(plugin.isMobileView()&&anchor.parent().hasClass("mega-hide-sub-menu-on-mobile")){
return;
}
if(plugin.isDesktopView()&&($menu.hasClass("mega-menu-horizontal")||$menu.hasClass("mega-menu-vertical"))&&!anchor.parent().hasClass("mega-collapse-children")){
plugin.hideSiblingPanels(anchor, true);
}
if((plugin.isMobileView()&&$wrap.hasClass("mega-keyboard-navigation"))||plugin.settings.vertical_behaviour==="accordion"){
plugin.hideSiblingPanels(anchor, false);
}
plugin.calculateDynamicSubmenuWidths(anchor);
if(plugin.shouldUseSlideAnimation(anchor, immediate)){
var speed=plugin.isMobileView() ? plugin.settings.effect_speed_mobile:plugin.settings.effect_speed;
anchor.siblings(".mega-sub-menu").css("display", "none").animate({"height":"show", "paddingTop":"show", "paddingBottom":"show", "minHeight":"show"}, speed, function(){
$(this).css("display", "");
});
}
anchor.parent().addClass("mega-toggle-on").triggerHandler("open_panel");
};
plugin.shouldUseSlideAnimation=function(anchor, immediate){
if(immediate==true){
return false;
}
if(anchor.parent().hasClass("mega-collapse-children")){
return true;
}
if(plugin.isDesktopView()&&plugin.settings.effect==="slide"){
return true;
}
if(plugin.isMobileView()){
if(plugin.settings.effect_mobile==="slide"){
return true;
}
if(plugin.settings.effect_mobile==="slide_left"||plugin.settings.effect_mobile==="slide_right"){
return plugin.settings.mobile_direction!=="horizontal";
}}
return false;
};
plugin.hidePanel=function(anchor, immediate){
if($.isNumeric(anchor)){
anchor=$("li.mega-menu-item-" + anchor, $menu).find("a.mega-menu-link").first();
}else if(anchor.is("li.mega-menu-item")){
anchor=anchor.find("a.mega-menu-link").first();
}
anchor.parent().triggerHandler("before_close_panel");
anchor.parent().find("[aria-expanded]").first().attr("aria-expanded", "false");
if(plugin.shouldUseSlideAnimation(anchor)){
var speed=plugin.isMobileView() ? plugin.settings.effect_speed_mobile:plugin.settings.effect_speed;
anchor.siblings(".mega-sub-menu").animate({"height":"hide", "paddingTop":"hide", "paddingBottom":"hide", "minHeight":"hide"}, speed, function(){
anchor.siblings(".mega-sub-menu").css("display", "");
anchor.parent().removeClass("mega-toggle-on").triggerHandler("close_panel");
});
return;
}
if(immediate){
anchor.siblings(".mega-sub-menu").css("display", "none").delay(plugin.settings.effect_speed).queue(function(){
$(this).css("display", "").dequeue();
});
}
anchor.siblings(".mega-sub-menu").find(".widget_media_video video").each(function(){
this.player.pause();
});
anchor.parent().removeClass("mega-toggle-on").triggerHandler("close_panel");
plugin.addAnimatingClass(anchor.parent());
};
plugin.calculateDynamicSubmenuWidths=function(anchor){
if(anchor.parent().hasClass("mega-menu-megamenu")&&anchor.parent().parent().hasClass("max-mega-menu")&&plugin.settings.panel_width){
if(plugin.isDesktopView()){
var submenu_offset=$menu.offset();
var target_offset=$(plugin.settings.panel_width).offset();
if(plugin.settings.panel_width=='100vw'){
target_offset=$('body').offset();
anchor.siblings(".mega-sub-menu").css({
left: (target_offset.left - submenu_offset.left) + "px"
});
}else if($(plugin.settings.panel_width).length > 0){
anchor.siblings(".mega-sub-menu").css({
width: $(plugin.settings.panel_width).outerWidth(),
left: (target_offset.left - submenu_offset.left) + "px"
});
}}else{
anchor.siblings(".mega-sub-menu").css({
width: "",
left: ""
});
}}
if(anchor.parent().hasClass("mega-menu-megamenu")&&anchor.parent().parent().hasClass("max-mega-menu")&&plugin.settings.panel_inner_width&&$(plugin.settings.panel_inner_width).length > 0){
var target_width=0;
if($(plugin.settings.panel_inner_width).length){
target_width=parseInt($(plugin.settings.panel_inner_width).width(), 10);
}else{
target_width=parseInt(plugin.settings.panel_inner_width, 10);
}
anchor.siblings(".mega-sub-menu").css({
"paddingLeft": "",
"paddingRight": ""
});
var submenu_width=parseInt(anchor.siblings(".mega-sub-menu").innerWidth(), 10);
if(plugin.isDesktopView()&&target_width > 0&&target_width < submenu_width){
anchor.siblings(".mega-sub-menu").css({
"paddingLeft": (submenu_width - target_width) / 2 + "px",
"paddingRight": (submenu_width - target_width) / 2 + "px"
});
}}
};
plugin.bindClickEvents=function(){
if($wrap.data('has-click-events')===true){
return;
}
$wrap.data('has-click-events', true);
var dragging=false;
$(document).on({
"touchmove": function(e){ dragging=true; },
"touchstart": function(e){ dragging=false; }});
$(document).on("click touchend", function(e){
if(!dragging&&plugin.settings.document_click==="collapse"&&! $(e.target).closest(".mega-menu-wrap").length){
plugin.hideAllPanels();
plugin.hideMobileMenu();
}
dragging=false;
});
var clickable_parents=$("> a.mega-menu-link", items_with_submenus).add(collapse_children_parents);
clickable_parents.on("touchend.megamenu", function(e){
if(plugin.settings.event==="hover_intent"){
plugin.unbindHoverIntentEvents();
}
if(plugin.settings.event==="hover"){
plugin.unbindHoverEvents();
}});
clickable_parents.on("click.megamenu", function(e){
if($(e.target).hasClass('mega-indicator')){
return;
}
if(plugin.isDesktopView()&&$(this).parent().hasClass("mega-toggle-on")&&$(this).closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
if(plugin.settings.second_click==="go"){
return;
}else{
e.preventDefault();
return;
}}
if(dragging){
return;
}
if(plugin.isMobileView()&&$(this).parent().hasClass("mega-hide-sub-menu-on-mobile")){
return;
}
if((plugin.settings.second_click==="go"||$(this).parent().hasClass("mega-click-click-go"))&&$(this).attr("href")!==undefined){
if(!$(this).parent().hasClass("mega-toggle-on")){
e.preventDefault();
plugin.showPanel($(this));
}}else{
e.preventDefault();
if($(this).parent().hasClass("mega-toggle-on")){
plugin.hidePanel($(this), false);
}else{
plugin.showPanel($(this));
}}
});
if(plugin.settings.second_click==="disabled"){
clickable_parents.off("click.megamenu");
}
$(".mega-close-after-click:not(.mega-menu-item-has-children) > a.mega-menu-link", $menu).on("click", function(){
plugin.hideAllPanels();
plugin.hideMobileMenu();
});
$("button.mega-close", $wrap).on("click", function(e){
plugin.hideMobileMenu();
});
};
plugin.bindHoverEvents=function(){
items_with_submenus.on({
"mouseenter.megamenu":function(){
plugin.unbindClickEvents();
if(! $(this).hasClass("mega-toggle-on")){
plugin.showPanel($(this).children("a.mega-menu-link"));
}},
"mouseleave.megamenu":function(){
if($(this).hasClass("mega-toggle-on")&&! $(this).hasClass("mega-disable-collapse")&&! $(this).parent().parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel($(this).children("a.mega-menu-link"), false);
}}
});
};
plugin.bindHoverIntentEvents=function(){
items_with_submenus.hoverIntent({
over: function (){
plugin.unbindClickEvents();
if(! $(this).hasClass("mega-toggle-on")){
plugin.showPanel($(this).children("a.mega-menu-link"));
}},
out: function (){
if($(this).hasClass("mega-toggle-on")&&! $(this).hasClass("mega-disable-collapse")&&! $(this).parent().parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel($(this).children("a.mega-menu-link"), false);
}},
timeout: plugin.settings.hover_intent_timeout,
interval: plugin.settings.hover_intent_interval
});
};
plugin.bindKeyboardEvents=function(){
var tab_key=9;
var escape_key=27;
var enter_key=13;
var left_arrow_key=37;
var up_arrow_key=38;
var right_arrow_key=39;
var down_arrow_key=40;
var space_key=32;
var isMobileOffCanvasHorizontal=function(){
return plugin.isMobileView()&&(plugin.settings.effect_mobile==='slide_right'||plugin.settings.effect_mobile==='')&&plugin.settings.mobile_direction==='horizontal';
}
var shouldTrapFocusInCurrentSubMenu=function(){
return isMobileOffCanvasHorizontal()&&(keyCode===up_arrow_key||keyCode===down_arrow_key||keyCode===tab_key);
}
$wrap.on("keyup.megamenu", ".max-mega-menu, .mega-menu-toggle", function(e){
var keyCode=e.keyCode||e.which;
var active_link=$(e.target);
if(keyCode===tab_key){
$wrap.addClass("mega-keyboard-navigation");
plugin.bindClickEvents();
}});
$wrap.on("keydown.megamenu", "a.mega-menu-link, .mega-indicator, .mega-menu-toggle-block, .mega-menu-toggle-animated-block button", function(e){
if(! $wrap.hasClass("mega-keyboard-navigation")){
return;
}
var keyCode=e.keyCode||e.which;
var active_link=$(e.target);
if(keyCode===space_key&&active_link.is(".mega-menu-link")){
e.preventDefault();
if(active_link.parent().is(items_with_submenus)){
if(active_link.parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link);
}else{
plugin.showPanel(active_link);
}}
}
if(keyCode===space_key&&active_link.is("mega-indicator")){
e.preventDefault();
if(active_link.parent().parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link.parent());
}else{
plugin.showPanel(active_link.parent());
}}
if(keyCode===escape_key){
var submenu_open=$(".mega-toggle-on", $menu).length!==0;
if(submenu_open){
var focused_menu_item=$menu.find(":focus");
if(focused_menu_item.closest('.mega-menu-flyout.mega-toggle-on').length!==0){
var nearest_parent_of_focused_item_li=focused_menu_item.closest('.mega-toggle-on');
var nearest_parent_of_focused_item_a=$("> a.mega-menu-link", nearest_parent_of_focused_item_li);
plugin.hidePanel(nearest_parent_of_focused_item_a);
nearest_parent_of_focused_item_a.focus();
}
if(focused_menu_item.closest('.mega-menu-megamenu.mega-toggle-on').length!==0){
var nearest_parent_of_focused_item_li=focused_menu_item.closest('.mega-menu-megamenu.mega-toggle-on');
var nearest_parent_of_focused_item_a=$("> a.mega-menu-link", nearest_parent_of_focused_item_li);
plugin.hidePanel(nearest_parent_of_focused_item_a);
nearest_parent_of_focused_item_a.focus();
}}
if(plugin.isMobileView()&&! submenu_open){
plugin.hideMobileMenu();
$(".mega-menu-toggle-block, button.mega-toggle-animated", $toggle_bar).first().focus();
}}
if(keyCode===space_key||keyCode===enter_key){
if(active_link.is(".mega-menu-toggle-block, .mega-menu-toggle-animated-block button")){
e.preventDefault();
if($toggle_bar.hasClass("mega-menu-open")){
plugin.hideMobileMenu();
}else{
plugin.showMobileMenu();
}}
}
if(keyCode===enter_key){
if(active_link.is(".mega-indicator")){
if(active_link.closest("li.mega-menu-item").hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link.parent());
}else{
plugin.showPanel(active_link.parent());
}
return;
}
if(active_link.parent().is(items_with_submenus)){
if(plugin.isMobileView()&&active_link.parent().is(".mega-hide-sub-menu-on-mobile")){
return;
}
if(active_link.is("[href]")===false){
if(active_link.parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
plugin.hidePanel(active_link);
}else{
plugin.showPanel(active_link);
}
return;
}
if(active_link.parent().hasClass("mega-toggle-on")&&! active_link.closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")){
return;
}else{
e.preventDefault();
plugin.showPanel(active_link);
}}
}
if(shouldTrapFocusInCurrentSubMenu()){
var focused_item=$(":focus", $menu);
if(focused_item.length===0){
e.preventDefault();
$("> li.mega-menu-item:visible", $menu).find("> a.mega-menu-link, .mega-search span[role=button]").first().focus();
return;
}
var next_item_to_focus=focused_item.parent().nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
if(next_item_to_focus.length===0&&focused_item.closest(".mega-menu-megamenu").length!==0){
var all_li_parents=focused_item.parentsUntil(".mega-menu-megamenu");
if(focused_item.is(all_li_parents.find("a.mega-menu-link").last())){
next_item_to_focus=all_li_parents.find(".mega-back-button:visible > a.mega-menu-link").first();
}}
if(next_item_to_focus.length===0){
next_item_to_focus=focused_item.parent().prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
}
if(next_item_to_focus.length!==0){
e.preventDefault();
next_item_to_focus.focus();
}}
var shouldGoToNextTopLevelItem=function(){
return(( keyCode===right_arrow_key&&plugin.isDesktopView())||(keyCode===down_arrow_key&&plugin.isMobileView()) )&&$menu.hasClass("mega-menu-horizontal");
}
var shouldGoToPreviousTopLevelItem=function(){
return(( keyCode===left_arrow_key&&plugin.isDesktopView())||(keyCode===up_arrow_key&&plugin.isMobileView()) )&&$menu.hasClass("mega-menu-horizontal");
}
if(shouldGoToNextTopLevelItem()){
e.preventDefault();
var next_top_level_item=$("> .mega-toggle-on", $menu).nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
if(next_top_level_item.length===0){
next_top_level_item=$(":focus", $menu).parent().nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
}
if(next_top_level_item.length===0){
next_top_level_item=$(":focus", $menu).parent().parent().parent().nextAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").first();
}
plugin.hideAllPanels();
next_top_level_item.focus();
}
if(shouldGoToPreviousTopLevelItem()){
e.preventDefault();
var prev_top_level_item=$("> .mega-toggle-on", $menu).prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").last();
if(prev_top_level_item.length===0){
prev_top_level_item=$(":focus", $menu).parent().prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").last();
}
if(prev_top_level_item.length===0){
prev_top_level_item=$(":focus", $menu).parent().parent().parent().prevAll("li.mega-menu-item:visible").find("> a.mega-menu-link, .mega-search span[role=button]").last();
}
plugin.hideAllPanels();
prev_top_level_item.focus();
}});
$wrap.on("focusout.megamenu", function(e){
if($wrap.hasClass("mega-keyboard-navigation")){
setTimeout(function(){
var menu_has_focus=$wrap.find(":focus").length > 0;
if(! menu_has_focus){
$wrap.removeClass("mega-keyboard-navigation");
plugin.hideAllPanels();
plugin.hideMobileMenu();
}}, 10);
}});
};
plugin.unbindAllEvents=function(){
$("ul.mega-sub-menu, li.mega-menu-item, li.mega-menu-row, li.mega-menu-column, a.mega-menu-link, .mega-indicator", $menu).off().unbind();
};
plugin.unbindClickEvents=function(){
if($wrap.hasClass('mega-keyboard-navigation')){
return;
}
$("> a.mega-menu-link", items_with_submenus).not(collapse_children_parents).off("click.megamenu touchend.megamenu");
$wrap.data('has-click-events', false);
};
plugin.unbindHoverEvents=function(){
items_with_submenus.off("mouseenter.megamenu mouseleave.megamenu");
};
plugin.unbindHoverIntentEvents=function(){
items_with_submenus.off("mouseenter mouseleave").removeProp("hoverIntent_t").removeProp("hoverIntent_s");
};
plugin.unbindKeyboardEvents=function(){
$wrap.off("keyup.megamenu keydown.megamenu focusout.megamenu");
};
plugin.unbindMegaMenuEvents=function(){
if(plugin.settings.event==="hover_intent"){
plugin.unbindHoverIntentEvents();
}
if(plugin.settings.event==="hover"){
plugin.unbindHoverEvents();
}
plugin.unbindClickEvents();
plugin.unbindKeyboardEvents();
};
plugin.bindMegaMenuEvents=function(){
plugin.unbindMegaMenuEvents();
if(plugin.isDesktopView()&&plugin.settings.event==="hover_intent"){
plugin.bindHoverIntentEvents();
}
if(plugin.isDesktopView()&&plugin.settings.event==="hover"){
plugin.bindHoverEvents();
}
plugin.bindClickEvents();
plugin.bindKeyboardEvents();
};
plugin.checkWidth=function(){
if(plugin.isMobileView()&&$menu.data("view")==="desktop"){
plugin.switchToMobile();
}
if(plugin.isDesktopView()&&$menu.data("view")==="mobile"){
plugin.switchToDesktop();
}
plugin.calculateDynamicSubmenuWidths($("> li.mega-menu-megamenu > a.mega-menu-link", $menu));
};
plugin.reverseRightAlignedItems=function(){
if(! $("body").hasClass("rtl")&&$menu.hasClass("mega-menu-horizontal")&&$menu.css("display")!=='flex'){
$menu.append($menu.children("li.mega-item-align-right").get().reverse());
}};
plugin.addClearClassesToMobileItems=function(){
$(".mega-menu-row", $menu).each(function(){
$("> .mega-sub-menu > .mega-menu-column:not(.mega-hide-on-mobile)", $(this)).filter(":even").addClass("mega-menu-clear");
});
};
plugin.initDesktop=function(){
$menu.data("view", "desktop");
plugin.bindMegaMenuEvents();
plugin.initIndicators();
};
plugin.initMobile=function(){
plugin.switchToMobile();
};
plugin.switchToDesktop=function(){
$menu.data("view", "desktop");
plugin.bindMegaMenuEvents();
plugin.reverseRightAlignedItems();
plugin.hideAllPanels();
plugin.hideMobileMenu(true);
};
plugin.switchToMobile=function(){
$menu.data("view", "mobile");
plugin.bindMegaMenuEvents();
plugin.initIndicators();
plugin.reverseRightAlignedItems();
plugin.addClearClassesToMobileItems();
plugin.hideAllPanels();
plugin.expandMobileSubMenus();
};
plugin.initToggleBar=function(){
$toggle_bar.on("click", function(e){
if($(e.target).is(".mega-menu-toggle, .mega-menu-toggle-custom-block *, .mega-menu-toggle-block, .mega-menu-toggle-animated-block, .mega-menu-toggle-animated-block *, .mega-toggle-blocks-left, .mega-toggle-blocks-center, .mega-toggle-blocks-right, .mega-toggle-label, .mega-toggle-label span")){
e.preventDefault();
if($(this).hasClass("mega-menu-open")){
plugin.hideMobileMenu();
}else{
plugin.showMobileMenu();
}}
});
};
plugin.initIndicators=function(){
$menu.off('click.megamenu', '.mega-indicator');
$menu.on('click.megamenu', '.mega-indicator', function(e){
e.preventDefault();
e.stopPropagation();
if($(this).closest(".mega-menu-item").hasClass("mega-toggle-on")){
if(! $(this).closest("ul.mega-sub-menu").parent().hasClass("mega-menu-tabbed")||plugin.isMobileView()){
plugin.hidePanel($(this).parent(), false);
}}else{
plugin.showPanel($(this).parent(), false);
}});
};
plugin.hideMobileMenu=function(force){
force=force||false;
if(! $toggle_bar.is(":visible")&&! force){
return;
}
html_body_class_timeout=setTimeout(function(){
$("body").removeClass($menu.attr("id") + "-mobile-open");
$("html").removeClass($menu.attr("id") + "-off-canvas-open");
}, plugin.settings.effect_speed_mobile);
$(".mega-toggle-label, .mega-toggle-animated", $toggle_bar).attr("aria-expanded", "false");
if(plugin.settings.effect_mobile==="slide"&&! force){
$menu.animate({"height":"hide"}, plugin.settings.effect_speed_mobile, function(){
$menu.css({
width: "",
left: "",
display: ""
});
$toggle_bar.removeClass("mega-menu-open");
});
}else{
$menu.css({
width: "",
left: "",
display: ""
});
$toggle_bar.removeClass("mega-menu-open");
}
$menu.triggerHandler("mmm:hideMobileMenu");
};
plugin.showMobileMenu=function(){
if(! $toggle_bar.is(":visible")){
return;
}
clearTimeout(html_body_class_timeout);
$("body").addClass($menu.attr("id") + "-mobile-open");
plugin.expandMobileSubMenus();
if(plugin.settings.effect_mobile==="slide_left"||plugin.settings.effect_mobile==="slide_right"){
$("html").addClass($menu.attr("id") + "-off-canvas-open");
}
$(".mega-toggle-label, .mega-toggle-animated", $toggle_bar).attr("aria-expanded", "true");
if(plugin.settings.effect_mobile==="slide"){
$menu.animate({"height":"show"}, plugin.settings.effect_speed_mobile, function(){
$(this).css("display", "");
});
}
$toggle_bar.addClass("mega-menu-open");
plugin.toggleBarForceWidth();
$menu.triggerHandler("mmm:showMobileMenu");
};
plugin.toggleBarForceWidth=function(){
if($(plugin.settings.mobile_force_width).length&&(plugin.settings.effect_mobile==="slide"||plugin.settings.effect_mobile==="disabled") ){
var submenu_offset=$toggle_bar.offset();
var target_offset=$(plugin.settings.mobile_force_width).offset();
$menu.css({
width: $(plugin.settings.mobile_force_width).outerWidth(),
left: (target_offset.left - submenu_offset.left) + "px"
});
}};
plugin.init=function(){
$menu.triggerHandler("before_mega_menu_init");
plugin.settings=$.extend({}, defaults, options);
$menu.removeClass("mega-no-js");
plugin.initToggleBar();
if(plugin.settings.unbind_events==="true"){
plugin.unbindAllEvents();
}
$(window).on("load", function(){
plugin.calculateDynamicSubmenuWidths($("> li.mega-menu-megamenu > a.mega-menu-link", $menu));
});
if(plugin.isDesktopView()){
plugin.initDesktop();
}else{
plugin.initMobile();
}
$(window).on("resize", function(){
plugin.checkWidth();
});
$menu.triggerHandler("after_mega_menu_init");
};
plugin.init();
};
$.fn.maxmegamenu=function(options){
return this.each(function(){
if(undefined===$(this).data("maxmegamenu")){
var plugin=new $.maxmegamenu(this, options);
$(this).data("maxmegamenu", plugin);
}});
};
$(function(){
$(".max-mega-menu").maxmegamenu();
});
}(jQuery));
(function($){
"use strict";
$(function(){
$('body').on('edd_cart_item_added', function(event, data){
$('.mega-menu-edd-cart-total').html(data.total);
$('.mega-menu-edd-cart-count').html(data.cart_quantity);
});
});
$(".max-mega-menu").on("after_mega_menu_init", function(){
$('li.mega-menu-megamenu').on('open_panel', function(){
var placeholder=$(this).closest(".mega-menu-megamenu").find(".widget_maxmegamenu_image_swap img.mega-placeholder");
var default_src=placeholder.attr('data-default-src');
var default_alt=placeholder.attr('data-default-alt');
placeholder.attr('src', default_src);
placeholder.attr('alt', default_alt);
$('.mega-sub-menu [data-image-swap-url]', $(this)).not(['data-preloaded']).each(function(){
$('<img/>')[0].src=$(this).attr('data-image-swap-url');
$(this).attr('data-preloaded', 'true');
});
});
if(typeof $.fn.hoverIntent!=="function"){
return;
}
$('.mega-sub-menu [data-image-swap-url]').hoverIntent({
over: function (){
var placeholder=$(this).closest(".mega-menu-megamenu").find(".widget_maxmegamenu_image_swap img.mega-placeholder");
var new_src=$(this).attr('data-image-swap-url');
var new_alt=$(this).is("[data-image-swap-alt]") ? $(this).attr('data-image-swap-alt'):"";
placeholder.attr('src', new_src);
placeholder.attr('alt', new_alt);
},
out: function(){}});
});
})(jQuery);
(function($){
"use strict";
$.maxmegamenu_searchbox=function(form, options){
var plugin=this;
var form=$(form);
var $menu=form.parents('.max-mega-menu');
var $wrap=$menu.parent();
var breakpoint=$menu.attr('data-breakpoint');
var input=$('input[type=text]', form);
var icon=$('.search-icon', form);
plugin.isDesktopView=function(){
return Math.max(window.outerWidth, $(window).width()) >=breakpoint;
};
plugin.monitorView=function(){
if(typeof $menu.data("view")==='undefined'){
if(plugin.isDesktopView()){
$menu.data("view", "desktop");
}else{
$menu.data("view", "mobile");
}}
plugin.checkWidth();
$(window).on('resize', function(){
plugin.checkWidth();
});
};
plugin.checkWidth=function(){
var expanding_search=$("li.mega-menu-item .mega-search.expand-to-left input[type=text], li.mega-menu-item .mega-search.expand-to-right input[type=text]", $menu);
if($menu.data("view")==="mobile"){
var placeholder=expanding_search.attr('data-placeholder');
expanding_search.attr('placeholder', placeholder);
}
if($menu.data("view")==="desktop"){
expanding_search.attr('placeholder', '');
}};
plugin.close_search=function(moveFocus=true){
$menu.triggerHandler("mmm:closeSearch");
input.val("");
input.attr('placeholder', '');
input.attr('tabindex', '-1');
form.removeClass('mega-search-open');
form.addClass('mega-search-closed');
icon.attr('aria-expanded', 'false');
if(moveFocus){
icon.trigger("focus");
}}
plugin.open_search=function(){
$menu.triggerHandler("mmm:openSearch");
input.attr('placeholder', input.attr('data-placeholder'));
input.attr('tabindex', '0');
form.removeClass('mega-search-closed');
form.addClass('mega-search-open');
icon.attr('aria-expanded', 'true');
input.trigger("focus");
}
plugin.detect_background_click=function(){
var dragging=false;
$(document).on({
"touchmove": function(e){ dragging=true; },
"touchstart": function(e){ dragging=false; }});
$(document).on("click touchend", function(e){
if(form.parent().hasClass('mega-static')){
return;
}
if(! dragging&&! $(e.target).closest(".max-mega-menu li").length&&! $(e.target).closest(".mega-menu-toggle").length){
plugin.close_search(false);
}
dragging=false;
});
}
plugin.init_replacements_search=function(){
if($menu.data("view")==="mobile"){
input.attr('tabindex', '0');
$(".search-icon", $menu).on('click', function(e){
$(this).parents(".mega-search").submit();
});
}
if($menu.data("view")==="desktop"){
input.on('blur', function(e){
if($menu.parent().hasClass("mega-keyboard-navigation")&&input.val()==''&&! form.parent().hasClass('mega-static')&&form.hasClass('mega-search-open')){
plugin.close_search();
}});
icon.on('keypress click', function(e){
var enter_key=13;
var space_key=32;
if(e.which===enter_key||e.which===space_key||e.type==='click'){
e.preventDefault();
if(form.parent().hasClass('mega-static')){
form.submit();
return;
}
if(input.val()!=''){
form.submit();
return;
}
if(form.hasClass('mega-search-open')){
plugin.close_search();
return;
}
if(form.hasClass('mega-search-closed')){
plugin.open_search();
return;
}};});
icon.on('blur', function(){
if(! form.parent().hasClass('mega-static')&&form.hasClass('mega-search-open')&&$wrap.hasClass('mega-keyboard-navigation')){
setTimeout(function(){
if(form.find(":focus").length==0){
plugin.close_search(false);
}}, 100);
}});
$menu.on('keydown', function(e){
var escape_key=27;
if(e.which===escape_key){
if(! form.parent().hasClass('mega-static')&&form.hasClass('mega-search-open')){
plugin.close_search();
return;
}}
});
}};
plugin.monitorView();
plugin.init_replacements_search();
plugin.detect_background_click();
};
$.fn.maxmegamenu_searchbox=function(options){
return this.each(function(){
if(undefined===$(this).data('maxmegamenu_searchbox')){
var plugin=new $.maxmegamenu_searchbox(this, options);
$(this).data('maxmegamenu_searchbox', plugin);
}});
};
$(".max-mega-menu").on("after_mega_menu_init", function(){
$(".mega-search", this).maxmegamenu_searchbox();
});
})(jQuery);
(function($){
"use strict";
$.maxmegamenu_toggle_searchbox=function(form, options){
var plugin=this;
var form=$(form);
var $wrap=form.parents('.mega-menu-wrap');
var input=$("input[type=text]", form);
var icon=$(".search-icon", form);
plugin.open_search=function(){
input.attr('placeholder', input.attr('data-placeholder'));
form.removeClass('mega-search-closed');
form.addClass('mega-search-open');
}
plugin.close_search=function(){
input.attr('placeholder', '');
form.removeClass('mega-search-open');
form.addClass('mega-search-closed');
}
plugin.init_toggle_search=function(){
input.val("");
input.on('focus', function(e){
if(! form.parent().hasClass('mega-static')&&form.hasClass('mega-search-closed')&&$wrap.hasClass('mega-keyboard-navigation')){
plugin.open_search();
}});
input.on('blur', function(e){
if(! form.parent().hasClass('mega-static')&&form.hasClass('mega-search-open')&&$wrap.hasClass('mega-keyboard-navigation')){
plugin.close_search();
}});
icon.on('click', function(e){
if(form.hasClass('static')){
if(input.attr('required')=='required'&&input.val()==""){
return;
}else{
form.submit();
}}else if(form.hasClass('mega-search-closed')){
input.focus();
plugin.open_search();
}else if(input.val()==''){
plugin.close_search();
}else{
form.submit();
}});
};
plugin.init_toggle_search();
};
$.fn.maxmegamenu_toggle_searchbox=function(options){
return this.each(function(){
if(undefined===$(this).data('maxmegamenu_toggle_searchbox')){
var plugin=new $.maxmegamenu_toggle_searchbox(this, options);
$(this).data('maxmegamenu_toggle_searchbox', plugin);
}});
};
$(function(){
$(".mega-menu-toggle .mega-search").maxmegamenu_toggle_searchbox();
});
})(jQuery);
(function($){
"use strict";
$.maxmegamenu_sticky=function(menu, options){
var plugin=this;
var $menu=$(menu);
var $wrap=$menu.parent();
var breakpoint=$menu.attr('data-breakpoint');
var sticky_on_mobile=$menu.attr('data-sticky-mobile');
var sticky_on_desktop=$menu.attr('data-sticky-desktop');
var sticky_expand=$menu.attr('data-sticky-expand');
var sticky_expand_mobile=$menu.attr('data-sticky-expand-mobile');
var sticky_offset=isNaN(parseInt($menu.attr('data-sticky-offset'))) ? 0:parseInt($menu.attr('data-sticky-offset'));
var sticky_hide_until_scroll_up=$menu.attr('data-sticky-hide');
var sticky_hide_until_scroll_up_tolerance=isNaN(parseInt($menu.attr('data-sticky-hide-tolerance'))) ? 0:parseInt($menu.attr('data-sticky-hide-tolerance'));
var sticky_hide_until_scroll_up_offset=isNaN(parseInt($menu.attr('data-sticky-hide-offset'))) ? 0:parseInt($menu.attr('data-sticky-hide-offset'));
var sticky_transition=$menu.attr('data-sticky-transition');
var sticky_menu_offset_top;
var sticky_menu_offset_left;
var sticky_menu_width;
var sticky_menu_width_round_up;
var sticky_menu_height;
var is_stuck=false;
var admin_bar_height=0;
var last_scroll_top=0;
var saved_scroll_top=0;
var is_vertical=$menu.hasClass('mega-menu-vertical')||$menu.hasClass('mega-menu-accordion');
plugin.isDesktopView=function(){
var width=Math.max(document.documentElement.clientWidth||0, window.innerWidth||0);
return width > breakpoint;
};
var sticky_hide_until_scroll_up_enabled=function(){
return $menu.hasClass('mega-menu-horizontal')&&sticky_hide_until_scroll_up=="true";
}
var sticky_enabled=function(){
if(plugin.isDesktopView()){
return sticky_on_desktop==='true';
}else{
return sticky_on_mobile==='true';
}
return false;
};
plugin.calculate_menu_position=function(){
sticky_menu_offset_top=$wrap.offset().top;
if($('body').hasClass('admin-bar')&&$("#wpadminbar").is(":visible")&&$("#wpadminbar").css('top')=='0px'&&$("#wpadminbar").css('position')=='fixed'){
admin_bar_height=$('#wpadminbar').height();
sticky_menu_offset_top=sticky_menu_offset_top - admin_bar_height;
}
if(sticky_offset < 0){
sticky_menu_offset_top=sticky_menu_offset_top + sticky_offset;
}else{
sticky_menu_offset_top=sticky_menu_offset_top - sticky_offset;
}
sticky_menu_offset_left=$menu.parent().offset().left;
sticky_menu_width=window.getComputedStyle($wrap[0]).width;
sticky_menu_width_round_up=Math.ceil(parseFloat(sticky_menu_width));
sticky_menu_height=$wrap.height();
};
plugin.stick_menu=function(){
is_stuck=true;
var total_offset=parseInt(admin_bar_height, 10) + parseInt(sticky_offset, 10);
if(sticky_offset < 0){
total_offset=parseInt(admin_bar_height, 10);
}
var placeholder=$("<div />").addClass("mega-sticky-wrapper").css({
'height':sticky_menu_height + 'px',
'position' :'static'
});
$wrap.addClass('mega-sticky').wrap(placeholder).css({
'margin-top':total_offset + 'px'
});
$("body").addClass($menu.attr("id") + "-mega-sticky");
$menu.css({
'max-width':sticky_menu_width_round_up + 'px'
});
if(sticky_menu_offset_left > 0){
$menu.css({
'margin-left':sticky_menu_offset_left + 'px'
});
}
if(is_vertical||sticky_expand==='false'){
$wrap.css({
'margin-left':'0',
'margin-right':'0',
'width':sticky_menu_width_round_up + 'px',
'left':sticky_menu_offset_left + 'px'
});
$menu.css({
'margin-left':'0'
});
}
if($(window).width() <=breakpoint){
$wrap.css({
'width':sticky_menu_width_round_up + 'px'
});
if(sticky_expand_mobile==='true'){
$wrap.css({
'margin-left':'',
'margin-right':'',
'width':'',
'left':''
});
$menu.css({
'max-width':'',
'margin-left':'',
'width':'',
'left':''
});
}}
$wrap.delay(0).queue(function(next){
$(this).addClass('mega-stuck');
next();
});
};
plugin.unstick_menu=function(doing_resize){
doing_resize=doing_resize||false;
is_stuck=false;
$wrap.removeClass('mega-sticky').removeClass('mega-hide').css({
'margin':'',
'width':'',
'left': ''
});
$("body").removeClass($menu.attr("id") + "-mega-sticky");
if(! doing_resize){
$wrap.delay(0).queue(function(next){
$(this).removeClass('mega-stuck');
next();
});
}
$menu.css({
'margin-left':'',
'max-width':'',
'left':'',
'width':''
});
if($(window).width() <=breakpoint){
$menu.data('maxmegamenu').toggleBarForceWidth();
}
if(sticky_transition=='true'&&! doing_resize){
var delay=250;
}else{
var delay=0;
}
$wrap.delay(delay).queue(function(next){
$(this).unwrap();
next();
});
};
plugin.mega_sticky_on_scroll=function(){
if(! sticky_enabled()){
return;
}
var scroll_top=$(window).scrollTop();
if(scroll_top > sticky_menu_offset_top){
if(!is_stuck){
plugin.stick_menu();
}}else{
if(is_stuck){
plugin.unstick_menu();
}}
};
var mega_hide_on_scroll_up=function(){
if(sticky_hide_until_scroll_up_enabled()){
if($menu.data("view")==="mobile"&&$('.mega-menu-toggle', $wrap).hasClass('mega-menu-open')){
return;
}
var scroll_top=$(window).scrollTop();
if(scroll_top < sticky_hide_until_scroll_up_offset){
$wrap.removeClass('mega-hide');
$("body").removeClass($menu.attr("id") + "-mega-hide");
}
saved_scroll_top=last_scroll_top;
if(scroll_top < last_scroll_top){
if(saved_scroll_top - scroll_top > sticky_hide_until_scroll_up_tolerance){
$wrap.removeClass('mega-hide');
$("body").removeClass($menu.attr("id") + "-mega-hide");
}}else{
if(is_stuck&&scroll_top - saved_scroll_top > sticky_hide_until_scroll_up_tolerance){
$wrap.addClass('mega-hide');
$("body").addClass($menu.attr("id") + "-mega-hide");
}}
last_scroll_top=scroll_top;
}}
plugin.mega_sticky_on_resize=function(){
if($('input', $wrap).is(':focus')){
return;
}
if(sticky_enabled()){
if(is_stuck){
plugin.unstick_menu(true);
plugin.calculate_menu_position();
plugin.stick_menu();
}else{
plugin.calculate_menu_position();
plugin.mega_sticky_on_scroll();
}}else{
if(is_stuck){
plugin.unstick_menu();
}}
};
plugin.init=function(){
plugin.calculate_menu_position();
plugin.mega_sticky_on_scroll();
$('.mega-menu-accordion li.mega-menu-item').on('open_panel', function(){
plugin.calculate_menu_position();
});
var $window=$(window);
$window.scroll(function(){
plugin.mega_sticky_on_scroll();
mega_hide_on_scroll_up();
});
var windowWidth=$window.width();
var resizeTimer;
$window.on('resize', function(){
clearTimeout(resizeTimer);
resizeTimer=setTimeout(function(){
windowWidth=$window.width();
plugin.mega_sticky_on_resize();
}, 100);
});
};
plugin.init();
};
$.fn.maxmegamenu_sticky=function(options){
return this.each(function(){
if(undefined===$(this).data('maxmegamenu_sticky')){
var plugin=new $.maxmegamenu_sticky(this, options);
$(this).data('maxmegamenu_sticky', plugin);
}});
};
$(window).on('load', function (e){
$(".max-mega-menu[data-sticky-enabled]").maxmegamenu_sticky();
});
})(jQuery);
(function($){
$(function(){
var calculate_tabbed_sub_menu_widths=function(menu_item){
var menu=menu_item.parents('.max-mega-menu');
if($(menu.attr('data-panel-inner-width')).length > 0){
if(menu.data("view")==="desktop"){
$('> ul.mega-sub-menu', menu_item).each(function(){
var tab_content=$(this);
var parent_submenu_content_width=parseInt(tab_content.width());
var parent_submenu_left_padding=parseInt(tab_content.css('paddingLeft'));
var tabs_width=$(this).find('a.mega-menu-link').first().outerWidth();
$('> li.mega-menu-item > ul.mega-sub-menu', $(this)).each(function(){
$(this).css('width', parent_submenu_content_width - tabs_width + 'px');
$(this).css('left', parent_submenu_left_padding + tabs_width + 'px');
});
});
}else{
$('> ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu', menu_item).each(function(){
$(this).css('width', '');
$(this).css('left', '');
});
}}
}
var calculate_tabbed_sub_menu_heights=function(menu_item){
var menu=menu_item.parents('.max-mega-menu');
var max_height=0;
if(menu.data("view")==="desktop"){
$('> ul.mega-sub-menu', menu_item).css('minHeight', '');
$('> ul.mega-sub-menu > li.mega-menu-item > ul.mega-sub-menu', menu_item).each(function(){
var tab_content=$(this);
var this_height=parseInt(tab_content.css('height'));
if(this_height > max_height){
max_height=this_height;
}});
var border_top_width=parseInt($('> ul.mega-sub-menu', menu_item).css('borderTopWidth'),10);
var border_bottom_width=parseInt($('> ul.mega-sub-menu', menu_item).css('borderBottomWidth'),10);
$('> ul.mega-sub-menu', menu_item).css('minHeight', max_height + border_bottom_width + border_top_width);
}else{
$('> ul.mega-sub-menu', menu_item).css('minHeight', '');
}}
var $window=$(window);
var windowWidth=$window.width();
$window.on('resize', function(){
if($window.width()!=windowWidth){
calculate_tabbed_sub_menu_widths($('li.mega-menu-tabbed'));
calculate_tabbed_sub_menu_heights($('li.mega-menu-tabbed'));
}});
$('li.mega-menu-tabbed, li.mega-menu-tabbed li.mega-collapse-children').on('open_panel', function(){
var menu=$(this).parents('.max-mega-menu');
var menu_item=$(this).closest(".mega-menu-tabbed");
calculate_tabbed_sub_menu_widths(menu_item);
$("> ul.mega-sub-menu", $(this)).promise().done(function(){
calculate_tabbed_sub_menu_heights(menu_item);
});
if(menu.data('view')=='desktop'){
if($('> ul.mega-sub-menu > li.mega-menu-item-has-children.mega-toggle-on', menu_item).length==0){
if($('> ul.mega-sub-menu > li.mega-current-menu-item:visible', menu_item).length){
$('> ul.mega-sub-menu > li.mega-current-menu-item:visible', menu_item).first().addClass('mega-toggle-on');
}else if($('> ul.mega-sub-menu > li.mega-current-menu-ancestor:visible', menu_item).length){
$('> ul.mega-sub-menu > li.mega-current-menu-ancestor:visible', menu_item).first().addClass('mega-toggle-on');
}
if($('> ul.mega-sub-menu > li.mega-toggle-on', menu_item).length==0){
$('> ul.mega-sub-menu > li.mega-menu-item-has-children:visible', menu_item).first().addClass('mega-toggle-on');
}}
$('li.mega-menu-tabbed', menu).on('close_panel', function(){
$('li.mega-menu-tabbed .mega-toggle-on', menu).removeClass('mega-toggle-on');
});
}
$('li.mega-menu-tabbed li.mega-collapse-children').on('close_panel', function(){
var menu_item=$(this).closest('.mega-menu-tabbed');
$("> ul.mega-sub-menu", $(this)).promise().done(function(){
calculate_tabbed_sub_menu_heights(menu_item);
});
});
});
});
})(jQuery);
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../disable-selection","../plugin","../version","../widget"],t):t(jQuery)}(function(z){"use strict";return z.widget("ui.resizable",z.ui.mouse,{version:"1.13.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(t,i){if("hidden"===z(t).css("overflow"))return!1;var i=i&&"left"===i?"scrollLeft":"scrollTop",e=!1;if(0<t[i])return!0;try{t[i]=1,e=0<t[i],t[i]=0}catch(t){}return e},_create:function(){var t,i=this.options,e=this;this._addClass("ui-resizable"),z.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(z("<div class='ui-wrapper'></div>").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),i.autoHide&&z(this.element).on("mouseenter",function(){i.disabled||(e._removeClass("ui-resizable-autohide"),e._handles.show())}).on("mouseleave",function(){i.disabled||e.resizing||(e._addClass("ui-resizable-autohide"),e._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){z(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var i;return this.elementIsWrapper&&(t(this.element),i=this.element,this.originalElement.css({position:i.css("position"),width:i.outerWidth(),height:i.outerHeight(),top:i.css("top"),left:i.css("left")}).insertAfter(i),i.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,i){switch(this._super(t,i),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!i}},_setupHandles:function(){var t,i,e,s,h,n=this.options,o=this;if(this.handles=n.handles||(z(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=z(),this._addedHandles=z(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},i=0;i<e.length;i++)s="ui-resizable-"+(t=String.prototype.trim.call(e[i])),h=z("<div>"),this._addClass(h,"ui-resizable-handle "+s),h.css({zIndex:n.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(h),this._addedHandles=this._addedHandles.add(h));this._renderAxis=function(t){var i,e,s;for(i in t=t||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=z(this.handles[i]),this._on(this.handles[i],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=z(this.handles[i],this.element),s=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),e=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(e,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){o.resizing||(this.className&&(h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=h&&h[1]?h[1]:"se")}),n.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var i,e,s=!1;for(i in this.handles)(e=z(this.handles[i])[0])!==t.target&&!z.contains(e,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var i,e,s=this.options,h=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),e=this._num(this.helper.css("top")),s.containment&&(i+=z(s.containment).scrollLeft()||0,e+=z(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:e},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalPosition={left:i,top:e},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,h=z(".ui-resizable-"+this.axis).css("cursor"),z("body").css("cursor","auto"===h?this.axis+"-resize":h),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i=this.originalMousePosition,e=this.axis,s=t.pageX-i.left||0,i=t.pageY-i.top||0,e=this._change[e];return this._updatePrevProperties(),e&&(e=e.apply(this,[t,s,i]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),z.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var i,e,s,h=this.options,n=this;return this._helper&&(e=(i=(e=this._proportionallyResizeElements).length&&/textarea/i.test(e[0].nodeName))&&this._hasScroll(e[0],"left")?0:n.sizeDiff.height,i=i?0:n.sizeDiff.width,i={width:n.helper.width()-i,height:n.helper.height()-e},e=parseFloat(n.element.css("left"))+(n.position.left-n.originalPosition.left)||null,s=parseFloat(n.element.css("top"))+(n.position.top-n.originalPosition.top)||null,h.animate||this.element.css(z.extend(i,{top:s,left:e})),n.helper.height(n.size.height),n.helper.width(n.size.width),this._helper)&&!h.animate&&this._proportionallyResize(),z("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.helper.css(t),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px",this.helper.width(t.width)),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px",this.helper.height(t.height)),t},_updateVirtualBoundaries:function(t){var i,e,s,h=this.options,h={minWidth:this._isNumber(h.minWidth)?h.minWidth:0,maxWidth:this._isNumber(h.maxWidth)?h.maxWidth:1/0,minHeight:this._isNumber(h.minHeight)?h.minHeight:0,maxHeight:this._isNumber(h.maxHeight)?h.maxHeight:1/0};(this._aspectRatio||t)&&(t=h.minHeight*this.aspectRatio,e=h.minWidth/this.aspectRatio,i=h.maxHeight*this.aspectRatio,s=h.maxWidth/this.aspectRatio,h.minWidth<t&&(h.minWidth=t),h.minHeight<e&&(h.minHeight=e),i<h.maxWidth&&(h.maxWidth=i),s<h.maxHeight)&&(h.maxHeight=s),this._vBoundaries=h},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var i=this.position,e=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=i.left+(e.width-t.width),t.top=null),"nw"===s&&(t.top=i.top+(e.height-t.height),t.left=i.left+(e.width-t.width)),t},_respectSize:function(t){var i=this._vBoundaries,e=this.axis,s=this._isNumber(t.width)&&i.maxWidth&&i.maxWidth<t.width,h=this._isNumber(t.height)&&i.maxHeight&&i.maxHeight<t.height,n=this._isNumber(t.width)&&i.minWidth&&i.minWidth>t.width,o=this._isNumber(t.height)&&i.minHeight&&i.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,r=/sw|nw|w/.test(e),e=/nw|ne|n/.test(e);return n&&(t.width=i.minWidth),o&&(t.height=i.minHeight),s&&(t.width=i.maxWidth),h&&(t.height=i.maxHeight),n&&r&&(t.left=a-i.minWidth),s&&r&&(t.left=a-i.maxWidth),o&&e&&(t.top=l-i.minHeight),h&&e&&(t.top=l-i.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var i=0,e=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],h=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];i<4;i++)e[i]=parseFloat(s[i])||0,e[i]+=parseFloat(h[i])||0;return{height:e[0]+e[2],width:e[1]+e[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,i=0,e=this.helper||this.element;i<this._proportionallyResizeElements.length;i++)t=this._proportionallyResizeElements[i],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:e.height()-this.outerDimensions.height||0,width:e.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||z("<div></div>").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,i){return{width:this.originalSize.width+i}},w:function(t,i){var e=this.originalSize;return{left:this.originalPosition.left+i,width:e.width-i}},n:function(t,i,e){var s=this.originalSize;return{top:this.originalPosition.top+e,height:s.height-e}},s:function(t,i,e){return{height:this.originalSize.height+e}},se:function(t,i,e){return z.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,e]))},sw:function(t,i,e){return z.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,e]))},ne:function(t,i,e){return z.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,e]))},nw:function(t,i,e){return z.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,e]))}},_propagate:function(t,i){z.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),z.ui.plugin.add("resizable","animate",{stop:function(i){var e=z(this).resizable("instance"),t=e.options,s=e._proportionallyResizeElements,h=s.length&&/textarea/i.test(s[0].nodeName),n=h&&e._hasScroll(s[0],"left")?0:e.sizeDiff.height,h=h?0:e.sizeDiff.width,h={width:e.size.width-h,height:e.size.height-n},n=parseFloat(e.element.css("left"))+(e.position.left-e.originalPosition.left)||null,o=parseFloat(e.element.css("top"))+(e.position.top-e.originalPosition.top)||null;e.element.animate(z.extend(h,o&&n?{top:o,left:n}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(e.element.css("width")),height:parseFloat(e.element.css("height")),top:parseFloat(e.element.css("top")),left:parseFloat(e.element.css("left"))};s&&s.length&&z(s[0]).css({width:t.width,height:t.height}),e._updateCache(t),e._propagate("resize",i)}})}}),z.ui.plugin.add("resizable","containment",{start:function(){var e,s,t,i,h=z(this).resizable("instance"),n=h.options,o=h.element,n=n.containment,o=n instanceof z?n.get(0):/parent/.test(n)?o.parent().get(0):n;o&&(h.containerElement=z(o),/document/.test(n)||n===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:z(document),left:0,top:0,width:z(document).width(),height:z(document).height()||document.body.parentNode.scrollHeight}):(e=z(o),s=[],z(["Top","Right","Left","Bottom"]).each(function(t,i){s[t]=h._num(e.css("padding"+i))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-s[3],width:e.innerWidth()-s[1]},n=h.containerOffset,i=h.containerSize.height,t=h.containerSize.width,t=h._hasScroll(o,"left")?o.scrollWidth:t,i=h._hasScroll(o)?o.scrollHeight:i,h.parentData={element:o,left:n.left,top:n.top,width:t,height:i}))},resize:function(t){var i=z(this).resizable("instance"),e=i.options,s=i.containerOffset,h=i.position,t=i._aspectRatio||t.shiftKey,n={top:0,left:0},o=i.containerElement,a=!0;o[0]!==document&&/static/.test(o.css("position"))&&(n=s),h.left<(i._helper?s.left:0)&&(i.size.width=i.size.width+(i._helper?i.position.left-s.left:i.position.left-n.left),t&&(i.size.height=i.size.width/i.aspectRatio,a=!1),i.position.left=e.helper?s.left:0),h.top<(i._helper?s.top:0)&&(i.size.height=i.size.height+(i._helper?i.position.top-s.top:i.position.top),t&&(i.size.width=i.size.height*i.aspectRatio,a=!1),i.position.top=i._helper?s.top:0),o=i.containerElement.get(0)===i.element.parent().get(0),e=/relative|absolute/.test(i.containerElement.css("position")),o&&e?(i.offset.left=i.parentData.left+i.position.left,i.offset.top=i.parentData.top+i.position.top):(i.offset.left=i.element.offset().left,i.offset.top=i.element.offset().top),h=Math.abs(i.sizeDiff.width+(i._helper?i.offset.left-n.left:i.offset.left-s.left)),o=Math.abs(i.sizeDiff.height+(i._helper?i.offset.top-n.top:i.offset.top-s.top)),h+i.size.width>=i.parentData.width&&(i.size.width=i.parentData.width-h,t)&&(i.size.height=i.size.width/i.aspectRatio,a=!1),o+i.size.height>=i.parentData.height&&(i.size.height=i.parentData.height-o,t)&&(i.size.width=i.size.height*i.aspectRatio,a=!1),a||(i.position.left=i.prevPosition.left,i.position.top=i.prevPosition.top,i.size.width=i.prevSize.width,i.size.height=i.prevSize.height)},stop:function(){var t=z(this).resizable("instance"),i=t.options,e=t.containerOffset,s=t.containerPosition,h=t.containerElement,n=z(t.helper),o=n.offset(),a=n.outerWidth()-t.sizeDiff.width,n=n.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(h.css("position"))&&z(this).css({left:o.left-s.left-e.left,width:a,height:n}),t._helper&&!i.animate&&/static/.test(h.css("position"))&&z(this).css({left:o.left-s.left-e.left,width:a,height:n})}}),z.ui.plugin.add("resizable","alsoResize",{start:function(){var t=z(this).resizable("instance").options;z(t.alsoResize).each(function(){var t=z(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.css("width")),height:parseFloat(t.css("height")),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,e){var i=z(this).resizable("instance"),s=i.options,h=i.originalSize,n=i.originalPosition,o={height:i.size.height-h.height||0,width:i.size.width-h.width||0,top:i.position.top-n.top||0,left:i.position.left-n.left||0};z(s.alsoResize).each(function(){var t=z(this),s=z(this).data("ui-resizable-alsoresize"),h={},i=t.parents(e.originalElement[0]).length?["width","height"]:["width","height","top","left"];z.each(i,function(t,i){var e=(s[i]||0)+(o[i]||0);e&&0<=e&&(h[i]=e||null)}),t.css(h)})},stop:function(){z(this).removeData("ui-resizable-alsoresize")}}),z.ui.plugin.add("resizable","ghost",{start:function(){var t=z(this).resizable("instance"),i=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==z.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=z(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=z(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),z.ui.plugin.add("resizable","grid",{resize:function(){var t,i=z(this).resizable("instance"),e=i.options,s=i.size,h=i.originalSize,n=i.originalPosition,o=i.axis,a="number"==typeof e.grid?[e.grid,e.grid]:e.grid,l=a[0]||1,r=a[1]||1,p=Math.round((s.width-h.width)/l)*l,s=Math.round((s.height-h.height)/r)*r,d=h.width+p,g=h.height+s,u=e.maxWidth&&e.maxWidth<d,c=e.maxHeight&&e.maxHeight<g,f=e.minWidth&&e.minWidth>d,m=e.minHeight&&e.minHeight>g;e.grid=a,f&&(d+=l),m&&(g+=r),u&&(d-=l),c&&(g-=r),/^(se|s|e)$/.test(o)?(i.size.width=d,i.size.height=g):/^(ne)$/.test(o)?(i.size.width=d,i.size.height=g,i.position.top=n.top-s):/^(sw)$/.test(o)?(i.size.width=d,i.size.height=g,i.position.left=n.left-p):((g-r<=0||d-l<=0)&&(t=i._getPaddingPlusBorderDimensions(this)),0<g-r?(i.size.height=g,i.position.top=n.top-s):(g=r-t.height,i.size.height=g,i.position.top=n.top+h.height-g),0<d-l?(i.size.width=d,i.position.left=n.left-p):(d=l-t.width,i.size.width=d,i.position.left=n.left+h.width-d))}}),z.ui.resizable});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../data","../plugin","../safe-active-element","../safe-blur","../scroll-parent","../version","../widget"],t):t(jQuery)}(function(P){"use strict";return P.widget("ui.draggable",P.ui.mouse,{version:"1.13.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(t){var e=this.options;return!(this.helper||e.disabled||0<P(t.target).closest(".ui-resizable-handle").length||(this.handle=this._getHandle(t),!this.handle)||(this._blurActiveElement(t),this._blockFrames(!0===e.iframeFix?"iframe":e.iframeFix),0))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=P(this);return P("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var e=P.ui.safeActiveElement(this.document[0]);P(t.target).closest(e).length||P.ui.safeBlur(e)},_mouseStart:function(t){var e=this.options;return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),P.ui.ddmanager&&(P.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0<this.helper.parents().filter(function(){return"fixed"===P(this).css("position")}).length,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),P.ui.ddmanager&&!e.dropBehaviour&&P.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),P.ui.ddmanager&&P.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(t,e){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!e){e=this._uiHash();if(!1===this._trigger("drag",t,e))return this._mouseUp(new P.Event("mouseup",t)),!1;this.position=e.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",P.ui.ddmanager&&P.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var e=this,s=!1;return P.ui.ddmanager&&!this.options.dropBehaviour&&(s=P.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,s)?P(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==e._trigger("stop",t)&&e._clear()}):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),P.ui.ddmanager&&P.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),P.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new P.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!P(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var e=this.options,s="function"==typeof e.helper,t=s?P(e.helper.apply(this.element[0],[t])):"clone"===e.helper?this.element.clone().removeAttr("id"):this.element;return t.parents("body").length||t.appendTo("parent"===e.appendTo?this.element[0].parentNode:e.appendTo),s&&t[0]===this.element[0]&&this._setPositionRelative(),t[0]===this.element[0]||/(fixed|absolute)/.test(t.css("position"))||t.css("position","absolute"),t},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),e=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==e&&P.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this._isRootNode(this.offsetParent[0])?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){var t,e;return"relative"!==this.cssPosition?{top:0,left:0}:(t=this.element.position(),e=this._isRootNode(this.scrollParent[0]),{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())})},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e=this.options,s=this.document[0];this.relativeContainer=null,e.containment?"window"===e.containment?this.containment=[P(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,P(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,P(window).scrollLeft()+P(window).width()-this.helperProportions.width-this.margins.left,P(window).scrollTop()+(P(window).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:"document"===e.containment?this.containment=[0,0,P(s).width()-this.helperProportions.width-this.margins.left,(P(s).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:e.containment.constructor===Array?this.containment=e.containment:("parent"===e.containment&&(e.containment=this.helper[0].parentNode),(e=(s=P(e.containment))[0])&&(t=/(scroll|auto)/.test(s.css("overflow")),this.containment=[(parseInt(s.css("borderLeftWidth"),10)||0)+(parseInt(s.css("paddingLeft"),10)||0),(parseInt(s.css("borderTopWidth"),10)||0)+(parseInt(s.css("paddingTop"),10)||0),(t?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(s.css("borderRightWidth"),10)||0)-(parseInt(s.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(s.css("borderBottomWidth"),10)||0)-(parseInt(s.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=s)):this.containment=null},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*t}},_generatePosition:function(t,e){var s,i=this.options,o=this._isRootNode(this.scrollParent[0]),n=t.pageX,r=t.pageY;return o&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),{top:(r=e&&(this.containment&&(s=this.relativeContainer?(e=this.relativeContainer.offset(),[this.containment[0]+e.left,this.containment[1]+e.top,this.containment[2]+e.left,this.containment[3]+e.top]):this.containment,t.pageX-this.offset.click.left<s[0]&&(n=s[0]+this.offset.click.left),t.pageY-this.offset.click.top<s[1]&&(r=s[1]+this.offset.click.top),t.pageX-this.offset.click.left>s[2]&&(n=s[2]+this.offset.click.left),t.pageY-this.offset.click.top>s[3])&&(r=s[3]+this.offset.click.top),i.grid&&(e=i.grid[1]?this.originalPageY+Math.round((r-this.originalPageY)/i.grid[1])*i.grid[1]:this.originalPageY,r=!s||e-this.offset.click.top>=s[1]||e-this.offset.click.top>s[3]?e:e-this.offset.click.top>=s[1]?e-i.grid[1]:e+i.grid[1],t=i.grid[0]?this.originalPageX+Math.round((n-this.originalPageX)/i.grid[0])*i.grid[0]:this.originalPageX,n=!s||t-this.offset.click.left>=s[0]||t-this.offset.click.left>s[2]?t:t-this.offset.click.left>=s[0]?t-i.grid[0]:t+i.grid[0]),"y"===i.axis&&(n=this.originalPageX),"x"===i.axis)?this.originalPageY:r)-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:o?0:this.offset.scroll.top),left:n-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:o?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,e,s){return s=s||this._uiHash(),P.ui.plugin.call(this,t,[e,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),P.Widget.prototype._trigger.call(this,t,e,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),P.ui.plugin.add("draggable","connectToSortable",{start:function(e,t,s){var i=P.extend({},t,{item:s.element});s.sortables=[],P(s.options.connectToSortable).each(function(){var t=P(this).sortable("instance");t&&!t.options.disabled&&(s.sortables.push(t),t.refreshPositions(),t._trigger("activate",e,i))})},stop:function(e,t,s){var i=P.extend({},t,{item:s.element});s.cancelHelperRemoval=!1,P.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,i))})},drag:function(s,i,o){P.each(o.sortables,function(){var t=!1,e=this;e.positionAbs=o.positionAbs,e.helperProportions=o.helperProportions,e.offset.click=o.offset.click,e._intersectsWith(e.containerCache)&&(t=!0,P.each(o.sortables,function(){return this.positionAbs=o.positionAbs,this.helperProportions=o.helperProportions,this.offset.click=o.offset.click,t=this!==e&&this._intersectsWith(this.containerCache)&&P.contains(e.element[0],this.element[0])?!1:t})),t?(e.isOver||(e.isOver=1,o._parent=i.helper.parent(),e.currentItem=i.helper.appendTo(e.element).data("ui-sortable-item",!0),e.options._helper=e.options.helper,e.options.helper=function(){return i.helper[0]},s.target=e.currentItem[0],e._mouseCapture(s,!0),e._mouseStart(s,!0,!0),e.offset.click.top=o.offset.click.top,e.offset.click.left=o.offset.click.left,e.offset.parent.left-=o.offset.parent.left-e.offset.parent.left,e.offset.parent.top-=o.offset.parent.top-e.offset.parent.top,o._trigger("toSortable",s),o.dropped=e.element,P.each(o.sortables,function(){this.refreshPositions()}),o.currentItem=o.element,e.fromOutside=o),e.currentItem&&(e._mouseDrag(s),i.position=e.position)):e.isOver&&(e.isOver=0,e.cancelHelperRemoval=!0,e.options._revert=e.options.revert,e.options.revert=!1,e._trigger("out",s,e._uiHash(e)),e._mouseStop(s,!0),e.options.revert=e.options._revert,e.options.helper=e.options._helper,e.placeholder&&e.placeholder.remove(),i.helper.appendTo(o._parent),o._refreshOffsets(s),i.position=o._generatePosition(s,!0),o._trigger("fromSortable",s),o.dropped=!1,P.each(o.sortables,function(){this.refreshPositions()}))})}}),P.ui.plugin.add("draggable","cursor",{start:function(t,e,s){var i=P("body"),s=s.options;i.css("cursor")&&(s._cursor=i.css("cursor")),i.css("cursor",s.cursor)},stop:function(t,e,s){s=s.options;s._cursor&&P("body").css("cursor",s._cursor)}}),P.ui.plugin.add("draggable","opacity",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("opacity")&&(s._opacity=e.css("opacity")),e.css("opacity",s.opacity)},stop:function(t,e,s){s=s.options;s._opacity&&P(e.helper).css("opacity",s._opacity)}}),P.ui.plugin.add("draggable","scroll",{start:function(t,e,s){s.scrollParentNotHidden||(s.scrollParentNotHidden=s.helper.scrollParent(!1)),s.scrollParentNotHidden[0]!==s.document[0]&&"HTML"!==s.scrollParentNotHidden[0].tagName&&(s.overflowOffset=s.scrollParentNotHidden.offset())},drag:function(t,e,s){var i=s.options,o=!1,n=s.scrollParentNotHidden[0],r=s.document[0];n!==r&&"HTML"!==n.tagName?(i.axis&&"x"===i.axis||(s.overflowOffset.top+n.offsetHeight-t.pageY<i.scrollSensitivity?n.scrollTop=o=n.scrollTop+i.scrollSpeed:t.pageY-s.overflowOffset.top<i.scrollSensitivity&&(n.scrollTop=o=n.scrollTop-i.scrollSpeed)),i.axis&&"y"===i.axis||(s.overflowOffset.left+n.offsetWidth-t.pageX<i.scrollSensitivity?n.scrollLeft=o=n.scrollLeft+i.scrollSpeed:t.pageX-s.overflowOffset.left<i.scrollSensitivity&&(n.scrollLeft=o=n.scrollLeft-i.scrollSpeed))):(i.axis&&"x"===i.axis||(t.pageY-P(r).scrollTop()<i.scrollSensitivity?o=P(r).scrollTop(P(r).scrollTop()-i.scrollSpeed):P(window).height()-(t.pageY-P(r).scrollTop())<i.scrollSensitivity&&(o=P(r).scrollTop(P(r).scrollTop()+i.scrollSpeed))),i.axis&&"y"===i.axis||(t.pageX-P(r).scrollLeft()<i.scrollSensitivity?o=P(r).scrollLeft(P(r).scrollLeft()-i.scrollSpeed):P(window).width()-(t.pageX-P(r).scrollLeft())<i.scrollSensitivity&&(o=P(r).scrollLeft(P(r).scrollLeft()+i.scrollSpeed)))),!1!==o&&P.ui.ddmanager&&!i.dropBehaviour&&P.ui.ddmanager.prepareOffsets(s,t)}}),P.ui.plugin.add("draggable","snap",{start:function(t,e,s){var i=s.options;s.snapElements=[],P(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var t=P(this),e=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:e.top,left:e.left})})},drag:function(t,e,s){for(var i,o,n,r,l,a,h,p,c,f=s.options,d=f.snapTolerance,g=e.offset.left,u=g+s.helperProportions.width,m=e.offset.top,v=m+s.helperProportions.height,_=s.snapElements.length-1;0<=_;_--)a=(l=s.snapElements[_].left-s.margins.left)+s.snapElements[_].width,p=(h=s.snapElements[_].top-s.margins.top)+s.snapElements[_].height,u<l-d||a+d<g||v<h-d||p+d<m||!P.contains(s.snapElements[_].item.ownerDocument,s.snapElements[_].item)?(s.snapElements[_].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=!1):("inner"!==f.snapMode&&(i=Math.abs(h-v)<=d,o=Math.abs(p-m)<=d,n=Math.abs(l-u)<=d,r=Math.abs(a-g)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h-s.helperProportions.height,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left),r)&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a}).left),c=i||o||n||r,"outer"!==f.snapMode&&(i=Math.abs(h-m)<=d,o=Math.abs(p-v)<=d,n=Math.abs(l-g)<=d,r=Math.abs(a-u)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p-s.helperProportions.height,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l}).left),r)&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a-s.helperProportions.width}).left),!s.snapElements[_].snapping&&(i||o||n||r||c)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=i||o||n||r||c)}}),P.ui.plugin.add("draggable","stack",{start:function(t,e,s){var i,s=s.options,s=P.makeArray(P(s.stack)).sort(function(t,e){return(parseInt(P(t).css("zIndex"),10)||0)-(parseInt(P(e).css("zIndex"),10)||0)});s.length&&(i=parseInt(P(s[0]).css("zIndex"),10)||0,P(s).each(function(t){P(this).css("zIndex",i+t)}),this.css("zIndex",i+s.length))}}),P.ui.plugin.add("draggable","zIndex",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("zIndex")&&(s._zIndex=e.css("zIndex")),e.css("zIndex",s.zIndex)},stop:function(t,e,s){s=s.options;s._zIndex&&P(e.helper).css("zIndex",s._zIndex)}}),P.ui.draggable});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","../widget"],t):t(jQuery)}(function(r){"use strict";var s=/ui-corner-([a-z]){2,6}/g;return r.widget("ui.controlgroup",{version:"1.13.3",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var s=this,l=[];r.each(this.options.items,function(n,t){var e,o={};t&&("controlgroupLabel"===n?((e=s.element.find(t)).each(function(){var t=r(this);t.children(".ui-controlgroup-label-contents").length||t.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),s._addClass(e,null,"ui-widget ui-widget-content ui-state-default"),l=l.concat(e.get())):r.fn[n]&&(o=s["_"+n+"Options"]?s["_"+n+"Options"]("middle"):{classes:{}},s.element.find(t).each(function(){var t=r(this),e=t[n]("instance"),i=r.widget.extend({},o);"button"===n&&t.parent(".ui-spinner").length||((e=e||t[n]()[n]("instance"))&&(i.classes=s._resolveClassesValues(i.classes,e)),t[n](i),i=t[n]("widget"),r.data(i[0],"ui-controlgroup-data",e||t[n]("instance")),l.push(i[0]))})))}),this.childWidgets=r(r.uniqueSort(l)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var t=r(this).data("ui-controlgroup-data");t&&t[e]&&t[e]()})},_updateCornerClass:function(t,e){e=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,e)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,n={classes:{}};return n.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],n},_spinnerOptions:function(t){t=this._buildSimpleOptions(t,"ui-spinner");return t.classes["ui-spinner-up"]="",t.classes["ui-spinner-down"]="",t},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(i,n){var o={};return r.each(i,function(t){var e=n.options.classes[t]||"",e=String.prototype.trim.call(e.replace(s,""));o[t]=(e+" "+i[t]).replace(/\s+/g," ")}),o},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?this._callChildMethod(e?"disable":"enable"):this.refresh()},refresh:function(){var o,s=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),o=this.childWidgets,(o=this.options.onlyVisible?o.filter(":visible"):o).length&&(r.each(["first","last"],function(t,e){var i,n=o[e]().data("ui-controlgroup-data");n&&s["_"+n.widgetName+"Options"]?((i=s["_"+n.widgetName+"Options"](1===o.length?"only":e)).classes=s._resolveClassesValues(i.classes,n),n.element[n.widgetName](i)):s._updateCornerClass(o[e](),e)}),this._callChildMethod("refresh"))}})});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../form-reset-mixin","../labels","../widget"],e):e(jQuery)}(function(t){"use strict";return t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.13.3",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i=this._super()||{};return this._readType(),e=this.element.labels(),this.label=t(e[e.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",(e=this.label.contents().not(this.element[0])).length&&(this.originalLabel+=e.clone().wrapAll("<div></div>").parent().html()),this.originalLabel&&(i.label=this.originalLabel),null!=(e=this.element[0].disabled)&&(i.disabled=e),i},_create:function(){var e=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),e&&this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e=this.element[0].name,i="input[name='"+t.escapeSelector(e)+"']";return e?(this.form.length?t(this.form[0].elements).filter(i):t(i).filter(function(){return 0===t(this)._form().length})).not(this.element):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(e,i){"label"===e&&!i||(this._super(e,i),"disabled"===e?(this._toggleClass(this.label,null,"ui-state-disabled",i),this.element[0].disabled=i):this.refresh())},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var e=this.label.contents().not(this.element[0]);this.icon&&(e=e.not(this.icon[0])),(e=this.iconSpace?e.not(this.iconSpace[0]):e).remove(),this.label.append(this.options.label)},refresh:function(){var e=this.element[0].checked,i=this.element[0].disabled;this._updateIcon(e),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),null!==this.options.label&&this._updateLabel(),i!==this.options.disabled&&this._setOptions({disabled:i})}}]),t.ui.checkboxradio});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./controlgroup","./checkboxradio","../keycode","../widget"],t):t(jQuery)}(function(e){"use strict";var h;return e.widget("ui.button",{version:"1.13.3",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,i=this._super()||{};return this.isInput=this.element.is("input"),null!=(t=this.element[0].disabled)&&(i.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(i.label=this.originalLabel),i},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(t){t.keyCode===e.ui.keyCode.SPACE&&(t.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(t,i){var t="iconPosition"!==t,o=t?this.options.iconPosition:i,s="top"===o||"bottom"===o;this.icon?t&&this._removeClass(this.icon,null,this.options.icon):(this.icon=e("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),t&&this._addClass(this.icon,null,i),this._attachIcon(o),s?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=e("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(o))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var i=(void 0===t.showLabel?this.options:t).showLabel,o=(void 0===t.icon?this.options:t).icon;i||o||(t.showLabel=!0),this._super(t)},_setOption:function(t,i){"icon"===t&&(i?this._updateIcon(t,i):this.icon&&(this.icon.remove(),this.iconSpace)&&this.iconSpace.remove()),"iconPosition"===t&&this._updateIcon(t,i),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!i),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(i):(this.element.html(i),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,i),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",i),this.element[0].disabled=i)&&this.element.trigger("blur")},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),!1!==e.uiBackCompat&&(e.widget("ui.button",e.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,i){"text"===t?this._super("showLabel",i):("showLabel"===t&&(this.options.text=i),"icon"===t&&(this.options.icons.primary=i),"icons"===t&&(i.primary?(this._super("icon",i.primary),this._super("iconPosition","beginning")):i.secondary&&(this._super("icon",i.secondary),this._super("iconPosition","end"))),this._superApply(arguments))}}),e.fn.button=(h=e.fn.button,function(o){var t="string"==typeof o,s=Array.prototype.slice.call(arguments,1),n=this;return t?this.length||"instance"!==o?this.each(function(){var t,i=e(this).attr("type"),i=e.data(this,"ui-"+("checkbox"!==i&&"radio"!==i?"button":"checkboxradio"));return"instance"===o?(n=i,!1):i?"function"!=typeof i[o]||"_"===o.charAt(0)?e.error("no such method '"+o+"' for button widget instance"):(t=i[o].apply(i,s))!==i&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:e.error("cannot call methods on button prior to initialization; attempted to call method '"+o+"'")}):n=void 0:(s.length&&(o=e.widget.extend.apply(null,[o].concat(s))),this.each(function(){var t=e(this).attr("type"),t="checkbox"!==t&&"radio"!==t?"button":"checkboxradio",i=e.data(this,"ui-"+t);i?(i.option(o||{}),i._init&&i._init()):"button"==t?h.call(e(this),o):e(this).checkboxradio(e.extend({icon:!1},o))})),n}),e.fn.buttonset=function(){return e.ui.controlgroup||e.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),e.ui.button});
!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery","./button","./draggable","./mouse","./resizable","../focusable","../keycode","../position","../safe-active-element","../safe-blur","../tabbable","../unique-id","../version","../widget"],i):i(jQuery)}(function(l){"use strict";return l.widget("ui.dialog",{version:"1.13.3",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(i){var t=l(this).css(i).offset().top;t<0&&l(this).css("top",i.top-t)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&l.fn.draggable&&this._makeDraggable(),this.options.resizable&&l.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var i=this.options.appendTo;return i&&(i.jquery||i.nodeType)?l(i):this.document.find(i||"body").eq(0)},_destroy:function(){var i,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(i=t.parent.children().eq(t.index)).length&&i[0]!==this.element[0]?i.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:l.noop,enable:l.noop,close:function(i){var t=this;this._isOpen&&!1!==this._trigger("beforeClose",i)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||l.ui.safeBlur(l.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){t._trigger("close",i)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(i,t){var e=!1,o=this.uiDialog.siblings(".ui-front:visible").map(function(){return+l(this).css("z-index")}).get(),o=Math.max.apply(null,o);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),e=!0),e&&!t&&this._trigger("focus",i),e},open:function(){var i=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=l(l.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){i._focusTabbable(),i._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var i=this._focusedElement;(i=(i=(i=(i=(i=i||this.element.find("[autofocus]")).length?i:this.element.find(":tabbable")).length?i:this.uiDialogButtonPane.find(":tabbable")).length?i:this.uiDialogTitlebarClose.filter(":tabbable")).length?i:this.uiDialog).eq(0).trigger("focus")},_restoreTabbableFocus:function(){var i=l.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===i||l.contains(this.uiDialog[0],i)||this._focusTabbable()},_keepFocus:function(i){i.preventDefault(),this._restoreTabbableFocus(),this._delay(this._restoreTabbableFocus)},_createWrapper:function(){this.uiDialog=l("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(i){var t,e,o;this.options.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===l.ui.keyCode.ESCAPE?(i.preventDefault(),this.close(i)):i.keyCode!==l.ui.keyCode.TAB||i.isDefaultPrevented()||(t=this.uiDialog.find(":tabbable"),e=t.first(),o=t.last(),i.target!==o[0]&&i.target!==this.uiDialog[0]||i.shiftKey?i.target!==e[0]&&i.target!==this.uiDialog[0]||!i.shiftKey||(this._delay(function(){o.trigger("focus")}),i.preventDefault()):(this._delay(function(){e.trigger("focus")}),i.preventDefault()))},mousedown:function(i){this._moveToTop(i)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var i;this.uiDialogTitlebar=l("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(i){l(i.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=l("<button type='button'></button>").button({label:l("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(i){i.preventDefault(),this.close(i)}}),i=l("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(i,"ui-dialog-title"),this._title(i),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":i.attr("id")})},_title:function(i){this.options.title?i.text(this.options.title):i.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=l("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=l("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var o=this,i=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),l.isEmptyObject(i)||Array.isArray(i)&&!i.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(l.each(i,function(i,t){var e;t=l.extend({type:"button"},t="function"==typeof t?{click:t,text:i}:t),e=t.click,i={icon:t.icon,iconPosition:t.iconPosition,showLabel:t.showLabel,icons:t.icons,text:t.text},delete t.click,delete t.icon,delete t.iconPosition,delete t.showLabel,delete t.icons,"boolean"==typeof t.text&&delete t.text,l("<button></button>",t).button(i).appendTo(o.uiButtonSet).on("click",function(){e.apply(o.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var s=this,n=this.options;function a(i){return{position:i.position,offset:i.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(i,t){s._addClass(l(this),"ui-dialog-dragging"),s._blockFrames(),s._trigger("dragStart",i,a(t))},drag:function(i,t){s._trigger("drag",i,a(t))},stop:function(i,t){var e=t.offset.left-s.document.scrollLeft(),o=t.offset.top-s.document.scrollTop();n.position={my:"left top",at:"left"+(0<=e?"+":"")+e+" top"+(0<=o?"+":"")+o,of:s.window},s._removeClass(l(this),"ui-dialog-dragging"),s._unblockFrames(),s._trigger("dragStop",i,a(t))}})},_makeResizable:function(){var s=this,n=this.options,i=n.resizable,t=this.uiDialog.css("position"),i="string"==typeof i?i:"n,e,s,w,se,sw,ne,nw";function a(i){return{originalPosition:i.originalPosition,originalSize:i.originalSize,position:i.position,size:i.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:n.maxWidth,maxHeight:n.maxHeight,minWidth:n.minWidth,minHeight:this._minHeight(),handles:i,start:function(i,t){s._addClass(l(this),"ui-dialog-resizing"),s._blockFrames(),s._trigger("resizeStart",i,a(t))},resize:function(i,t){s._trigger("resize",i,a(t))},stop:function(i,t){var e=s.uiDialog.offset(),o=e.left-s.document.scrollLeft(),e=e.top-s.document.scrollTop();n.height=s.uiDialog.height(),n.width=s.uiDialog.width(),n.position={my:"left top",at:"left"+(0<=o?"+":"")+o+" top"+(0<=e?"+":"")+e,of:s.window},s._removeClass(l(this),"ui-dialog-resizing"),s._unblockFrames(),s._trigger("resizeStop",i,a(t))}}).css("position",t)},_trackFocus:function(){this._on(this.widget(),{focusin:function(i){this._makeFocusTarget(),this._focusedElement=l(i.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var i=this._trackingInstances(),t=l.inArray(this,i);-1!==t&&i.splice(t,1)},_trackingInstances:function(){var i=this.document.data("ui-dialog-instances");return i||this.document.data("ui-dialog-instances",i=[]),i},_minHeight:function(){var i=this.options;return"auto"===i.height?i.minHeight:Math.min(i.minHeight,i.height)},_position:function(){var i=this.uiDialog.is(":visible");i||this.uiDialog.show(),this.uiDialog.position(this.options.position),i||this.uiDialog.hide()},_setOptions:function(i){var e=this,o=!1,s={};l.each(i,function(i,t){e._setOption(i,t),i in e.sizeRelatedOptions&&(o=!0),i in e.resizableRelatedOptions&&(s[i]=t)}),o&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",s)},_setOption:function(i,t){var e,o=this.uiDialog;"disabled"!==i&&(this._super(i,t),"appendTo"===i&&this.uiDialog.appendTo(this._appendTo()),"buttons"===i&&this._createButtons(),"closeText"===i&&this.uiDialogTitlebarClose.button({label:l("<a>").text(""+this.options.closeText).html()}),"draggable"===i&&((e=o.is(":data(ui-draggable)"))&&!t&&o.draggable("destroy"),!e)&&t&&this._makeDraggable(),"position"===i&&this._position(),"resizable"===i&&((e=o.is(":data(ui-resizable)"))&&!t&&o.resizable("destroy"),e&&"string"==typeof t&&o.resizable("option","handles",t),e||!1===t||this._makeResizable()),"title"===i)&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title"))},_size:function(){var i,t,e,o=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),o.minWidth>o.width&&(o.width=o.minWidth),i=this.uiDialog.css({height:"auto",width:o.width}).outerHeight(),t=Math.max(0,o.minHeight-i),e="number"==typeof o.maxHeight?Math.max(0,o.maxHeight-i):"none","auto"===o.height?this.element.css({minHeight:t,maxHeight:e,height:"auto"}):this.element.height(Math.max(0,o.height-i)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var i=l(this);return l("<div>").css({position:"absolute",width:i.outerWidth(),height:i.outerHeight()}).appendTo(i.parent()).offset(i.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(i){return!!l(i.target).closest(".ui-dialog").length||!!l(i.target).closest(".ui-datepicker").length},_createOverlay:function(){var e,o;this.options.modal&&(e=l.fn.jquery.substring(0,4),o=!0,this._delay(function(){o=!1}),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(i){var t;o||(t=this._trackingInstances()[0])._allowInteraction(i)||(i.preventDefault(),t._focusTabbable(),"3.4."!==e&&"3.5."!==e&&"3.6."!==e)||t._delay(t._restoreTabbableFocus)}.bind(this)),this.overlay=l("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1))},_destroyOverlay:function(){var i;this.options.modal&&this.overlay&&((i=this.document.data("ui-dialog-overlays")-1)?this.document.data("ui-dialog-overlays",i):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null)}}),!1!==l.uiBackCompat&&l.widget("ui.dialog",l.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(i,t){"dialogClass"===i&&this.uiDialog.removeClass(this.options.dialogClass).addClass(t),this._superApply(arguments)}}),l.ui.dialog});
(function($){
$.cpeoplebrowser={};
uaMatch=function(ua){
var ret={ browser: "" };
ua=ua.toLowerCase();
if(/webkit/.test(ua)){
ret={ browser: "webkit", version: /webkit[\/ ]([\w.]+)/ };}else if(/opera/.test(ua)){
ret={ browser: "opera", version: /version/.test(ua) ? /version[\/ ]([\w.]+)/:/opera[\/ ]([\w.]+)/ };}else if(/msie/.test(ua)){
ret={ browser: "msie", version: /msie ([\w.]+)/ };}else if(/mozilla/.test(ua)&&!/compatible/.test(ua)){
ret={ browser: "mozilla", version: /rv:([\w.]+)/ };}
ret.version=(ret.version&&ret.version.exec(ua)||[0, "0"])[1];
return ret;
};
browserMatch=uaMatch(navigator.userAgent);
if(browserMatch.browser){
$.cpeoplebrowser[browserMatch.browser]=true;
$.cpeoplebrowser.version=browserMatch.version;
}
if($.cpeoplebrowser.webkit){
$.cpeoplebrowser.safari=true;
}})(jQuery);
try { document.execCommand ("BackgroundImageCache", false, true); } catch (e){ }
var popUpWin;
function PopUpCenterWindow(URLStr, width, height, newWin, scrollbars){
var popUpWin=0;
if(typeof (newWin)=="undefined"){
newWin=false;
}
if(typeof (scrollbars)=="undefined"){
scrollbars=0;
}
if(typeof (width)=="undefined"){
width=800;
}
if(typeof (height)=="undefined"){
height=600;
}
var left=0;
var top=0;
if(screen.width >=width){
left=Math.floor((screen.width - width) / 2);
}
if(screen.height >=height){
top=Math.floor((screen.height - height) / 2);
}
if(newWin){
open(URLStr, '', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=' + scrollbars + ',resizable=yes,copyhistory=yes,width=' + width + ',height=' + height + ',left=' + left + ', top=' + top + ',screenX=' + left + ',screenY=' + top + '');
return;
}
if(popUpWin){
if(!popUpWin.closed) popUpWin.close();
}
popUpWin=open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=' + scrollbars + ',resizable=yes,copyhistory=yes,width=' + width + ',height=' + height + ',left=' + left + ', top=' + top + ',screenX=' + left + ',screenY=' + top + '');
popUpWin.focus();
}
function OpenModelWindow(url, option){
var fun;
try {
if(parent!=null&&parent.$!=null&&parent.$.ShowIfrmDailog!=undefined){
fun=parent.$.ShowIfrmDailog
}else{
fun=$.ShowIfrmDailog;
}}
catch (e){
fun=$.ShowIfrmDailog;
}
fun(url, option);
}
function CloseModelWindow(callback, dooptioncallback){
parent.$.closeIfrm(callback, dooptioncallback);
}
function fomartTimeAMPM(h,m,__MilitaryTime,supershort){
supershort=supershort||0;
if(__MilitaryTime)
var tmp=((h < 10)  ? "0":"") + h + ":" + ((m < 10)?"0":"") + m  ;
else
{
var tmp=((h%12) < 10)&&h!=12 ? "0" + (h%12):(h==12?"12":(h%12))  ;
tmp +=":" + ((m < 10)?"0":"") + m + ((h>=12)?"pm":"am");
}
if(supershort)
if(__MilitaryTime)
var tmp=h ;
else
var tmp=((h==12)?"12":(h%12))+ ((h>=12)?" PM":" AM") ;
return tmp ;
}
function StrFormat(temp, dataarry){
return temp.replace(/\{([\d]+)\}/g, function(s1, s2){ var s=dataarry[s2]; if(typeof (s)!="undefined"){ if(s instanceof (Date)){ return (s.getMonth()+1)+"/"+s.getDate()+"/"+s.getFullYear()+" "+s.getHours()+":"+s.getMinutes() }else{ return encodeURIComponent(s) }}else{ return "" }});
}
function StrFormatNoEncode(temp, dataarry){
return temp.replace(/\{([\d]+)\}/g, function(s1, s2){ var s=dataarry[s2]; if(typeof (s)!="undefined"){ if(s instanceof (Date)){ return (s.getMonth()+1)+"/"+s.getDate()+"/"+s.getFullYear()+" "+s.getHours()+":"+s.getMinutes() }else{ return (s); }}else{ return ""; }});
}
function getiev($){
var userAgent=window.navigator.userAgent.toLowerCase();
$.cpeoplebrowser.msie8=$.cpeoplebrowser.msie&&/msie 8\.0/i.test(userAgent);
$.cpeoplebrowser.msie7=$.cpeoplebrowser.msie&&/msie 7\.0/i.test(userAgent);
$.cpeoplebrowser.msie6 = !$.cpeoplebrowser.msie8&&!$.cpeoplebrowser.msie7&&$.cpeoplebrowser.msie&&/msie 6\.0/i.test(userAgent);
var v;
if($.cpeoplebrowser.msie8){
v=8;
}
else if($.cpeoplebrowser.msie7){
v=7;
}
else if($.cpeoplebrowser.msie6){
v=6;
}else{ v=-1; }
return v;
}
jQuery(document).ready(function($){
var v=getiev($);
if(v > 0){
$(document.body).addClass("ie ie" + v);
}});
;(function (root, factory){
if(typeof module==='object'&&module.exports){
module.exports=factory()
}else if(typeof define==='function'&&define.amd){
define([], factory)
}else{
root.RRule=factory(root)
root.RRuleSet=root.RRule.RRuleSet
root.rrulestr=root.RRule.rrulestr
}}(typeof window==='object' ? window:this, function (root){
var dateutil={
MONTH_DAYS: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
ONE_DAY: 1000 * 60 * 60 * 24,
MAXYEAR: 9999,
ORDINAL_BASE: new Date(1970, 0, 1),
PY_WEEKDAYS: [6, 0, 1, 2, 3, 4, 5],
getYearDay: function (date){
var dateNoTime=new Date(
date.getFullYear(), date.getMonth(), date.getDate())
return Math.ceil((dateNoTime - new Date(date.getFullYear(), 0, 1)) / dateutil.ONE_DAY) + 1
},
isLeapYear: function (year){
if(year instanceof Date) year=year.getFullYear()
return ((year % 4===0)&&(year % 100!==0))||(year % 400===0)
},
tzOffset: function (date){
return date.getTimezoneOffset() * 60 * 1000
},
daysBetween: function (date1, date2){
var date1_ms=date1.getTime() - dateutil.tzOffset(date1)
var date2_ms=date2.getTime() - dateutil.tzOffset(date2)
var difference_ms=Math.abs(date1_ms - date2_ms)
return Math.round(difference_ms / dateutil.ONE_DAY)
},
toOrdinal: function (date){
return dateutil.daysBetween(date, dateutil.ORDINAL_BASE)
},
fromOrdinal: function (ordinal){
var millisecsFromBase=ordinal * dateutil.ONE_DAY
return new Date(dateutil.ORDINAL_BASE.getTime() -
dateutil.tzOffset(dateutil.ORDINAL_BASE) +
millisecsFromBase +
dateutil.tzOffset(new Date(millisecsFromBase)))
},
monthRange: function (year, month){
var date=new Date(year, month, 1)
return [dateutil.getWeekday(date), dateutil.getMonthDays(date)]
},
getMonthDays: function (date){
var month=date.getMonth()
return month===1&&dateutil.isLeapYear(date)
? 29:dateutil.MONTH_DAYS[month]
},
getWeekday: function (date){
return dateutil.PY_WEEKDAYS[date.getDay()]
},
combine: function (date, time){
time=time||date
return new Date(
date.getFullYear(), date.getMonth(), date.getDate(),
time.getHours(), time.getMinutes(), time.getSeconds(),
time.getMilliseconds())
},
clone: function (date){
var dolly=new Date(date.getTime())
return dolly
},
cloneDates: function (dates){
var clones=[]
for (var i=0; i < dates.length; i++){
clones.push(dateutil.clone(dates[i]))
}
return clones
},
sort: function (dates){
dates.sort(function (a, b){
return a.getTime() - b.getTime()
})
},
timeToUntilString: function (time){
var comp
var date=new Date(time)
var comps=[
date.getUTCFullYear(),
date.getUTCMonth() + 1,
date.getUTCDate(),
'T',
date.getUTCHours(),
date.getUTCMinutes(),
date.getUTCSeconds(),
'Z'
]
for (var i=0; i < comps.length; i++){
comp=comps[i]
if(!/[TZ]/.test(comp)&&comp < 10) comps[i]='0' + String(comp)
}
return comps.join('')
},
untilStringToDate: function (until){
var re=/^(\d{4})(\d{2})(\d{2})(T(\d{2})(\d{2})(\d{2})Z)?$/;
var bits=re.exec(until)
if(!bits) throw new Error('Invalid UNTIL value: ' + until)
return new Date(Date.UTC(bits[1],
bits[2] - 1,
bits[3],
bits[5]||0,
bits[6]||0,
bits[7]||0))
}}
dateutil.Time=function (hour, minute, second, millisecond){
this.hour=hour
this.minute=minute
this.second=second
this.millisecond=millisecond||0
}
dateutil.Time.prototype={
constructor: dateutil.Time,
getHours: function (){
return this.hour
},
getMinutes: function (){
return this.minute
},
getSeconds: function (){
return this.second
},
getMilliseconds: function (){
return this.millisecond
},
getTime: function (){
return ((this.hour * 60 * 60) + (this.minute * 60) + this.second) * 1000 +
this.millisecond
}}
var range=function (start, end){
if(arguments.length===1){
end=start
start=0
}
var rang=[]
for (var i=start; i < end; i++) rang.push(i)
return rang
}
var repeat=function (value, times){
var i=0
var array=[]
if(value instanceof Array){
for (; i < times; i++) array[i]=[].concat(value)
}else{
for (; i < times; i++) array[i]=value
}
return array
}
var split=function (str, sep, num){
var splits=str.split(sep)
return num
? splits.slice(0, num).concat([splits.slice(num).join(sep)]):splits
}
var pymod=function (a, b){
var r=a % b
return (r * b < 0) ? r + b:r
}
var divmod=function (a, b){
return {div: Math.floor(a / b), mod: pymod(a, b)}}
var plb=function (obj){
return (obj instanceof Array&&obj.length===0)
? false:Boolean(obj)
}
var contains=function (arr, val){
return arr.indexOf(val)!==-1
}
var M365MASK=[].concat(repeat(1, 31), repeat(2, 28), repeat(3, 31),
repeat(4, 30), repeat(5, 31), repeat(6, 30),
repeat(7, 31), repeat(8, 31), repeat(9, 30),
repeat(10, 31), repeat(11, 30), repeat(12, 31),
repeat(1, 7))
var M366MASK=[].concat(repeat(1, 31), repeat(2, 29), repeat(3, 31),
repeat(4, 30), repeat(5, 31), repeat(6, 30),
repeat(7, 31), repeat(8, 31), repeat(9, 30),
repeat(10, 31), repeat(11, 30), repeat(12, 31),
repeat(1, 7))
var M28=range(1, 29)
var M29=range(1, 30)
var M30=range(1, 31)
var M31=range(1, 32)
var MDAY366MASK=[].concat(M31, M29, M31,
M30, M31, M30,
M31, M31, M30,
M31, M30, M31,
M31.slice(0, 7))
var MDAY365MASK=[].concat(M31, M28, M31,
M30, M31, M30,
M31, M31, M30,
M31, M30, M31,
M31.slice(0, 7))
M28=range(-28, 0)
M29=range(-29, 0)
M30=range(-30, 0)
M31=range(-31, 0)
var NMDAY366MASK=[].concat(M31, M29, M31,
M30, M31, M30,
M31, M31, M30,
M31, M30, M31,
M31.slice(0, 7))
var NMDAY365MASK=[].concat(M31, M28, M31,
M30, M31, M30,
M31, M31, M30,
M31, M30, M31,
M31.slice(0, 7))
var M366RANGE=[0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
var M365RANGE=[0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
var WDAYMASK=(function (){
for (var wdaymask=[], i=0; i < 55; i++) wdaymask=wdaymask.concat(range(7))
return wdaymask
}())
var Weekday=function (weekday, n){
if(n===0) throw new Error("Can't create weekday with n==0")
this.weekday=weekday
this.n=n
}
Weekday.prototype={
constructor: Weekday,
nth: function (n){
return this.n===n ? this:new Weekday(this.weekday, n)
},
equals: function (other){
return this.weekday===other.weekday&&this.n===other.n
},
toString: function (){
var s=['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'][this.weekday]
if(this.n) s=(this.n > 0 ? '+':'') + String(this.n) + s
return s
},
getJsWeekday: function (){
return this.weekday===6 ? 0:this.weekday + 1
}}
var RRule=function (options, noCache){
options=options||{}
this._string=null
this._cache=noCache ? null:{
all: false,
before: [],
after: [],
between: []
}
this.origOptions={}
var invalid=[]
var keys=Object.keys(options)
var defaultKeys=Object.keys(RRule.DEFAULT_OPTIONS)
keys.forEach(function (key){
this.origOptions[key]=options[key]
if(!contains(defaultKeys, key)) invalid.push(key)
}, this)
if(invalid.length) throw new Error('Invalid options: ' + invalid.join(', '))
if(!RRule.FREQUENCIES[options.freq]&&options.byeaster===null){
throw new Error('Invalid frequency: ' + String(options.freq))
}
defaultKeys.forEach(function (key){
if(!contains(keys, key)) options[key]=RRule.DEFAULT_OPTIONS[key]
})
var opts=this.options=options
if(opts.byeaster!==null) opts.freq=RRule.YEARLY
if(!opts.dtstart) opts.dtstart=new Date()
var millisecondModulo=opts.dtstart.getTime() % 1000
if(opts.wkst===null){
opts.wkst=RRule.MO.weekday
}else if(typeof opts.wkst==='number'){
}else{
opts.wkst=opts.wkst.weekday
}
if(opts.bysetpos!==null){
if(typeof opts.bysetpos==='number') opts.bysetpos=[opts.bysetpos]
for (var i=0; i < opts.bysetpos.length; i++){
var v=opts.bysetpos[i]
if(v===0||!(v >=-366&&v <=366)){
throw new Error('bysetpos must be between 1 and 366,' +
' or between -366 and -1')
}}
}
if(!(plb(opts.byweekno)||plb(opts.byyearday)||plb(opts.bymonthday) ||
opts.byweekday!==null||opts.byeaster!==null)){
switch (opts.freq){
case RRule.YEARLY:
if(!opts.bymonth) opts.bymonth=opts.dtstart.getMonth() + 1
opts.bymonthday=opts.dtstart.getDate()
break
case RRule.MONTHLY:
opts.bymonthday=opts.dtstart.getDate()
break
case RRule.WEEKLY:
opts.byweekday=dateutil.getWeekday(opts.dtstart)
break
}}
if(opts.bymonth!==null&&!(opts.bymonth instanceof Array)){
opts.bymonth=[opts.bymonth]
}
if(opts.byyearday!==null&&!(opts.byyearday instanceof Array)){
opts.byyearday=[opts.byyearday]
}
if(opts.bymonthday===null){
opts.bymonthday=[]
opts.bynmonthday=[]
}else if(opts.bymonthday instanceof Array){
var bymonthday=[]
var bynmonthday=[]
for (i=0; i < opts.bymonthday.length; i++){
v=opts.bymonthday[i]
if(v > 0){
bymonthday.push(v)
}else if(v < 0){
bynmonthday.push(v)
}}
opts.bymonthday=bymonthday
opts.bynmonthday=bynmonthday
}else{
if(opts.bymonthday < 0){
opts.bynmonthday=[opts.bymonthday]
opts.bymonthday=[]
}else{
opts.bynmonthday=[]
opts.bymonthday=[opts.bymonthday]
}}
if(opts.byweekno!==null&&!(opts.byweekno instanceof Array)){
opts.byweekno=[opts.byweekno]
}
if(opts.byweekday===null){
opts.bynweekday=null
}else if(typeof opts.byweekday==='number'){
opts.byweekday=[opts.byweekday]
opts.bynweekday=null
}else if(opts.byweekday instanceof Weekday){
if(!opts.byweekday.n||opts.freq > RRule.MONTHLY){
opts.byweekday=[opts.byweekday.weekday]
opts.bynweekday=null
}else{
opts.bynweekday=[
[opts.byweekday.weekday, opts.byweekday.n]
]
opts.byweekday=null
}}else{
var byweekday=[]
var bynweekday=[]
for (i=0; i < opts.byweekday.length; i++){
var wday=opts.byweekday[i]
if(typeof wday==='number'){
byweekday.push(wday)
}else if(!wday.n||opts.freq > RRule.MONTHLY){
byweekday.push(wday.weekday)
}else{
bynweekday.push([wday.weekday, wday.n])
}}
opts.byweekday=plb(byweekday) ? byweekday:null
opts.bynweekday=plb(bynweekday) ? bynweekday:null
}
if(opts.byhour===null){
opts.byhour=(opts.freq < RRule.HOURLY) ? [opts.dtstart.getHours()]:null
}else if(typeof opts.byhour==='number'){
opts.byhour=[opts.byhour]
}
if(opts.byminute===null){
opts.byminute=(opts.freq < RRule.MINUTELY)
? [opts.dtstart.getMinutes()]:null
}else if(typeof opts.byminute==='number'){
opts.byminute=[opts.byminute]
}
if(opts.bysecond===null){
opts.bysecond=(opts.freq < RRule.SECONDLY)
? [opts.dtstart.getSeconds()]:null
}else if(typeof opts.bysecond==='number'){
opts.bysecond=[opts.bysecond]
}
if(opts.freq >=RRule.HOURLY){
this.timeset=null
}else{
this.timeset=[]
for (i=0; i < opts.byhour.length; i++){
var hour=opts.byhour[i]
for (var j=0; j < opts.byminute.length; j++){
var minute=opts.byminute[j]
for (var k=0; k < opts.bysecond.length; k++){
var second=opts.bysecond[k]
this.timeset.push(new dateutil.Time(hour, minute, second, millisecondModulo))
}}
}
dateutil.sort(this.timeset)
}}
RRule.FREQUENCIES=[
'YEARLY', 'MONTHLY', 'WEEKLY', 'DAILY',
'HOURLY', 'MINUTELY', 'SECONDLY'
]
RRule.YEARLY=0
RRule.MONTHLY=1
RRule.WEEKLY=2
RRule.DAILY=3
RRule.HOURLY=4
RRule.MINUTELY=5
RRule.SECONDLY=6
RRule.MO=new Weekday(0)
RRule.TU=new Weekday(1)
RRule.WE=new Weekday(2)
RRule.TH=new Weekday(3)
RRule.FR=new Weekday(4)
RRule.SA=new Weekday(5)
RRule.SU=new Weekday(6)
RRule.DEFAULT_OPTIONS={
freq: null,
dtstart: null,
interval: 1,
wkst: RRule.MO,
count: null,
until: null,
bysetpos: null,
bymonth: null,
bymonthday: null,
bynmonthday: null,
byyearday: null,
byweekno: null,
byweekday: null,
bynweekday: null,
byhour: null,
byminute: null,
bysecond: null,
byeaster: null
}
RRule.parseText=function (text, language){
return getnlp().parseText(text, language)
}
RRule.fromText=function (text, language){
return getnlp().fromText(text, language)
}
RRule.optionsToString=function (options){
var key, value, strValues
var pairs=[]
var keys=Object.keys(options)
var defaultKeys=Object.keys(RRule.DEFAULT_OPTIONS)
for (var i=0; i < keys.length; i++){
if(!contains(defaultKeys, keys[i])) continue
key=keys[i].toUpperCase()
value=options[keys[i]]
strValues=[]
if(value===null||value instanceof Array&&!value.length) continue
switch (key){
case 'FREQ':
value=RRule.FREQUENCIES[options.freq]
break
case 'WKST':
value=value.toString()
break
case 'BYWEEKDAY':
key='BYDAY'
if(!(value instanceof Array)) value=[value]
for (var wday, j=0; j < value.length; j++){
wday=value[j]
if(wday instanceof Weekday){
}else if(wday instanceof Array){
wday=new Weekday(wday[0], wday[1])
}else{
wday=new Weekday(wday)
}
strValues[j]=wday.toString()
}
value=strValues
break
case 'DTSTART':
case 'UNTIL':
value=dateutil.timeToUntilString(value)
break
default:
if(value instanceof Array){
for (j=0; j < value.length; j++) strValues[j]=String(value[j])
value=strValues
}else{
value=String(value)
}}
pairs.push([key, value])
}
var strings=[]
for (i=0; i < pairs.length; i++){
var attr=pairs[i]
strings.push(attr[0] + '=' + attr[1].toString())
}
return strings.join(';')
}
RRule.prototype={
constructor: RRule,
all: function (iterator){
if(iterator){
return this._iter(new CallbackIterResult('all', {}, iterator))
}else{
var result=this._cacheGet('all')
if(result===false){
result=this._iter(new IterResult('all', {}))
this._cacheAdd('all', result)
}
return result
}},
between: function (after, before, inc, iterator){
var args={
before: before,
after: after,
inc: inc
}
if(iterator){
return this._iter(new CallbackIterResult('between', args, iterator))
}
var result=this._cacheGet('between', args)
if(result===false){
result=this._iter(new IterResult('between', args))
this._cacheAdd('between', result, args)
}
return result
},
before: function (dt, inc){
var args={dt: dt, inc: inc}
var result=this._cacheGet('before', args)
if(result===false){
result=this._iter(new IterResult('before', args))
this._cacheAdd('before', result, args)
}
return result
},
after: function (dt, inc){
var args={dt: dt, inc: inc}
var result=this._cacheGet('after', args)
if(result===false){
result=this._iter(new IterResult('after', args))
this._cacheAdd('after', result, args)
}
return result
},
count: function (){
return this.all().length
},
toString: function (){
return RRule.optionsToString(this.origOptions)
},
toText: function (gettext, language){
return getnlp().toText(this, gettext, language)
},
isFullyConvertibleToText: function (){
return getnlp().isFullyConvertible(this)
},
_cacheAdd: function (what, value, args){
if(!this._cache) return
if(value){
value=(value instanceof Date)
? dateutil.clone(value):dateutil.cloneDates(value)
}
if(what==='all'){
this._cache.all=value
}else{
args._value=value
this._cache[what].push(args)
}},
_cacheGet: function (what, args){
if(!this._cache) return false
var cached=false
var argsKeys=args ? Object.keys(args):[]
var findCacheDiff=function (item){
for (var key, i=0; i < argsKeys.length; i++){
key=argsKeys[i]
if(String(args[key])!==String(item[key])) return true
}
return false
}
if(what==='all'){
cached=this._cache.all
}else{
for (var item, i=0; i < this._cache[what].length; i++){
item=this._cache[what][i]
if(argsKeys.length&&findCacheDiff(item)) continue
cached=item._value
break
}}
if(!cached&&this._cache.all){
var iterResult=new IterResult(what, args)
for (i=0; i < this._cache.all.length; i++){
if(!iterResult.accept(this._cache.all[i])) break
}
cached=iterResult.getValue()
this._cacheAdd(what, cached, args)
}
return cached instanceof Array
? dateutil.cloneDates(cached)
: (cached instanceof Date ? dateutil.clone(cached):cached)
},
clone: function (){
return new RRule(this.origOptions)
},
_iter: function (iterResult){
var dtstart=this.options.dtstart
var dtstartMillisecondModulo=this.options.dtstart % 1000
var year=dtstart.getFullYear()
var month=dtstart.getMonth() + 1
var day=dtstart.getDate()
var hour=dtstart.getHours()
var minute=dtstart.getMinutes()
var second=dtstart.getSeconds()
var weekday=dateutil.getWeekday(dtstart)
var freq=this.options.freq
var interval=this.options.interval
var wkst=this.options.wkst
var until=this.options.until
var bymonth=this.options.bymonth
var byweekno=this.options.byweekno
var byyearday=this.options.byyearday
var byweekday=this.options.byweekday
var byeaster=this.options.byeaster
var bymonthday=this.options.bymonthday
var bynmonthday=this.options.bynmonthday
var bysetpos=this.options.bysetpos
var byhour=this.options.byhour
var byminute=this.options.byminute
var bysecond=this.options.bysecond
var ii=new Iterinfo(this)
ii.rebuild(year, month)
var getdayset={}
getdayset[RRule.YEARLY]=ii.ydayset
getdayset[RRule.MONTHLY]=ii.mdayset
getdayset[RRule.WEEKLY]=ii.wdayset
getdayset[RRule.DAILY]=ii.ddayset
getdayset[RRule.HOURLY]=ii.ddayset
getdayset[RRule.MINUTELY]=ii.ddayset
getdayset[RRule.SECONDLY]=ii.ddayset
getdayset=getdayset[freq]
var timeset
if(freq < RRule.HOURLY){
timeset=this.timeset
}else{
var gettimeset={}
gettimeset[RRule.HOURLY]=ii.htimeset
gettimeset[RRule.MINUTELY]=ii.mtimeset
gettimeset[RRule.SECONDLY]=ii.stimeset
gettimeset=gettimeset[freq]
if((freq >=RRule.HOURLY&&plb(byhour)&&!contains(byhour, hour)) ||
(freq >=RRule.MINUTELY&&plb(byminute)&&!contains(byminute, minute)) ||
(freq >=RRule.SECONDLY&&plb(bysecond)&&!contains(bysecond, minute))){
timeset=[]
}else{
timeset=gettimeset.call(ii, hour, minute, second, dtstartMillisecondModulo)
}}
var total=0
var count=this.options.count
var i, j, k, dm, div, mod, tmp, pos, dayset, start, end, fixday, filtered
while (true){
tmp=getdayset.call(ii, year, month, day)
dayset=tmp[0]
start=tmp[1]
end=tmp[2]
filtered=false
for (j=start; j < end; j++){
i=dayset[j]
filtered=(plb(bymonth)&&!contains(bymonth, ii.mmask[i])) ||
(plb(byweekno)&&!ii.wnomask[i]) ||
(plb(byweekday)&&!contains(byweekday, ii.wdaymask[i])) ||
(plb(ii.nwdaymask)&&!ii.nwdaymask[i]) ||
(byeaster!==null&&!contains(ii.eastermask, i)) ||
((plb(bymonthday)||plb(bynmonthday)) &&
!contains(bymonthday, ii.mdaymask[i]) &&
!contains(bynmonthday, ii.nmdaymask[i])) ||
(plb(byyearday) &&
((i < ii.yearlen &&
!contains(byyearday, i + 1) &&
!contains(byyearday, -ii.yearlen + i)) ||
(i >=ii.yearlen &&
!contains(byyearday, i + 1 - ii.yearlen) &&
!contains(byyearday, -ii.nextyearlen + i - ii.yearlen))))
if(filtered) dayset[i]=null
}
if(plb(bysetpos)&&plb(timeset)){
var daypos, timepos
var poslist=[]
for (i, j=0; j < bysetpos.length; j++){
pos=bysetpos[j]
if(pos < 0){
daypos=Math.floor(pos / timeset.length)
timepos=pymod(pos, timeset.length)
}else{
daypos=Math.floor((pos - 1) / timeset.length)
timepos=pymod((pos - 1), timeset.length)
}
try {
tmp=[]
for (k=start; k < end; k++){
var val=dayset[k]
if(val===null) continue
tmp.push(val)
}
if(daypos < 0){
i=tmp.slice(daypos)[0]
}else{
i=tmp[daypos]
}
var time=timeset[timepos]
var date=dateutil.fromOrdinal(ii.yearordinal + i)
var res=dateutil.combine(date, time)
if(!contains(poslist, res)) poslist.push(res)
} catch (e){}}
dateutil.sort(poslist)
for (j=0; j < poslist.length; j++){
res=poslist[j]
if(until&&res > until){
this._len=total
return iterResult.getValue()
}else if(res >=dtstart){
++total
if(!iterResult.accept(res)) return iterResult.getValue()
if(count){
--count
if(!count){
this._len=total
return iterResult.getValue()
}}
}}
}else{
for (j=start; j < end; j++){
i=dayset[j]
if(i!==null){
date=dateutil.fromOrdinal(ii.yearordinal + i)
for (k=0; k < timeset.length; k++){
time=timeset[k]
res=dateutil.combine(date, time)
if(until&&res > until){
this._len=total
return iterResult.getValue()
}else if(res >=dtstart){
++total
if(!iterResult.accept(res)) return iterResult.getValue()
if(count){
--count
if(!count){
this._len=total
return iterResult.getValue()
}}
}}
}}
}
fixday=false
if(freq===RRule.YEARLY){
year +=interval
if(year > dateutil.MAXYEAR){
this._len=total
return iterResult.getValue()
}
ii.rebuild(year, month)
}else if(freq===RRule.MONTHLY){
month +=interval
if(month > 12){
div=Math.floor(month / 12)
mod=pymod(month, 12)
month=mod
year +=div
if(month===0){
month=12
--year
}
if(year > dateutil.MAXYEAR){
this._len=total
return iterResult.getValue()
}}
ii.rebuild(year, month)
}else if(freq===RRule.WEEKLY){
if(wkst > weekday){
day +=-(weekday + 1 + (6 - wkst)) + interval * 7
}else{
day +=-(weekday - wkst) + interval * 7
}
weekday=wkst
fixday=true
}else if(freq===RRule.DAILY){
day +=interval
fixday=true
}else if(freq===RRule.HOURLY){
if(filtered){
hour +=Math.floor((23 - hour) / interval) * interval
}
while (true){
hour +=interval
dm=divmod(hour, 24)
div=dm.div
mod=dm.mod
if(div){
hour=mod
day +=div
fixday=true
}
if(!plb(byhour)||contains(byhour, hour)) break
}
timeset=gettimeset.call(ii, hour, minute, second)
}else if(freq===RRule.MINUTELY){
if(filtered){
minute +=Math.floor((1439 - (hour * 60 + minute)) / interval) * interval
}
while (true){
minute +=interval
dm=divmod(minute, 60)
div=dm.div
mod=dm.mod
if(div){
minute=mod
hour +=div
dm=divmod(hour, 24)
div=dm.div
mod=dm.mod
if(div){
hour=mod
day +=div
fixday=true
filtered=false
}}
if((!plb(byhour)||contains(byhour, hour)) &&
(!plb(byminute)||contains(byminute, minute))){
break
}}
timeset=gettimeset.call(ii, hour, minute, second)
}else if(freq===RRule.SECONDLY){
if(filtered){
second +=Math.floor((86399 - (hour * 3600 + minute * 60 + second)) / interval) * interval
}
while (true){
second +=interval
dm=divmod(second, 60)
div=dm.div
mod=dm.mod
if(div){
second=mod
minute +=div
dm=divmod(minute, 60)
div=dm.div
mod=dm.mod
if(div){
minute=mod
hour +=div
dm=divmod(hour, 24)
div=dm.div
mod=dm.mod
if(div){
hour=mod
day +=div
fixday=true
}}
}
if((!plb(byhour)||contains(byhour, hour)) &&
(!plb(byminute)||contains(byminute, minute)) &&
(!plb(bysecond)||contains(bysecond, second))){
break
}}
timeset=gettimeset.call(ii, hour, minute, second)
}
if(fixday&&day > 28){
var daysinmonth=dateutil.monthRange(year, month - 1)[1]
if(day > daysinmonth){
while (day > daysinmonth){
day -=daysinmonth
++month
if(month===13){
month=1
++year
if(year > dateutil.MAXYEAR){
this._len=total
return iterResult.getValue()
}}
daysinmonth=dateutil.monthRange(year, month - 1)[1]
}
ii.rebuild(year, month)
}}
}}
}
RRule.parseString=function (rfcString){
rfcString=rfcString.replace(/^\s+|\s+$/, '')
if(!rfcString.length) return null
var i, j, key, value, attr
var attrs=rfcString.split(';')
var options={}
for (i=0; i < attrs.length; i++){
attr=attrs[i].split('=')
key=attr[0]
value=attr[1]
switch (key){
case 'FREQ':
options.freq=RRule[value]
break
case 'WKST':
options.wkst=RRule[value]
break
case 'COUNT':
case 'INTERVAL':
case 'BYSETPOS':
case 'BYMONTH':
case 'BYMONTHDAY':
case 'BYYEARDAY':
case 'BYWEEKNO':
case 'BYHOUR':
case 'BYMINUTE':
case 'BYSECOND':
if(value.indexOf(',')!==-1){
value=value.split(',')
for (j=0; j < value.length; j++){
if(/^[+-]?\d+$/.test(value[j])) value[j]=Number(value[j])
}}else if(/^[+-]?\d+$/.test(value)){
value=Number(value)
}
key=key.toLowerCase()
options[key]=value
break
case 'BYDAY':
var n, wday, day
var days=value.split(',')
options.byweekday=[]
for (j=0; j < days.length; j++){
day=days[j]
if(day.length===2){
wday=RRule[day]
options.byweekday.push(wday)
}else{
day=day.match(/^([+-]?\d)([A-Z]{2})$/)
n=Number(day[1])
wday=day[2]
wday=RRule[wday].weekday
options.byweekday.push(new Weekday(wday, n))
}}
break
case 'DTSTART':
options.dtstart=dateutil.untilStringToDate(value)
break
case 'UNTIL':
options.until=dateutil.untilStringToDate(value)
break
case 'BYEASTER':
options.byeaster=Number(value)
break
default:
throw new Error("Unknown RRULE property '" + key + "'")
}}
return options
}
RRule.fromString=function (string){
return new RRule(RRule.parseString(string))
}
var Iterinfo=function (rrule){
this.rrule=rrule
this.lastyear=null
this.lastmonth=null
this.yearlen=null
this.nextyearlen=null
this.yearordinal=null
this.yearweekday=null
this.mmask=null
this.mrange=null
this.mdaymask=null
this.nmdaymask=null
this.wdaymask=null
this.wnomask=null
this.nwdaymask=null
this.eastermask=null
}
Iterinfo.prototype.easter=function (y, offset){
offset=offset||0
var a=y % 19
var b=Math.floor(y / 100)
var c=y % 100
var d=Math.floor(b / 4)
var e=b % 4
var f=Math.floor((b + 8) / 25)
var g=Math.floor((b - f + 1) / 3)
var h=Math.floor(19 * a + b - d - g + 15) % 30
var i=Math.floor(c / 4)
var k=c % 4
var l=Math.floor(32 + 2 * e + 2 * i - h - k) % 7
var m=Math.floor((a + 11 * h + 22 * l) / 451)
var month=Math.floor((h + l - 7 * m + 114) / 31)
var day=(h + l - 7 * m + 114) % 31 + 1
var date=Date.UTC(y, month - 1, day + offset)
var yearStart=Date.UTC(y, 0, 1)
return [Math.ceil((date - yearStart) / (1000 * 60 * 60 * 24))]
}
Iterinfo.prototype.rebuild=function (year, month){
var rr=this.rrule
if(year!==this.lastyear){
this.yearlen=dateutil.isLeapYear(year) ? 366:365
this.nextyearlen=dateutil.isLeapYear(year + 1) ? 366:365
var firstyday=new Date(year, 0, 1)
this.yearordinal=dateutil.toOrdinal(firstyday)
this.yearweekday=dateutil.getWeekday(firstyday)
var wday=dateutil.getWeekday(new Date(year, 0, 1))
if(this.yearlen===365){
this.mmask=[].concat(M365MASK)
this.mdaymask=[].concat(MDAY365MASK)
this.nmdaymask=[].concat(NMDAY365MASK)
this.wdaymask=WDAYMASK.slice(wday)
this.mrange=[].concat(M365RANGE)
}else{
this.mmask=[].concat(M366MASK)
this.mdaymask=[].concat(MDAY366MASK)
this.nmdaymask=[].concat(NMDAY366MASK)
this.wdaymask=WDAYMASK.slice(wday)
this.mrange=[].concat(M366RANGE)
}
if(!plb(rr.options.byweekno)){
this.wnomask=null
}else{
this.wnomask=repeat(0, this.yearlen + 7)
var no1wkst, firstwkst, wyearlen
no1wkst=firstwkst=pymod(7 - this.yearweekday + rr.options.wkst, 7)
if(no1wkst >=4){
no1wkst=0
wyearlen=this.yearlen + pymod(this.yearweekday - rr.options.wkst, 7)
}else{
wyearlen=this.yearlen - no1wkst
}
var div=Math.floor(wyearlen / 7)
var mod=pymod(wyearlen, 7)
var numweeks=Math.floor(div + (mod / 4))
for (var n, i, j=0; j < rr.options.byweekno.length; j++){
n=rr.options.byweekno[j]
if(n < 0){
n +=numweeks + 1
} if(!(n > 0&&n <=numweeks)){
continue
} if(n > 1){
i=no1wkst + (n - 1) * 7
if(no1wkst!==firstwkst){
i -=7 - firstwkst
}}else{
i=no1wkst
}
for (var k=0; k < 7; k++){
this.wnomask[i]=1
i++
if(this.wdaymask[i]===rr.options.wkst) break
}}
if(contains(rr.options.byweekno, 1)){
i=no1wkst + numweeks * 7
if(no1wkst!==firstwkst) i -=7 - firstwkst
if(i < this.yearlen){
for (j=0; j < 7; j++){
this.wnomask[i]=1
i +=1
if(this.wdaymask[i]===rr.options.wkst) break
}}
}
if(no1wkst){
var lnumweeks
if(!contains(rr.options.byweekno, -1)){
var lyearweekday=dateutil.getWeekday(new Date(year - 1, 0, 1))
var lno1wkst=pymod(7 - lyearweekday + rr.options.wkst, 7)
var lyearlen=dateutil.isLeapYear(year - 1) ? 366:365
if(lno1wkst >=4){
lno1wkst=0
lnumweeks=Math.floor(52 +
pymod(lyearlen + pymod(lyearweekday - rr.options.wkst, 7), 7) / 4)
}else{
lnumweeks=Math.floor(52 + pymod(this.yearlen - no1wkst, 7) / 4)
}}else{
lnumweeks=-1
}
if(contains(rr.options.byweekno, lnumweeks)){
for (i=0; i < no1wkst; i++) this.wnomask[i]=1
}}
}}
if(plb(rr.options.bynweekday)&&(month!==this.lastmonth||year!==this.lastyear)){
var ranges=[]
if(rr.options.freq===RRule.YEARLY){
if(plb(rr.options.bymonth)){
for (j=0; j < rr.options.bymonth.length; j++){
month=rr.options.bymonth[j]
ranges.push(this.mrange.slice(month - 1, month + 1))
}}else{
ranges=[[0, this.yearlen]]
}}else if(rr.options.freq===RRule.MONTHLY){
ranges=[this.mrange.slice(month - 1, month + 1)]
}
if(plb(ranges)){
this.nwdaymask=repeat(0, this.yearlen)
for (j=0; j < ranges.length; j++){
var rang=ranges[j]
var first=rang[0]
var last=rang[1]
last -=1
for (k=0; k < rr.options.bynweekday.length; k++){
wday=rr.options.bynweekday[k][0]
n=rr.options.bynweekday[k][1]
if(n < 0){
i=last + (n + 1) * 7
i -=pymod(this.wdaymask[i] - wday, 7)
}else{
i=first + (n - 1) * 7
i +=pymod(7 - this.wdaymask[i] + wday, 7)
}
if(first <=i&&i <=last) this.nwdaymask[i]=1
}}
}
this.lastyear=year
this.lastmonth=month
}
if(rr.options.byeaster!==null){
this.eastermask=this.easter(year, rr.options.byeaster)
}}
Iterinfo.prototype.ydayset=function (year, month, day){
return [range(this.yearlen), 0, this.yearlen]
}
Iterinfo.prototype.mdayset=function (year, month, day){
var set=repeat(null, this.yearlen)
var start=this.mrange[month - 1]
var end=this.mrange[month]
for (var i=start; i < end; i++) set[i]=i
return [set, start, end]
}
Iterinfo.prototype.wdayset=function (year, month, day){
var set=repeat(null, this.yearlen + 7)
var i=dateutil.toOrdinal(new Date(year, month - 1, day)) - this.yearordinal
var start=i
for (var j=0; j < 7; j++){
set[i]=i
++i
if(this.wdaymask[i]===this.rrule.options.wkst) break
}
return [set, start, i]
}
Iterinfo.prototype.ddayset=function (year, month, day){
var set=repeat(null, this.yearlen)
var i=dateutil.toOrdinal(new Date(year, month - 1, day)) - this.yearordinal
set[i]=i
return [set, i, i + 1]
}
Iterinfo.prototype.htimeset=function (hour, minute, second, millisecond){
var set=[]
var rr=this.rrule
for (var i=0; i < rr.options.byminute.length; i++){
minute=rr.options.byminute[i]
for (var j=0; j < rr.options.bysecond.length; j++){
second=rr.options.bysecond[j]
set.push(new dateutil.Time(hour, minute, second, millisecond))
}}
dateutil.sort(set)
return set
}
Iterinfo.prototype.mtimeset=function (hour, minute, second, millisecond){
var set=[]
var rr=this.rrule
for (var j=0; j < rr.options.bysecond.length; j++){
second=rr.options.bysecond[j]
set.push(new dateutil.Time(hour, minute, second, millisecond))
}
dateutil.sort(set)
return set
}
Iterinfo.prototype.stimeset=function (hour, minute, second, millisecond){
return [new dateutil.Time(hour, minute, second, millisecond)]
}
var IterResult=function (method, args){
this.init(method, args)
}
IterResult.prototype={
constructor: IterResult,
init: function (method, args){
this.method=method
this.args=args
this.minDate=null
this.maxDate=null
this._result=[]
if(method==='between'){
this.maxDate=args.inc
? args.before:new Date(args.before.getTime() - 1)
this.minDate=args.inc
? args.after:new Date(args.after.getTime() + 1)
}else if(method==='before'){
this.maxDate=args.inc ? args.dt:new Date(args.dt.getTime() - 1)
}else if(method==='after'){
this.minDate=args.inc ? args.dt:new Date(args.dt.getTime() + 1)
}},
accept: function (date){
var tooEarly=this.minDate&&date < this.minDate
var tooLate=this.maxDate&&date > this.maxDate
if(this.method==='between'){
if(tooEarly) return true
if(tooLate) return false
}else if(this.method==='before'){
if(tooLate) return false
}else if(this.method==='after'){
if(tooEarly) return true
this.add(date)
return false
}
return this.add(date)
},
add: function (date){
this._result.push(date)
return true
},
getValue: function (){
var res=this._result
switch (this.method){
case 'all':
case 'between':
return res
case 'before':
case 'after':
return res.length ? res[res.length - 1]:null
}},
clone: function (){
return new IterResult(this.method, this.args)
}}
var CallbackIterResult=function (method, args, iterator){
var allowedMethods=['all', 'between']
if(!contains(allowedMethods, method)){
throw new Error('Invalid method "' + method +
'". Only all and between works with iterator.')
}
this.add=function (date){
if(iterator(date, this._result.length)){
this._result.push(date)
return true
}
return false
}
this.init(method, args)
}
CallbackIterResult.prototype=IterResult.prototype
var RRuleSet=function (noCache){
this._cache=noCache ? null:{
all: false,
before: [],
after: [],
between: []
}
this._rrule=[]
this._rdate=[]
this._exrule=[]
this._exdate=[]
}
RRuleSet.prototype={
constructor: RRuleSet,
rrule: function (rrule){
if(!(rrule instanceof RRule)){
throw new TypeError(String(rrule) + ' is not RRule instance')
}
if(!contains(this._rrule.map(String), String(rrule))){
this._rrule.push(rrule)
}},
rdate: function (date){
if(!(date instanceof Date)){
throw new TypeError(String(date) + ' is not Date instance')
}
if(!contains(this._rdate.map(Number), Number(date))){
this._rdate.push(date)
dateutil.sort(this._rdate)
}},
exrule: function (rrule){
if(!(rrule instanceof RRule)){
throw new TypeError(String(rrule) + ' is not RRule instance')
}
if(!contains(this._exrule.map(String), String(rrule))){
this._exrule.push(rrule)
}},
exdate: function (date){
if(!(date instanceof Date)){
throw new TypeError(String(date) + ' is not Date instance')
}
if(!contains(this._exdate.map(Number), Number(date))){
this._exdate.push(date)
dateutil.sort(this._exdate)
}},
valueOf: function (){
var result=[]
if(this._rrule.length){
this._rrule.forEach(function (rrule){
result.push('RRULE:' + rrule)
})
}
if(this._rdate.length){
result.push('RDATE:' + this._rdate.map(function (rdate){
return dateutil.timeToUntilString(rdate)
}).join(','))
}
if(this._exrule.length){
this._exrule.forEach(function (exrule){
result.push('EXRULE:' + exrule)
})
}
if(this._exdate.length){
result.push('EXDATE:' + this._exdate.map(function (exdate){
return dateutil.timeToUntilString(exdate)
}).join(','))
}
return result
},
toString: function (){
return JSON.stringify(this.valueOf())
},
_iter: function (iterResult){
var _exdateHash={}
var _exrule=this._exrule
var _accept=iterResult.accept
function evalExdate (after, before){
_exrule.forEach(function (rrule){
rrule.between(after, before, true).forEach(function (date){
_exdateHash[Number(date)]=true
})
})
}
this._exdate.forEach(function (date){
_exdateHash[Number(date)]=true
})
iterResult.accept=function (date){
var dt=Number(date)
if(!_exdateHash[dt]){
evalExdate(new Date(dt - 1), new Date(dt + 1))
if(!_exdateHash[dt]){
_exdateHash[dt]=true
return _accept.call(this, date)
}}
return true
}
if(iterResult.method==='between'){
evalExdate(iterResult.args.after, iterResult.args.before)
iterResult.accept=function (date){
var dt=Number(date)
if(!_exdateHash[dt]){
_exdateHash[dt]=true
return _accept.call(this, date)
}
return true
}}
for (var i=0; i < this._rdate.length; i++){
if(!iterResult.accept(new Date(this._rdate[i]))) break
}
this._rrule.forEach(function (rrule){
rrule._iter(iterResult)
})
var res=iterResult._result
dateutil.sort(res)
switch (iterResult.method){
case 'all':
case 'between':
return res
case 'before':
return (res.length&&res[res.length - 1])||null
case 'after':
return (res.length&&res[0])||null
default:
return null
}},
clone: function (){
var rrs=new RRuleSet(!!this._cache)
var i
for (i=0; i < this._rrule.length; i++){
rrs.rrule(this._rrule[i].clone())
}
for (i=0; i < this._rdate.length; i++){
rrs.rdate(new Date(this._rdate[i]))
}
for (i=0; i < this._exrule.length; i++){
rrs.exrule(this._exrule[i].clone())
}
for (i=0; i < this._exdate.length; i++){
rrs.exdate(new Date(this._exdate[i]))
}
return rrs
}}
var RRuleSetMethods=['all', 'between', 'before', 'after', 'count', '_cacheAdd', '_cacheGet']
RRuleSetMethods.forEach(function (method){
RRuleSet.prototype[method]=RRule.prototype[method]
})
var RRuleStr=function (){}
RRuleStr.DEFAULT_OPTIONS={
dtstart: null,
cache: false,
unfold: false,
forceset: false,
compatible: false,
ignoretz: false,
tzinfos: null
}
RRuleStr._freq_map={
'YEARLY': RRule.YEARLY,
'MONTHLY': RRule.MONTHLY,
'WEEKLY': RRule.WEEKLY,
'DAILY': RRule.DAILY,
'HOURLY': RRule.HOURLY,
'MINUTELY': RRule.MINUTELY,
'SECONDLY': RRule.SECONDLY
}
RRuleStr._weekday_map={
'MO': 0,
'TU': 1,
'WE': 2,
'TH': 3,
'FR': 4,
'SA': 5,
'SU': 6
}
RRuleStr.prototype={
constructor: RRuleStr,
_handle_int: function (rrkwargs, name, value, options){
rrkwargs[name.toLowerCase()]=parseInt(value, 10)
},
_handle_int_list: function (rrkwargs, name, value, options){
rrkwargs[name.toLowerCase()]=value.split(',').map(function (x){
return parseInt(x, 10)
})
},
_handle_FREQ: function (rrkwargs, name, value, options){
rrkwargs['freq']=RRuleStr._freq_map[value]
},
_handle_UNTIL: function (rrkwargs, name, value, options){
try {
rrkwargs['until']=dateutil.untilStringToDate(value)
} catch (error){
throw new Error('invalid until date')
}},
_handle_WKST: function (rrkwargs, name, value, options){
rrkwargs['wkst']=RRuleStr._weekday_map[value]
},
_handle_BYWEEKDAY: function (rrkwargs, name, value, options){
var splt, i, j, n, w, wday
var l=[]
var wdays=value.split(',')
for (i=0; i < wdays.length; i++){
wday=wdays[i]
if(wday.indexOf('(') > -1){
splt=wday.split('(')
w=splt[0]
n=parseInt(splt.slice(1, -1), 10)
}else{
for (j=0; j < wday.length; j++){
if('+-0123456789'.indexOf(wday[j])===-1) break
}
n=wday.slice(0, j)||null
w=wday.slice(j)
if(n) n=parseInt(n, 10)
}
var weekday=new Weekday(RRuleStr._weekday_map[w], n)
l.push(weekday)
}
rrkwargs['byweekday']=l
},
_parseRfcRRule: function (line, options){
options=options||{}
options.dtstart=options.dtstart||null
options.cache=options.cache||false
options.ignoretz=options.ignoretz||false
options.tzinfos=options.tzinfos||null
var name, value, parts
if(line.indexOf(':')!==-1){
parts=line.split(':')
name=parts[0]
value=parts[1]
if(name!=='RRULE') throw new Error('unknown parameter name')
}else{
value=line
}
var i
var rrkwargs={}
var pairs=value.split(';')
for (i=0; i < pairs.length; i++){
parts=pairs[i].split('=')
name=parts[0].toUpperCase()
value=parts[1].toUpperCase()
try {
this['_handle_' + name](rrkwargs, name, value, {
ignoretz: options.ignoretz,
tzinfos: options.tzinfos
})
} catch (error){
throw new Error("unknown parameter '" + name + "':" + value)
}}
rrkwargs.dtstart=rrkwargs.dtstart||options.dtstart
return new RRule(rrkwargs, !options.cache)
},
_parseRfc: function (s, options){
if(options.compatible){
options.forceset=true
options.unfold=true
}
s=s&&s.toUpperCase().trim()
if(!s) throw new Error('Invalid empty string')
var i=0
var line, lines
if(options.unfold){
lines=s.split('\n')
while (i < lines.length){
line=lines[i]=lines[i].replace(/\s+$/g, '')
if(!line){
lines.splice(i, 1)
}else if(i > 0&&line[0]===' '){
lines[i - 1] +=line.slice(1)
lines.splice(i, 1)
}else{
i +=1
}}
}else{
lines=s.split(/\s/)
}
var rrulevals=[]
var rdatevals=[]
var exrulevals=[]
var exdatevals=[]
var name, value, parts, parms, parm, dtstart, rset, j, k, datestrs, datestr
if(!options.forceset&&lines.length===1&&(s.indexOf(':')===-1 ||
s.indexOf('RRULE:')===0)){
return this._parseRfcRRule(lines[0], {
cache: options.cache,
dtstart: options.dtstart,
ignoretz: options.ignoretz,
tzinfos: options.tzinfos
})
}else{
for (i=0; i < lines.length; i++){
line=lines[i]
if(!line) continue
if(line.indexOf(':')===-1){
name='RRULE'
value=line
}else{
parts=split(line, ':', 1)
name=parts[0]
value=parts[1]
}
parms=name.split(';')
if(!parms) throw new Error('empty property name')
name=parms[0]
parms=parms.slice(1)
if(name==='RRULE'){
for (j=0; j < parms.length; j++){
parm=parms[j]
throw new Error('unsupported RRULE parm: ' + parm)
}
rrulevals.push(value)
}else if(name==='RDATE'){
for (j=0; j < parms.length; j++){
parm=parms[j]
if(parm!=='VALUE=DATE-TIME'){
throw new Error('unsupported RDATE parm: ' + parm)
}}
rdatevals.push(value)
}else if(name==='EXRULE'){
for (j=0; j < parms.length; j++){
parm=parms[j]
throw new Error('unsupported EXRULE parm: ' + parm)
}
exrulevals.push(value)
}else if(name==='EXDATE'){
for (j=0; j < parms.length; j++){
parm=parms[j]
if(parm!=='VALUE=DATE-TIME'){
throw new Error('unsupported RDATE parm: ' + parm)
}}
exdatevals.push(value)
}else if(name==='DTSTART'){
dtstart=dateutil.untilStringToDate(value)
}else{
throw new Error('unsupported property: ' + name)
}}
if(options.forceset||rrulevals.length > 1||rdatevals.length ||
exrulevals.length||exdatevals.length){
rset=new RRuleSet(!options.cache)
for (j=0; j < rrulevals.length; j++){
rset.rrule(this._parseRfcRRule(rrulevals[j], {
dtstart: options.dtstart||dtstart,
ignoretz: options.ignoretz,
tzinfos: options.tzinfos
}))
}
for (j=0; j < rdatevals.length; j++){
datestrs=rdatevals[j].split(',')
for (k=0; k < datestrs.length; k++){
datestr=datestrs[k]
rset.rdate(dateutil.untilStringToDate(datestr))
}}
for (j=0; j < exrulevals.length; j++){
rset.exrule(this._parseRfcRRule(exrulevals[j], {
dtstart: options.dtstart||dtstart,
ignoretz: options.ignoretz,
tzinfos: options.tzinfos
}))
}
for (j=0; j < exdatevals.length; j++){
datestrs=exdatevals[j].split(',')
for (k=0; k < datestrs.length; k++){
datestr=datestrs[k]
rset.exdate(dateutil.untilStringToDate(datestr))
}}
if(options.campatiable&&options.dtstart) rset.rdate(dtstart)
return rset
}else{
return this._parseRfcRRule(rrulevals[0], {
dtstart: options.dtstart||dtstart,
cache: options.cache,
ignoretz: options.ignoretz,
tzinfos: options.tzinfos
})
}}
},
parse: function (s, options){
options=options||{}
var invalid=[]
var keys=Object.keys(options)
var defaultKeys=Object.keys(RRuleStr.DEFAULT_OPTIONS)
keys.forEach(function (key){
if(!contains(defaultKeys, key)) invalid.push(key)
}, this)
if(invalid.length) throw new Error('Invalid options: ' + invalid.join(', '))
defaultKeys.forEach(function (key){
if(!contains(keys, key)) options[key]=RRuleStr.DEFAULT_OPTIONS[key]
})
return this._parseRfc(s, options)
}}
RRuleStr.prototype._handle_DTSTART=function (rrkwargs, name, value, options){
rrkwargs[name.toLowerCase()]=dateutil.untilStringToDate(value)
}
RRuleStr.prototype._handle_BYDAY=RRuleStr.prototype._handle_BYWEEKDAY
RRuleStr.prototype._handle_INTERVAL=RRuleStr.prototype._handle_int
RRuleStr.prototype._handle_COUNT=RRuleStr.prototype._handle_int
;[
'_handle_BYSETPOS', '_handle_BYMONTH', '_handle_BYMONTHDAY',
'_handle_BYYEARDAY', '_handle_BYEASTER', '_handle_BYWEEKNO',
'_handle_BYHOUR', '_handle_BYMINUTE', '_handle_BYSECOND'
].forEach(function (method){
RRuleStr.prototype[method]=RRuleStr.prototype._handle_int_list
})
var rruleStr=new RRuleStr()
var rrulestr=function (){
return rruleStr.parse.apply(rruleStr, arguments)
}
RRule.RRule=RRule
RRule.RRuleSet=RRuleSet
RRule.rrulestr=rrulestr
return RRule
function getnlp (){
if(!getnlp._nlp){
if(root&&root._getRRuleNLP){
getnlp._nlp=root._getRRuleNLP(RRule)
}else if(typeof require==='function'){
getnlp._nlp=require('./nlp')(RRule)
}else{
throw new Error('You need to include rrule/nlp.js for fromText/toText to work.')
}}
return getnlp._nlp
}}));
var i18n=jQuery.extend({}, i18n||{}, {
dcmvcal: {
dateformat: {
"fulldaykey": "MMddyyyy",
"fulldayshow": "d L yyyy",
"fulldayvalue": "d/M/yyyy",
"Md": "W d/M",
"nDaysView": "d/M",
"listViewDate": "d L yyyy",
"Md3": "d L",
"separator": "/",
"year_index": 2,
"month_index": 0,
"day_index": 1,
"day": "d",
"sun2": "Du",
"mon2": "Lu",
"tue2": "Ma",
"wed2": "Mi",
"thu2": "Jo",
"fri2": "Vi",
"sat2": "Sa",
"sun": "Вск",
"mon": "Lun",
"tue": "Mar",
"wed": "Срд",
"thu": "Чтв",
"fri": "Птн",
"sat": "Сбт",
"sunday": "Воскресенье",
"monday": "Понедельник",
"tuesday": "Вторник",
"wednesday": "Среда",
"thursday": "Четверг",
"friday": "Пятница",
"saturday": "Суббота",
"jan": "Ian",
"feb": "Feb",
"mar": "Mar",
"apr": "Apr",
"may": "Mai",
"jun": "Iun",
"jul": "Iul",
"aug": "Aug",
"sep": "Sep",
"oct": "Oct",
"nov": "Noi",
"dec": "Dec",
"l_jan": "Ianuarie",
"l_feb": "Februarie",
"l_mar": "Martie",
"l_apr": "Aprilie",
"l_may": "Mai",
"l_jun": "Iunie",
"l_jul": "Iulie",
"l_aug": "August",
"l_sep": "Septembrie",
"l_oct": "Octombrie",
"l_nov": "Noiembrie",
"l_dec": "Decembrie"
},
"no_implemented": "Не реализовано",
"to_date_view": "Нажмите, чтобы увидеть дату",
"i_undefined": "Не определено",
"allday_event": "Целый день",
"repeat_event": "Повторить событие",
"time": "Время",
"event": "Событие",
"location": "Местонахождение",
"participant": "Участник",
"get_data_exception": "Исключение при получении данных",
"new_event": "Новое событие",
"confirm_delete_event": "Удалить событие ?",
"confrim_delete_event_or_all": "Do you want to delete all repeat events or only this event? \r\nClick [OK] to delete only this event, click [Cancel] delete all events",
"data_format_error": "Неверный формат даты",
"invalid_title": "Укажите название события ($<>)",
"view_no_ready": "View is not ready",
"example": "например: встреча в кафе в 18:00",
"content": "Тема",
"create_event": "Создать событие",
"update_detail": "Редактировать",
"click_to_detail": "Подробнее",
"i_delete": "Удалить",
"i_save": "Сохранить",
"i_close": "Закрыть",
"day_plural": "дни",
"others": "Другие",
"item": "",
"loading_data":"Загрузка данных...",
"request_processed":"Запрос обрабатывается...",
"success":"Выполнено",
"are_you_sure_delete":"Удалить это событие ?",
"ok":"Ok",
"cancel":"Отмена",
"manage_the_calendar":"Управление календарём",
"error_occurs":"Произошла ошибка",
"color":"Цвет",
"invalid_date_format":"Неверный формат даты",
"invalid_time_format":"Неверный формат времени",
"_simbol_not_allowed":"$<> не допускаются",
"subject":"Объект",
"time":"Дата",
"to":"Для",
"all_day_event":"Целый день",
"location":"Местонахождение",
"remark":"Описание",
"click_to_create_new_event":"Нажмите, чтобы создать событие",
"new_event":"Новое событие",
"click_to_back_to_today":"Нажмите, чтобы вернуться назад",
"today":"Сегодня",
"sday":"День",
"week":"Неделя",
"month":"Месяц",
"ndays":"Дней",
"list":"List",
"nmonth":"Год",
"refresh_view":"Обновить",
"refresh":"Обновить",
"prev":"Пред",
"next":"След",
"loading":"Загрузка",
"error_overlapping":"Это событие накладывается на другое",
"sorry_could_not_load_your_data":"К сожалению, не удалось загрузить ваши данные, повторите попытку позже",
"first":"Первый",
"second":"Второй",
"third":"Третий",
"fourth":"Четвёртый",
"last":"последний",
"repeat":"Повтор: ",
"edit":"Редактировать",
"edit_recurring_event":"Редактировать повтор события",
"would_you_like_to_change_only_this_event_all_events_in_the_series_or_this_and_all_following_events_in_the_series":"Хотели бы Вы изменить только это событие, все события в серии, или это и все последующие события в серии?",
"only_this_event":"Только это событие",
"all_other_events_in_the_series_will_remain_the_same":"Все остальные события в серии останутся прежними.",
"following_events":"Следующие события",
"this_and_all_the_following_events_will_be_changed":"Это и все последующие события будут изменены.",
"any_changes_to_future_events_will_be_lost":"Все изменения в наступающих событиях будут потеряны.",
"all_events":"Все события",
"all_events_in_the_series_will_be_changed":"Все события в этой серии будут изменены.",
"any_changes_made_to_other_events_will_be_kept":"Все изменения в других событиях, будут сохранены.",
"cancel_this_change":"Отменить это изменение",
"delete_recurring_event":"Удалить повторяющееся событие",
"would_you_like_to_delete_only_this_event_all_events_in_the_series_or_this_and_all_future_events_in_the_series":"Хотели бы Вы, чтобы удалить только это событие, все события в серии, или это и все последующие события в серии?",
"only_this_instance":"Только в этом случае",
"all_other_events_in_the_series_will_remain":"Все остальные события в серии останутся",
"all_following":"Все последующие",
"this_and_all_the_following_events_will_be_deleted":"Это и все последующие события будут удалены.",
"all_events_in_the_series":"Все события в серии",
"all_events_in_the_series_will_be_deleted":"Все события в серии будут удалены.",
"repeats":"Повторы",
"daily":"Ежедневно",
"every_weekday_monday_to_friday":"Каждый будний день (с понедельника по пятницу)",
"every_monday_wednesday_and_friday":"Каждый понедельник, среду и пятницу",
"every_tuesday_and_thursday":"Каждый вторник и четверг",
"weekly":"Еженедельно",
"monthly":"Ежемесячно",
"yearly":"Ежегодно",
"repeat_every":"Повтор каждый:",
"weeks":"недели",
"repeat_on":"Повторить с:",
"repeat_by":"Повторить по:",
"day_of_the_month":"день месяца",
"day_of_the_week":"день недели",
"starts_on":"Начинать с:",
"ends":"Заканчивать:",
"never":" Никогда",
"after":"После",
"occurrences":"входы",
"summary":"Резюме:",
"every":"Каждый",
"weekly_on_weekdays":"Еженедельно по будням",
"weekly_on_monday_wednesday_friday":"Еженедельно по понедельникам, средам, пятница",
"weekly_on_tuesday_thursday":"Еженедельно по вторникам, четвергам",
"on":"в",
"on_day":"в день",
"on_the":"на",
"months":"месяцев",
"annually":"ежегодно",
"years":"лет",
"once":"один раз",
"times":"раз",
"readmore":"read more",
"readmore_less":"less",
"reminder_to":"Reminder to",
"reminder_before":"",
"reminder_days":"days",
"reminder_hours":"hours",
"reminder_minutes":"minutes",
"rowmonth":"Month Hours",
"until":"до"
}});
; (function($){
var __WDAY=new Array(i18n.dcmvcal.dateformat.sun, i18n.dcmvcal.dateformat.mon, i18n.dcmvcal.dateformat.tue, i18n.dcmvcal.dateformat.wed, i18n.dcmvcal.dateformat.thu, i18n.dcmvcal.dateformat.fri, i18n.dcmvcal.dateformat.sat);
var __WDAYLarge=new Array(i18n.dcmvcal.dateformat.sunday, i18n.dcmvcal.dateformat.monday, i18n.dcmvcal.dateformat.tuesday, i18n.dcmvcal.dateformat.wednesday, i18n.dcmvcal.dateformat.thursday, i18n.dcmvcal.dateformat.friday, i18n.dcmvcal.dateformat.saturday);
var __WDAY2=new Array(i18n.dcmvcal.dateformat.sun2, i18n.dcmvcal.dateformat.mon2, i18n.dcmvcal.dateformat.tue2, i18n.dcmvcal.dateformat.wed2, i18n.dcmvcal.dateformat.thu2, i18n.dcmvcal.dateformat.fri2, i18n.dcmvcal.dateformat.sat2);
var __MonthName=new Array(i18n.dcmvcal.dateformat.jan, i18n.dcmvcal.dateformat.feb, i18n.dcmvcal.dateformat.mar, i18n.dcmvcal.dateformat.apr, i18n.dcmvcal.dateformat.may, i18n.dcmvcal.dateformat.jun, i18n.dcmvcal.dateformat.jul, i18n.dcmvcal.dateformat.aug, i18n.dcmvcal.dateformat.sep, i18n.dcmvcal.dateformat.oct, i18n.dcmvcal.dateformat.nov, i18n.dcmvcal.dateformat.dec);
var __MonthNameLarge=new Array(i18n.dcmvcal.dateformat.l_jan, i18n.dcmvcal.dateformat.l_feb, i18n.dcmvcal.dateformat.l_mar, i18n.dcmvcal.dateformat.l_apr, i18n.dcmvcal.dateformat.l_may, i18n.dcmvcal.dateformat.l_jun, i18n.dcmvcal.dateformat.l_jul, i18n.dcmvcal.dateformat.l_aug, i18n.dcmvcal.dateformat.l_sep, i18n.dcmvcal.dateformat.l_oct, i18n.dcmvcal.dateformat.l_nov, i18n.dcmvcal.dateformat.l_dec);
var __MilitaryTime=true;
var __TheContainer="";
var arrs=new Array
arrs[i18n.dcmvcal.dateformat.year_index]="yyyy";
arrs[i18n.dcmvcal.dateformat.month_index]="M";
arrs[i18n.dcmvcal.dateformat.day_index]="d";
i18n.dcmvcal.dateformat.fulldayvalue=arrs.join(i18n.dcmvcal.dateformat.separator);
var dialogUnBlur=function(){
unBlur();
$('body').click(unBlur);
$('.ui-button').off('focus');
function unBlur(){
$('.ui-button').blur();
}}
if(!Clone||typeof (Clone)!="function"){
var Clone=function(obj){
var objClone=new Object();
if(obj.constructor==Object){
objClone=new obj.constructor();
}else{
objClone=new obj.constructor(obj.valueOf());
}
for (var key in obj){
if(objClone[key]!=obj[key]){
if(typeof (obj[key])=='object'){
objClone[key]=Clone(obj[key]);
}else{
objClone[key]=obj[key];
}}
}
objClone.toString=obj.toString;
objClone.valueOf=obj.valueOf;
return objClone;
}}
if(!dateFormat||typeof (dateFormat)!="function"){
var dateFormat=function(format){
var o={
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"H+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"w": "0123456".indexOf(this.getDay()),
"W": __WDAY[this.getDay()],
"L": __MonthName[this.getMonth()]
};
if(/(y+)/.test(format)){
format=format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
var format1=format;
for (var k in o){
if((new RegExp("(" + k + ")").test(format))&&(new RegExp("(" + k + ")").test(format1)))
format=format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k]:("00" + o[k]).substr(("" + o[k]).length));
}
return format;
};}
if(!DateAdd||typeof (DateDiff)!="function"){
var DateAdd=function(interval, number, idate){
number=parseInt(number);
var date;
if(typeof (idate)=="string"){
date=idate.split(/\D/);
eval("var date=new Date(" + date.join(",") + ")");
}
if(typeof (idate)=="object"){
date=new Date(idate.toString());
}
switch (interval){
case "y": date.setFullYear(date.getFullYear() + number); break;
case "m": date.setMonth(date.getMonth() + number); break;
case "d": date.setDate(date.getDate() + number); break;
case "w": date.setDate(date.getDate() + 7 * number); break;
case "h": date.setHours(date.getHours() + number); break;
case "n": date.setMinutes(date.getMinutes() + number); break;
case "s": date.setSeconds(date.getSeconds() + number); break;
case "l": date.setMilliseconds(date.getMilliseconds() + number); break;
}
return date;
}}
if(!DateDiff||typeof (DateDiff)!="function"){
var DateDiff=function(interval, d1, d2){
switch (interval){
case "d":
case "w":
d1=new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());
d2=new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
break;
case "h":
d1=new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours());
d2=new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours());
break;
case "n":
d1=new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours(), d1.getMinutes());
d2=new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours(), d2.getMinutes());
break;
case "s":
d1=new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours(), d1.getMinutes(), d1.getSeconds());
d2=new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours(), d2.getMinutes(), d2.getSeconds());
break;
}
var t1=d1.getTime(), t2=d2.getTime();
var diff=NaN;
switch (interval){
case "y": diff=d2.getFullYear() - d1.getFullYear(); break;
case "m": diff=(d2.getFullYear() - d1.getFullYear()) * 12 + d2.getMonth() - d1.getMonth(); break;
case "d": diff=Math.floor(t2 / 86400000) - Math.floor(t1 / 86400000); break;
case "w": diff=Math.floor((t2 + 345600000) / (604800000)) - Math.floor((t1 + 345600000) / (604800000)); break;
case "h": diff=Math.floor(t2 / 3600000) - Math.floor(t1 / 3600000); break;
case "n": diff=Math.floor(t2 / 60000) - Math.floor(t1 / 60000); break;
case "s": diff=Math.floor(t2 / 1000) - Math.floor(t1 / 1000); break;
case "l": diff=t2 - t1; break;
}
return diff;
}}
if($.fn.noSelect==undefined){
$.fn.noSelect=function(p){
if(p==null)
prevent=true;
else
prevent=p;
if(prevent){
return this.each(function(){
if($.cpeoplebrowser.msie||$.cpeoplebrowser.safari) $(this).bind('selectstart', function(e){ return false; });
else if($.cpeoplebrowser.mozilla){
$(this).css('MozUserSelect', 'none');
$('body').trigger('focus');
}
else if($.cpeoplebrowser.opera) $(this).bind('mousedown', function(e){ e.stopPropagation(); });
else $(this).attr('unselectable', 'on');
});
}else{
return this.each(function(){
if($.cpeoplebrowser.msie||$.cpeoplebrowser.safari) $(this).unbind('selectstart');
else if($.cpeoplebrowser.mozilla) $(this).css('MozUserSelect', 'inherit');
else if($.cpeoplebrowser.opera) $(this).unbind('mousedown');
else $(this).removeAttr('unselectable', 'on');
});
}};}
$.fn.bcalendar=function(option){
var def={
newWidthGroup:0,
newWidthGroupCalculate:false,
list_eventsPerPage:0,
currentlist:{dend:"",idend:0},
cachepages:new Array(),
lastdate:"",
page:0,
numberOfMonths:12,
view: "nMonth",
weekstartday: 0,
showtooltip:false,
tooltipon:1,
shownavigate:false,
navigateurl:"",
target:0,
theme: "#"+option.paletteDefault,
height: false,
url: "",
eventItems: [],
method: "POST",
showday: new Date(),
/**
* @description {Event} onBeforeRequestData:function(stage)
* Fired before any ajax request is sent.
* @param {Number} stage. 1 for retrieving events, 2 - adding event, 3 - removiing event, 4 - update event.
*/
onBeforeRequestData: false,
/**
* @description {Event} onAfterRequestData:function(stage)
* Fired before any ajax request is finished.
* @param {Number} stage. 1 for retrieving events, 2 - adding event, 3 - removiing event, 4 - update event.
*/
onAfterRequestData: false,
/**
* @description {Event} onAfterRequestData:function(stage)
* Fired when some errors occur while any ajax request is finished.
* @param {Number} stage. 1 for retrieving events, 2 - adding event, 3 - removiing event, 4 - update event.
*/
onRequestDataError: false,
onWeekOrMonthToDay: false,
/**
* @description {Event} quickAddHandler:function(calendar, param)
* Fired when user quick adds an item. If this function is set, ajax request to quickAddUrl will abort.
* @param {Object} calendar Calendar object.
* @param {Array} param Format [{name:"name1", value:"value1"}, ...]
*
*/
quickAddHandler: false,
quickAddUrl: "",
quickUpdateUrl: "",
quickDeleteUrl: "",
autoload: false,
readonly: false,
extParam: [],
enableDrag: true,
loadDateR: []
};
var eventDiv=$("#gridEvent"+option.thecontainer);
if(eventDiv.length==0){
eventDiv=$("<div id='gridEvent"+option.thecontainer+"' style='display:none;'></div>").appendTo(document.body);
}
var gridcontainer=$(this);
option=$.extend(def, option);
__MilitaryTime=option.militaryTime;
if(option.quickUpdateUrl==null||option.quickUpdateUrl==""){
option.enableDrag=false;
}
if(option.rowsByCategory=="dc_subjects"||option.rowsByCategory=="dc_locations")
option.rowsList=eval(option.rowsByCategory);
if(option.dayWithTime&&option.view=="day")
option.rowsList="";
if(option.dayWithColumns=="dc_subjects"||option.dayWithColumns=="dc_locations")
option.columnsList=eval(option.dayWithColumns);
var __SCOLLEVENTTEMP="<DIV style=\"WIDTH:${width};top:${top};left:${left};\" title1=\"${title}\" class=\"chip chip${i} ${drag}\"><div class=\"dhdV\" style=\"display:none\">${data}</div><DIV style=\"BORDER-BOTTOM-COLOR:${bdcolor}\" class=ct>&nbsp;</DIV><DL class=\"${userEdition}\" style=\"BORDER-BOTTOM-COLOR:${bdcolor}; BACKGROUND-COLOR:${bgcolor1}; BORDER-TOP-COLOR: ${bdcolor}; HEIGHT: ${height}px; BORDER-RIGHT-COLOR:${bdcolor}; BORDER-LEFT-COLOR:${bdcolor}\"><DT style=\"BACKGROUND-COLOR:${bgcolor2}\">${starttime} - ${endtime} ${icon}</DT><DD><SPAN class=\"t-title\">${content}</SPAN><div class=\"t-loc\">${location}</div><div class=\"t-desc\">${description}</div></DD><DIV class='resizer' style='display:${redisplay}'><DIV class=rszr_icon>&nbsp;</DIV></DIV></DL><DIV style=\"BORDER-BOTTOM-COLOR:${bdcolor}; BACKGROUND-COLOR:${bgcolor1}; BORDER-TOP-COLOR: ${bdcolor}; BORDER-RIGHT-COLOR: ${bdcolor}; BORDER-LEFT-COLOR:${bdcolor}\" class=cb1>&nbsp;</DIV><DIV style=\"BORDER-BOTTOM-COLOR:${bdcolor}; BORDER-TOP-COLOR:${bdcolor}; BORDER-RIGHT-COLOR:${bdcolor}; BORDER-LEFT-COLOR:${bdcolor}\" class=cb2>&nbsp;</DIV></DIV>";
var __ALLDAYEVENTTEMP='<div class="rb-o ${eclass}" id="${id}" title1="${title}" style="color:${color};"><div class="dhdV" style="display:none">${data}</div><div class="${extendClass} rb-m" style="background-color:${color}"><div class="rb-i t-title ${userEdition}">${content}</div><div class="rb-i t-loc">${location}</div><div class="rb-i t-desc">${description}</div></div></div>';
var __MonthDays=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var __LASSOTEMP="<div class='drag-lasso' style='left:${left}px;top:${top}px;width:${width}px;height:${height}px;'>&nbsp;</div>";
var __VIEWWEEKDAYS=option.viewWeekDays;
var __VIEWWEEKDAYSTOTAL=0;
for (i=0;i<__VIEWWEEKDAYS.length;i++)
__VIEWWEEKDAYSTOTAL +=__VIEWWEEKDAYS[i];
var _dragdata;
var _dragevent;
clearcontainer();
if(!option.height){
option.height=document.documentElement.clientHeight;
}
{
if(option.height/(option.hoursEnd-option.hoursStart+1)>option.cellheight)
option.cellheight=Math.ceil(option.height/(option.hoursEnd-option.hoursStart+1));
if(option.cellheight%2==1) option.cellheight++;
}
if(option.url&&option.autoload){
render();
var d=getRdate();
if(option.view!="list")
pushER(d.start, d.end);
populate();
}else{
render();
var d=getRdate();
if(option.view!="list")
pushER(d.start, d.end);
}
function clearcontainer(){
gridcontainer.empty();
}
function getRdate(){
return { start: option.vstart, end: option.vend };}
function pushER(start, end){
var ll=option.loadDateR.length;
if(!end){
end=start;
}
if(ll==0){
option.loadDateR.push({ startdate: start, enddate: end });
}else{
for (var i=0; i < ll; i++){
var dr=option.loadDateR[i];
var diff=DateDiff("d", start, dr.startdate);
if(diff==0||diff==1){
if(dr.enddate < end){
dr.enddate=end;
}
break;
}
else if(diff > 1){
var d2=DateDiff("d", end, dr.startdate);
if(d2 > 1){
option.loadDateR.splice(0, 0, { startdate: start, enddate: end });
}else{
dr.startdate=start;
if(dr.enddate < end){
dr.enddate=end;
}}
break;
}else{
var d3=DateDiff("d", end, dr.startdate);
if(dr.enddate < end){
if(d3 < 1){
dr.enddate=end;
break;
}else{
if(i==ll - 1){
option.loadDateR.push({ startdate: start, enddate: end });
}}
}}
}
ll=option.loadDateR.length;
if(ll > 1){
for (var i=0; i < ll - 1;){
var d1=option.loadDateR[i];
var d2=option.loadDateR[i + 1];
var diff1=DateDiff("d", d2.startdate, d1.enddate);
if(diff1 <=1){
d1.startdate=d2.startdate > d1.startdate ? d1.startdate:d2.startdate;
d1.enddate=d2.enddate > d1.enddate ? d2.enddate:d1.enddate;
option.loadDateR.splice(i + 1, 1);
ll--;
continue;
}
i++;
}}
}}
function adaptWH(){
var h=0;
function checkheight(){
if($("#"+option.thecontainer).find(".ui-datepicker-group").height()>0){
$("#"+option.thecontainer).find(".ui-datepicker-group").each(function(){
if(h < $(this).height()*1) h=$(this).height()*1;
});
if(h>0){
$("#"+option.thecontainer).find(".ui-datepicker-group").each(function(){
$(this).height(h);
});
}}
else
checkheight();
}
setTimeout(checkheight,100);
}
$(window).resize(function(){
adaptWH();
if(option.newWidthGroupCalculate){
option.newWidthGroup=0;
render();
}});
function render(){
if(option.view=="list")
$("#sfprevbtn"+option.thecontainer+",#sfnextbtn"+option.thecontainer).addClass("nav_list");
else
$("#sfprevbtn"+option.thecontainer+",#sfnextbtn"+option.thecontainer).removeClass("nav_list");
if(option.mindate!=""&&option.mindate>option.showday)
option.showday=option.mindate;
if(option.maxdate!=""&&option.maxdate<option.showday)
option.showday=option.maxdate;
if(option.vstart&&option.vend){
if(option.view=="month"||option.view=="nMonth"){
if(option.view=="month")
var meses=1;
else
var meses=option.numberOfMonths;
var firstdate=new Date(option.showday.getFullYear(), option.showday.getMonth(), 1);
var m=(option.showday.getMonth()+meses)%12;
var y=option.showday.getFullYear()+Math.floor((option.showday.getMonth()+meses)/12);
var enddate=new Date(y, m, 1);
enddate=DateAdd("d", -1 , enddate);
}else{
var firstdate=option.vstart;
var enddate=option.vend;
}
if(option.mindate>=firstdate&&option.mindate<=enddate){
$("#sfprevbtn"+option.thecontainer).find(".ui-icon-circle-triangle-w").css({ opacity: 0.3 });
$("#sfprevbtn"+option.thecontainer).addClass("non-navigate");
}else{
$("#sfprevbtn"+option.thecontainer).find(".ui-icon-circle-triangle-w").css({ opacity: 1 });
$("#sfprevbtn"+option.thecontainer).removeClass("non-navigate");
}
if(option.maxdate>=firstdate&&option.maxdate<=enddate){
$("#sfnextbtn"+option.thecontainer).find(".ui-icon-circle-triangle-e").css({ opacity: 0.3 });
$("#sfnextbtn"+option.thecontainer).addClass("non-navigate");
}else{
$("#sfnextbtn"+option.thecontainer).find(".ui-icon-circle-triangle-e").css({ opacity: 1 });
$("#sfnextbtn"+option.thecontainer).removeClass("non-navigate");
}}
var showday=new Date(option.showday.getFullYear(), option.showday.getMonth(), option.showday.getDate());
var events=option.eventItems;
var config={ view: option.view, weekstartday: option.weekstartday, theme: option.theme,thecontainer: option.thecontainer };
if(option.view=="day"||option.view=="week"||option.view=="nDays"||option.view=="rowMonth"){
var $dvtec=$("#dvtec"+option.thecontainer);
if($dvtec.length > 0){
option.scoll=$dvtec.attr("scrollTop");
}}
gridcontainer.parent().parent().width("100%");
$(".gridcontainercover").attr("class","gridcontainercover view"+option.view);
switch (option.view){
case "day":
BuildDaysAndWeekView(showday, 1, events, config);
gridcontainer.height("auto");
break;
case "week":
BuildDaysAndWeekView(showday, 7, events, config);
gridcontainer.height("auto");
break;
case "month":
BuildMonthView(showday, events, config);
gridcontainer.css("overflow-y", "visible").height(option.height - 8);
$("#gridcontainer"+option.thecontainer+" [display='0']").css("display","none");
var monthrowheight=0;
$("#gridcontainer"+option.thecontainer+" .month-row").each(function(){
var st_grid_h=$(this).find(".st-grid").height()*1;
var rowh=$(this).css("height").replace("px","")*1;
if(st_grid_h>0&&rowh<st_grid_h)
rowh=st_grid_h;
$(this).css("height",rowh);
$(this).css("top",monthrowheight);
monthrowheight +=rowh;
});
$("#gridcontainer"+option.thecontainer+" .mv-event-container").css("height",monthrowheight);
$("#gridcontainer"+option.thecontainer).css("height",monthrowheight+$(".mv-daynames-table").height()*1+2);
break;
case "rowMonth":
showday=new Date(showday.getFullYear(), showday.getMonth(), 1);
var tmpday=DateAdd("d", 40, showday);
tmpday=new Date(tmpday.getFullYear(), tmpday.getMonth(), 1);
tmpday=DateAdd("d", -1, tmpday);
var monthdays=tmpday.getDate();
option.nOfDays=monthdays;
BuildDaysAndWeekView(showday, option.nOfDays, events, config);
gridcontainer.height("auto");
break;
case "nDays":
option.nOfDays=option.numberOfDays;
BuildDaysAndWeekView(showday, option.nOfDays, events, config);
gridcontainer.height("auto");
break;
case "list":
BuildListView(showday, option.list_eventsPerPage, events, config);
gridcontainer.height("auto");
break;
case "nMonth":
BuildYearView(showday, events, config);
gridcontainer.css("overflow-y", "visible");
var gW=gridcontainer.width()-2;
if(option.numberOfMonths==1)
if(option.newWidthGroup!=0){
gridcontainer.parent().parent().parent().width(option.newWidthGroup);
gridcontainer.children().children().width(option.newWidthGroup-12);
}else{
option.newWidthGroupCalculate=true;
gridcontainer.parent().parent().width($('#nmonths'+option.thecontainer).children().width()+12);
}
else if(option.newWidthGroup!=0){
$('#nmonths'+option.thecontainer).find('.ui-datepicker-multi').width(gW);
$('#nmonths'+option.thecontainer).find('.ui-datepicker-multi .ui-datepicker-group').width(option.newWidthGroup);
}else{
option.newWidthGroupCalculate=true;
$('#nmonths'+option.thecontainer).find('.ui-datepicker-multi').width(gW);
var iW=2000;
$('#nmonths'+option.thecontainer).find('.ui-datepicker-group .ui-datepicker-calendar').each(function(i){
if(iW>$(this).width())
iW=$(this).width();
});
iW +=4;
var cN=(Math.floor(gW/iW)==0)?1:Math.floor(gW/iW);
var nW=Math.floor(gW/cN);
nW -=4;
option.newWidthGroup=nW;
$('#nmonths'+option.thecontainer).find('.ui-datepicker-multi .ui-datepicker-group').width(nW);
}
gridcontainer.height("auto");
break;
default:
alert(i18n.dcmvcal.no_implemented);
break;
}
initevents(option.view);
ResizeView(option);
if(!(option.rowsList==""||(option.dayWithTime&&option.view=="day")))
for (var i=0;i<option.rowsList.length;i++){
if(Math.round((option.height - 50)/option.rowsList.length)>$("#weekViewAllDaywk"+option.thecontainer+i+" table").height())
$("#weekViewAllDaywk"+option.thecontainer+i).height(Math.round((option.height - 50)/option.rowsList.length));
}}
function BuildYearView(showday, events, config){
var firstdate=new Date(showday.getFullYear(), showday.getMonth(), 1);
var m=(showday.getMonth()+option.numberOfMonths)%12;
var y=showday.getFullYear()+Math.floor((showday.getMonth()+option.numberOfMonths)/12);
var enddate=new Date(y, m, 1);
enddate=DateAdd("d", -1 , enddate);
option.vstart=firstdate;
option.vend=enddate;
option.datestrshow=CalDateShow(option.vstart, option.vend);
var html=[];
html.push("<div id=\"nmonths"+config.thecontainer+"\" class=\"nmonths\" >");
html.push("</div>");
gridcontainer.html(html.join(""));
if(true){
var dates=[];
for (i=0;i<events.length;i++){
var d1=events[i][2];
d1=new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());
var d2=events[i][3];
d2=new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
var item="";
while (d1<=d2){
item=d1.getFullYear()+"/"+(d1.getMonth()+1)+"/"+d1.getDate();
if(!dates[item])
dates[item]=[];
dates[item][dates[item].length]=events[i];
d1=DateAdd("d", 1 , d1);
}}
var old_fn=$.datepicker._updateDatepicker;
$.datepicker._updateDatepicker=function(inst){
old_fn.call(this, inst);
adaptWH();
}
var mydatepicker=$("#nmonths"+option.thecontainer).datepicker({numberOfMonths: option.numberOfMonths,firstDay:option.weekstartday,defaultDate:showday,showOtherMonths: true,
monthNamesShort:__MonthName,
monthNames:__MonthNameLarge,
dayNamesShort:__WDAY,
dayNamesMin:__WDAY2,
onChangeMonthYear: function(year, month, inst){
var c=$(this).datepicker("getDate");
var n=new Date(year,(month-1),1);
if(c>n)
var p=$("#gridcontainer"+option.thecontainer).previousRange().BcalGetOp();
else
var p=$("#gridcontainer"+option.thecontainer).nextRange().BcalGetOp();
if(p&&p.datestrshow)
$("#txtdatetimeshow"+option.thecontainer).text(p.datestrshow);
},
beforeShowDay: function (d1){
if(__VIEWWEEKDAYS[0]==0&&d1.getDay()==0) return [true,"specialday"];
else if(__VIEWWEEKDAYS[1]==0&&d1.getDay()==1) return [true,"specialday"];
else if(__VIEWWEEKDAYS[2]==0&&d1.getDay()==2) return [true,"specialday"];
else if(__VIEWWEEKDAYS[3]==0&&d1.getDay()==3) return [true,"specialday"];
else if(__VIEWWEEKDAYS[4]==0&&d1.getDay()==4) return [true,"specialday"];
else if(__VIEWWEEKDAYS[5]==0&&d1.getDay()==5) return [true,"specialday"];
else if(__VIEWWEEKDAYS[6]==0&&d1.getDay()==6) return [true,"specialday"];
else
{
var item=d1.getFullYear()+"/"+(d1.getMonth()+1)+"/"+d1.getDate();
if(dates[item])
return [true,"ui-state-active",dateFormat.call(d1, i18n.dcmvcal.dateformat.fulldayvalue)];
else
return [true,"ui-state-non-active",dateFormat.call(d1, i18n.dcmvcal.dateformat.fulldayvalue)];
}}
});
if(option.mindate!="")
$("#nmonths"+option.thecontainer).datepicker("option", "minDate", option.mindate);
if(option.maxdate!="")
$("#nmonths"+option.thecontainer).datepicker("option", "maxDate", option.maxdate);
if(__VIEWWEEKDAYS[0]==0) $(".ui-datepicker span[title='Sunday']").parent().css("display","none");
if(__VIEWWEEKDAYS[1]==0) $(".ui-datepicker span[title='Monday']").parent().css("display","none");
if(__VIEWWEEKDAYS[2]==0) $(".ui-datepicker span[title='Tuesday']").parent().css("display","none");
if(__VIEWWEEKDAYS[3]==0) $(".ui-datepicker span[title='Wednesday']").parent().css("display","none");
if(__VIEWWEEKDAYS[4]==0) $(".ui-datepicker span[title='Thursday']").parent().css("display","none");
if(__VIEWWEEKDAYS[5]==0) $(".ui-datepicker span[title='Friday']").parent().css("display","none");
if(__VIEWWEEKDAYS[6]==0) $(".ui-datepicker span[title='Saturday']").parent().css("display","none");
$("#nmonths"+option.thecontainer+" .ui-datepicker-other-month").attr("title","");
if(option.date_box_with_color_in_nmonth_view){
var height=parseInt($("#nmonths"+option.thecontainer+" .ui-state-active").css("height"));
$("#nmonths"+option.thecontainer+" .ui-state-active").each(function(){
try{
var item=datetostr(strtodate($(this).attr("title")+" 00:00"));
if(item&&dates[item]&&(dates[item].length>0)){
var colors=new Array();
var html="";
var c="#"+option.paletteDefault;
for (var i=0;i<dates[item].length;i++){
c=((dates[item][i][7]!=-1&&dates[item][i][7]!=null)?dates[item][i][7]:"#"+option.paletteDefault);
if($.inArray(c, colors)==-1)
colors[colors.length]=c;
}
if(colors.length==1) //$(this).css("background",colors[colors.length-1]);
$(this).attr('style', 'background:'+colors[colors.length-1]+' !important');
else
{
var count=colors.length;
$(this).css("vertical-align","top");
html +='<div style="position:relative;border:0px solid;padding:0px;margin:0px;height:'+(height)+'px;">';
var top=0;
for (var i=0;i<count;i++){
h=Math.round(height/count*(i+1))-top;
html +='<div style="position:absolute;margin:0px;padding:0px;border:0px solid;width:100%;background:'+colors[i]+';height:'+h+'px;top:'+top+'px;left:0px;"></div>';
top=Math.round(height/count*(i+1));
}
html +='<div style="position:absolute;margin:0px;padding:0px;border:0px solid;width:100%;background:transparent;white-space: nowrap;height:'+height+'px;top:0px;left:0px;">'+$(this).html()+'</div>';
html +='</div>';
$(this).html(html);
}}
}catch (e){}});
}
$("#nmonths"+option.thecontainer+" .ui-state-active a").bind('click', function(e){
if(__VIEWWEEKDAYS[0]==0) $(".ui-datepicker span[title='Sunday']").parent().css("display","none");
if(__VIEWWEEKDAYS[1]==0) $(".ui-datepicker span[title='Monday']").parent().css("display","none");
if(__VIEWWEEKDAYS[2]==0) $(".ui-datepicker span[title='Tuesday']").parent().css("display","none");
if(__VIEWWEEKDAYS[3]==0) $(".ui-datepicker span[title='Wednesday']").parent().css("display","none");
if(__VIEWWEEKDAYS[4]==0) $(".ui-datepicker span[title='Thursday']").parent().css("display","none");
if(__VIEWWEEKDAYS[5]==0) $(".ui-datepicker span[title='Friday']").parent().css("display","none");
if(__VIEWWEEKDAYS[6]==0) $(".ui-datepicker span[title='Saturday']").parent().css("display","none");
if(option.shownavigate){
var item=datetostr(strtodate($(this).parents(".ui-state-active").attr("title")+" 00:00"));
var i=item.split("/");
var title=new Date(i[0],i[1]-1,i[2]);
title=dateFormat.call(title, i18n.dcmvcal.dateformat.fulldayvalue);
var navigateurl=option.navigateurl.replace(/the_current_date/g,title);
if(option.target==1)
document.location=navigateurl;
else
window.open(navigateurl);
}
e.stopPropagation();
return false;
});
function showDialogNMonth(dates,item,idover){
var i=item.split("/");
var titleDay=new Date(i[0],i[1]-1,i[2]);
title=dateFormat.call(titleDay, i18n.dcmvcal.dateformat.fulldayshow);
var str="", d="", d1="",d2="", d1h="",d2h="";
var showTitle=true;
if(dates[item]){
for (var i=0;i<dates[item].length;i++){
d1=dateFormat.call(dates[item][i][2], i18n.dcmvcal.dateformat.fulldayshow);
d1h=fomartTimeAMPM(dates[item][i][2].getHours(),dates[item][i][2].getMinutes(),__MilitaryTime);
d2=dateFormat.call(dates[item][i][3], i18n.dcmvcal.dateformat.fulldayshow);
d2h=fomartTimeAMPM(dates[item][i][3].getHours(),dates[item][i][3].getMinutes(),__MilitaryTime);
if(d1==d2){
d="<div class=\"mv_dlg_nmonth_date\">" + d1 + '</div>';
if(dates[item][i][4]!=1)
d +=" " + d1h+" - "+d2h;
}else{
showTitle=false;
if(dates[item][i][4]!=1)
d="<div class=\"mv_dlg_nmonth_date\">" + d1+ "</div> "+d1h+" - <div class=\"mv_dlg_nmonth_date\">"+d2+"</div> "+d2h;
else
d="<div class=\"mv_dlg_nmonth_date\">" + d1 +" - "+d2+'</div>';
}
if(option.readonly!=true&&(option.userEdit||option.userDel||((option.userOwner==dates[item][i][12])&&(option.userEditOwner||option.userDelOwner))))
var classEdition="dialogNMonth_event";
else
var classEdition="";
str +='<div class="'+classEdition+'"><div class="dialogNMonth_event_links">';
if(option.readonly!=true&&(option.userEdit||((option.userOwner==dates[item][i][12])&&option.userEditOwner)))
str +='<a href="#" class="dlgNMonth_editlink" id="editlink'+dates[item][i][0]+'">' + i18n.dcmvcal.update_detail + '</a>';
if(option.readonly!=true&&(option.userDel||((option.userOwner==dates[item][i][12])&&option.userDelOwner)))
str +='<a href="#" class="dlgNMonth_dellink" id="dellink'+dates[item][i][0]+'">' + i18n.dcmvcal.i_delete + '</a>';
str +='</div><div class="dialogNMonth_event_content" style="border-left:3px solid '+((dates[item][i][7]!=-1&&dates[item][i][7]!=null)?dates[item][i][7]:"#"+option.paletteDefault)+';">' + d + "<div>"+dates[item][i][1]+"</div>"+((dates[item][i][9]!=""&&dates[item][i][9]!=null)?"<div>"+dates[item][i][9]+"</div>":"")+((dates[item][i][11]!=""&&dates[item][i][11]!="<br />"&&dates[item][i][11]!=null)?"<div>"+dates[item][i][11]+"</div>":"") + "</div></div>";
}
if(!option.readonly&&option.userAdd)
str +='<div><a href="#" class="dlgNMonth_createlink" id="createlink">' + i18n.dcmvcal.create_event + ' - ' +title+ '</a></div>';
try {$("#bbit-cs-buddle").dialog("close");}catch (e){}
try {$(".mv_dlg_nmonth").dialog("close");}catch (e){}
if(showTitle)
str="<div class=\"mv_dlg_nmonth_title\">" + title + "</div>" + str;
$(idover).html(str);
$(".mv_dlg_nmonth_date").css("font-weight","bold");
if(showTitle)
$(".mv_dlg_nmonth_date").css("display","none");
else
$(".mv_dlg_nmonth_date").css("display","inline");
try {$(idover).dialog("option", "title", title)}catch (e){}
for (var i=0;i<dates[item].length;i++){
$("#editlink"+dates[item][i][0]).data("cdata", dates[item][i]);
$("#dellink"+dates[item][i][0]).data("cdata", dates[item][i]);
}
$("#createlink").data("cdata", titleDay);
$(".dlgNMonth_createlink").click(function(e){
try {$(".mv_dlg_nmonth").dialog("close");}catch (e){}
if(option.EditCmdhandler&&$.isFunction(option.EditCmdhandler))
option.EditCmdhandler.call(this, ['0', "", $("#createlink").data("cdata"), $("#createlink").data("cdata"), 1]);
realsedragevent();
e.stopPropagation();
return false;
});
$(".dlgNMonth_editlink").click(function(e){
try {$(".mv_dlg_nmonth").dialog("close");}catch (e){}
if(option.EditCmdhandler&&$.isFunction(option.EditCmdhandler))
option.EditCmdhandler.call(this, $("#"+$(this).attr("id")).data("cdata"));
realsedragevent();
e.stopPropagation();
return false;
});
$(".dlgNMonth_dellink").bind("click",function(e){
try {$(".mv_dlg_nmonth").dialog("close");}catch (e){}
if(option.DeleteCmdhandler&&$.isFunction(option.DeleteCmdhandler))
option.DeleteCmdhandler.call(this, $("#"+$(this).attr("id")).data("cdata"), quickd);
realsedragevent();
e.stopPropagation();
return false;
});
$(idover).dialog('open');
dialogUnBlur();
move_mv_dlg();
}}
$("#nmonths"+option.thecontainer+" .ui-state-non-active a").bind('click', function(e){
var item=datetostr(strtodate($(this).parent().attr("title")+" 00:00"));
var arrdays=item.split('/');
var start=new Date(arrdays[0], arrdays[1]-1, arrdays[2]);
quickadd(start, start, true, { left: e.pageX, top: e.pageY });
e.stopPropagation();
return false;
})
if(option.showtooltip||option.readonly!=true){
if(option.tooltipon!=0){
$("#nmonths"+option.thecontainer+" .ui-state-active a").bind('click', function(e){
var item=datetostr(strtodate($(this).parents(".ui-state-active").attr("title")+" 00:00"));
var idover="myover"+item.replace(/\//g,"_");
$(".ui-dialog-content").remove();
$(this).parent().append("<div class=\""+idover+"\" ></div>");
idover="."+idover;
$(idover).dialog({autoOpen: false ,width:option.dialogWidth,
modal: false,resizable: false,maxWidth: option.dialogWidth,fluid: true,open: function(event, ui){fluidDialog();},
position: {
my: "left top",
at: "center bottom",
collision: "fit",
of: $(idover).parent()
}}).addClass("mv_dlg_nmonth").parent().addClass("mv_dlg") ;
$("<div id=\"mv_corner\" />").appendTo($(".mv_dlg .ui-dialog-titlebar"));
showDialogNMonth(dates,item,idover);
e.stopPropagation();
}).bind('mouseout',function(){
});;
}
else if(option.tooltipon==0){
$("#nmonths"+option.thecontainer+" .ui-state-active").bind('mouseover', function(){
if(!$(this).hasClass("ui-datepicker-other-month")){
$(".ui-dialog-content").remove();
$(this).append("<div class=\"myover\" ></div>");
$(".myover").dialog({autoOpen: false ,width:option.dialogWidth,
modal: false,resizable: false,maxWidth: option.dialogWidth,fluid: true,open: function(event, ui){fluidDialog();},
position: {
my: "left top",
at: "center bottom",
collision: "fit",
of: $(".myover").parent()
}}).addClass("mv_dlg_nmonth").parent().addClass("mv_dlg");
$("<div id=\"mv_corner\" />").appendTo($(".mv_dlg .ui-dialog-titlebar"));
try { var item=datetostr(strtodate($(this).attr("title")+" 00:00"));showDialogNMonth(dates,item,".myover"); }catch (e){}}
}).bind('mouseout',function(){
});
}
$(".mv_dlg_nmonth").remove();
}}
return;
}
function BuildListView(startday, l, events, config){
option.allevents=events.slice();
if(!option.theme_list||option.theme_list=="")
option.theme_list='<div><div class="list_event_content" style="border-left:3px solid ${color};"><div class="list_event_date" option="1${option}"><div class="list_date">${date_start}</div></div><div class="list_event_date" option="2${option}"><div class="list_date">${date_start}</div><div class="list_time">${time_start} - ${time_end}</div></div><div class="list_event_date" option="3${option}"><div class="list_date">${date_start} - ${date_end}</div></div><div class="list_event_date" option="4${option}"><div class="list_date">${date_start}</div><div class="list_time">${time_start}</div> - <div class="list_date">${date_end}</div><div class="list_time">${time_end}</div></div><div class="itemlist_title">${title}</div><div class="itemlist_location">${location}</div><div class="itemlist_description" readmore_url="">${description}</div><div class="itemlist_edit">${edit_link}</div><div class="itemlist_delete">${delete_link}</div></div></div>';
option.theme_list=option.theme_list.replace(/\n/g,"");
option.theme_list=option.theme_list.replace(/\r/g,"");
if(!option.header) option.header="";
if(!option.footer) option.footer="";
if(!option.find) option.find="";
var header=option.theme_list.match("<header>(.*)</header>");
if(header&&header.length>1) option.header=header[1];
option.theme_list=option.theme_list.replace(/<header>(.*)<\/header>/,"");
var find=option.theme_list.match("<find>(.*)</find>");
if(find&&find.length>1) option.find=find[1].split(",");
option.theme_list=option.theme_list.replace(/<find>(.*)<\/find>/,"");
var footer=option.theme_list.match("<footer>(.*)<\/footer>");
if(footer&&footer.length>1) option.footer=footer[1];
option.theme_list=option.theme_list.replace(/<footer>(.*)<\/footer>/,"");
option.vstart=startday;
option.vend=startday;
var p={};
var html=[];
if(option.searchvalue==undefined)
option.searchvalue="";
html.push("<div id=\"searchcontainer"+config.thecontainer+"\" class=\"searchcontainer\"><input type=\"text\" placeholder=\"Enter search term\" value=\""+option.searchvalue+"\"></div>");
html.push("<div id=\"listcontainer"+config.thecontainer+"\" class=\"listcontainer\">");
function showList(){
if(option.searchvalue!=undefined&&option.searchvalue!="")
for (var i=events.length-1; (i>=0);i--)
if(events[i][1].toLowerCase().indexOf(option.searchvalue)==-1&&events[i][9].toLowerCase().indexOf(option.searchvalue)==-1&&(events[i][11]==null||events[i][11].toLowerCase().indexOf(option.searchvalue)==-1))
events.splice(i, 1);
var str="";
var eNumber=0;
var noShow=false;
if(option.cachepages.length>option.page){
return option.cachepages[option.page];
}else{
for (var i=0; (i<events.length);i++){
noShow=false;
p.date_start=dateFormat.call(events[i][2], i18n.dcmvcal.dateformat.fulldayshow);
p.date_start_year=dateFormat.call(events[i][2], "yyyy");
p.date_start_month=dateFormat.call(events[i][2], "MM");
p.date_start_day=dateFormat.call(events[i][2], "dd");
p.date_start_monthName=__MonthName[events[i][2].getMonth()];
p.date_start_monthNameLarge=__MonthNameLarge[events[i][2].getMonth()];
p.date_start_weekday=__WDAYLarge[events[i][2].getDay()];
p.time_start=fomartTimeAMPM(events[i][2].getHours(),events[i][2].getMinutes(),__MilitaryTime);
p.date_end=dateFormat.call(events[i][3], i18n.dcmvcal.dateformat.fulldayshow);
p.date_end_year=dateFormat.call(events[i][3], "yyyy");
p.date_end_month=dateFormat.call(events[i][3], "MM");
p.date_end_day=dateFormat.call(events[i][3], "dd");
p.date_end_monthName=__MonthName[events[i][3].getMonth()];
p.date_end_monthNameLarge=__MonthNameLarge[events[i][3].getMonth()];
p.date_end_weekday=__WDAYLarge[events[i][3].getDay()];
p.time_end=fomartTimeAMPM(events[i][3].getHours(),events[i][3].getMinutes(),__MilitaryTime);
if(p.date_start==p.date_end){
p.option=1;
if(events[i][4]!=1)
p.option=2;
}else{
if(events[i][4]!=1)
p.option=4;
else
p.option=3;
}
var description="";
if(events[i][11]!=""&&events[i][11]!="<br />"&&events[i][11]!=null){
if(option.list_readmore_numberofwords==0)
description=events[i][11];
else
{
var val=$.trim(events[i][11]),
val=$("<div/>").html(val).text();
words=val.replace(/\s+/gi, ' ').split(' ');
if(words.length>option.list_readmore_numberofwords){
val="";
for (var w=0;w<option.list_readmore_numberofwords;w++)
val +=" "+ words[w];
description='<div class="description_short">'+$.trim(val)+' ... <a href="" class="readmore short">'+i18n.dcmvcal.readmore+'</a></div>';
description +='<div class="description_large">'+events[i][11]+' <a href="" class="readmore large">'+i18n.dcmvcal.readmore_less+'</a></div>';
}else{
val=events[i][11];
description=events[i][11];
}}
}
p.id=events[i][0];
p.color=((events[i][7]!=-1&&events[i][7]!=null)?events[i][7]:"#"+option.paletteDefault);
p.title=events[i][1];
p.location=(events[i][9]!=""&&events[i][9]!=null)?events[i][9]:"";
p.description=description;
p.edit_link="";
p.delete_link="";
if(option.readonly!=true&&(option.userEdit||option.userDel||((option.userOwner==events[i][12])&&(option.userEditOwner||option.userDelOwner)))){
if(option.userDel||((option.userOwner==events[i][12])&&(option.userDelOwner))){
if(!(events[i][6]!=""&&events[i][6]!=null&&events[i][6]!=undefined))
p.edit_link="<a class=\"edit_link_ev\" href=\"\">"+i18n.dcmvcal.update_detail+"</a>";
}
if(option.userEdit||((option.userOwner==events[i][12])&&(option.userEditOwner)))
p.delete_link="<a class=\"delete_link_ev\" href=\"\">"+i18n.dcmvcal.i_delete+"</a>";
}
if((i==0)&&(option.header!="")) str='<div class="headerlist">'+Tp(option.header, p)+'</div>';
eNumber++;
var therule=(events[i][6]!=""&&events[i][6]!=null&&events[i][6]!=undefined)
if(option.lastdate!=""&&((!therule&&events[i][0]==option.currentlist.idend)||(therule&&events[i][2].toString()==option.currentlist.dend.toString()))){
eNumber=0;
str="";
if(option.header!="") str='<div class="headerlist">'+Tp(option.header, p)+'</div>';
noShow=true;
}
if(eNumber<=option.list_eventsPerPage&&(!noShow)){
var str1=Tp(option.theme_list, p);
str1='<div class="ev_item_data" i="'+i+'">'+str1+'</div>';
for (var k=0;k<option.find.length;k++)
if(str1.toLowerCase().indexOf(option.find[k].toLowerCase())!=-1)
str1=str1.replace("find_and_replace","find_and_replace "+option.find[k]);
str +=str1;
eMax=i;
}}
if(eNumber>0){
option.currentlist={dend:events[eMax][2],idend:events[eMax][0]};
str +='<div class="listnav">';
{
str +='<a href="#" id="listprevbtn'+option.thecontainer+'" class="listprevbtn '+((option.page==0)?"listbtndisabled":"")+'">'+i18n.dcmvcal.prev+'</a>';
str +='<a href="#" id="listnextbtn'+option.thecontainer+'" class="listnextbtn '+((events.length-1==eMax)?"listbtndisabled":"")+'">'+i18n.dcmvcal.next+'</a>';
}
str +='<div style="clear:both"></div></div>';
}
if(str!="")
option.cachepages[option.page]=str;
return str;
}}
html.push(showList());
html.push("</div>");
option.datestrshow=" ";
gridcontainer.html(html.join(""));
$("#gridcontainer"+option.thecontainer).find(".searchcontainer input").keyup(function(){
option.searchvalue=$(this).val().toLowerCase();
option.page=0;
option.lastdate="";
option.currentlist={dend:"",idend:0};
option.cachepages=new Array();
events=option.allevents.slice();
$("#listcontainer"+config.thecontainer).html(showList());
showevents();
return false;
});
function showevents(){
$("#gridcontainer"+option.thecontainer).find(".ev_item_data").each(function(){
$(this).data("cdata", events[$(this).attr("i")*1]);
});
$("#gridcontainer"+option.thecontainer).find(".delete_link_ev").click(function(){
var data=$(this).parents(".ev_item_data").data("cdata");
if(option.DeleteCmdhandler&&$.isFunction(option.DeleteCmdhandler)){
option.page=0;
option.lastdate="";
option.currentlist={dend:"",idend:0};
option.cachepages=new Array();
option.DeleteCmdhandler.call(this, data, quickd);
}
return false;
});
$("#gridcontainer"+option.thecontainer).find(".edit_link_ev").click(function(e){
if(!option.EditCmdhandler){
alert("EditCmdhandler" + i18n.dcmvcal.i_undefined);
}else{
if(option.EditCmdhandler&&$.isFunction(option.EditCmdhandler)){
option.page=0;
option.lastdate="";
option.currentlist={dend:"",idend:0};
option.cachepages=new Array();
var data=$(this).parents(".ev_item_data").data("cdata");
option.EditCmdhandler.call(this, data);
}}
return false;
});
$("#gridcontainer"+option.thecontainer).find("#listprevbtn"+option.thecontainer).click(function(){
if(!$(this).hasClass("listbtndisabled"))
$("#gridcontainer"+option.thecontainer).previousRange().BcalGetOp();
return false;
})
$("#gridcontainer"+option.thecontainer).find("#listnextbtn"+option.thecontainer).click(function(){
if(!$(this).hasClass("listbtndisabled"))
$("#gridcontainer"+option.thecontainer).nextRange().BcalGetOp();
return false;
})
$("#gridcontainer"+option.thecontainer).find("#listcontainer"+option.thecontainer).find(".list_event_date").each(function(){
if($(this).attr("option")!="11"&&$(this).attr("option")!="22"&&$(this).attr("option")!="33"&&$(this).attr("option")!="44")
$(this).css("display","none");
})
$("#gridcontainer"+option.thecontainer).find("#listcontainer"+option.thecontainer).find(".readmore").click(function(){
if($(this).parent().parent().attr("readmore_url")==""){
if($(this).hasClass("short")){
$(this).parent().parent().find(".description_short").css("display","none");
$(this).parent().parent().find(".description_large").css("display","block");
}else{
$(this).parent().parent().find(".description_short").css("display","block");
$(this).parent().parent().find(".description_large").css("display","none");
}}else{
document.location=$(this).parent().parent().attr("readmore_url");
}
return false;
})
}
showevents();
html=null;
}
function BuildDaysAndWeekView(startday, l, events, config){
var days=[];
if(l==1){
var show=dateFormat.call(startday, i18n.dcmvcal.dateformat.Md);
days.push({ display: show, date: startday, day: startday.getDate(), year: startday.getFullYear(), month: startday.getMonth() + 1 });
option.datestrshow=CalDateShow(days[0].date);
option.vstart=days[0].date;
option.vend=days[0].date;
}else{
var w=0;
if(l==7){
w=config.weekstartday - startday.getDay();
if(w > 0) w=w - l;
var formatdate=i18n.dcmvcal.dateformat.Md;
}
else if(option.view=='rowMonth')
var formatdate=i18n.dcmvcal.dateformat.day;
else
var formatdate=i18n.dcmvcal.dateformat.nDaysView;
var ndate;
for (var i=w, j=0; j < l; i=i + 1, j++){
ndate=DateAdd("d", i, startday);
var show=dateFormat.call(ndate, formatdate);
days.push({ display: show, date: ndate, day: ndate.getDate(), year: ndate.getFullYear(), month: ndate.getMonth() + 1 });
}
option.vstart=days[0].date;
option.vend=days[l - 1].date;
option.datestrshow=CalDateShow(days[0].date, days[l - 1].date);
}
var allDayEvents=[];
var scollDayEvents=[];
var html=[];
html.push("<div id=\"dvwkcontaienr"+config.thecontainer+"\" class=\"wktopcontainer\">");
html.push("<table class=\"wk-top\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >");
if(option.columnsList!=""&&option.view=="day"){
html.push("<tr><th width=\""+option.hourswidth+"\" class=\"wk-dayWithColumns\">"+days[0].display+"</th>");
for (var i=0;i<option.columnsList.length;i++){
html.push("<th abbr='", dateFormat.call(days[0].date, "M/d/yyyy"), "' class='gcweekname' scope=\"col\"><div title='", "' ", " class='wk-dayname'><span class='", "'>", option.columnsList[i], "</span></div></th>");
}
html.push("<th width=\"16\" >&nbsp;</th></tr>");
}
else if(option.rowsList==""||(option.dayWithTime&&option.view=="day")){
html.push("<tr><th width=\""+option.hourswidth+"\" rowspan=\"2\">&nbsp;</th>");
BuildWTHeader(html, days);
html.push("</tr>");
}
else  ////draw rows
{
html.push("<tr><th width=\""+option.hourswidth+"\">&nbsp;</th>");
BuildWTHeader(html, days);
html.push("<th width=\"16\">&nbsp;</th></tr>");
}
if(option.rowsList==""||(option.dayWithTime&&option.view=="day")){
var dM=PropareEvents(days, events, allDayEvents, scollDayEvents,"");
if(option.columnsList!=""&&option.view=="day"){
html.push("<tr><th width=\""+option.hourswidth+"\" >&nbsp;</th>");
BuildWTBodyDayWithCol(html, days, allDayEvents, dM,config,0);
}else{
html.push("<tr>");
BuildWTBody(html, days, allDayEvents, dM,config,"");
}}
else  ////draw rows
{
var dayarrs=days;
for (var ii=0;ii<option.rowsList.length;ii++){
html.push("<tr><th width=\"60\" class=\"wk-alldayList\">"+option.rowsList[ii]+"</th>");
var dM=PropareEvents(days, events, allDayEvents, scollDayEvents,option.rowsList[ii],"");
var dMax=dM;
var sufix=ii;
if(option.columnsList!=""&&option.view=="day"){
BuildWTBodyDayWithCol(html, days, allDayEvents, dM,config,ii);
}else{
BuildWTBody(html, days, allDayEvents, dM,config,ii,"");
}}
}
html.push("</table>");
html.push("</div>");
if(option.rowsList==""||(option.dayWithTime&&option.view=="day")){
html.push("<div id=\"dvtec"+config.thecontainer+"\"  class=\"scolltimeevent\"><table style=\"table-layout: fixed;", $.cpeoplebrowser.msie ? "":"width:100%", "\" cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td>");
html.push("<table style=\"height: "+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px\" id=\"tgTable"+config.thecontainer+"\" class=\"tg-timedevents\" cellspacing=\"0\" cellpadding=\"0\"><tbody>");
BuildDayScollEventheader(html, days, scollDayEvents,config);
if(option.columnsList!=""&&option.view=="day")
BuildDayScollEventbodyWithCol(html, days, scollDayEvents,config);
else
BuildDayScollEventbody(html, days, scollDayEvents,config);
html.push("</tbody></table></td></tr></tbody></table></div>");
}
gridcontainer.html(html.join(""));
html=null;
}
function BuildMonthView(showday, events, config){
var cc="<div id='cal-month-cc"+config.thecontainer+"' class='cc'><div id='cal-month-cc-header"+config.thecontainer+"'><div class='cc-close' id='cal-month-closebtn"+config.thecontainer+"'></div><div id='cal-month-cc-title"+config.thecontainer+"' class='cc-title'></div></div><div id='cal-month-cc-body"+config.thecontainer+"' class='cc-body'><div id='cal-month-cc-content"+config.thecontainer+"' class='st-contents'><table class='st-grid' cellSpacing='0' cellPadding='0'><tbody></tbody></table></div></div></div>";
var html=[];
html.push(cc);
html.push("<div id=\"mvcontainer"+config.thecontainer+"\" class=\"mv-container\">");
html.push("<table id=\"mvweek"+config.thecontainer+"\" class=\"mv-daynames-table\" cellSpacing=\"0\" cellPadding=\"0\"><tbody><tr>");
for (var i=config.weekstartday, j=0; j < 7; i++, j++){
if(i > 6) i=0;
var p={ dayname: __WDAY[i] };
if(__VIEWWEEKDAYS[i]!=0)
html.push("<th class=\"mv-dayname\" title=\"", __WDAY[i], "\">", __WDAY[i], "");
}
html.push("</tr></tbody></table>");
html.push("</div>");
var bH=GetMonthViewBodyHeight() - GetMonthViewHeaderHeight();
html.push("<div id=\"mvEventContainer"+config.thecontainer+"\" class=\"mv-event-container\" style=\"top:18px;height:", bH, "px;", "\">");
BuilderMonthBody(html, showday, config.weekstartday, events, bH,config);
html.push("</div>");
gridcontainer.html(html.join(""));
html=null;
$("#cal-month-closebtn"+config.thecontainer).click(closeCc);
}
function closeCc(){
$("#cal-month-cc"+option.thecontainer).css("visibility", "hidden");
}
function PropareEvents(dayarrs, events, aDE, sDE,filter){
var l=dayarrs.length;
var el=events.length;
var fE=[];
var deB=aDE;
var deA=sDE;
var startRange=dayarrs[0].date;
var endRange=dayarrs[dayarrs.length-1].date;
endRange=new Date(endRange.getFullYear(),endRange.getMonth(),endRange.getDate(),23,59,59);
for (var j=0; j < el; j++){
var sD=events[j][2];
var eD=events[j][3];
var diff=DateDiff("d", sD, eD);
if(diff > 0&&!(events[j][4]==1)&&!(option.rowsList.length>0&&option.view=="week")){//Fixed bug related to week view with rows and not all day events //added&&!(option.rowsList.length>0&&option.view=="week")
if(sD < startRange){
sD=startRange;
}
if(eD > endRange){
eD=endRange;
}
var stmp=sD;
for (sD;sD<=eD;sD=DateAdd("d", 1, sD)){
var s={};
s.event=events[j];
s.day=sD.getDate();
s.year=sD.getFullYear();
s.month=sD.getMonth() + 1;
if(option.rowsList==""||(option.dayWithTime&&option.view=="day"))
s.allday=events[j][4]==1;
else
s.allday=1;
s.crossday=events[j][5]==1;
s.reevent=events[j][6];//==1; //Recurring event
s.daystr=[s.year, s.month, s.day].join("/");
s.noResizer=true;
s.st={};
if(sD>events[j][2]){
s.st.hour=0;
s.st.minute=0;
s.noStarttime=true;
}else{
s.st.hour=sD.getHours();
s.st.minute=sD.getMinutes();
}
s.st.p=s.st.hour * 60 + s.st.minute;
s.et={};
if(DateAdd("d", 1, sD)<events[j][3]){
s.et.hour=23;
s.et.minute=59;
}else{
s.et.hour=eD.getHours();
s.et.minute=eD.getMinutes();
}
s.et.p=s.et.hour * 60 + s.et.minute;
fE.push(s);
}}else{
var s={};
s.event=events[j];
s.day=sD.getDate();
s.year=sD.getFullYear();
s.month=sD.getMonth() + 1;
if(option.rowsList==""||(option.dayWithTime&&option.view=="day"))
s.allday=events[j][4]==1;
else
s.allday=1;
s.crossday=events[j][5]==1;
s.reevent=events[j][6];//==1; //Recurring event
s.daystr=[s.year, s.month, s.day].join("/");
s.st={};
s.st.hour=sD.getHours();
s.st.minute=sD.getMinutes();
s.st.p=s.st.hour * 60 + s.st.minute;
s.et={};
s.et.hour=eD.getHours();
s.et.minute=eD.getMinutes();
s.et.p=s.et.hour * 60 + s.et.minute;
if(s.allday||((s.st.hour>=option.hoursStart)&&(s.st.hour<=option.hoursEnd)))
if(filter==""||(filter!=""&&((option.rowsByCategory=="dc_locations"&&events[j][9]==filter)||(option.rowsByCategory=="dc_subjects"&&events[j][1]==filter))) )
fE.push(s);
}}
var dMax=0;
for (var i=0; i < l; i++){
var da=dayarrs[i];
deA[i]=[]; deB[i]=[];
da.daystr=da.year + "/" + da.month + "/" + da.day;
for (var j=0; j < fE.length; j++){
if(!fE[j].crossday&&!fE[j].allday){
if(da.daystr==fE[j].daystr)
deA[i].push(fE[j]);
}else{
if(da.daystr==fE[j].daystr){
deB[i].push(fE[j]);
dMax++;
}else{
if(i==0&&da.date >=fE[j].event[2]&&da.date <=fE[j].event[3]){
deB[i].push(fE[j]);
dMax++;
}}
}}
}
var lrdate=dayarrs[l - 1].date;
for (var i=0; i < l; i++){
var de=deB[i];
if(de.length > 0){
for (var j=0; j < de.length; j++){
var end=DateDiff("d", lrdate, de[j].event[3]) > 0 ? lrdate:de[j].event[3];
de[j].colSpan=0;
for (var x=dayarrs[i].date;x<=end;x=DateAdd("d", 1, x))
de[j].colSpan +=__VIEWWEEKDAYS[x.getDay()];
}}
de=null;
}
for (var i=0; i < l; i++){
var de=deA[i];
if(de.length > 0){
var x=[];
var y=[];
var D=[];
var dl=de.length;
var Ia;
for (var j=0; j < dl; ++j){
var ge=de[j];
for (var La=ge.st.p, Ia=0; y[Ia] > La;) Ia++;
ge.PO=Ia; ge.ne=[];
y[Ia]=ge.et.p||1440;
x[Ia]=ge;
if(!D[Ia]){
D[Ia]=[];
}
D[Ia].push(ge);
if(Ia!=0){
ge.pe=[x[Ia - 1]];
x[Ia - 1].ne.push(ge);
}
for (Ia=Ia + 1; y[Ia] <=La;) Ia++;
if(x[Ia]){
var k=x[Ia];
ge.ne.push(k);
k.pe.push(ge);
}
ge.width=1 / (ge.PO + 1);
ge.left=1 - ge.width;
}
var k=Array.prototype.concat.apply([], D);
x=y = D=null;
var t=k.length;
for (var y=t; y--;){
var H=1;
var La=0;
var x=k[y];
for (var D=x.ne.length; D--;){
var Ia=x.ne[D];
La=Math.max(La, Ia.VL);
H=Math.min(H, Ia.left)
}
x.VL=La + 1;
x.width=H / (x.PO + 1);
x.left=H - x.width;
}
for (var y=0; y < t; y++){
var x=k[y];
x.left=0;
if(x.pe) for (var D=x.pe.length; D--;){
var H=x.pe[D];
x.left=Math.max(x.left, H.left + H.width);
}
var p=(1 - x.left) / x.VL;
x.width=Math.max(x.width, p);
x.aQ=Math.min(1 - x.left, x.width + 0.7 * p);
}
de=null;
deA[i]=k;
}}
return dMax;
}
function BuildWTHeader(ht, dayarrs){
for (var i=0; i < dayarrs.length; i++){
var ev, title, cl;
if(dayarrs.length==1){
ev="";
title="";
cl="";
}else{
ev=""; // "onclick=\"javascript:FunProxy('week2day',event,this);\"";
title=i18n.dcmvcal.to_date_view;
cl="wk-daylink";
}
if(dayarrs.length==1||__VIEWWEEKDAYS[dayarrs[i].date.getDay()])
ht.push("<th abbr='", dateFormat.call(dayarrs[i].date, "M/d/yyyy"), "' class='gcweekname' scope=\"col\"><div title='", title, "' ", ev, " class='wk-dayname'><span class='", cl, "'>", dayarrs[i].display, "</span></div></th>");
}}
function BuildWTBodyDayWithCol(ht, dayarrs, events, dMax,config,sufix){
var xx=sufix;
ht.push("<td colspan=\""+option.columnsList.length+"\" class=\"wk-allday\"");
ht.push("><div id=\"weekViewAllDaywk"+config.thecontainer+sufix+"\"><table class=\"st-grid\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" ><tbody>");
sufix=' row="'+sufix+'"';
if(dMax==0){
ht.push("<tr class=\"wk-allday-last\">");
for (var i=0;i<option.columnsList.length;i++)
ht.push("<td  class=\"st-c st-s\"", " ch='qkadd' abbr='", dateFormat.call(dayarrs[0].date, "yyyy-M-d"), "' axis='00:00'>&nbsp;</td>");
ht.push("</tr>");
}else{
var l=events.length;
var el=0;
var x=[];
for (var j=0; j < l; j++){
x.push(0);
}
var ev=new Array();
var evlength=0;
for (var j=0; ((el < dMax)&&(j < dMax)); j++){
for (var h=0; h < l;){
var e=events[h][x[h]];
for (var ii=0;ii<option.columnsList.length;ii++){
if(e){
if(((option.dayWithColumns=="dc_locations"&&e.event[9]==option.columnsList[ii])||(option.dayWithColumns=="dc_subjects"&&e.event[1]==option.columnsList[ii]))){
x[h]=x[h] + 1;
var t=BuildMonthDayEvent(e, dayarrs[h].date, l - h);
if(!ev[ii]) ev[ii]=new Array();
ev[ii][ev[ii].length]="<td class='st-c' ch='show'>"+ t + "</td>";;
if(ev[ii].length > evlength)
evlength=ev[ii].length;
el++;
}}
}
h++;
}}
for (var j=0; j < evlength; j++){
ht.push("<tr>");
for (var ii=0;ii<option.columnsList.length;ii++)
if(ev[ii]&&ev[ii][j])
ht.push(ev[ii][j]);
else
ht.push("<td class='st-c' ch='show'>&nbsp;</td>");
ht.push("<tr>");
}
ht.push("<tr height=\"100%\" class=\"wk-allday-last\">");
for (var ii=0;ii<option.columnsList.length;ii++)
for (var h=0; h < l; h++){
ht.push("<td height=\"100%\" class='st-c st-s' ch='qkadd' abbr='", dateFormat.call(dayarrs[h].date, "M/d/yyyy"), "' axis='00:00'>&nbsp;</td>");
}
ht.push("</tr>");
}
ht.push("</tbody></table></div></td></tr>"); // stgrid end //wvAd end //td2 end //tr2 end
ht.push("<tr>");
ht.push("<td style=\"height: 5px;\"");
if(dayarrs.length > 1){
if(option.view=="week")
ht.push(" colSpan='",__VIEWWEEKDAYSTOTAL+1, "'");
else
ht.push(" colSpan='",option.nOfDays+1, "'");
}
ht.push("></td>");
ht.push("</tr>");
}
function BuildWTBody(ht, dayarrs, events, dMax,config,sufix){
var sufixIndex=sufix;
ht.push("<td  class=\"wk-allday\"");
if(dayarrs.length > 1){
if(option.view=="week")
ht.push(" colSpan='",__VIEWWEEKDAYSTOTAL, "'"); //dayarrs.length
else
ht.push(" colSpan='",option.nOfDays, "'"); //dayarrs.length
}
ht.push("><div id=\"weekViewAllDaywk"+config.thecontainer+sufix+"\"><table class=\"st-grid\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" ><tbody>");
sufix=' row="'+sufix+'"';
if(dMax==0){
ht.push("<tr class=\"wk-allday-last\">");
for (var i=0; i < dayarrs.length; i++){
if(__VIEWWEEKDAYS[i]!=0)
ht.push("<td  class=\"st-c st-s\"", " ch='qkadd' abbr='", dateFormat.call(dayarrs[i].date, "yyyy-M-d"), "' axis='00:00'>&nbsp;</td>");
}
ht.push("</tr>");
}else{
var l=events.length;
var el=0;
var x=[];
for (var j=0; j < l; j++){
x.push(0);
}
var rowsByCategoryArray=new Array();
for (var j=0; ((el < dMax)&&(j < dMax)); j++){
ht.push("<tr>");
for (var h=0; h < l;){
var e=events[h][x[h]];
var tmp_h=h;
if(__VIEWWEEKDAYS[((dayarrs[tmp_h].date.getDay())%option.nOfDays)]!=0) ht.push("<td class='st-c");
if((e)&&((option.rowsByCategory=="")||((option.rowsByCategory=="dc_locations"&&e.event[9]==option.rowsList[sufixIndex]&&($.inArray(e.event[0], rowsByCategoryArray)==-1||e.event[6]!=""))||(option.rowsByCategory=="dc_subjects"&&e.event[1]==option.rowsList[sufixIndex]&&($.inArray(e.event[0], rowsByCategoryArray)==-1||e.event[6]!="")) ))){
rowsByCategoryArray[rowsByCategoryArray.length]=e.event[0];
x[h]=x[h] + 1;
if(__VIEWWEEKDAYS[((dayarrs[tmp_h].date.getDay())%option.nOfDays)]!=0) ht.push("'");
var t=BuildMonthDayEvent(e, dayarrs[h].date, l - h);
if(sufix!="")
t=t.replace('class="rb-o', sufix+' class="rb-o');
if(e.colSpan > 1){
if(__VIEWWEEKDAYS[((dayarrs[tmp_h].date.getDay())%option.nOfDays)]!=0) ht.push(" colSpan='", e.colSpan, "'");
var zz=0;
for (var p=0; (p<e.colSpan)&&(h+zz < option.nOfDays);){
p +=__VIEWWEEKDAYS[dayarrs[h+zz].date.getDay()];
zz++;
}
h +=zz;
}else{
h++;
}
if(__VIEWWEEKDAYS[((dayarrs[tmp_h].date.getDay())%option.nOfDays)]!=0) ht.push(" ch='show'>", t);
t=null;
el++;
}else{
if(__VIEWWEEKDAYS[((dayarrs[tmp_h].date.getDay())%option.nOfDays)]!=0) ht.push(" st-s' ch='qkadd' abbr='", dateFormat.call(dayarrs[h].date, "M/d/yyyy"), "' axis='00:00'>&nbsp;");
h++;
}
if(__VIEWWEEKDAYS[((dayarrs[tmp_h].date.getDay())%option.nOfDays)]!=0) ht.push("</td>");
}
ht.push("</tr>");
}
ht.push("<tr height=\"100%\" class=\"wk-allday-last\">");
for (var h=0; h < l; h++){
if(__VIEWWEEKDAYS[((dayarrs[h].date.getDay())%option.nOfDays)]!=0)
ht.push("<td height=\"100%\" class='st-c st-s' ch='qkadd' abbr='", dateFormat.call(dayarrs[h].date, "M/d/yyyy"), "' axis='00:00'>&nbsp;</td>");
}
ht.push("</tr>");
}
ht.push("</tbody></table></div></td></tr>"); // stgrid end //wvAd end //td2 end //tr2 end
ht.push("<tr>");
ht.push("<td style=\"height: 5px;\"");
if(dayarrs.length > 1){
if(option.view=="week")
ht.push(" colSpan='",__VIEWWEEKDAYSTOTAL+1, "'");
else
ht.push(" colSpan='",option.nOfDays+1, "'");
}
ht.push("></td>");
ht.push("</tr>");
}
function BuildDayScollEventheader(ht, dayarrs, events,config){
ht.push("<tr>");
ht.push("<td style='width:"+option.hourswidth+"px;'></td>");
ht.push("<td");
if(dayarrs.length > 1){
if(option.view=="week")
ht.push(" colSpan='",__VIEWWEEKDAYSTOTAL, "'");
else
ht.push(" colSpan='",option.nOfDays, "'");
}
else if(option.columnsList!=""&&option.view=="day")
ht.push(" colSpan='",option.columnsList.length, "'");
ht.push(" ><div id=\"tgspanningwrapper"+config.thecontainer+"\" class=\"tg-spanningwrapper\"><div style=\"font-size: 20px\" class=\"tg-hourmarkers\">");
var hh=(option.cellheight/2)  ;
for (var i=option.hoursStart; i <=option.hoursEnd; i++){
ht.push("<div class=\"tg-dualmarker\"style=\"height:"+(option.cellheight-hh)+"px;line-height:"+(option.cellheight-hh)+"px;margin-bottom:"+hh+"px\"></div>");
}
ht.push("</div></div></td></tr>");
ht.push("<tr>");
ht.push("<td style=\"width: "+option.hourswidth+"px\" class=\"tg-times\">");
var now=new Date(); var h=now.getHours(); var m=now.getMinutes();
var mHg=gP(h, m) - 4;
ht.push("<div id=\"tgnowptr"+config.thecontainer+"\" class=\"tg-nowptr\" style=\"left:0px;top:", mHg, "px\"></div>");
var tmt="";
for (var i=option.hoursStart; i <=option.hoursEnd; i++){
tmt=fomartTimeAMPM(i,0,__MilitaryTime, 1);
ht.push("<div style=\"height: "+(option.cellheight)+"px\" class=\"tg-time\">", tmt, "</div>");
}
ht.push("</td>");
}
function BuildDayScollEventbody(ht, dayarrs, events,config){
var now=new Date(); var h=now.getHours(); var m=now.getMinutes();
var mHg=gP(h, m) - 4;
var l=dayarrs.length;
for (var i=0; i < l; i++){
if(__VIEWWEEKDAYS[dayarrs[i].date.getDay()]!=0){
ht.push("<td class=\"tg-col\" ch='qkadd' abbr='", dateFormat.call(dayarrs[i].date, "M/d/yyyy"), "'>");
var istoday=dateFormat.call(dayarrs[i].date, "yyyyMMdd")==dateFormat.call(new Date(), "yyyyMMdd");
if(istoday){
ht.push("<div style=\"margin-bottom: -"+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px; height:"+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px\" class=\"tg-today\"></div>");
}
ht.push("<div  style=\"margin-bottom: -"+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px; height: "+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px\" id='tgCol"+config.thecontainer+"", i, "' class=\"tg-col-eventwrapper\">");
BuildEvents(ht, events[i], dayarrs[i]);
ht.push("</div>");
ht.push("<div class=\"tg-col-overlaywrapper\" id='tgOver"+config.thecontainer+"", i, "'>");
if(istoday){
var mhh=mHg + 4;
ht.push("<div id=\"tgnowmarker"+config.thecontainer+"\" class=\"tg-hourmarker tg-nowmarker\" style=\"left:0px;top:", mhh, "px\"></div>");
}
ht.push("</div>");
ht.push("</td>");
}}
ht.push("</tr>");
}
function BuildDayScollEventbodyWithCol(ht, dayarrs, events,config){
var i=0;
var now=new Date(); var h=now.getHours(); var m=now.getMinutes();
var mHg=gP(h, m) - 4;
var l=dayarrs.length;
var i=0;
{
for (var ii=0;ii<option.columnsList.length;ii++){
ht.push("<td class=\"tg-col\" ch='qkadd' col='"+option.columnsList[ii]+"' abbr='", dateFormat.call(dayarrs[i].date, "M/d/yyyy"), "'>");
var istoday=dateFormat.call(dayarrs[i].date, "yyyyMMdd")==dateFormat.call(new Date(), "yyyyMMdd");
if(istoday){
ht.push("<div style=\"margin-bottom: -"+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px; height:"+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px\" class=\"tg-today\"></div>");
}
ht.push("<div  style=\"margin-bottom: -"+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px; height: "+((option.hoursEnd-option.hoursStart+1)*option.cellheight)+"px\" id='tgCol"+config.thecontainer+"", i, "' class=\"tg-col-eventwrapper\">");
var eventbyColumns=new Array();
for (var j=0; j < events[i].length; j++){
var e=events[i][j];
e.left=0;
e.aQ=1;
if(((option.dayWithColumns=="dc_locations"&&e.event[9]==option.columnsList[ii])||(option.dayWithColumns=="dc_subjects"&&e.event[1]==option.columnsList[ii])))
eventbyColumns[eventbyColumns.length]=e;
}
BuildEvents(ht, eventbyColumns, dayarrs[i]);
ht.push("</div>");
ht.push("<div class=\"tg-col-overlaywrapper\" id='tgOver"+config.thecontainer+"", i, "'>");
if(istoday){
var mhh=mHg + 4;
ht.push("<div id=\"tgnowmarker"+config.thecontainer+"\" class=\"tg-hourmarker tg-nowmarker\" style=\"left:0px;top:", mhh, "px\"></div>");
}
ht.push("</div>");
ht.push("</td>");
}}
ht.push("</tr>");
}
function BuildEvents(hv, events, sday){
for (var i=0; i < events.length; i++){
var c;
c=tc(events[i].event[7]);
var tt=BuildDayEvent(c, events[i], i);
hv.push(tt);
}}
function getTitle(event){
var timeshow, locationshow, attendsshow, eventshow;
var showtime=event[4]!=1;
eventshow=event[1];
var startformat=getymformat(event[2], null, showtime, true);
var endformat=getymformat(event[3], event[2], showtime, true);
timeshow=dateFormat.call(event[2], startformat) + " - " + dateFormat.call(event[3], endformat);
locationshow=(event[9]!=undefined&&event[9]!="") ? ($.cpeoplebrowser.mozilla?"":"\r\n")+i18n.dcmvcal.location + ":" + event[9]:"";
attendsshow=(event[10]!=undefined&&event[10]!="") ? event[10]:"";
var ret=[];
if(event[4]==1){
ret.push("[" + i18n.dcmvcal.allday_event + "]",$.cpeoplebrowser.mozilla?"":"\r\n");
}else{
if(event[5]==1){
ret.push("[" + i18n.dcmvcal.repeat_event + "]",$.cpeoplebrowser.mozilla?"":"\r\n");
}}
ret.push(i18n.dcmvcal.time + ":", timeshow, $.cpeoplebrowser.mozilla?"":"\r\n", i18n.dcmvcal.event + ":", eventshow, locationshow);
if(attendsshow!=""){
ret.push($.cpeoplebrowser.mozilla?"":"\r\n", i18n.dcmvcal.participant + ":", attendsshow);
}
return ret.join("");
}
function BuildDayEvent(theme, e, index){
var p={ bdcolor: theme[0], bgcolor2: theme[0], bgcolor1: theme[2], width: "70%", icon: "", title: "", data: "" };
if(e.noStarttime)
p.starttime="";
else
p.starttime=fomartTimeAMPM(e.st.hour,e.st.minute,__MilitaryTime);
if(e.noResizer)
p.endtime="";
else
p.endtime=fomartTimeAMPM(e.et.hour,e.et.minute,__MilitaryTime);
p.content=e.event[1];
p.title=getTitle(e.event);
p.data=e.event.join("$*$");
var icons=[];
icons.push("<I class=\"cic cic-tmr\">&nbsp;</I>");
if(e.reevent){
icons.push("<I class=\"cic cic-spcl\">&nbsp;</I>");
}
p.icon=icons.join("");
var sP=gP(e.st.hour, e.st.minute);
var eP=gP(e.et.hour, e.et.minute);
p.top=sP + "px";
p.left=(e.left * 100) + "%";
p.width=(e.aQ * 100) + "%";
if(eP==0&&sP>0)
p.height=(sP - 4);
else
p.height=(eP - sP - 4);
p.i=index;
if(option.enableDrag&&(option.readonly!=true&&(option.userEdit||((option.userOwner==e.event[12])&&option.userEditOwner)))&&e.event[8]==1&&!e.noResizer){
p.drag="drag";
p.redisplay="block";
}else{
p.drag="";
p.redisplay="none";
}
p.userEdition=(((option.userOwner==e.event[12])&&(option.userEditOwner||option.userDelOwner))?"uEdition":"");
p.location=(e.event[9]!=null)?e.event[9]:"";
p.description=(e.event[11]!=null)?e.event[11]:"";
var newtemp=Tp(__SCOLLEVENTTEMP, p);
p=null;
return newtemp;
}
function GetMonthViewBodyHeight(){
return option.height;
}
function GetMonthViewHeaderHeight(){
return 26;
}
function BuilderMonthBody(htb, showday, startday, events, bodyHeight,config){
var firstdate=new Date(showday.getFullYear(), showday.getMonth(), 1);
var diffday=startday - firstdate.getDay();
var showmonth=showday.getMonth();
if(diffday > 0){
diffday -=7;
}
var startdate=DateAdd("d", diffday, firstdate);
var enddate=DateAdd("d", 34, startdate);
var rc=5;
if(enddate.getFullYear()==showday.getFullYear()&&enddate.getMonth()==showday.getMonth()&&enddate.getDate() < __MonthDays[showmonth]){
enddate=DateAdd("d", 7, enddate);
rc=6;
}
option.vstart=startdate;
option.vend=enddate;
var themonth=DateAdd("d", 15, startdate);
option.datestrshow=__MonthNameLarge[themonth.getMonth()]+" "+themonth.getFullYear() ;
bodyHeight=bodyHeight - 18 * rc;
var rowheight=bodyHeight / rc;
var roweventcount=parseInt(rowheight / (option.cellheight/2) );
if(rowheight % (option.cellheight/2)  > 15){
roweventcount++;
}
if(roweventcount==0) roweventcount++;
var p=100 / rc;
var formatevents=[];
var hastdata=formartEventsInHashtable(events, startday, 7, startdate, enddate);
var B=[];
var C=[];
for (var j=0; j < rc; j++){
var k=0;
formatevents[j]=b = [];
for (var i=0; i < 7; i++){
var newkeyDate=DateAdd("d", j * 7 + i, startdate);
C[j * 7 + i]=newkeyDate;
var newkey=dateFormat.call(newkeyDate, "MMddyyyy");
b[i]=hastdata[newkey];
if(b[i]&&b[i].length > 0){
k +=b[i].length;
}}
B[j]=k;
}
eventDiv.data("mvdata", formatevents);
for (var j=0; j < rc; j++){
htb.push("<div id='mvrow"+config.thecontainer+"_", j, "' style=\"HEIGHT:", p, "%; TOP:", p * j, "%\"  class=\"month-row\">");
htb.push("<table class=\"st-bg-table\" cellSpacing=\"0\" cellPadding=\"0\"><tbody><tr>");
var dMax=B[j];
for (var iweek=config.weekstartday,i=0; i < 7; iweek++,i++){
if(iweek > 6) iweek=0;
var day=C[j * 7 + i];
if(__VIEWWEEKDAYS[iweek]!=0){
htb.push("<td display=\""+__VIEWWEEKDAYS[iweek]+"\" abbr='", dateFormat.call(day, "M/d/yyyy"), "' ch='qkadd' axis='00:00' title=''");
if(dateFormat.call(day, "yyyyMMdd")==dateFormat.call(new Date(), "yyyyMMdd")){
htb.push(" class=\"st-bg st-bg-today\">");
}else{
htb.push(" class=\"st-bg\">");
}
htb.push("&nbsp;</td>");
}}
htb.push("</tr></tbody></table>");
htb.push("<table class=\"st-grid\" cellpadding=\"0\" cellspacing=\"0\"><tbody>");
htb.push("<tr>");
var titletemp="<td display=\"${display}\" class=\"st-dtitle${titleClass}\" ch='qkadd' abbr='${abbr}' axis='00:00' title=\"${title}\"><span class='monthdayshow'>${dayshow}</span></a></td>";
for (var i=0; i < 7; i++){
var o={ titleClass: "", dayshow: "", display:__VIEWWEEKDAYS[(startday+i)%7]+"i"+i };
var day=C[j * 7 + i];
if(dateFormat.call(day, "yyyyMMdd")==dateFormat.call(new Date(), "yyyyMMdd")){
o.titleClass=" st-dtitle-today";
}
if(day.getMonth()!=showmonth){
o.titleClass=" st-dtitle-nonmonth";
}
o.title=dateFormat.call(day, i18n.dcmvcal.dateformat.fulldayshow);
if(day.getDate()==1){
if(day.getMonth==0){
o.dayshow=dateFormat.call(day, i18n.dcmvcal.dateformat.fulldayshow);
}else{
o.dayshow=dateFormat.call(day, i18n.dcmvcal.dateformat.Md3);
}}else{
o.dayshow=day.getDate();
}
o.abbr=dateFormat.call(day, "M/d/yyyy");
if(__VIEWWEEKDAYS[(startday+i)%7]!=0)
htb.push(Tp(titletemp, o));
}
htb.push("</tr>");
var sfirstday=C[j * 7];
BuildMonthRow(htb, formatevents[j], dMax, roweventcount, sfirstday,startday);
htb.push("</tbody></table>");
htb.push("</div>");
}
formatevents=B = C=hastdata=null;
}
function formartEventsInHashtable(events, startday, daylength, rbdate, redate){
var hast=new Object();
var l=events.length;
for (var i=0; i < l; i++){
var sD=events[i][2];
var eD=events[i][3];
var diff=DateDiff("d", sD, eD);
var s={};
s.event=events[i];
s.day=sD.getDate();
s.year=sD.getFullYear();
s.month=sD.getMonth() + 1;
s.allday=events[i][4]==1;
s.crossday=events[i][5]==1;
s.reevent=events[i][6];//==1; //Recurring event
s.daystr=s.year + "/" + s.month + "/" + s.day;
s.st={};
s.st.hour=sD.getHours();
s.st.minute=sD.getMinutes();
s.st.p=s.st.hour * 60 + s.st.minute;
s.et={};
s.et.hour=eD.getHours();
s.et.minute=eD.getMinutes();
s.et.p=s.et.hour * 60 + s.et.minute;
if(diff > 0){
if(sD < rbdate){
sD=rbdate;
}
if(eD > redate){
eD=redate;
}
var f=startday - sD.getDay();
if(f > 0){ f -=daylength; }
sD=new Date(sD.getFullYear(), sD.getMonth(), sD.getDate());
var sdtemp=DateAdd("d", f, sD);
for (; sdtemp <=eD; sD=sdtemp=DateAdd("d", daylength, sdtemp)){
var d=Clone(s);
while (!__VIEWWEEKDAYS[sD.getDay()]&&sdtemp <=eD){
sD=DateAdd("d", 1, sD);
}
var key=dateFormat.call(sD, "MMddyyyy");
var x=DateDiff("d", sdtemp, eD);
var y=DateDiff("d", sdtemp, sD);
if(hast[key]==null){
hast[key]=[];
}
if(x >=daylength){
if(y==0)
d.colSpan=__VIEWWEEKDAYSTOTAL
else
{
var sdtemp2=DateAdd("d", daylength, sdtemp);
d.colSpan=0;
for (var x=sD;x<sdtemp2;x=DateAdd("d", 1, x))
d.colSpan +=__VIEWWEEKDAYS[x.getDay()];
}}else{
d.colSpan=0;
for (var x=sD;x<=eD;x=DateAdd("d", 1, x))
d.colSpan +=__VIEWWEEKDAYS[x.getDay()];
}
if(d.colSpan > 0)
hast[key].push(d);
d=null;
}}else{
var key=dateFormat.call(events[i][2], "MMddyyyy");
if(hast[key]==null){
hast[key]=[];
}
s.colSpan=1;
hast[key].push(s);
}
s=null;
}
return hast;
}
function BuildMonthRow(htr, events, dMax, sc, day,startday){
var x=[];
var y=[];
var z=[];
var cday=[];
var clone=__VIEWWEEKDAYS.slice(0);
if(__VIEWWEEKDAYSTOTAL!=events.length){
var clone=__VIEWWEEKDAYS.slice(0);
var clone_start=clone.splice(0,startday);
clone=clone.concat(clone_start);
for (var i=6;i>=0;i--)
if(clone[i]==0)
events.splice(i,1);
}
var l=events.length;
var el=0;
for(var i=0;i<7;i++)
if(clone[i]!=0){
x.push(0);
y.push(0);
z.push(0);
cday.push(DateAdd("d", i, day));
}
for (var j=0; j < l; j++){
var ec=events[j] ? events[j].length:0;
y[j] +=ec;
for (var k=0; k < ec; k++){
var e=events[j][k];
if(e&&e.colSpan > 1){
for (var m=1; m < e.colSpan; m++){
y[j + m]++;
}}
}}
var maxEventsRow=0;
for (var i=0;i<l;i++)
if(maxEventsRow<y[i])
maxEventsRow=y[i];
maxEventsRow++;
if(!option.show_more_events_link&&maxEventsRow > sc)
sc=maxEventsRow;
var tdtemp="<td class='${cssclass}' display='${display}' axis='${axis}' ch='${ch}' abbr='${abbr}' title='${title}' ${otherAttr}>${html}</td>";
var tmp_h=0;
for (var j=0; j < sc&&el < dMax; j++){
htr.push("<tr class='mv_month_row' maxEventsRow='"+maxEventsRow+"'>");
for (var h=0; h < l;){
var cdisplay=0;
var e=events[h] ? events[h][x[h]]:undefined;
var tempdata={ "class": "", axis: "", ch: "", title: "", abbr: "", html: "", otherAttr: "", click: "javascript:void(0);" };
var tempCss=["st-c"];
if(e){
x[h]=x[h] + 1;
var bs=false;
if(z[h] + 1==y[h]&&e.colSpan==1){
bs=true;
}
if(!bs&&j==(sc - 1)&&z[h] < y[h]){
el++;
$.extend(tempdata, { "axis": h, ch: "more", "abbr": dateFormat.call(cday[h], "M/d/yyyy"), html: i18n.dcmvcal.others + " " + (y[h] - z[h]) + i18n.dcmvcal.item, click: "javascript:alert('more event');" });
tempCss.push("st-more st-moreul");
h++;
}else{
tempdata.html=BuildMonthDayEvent(e, cday[h], l - h);
tempdata.ch="show";
if(e.colSpan > 1){
tempdata.otherAttr=" colSpan='" + e.colSpan + "'";
for (var m=0; m < e.colSpan; m++){
z[h + m]=z[h + m] + 1;
}
var zz=0;
for (var p=0; p<e.colSpan;){
p +=__VIEWWEEKDAYS[cday[h+zz].getDay()];
zz++;
}
h +=zz;
}else{
z[h]=z[h] + 1;
h++;
}
el++;
}}else{
if(j==(sc - 1)&&z[h] < y[h]&&y[h] > 0){
$.extend(tempdata, { "axis": h, ch: "more", "abbr": dateFormat.call(cday[h], "M/d/yyyy"), html: i18n.dcmvcal.others + " " + (y[h] - z[h]) + i18n.dcmvcal.item, click: "javascript:alert('more event');" });
tempCss.push("st-more st-moreul");
h++;
}else{
cdisplay=1;
$.extend(tempdata, { html: "&nbsp;", ch: "qkadd", display:1, "axis": "00:00", "abbr": dateFormat.call(cday[h], "M/d/yyyy"), title: "" });
tempCss.push("st-s");
tmp_h=h;
h++;
}}
tempdata.cssclass=tempCss.join(" ");
tempCss=null;
if(cdisplay==0)
htr.push(Tp(tdtemp, tempdata));
else
if(__VIEWWEEKDAYS[((cday[tmp_h].getDay())%7)]!=0)
htr.push(Tp(tdtemp, tempdata));
tempdata=null;
}
htr.push("</tr>");
}
x=y = z=cday=null;
}
function BuildMonthDayEvent(e, cday, length){
var theme;
theme=tc(e.event[7]);
var p={ color: theme[2], title: "", extendClass: "", extendHTML: "", data: "" };
p.title=getTitle(e.event);
p.id="bbit_cal_event_" + e.event[0];
if(option.enableDrag&&(option.readonly!=true&&(option.userEdit||((option.userOwner==e.event[12])&&option.userEditOwner)))&&e.event[8]==1){
p.eclass="drag";
}else{
p.eclass="cal_" + e.event[0];
}
p.data=e.event.join("$*$");
var sp="<span style=\"cursor: pointer\">${content}</span>";
var i="<I class=\"cic cic-tmr\">&nbsp;</I>";
var i2="<I class=\"cic cic-rcr\">&nbsp;</I>";
var ml="<div class=\"st-ad-ml\"></div>";
var mr="<div class=\"st-ad-mr\"></div>";
var arrm=[];
var sf=e.event[2] < cday;
var ef=DateDiff("d", cday, e.event[3]) >=length;  //e.event[3] >=DateAdd("d", 1, cday);
if(sf||ef){
if(sf){
arrm.push(ml);
p.extendClass="st-ad-mpad ";
}
if(ef){ arrm.push(mr); }
p.extendHTML=arrm.join("");
}
var cen;
if(!e.allday&&!sf){
cen="<span class=\"t-time\">" + fomartTimeAMPM(e.st.hour,e.st.minute,__MilitaryTime) + "</span> " + e.event[1];
}else{
cen=e.event[1];
}
var content=[];
content.push(Tp(sp, { content: cen }));
content.push(i);
if(e.reevent){ content.push(i2); }
p.content=content.join("");
p.location=(e.event[9]!=null)?e.event[9]:"";
p.description=(e.event[11]!=null)?e.event[11]:"";
p.userEdition=(((option.userOwner==e.event[12])&&(option.userEditOwner||option.userDelOwner))?"uEdition":"");
return Tp(__ALLDAYEVENTTEMP, p);
}
function populate(){
if(option.isloading){
return true;
}
if(option.url&&option.url!=""){
option.isloading=true;
if(option.onBeforeRequestData&&$.isFunction(option.onBeforeRequestData)){
option.onBeforeRequestData(1);
}
var zone=new Date().getTimezoneOffset() / 60 * -1;
var param=[
{ name: "showdate", value: dateFormat.call(option.showday, "M/d/yyyy HH:mm") },
{ name: "startdate", value: dateFormat.call(option.vstart, "M/d/yyyy HH:mm") },
{ name: "enddate", value: dateFormat.call(option.vend, "M/d/yyyy HH:mm") },
{ name: "viewtype", value: option.view },
{ name: "list_start", value: option.list_start },
{ name: "list_end", value: option.list_end },
{ name: "list_eventsPerPage", value: option.list_eventsPerPage },
{ name: "lastdate", value: ((option.lastdate=="")?"":dateFormat.call(option.lastdate, "M/d/yyyy HH:mm")) },
{ name: "list_order", value: option.list_order },
{ name: "timezone", value: zone }
];
if(option.extParam){
for (var pi=0; pi < option.extParam.length; pi++){
param[param.length]=option.extParam[pi];
}}
$.ajax({
type: option.method,
url: option.url,
data: param,
dataType: "json",
dataFilter: function(data, type){
return data;
},
success: function(data){
if(data!=null&&data.error!=null){
if(option.onRequestDataError){
option.onRequestDataError(1, data);
}}else{
try {
$.each(data.events, function(index, value){
value[2]=parseDate(value[2]);
value[3]=parseDate(value[3]);
});
if(option.view!="list"){
data["start"]=parseDate(data["start"]);
data["end"]=parseDate(data["end"]);
}
if(option.view=="list"&&option.lastdate==""&&option.list_order=="desc"&&data.end!="")
option.lastdate=parseDate(data["end"]);
if(option.view=="list"&&option.lastdate==""&&option.list_order=="asc"&&data.start!="")
option.lastdate=parseDate(data["start"]);
responseData(data, data.start, data.end);
if(option.view!="list")
pushER(data.start, data.end);
} catch (e){ }}
if(option.onAfterRequestData&&$.isFunction(option.onAfterRequestData)){
option.onAfterRequestData(1);
}
option.isloading=false;
},
error: function(data){
try {
if(option.onRequestDataError){
option.onRequestDataError(1, data);
}else{
alert(i18n.dcmvcal.get_data_exception);
}
if(option.onAfterRequestData&&$.isFunction(option.onAfterRequestData)){
option.onAfterRequestData(1);
}
option.isloading=false;
} catch (e){ }}
});
}else{
alert("url" + i18n.dcmvcal.i_undefined);
}}
function responseData(data, start, end){
var events,v,r,ne,tmp,tmpArray=new Array(),excludeEventsSpecial=new Array();
for (var i=0;i<data.events.length;i++){
excludeEvents=new Array();
v=data.events[i];
if(v[6]!=""&&v[6]!=null&&v[6]!=undefined){
if((v[6]+"").match(/^\d+$/)){
if(!(excludeEventsSpecial["uid"+v[6]]))
excludeEventsSpecial["uid"+v[6]]=new Array();
excludeEventsSpecial["uid"+v[6]][excludeEventsSpecial["uid"+v[6]].length]=new Date(v[2].getFullYear(), v[2].getMonth(), v[2].getDate()).toString();
tmpArray[tmpArray.length]=v.slice(0);
}else{
if(/;exdate=/i.test(v[6])){
var vv=v[6].split(";exdate=,");
v[6]=vv[0];
var delEv=vv[1].split(",");
for (var j=0;j<delEv.length;j++){
var d=delEv[j].split("/");
var iEv=new Date(d[2],d[0]-1,d[1]);
excludeEvents[excludeEvents.length]=iEv.toString();
}}
try
{
var options=RRule.parseString(v[6]);
options.dtstart=v[2];
var r=new RRule(options);
var diff=v[3]-v[2];
if(option.view=="list"){
if(option.list_order=="desc"){
ne=r.between(parseDate(start),option.lastdate);
for (var j=0;j<=option.list_eventsPerPage;j++){
var thenext=r.before(ne[ne.length-1], false)
if(thenext!=null&&(start==""||parseDate(start)<=thenext)&&(end==""||parseDate(end)>=thenext))
ne[ne.length]=thenext;
}}else{
if(option.lastdate!="")
ne=r.between(option.lastdate, ((end!="")?parseDate(end):false),true);
else if(start!="")
ne=r.between(parseDate(start), ((end!="")?parseDate(end):false),true);
else
ne=r.between(v[2], ((end!="")?parseDate(end):false),true);
for (var j=0;j<=option.list_eventsPerPage;j++){
var thenext=r.after(ne[ne.length-1], false)
if(thenext!=null&&(start==""||parseDate(start)<=thenext)&&(end==""||parseDate(end)>=thenext))
ne[ne.length]=thenext;
}}
}
else
ne=r.between(DateAdd("d", -1, start), DateAdd("d", 1, end));
if((excludeEventsSpecial["uid"+v[0]]))
excludeEvents=$.merge(excludeEvents, excludeEventsSpecial["uid"+v[0]]);
for (var j=0;j<ne.length;j++){
var date00=new Date(ne[j].getFullYear(), ne[j].getMonth(), ne[j].getDate());
if(($.inArray(date00.toString(), excludeEvents))==-1){
ne[j]=new Date(ne[j].getFullYear(), ne[j].getMonth(), ne[j].getDate(),v[2].getHours(),v[2].getMinutes());
tmp=v.slice(0);
tmp[2]=ne[j];
tmp[3]=DateAdd("l", diff , ne[j]);
tmpArray[tmpArray.length]=tmp;
}}
}catch (e){}}
}
else
tmpArray[tmpArray.length]=v.slice(0);
}
data.events=tmpArray;
if(data.events&&data.events.length > 0){
if(option.view=="list"&&option.list_order=="desc")
events=data.events.sort(function(l, r){ return ((l[2].toString()==r[2].toString())? (l[0] > r[0] ? -1:1):(l[2] > r[2] ? -1:1)); });
else
events=data.events.sort(function(l, r){ return ((l[2].toString()==r[2].toString())? (l[0] > r[0] ? 1:-1):(l[2] > r[2] ? 1:-1)); });
}else{
events=[];
}
if(option.view=="list")
option.eventItems=[];
ConcatEvents(events, start, end);
render();
}
function clearrepeat(events, start, end){
var jl=events.length;
if(jl > 0){
var es=events[0][2];
var el=events[jl - 1][2];
for (var i=0, l=option.eventItems.length; i < l; i++){
if(option.eventItems[i][2] > el||jl==0){
break;
}
if(option.eventItems[i][2] >=es){
for (var j=0; j < jl; j++){
if((option.eventItems[i][0]==events[j][0])
&& (option.eventItems[i][2].toString()==events[j][2].toString())
&& ((option.eventItems[i][2] < start)
|| (option.eventItems[i][2] > end))
){
events.splice(j, 1);
jl--;
break;
}}
}}
}}
function ConcatEvents(events, start, end){
if(!events){
events=[];
}
if(events){
if(option.eventItems.length==0){
option.eventItems=events;
}else{
clearrepeat(events, start, end);
var l=events.length;
var sl=option.eventItems.length;
var sI=-1;
var eI=sl;
var s=start;
var e=end;
if(option.eventItems[0][2] > e){
option.eventItems=events.concat(option.eventItems);
return;
}
if(option.eventItems[sl - 1][2] < s){
option.eventItems=option.eventItems.concat(events);
return;
}
for (var i=0; i < sl; i++){
if(option.eventItems[i][2] >=s&&sI < 0){
sI=i;
continue;
}
if(option.eventItems[i][2] > e){
eI=i;
break;
}}
var e1=sI <=0 ? []:option.eventItems.slice(0, sI);
var e2=eI==sl ? []:option.eventItems.slice(eI);
option.eventItems=[].concat(e1, events, e2);
events=e1=e2=null;
}}
}
function weekormonthtoday(e){
$('#show'+option.view+"btn"+option.thecontainer).removeClass("ui-state-active");
var th=$(this);
var daystr=th.attr("abbr");
option.showday=str_MdyyyyHHmm_todate(daystr + " 00:00");
option.view="day";
$('#show'+option.view+"btn"+option.thecontainer).addClass("ui-state-active");
render();
if(option.onweekormonthtoday){
option.onweekormonthtoday(option);
}
e.stopPropagation();
}
function move_mv_dlg(){
$(".mv_dlg").css("top",parseFloat($(".mv_dlg").css("top"))+17);
$(".mv_dlg").css("left",parseFloat($(".mv_dlg").css("left"))-29);
$(".mv_dlg").css("height","0px");
}
function parseDate(str){
var s=str.split(" ");
var s0=s[0].split("/");
var s1=s[1].split(":");
if(s1.length!=2)
s1=new Array(0,0);
return new Date(s0[2]*1, s0[0]*1-1, s0[1]*1,s1[0]*1,s1[1]*1);
}
function gP(h, m){
if(h>option.hoursEnd)
return (option.hoursEnd-option.hoursStart+1) * option.cellheight ;
else
return (h-option.hoursStart) * option.cellheight + parseInt(m / 60 * option.cellheight);
}
function gW(ts1, ts2){
if(ts1>=ts2)
ts2=ts1+ (option.cellheight/2);
var t1=ts1 / option.cellheight;
var t2=parseInt(t1) + option.hoursStart;
var t3=t1 - t2 +option.hoursStart >=0.5 ? 30:0;
var t4=ts2 / option.cellheight;
var t5=parseInt(t4) + option.hoursStart;
var t6=t4 - t5 + option.hoursStart>=0.5 ? 30:0;
if(t5>23){
t5=23;
t6=30;
}
if(t2==t5&&t3==t6)
if(t3==0)
t6=30;
else
{
t5++;
t6=0;
}
return { sh: t2, sm: t3, eh: t5, em: t6, h: ts2 - ts1 };}
function gH(y1, y2, pt){
var sy1=Math.min(y1, y2);
var sy2=Math.max(y1, y2);
var t1=(sy1 - pt) / option.cellheight;
var t2=parseInt(t1) + option.hoursStart;
var t3=t1 - t2 +option.hoursStart>=0.5 ? 30:0;
var t4=(sy2 - pt) / option.cellheight;
var t5=parseInt(t4) + option.hoursStart;
var t6=t4 - t5 +option.hoursStart>=0.5 ? 30:0;
return { sh: t2, sm: t3, eh: t5, em: t6, h: sy2 - sy1 };}
function pZero(n){
return n < 10 ? "0" + n:"" + n;
}
function tc(d){
function zc(c, i){
var d="666666888888aaaaaabbbbbbdddddda32929cc3333d96666e69999f0c2c2b1365fdd4477e67399eea2bbf5c7d67a367a994499b373b3cca2cce1c7e15229a36633cc8c66d9b399e6d1c2f029527a336699668cb399b3ccc2d1e12952a33366cc668cd999b3e6c2d1f01b887a22aa9959bfb391d5ccbde6e128754e32926265ad8999c9b1c2dfd00d78131096184cb05288cb8cb8e0ba52880066aa008cbf40b3d580d1e6b388880eaaaa11bfbf4dd5d588e6e6b8ab8b00d6ae00e0c240ebd780f3e7b3be6d00ee8800f2a640f7c480fadcb3b1440edd5511e6804deeaa88f5ccb8865a5aa87070be9494d4b8b8e5d4d47057708c6d8ca992a9c6b6c6ddd3dd4e5d6c6274878997a5b1bac3d0d6db5a69867083a894a2beb8c1d4d4dae54a716c5c8d8785aaa5aec6c3cedddb6e6e41898951a7a77dc4c4a8dcdccb8d6f47b08b59c4a883d8c5ace7dcce";
return "#" + d.substring(c * 30 + i * 6, c * 30 + (i + 1) * 6);
}
var c=d!=null&&d!=undefined ? d:option.theme;
d=d!=null&&d!=undefined&&d!=-1 ? d:option.theme;
if(d=="") d=option.theme;
return [d,d,d,d];
}
function Tp(temp, dataarry){
return temp.replace(/\$\{([\w]+)\}/g, function(s1, s2){ var s=dataarry[s2]; if(typeof (s)!="undefined"){ return s; }else{ return s1; }});
}
function Ta(temp, dataarry){
return temp.replace(/\{([\d])\}/g, function(s1, s2){ var s=dataarry[s2]; if(typeof (s)!="undefined"){ return encodeURIComponent(s); }else{ return ""; }});
}
function fomartTimeShow(h){
var tmp=((h%12) < 10)&&h!=12 ? "0" + (h%12) + ":00":(h==12?"12":(h%12))  + ":00";
tmp +=" " + ((h>=12)?"pm":"am");
return tmp ;
}
function getymformat(date, comparedate, isshowtime, isshowweek, showcompare){
var showyear=isshowtime!=undefined ? (date.getFullYear()!=new Date().getFullYear()):true;
var showmonth=true;
var showday=true;
var showtime=isshowtime||false;
var showweek=isshowweek||false;
if(comparedate){
showyear=comparedate.getFullYear()!=date.getFullYear();
if(comparedate.getFullYear()==date.getFullYear() &&
date.getMonth()==comparedate.getMonth() &&
date.getDate()==comparedate.getDate()
){
showyear=showmonth=showday=showweek=false;
}}
var a=[];
if(showyear){
a.push(i18n.dcmvcal.dateformat.fulldayshow)
}else if(showmonth){
a.push(i18n.dcmvcal.dateformat.Md3)
}else if(showday){
a.push(i18n.dcmvcal.dateformat.day);
}
a.push(showweek ? " (W)":"", showtime ? " HH:mm":"");
return a.join("");
}
function CalDateShow(startday, endday, isshowtime, isshowweek){
if(!endday){
return dateFormat.call(startday, getymformat(startday,null,isshowtime));
}else{
var strstart=dateFormat.call(startday, getymformat(startday, null, isshowtime, isshowweek));
var strend=dateFormat.call(endday, getymformat(endday, startday, isshowtime, isshowweek));
var join=(strend!=""? " - ":"");
return [strstart,strend].join(join);
}}
function dochange(){
var d=getRdate();
var loaded=checkInEr(d.start, d.end);
{
populate();
}}
function checkInEr(start, end){
var ll=option.loadDateR.length;
if(ll==0){
return false;
}
var r=false;
var r2=false;
for (var i=0; i < ll; i++){
r=false, r2=false;
var dr=option.loadDateR[i];
if(start >=dr.startdate&&start <=dr.enddate){
r=true;
}
if(dateFormat.call(start, "yyyyMMdd")==dateFormat.call(dr.startdate, "yyyyMMdd")||dateFormat.call(start, "yyyyMMdd")==dateFormat.call(dr.enddate, "yyyyMMdd")){
r=true;
}
if(!end){ r2=true; }else{
if(end >=dr.startdate&&end <=dr.enddate){
r2=true;
}
if(dateFormat.call(end, "yyyyMMdd")==dateFormat.call(dr.startdate, "yyyyMMdd")||dateFormat.call(end, "yyyyMMdd")==dateFormat.call(dr.enddate, "yyyyMMdd")){
r2=true;
}}
if(r&&r2){
break;
}}
return r&&r2;
}
function buildtempdayevent(sh, sm, eh, em, h, title, w, resize, thindex){
var theme=thindex!=undefined&&thindex!=-1&&thindex!="" ? tc(thindex):tc();
var newtemp=Tp(__SCOLLEVENTTEMP, {
location:"",
description:"",
bdcolor: theme[0],
bgcolor2: theme[0],
bgcolor1: theme[2],
data: "",
starttime: [pZero(sh), pZero(sm)].join(":"),
endtime: [pZero(eh), pZero(em)].join(":"),
content: title ? title:i18n.dcmvcal.new_event,
title: title ? title:i18n.dcmvcal.new_event,
icon: "<I class=\"cic cic-tmr\">&nbsp;</I>",
top: "0px",
left: "",
width: w ? w:"100%",
height: h - 4,
i: "-1",
drag: "drag-chip",
redisplay: resize ? "block":"none"
});
return newtemp;
}
function getdata(chip){
var hddata=chip.find("div.dhdV");
if(hddata.length==1){
var str=hddata.html();
return parseED(str.split("$*$"));
}
return null;
}
function parseED(data){
if(data.length > 6){
var e=[];
e.push(data[0], data[1], new Date(data[2]), new Date(data[3]), parseInt(data[4]), parseInt(data[5]), (data[6]), data[7]!=undefined ? (data[7]):-1, data[8]!=undefined ? parseInt(data[8]):0);
for (var i=9;i<data.length;i++)
e.push(data[i]);
return e;
}
return null;
}
function quickd(type,calid){
try {$("#bbit-cs-buddle").dialog("close");}catch (e){}
try {$(".mv_dlg_nmonth").dialog("close");}catch (e){}
var param=[{ "name": "calendarId", value: calid },
{ "name": "type", value: type}];
var de=rebyKey(calid, true);
option.onBeforeRequestData&&option.onBeforeRequestData(3);
$.post(option.quickDeleteUrl, param, function(data){
if(data){
if(data.IsSuccess){
de=null;
populate();
option.onAfterRequestData&&option.onAfterRequestData(3);
}else{
option.onRequestDataError&&option.onRequestDataError(3, data);
Ind(de);
populate();
option.onAfterRequestData&&option.onAfterRequestData(3);
}}
}, "json");
populate();
}
function getbuddlepos(x, y){
var tleft=x - 110;
var ttop=y - 217;
var maxLeft=document.documentElement.clientWidth;
var maxTop=document.documentElement.clientHeight;
var ishide=false;
if(tleft <=0||ttop <=0||tleft + 400 > maxLeft){
tleft=x - 200 <=0 ? 10:x - 200;
ttop=y - 159 <=0 ? 10:y - 159;
if(tleft + 400 >=maxLeft){
tleft=maxLeft - 410;
}
if(ttop + 164 >=maxTop){
ttop=maxTop - 165;
}
ishide=true;
}
return { left: tleft, top: ttop, hide: ishide };}
function dayshow(e, data){
if(data==undefined){
data=getdata($(this));
}
if(data!=null){
if(option.quickDeleteUrl!=""&&data[8]==1&&((option.readonly!=true)||(option.readonly==true&&option.showtooltipdwm)||(option.showtooltipdwm_mouseover))){
var csbuddle='<div id="bbit-cs-buddle">'
+'<div class="dialogdwm_event_content" style="border-left:3px solid '+((data[7]&&data[7]!=-1&&data[7]!=null)?data[7]:"#"+option.paletteDefault)+';padding-left:5px"><div id="bbit-cs-buddle-timeshow" class="bubbletime"></div>'
+'<div id="bbit-cs-title" class="bubbletitle"></div>'
+'<div id="bbit-cs-location" class="bubblelocation"></div>'
+'<div id="bbit-cs-description" class="bubbledescription"></div></div>';
if(option.readonly!=true&&(option.userEdit||option.userDel||((option.userOwner==data[12])&&(option.userEditOwner||option.userDelOwner)))){
csbuddle +='<div class="bbit-cs-split"><input id="bbit-cs-id" type="hidden" value=""/>';
if(option.userDel||((option.userOwner==data[12])&&(option.userDelOwner))){
if(!(data[6]!=""&&data[6]!=null&&data[6]!=undefined))
csbuddle +='[ <a id="bbit-cs-delete" class="lk">'+ i18n.dcmvcal.i_delete + '</a> ]&nbsp;';
}
if(option.userEdit||((option.userOwner==data[12])&&(option.userEditOwner)))
csbuddle +=' <a id="bbit-cs-editLink" class="lk">'+ i18n.dcmvcal.update_detail + ' <StrONG>&gt;&gt;</StrONG></a>';
csbuddle +='</div>';
}
csbuddle +='</div>';
$("#bbit-cal-buddle").remove();
$(".mv_dlg").remove();
$("#bbit-cs-buddle").remove();
var bud=$("#bbit-cs-buddle");
if(bud.length==0){
bud=$(csbuddle).appendTo(document.body);
bud.dialog({width:option.dialogWidth,resizable: false,
modal: false,resizable: false,maxWidth: option.dialogWidth,fluid: true,open: function(event, ui){fluidDialog();},
position: {
my: "left top",
at: "center bottom",
collision: "fit",
of: $(this)
}})
dialogUnBlur();
$("#bbit-cs-buddle").parent().addClass("mv_dlg");
$("<div id=\"mv_corner\" />").appendTo($(".mv_dlg .ui-dialog-titlebar"));
move_mv_dlg();
var calbutton=$("#bbit-cs-delete");
var lbtn=$("#bbit-cs-editLink");
var closebtn=$("#bubbleClose2").click(function(){
try {$("#bbit-cs-buddle").dialog("close");}catch (e){}});
calbutton.click(function(){
var data=$("#bbit-cs-buddle").data("cdata");
if(option.DeleteCmdhandler&&$.isFunction(option.DeleteCmdhandler)){
option.DeleteCmdhandler.call(this, data, quickd);
}});
lbtn.click(function(e){
if(!option.EditCmdhandler){
alert("EditCmdhandler" + i18n.dcmvcal.i_undefined);
}else{
if(option.EditCmdhandler&&$.isFunction(option.EditCmdhandler)){
var data=$("#bbit-cs-buddle").data("cdata");
var pos=$("#bbit-cs-buddle").dialog("option", "position");
$("#bbit-cs-buddle").remove();
option.EditCmdhandler.call(this, data,pos);
}}
e.stopPropagation();
});
bud.click(function(e){
e.stopPropagation();
return;
});
}
var ss=[];
var iscos=DateDiff("d", data[2], data[3])!=0;
ss.push(dateFormat.call(data[2], i18n.dcmvcal.dateformat.fulldayshow));
if(data[4]!=1){
ss.push(" ",fomartTimeAMPM(data[2].getHours(),data[2].getMinutes(),__MilitaryTime))
}
if(iscos){
ss.push(" - ", dateFormat.call(data[3], i18n.dcmvcal.dateformat.fulldayshow));
if(data[4]!=1){
ss.push(" ",fomartTimeAMPM(data[3].getHours(),data[3].getMinutes(),__MilitaryTime))
}}
else if(data[4]!=1)
ss.push(" - ",fomartTimeAMPM(data[3].getHours(),data[3].getMinutes(),__MilitaryTime));
var ts=$("#bbit-cs-buddle-timeshow").html(ss.join(""));
$("#bbit-cs-id").val(data[0]);
$(".dialogdwm_event_content").find("#bbit-cs-title").html(data[1]);
$(".dialogdwm_event_content").find("#bbit-cs-location").html(data[9]);
$(".dialogdwm_event_content").find("#bbit-cs-description").html(data[11]);
bud.data("cdata", data);
$(document).one("click", function(){
try {$("#bbit-cs-buddle").dialog("close");}catch (e){}});
}else{
if(!option.ViewCmdhandler){
alert("ViewCmdhandler" + i18n.dcmvcal.i_undefined);
}else{
if(option.ViewCmdhandler&&$.isFunction(option.ViewCmdhandler)){
option.ViewCmdhandler.call(this, data);
}}
}}else{
alert(i18n.dcmvcal.data_format_error);
}
e.stopPropagation();
}
function moreshow(mv){
var me=$(this);
var divIndex=mv.id.replace(option.thecontainer,"").split('_')[1];
var pdiv=$(mv);
var offsetMe=me.position();
var offsetP=pdiv.position();
var width=(me.width() + 2) * 1.5;
var top=offsetP.top + 15;
var left=offsetMe.left;
var daystr=$(this).attr("abbr");
var day=str_MdyyyyHHmm_todate(daystr + " 00:00");
var cc=$("#cal-month-cc"+option.thecontainer);
var ccontent=$("#cal-month-cc-content"+option.thecontainer+" table tbody");
var ctitle=$("#cal-month-cc-title"+option.thecontainer);
ctitle.html(dateFormat.call(day, i18n.dcmvcal.dateformat.Md3) + " " + __WDAY[day.getDay()]);
ccontent.empty();
var edata=$("#gridEvent"+option.thecontainer).data("mvdata");
var events=edata[divIndex];
var index=parseInt(this.axis);
var htm=[];
for (var i=0; i <=index; i++){
var ec=events[i] ? events[i].length:0;
for (var j=0; j < ec; j++){
var e=events[i][j];
if(e){
if((e.colSpan + i - 1) >=index){
htm.push("<tr><td class='st-c'>");
htm.push(BuildMonthDayEvent(e, day, 1));
htm.push("</td></tr>");
}}
}}
ccontent.html(htm.join(""));
ccontent.find("div.rb-o").each(function(i){
$(this).click(dayshow);
if(option.showtooltipdwm_mouseover){
$(this).mouseover(dayshow);
}});
edata=events=null;
var height=cc.height();
var maxleft=document.documentElement.clientWidth;
var maxtop=document.documentElement.clientHeight;
if(left + width >=maxleft){
left=offsetMe.left - (me.width() + 2) * 0.5;
}
if(top + height >=maxtop){
top=maxtop - height - 2;
}
var newOff={ left: left, top: top,  width: width, "visibility": "visible" };//"z-index": 180,
cc.css(newOff);
$(document).one("click", closeCc);
return false;
}
function dayupdate(data, start, end){
if((data[6]!=""&&data[6]!="0")){
alert("Information: Recurrent events cannot be moved this way. Edit its details to modify it.")
populate();
return false;
}
if(option.quickUpdateUrl!=""&&data[8]==1&&(option.readonly!=true&&(option.userEdit||((option.userOwner==data[12])&&option.userEditOwner)))){
if(option.isloading){
return false;
}
option.isloading=true;
var id=data[0];
var os=data[2];
var od=data[3];
var zone=new Date().getTimezoneOffset() / 60 * -1;
var param=[{ "name": "calendarId", value: id },
{ "name": "CalendarStartTime", value: dateFormat.call(start, "M/d/yyyy HH:mm") },
{ "name": "CalendarEndTime", value: dateFormat.call(end, "M/d/yyyy HH:mm") },
{ "name": "timezone", value: zone }
];
var d;
if(option.quickUpdateHandler&&$.isFunction(option.quickUpdateHandler)){
option.quickUpdateHandler.call(this, param);
}else{
option.onBeforeRequestData&&option.onBeforeRequestData(4);
$.post(option.quickUpdateUrl, param, function(data){
if(data){
if(data.IsSuccess==true){
option.isloading=false;
option.onAfterRequestData&&option.onAfterRequestData(4);
}else{
option.onRequestDataError&&option.onRequestDataError(4, data);
option.isloading=false;
d=rebyKey(id, true);
d[2]=os;
d[3]=od;
Ind(d);
render();
d=null;
option.onAfterRequestData&&option.onAfterRequestData(4);
}}
}, "json");
d=rebyKey(id, true);
if(d){
d[2]=start;
d[3]=end;
}
Ind(d);
render();
}}
}
function quickadd(start, end, isallday, pos){
if((!option.quickAddHandler&&option.quickAddUrl=="")||option.readonly||!option.userAdd){
return;
}
var location="";
$("#bbit-cal-buddle").remove();
$(".mv_dlg").remove();
$("#bbit-cs-buddle").remove();
var buddle=$("#bbit-cal-buddle");
if(buddle.length==0){
var temparr=[];
temparr.push('<div id="bbit-cal-buddle">');
temparr.push('<div><div class="bbit-cal-buddle-event">',i18n.dcmvcal.event,'</div>');
temparr.push('<div id="bbit-cal-buddle-timeshow" style="display:inline"></div></div><div>');
temparr.push(i18n.dcmvcal.content, ':</div><div><div class="textbox-fill-wrapper"><div class="textbox-fill-mid">');
if(dc_subjects&&dc_subjects!=""){
temparr.push('<select id="bbit-cal-what" class="textbox-fill-input">');
for (var i=0;i<dc_subjects.length;i++)
temparr.push('<option value="'+dc_subjects[i]+'" '+((pos.col&&pos.col==dc_subjects[i])?"selected=\"selected\"":"")+'>'+dc_subjects[i]+'</option>');
temparr.push('</select>');
}
else
temparr.push('<input id="bbit-cal-what" class="textbox-fill-input"/>');
if(dc_locations&&dc_locations!=""){
try {
var target=_dragdata.target;
if(target.attr("class")=="tg-col")
location=target.attr("col");
else
{
var loc=parseInt(target.attr("id").replace("weekViewAllDaywk"+option.thecontainer,""));
if(dc_locations.length>0&&loc>=0&&loc<dc_locations.length){
location=dc_locations[loc];
}}
}catch (e){}}
temparr.push('</div></div><div class="cb-example">');
temparr.push(i18n.dcmvcal.example, '</div></div><input id="bbit-cal-start" type="hidden"/><input id="bbit-cal-end" type="hidden"/><input id="bbit-cal-allday" type="hidden"/>');
temparr.push('<div style="float:left;display:block;cursor:pointer" class="fbutton" id="bbit-cal-AddBTN"><span style="float: left;display: block;" class="ui-icon ui-icon-new"></span><span style="float: left;display: block;height:18px;text-decoration:none;color:#000" id="bbit-cal-quickAddBTN" class="lk">', i18n.dcmvcal.create_event, '</span></div><div style="float:left;margin-left:5px"><SPAN id="bbit-cal-editLink" class="lk">');
temparr.push(i18n.dcmvcal.update_detail, ' <StrONG>&gt;&gt;</StrONG></SPAN></div><div style="clear:both"></div><div id="bubbleClose" class="bubble-closebutton"></div><div style="clear:both;margin-bottom:10px"></div></div>');
var tempquickAddHanler=temparr.join("");
temparr=null;
$(document.body).append(tempquickAddHanler);
try {$("#bbit-cs-buddle").dialog("close");}catch (e){}
buddle=$("#bbit-cal-buddle");
if(option.view!="nMonth")
var pp={
my: "left top",
at: "center bottom",
collision: "fit",
of: ($(".drag-chip").length>0)?$(".drag-chip"):$(".drag-lasso")
};
else
pp={
my: "left top",
at: "center bottom",
collision: "fit",
of:$("#nmonths"+option.thecontainer+" .ui-state-non-active[title='"+dateFormat.call(start, i18n.dcmvcal.dateformat.fulldayvalue)+"']")
};
buddle.dialog({width:option.dialogWidth,resizable: false,
modal: false,resizable: false,maxWidth: option.dialogWidth,fluid: true,open: function(event, ui){fluidDialog();},
position:pp
});
buddle.dialog("open");
move_mv_dlg();
$("#bbit-cal-buddle").parent().addClass("mv_dlg");
$("<div id=\"mv_corner\" />").appendTo($(".mv_dlg .ui-dialog-titlebar"));
var calbutton=$("#bbit-cal-quickAddBTN");
var lbtn=$("#bbit-cal-editLink");
var closebtn=$("#bubbleClose1").click(function(){
$("#bbit-cal-buddle").dialog("close");
realsedragevent();
});
$("#bbit-cal-what").on('keypress', function (event){
if(event.which===13){
$("#bbit-cal-quickAddBTN").trigger("click");
}});
calbutton.click(function(e){
if(option.isloading){
e.stopPropagation();
}
option.isloading=true;
var what=$("#bbit-cal-what").val();
var datestart=$("#bbit-cal-start").val();
var dateend=$("#bbit-cal-end").val();
var allday=$("#bbit-cal-allday").val();
var f=/^[^\$\<\>]+$/.test(what);
if(!f){
alert(i18n.dcmvcal.invalid_title);
$("#bbit-cal-what").focus();
option.isloading=false;
e.stopPropagation();
return false;
}
var zone=new Date().getTimezoneOffset() / 60 * -1;
var param=[{ "name": "CalendarTitle", value: what },
{ "name": "CalendarStartTime", value: datestart },
{ "name": "CalendarEndTime", value: dateend },
{ "name": "IsAllDayEvent", value: allday },
{ "name": "colorvalue", value: ((dc_subjects&&dc_subjects!=""&&option.colorBySubject)?"#"+option.paletteFull[$("#bbit-cal-what")[0].selectedIndex]:"") },
{ "name": "location", value:((dc_locations&&dc_locations!="")?location:"") },
{ "name": "timezone", value: zone}];
if(option.extParam){
for (var pi=0; pi < option.extParam.length; pi++){
param[param.length]=option.extParam[pi];
}}
if(option.quickAddHandler&&$.isFunction(option.quickAddHandler)){
option.quickAddHandler.call(this, param);
$("#bbit-cal-buddle").dialog("close");
realsedragevent();
}else{
$("#bbit-cal-buddle").dialog("close");
var newdata=[];
var tId=-1;
option.onBeforeRequestData&&option.onBeforeRequestData(2);
$.post(option.quickAddUrl, param, function(data){
if(data){
if(data.IsSuccess==true){
option.isloading=false;
newdata.push(-1, what);
var sd=str_MdyyyyHHmm_todate(datestart);
var ed=str_MdyyyyHHmm_todate(dateend);
var diff=DateDiff("d", sd, ed);
newdata.push(sd, ed, allday=="1" ? 1:0, diff > 0 ? 1:0, 0);
newdata.push(-1, 0, ((dc_locations&&dc_locations!="")?dc_locations[location]:""), "");
tId=Ind(newdata);
option.eventItems[tId][0]=data.Data;
option.eventItems[tId][8]=1;
populate();
option.onAfterRequestData&&option.onAfterRequestData(2);
}else{
option.onRequestDataError&&option.onRequestDataError(2, data);
option.isloading=false;
option.onAfterRequestData&&option.onAfterRequestData(2);
}}
}, "json");
realsedragevent();
render();
}});
lbtn.click(function(e){
try {$("#bbit-cal-buddle").dialog("close");}catch (e){}
if(!option.EditCmdhandler){
alert("EditCmdhandler" + i18n.dcmvcal.i_undefined);
}else{
if(option.EditCmdhandler&&$.isFunction(option.EditCmdhandler)){
option.EditCmdhandler.call(this, ['0', $("#bbit-cal-what").val(), $("#bbit-cal-start").val(), $("#bbit-cal-end").val(), $("#bbit-cal-allday").val()]);
}
realsedragevent();
}
e.stopPropagation();
});
buddle.mousedown(function(e){ e.stopPropagation(); });
}
var dateshow=CalDateShow(start, end, !isallday, true);
$("#bbit-cal-buddle-timeshow").html(dateshow);
$("#bbit-cal-allday").val(isallday ? "1":"0");
$("#bbit-cal-start").val(dateFormat.call(start, "M/d/yyyy HH:mm"));
$("#bbit-cal-end").val(dateFormat.call(end, "M/d/yyyy HH:mm"));
buddle.css({ "visibility": "visible"});
var postmp=$("#bbit-cal-buddle").dialog("option", "position");
postmp.at="center bottom"
$("#bbit-cal-buddle").dialog("option", "position",postmp);
$("#bbit-cal-buddle").dialog("open");
move_mv_dlg();
$("#bbit-cal-what").blur().focus();
$(document).one("mousedown", function(){
$("#bbit-cal-buddle").dialog("close");
realsedragevent();
});
return false;
}
function strtodate(str){
var arr=str.split(" ");
var arr2=arr[0].split(i18n.dcmvcal.dateformat.separator);
var arr3=arr[1].split(":");
var y=arr2[i18n.dcmvcal.dateformat.year_index];
var m=arr2[i18n.dcmvcal.dateformat.month_index].indexOf("0")==0 ? arr2[i18n.dcmvcal.dateformat.month_index].substr(1, 1):arr2[i18n.dcmvcal.dateformat.month_index];
var d=arr2[i18n.dcmvcal.dateformat.day_index].indexOf("0")==0 ? arr2[i18n.dcmvcal.dateformat.day_index].substr(1, 1):arr2[i18n.dcmvcal.dateformat.day_index];
var h=arr3[0].indexOf("0")==0 ? arr3[0].substr(1, 1):arr3[0];
var n=arr3[1].indexOf("0")==0 ? arr3[1].substr(1, 1):arr3[1];
return new Date(y, parseInt(m) - 1, d, h, n);
}
function datetostr(d){
return d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
}
function str_MdyyyyHHmm_todate(str){
var arr=str.split(" ");
var arr2=arr[0].split("/");
var arr3=arr[1].split(":");
var y=arr2[2];
var m=arr2[0].indexOf("0")==0 ? arr2[0].substr(1, 1):arr2[0];
var d=arr2[1].indexOf("0")==0 ? arr2[1].substr(1, 1):arr2[1];
var h=arr3[0].indexOf("0")==0 ? arr3[0].substr(1, 1):arr3[0];
var n=arr3[1].indexOf("0")==0 ? arr3[1].substr(1, 1):arr3[1];
return new Date(y, parseInt(m) - 1, d, h, n);
}
function rebyKey(key, remove){
if(option.eventItems&&option.eventItems.length > 0){
var sl=option.eventItems.length;
var i=-1;
for (var j=0; j < sl; j++){
if(option.eventItems[j][0]==key){
i=j;
break;
}}
if(i >=0){
var t=option.eventItems[i];
if(remove){
option.eventItems.splice(i, 1);
}
return t;
}}
return null;
}
function Ind(event, i){
var d=0;
if(!i){
if(option.eventItems&&option.eventItems.length > 0){
var sl=option.eventItems.length;
var s=event[2];
var d1=s.getTime() - option.eventItems[0][2].getTime();
var d2=option.eventItems[sl - 1][2].getTime() - s.getTime();
var diff=d1 - d2;
if(d1 < 0||diff < 0){
for (var j=0; j < sl; j++){
if(option.eventItems[j][2] >=s){
i=j;
break;
}}
}
else if(d2 < 0){
i=sl;
}else{
for (var j=sl - 1; j >=0; j--){
if(option.eventItems[j][2] < s){
i=j + 1;
break;
}}
}}else{
i=0;
}}else{
d=1;
}
if(option.eventItems&&option.eventItems.length > 0){
if(i==option.eventItems.length){
option.eventItems.push(event);
}else{ option.eventItems.splice(i, d, event); }}else{
option.eventItems=[event];
}
return i;
}
function ResizeView(config){
var _MH=document.documentElement.clientHeight;
var _viewType=option.view;
if(_viewType=="day"||_viewType=="week"||_viewType=="nDays"||_viewType=="rowMonth"){
var $dvwkcontaienr=$("#dvwkcontaienr"+config.thecontainer);
var $dvtec=$("#dvtec"+config.thecontainer);
if(($dvwkcontaienr.length==0||$dvtec.length==0)&&(option.rowsList==""||(option.dayWithTime&&option.view=="day"))){
alert(i18n.dcmvcal.view_no_ready); return;
}
var dvwkH=$dvwkcontaienr.height() + 2;
var calH=option.height - 8 - dvwkH;
$dvtec.height(calH);
$dvtec.height("auto");
if(typeof (option.scoll)=="undefined"){
var currentday=new Date();
var h=currentday.getHours();
var m=currentday.getMinutes();
var th=gP(h, m);
var ch=$dvtec.attr("clientHeight");
var sh=th - 0.5 * ch;
var ph=$dvtec.attr("scrollHeight");
if(sh < 0) sh=0;
if(sh > ph - ch) sh=ph - ch - 10 * (23 - h);
$dvtec.attr("scrollTop", sh);
}else{
$dvtec.attr("scrollTop", option.scoll);
}}
else if(_viewType=="month"){
}}
function initevents(viewtype){
if(viewtype=="week"||viewtype=="day"||viewtype=="nDays"||viewtype=="rowMonth"){
$("div.chip", gridcontainer).each(function(i){
var chip=$(this);
chip.click(dayshow);
if(option.showtooltipdwm_mouseover){
chip.mouseover(dayshow);
}
if(chip.hasClass("drag")){
chip.mousedown(function(e){ dragStart.call(this, "dw3", e); e.stopPropagation(); });
chip.find("div.resizer").mousedown(function(e){
dragStart.call($(this).parent().parent(), "dw4", e); e.stopPropagation();
});
}else{
chip.mousedown(function(e){e.stopPropagation();})
}});
$("div.rb-o", gridcontainer).each(function(i){
var chip=$(this);
chip.click(dayshow);
if(option.showtooltipdwm_mouseover){
chip.mouseover(dayshow);
}
if(chip.hasClass("drag")&&(viewtype=="week"||viewtype=="nDays"||viewtype=="rowMonth") ){
chip.mousedown(function(e){ dragStart.call(this, {dw5:"dw5",row:chip.attr("row")}, e); e.stopPropagation(); });
}else{
chip.mousedown(function(e){e.stopPropagation();})
}});
if(option.readonly==false&&option.userAdd){
$("td.tg-col", gridcontainer).each(function(i){
$(this).mousedown(function(e){ dragStart.call(this, "dw1", e); e.stopPropagation(); });
});
$("#weekViewAllDaywk"+option.thecontainer).mousedown(function(e){ dragStart.call(this, "dw2", e); e.stopPropagation(); });
if(!(option.rowsList==""||(option.dayWithTime&&option.view=="day")))
for (var i=0;i<option.rowsList.length;i++)
$("#weekViewAllDaywk"+option.thecontainer+i).mousedown(function(e){ dragStart.call(this, "dw2", e); e.stopPropagation(); });
}
if(viewtype=="week"||viewtype=="nDays"||viewtype=="rowMonth"){
$("#dvwkcontaienr"+option.thecontainer+" th.gcweekname").each(function(i){
$(this).click(weekormonthtoday);
});
}}
else if(viewtype="month"){
$("div.rb-o", gridcontainer).each(function(i){
var chip=$(this);
chip.click(dayshow);
if(option.showtooltipdwm_mouseover){
chip.mouseover(dayshow);
}
if(chip.hasClass("drag")){
chip.mousedown(function(e){ dragStart.call(this, "m2", e); e.stopPropagation(); });
}else{
chip.mousedown(function(e){e.stopPropagation();})
}});
$("td.st-more", gridcontainer).each(function(i){
$(this).click(function(e){
moreshow.call(this, $(this).parent().parent().parent().parent()[0]); e.stopPropagation();
}).mousedown(function(){ e.stopPropagation(); });
});
if(option.readonly==false&&option.userAdd){
$("#mvEventContainer"+option.thecontainer).mousedown(function(e){ dragStart.call(this, "m1", e); e.stopPropagation(); });
}}
}
function realsedragevent(){
if(_dragevent){
_dragevent();
_dragevent=null;
}}
function dragStart(type, e){
var obj=$(this);
var source=e.srcElement||e.target;
realsedragevent();
var row="";
if(type.dw5=="dw5"){
var row=type.row;
type="dw5";
}
switch (type){
case "dw1":
_dragdata={ type: 1, target: obj, sx: e.pageX, sy: e.pageY };
break;
case "dw2":
var w=obj.width();
var h=obj.height();
var offset=obj.offset();
var left=offset.left;
var top=offset.top;
var l=option.view=="day" ? 1:(option.view=="week" ? __VIEWWEEKDAYSTOTAL:option.nOfDays);
var py=w % l;
var pw=(w / l);
var xa=[];
var ya=[];
for (var i=0; i < l; i++)
xa.push({ s: parseInt(i * pw + left), e: parseInt((i + 1) * pw + left) });
ya.push({ s: top, e: top + h });
_dragdata={ type: 2, target: obj, sx: e.pageX, sy: e.pageY, pw: parseInt(pw), xa: xa, ya: ya, h: h };
w=left=l = py=pw=xa=null;
break;
case "dw3":
var evid=obj.parent().attr("id").replace("tgCol"+option.thecontainer, "");
var p=obj.parent();
var pos=p.offset();
var w=p.width() + 10;
var h=obj.height();
var data=getdata(obj);
_dragdata={ type: 4, target: obj, sx: e.pageX, sy: e.pageY,
pXMin: pos.left, pXMax: pos.left + w, pw: w, h: h,
cdi: parseInt(evid), fdi: parseInt(evid), data: data
};
break;
case "dw4":
var h=obj.height();
var data=getdata(obj);
_dragdata={ type: 5, target: obj, sx: e.pageX, sy: e.pageY, h: h, data: data };
break;
case "dw5":
var con=$("#weekViewAllDaywk"+option.thecontainer+row);
var w=con.width();
var h=con.height();
var offset=con.offset();
var moffset=obj.offset();
var left=offset.left;
var top=offset.top;
if(option.view=="week")
var l=7;//ht.push(" colSpan='",__VIEWWEEKDAYSTOTAL, "'"); //dayarrs.length
else
var l=option.nOfDays; //ht.push(" colSpan='",option.nOfDays, "'"); //dayarrs.length
var py=w % l;
var pw=parseInt(w / l);
if(py > l / 2 + 1){
pw++;
}
var xa=[];
var ya=[];
var di=0;
for (var i=0; i < l; i++){
xa.push({ s: i * pw + left, e: (i + 1) * pw + left });
if(moffset.left >=xa[i].s&&moffset.left < xa[i].e){
di=i;
}}
var fdi={ x: di, y: 0, di: di };
ya.push({ s: top, e: top + h });
var data=getdata(obj);
var dp=DateDiff("d", data[2], data[3]) + 1;
_dragdata={ type: 6, target: obj, sx: e.pageX, sy: e.pageY, data: data, xa: xa, ya: ya, fdi: fdi, h: h, dp: dp, pw: pw };
break;
case "m1":
var w=obj.width();
var offset=obj.offset();
var left=offset.left;
var top=offset.top;
var l=__VIEWWEEKDAYSTOTAL;
var yl=obj.children().length;
var py=w % l;
var pw=parseInt(w / l);
if(py > l / 2 + 1){
pw++;
}
var h=$("#mvrow"+option.thecontainer+"_0").height();
var xa=[];
var ya=[];
for (var i=0; i < l; i++){
xa.push({ s: i * pw + left, e: (i + 1) * pw + left });
}
var h=0, s1=top, e1=0;
for (var i=0; i < yl; i++){
h=$("#mvrow"+option.thecontainer+"_"+i).height();
e1=s1 + h;
ya.push({ s: s1, e: e1 });
s1=e1;
}
_dragdata={ type: 3, target: obj, sx: e.pageX, sy: e.pageY, pw: pw, xa: xa, ya: ya, h: h };
break;
case "m2":
var row0=$("#mvrow"+option.thecontainer+"_0");
var row1=$("#mvrow"+option.thecontainer+"_1");
var w=row0.width();
var offset=row0.offset();
var diffset=row1.offset();
var moffset=obj.offset();
var h=diffset.top - offset.top;
var left=offset.left;
var top=offset.top;
var l=7;
var yl=row0.parent().children().length;
var py=w % l;
var pw=parseInt(w / l);
if(py > l / 2 + 1){
pw++;
}
var xa=[];
var ya=[];
var xi=0;
var yi=0;
for (var i=0; i < l; i++){
xa.push({ s: i * pw + left, e: (i + 1) * pw + left });
if(moffset.left >=xa[i].s&&moffset.left < xa[i].e){
xi=i;
}}
for (var i=0; i < yl; i++){
ya.push({ s: i * h + top, e: (i + 1) * h + top });
if(moffset.top >=ya[i].s&&moffset.top < ya[i].e){
yi=i;
}}
var fdi={ x: xi, y: yi, di: yi * 7 + xi };
var data=getdata(obj);
var dp=DateDiff("d", data[2], data[3]) + 1;
_dragdata={ type: 7, target: obj, sx: e.pageX, sy: e.pageY, data: data, xa: xa, ya: ya, fdi: fdi, h: h, dp: dp, pw: pw };
break;
}
$('body').noSelect();
}
function dragMove(e){
if(_dragdata){
var d=_dragdata;
switch (d.type){
case 1:
var sy=d.sy;
var y=e.pageY;
var diffy=y - sy;
if(diffy > (option.cellheight/4) ||diffy < -1*(option.cellheight/4) ||d.cpwrap){
if(diffy==0){ diffy=(option.cellheight/2) ; }
var dy=diffy % (option.cellheight/2) ;
if(dy!=0){
diffy=dy > 0 ? diffy + (option.cellheight/2)  - dy:diffy - (option.cellheight/2)  - dy;
y=d.sy + diffy;
if(diffy < 0){
sy=sy + (option.cellheight/2) ;
}}
if(!d.tp){
d.tp=$(d.target).offset().top;
}
var gh=gH(sy, y, d.tp);
var ny=gP(gh.sh, gh.sm);
var tempdata;
if(!d.cpwrap){
tempdata=buildtempdayevent(gh.sh, gh.sm, gh.eh, gh.em, gh.h);
var cpwrap=$("<div class='ca-evpi drag-chip-wrapper' style='top:" + ny + "px'/>").html(tempdata);
$(d.target).find("div.tg-col-overlaywrapper").append(cpwrap);
d.cpwrap=cpwrap;
}else{
if(d.cgh.sh!=gh.sh||d.cgh.eh!=gh.eh||d.cgh.sm!=gh.sm||d.cgh.em!=gh.em){
tempdata=buildtempdayevent(gh.sh, gh.sm, gh.eh, gh.em, gh.h);
d.cpwrap.css("top", ny + "px").html(tempdata);
}}
d.cgh=gh;
}
break;
case 2:
var sx=d.sx;
var x=e.pageX;
var diffx=x - sx;
if(diffx > 5||diffx < -5||d.lasso){
if(!d.lasso){
d.lasso=$("<div style='display: block' class='drag-lasso-container'/>");
$(document.body).append(d.lasso);
}
if(!d.sdi){
d.sdi=getdi(d.xa, d.ya, sx, d.sy);
}
var ndi=getdi(d.xa, d.ya, x, e.pageY);
if(!d.fdi||d.fdi.di!=ndi.di){
addlasso(d.lasso, d.sdi, ndi, d.xa, d.ya, d.h);
}
d.fdi=ndi;
}
break;
case 3:
var sx=d.sx;
var x=e.pageX;
var sy=d.sy;
var y=e.pageY;
var diffx=x - sx;
var diffy=y - sy;
if(diffx > 5||diffx < -5||diffy < -5||diffy > 5||d.lasso){
if(!d.lasso){
d.lasso=$("<div style='display: block' class='drag-lasso-container'/>");
$(document.body).append(d.lasso);
}
if(!d.sdi){
d.sdi=getdi(d.xa, d.ya, sx, sy);
}
var ndi=getdi(d.xa, d.ya, x, y);
if(!d.fdi||d.fdi.di!=ndi.di){
addlasso(d.lasso, d.sdi, ndi, d.xa, d.ya, d.h);
}
d.fdi=ndi;
}
break;
case 4:
var data=d.data;
if(data!=null&&data[8]==1){
var sx=d.sx;
var x=e.pageX;
var sy=d.sy;
var y=e.pageY;
var diffx=x - sx;
var diffy=y - sy;
if(diffx > 5||diffx < -5||diffy > 5||diffy < -5||d.cpwrap){
var gh, ny, tempdata;
if(!d.cpwrap){
gh={ sh: data[2].getHours(),
sm: data[2].getMinutes(),
eh: data[3].getHours(),
em: data[3].getMinutes(),
h: d.h
};
d.target.hide();
ny=gP(gh.sh, gh.sm);
d.top=ny;
tempdata=buildtempdayevent(gh.sh, gh.sm, gh.eh, gh.em, gh.h, data[1], false, false, data[7]);
var cpwrap=$("<div class='ca-evpi drag-chip-wrapper' style='top:" + ny + "px'/>").html(tempdata);
var evid=d.target.parent().attr("id").replace("tgCol"+option.thecontainer, "#tgOver"+option.thecontainer);
$(evid).append(cpwrap);
d.cpwrap=cpwrap;
d.ny=ny;
}else{
var pd=0;
if(x < d.pXMin){
pd=-1;
}
else if(x > d.pXMax){
pd=1;
}
if(pd!=0){
d.cdi=d.cdi + pd;
var ov=$("#tgOver"+option.thecontainer + d.cdi);
if(ov.length==1){
d.pXMin=d.pXMin + d.pw * pd;
d.pXMax=d.pXMax + d.pw * pd;
ov.append(d.cpwrap);
}else{
d.cdi=d.cdi - pd;
}}
ny=d.top + diffy;
var pny=ny % (option.cellheight/2) ;
if(pny!=0){
ny=ny - pny;
}
if(d.ny!=ny){
gh=gW(ny, ny + d.h);
tempdata=buildtempdayevent(gh.sh, gh.sm, gh.eh, gh.em, gh.h, data[1], false, false, data[7]);
d.cpwrap.css("top", ny + "px").html(tempdata);
}
d.ny=ny;
}}
}
break;
case 5:
var data=d.data;
if(data!=null&&data[8]==1){
var sy=d.sy;
var y=e.pageY;
var diffy=y - sy;
if(diffy!=0||d.cpwrap){
var gh, ny, tempdata;
if(!d.cpwrap){
gh={ sh: data[2].getHours(),
sm: data[2].getMinutes(),
eh: data[3].getHours(),
em: data[3].getMinutes(),
h: d.h
};
d.target.hide();
ny=gP(gh.sh, gh.sm);
d.top=ny;
tempdata=buildtempdayevent(gh.sh, gh.sm, gh.eh, gh.em, gh.h, data[1], "100%", true, data[7]);
var cpwrap=$("<div class='ca-evpi drag-chip-wrapper' style='top:" + ny + "px'/>").html(tempdata);
var evid=d.target.parent().attr("id").replace("tgCol"+option.thecontainer, "#tgOver"+option.thecontainer);
$(evid).append(cpwrap);
d.cpwrap=cpwrap;
}else{
nh=d.h + diffy;
var pnh=nh % (option.cellheight/2) ;
nh=pnh > 1 ? nh - pnh + (option.cellheight/2) :nh - pnh;
if(d.nh!=nh){
var sp=gP(data[2].getHours(), data[2].getMinutes());
var ep=sp + nh;
gh=gW(d.top, d.top + nh);
tempdata=buildtempdayevent(gh.sh, gh.sm, gh.eh, gh.em, gh.h, data[1], "100%", true, data[7]);
d.cpwrap.html(tempdata);
}
d.nh=nh;
}}
}
break;
case 6:
var sx=d.sx;
var x=e.pageX;
var y=e.pageY;
var diffx=x - sx;
if(diffx > 5||diffx < -5||d.lasso){
if(!d.lasso){
var w1=d.dp > 1 ? (d.pw - 4) * 1.5:(d.pw - 4);
var cp=d.target.clone();
if(d.dp > 1){
cp.find("div.rb-i>span").prepend("(" + d.dp + " " + i18n.dcmvcal.day_plural + ")&nbsp;");
}
var cpwrap=$("<div class='drag-event st-contents' style='width:" + w1 + "px'/>").append(cp).appendTo(document.body);
d.cpwrap=cpwrap;
d.lasso=$("<div style='display: block' class='drag-lasso-container'/>");
$(document.body).append(d.lasso);
cp=cpwrap=null;
}
fixcppostion(d.cpwrap, e, d.xa, d.ya);
var ndi=getdi(d.xa, d.ya, x, e.pageY);
if(!d.cdi||d.cdi.di!=ndi.di){
addlasso(d.lasso, ndi, { x: ndi.x, y: ndi.y, di: ndi.di + d.dp - 1 }, d.xa, d.ya, d.h);
}
d.cdi=ndi;
}
break;
case 7:
var sx=d.sx;
var sy=d.sy;
var x=e.pageX;
var y=e.pageY;
var diffx=x - sx;
var diffy=y - sy;
if(diffx > 5||diffx < -5||diffy > 5||diffy < -5||d.lasso){
if(!d.lasso){
var w1=d.dp > 1 ? (d.pw - 4) * 1.5:(d.pw - 4);
var cp=d.target.clone();
if(d.dp > 1){
cp.find("div.rb-i>span").prepend("(" + d.dp + " " + i18n.dcmvcal.day_plural + ")&nbsp;");
}
var cpwrap=$("<div class='drag-event st-contents' style='width:" + w1 + "px'/>").append(cp).appendTo(document.body);
d.cpwrap=cpwrap;
d.lasso=$("<div style='display: block' class='drag-lasso-container'/>");
$(document.body).append(d.lasso);
cp=cpwrap=null;
}
fixcppostion(d.cpwrap, e, d.xa, d.ya);
var ndi=getdi(d.xa, d.ya, x, e.pageY);
if(!d.cdi||d.cdi.di!=ndi.di){
addlasso(d.lasso, ndi, { x: ndi.x, y: ndi.y, di: ndi.di + d.dp - 1 }, d.xa, d.ya, d.h);
}
d.cdi=ndi;
}
break;
}}
e.stopPropagation();
}
function dragEnd(e){
if(_dragdata){
var d=_dragdata;
switch (d.type){
case 1:
var wrapid=new Date().getTime();
tp=d.target.offset().top;
if(!d.cpwrap){
var gh=gH(d.sy, d.sy + option.cellheight, tp);
var ny=gP(gh.sh, gh.sm);
var tempdata=buildtempdayevent(gh.sh, gh.sm, gh.eh, gh.em, gh.h);
d.cpwrap=$("<div class='ca-evpi drag-chip-wrapper' style='top:" + ny + "px'/>").html(tempdata);
$(d.target).find("div.tg-col-overlaywrapper").append(d.cpwrap);
d.cgh=gh;
}
var pos=d.cpwrap.offset();
pos.left=pos.left + 30;
d.cpwrap.attr("id", wrapid);
var start=str_MdyyyyHHmm_todate(d.target.attr("abbr") + " " + d.cgh.sh + ":" + d.cgh.sm);
var end=str_MdyyyyHHmm_todate(d.target.attr("abbr") + " " + d.cgh.eh + ":" + d.cgh.em);
_dragevent=function(){ $("#" + wrapid).remove(); $("#bbit-cal-buddle").dialog("close"); };
try {pos.col=d.cpwrap.parent().parent().attr("col");}catch (e){}
quickadd(start, end, false, pos);
break;
case 2:
case 3:
var source=e.srcElement||e.target;
var lassoid=new Date().getTime();
if(!d.lasso){
if($(source).hasClass("monthdayshow")){
weekormonthtoday.call($(source).parent()[0],e);
break;
}
d.fdi=d.sdi=getdi(d.xa, d.ya, d.sx, d.sy);
d.lasso=$("<div style='display: block' class='drag-lasso-container'/>");
$(document.body).append(d.lasso);
addlasso(d.lasso, d.sdi, d.fdi, d.xa, d.ya, d.ya[d.fdi.y].e-d.ya[d.fdi.y].s);
}
d.lasso.attr("id", lassoid);
var si=Math.min(d.fdi.di, d.sdi.di);
var ei=Math.max(d.fdi.di, d.sdi.di);
var firstday=option.vstart;
var zz=0;
for (var p=0; (p<=si);){
var x=DateAdd("d", zz, firstday);
p +=__VIEWWEEKDAYS[x.getDay()];
zz++;
}
zz--;
si=zz;
ei=zz;
var start=DateAdd("d", si, firstday);
var end=DateAdd("d", ei, firstday);
_dragevent=function(){ $("#" + lassoid).remove(); };
if(!$(source).hasClass("st-more")) quickadd(start, end, true, { left: e.pageX, top: e.pageY });
break;
case 4:
if(d.cpwrap){
var start=DateAdd("d", d.cdi, option.vstart);
var end=DateAdd("d", d.cdi, option.vstart);
var gh=gW(d.ny, d.ny + d.h);
start.setHours(gh.sh, gh.sm);
end.setHours(gh.eh, gh.em);
if(start.getTime()==d.data[2].getTime()&&end.getTime()==d.data[3].getTime()){
d.cpwrap.remove();
d.target.show();
}else{
dayupdate(d.data, start, end);
}}
break;
case 5:
if(d.cpwrap){
var start=new Date(d.data[2].toString());
var end=new Date(d.data[3].toString());
var gh=gW(d.top, d.top + nh);
start.setHours(gh.sh, gh.sm);
end.setHours(gh.eh, gh.em);
if(start.getTime()==d.data[2].getTime()&&end.getTime()==d.data[3].getTime()){
d.cpwrap.remove();
d.target.show();
}else{
dayupdate(d.data, start, end);
}}
break;
case 6:
case 7:
if(d.lasso){
d.cpwrap.remove();
d.lasso.remove();
var start=new Date(d.data[2].toString());
var end=new Date(d.data[3].toString());
var currrentdate=DateAdd("d", d.cdi.di, option.vstart);
var diff=DateDiff("d", start, currrentdate);
start=DateAdd("d", diff, start);
end=DateAdd("d", diff, end);
if(start.getTime()!=d.data[2].getTime()||end.getTime()!=d.data[3].getTime()){
dayupdate(d.data, start, end);
}}
break;
}
d=_dragdata=null;
$('body').noSelect(false);
e.stopPropagation();
}}
function getdi(xa, ya, x, y){
var ty=0;
var tx=0;
var lx=0;
var ly=0;
if(xa&&xa.length!=0){
lx=xa.length;
if(x >=xa[lx - 1].e){
tx=lx - 1;
}else{
for (var i=0; i < lx; i++){
if(x > xa[i].s&&x <=xa[i].e){
tx=i;
break;
}}
}}
if(ya&&ya.length!=0){
ly=ya.length;
if(y >=ya[ly - 1].e){
ty=ly - 1;
}else{
for (var j=0; j < ly; j++){
if(y > ya[j].s&&y <=ya[j].e){
ty=j;
break;
}}
}}
return { x: tx, y: ty, di: ty * lx + tx };}
function addlasso(lasso, sdi, edi, xa, ya, height){
var diff=sdi.di > edi.di ? sdi.di - edi.di:edi.di - sdi.di;
diff++;
var sp=sdi.di > edi.di ? edi:sdi;
var ep=sdi.di > edi.di ? sdi:edi;
var l=xa.length > 0 ? xa.length:1;
var h=ya.length > 0 ? ya.length:1;
var play=[];
var width=xa[0].e - xa[0].s+1;
var i=sp.x;
var j=sp.y;
var max=Math.min(document.documentElement.clientWidth, xa[l - 1].e) - 2;
while (j < h&&diff > 0){
var left=xa[i].s;
var d=i + diff > l ? l - i:diff;
var wid=width * d;
play.push(Tp(__LASSOTEMP, { left: left+1, top: ya[j].s+4, height: height, width: wid }));
i=0;
diff=diff - d;
j++;
}
lasso.html(play.join(""));
}
function fixcppostion(cpwrap, e, xa, ya){
var x=e.pageX - 6;
var y=e.pageY - 4;
var w=cpwrap.width();
var h=(option.cellheight/2) ;
var lmin=xa[0].s + 6;
var tmin=ya[0].s + 4;
var lmax=xa[xa.length - 1].e - w - 2;
var tmax=ya[ya.length - 1].e - h - 2;
if(x > lmax){
x=lmax;
}
if(x <=lmin){
x=lmin + 1;
}
if(y <=tmin){
y=tmin + 1;
}
if(y > tmax){
y=tmax;
}
cpwrap.css({ left: x, top: y });
}
$(document)
.mousemove(dragMove)
.mouseup(dragEnd);
var c={
sv: function(view){
if(view==option.view){
return;
}
clearcontainer();
option.view=view;
if(option.view=="list"){
option.eventItems=[];
option.lastdate="";
option.currentlist={dend:"",idend:0};
option.cachepages=new Array();
}
render();
dochange();
},
rf2: function(){
option.newWidthGroup=0;
render();
},
rf: function(){
populate();
},
gt: function(d){
if(!d){
d=new Date();
}
option.showday=d;
render();
dochange();
},
pv: function(){
if(option.isloading){
return true;
}
switch (option.view){
case "day":
option.showday=DateAdd("d", -1, option.showday);
break;
case "week":
option.showday=DateAdd("w", -1, option.showday);
break;
case "nDays":
case "rowMonth":
option.showday=DateAdd("d",(-1 * option.nOfDays), option.showday);
break;
case "list":
option.page--;
break;
case "month":
case "nMonth":
option.showday=DateAdd("m", -1, option.showday);
break;
}
render();
if(option.view!="list") dochange();
},
nt: function(){
if(option.isloading){
return true;
}
switch (option.view){
case "day":
option.showday=DateAdd("d", 1, option.showday);
break;
case "week":
option.showday=DateAdd("w", 1, option.showday);
break;
case "nDays":
case "rowMonth":
option.showday=DateAdd("d", option.nOfDays, option.showday);
break;
case "list":
option.lastdate=option.currentlist.dend;
option.page++;
break;
case "month":
case "nMonth":
var od=option.showday.getDate();
option.showday=DateAdd("m", 1, option.showday);
var nd=option.showday.getDate();
if(od!=nd){
option.showday=DateAdd("d", 0-nd, option.showday);
}
break;
}
if(option.view!="list"||(option.view=="list"&&(option.cachepages.length>option.page))) render();
if(option.view!="list"||(option.view=="list"&&(option.cachepages.length<=option.page))) dochange();
},
go: function(){
return option;
},
so: function(p){
option=$.extend(option, p);
}};
this[0].bcal=c;
return this;
};
$.fn.swtichView=function(view){
$(".mv_dlg").remove();
return this.each(function(){
if(this.bcal){
this.bcal.sv(view);
}})
};
$.fn.reload=function(){
return this.each(function(){
if(this.bcal){
this.bcal.rf();
}})
};
$.fn.reload2=function(){
return this.each(function(){
if(this.bcal){
this.bcal.rf2();
}})
};
$.fn.gotoDate=function(d){
return this.each(function(){
if(this.bcal){
this.bcal.gt(d);
}})
};
$.fn.previousRange=function(){
return this.each(function(){
if(this.bcal){
this.bcal.pv();
}})
};
$.fn.nextRange=function(){
return this.each(function(){
if(this.bcal){
this.bcal.nt();
}})
};
$.fn.BcalGetOp=function(){
if(this[0].bcal){
return this[0].bcal.go();
}
return null;
};
$.fn.BcalSetOp=function(p){
if(this[0].bcal){
return this[0].bcal.so(p);
}};})(jQuery);
(function(a){
a.alerts={
verticalOffset: -75,
horizontalOffset: 0,
repositionOnResize: true,
overlayOpacity: 0.50,
overlayColor: "#FFF",
draggable: true,
okButton: "OK",
cancelButton: "Cancel",
dialogClass: null,
alert: function(b, c, d){
if(c==null){
c="OK"
}
a.alerts._show(c, b, null, "alert",
function(e){
if(d){
d(e)
}},
null, null, null, null)
},
confirm: function(b, c, d){
if(c==null){
c="Are you sure"
}
a.alerts._show(c, b, null, "confirm",
function(e){
if(d){
d(e)
}},
null, null, null, null)
},
prompt: function(b, c, d, e){
if(d==null){
d="Please enter something"
}
a.alerts._show(d, b, c, "prompt",
function(f){
if(e){
e(f)
}},
null, null, null, null)
},
openBox: function(f, g, b, c, e, d, i){
if(g==null){
g="Information"
}
a.alerts._show(g, f, null, "openBox",
function(h){
if(i){
i(h)
}},
b, c, e, d)
},
overAlert: function(c, b){
a.alerts._overShow(c, b)
},
_overShow: function(d, c){
if(c==null){
c=3000
}
var b=c + 600;
a("body").append('<div id="over_container" style="display:none"><div id="over_message"></div></div>');
a("#over_message").text(d).html(a("#over_message").text().replace(/\n/g, "<br />"));
if(a.alerts.dialogClass){
a("#over_container").addClass(a.alerts.dialogClass)
}
var e=(a.cpeoplebrowser.msie&&parseInt(a.cpeoplebrowser.version) <=6) ? "absolute":"fixed";
a("#over_container").css({
position: e,
zIndex: 99999,
width: 350,
padding: 0,
margin: 0
}).show("fast");
a("#over_container").css({
minWidth: a("#over_container").outerWidth(),
maxWidth: a("#over_container").outerWidth()
});
a.alerts._overReposition();
setTimeout(function(){
a("#over_container").hide("fast")
},
c);
setTimeout(function(){
a("#over_container").remove()
},
b)
},
_overReposition: function(){
var c=4;
var b=((a(window).width() / 2) - (a("#over_container").outerWidth() / 2)) + a.alerts.horizontalOffset;
if(c < 0){
c=0
}
if(b < 0){
b=0
}
if(a.cpeoplebrowser.msie&&parseInt(a.cpeoplebrowser.version) <=6){
c=c + a(window).scrollTop()
}
if(a.cpeoplebrowser.msie&&parseInt(a.cpeoplebrowser.version) <=6){
b=b - 175
}
a("#over_container").css({
top: c + "px",
left: b + "px"
});
a("#popup_overlay").height(a(document).height())
},
_show: function(j, b, k, g, m, l, c, f, n){
a.alerts._hide();
a.alerts._overlay("show");
a("body").append('<div id="popup_container" style="display:none"><h1 id="popup_title"></h1><em id="ctl"></em><em id="cbl"></em><em id="ctr"></em><em id="cbr"></em><span id="popup_close"></span><div id="popup_content"><div id="popup_message"></div></div></div>');
if(a.alerts.dialogClass){
a("#popup_container").addClass(a.alerts.dialogClass)
}
var i=(a.cpeoplebrowser.msie&&parseInt(a.cpeoplebrowser.version) <=6) ? "absolute":"fixed";
a("#popup_container").css({
position: i,
zIndex: 99999,
padding: 0,
margin: 0
}).show();
a("#popup_title").text(j);
a("#popup_content").addClass(g);
if(g!="openBox"){
a("#popup_message").text(b).html(a("#popup_message").text().replace(/\n/g, "<br />"))
}
a("#popup_container").css({});
a.alerts._reposition();
a.alerts._maintainPosition(true);
switch (g){
case "alert":
a("#popup_message").after('<div id="popup_panel"><input type="button" value="' + a.alerts.okButton + '" id="popup_ok" /></div>');
a("#popup_ok").click(function(){
a.alerts._hide();
m(true)
});
a("#popup_ok").focus().keypress(function(h){
if(h.keyCode==13||h.keyCode==27){
a("#popup_ok").trigger("click")
}});
break;
case "confirm":
a("#popup_message").after('<div id="popup_panel"><input type="button" value="' + a.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + a.alerts.cancelButton + '" id="popup_cancel" /></div>');
a("#popup_ok").click(function(){
a.alerts._hide();
if(m){
m(true)
}});
a("#popup_cancel").click(function(){
a.alerts._hide();
if(m){
m(false)
}});
a("#popup_ok").focus();
a("#popup_ok, #popup_cancel").keypress(function(h){
if(h.keyCode==13){
a("#popup_ok").trigger("click")
}
if(h.keyCode==27){
a("#popup_cancel").trigger("click")
}});
break;
case "prompt":
a("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + a.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + a.alerts.cancelButton + '" id="popup_cancel" /></div>');
a("#popup_prompt").width(a("#popup_message").width() - 10);
a("#popup_ok").click(function(){
var e=a("#popup_prompt").val();
a.alerts._hide();
if(m){
m(e)
}});
a("#popup_cancel").click(function(){
a.alerts._hide();
if(m){
m(null)
}});
a("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(h){
if(h.keyCode==13){
a("#popup_ok").trigger("click")
}
if(h.keyCode==27){
a("#popup_cancel").trigger("click")
}});
if(k){
a("#popup_prompt").val(k)
}
a("#popup_prompt").focus().select();
break;
case "openBox":
a("#popup_message").append(a(b).html());
if(l){
a("#popup_container").css({
width:
l + "px"
})
}
if(c){
a("#popup_container").css({
height: c + "px"
});
a("#popup_message").css({
height: (c - 48) + "px"
})
}
a.alerts._reposition();
if(f){
a(f).click(function(){
a.alerts._hide();
if(m){
m(true)
}})
}
if(n){
a(n).click(function(){
a.alerts._hide();
return false;
if(m){
m(false)
}})
}
break
}
a("#popup_close").click(function(){
a.alerts._hide();
if(m){
m()
}});
if(a.alerts.draggable){
try {
a("#popup_container").draggable({
handle: a("#popup_title")
});
a("#popup_title").css({
cursor: "move"
})
} catch (d){ }}
},
_hide: function(){
a("#popup_container").remove();
a.alerts._overlay("hide");
a.alerts._maintainPosition(false)
},
_overlay: function(b){
switch (b){
case "show":
a.alerts._overlay("hide");
a("BODY").append('<div id="popup_overlay"></div>');
a("#popup_overlay").css({
position:
"absolute",
zIndex: 99998,
top: "0px",
left: "0px",
width: "100%",
height: a(document).height(),
background: a.alerts.overlayColor,
opacity: a.alerts.overlayOpacity
});
break;
case "hide":
a("#popup_overlay").remove();
break
}},
_reposition: function(){
var c=((a(window).height() / 2) - (a("#popup_container").height() / 2)) + a.alerts.verticalOffset;
var b=((a(window).width() / 2) - (a("#popup_container").width() / 2)) + a.alerts.horizontalOffset;
if(c < 0){
c=0
}
if(b < 0){
b=0
}
if(a.cpeoplebrowser.msie&&parseInt(a.cpeoplebrowser.version) <=6){
c=c + a(window).scrollTop()
}
a("#popup_container").css({
top: c + "px",
left: b + "px"
});
a("#popup_overlay").height(a(document).height())
},
_maintainPosition: function(b){
if(a.alerts.repositionOnResize){
switch (b){
case true:
a(window).bind("resize", a.alerts._reposition);
break;
case false:
a(window).unbind("resize", a.alerts._reposition);
break
}}
}};
hiAlert=function(b, c, d){
a.alerts.alert(b, c, d)
};
hiConfirm=function(b, c, d){
a.alerts.confirm(b, c, d)
};
hiPrompt=function(b, c, d, e){
a.alerts.prompt(b, c, d, e)
};
hiBox=function(f, g, b, c, e, d, i){
a.alerts.openBox(f, g, b, c, e, d, i)
};
hiOverAlert=function(c, b){
a.alerts.overAlert(c, b)
}})(jQuery);
$jc=jQuery.noConflict();
function waitvisible(gridcontainer){
if($jc(gridcontainer).width()==0)
setTimeout("waitvisible('"+gridcontainer+"')",100);
else
$jc(gridcontainer).reload2();
}
function fluidDialog(){
var $visible=$jc(".ui-dialog:visible");
$visible.each(function (){
var $this=$jc(this);
var dialog=$this.find(".ui-dialog-content");
if(dialog.dialog("option","fluid")){
var wWidth=$jc(window).width();
if(wWidth < (parseInt(dialog.dialog("option","maxWidth")) + 50)){
$this.css("max-width", "90%");
}else{
$this.css("max-width", dialog.dialog("option","maxWidth") + "px");
}
dialog.dialog("option","position", dialog.dialog("option","position"));
}});
}
$jc(window).resize(function (){
fluidDialog();
});
$jc(document).on("dialogopen", ".ui-dialog", function (event, ui){
fluidDialog();
});
window.$=jQuery;
function initMultiViewCal(container,calendarId,config){
$jc("#"+container).addClass('notranslate');
$jc(document).ready(function($jc){
(function($jc){
var def={
numberOfMonths:6,
viewNew:config.edition,
viewToday:config.btoday,
viewDay:false,
viewWeek:false,
viewMonth:false,
viewNMonth:false,
viewRowMonth:false,
viewNDays:false,
viewList:false,
numberOfDays:10,
nOfDays:10,
list_start:"", //"","now" or string compatible with strtotime
list_end:"",  //"","now" or string compatible with strtotime
list_order:"asc",
list_totalEvents:0,
list_eventsPerPage:10,
list_readmore_numberofwords:0,
viewRefresh:config.brefresh,
viewNavigation:config.bnavigation,
view: config.viewdefault, //'day','week','month','nMonth','nDays'
weekstartday:config.start_weekday,
showtooltip:false,
tooltipon:1,
shownavigate:false,
navigateurl:config.url,
target:0,
cssStyle:"ui-darkness",
readonly:!config.edition,
nmonths:12,
dialogWidth:300,
dialogCloseAuto:false,
height:0,
showtooltipdwm:false,
viewWeekDays:[1,1,1,1,1,1,1],
militaryTime:true,
path:"",
hoursStart:0,
hoursEnd:23,
cellheight:42,
hourswidth:52,
rowsByCategory:"",
rowsList:"",
dayWithColumns:"",
dayWithTime:true,
thecontainer:container,
userAdd:true,
userEdit:true,
userDel:true,
userEditOwner:true,
userDelOwner:true,
userOwner:43,
columnsList:false,
rowsList:false,
palette:0,
paletteDefault:"f00"
}
if(config.rowsByCategory!=""&&!config.dayWithTime)
config.dayWithTime=false;
config=$jc.extend(def, config);
if(!config.userAdd)
config.viewNew=false;
var tabs=0;
if(config.viewNew&&!config.readonly) tabs++;
if(config.viewToday) tabs++;
if(config.viewDay) tabs++;
if(config.viewWeek) tabs++;
if(config.viewMonth) tabs++;
if(config.viewRowMonth) tabs++;
if(config.viewNDays) tabs++;
if(config.viewList) tabs++;
if(config.viewNMonth) tabs++;
if(config.viewRefresh) tabs++;
if(config.viewNavigation&&((tabs==1&&config.viewList)||(tabs==1&&config.viewNMonth)||(tabs==2&&config.viewList&&config.viewNMonth))) config.viewNavigation=false;
if(config.viewNavigation) tabs++;
var string='<div id="calhead'+config.thecontainer+' "> '+
((tabs>1)?
'      <div id="caltoolbar'+config.thecontainer+'" class="ctoolbar">'+
((config.viewNew&&!config.readonly)?
'          <div id="faddbtn'+config.thecontainer+'" class="fbutton ui-state-default">'+
'              <div><span class="ui-icon ui-icon-new"></span><span title="'+i18n.dcmvcal.click_to_create_new_event+'" >'+i18n.dcmvcal.new_event+'</span></div>'+
'          </div>':'')+
((config.viewRefresh)?
'          <div  id="showreflashbtn'+config.thecontainer+'" class="fbutton ui-state-default">'+
'              <div><span class="ui-icon ui-icon-refresh"></span><span title="'+i18n.dcmvcal.refresh_view+'" class="showdayflash">'+i18n.dcmvcal.refresh+'</span></div>'+
'          </div>':'')+
((config.viewToday)?
'          <div class="btnseparator"></div>'+
'          <div id="showtodaybtn'+config.thecontainer+'" class="fbutton ui-state-default">'+
'              <div><span class="ui-icon ui-icon-today"></span><span title="'+i18n.dcmvcal.click_to_back_to_today+'" class="showtoday">'+i18n.dcmvcal.today+'</span></div>'+
'          </div>':'')+
((config.viewNavigation)?
'          <div class="btnseparator"></div>'+
'          <div id="sfprevbtn'+config.thecontainer+'" title="'+i18n.dcmvcal.prev+'"  class="fbutton fprevbtn ">'+
'            <span class="ui-icon ui-icon-circle-triangle-w"></span>'+
'          </div>'+
'          <div id="sfnextbtn'+config.thecontainer+'" title="'+i18n.dcmvcal.next+'" class="fbutton ui-state-default">'+
'              <span class="ui-icon ui-icon-circle-triangle-e"></span>'+
'          </div>'+
'          <div class="fshowdatep">'+
'              <div>'+
'                  <input type="hidden" name="txtshow" id="hdtxtshow'+config.thecontainer+'" />'+
'                  <span id="txtdatetimeshow'+config.thecontainer+'">'+i18n.dcmvcal.loading+'</span>'+
'              </div>'+
'          </div>':'')+
((config.print_button)?
'          <div  id="showprintbtn'+config.thecontainer+'" class="fbutton ui-state-default showprintbtn">'+
'              <div><span title="Print" class="shownprintview">Print</span></div>'+
'          </div>':'')+
((config.export_ical_button)?
'          <div  id="shownICALbtn'+config.thecontainer+'" class="fbutton ui-state-default ">'+
'              <div><span title="iCal" class="showicalview">iCal</span></div>'+
'          </div>':'')+
((config.viewNavigation)?
'<div class="mvSelectNavigation"><label for="display-select" style="position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0;">Select a Calendar Display</label><select>'+
((config.viewDay)?'<option value="day" '+((config.view=="day")?'selected':'')+'>'+i18n.dcmvcal.sday+'</option>':'')+
((config.viewNDays)?'<option value="nDays" '+((config.view=="nDays")?'selected':'')+'>'+i18n.dcmvcal.ndays+'</option>':'')+
((config.viewWeek)?'<option value="week" '+((config.view=="week")?'selected':'')+'>'+i18n.dcmvcal.week+'</option>':'')+
((config.viewMonth)?'<option value="month" '+((config.view=="month")?'selected':'')+'>'+i18n.dcmvcal.month+'</option>':'')+
((config.viewRowMonth)?'<option value="rowMonth" '+((config.view=="rowMonth")?'selected':'')+'>'+i18n.dcmvcal.rowmonth+'</option>':'')+
((config.viewNMonth)?'<option value="nMonth" '+((config.view=="nMonth")?'selected':'')+'>'+i18n.dcmvcal.nmonth+'</option>':'')+
((config.viewList)?'<option value="list" '+((config.view=="list")?'selected':'')+'>'+i18n.dcmvcal.list+'</option>':'')+
'</select></div>':'')+
'      <div style="clear:both"></div></div>':'')+
'</div>'+
'<div id="editEventContainer"></div>'+
'<div>'+
'    <div id="dvCalMain'+config.thecontainer+'" class="calmain">'+
'          <div id="loadingpannel'+config.thecontainer+'" class="ptogtitle loadicon" style="display: none;">'+i18n.dcmvcal.loading_data+'</div>'+
'          <div id="errorpannel'+config.thecontainer+'" class="ptogtitle loaderror" style="display: none;">'+i18n.dcmvcal.sorry_could_not_load_your_data+'</div>'+
'        <div  class="gridcontainercover"><div id="gridcontainer'+config.thecontainer+'" style="position:relative;overflow-y: visible;"></div></div>'+
'    </div>'+
'</div>';
var $container=$jc("#"+container);
if(tabs<=1&&config.viewList)
$jc("#"+container).parent().addClass("mvlist");
if(tabs<=1&&config.viewNMonth)
$jc("#"+container).parent().addClass("mvNMonth");
$container.html(string);
var DATA_FEED_URL=pathCalendar+"&f=datafeed";
var DATA_EDIT_URL=pathCalendar+"&f=edit&month_index="+i18n.dcmvcal.dateformat.month_index+"&delete="+((config.userDel)?"1":"0")+"&palette="+config.palette+"&paletteDefault="+config.paletteDefault+"&calid="+calendarId;
var op={
numberOfMonths:config.numberOfMonths,
view: config.view,
readonly:config.readonly,
weekstartday: config.weekstartday,
showtooltip:config.showtooltip,
tooltipon:config.tooltipon,
shownavigate:config.shownavigate,
navigateurl:config.navigateurl,
target:config.target,
showday: new Date(),
EditCmdhandler:Edit,
DeleteCmdhandler:Delete,
ViewCmdhandler:View,
onWeekOrMonthToDay:wtd,
onBeforeRequestData: cal_beforerequest,
onAfterRequestData: cal_afterrequest,
onRequestDataError: cal_onerror,
autoload:true,
url: DATA_FEED_URL + "&method=list&calid="+calendarId,
quickAddUrl: DATA_FEED_URL + "&month_index="+i18n.dcmvcal.dateformat.month_index+"&method=add&calid="+calendarId,
quickUpdateUrl: DATA_FEED_URL + "&method=update&calid="+calendarId,
quickDeleteUrl: DATA_FEED_URL + "&method=remove&calid="+calendarId,
dialogWidth:config.dialogWidth,
dialogCloseAuto:config.dialogCloseAuto,
height:config.height
};
op=$jc.extend(config, op);
if(op.startdate&&(op.startdate.length>=8)&&(op.startdate.length<=10)){
var i=op.startdate.split("-");
op.startdate=new Date(i[0]*1,i[1]*1-1,i[2]*1);
op.showday=op.startdate;
}
else
op.startdate="";
if((typeof op.mindate!=='undefined')&&($.isNumeric(op.mindate))){
var date=new Date();
date.setDate(date.getDate() + op.mindate);
op.mindate=date;
}
else if((typeof op.mindate!=='undefined')&&(op.mindate.length>=8)&&(op.mindate.length<=10)){
var i=op.mindate.split("-");
op.mindate=new Date(i[0]*1,i[1]*1-1,i[2]*1);
}
else
op.mindate="";
if((typeof op.maxdate!=='undefined')&&($.isNumeric(op.maxdate))){
var date=new Date();
date.setDate(date.getDate() + op.maxdate);
op.maxdate=date;
}
else if((typeof op.maxdate!=='undefined')&&(op.maxdate.length>=8)&&(op.maxdate.length<=10)){
var i=op.maxdate.split("-");
op.maxdate=new Date(i[0]*1,i[1]*1-1,i[2]*1);
}
else
op.maxdate="";
if(op.maxdate&&op.mindate){
var oneDay=24 * 60 * 60 * 1000;
var diffDays=Math.abs((op.maxdate.getTime() - op.mindate.getTime()) / (oneDay));
if((diffDays/30)<op.numberOfMonths)
op.numberOfMonths=Math.ceil(diffDays/30);
}
var $dv=$jc("#calhead"+op.thecontainer);
var _MH=document.documentElement.clientHeight;
var dvH=$dv.height() + 2;
op.eventItems=[];
setTimeout("waitvisible('#gridcontainer"+op.thecontainer+"')",100);
var p=$jc("#gridcontainer"+op.thecontainer).bcalendar(op).BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}
$jc("#caltoolbar"+op.thecontainer).noSelect();
try {
$jc("#hdtxtshow"+op.thecontainer).datepicker({ picker: "#txtdatetimeshow"+op.thecontainer, showtarget: $jc("#txtdatetimeshow"+op.thecontainer),
onReturn:function(r){
var p=$jc("#gridcontainer"+op.thecontainer).gotoDate(r).BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}}
});
} catch(e){};
function cal_beforerequest(type){
var t=i18n.dcmvcal.loading_data;
switch(type){
case 1:
t=i18n.dcmvcal.loading_data;
break;
case 2:
case 3:
case 4:
t=i18n.dcmvcal.request_processed;
break;
}
$jc("#errorpannel"+op.thecontainer).hide();
$jc("#loadingpannel"+op.thecontainer).html(t);
$jc("#loadingpannel"+op.thecontainer).show();
}
function cal_afterrequest(type){
switch(type){
case 1:
$jc("#loadingpannel"+op.thecontainer).hide();
break;
case 2:
case 3:
case 4:
$jc("#loadingpannel"+op.thecontainer).html(i18n.dcmvcal.success);
window.setTimeout(function(){ $jc("#loadingpannel"+op.thecontainer).hide();},2000);
break;
}}
function cal_onerror(type,data){
if(type!=2)
$jc("#errorpannel"+op.thecontainer).show();
if(data.Msg=='OVERLAPPING')
alert(i18n.dcmvcal.error_overlapping);
else if(!(data.Msg===undefined))
alert(data.Msg);
else if(data=='-1')
alert('Authentication token not longer valid. Please refresh the page.');
}
function Edit(data,pos){
if(pos===undefined) pos="";
var eurl=DATA_EDIT_URL+"&mt="+(config.militaryTime?"true":"false")+"&css="+config.cssStyle+"&lang="+config.language+"&weekstartday="+config.weekstartday+"&hoursStart="+config.hoursStart+"&hoursEnd="+config.hoursEnd+"&id={0}&start={2}&end={3}&isallday={4}&title={1}";
if(data){
var url=StrFormat(eurl,data);
showEditEvent(url,pos);
}}
function View(data){
var str="";
$jc.each(data, function(i, item){
str +="[" + i + "]: " + item + "\n";
});
}
function Delete(data,callback){
$jc.alerts.okButton=i18n.dcmvcal.ok;
$jc.alerts.cancelButton=i18n.dcmvcal.cancel;
hiConfirm(i18n.dcmvcal.are_you_sure_delete, 'Confirm',function(r){ r&&callback(0,data[0]);});
}
function wtd(p){
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc("#showdaybtn"+op.thecontainer).addClass("ui-state-active");
}
try {
$jc(".mvSelectNavigation select").change(function(e){
var p=$jc("#gridcontainer"+op.thecontainer).swtichView($jc(this).val()).BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#showdaybtn"+op.thecontainer).click(function(e){
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc(this).addClass("ui-state-active");
var p=$jc("#gridcontainer"+op.thecontainer).swtichView("day").BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#showweekbtn"+op.thecontainer).click(function(e){
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc(this).addClass("ui-state-active");
var p=$jc("#gridcontainer"+op.thecontainer).swtichView("week").BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#showmonthbtn"+op.thecontainer).click(function(e){
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc(this).addClass("ui-state-active");
var p=$jc("#gridcontainer"+op.thecontainer).swtichView("month").BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#shownDaysbtn"+op.thecontainer).click(function(e){
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc(this).addClass("ui-state-active");
var p=$jc("#gridcontainer"+op.thecontainer).swtichView("nDays").BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#shownListbtn"+op.thecontainer).click(function(e){
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc(this).addClass("ui-state-active");
var p=$jc("#gridcontainer"+op.thecontainer).swtichView("list").BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#showrowMonthbtn"+op.thecontainer).click(function(e){
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc(this).addClass("ui-state-active");
var p=$jc("#gridcontainer"+op.thecontainer).swtichView("rowMonth").BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#shownMonthbtn"+op.thecontainer).click(function(e){
$jc("#caltoolbar"+op.thecontainer+" div.ui-state-active").each(function(){
$jc(this).removeClass("ui-state-active");
})
$jc(this).addClass("ui-state-active");
var p=$jc("#gridcontainer"+op.thecontainer).swtichView("nMonth").BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#showreflashbtn"+op.thecontainer).click(function(e){
$jc("#gridcontainer"+op.thecontainer).reload();
});
} catch(e){};
try {
$jc("#shownICALbtn"+op.thecontainer).click(function(e){
window.location=DATA_FEED_URL.replace("datafeed","ical")+"&id="+calendarId;
});
} catch(e){};
function CallPrint(code){
var printWindow=window.open();
printWindow.document.write('<html>\n');
printWindow.document.write('<head><style>#multicalendar .ctoolbar{height:22px}#multicalendar .fbutton{display:none}</style>\n');
if(navigator.userAgent.toLowerCase().indexOf("chrome") > -1){
}else{
printWindow.document.write('<link href="'+config.mvcsspath+config.cssStyle+'/calendar.css" rel="Stylesheet" type="text/css" />\n');
printWindow.document.write('<link href="'+config.mvcsspath+'main.css" rel="Stylesheet" type="text/css" />\n');
}
printWindow.document.write('<script>\n');
if(navigator.userAgent.toLowerCase().indexOf("chrome") > -1){
printWindow.document.write('var chromeCss=document.createElement("link");\n');
printWindow.document.write('chromeCss.rel="stylesheet";\n');
printWindow.document.write('chromeCss.href="'+config.mvcsspath+config.cssStyle+'/calendar.css";\n');
printWindow.document.write('document.getElementsByTagName("head")[0].appendChild(chromeCss);\n');
printWindow.document.write('var chromeCss=document.createElement("link");\n');
printWindow.document.write('chromeCss.rel="stylesheet";\n');
printWindow.document.write('chromeCss.href="'+config.mvcsspath+'main.css";\n');
printWindow.document.write('document.getElementsByTagName("head")[0].appendChild(chromeCss);\n');
}
printWindow.document.write('function winPrint()\n');
printWindow.document.write('{\n');
printWindow.document.write('window.focus();\n');
if(navigator.userAgent.toLowerCase().indexOf("chrome") > -1)
printWindow.document.write('printChrome();\n');
else
printWindow.document.write('window.print();\n');
if(navigator.userAgent.toLowerCase().indexOf("firefox") > -1)
printWindow.document.write('window.close();\n');
else
printWindow.document.write('chkstate();\n');
printWindow.document.write('}\n');
printWindow.document.write('function chkstate()\n');
printWindow.document.write('{\n');
printWindow.document.write('if(document.readyState=="complete")');
printWindow.document.write('{\n');
printWindow.document.write('window.close();\n');
printWindow.document.write('}\n');
printWindow.document.write('else{\n');
printWindow.document.write('setTimeout("chkstate();",3000);\n');
printWindow.document.write('}\n');
printWindow.document.write('}\n');
printWindow.document.write('function printChrome()\n');
printWindow.document.write('{\n');
printWindow.document.write('if(document.readyState=="complete")');
printWindow.document.write('{\n');
printWindow.document.write('window.print();\n');
printWindow.document.write('}\n');
printWindow.document.write('else{\n');
printWindow.document.write('setTimeout("printChrome();",3000);\n');
printWindow.document.write('}\n');
printWindow.document.write('}\n');
printWindow.document.write('</scr');
printWindow.document.write('ipt>');
printWindow.document.write('</head>');
printWindow.document.write('<body onload="winPrint()" >');
printWindow.document.write('<div id="multicalendar">'+code+'</div>');
printWindow.document.write('</body>');
printWindow.document.write('</html>');
printWindow.document.close();
}
try {
$jc("#showprintbtn"+op.thecontainer).click(function(e){
var code=$jc("#"+op.thecontainer).parent().html()+"";
if($jc("#gridcontainer"+op.thecontainer).BcalGetOp().view=="nMonth")
code=code.replace(/width:/g,"width-");
CallPrint(code);
});
} catch(e){};
function showEditEvent(url,pos){
var div=$jc('<div id="editEvent" op="'+op.thecontainer+'" ></div>');
var html='<form id="mvEditForm" target="mvEditFormFrame"  action="'+DATA_EDIT_URL+'" method="POST">'
+'<input type="submit">'
+'</form>'
+'<iframe name="mvEditFormFrame" src="'+DATA_EDIT_URL+'" width="100%" height="100%" allowtransparency="true" frameborder="0" style="z-index: 2147483647; background: rgba(0,0,0,0.003); border: 0px none transparent; visibility: visible; margin: 0px; padding: 0; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; -webkit-tap-highlight-color: transparent; overflow: hidden;"></iframe>';
div.html(html);
$jc(document.body).append(div);
var form=$jc("#mvEditForm");
var urlparams=(url.replace(DATA_EDIT_URL,""));
var params=urlparams.split("&")
for (var i in params){
var tmp=params[i].split('=');
if(tmp.length==2){
var key=decodeURIComponent(tmp[0]), value=decodeURIComponent(tmp[1]);
$jc(document.createElement('input')).attr('type', 'hidden').attr('name', key).attr('value', value).appendTo(form);
}}
form.css("display","none");
$jc(form).submit();
}
try {
$jc("#faddbtn"+op.thecontainer).click(function(e){
var url=DATA_EDIT_URL+"&r="+Math.random()+"&css="+config.cssStyle+"&lang="+config.language+"&weekstartday="+config.weekstartday+"&hoursStart="+config.hoursStart+"&hoursEnd="+config.hoursEnd;
showEditEvent(url);
});
} catch(e){};
try {
$jc("#showtodaybtn"+op.thecontainer).click(function(e){
var p=$jc("#gridcontainer"+op.thecontainer).gotoDate().BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}});
} catch(e){};
try {
$jc("#sfprevbtn"+op.thecontainer).click(function(e){
if(!$jc("#sfprevbtn"+op.thecontainer).hasClass("non-navigate")){
var p=$jc("#gridcontainer"+op.thecontainer).previousRange().BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}}
});
} catch(e){};
try {
$jc("#sfnextbtn"+op.thecontainer).click(function(e){
if(!$jc("#sfnextbtn"+op.thecontainer).hasClass("non-navigate")){
var p=$jc("#gridcontainer"+op.thecontainer).nextRange().BcalGetOp();
if(p&&p.datestrshow){
$jc("#txtdatetimeshow"+op.thecontainer).text(p.datestrshow);
}}
});
} catch(e){};})($jc);
});
};
(function(){
var root=this;
var previousUnderscore=root._;
var breaker={};
var ArrayProto=Array.prototype, ObjProto=Object.prototype, FuncProto=Function.prototype;
var slice=ArrayProto.slice,
unshift=ArrayProto.unshift,
toString=ObjProto.toString,
hasOwnProperty=ObjProto.hasOwnProperty;
var
nativeForEach=ArrayProto.forEach,
nativeMap=ArrayProto.map,
nativeReduce=ArrayProto.reduce,
nativeReduceRight=ArrayProto.reduceRight,
nativeFilter=ArrayProto.filter,
nativeEvery=ArrayProto.every,
nativeSome=ArrayProto.some,
nativeIndexOf=ArrayProto.indexOf,
nativeLastIndexOf=ArrayProto.lastIndexOf,
nativeIsArray=Array.isArray,
nativeKeys=Object.keys,
nativeBind=FuncProto.bind;
var _=function(obj){ return new wrapper(obj); };
if(typeof exports!=='undefined'){
if(typeof module!=='undefined'&&module.exports){
exports=module.exports=_;
}
exports._=_;
}else{
root['_']=_;
}
_.VERSION='1.3.3';
var each=_.each=_.forEach=function(obj, iterator, context){
if(obj==null) return;
if(nativeForEach&&obj.forEach===nativeForEach){
obj.forEach(iterator, context);
}else if(obj.length===+obj.length){
for (var i=0, l=obj.length; i < l; i++){
if(i in obj&&iterator.call(context, obj[i], i, obj)===breaker) return;
}}else{
for (var key in obj){
if(_.has(obj, key)){
if(iterator.call(context, obj[key], key, obj)===breaker) return;
}}
}};
_.map=_.collect=function(obj, iterator, context){
var results=[];
if(obj==null) return results;
if(nativeMap&&obj.map===nativeMap) return obj.map(iterator, context);
each(obj, function(value, index, list){
results[results.length]=iterator.call(context, value, index, list);
});
if(obj.length===+obj.length) results.length=obj.length;
return results;
};
_.reduce=_.foldl=_.inject=function(obj, iterator, memo, context){
var initial=arguments.length > 2;
if(obj==null) obj=[];
if(nativeReduce&&obj.reduce===nativeReduce){
if(context) iterator=_.bind(iterator, context);
return initial ? obj.reduce(iterator, memo):obj.reduce(iterator);
}
each(obj, function(value, index, list){
if(!initial){
memo=value;
initial=true;
}else{
memo=iterator.call(context, memo, value, index, list);
}});
if(!initial) throw new TypeError('Reduce of empty array with no initial value');
return memo;
};
_.reduceRight=_.foldr=function(obj, iterator, memo, context){
var initial=arguments.length > 2;
if(obj==null) obj=[];
if(nativeReduceRight&&obj.reduceRight===nativeReduceRight){
if(context) iterator=_.bind(iterator, context);
return initial ? obj.reduceRight(iterator, memo):obj.reduceRight(iterator);
}
var reversed=_.toArray(obj).reverse();
if(context&&!initial) iterator=_.bind(iterator, context);
return initial ? _.reduce(reversed, iterator, memo, context):_.reduce(reversed, iterator);
};
_.find=_.detect=function(obj, iterator, context){
var result;
any(obj, function(value, index, list){
if(iterator.call(context, value, index, list)){
result=value;
return true;
}});
return result;
};
_.filter=_.select=function(obj, iterator, context){
var results=[];
if(obj==null) return results;
if(nativeFilter&&obj.filter===nativeFilter) return obj.filter(iterator, context);
each(obj, function(value, index, list){
if(iterator.call(context, value, index, list)) results[results.length]=value;
});
return results;
};
_.reject=function(obj, iterator, context){
var results=[];
if(obj==null) return results;
each(obj, function(value, index, list){
if(!iterator.call(context, value, index, list)) results[results.length]=value;
});
return results;
};
_.every=_.all=function(obj, iterator, context){
var result=true;
if(obj==null) return result;
if(nativeEvery&&obj.every===nativeEvery) return obj.every(iterator, context);
each(obj, function(value, index, list){
if(!(result=result&&iterator.call(context, value, index, list))) return breaker;
});
return !!result;
};
var any=_.some=_.any=function(obj, iterator, context){
iterator||(iterator=_.identity);
var result=false;
if(obj==null) return result;
if(nativeSome&&obj.some===nativeSome) return obj.some(iterator, context);
each(obj, function(value, index, list){
if(result||(result=iterator.call(context, value, index, list))) return breaker;
});
return !!result;
};
_.include=_.contains=function(obj, target){
var found=false;
if(obj==null) return found;
if(nativeIndexOf&&obj.indexOf===nativeIndexOf) return obj.indexOf(target)!=-1;
found=any(obj, function(value){
return value===target;
});
return found;
};
_.invoke=function(obj, method){
var args=slice.call(arguments, 2);
return _.map(obj, function(value){
return (_.isFunction(method) ? method||value:value[method]).apply(value, args);
});
};
_.pluck=function(obj, key){
return _.map(obj, function(value){ return value[key]; });
};
_.max=function(obj, iterator, context){
if(!iterator&&_.isArray(obj)&&obj[0]===+obj[0]) return Math.max.apply(Math, obj);
if(!iterator&&_.isEmpty(obj)) return -Infinity;
var result={computed:-Infinity};
each(obj, function(value, index, list){
var computed=iterator ? iterator.call(context, value, index, list):value;
computed >=result.computed&&(result={value:value, computed:computed});
});
return result.value;
};
_.min=function(obj, iterator, context){
if(!iterator&&_.isArray(obj)&&obj[0]===+obj[0]) return Math.min.apply(Math, obj);
if(!iterator&&_.isEmpty(obj)) return Infinity;
var result={computed:Infinity};
each(obj, function(value, index, list){
var computed=iterator ? iterator.call(context, value, index, list):value;
computed < result.computed&&(result={value:value, computed:computed});
});
return result.value;
};
_.shuffle=function(obj){
var shuffled=[], rand;
each(obj, function(value, index, list){
rand=Math.floor(Math.random() * (index + 1));
shuffled[index]=shuffled[rand];
shuffled[rand]=value;
});
return shuffled;
};
_.sortBy=function(obj, val, context){
var iterator=_.isFunction(val) ? val:function(obj){ return obj[val]; };
return _.pluck(_.map(obj, function(value, index, list){
return {
value:value,
criteria:iterator.call(context, value, index, list)
};}).sort(function(left, right){
var a=left.criteria, b=right.criteria;
if(a===void 0) return 1;
if(b===void 0) return -1;
return a < b ? -1:a > b ? 1:0;
}), 'value');
};
_.groupBy=function(obj, val){
var result={};
var iterator=_.isFunction(val) ? val:function(obj){ return obj[val]; };
each(obj, function(value, index){
var key=iterator(value, index);
(result[key]||(result[key]=[])).push(value);
});
return result;
};
_.sortedIndex=function(array, obj, iterator){
iterator||(iterator=_.identity);
var low=0, high=array.length;
while (low < high){
var mid=(low + high) >> 1;
iterator(array[mid]) < iterator(obj) ? low=mid + 1:high=mid;
}
return low;
};
_.toArray=function(obj){
if(!obj)                                     return [];
if(_.isArray(obj))                           return slice.call(obj);
if(_.isArguments(obj))                       return slice.call(obj);
if(obj.toArray&&_.isFunction(obj.toArray)) return obj.toArray();
return _.values(obj);
};
_.size=function(obj){
try{
return _.isArray(obj) ? obj.length:_.keys(obj).length;
}catch (e){}};
_.first=_.head=_.take=function(array, n, guard){
return (n!=null)&&!guard ? slice.call(array, 0, n):array[0];
};
_.initial=function(array, n, guard){
return slice.call(array, 0, array.length - ((n==null)||guard ? 1:n));
};
_.last=function(array, n, guard){
if((n!=null)&&!guard){
return slice.call(array, Math.max(array.length - n, 0));
}else{
return array[array.length - 1];
}};
_.rest=_.tail=function(array, index, guard){
return slice.call(array, (index==null)||guard ? 1:index);
};
_.compact=function(array){
return _.filter(array, function(value){ return !!value; });
};
_.flatten=function(array, shallow){
return _.reduce(array, function(memo, value){
if(_.isArray(value)) return memo.concat(shallow ? value:_.flatten(value));
memo[memo.length]=value;
return memo;
}, []);
};
_.without=function(array){
return _.difference(array, slice.call(arguments, 1));
};
_.uniq=_.unique=function(array, isSorted, iterator){
var initial=iterator ? _.map(array, iterator):array;
var results=[];
if(array.length < 3) isSorted=true;
_.reduce(initial, function (memo, value, index){
if(isSorted ? _.last(memo)!==value||!memo.length:!_.include(memo, value)){
memo.push(value);
results.push(array[index]);
}
return memo;
}, []);
return results;
};
_.union=function(){
return _.uniq(_.flatten(arguments, true));
};
_.intersection=_.intersect=function(array){
var rest=slice.call(arguments, 1);
return _.filter(_.uniq(array), function(item){
return _.every(rest, function(other){
return _.indexOf(other, item) >=0;
});
});
};
_.difference=function(array){
var rest=_.flatten(slice.call(arguments, 1), true);
return _.filter(array, function(value){ return !_.include(rest, value); });
};
_.zip=function(){
var args=slice.call(arguments);
var length=_.max(_.pluck(args, 'length'));
var results=new Array(length);
for (var i=0; i < length; i++) results[i]=_.pluck(args, "" + i);
return results;
};
_.indexOf=function(array, item, isSorted){
if(array==null) return -1;
var i, l;
if(isSorted){
i=_.sortedIndex(array, item);
return array[i]===item ? i:-1;
}
if(nativeIndexOf&&array.indexOf===nativeIndexOf) return array.indexOf(item);
for (i=0, l=array.length; i < l; i++) if(i in array&&array[i]===item) return i;
return -1;
};
_.lastIndexOf=function(array, item){
if(array==null) return -1;
if(nativeLastIndexOf&&array.lastIndexOf===nativeLastIndexOf) return array.lastIndexOf(item);
var i=array.length;
while (i--) if(i in array&&array[i]===item) return i;
return -1;
};
_.range=function(start, stop, step){
if(arguments.length <=1){
stop=start||0;
start=0;
}
step=arguments[2]||1;
var len=Math.max(Math.ceil((stop - start) / step), 0);
var idx=0;
var range=new Array(len);
while(idx < len){
range[idx++]=start;
start +=step;
}
return range;
};
var ctor=function(){};
_.bind=function bind(func, context){
var bound, args;
if(func.bind===nativeBind&&nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));
if(!_.isFunction(func)) throw new TypeError;
args=slice.call(arguments, 2);
return bound=function(){
if(!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));
ctor.prototype=func.prototype;
var self=new ctor;
var result=func.apply(self, args.concat(slice.call(arguments)));
if(Object(result)===result) return result;
return self;
};};
_.bindAll=function(obj){
var funcs=slice.call(arguments, 1);
if(funcs.length==0) funcs=_.functions(obj);
each(funcs, function(f){ obj[f]=_.bind(obj[f], obj); });
return obj;
};
_.memoize=function(func, hasher){
var memo={};
hasher||(hasher=_.identity);
return function(){
var key=hasher.apply(this, arguments);
return _.has(memo, key) ? memo[key]:(memo[key]=func.apply(this, arguments));
};};
_.delay=function(func, wait){
var args=slice.call(arguments, 2);
return setTimeout(function(){ return func.apply(null, args); }, wait);
};
_.defer=function(func){
return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));
};
_.throttle=function(func, wait){
var context, args, timeout, throttling, more, result;
var whenDone=_.debounce(function(){ more=throttling=false; }, wait);
return function(){
context=this; args=arguments;
var later=function(){
timeout=null;
if(more) func.apply(context, args);
whenDone();
};
if(!timeout) timeout=setTimeout(later, wait);
if(throttling){
more=true;
}else{
result=func.apply(context, args);
}
whenDone();
throttling=true;
return result;
};};
_.debounce=function(func, wait, immediate){
var timeout;
return function(){
var context=this, args=arguments;
var later=function(){
timeout=null;
if(!immediate) func.apply(context, args);
};
if(immediate&&!timeout) func.apply(context, args);
clearTimeout(timeout);
timeout=setTimeout(later, wait);
};};
_.once=function(func){
var ran=false, memo;
return function(){
if(ran) return memo;
ran=true;
return memo=func.apply(this, arguments);
};};
_.wrap=function(func, wrapper){
return function(){
var args=[func].concat(slice.call(arguments, 0));
return wrapper.apply(this, args);
};};
_.compose=function(){
var funcs=arguments;
return function(){
var args=arguments;
for (var i=funcs.length - 1; i >=0; i--){
args=[funcs[i].apply(this, args)];
}
return args[0];
};};
_.after=function(times, func){
if(times <=0) return func();
return function(){
if(--times < 1){ return func.apply(this, arguments); }};};
_.keys=nativeKeys||function(obj){
if(obj!==Object(obj)) throw new TypeError('Invalid object');
var keys=[];
for (var key in obj) if(_.has(obj, key)) keys[keys.length]=key;
return keys;
};
_.values=function(obj){
return _.map(obj, _.identity);
};
_.functions=_.methods=function(obj){
var names=[];
for (var key in obj){
if(_.isFunction(obj[key])) names.push(key);
}
return names.sort();
};
_.extend=function(obj){
each(slice.call(arguments, 1), function(source){
for (var prop in source){
obj[prop]=source[prop];
}});
return obj;
};
_.pick=function(obj){
var result={};
each(_.flatten(slice.call(arguments, 1)), function(key){
if(key in obj) result[key]=obj[key];
});
return result;
};
_.defaults=function(obj){
each(slice.call(arguments, 1), function(source){
for (var prop in source){
if(obj[prop]==null) obj[prop]=source[prop];
}});
return obj;
};
_.clone=function(obj){
if(!_.isObject(obj)) return obj;
return _.isArray(obj) ? obj.slice():_.extend({}, obj);
};
_.tap=function(obj, interceptor){
interceptor(obj);
return obj;
};
function eq(a, b, stack){
if(a===b) return a!==0||1 / a==1 / b;
if(a==null||b==null) return a===b;
if(a._chain) a=a._wrapped;
if(b._chain) b=b._wrapped;
if(a.isEqual&&_.isFunction(a.isEqual)) return a.isEqual(b);
if(b.isEqual&&_.isFunction(b.isEqual)) return b.isEqual(a);
var className=toString.call(a);
if(className!=toString.call(b)) return false;
switch (className){
case '[object String]':
return a==String(b);
case '[object Number]':
return a!=+a ? b!=+b:(a==0 ? 1 / a==1 / b:a==+b);
case '[object Date]':
case '[object Boolean]':
return +a==+b;
case '[object RegExp]':
return a.source==b.source &&
a.global==b.global &&
a.multiline==b.multiline &&
a.ignoreCase==b.ignoreCase;
}
if(typeof a!='object'||typeof b!='object') return false;
var length=stack.length;
while (length--){
if(stack[length]==a) return true;
}
stack.push(a);
var size=0, result=true;
if(className=='[object Array]'){
size=a.length;
result=size==b.length;
if(result){
while (size--){
if(!(result=size in a==size in b&&eq(a[size], b[size], stack))) break;
}}
}else{
if('constructor' in a!='constructor' in b||a.constructor!=b.constructor) return false;
for (var key in a){
if(_.has(a, key)){
size++;
if(!(result=_.has(b, key)&&eq(a[key], b[key], stack))) break;
}}
if(result){
for (key in b){
if(_.has(b, key)&&!(size--)) break;
}
result = !size;
}}
stack.pop();
return result;
}
_.isEqual=function(a, b){
return eq(a, b, []);
};
_.isEmpty=function(obj){
if(obj==null) return true;
if(_.isArray(obj)||_.isString(obj)) return obj.length===0;
for (var key in obj) if(_.has(obj, key)) return false;
return true;
};
_.isElement=function(obj){
return !!(obj&&obj.nodeType==1);
};
_.isArray=nativeIsArray||function(obj){
return toString.call(obj)=='[object Array]';
};
_.isObject=function(obj){
return obj===Object(obj);
};
_.isArguments=function(obj){
return toString.call(obj)=='[object Arguments]';
};
if(!_.isArguments(arguments)){
_.isArguments=function(obj){
return !!(obj&&_.has(obj, 'callee'));
};}
_.isFunction=function(obj){
return toString.call(obj)=='[object Function]';
};
_.isString=function(obj){
return toString.call(obj)=='[object String]';
};
_.isNumber=function(obj){
return toString.call(obj)=='[object Number]';
};
_.isFinite=function(obj){
return _.isNumber(obj)&&isFinite(obj);
};
_.isNaN=function(obj){
return obj!==obj;
};
_.isBoolean=function(obj){
return obj===true||obj===false||toString.call(obj)=='[object Boolean]';
};
_.isDate=function(obj){
return toString.call(obj)=='[object Date]';
};
_.isRegExp=function(obj){
return toString.call(obj)=='[object RegExp]';
};
_.isNull=function(obj){
return obj===null;
};
_.isUndefined=function(obj){
return obj===void 0;
};
_.has=function(obj, key){
return hasOwnProperty.call(obj, key);
};
_.noConflict=function(){
root._=previousUnderscore;
return this;
};
_.identity=function(value){
return value;
};
_.times=function (n, iterator, context){
for (var i=0; i < n; i++) iterator.call(context, i);
};
_.escape=function(string){
return (''+string).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\//g,'&#x2F;');
};
_.result=function(object, property){
if(object==null) return null;
var value=object[property];
return _.isFunction(value) ? value.call(object):value;
};
_.mixin=function(obj){
each(_.functions(obj), function(name){
addToWrapper(name, _[name]=obj[name]);
});
};
var idCounter=0;
_.uniqueId=function(prefix){
var id=idCounter++;
return prefix ? prefix + id:id;
};
_.templateSettings={
evaluate:/<%([\s\S]+?)%>/g,
interpolate:/<%=([\s\S]+?)%>/g,
escape:/<%-([\s\S]+?)%>/g
};
var noMatch=/.^/;
var escapes={
'\\': '\\',
"'": "'",
'r': '\r',
'n': '\n',
't': '\t',
'u2028': '\u2028',
'u2029': '\u2029'
};
for (var p in escapes) escapes[escapes[p]]=p;
var escaper=/\\|'|\r|\n|\t|\u2028|\u2029/g;
var unescaper=/\\(\\|'|r|n|t|u2028|u2029)/g;
var unescape=function(code){
return code.replace(unescaper, function(match, escape){
return escapes[escape];
});
};
_.template=function(text, data, settings){
settings=_.defaults(settings||{}, _.templateSettings);
var source="__p+='" + text
.replace(escaper, function(match){
return '\\' + escapes[match];
})
.replace(settings.escape||noMatch, function(match, code){
return "'+\n_.escape(" + unescape(code) + ")+\n'";
})
.replace(settings.interpolate||noMatch, function(match, code){
return "'+\n(" + unescape(code) + ")+\n'";
})
.replace(settings.evaluate||noMatch, function(match, code){
return "';\n" + unescape(code) + "\n;__p+='";
}) + "';\n";
if(!settings.variable) source='with(obj||{}){\n' + source + '}\n';
source="var __p='';" +
"var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n" +
source + "return __p;\n";
var render=new Function(settings.variable||'obj', '_', source);
if(data) return render(data, _);
var template=function(data){
return render.call(this, data, _);
};
template.source='function(' + (settings.variable||'obj') + '){\n' +
source + '}';
return template;
};
_.chain=function(obj){
return _(obj).chain();
};
var wrapper=function(obj){ this._wrapped=obj; };
_.prototype=wrapper.prototype;
var result=function(obj, chain){
return chain ? _(obj).chain():obj;
};
var addToWrapper=function(name, func){
wrapper.prototype[name]=function(){
var args=slice.call(arguments);
unshift.call(args, this._wrapped);
return result(func.apply(_, args), this._chain);
};};
_.mixin(_);
each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name){
var method=ArrayProto[name];
wrapper.prototype[name]=function(){
var wrapped=this._wrapped;
method.apply(wrapped, arguments);
var length=wrapped.length;
if((name=='shift'||name=='splice')&&length===0) delete wrapped[0];
return result(wrapped, this._chain);
};});
each(['concat', 'join', 'slice'], function(name){
var method=ArrayProto[name];
wrapper.prototype[name]=function(){
return result(method.apply(this._wrapped, arguments), this._chain);
};});
wrapper.prototype.chain=function(){
this._chain=true;
return this;
};
wrapper.prototype.value=function(){
return this._wrapped;
};}).call(this);
try {
var initializedMV=0;
var pathCalendar;
function initMVCalCP(){
for (var i=0; i<100;i++){
try {
var tt=eval("cpmvc_configmultiview"+i);
if(tt){
(function($){
mvcconfig=$.parseJSON(tt.obj);
if(mvcconfig.params.otherparams){
mvcconfig.params.otherparams=mvcconfig.params.otherparams.replace(/#/g,'"');
eval("var others={"+mvcconfig.params.otherparams+"};");
mvcconfig.params=$.extend(mvcconfig.params, others);
}})(jQuery);
pathCalendar=cpmvc_ajax_object.url+"?cpmvc_do_action=mvparse&security="+cpmvc_ajax_object.nonce; //mvcconfig.ajax_url;
if(document.getElementById("cal"+mvcconfig.calendar+"_"+i)!==null){
initMultiViewCal("cal"+mvcconfig.calendar+"_"+i, mvcconfig.calendar,(mvcconfig.params));
initializedMV++;
}}
}catch (e){ }}
if(!initializedMV)
setTimeout('initMVCalCP()',1000);
}
initMVCalCP();
}catch (e){};
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=26)}({26:function(e,t){jQuery(document).ready((function(){jQuery(window).scroll((function(){var e=document.body.scrollTop||document.documentElement.scrollTop,t=document.documentElement.scrollHeight-document.documentElement.clientHeight;0===t&&(t=document.documentElement.scrollHeight);var n=e/t*100;jQuery(".eael-reading-progress-fill").css({width:n+"%"})}))}))}});
(()=>{"use strict";var e={d:(t,d)=>{for(var o in d)e.o(d,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:d[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};function d(e){"undefined"!=typeof document&&("complete"!==document.readyState&&"interactive"!==document.readyState?document.addEventListener("DOMContentLoaded",e):e())}e.d(t,{default:()=>d}),(window.wp=window.wp||{}).domReady=t.default})();
(()=>{"use strict";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{actions:()=>P,addAction:()=>A,addFilter:()=>m,applyFilters:()=>w,applyFiltersAsync:()=>I,createHooks:()=>h,currentAction:()=>x,currentFilter:()=>T,defaultHooks:()=>f,didAction:()=>j,didFilter:()=>z,doAction:()=>g,doActionAsync:()=>k,doingAction:()=>O,doingFilter:()=>S,filters:()=>Z,hasAction:()=>_,hasFilter:()=>v,removeAction:()=>p,removeAllActions:()=>F,removeAllFilters:()=>b,removeFilter:()=>y});const n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};const r=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};const o=function(t,e){return function(o,i,s,c=10){const l=t[e];if(!r(o))return;if(!n(i))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const a={callback:s,priority:c,namespace:i};if(l[o]){const t=l[o].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=a:t.splice(e,0,a),l.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex++}))}else l[o]={handlers:[a],runs:0};"hookAdded"!==o&&t.doAction("hookAdded",o,i,s,c)}};const i=function(t,e,o=!1){return function(i,s){const c=t[e];if(!r(i))return;if(!o&&!n(s))return;if(!c[i])return 0;let l=0;if(o)l=c[i].handlers.length,c[i]={runs:c[i].runs,handlers:[]};else{const t=c[i].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===i&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==i&&t.doAction("hookRemoved",i,s),l}};const s=function(t,e){return function(n,r){const o=t[e];return void 0!==r?n in o&&o[n].handlers.some((t=>t.namespace===r)):n in o}};const c=function(t,e,n,r){return function(o,...i){const s=t[e];s[o]||(s[o]={handlers:[],runs:0}),s[o].runs++;const c=s[o].handlers;if(!c||!c.length)return n?i[0]:void 0;const l={name:o,currentIndex:0};return(r?async function(){try{s.__current.add(l);let t=n?i[0]:void 0;for(;l.currentIndex<c.length;){const e=c[l.currentIndex];t=await e.callback.apply(null,i),n&&(i[0]=t),l.currentIndex++}return n?t:void 0}finally{s.__current.delete(l)}}:function(){try{s.__current.add(l);let t=n?i[0]:void 0;for(;l.currentIndex<c.length;){t=c[l.currentIndex].callback.apply(null,i),n&&(i[0]=t),l.currentIndex++}return n?t:void 0}finally{s.__current.delete(l)}})()}};const l=function(t,e){return function(){var n;const r=t[e],o=Array.from(r.__current);return null!==(n=o.at(-1)?.name)&&void 0!==n?n:null}};const a=function(t,e){return function(n){const r=t[e];return void 0===n?r.__current.size>0:Array.from(r.__current).some((t=>t.name===n))}};const u=function(t,e){return function(n){const o=t[e];if(r(n))return o[n]&&o[n].runs?o[n].runs:0}};class d{constructor(){this.actions=Object.create(null),this.actions.__current=new Set,this.filters=Object.create(null),this.filters.__current=new Set,this.addAction=o(this,"actions"),this.addFilter=o(this,"filters"),this.removeAction=i(this,"actions"),this.removeFilter=i(this,"filters"),this.hasAction=s(this,"actions"),this.hasFilter=s(this,"filters"),this.removeAllActions=i(this,"actions",!0),this.removeAllFilters=i(this,"filters",!0),this.doAction=c(this,"actions",!1,!1),this.doActionAsync=c(this,"actions",!1,!0),this.applyFilters=c(this,"filters",!0,!1),this.applyFiltersAsync=c(this,"filters",!0,!0),this.currentAction=l(this,"actions"),this.currentFilter=l(this,"filters"),this.doingAction=a(this,"actions"),this.doingFilter=a(this,"filters"),this.didAction=u(this,"actions"),this.didFilter=u(this,"filters")}}const h=function(){return new d},f=h(),{addAction:A,addFilter:m,removeAction:p,removeFilter:y,hasAction:_,hasFilter:v,removeAllActions:F,removeAllFilters:b,doAction:g,doActionAsync:k,applyFilters:w,applyFiltersAsync:I,currentAction:x,currentFilter:T,doingAction:O,doingFilter:S,didAction:j,didFilter:z,actions:P,filters:Z}=f;(window.wp=window.wp||{}).hooks=e})();
(()=>{var t={2058:(t,e,r)=>{var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,u,p,c,f,d=1,h=t.length,g="";for(n=0;n<h;n++)if("string"==typeof t[n])g+=t[n];else if("object"==typeof t[n]){if((s=t[n]).keys)for(r=e[d],o=0;o<s.keys.length;o++){if(null==r)throw new Error(a('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[o],s.keys[o-1]));r=r[s.keys[o]]}else r=s.param_no?e[s.param_no]:e[d++];if(i.not_type.test(s.type)&&i.not_primitive.test(s.type)&&r instanceof Function&&(r=r()),i.numeric_arg.test(s.type)&&"number"!=typeof r&&isNaN(r))throw new TypeError(a("[sprintf] expecting number but found %T",r));switch(i.number.test(s.type)&&(c=r>=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?g+=r:(!i.number.test(s.type)||c&&!s.sign?f="":(f=c?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(f+r).length,l=s.width&&p>0?u.repeat(p):"",g+=s.align?f+r+l:"0"===u?f+l+r:l+f+r)}return g}(function(t){if(s[t])return s[t];var e,r=t,n=[],a=0;for(;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{__:()=>F,_n:()=>j,_nx:()=>L,_x:()=>S,createI18n:()=>x,defaultI18n:()=>_,getLocaleData:()=>v,hasTranslation:()=>D,isRTL:()=>T,resetLocaleData:()=>w,setLocaleData:()=>m,sprintf:()=>a,subscribe:()=>k});var t=r(2058),e=r.n(t);const i=function(t,e){var r,n,i=0;function a(){var a,o,s=r,l=arguments.length;t:for(;s;){if(s.args.length===arguments.length){for(o=0;o<l;o++)if(s.args[o]!==arguments[o]){s=s.next;continue t}return s!==r&&(s===n&&(n=s.prev),s.prev.next=s.next,s.next&&(s.next.prev=s.prev),s.next=r,s.prev=null,r.prev=s,r=s),s.val}s=s.next}for(a=new Array(l),o=0;o<l;o++)a[o]=arguments[o];return s={args:a,val:t.apply(null,a)},r?(r.prev=s,s.next=r):n=s,i===e.maxSize?(n=n.prev).next=null:i++,r=s,s.val}return e=e||{},a.clear=function(){r=null,n=null,i=0},a}(console.error);function a(t,...r){try{return e().sprintf(t,...r)}catch(e){return e instanceof Error&&i("sprintf error: \n\n"+e.toString()),t}}var o,s,l,u;o={"(":9,"!":8,"*":7,"/":7,"%":7,"+":6,"-":6,"<":5,"<=":5,">":5,">=":5,"==":4,"!=":4,"&&":3,"||":2,"?":1,"?:":1},s=["(","?"],l={")":["("],":":["?","?:"]},u=/<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;var p={"!":function(t){return!t},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"+":function(t,e){return t+e},"-":function(t,e){return t-e},"<":function(t,e){return t<e},"<=":function(t,e){return t<=e},">":function(t,e){return t>e},">=":function(t,e){return t>=e},"==":function(t,e){return t===e},"!=":function(t,e){return t!==e},"&&":function(t,e){return t&&e},"||":function(t,e){return t||e},"?:":function(t,e,r){if(t)throw e;return r}};function c(t){var e=function(t){for(var e,r,n,i,a=[],p=[];e=t.match(u);){for(r=e[0],(n=t.substr(0,e.index).trim())&&a.push(n);i=p.pop();){if(l[r]){if(l[r][0]===i){r=l[r][1]||r;break}}else if(s.indexOf(i)>=0||o[i]<o[r]){p.push(i);break}a.push(i)}l[r]||p.push(r),t=t.substr(e.index+r.length)}return(t=t.trim())&&a.push(t),a.concat(p.reverse())}(t);return function(t){return function(t,e){var r,n,i,a,o,s,l=[];for(r=0;r<t.length;r++){if(o=t[r],a=p[o]){for(n=a.length,i=Array(n);n--;)i[n]=l.pop();try{s=a.apply(null,i)}catch(t){return t}}else s=e.hasOwnProperty(o)?e[o]:+o;l.push(s)}return l[0]}(e,t)}}var f={contextDelimiter:"",onMissingKey:null};function d(t,e){var r;for(r in this.data=t,this.pluralForms={},this.options={},f)this.options[r]=void 0!==e&&r in e?e[r]:f[r]}d.prototype.getPluralForm=function(t,e){var r,n,i,a=this.pluralForms[t];return a||("function"!=typeof(i=(r=this.data[t][""])["Plural-Forms"]||r["plural-forms"]||r.plural_forms)&&(n=function(t){var e,r,n;for(e=t.split(";"),r=0;r<e.length;r++)if(0===(n=e[r].trim()).indexOf("plural="))return n.substr(7)}(r["Plural-Forms"]||r["plural-forms"]||r.plural_forms),i=function(t){var e=c(t);return function(t){return+e({n:t})}}(n)),a=this.pluralForms[t]=i),a(e)},d.prototype.dcnpgettext=function(t,e,r,n,i){var a,o,s;return a=void 0===i?0:this.getPluralForm(t,i),o=r,e&&(o=e+this.options.contextDelimiter+r),(s=this.data[t][o])&&s[a]?s[a]:(this.options.onMissingKey&&this.options.onMissingKey(r,t),0===a?r:n)};const h={plural_forms:t=>1===t?0:1},g=/^i18n\.(n?gettext|has_translation)(_|$)/,x=(t,e,r)=>{const n=new d({}),i=new Set,a=()=>{i.forEach((t=>t()))},o=(t,e="default")=>{n.data[e]={...n.data[e],...t},n.data[e][""]={...h,...n.data[e]?.[""]},delete n.pluralForms[e]},s=(t,e)=>{o(t,e),a()},l=(t="default",e,r,i,a)=>(n.data[t]||o(void 0,t),n.dcnpgettext(t,e,r,i,a)),u=(t="default")=>t,p=(t,e,n)=>{let i=l(n,e,t);return r?(i=r.applyFilters("i18n.gettext_with_context",i,t,e,n),r.applyFilters("i18n.gettext_with_context_"+u(n),i,t,e,n)):i};if(t&&s(t,e),r){const t=t=>{g.test(t)&&a()};r.addAction("hookAdded","core/i18n",t),r.addAction("hookRemoved","core/i18n",t)}return{getLocaleData:(t="default")=>n.data[t],setLocaleData:s,addLocaleData:(t,e="default")=>{n.data[e]={...n.data[e],...t,"":{...h,...n.data[e]?.[""],...t?.[""]}},delete n.pluralForms[e],a()},resetLocaleData:(t,e)=>{n.data={},n.pluralForms={},s(t,e)},subscribe:t=>(i.add(t),()=>i.delete(t)),__:(t,e)=>{let n=l(e,void 0,t);return r?(n=r.applyFilters("i18n.gettext",n,t,e),r.applyFilters("i18n.gettext_"+u(e),n,t,e)):n},_x:p,_n:(t,e,n,i)=>{let a=l(i,void 0,t,e,n);return r?(a=r.applyFilters("i18n.ngettext",a,t,e,n,i),r.applyFilters("i18n.ngettext_"+u(i),a,t,e,n,i)):a},_nx:(t,e,n,i,a)=>{let o=l(a,i,t,e,n);return r?(o=r.applyFilters("i18n.ngettext_with_context",o,t,e,n,i,a),r.applyFilters("i18n.ngettext_with_context_"+u(a),o,t,e,n,i,a)):o},isRTL:()=>"rtl"===p("ltr","text direction"),hasTranslation:(t,e,i)=>{const a=e?e+""+t:t;let o=!!n.data?.[null!=i?i:"default"]?.[a];return r&&(o=r.applyFilters("i18n.has_translation",o,t,e,i),o=r.applyFilters("i18n.has_translation_"+u(i),o,t,e,i)),o}}},y=window.wp.hooks,b=x(void 0,void 0,y.defaultHooks),_=b,v=b.getLocaleData.bind(b),m=b.setLocaleData.bind(b),w=b.resetLocaleData.bind(b),k=b.subscribe.bind(b),F=b.__.bind(b),S=b._x.bind(b),j=b._n.bind(b),L=b._nx.bind(b),T=b.isRTL.bind(b),D=b.hasTranslation.bind(b)})(),(window.wp=window.wp||{}).i18n=n})();