/* Copyright (c) 2012. Adobe Systems Incorporated. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Adobe Systems Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ (function(a, b) { function c() {} var d = { version: 0.1, inherit: function(a, b) { var c = function() {}; c.prototype = b.prototype; a.prototype = new c; a.prototype.constructor = a; a.prototype._super = b }, ensureArray: function() { var b = [], c = arguments.length; c > 0 && (b = c > 1 || !a.isArray(arguments[0]) ? a.makeArray(arguments) : arguments[0]); return b }, scopedFind: function(b, c, d, h) { for (var d = " " + d + " ", j = [], b = a(b).find(c), c = b.length, h = a(h)[0], i = 0; i < c; i++) for (var l = b[i], m = l; m;) { if (m.className && (" " + m.className + " ").indexOf(d) !== -1) { m === h && j.push(l); break } m = m.parentNode } return a(j) } }; a.extend(c.prototype, { bind: function(b, c, d) { return a(this).bind(b, c, d) }, unbind: function(b, c) { return a(this).unbind(b, c) }, trigger: function(b, c) { var d = a.Event(b); a(this).trigger(d, c); return d } }); d.EventDispatcher = c; b.WebPro = d })(jQuery, window, document); (function(a, b) { var c = 1; b.ImageLoader = function(c) { b.EventDispatcher.call(); var f = this; this.options = a.extend({}, this.defaultOptions, c); this._currentEntry = null; this._queue = []; this._isRunning = this._needsSort = !1; this._loader = new Image; this._loadFunc = function() { f._handleLoad() }; this._loadErrorFunc = function() { f._handleError() }; this._timeoutFunc = function() { f.trigger("wp-image-loader-timeout", this._currentEntry); f._loadNext() } }; b.inherit(b.ImageLoader, b.EventDispatcher); a.extend(b.ImageLoader.prototype, { defaultOptions: { timeoutInterval: 1E3 }, add: function(d, f) { if (d) { urls = b.ensureArray(d); for (var g = 0; g < urls.length; g++) { var k = a.extend({ reqId: c++, src: urls[g], width: 0, height: 0, priority: 50, callback: null, data: null }, f); this._queue.push(k); this._needsSort = !0; this.trigger("wp-image-loader-add", k) } this._isRunning && !this._currentEntry && this._loadNext() } }, reprioritize: function(a, b) { if (!(this._currentEntry && this._currentEntry.src == a)) { var c; for (c = 0; c < this._queue.length; ++c) if (this._queue[c].src == a) break; if (c != 0 && c < this._queue.length) this._queue = this._queue.splice(c, b ? this._queue.length - c : 1).concat(this._queue) } }, start: function() { if (!this._isRunning) this._isRunning = !0, this._loadNext(), this.trigger("wp-image-loader-start") }, stop: function() { if (this._isRunning) this._currentEntry && this._queue.unshift(this._currentEntry), this._resetLoader(), this._isRunning = !1, this.trigger("wp-image-loader-stop") }, clearQueue: function() { var a = this._isRunning; this.stop(); this._queue.length = 0; a && this.start() }, isQueueEmpty: function() { return this._queue.length == 0 }, _loadNext: function() { var d; this._resetLoader(); var a = this._queue; if (a.length) { if (this._needsSort) d = this._queue = a.sort(function(a, b) { var c = a.priority - b.priority; return c ? c : a.reqId - b.reqId }), a = d, this._needsSort = !1; this._currentEntry = a = a.shift(); var b = this._loader; b.onload = this._loadFunc; b.onerror = this._loadErrorFunc; b.src = a.src } }, _resetLoader: function() { var a = this._loader; a.onload = null; a.onerror = null; this._currentEntry = a.src = null; if (this._timeoutTimerId) clearTimeout(this._timeoutTimerId), this._timeoutTimerId = 0 }, _handleLoad: function() { var a = this._loader, b = this._currentEntry; b.width = a.width; b.height = a.height; b.callback && b.callback(b.src, b.width, b.height, b.data); this.trigger("wp-image-loader-load-success", b); this._loadNext() }, _handleError: function() { this.trigger("wp-image-loader-load-error", this._currentEntry); this._loadNext() } }) })(jQuery, WebPro, window, document); (function(a, b) { function c() { b.EventDispatcher.call(this); this._initialize.apply(this, arguments) } b.inherit(c, b.EventDispatcher); a.extend(c.prototype, { defaultOptions: {}, _widgetName: "Widget", _initialize: function() { var b; this.plugins = []; var c = this.trigger("before-setup"); c.isDefaultPrevented() || (b = this._setUp.apply(this, arguments), this.trigger("setup")); c = this.trigger("before-init-plugins"); c.isDefaultPrevented() || (this._initializePlugins(b), this.trigger("init-plugins")); this.options = a.extend({}, this.defaultOptions, b); c = this.trigger("before-extract-data"); c.isDefaultPrevented() || (this._extractData(), this.trigger("extract-data")); c = this.trigger("before-transform-markup"); c.isDefaultPrevented() || (this._transformMarkup(), this.trigger("transform-markup")); c = this.trigger("before-attach-behavior"); c.isDefaultPrevented() || (this._attachBehavior(), this.trigger("attach-behavior")); c = this.trigger("before-ready"); c.isDefaultPrevented() || (this._ready(), this.trigger("ready")) }, _setUp: function(b, c) { this.$element = a(b); return c }, _initializePlugins: function(a) { for (var a = a || {}, b = ((typeof a.useDefaultPlugins === "undefined" || a.useDefaultPlugins) && this.defaultPlugins ? this.defaultPlugins : []).concat(a.plugins || []), b = b.sort(function(a, b) { a = typeof a.priority === "number" ? a.priority : 50; b = typeof b.priority === "number" ? b.priority : 50; return a - b }), c = 0; c < b.length; c++) { var k = b[c]; k && k.initialize && k.initialize(this, a) } this.plugins = b }, _extractData: function() {}, _transformMarkup: function() {}, _attachBehavior: function() {}, _ready: function() {} }); b.Widget = c; b.widget = function(c, f, g) { var k = g && f || b.Widget, g = g || f || {}, f = function() { k.apply(this, arguments); this._widgetName = c }; b.inherit(f, k); a.extend(f.prototype, g); f.prototype.defaultOptions = a.extend({}, k.prototype.defaultOptions, g.defaultOptions); var g = c.split("."), h = g.length; namespace = h > 1 && g[0] || "Widget"; c = g[h - 1]; b[namespace][c] = f } })(jQuery, WebPro, window, document); (function(a, b) { b.widget("Widget.Button", b.Widget, { defaultOptions: { hoverClass: "wp-button-hover", activeClass: "wp-button-down", disabledClass: "wp-button-disabled", disabled: !1, callback: null }, _attachBehavior: function() { var b = this, d = function(f) { b.mouseDown = !1; b.$element.removeClass(b.options.activeClass); !b.options.disabled && b.options.callback && b.options.callback.call(this, f); a(b.$element).off("mouseup", d) }; this.mouseDown = !1; this.$element.on("mouseover", function() { b.options.disabled || b.$element.addClass(b.options.hoverClass + (b.mouseDown ? " " + b.options.activeClass : "")) }).on("mouseleave", function() { b.$element.removeClass(b.options.hoverClass + " " + b.options.activeClass); a(b.$element).off("mouseup", d) }).on("mousedown", function() { if (!b.options.disabled) b.mouseDown = !0, b.$element.addClass(b.options.activeClass), a(b.$element).on("mouseup", d) }); this.disabled(this.options.disabled) }, disabled: function(a) { if (typeof a === "boolean") this.options.disabled = a, this.$element[a ? "addClass" : "removeClass"](this.options.disabledClass); return this.options.disabled } }); a.fn.wpButton = function(a) { this.each(function() { new b.Widget.Button(this, a) }); return this } })(jQuery, WebPro, window, document); (function(a, b) { b.widget("Widget.RadioGroup", b.Widget, { _widgetName: "radio-group", defaultOptions: { defaultIndex: 0, hoverClass: "wp-radio-hover", downClass: "wp-radio-down", disabledClass: "wp-radio-disabled", checkedClass: "wp-radio-checked", disabled: !1, toggleStateEnabled: !1 }, _attachBehavior: function() { var a = this; this.buttons = []; this.activeElement = null; this.activeIndex = -1; this.$element.each(function() { a.buttons.push(a._addButtonBehavior(this)) }); this.disabled(this.options.disabled) }, _addButtonBehavior: function(a) { var d = this, f = new b.Widget.Button(a, { hoverClass: this.options.hoverClass, downClass: this.options.downClass, disabledClass: this.options.disabledClass, callback: function(b) { return d._handleClick(b, f, a) } }); return f }, _handleClick: function(a, b, f) { this.options.disabled || this.checkButton(f) }, _getElementIndex: function(b) { return b ? a.inArray(b, this.$element.get()) : -1 }, _getElementByIndex: function(a) { return a >= 0 ? this.$element.eq(a)[0] : null }, _getElement: function(a) { return typeof a === "number" ? this._getElementByIndex(a) : a }, checkButton: function(b) { var b = this._getElement(b), d = this.activeElement, f = this.options.checkedClass; b !== d ? (d && a(d).removeClass(f), b && a(b).addClass(f)) : this.options.toggleStateEnabled && b && (a(b).removeClass(f), b = null); this.activeElement = b; this.activeIndex = this._getElementIndex(b) }, disabled: function(b) { if (typeof b === "boolean") this.disabled = b, a.each(this.buttons, function() { this.disabled(b) }); return this.options.disabled } }); a.fn.wpRadioGroup = function(a) { new b.Widget.RadioGroup(this, a); return this } })(jQuery, WebPro, window, document); (function(a, b) { b.widget("Widget.TabGroup", b.Widget.RadioGroup, { defaultOptions: { defaultIndex: 0, hoverClass: "wp-tab-hover", downClass: "wp-tab-down", disabledClass: "wp-tab-disabled", checkedClass: "wp-tab-active", disabled: !1, toggleStateEnabled: !1 }, selectTab: function(a) { this.checkButton(a) }, checkButton: function(a) { var b = this._getElement(a), f = this._getElementIndex(b), b = { tab: b, tabIndex: f }; this.trigger("wp-tab-before-select", b); this._super.prototype.checkButton.apply(this, arguments); this.trigger("wp-tab-select", b) } }); a.fn.wpTabGroup = function(a) { new b.Widget.TabGroup(this, a); return this } })(jQuery, WebPro, window, document); (function(a, b) { b.widget("Widget.PanelGroup", b.Widget, { _widgetName: "panel-group", defaultOptions: { defaultIndex: 0, panelClass: "wp-panel", activeClass: "wp-panel-active", toggleStateEnabled: !1, tabGroups: null }, _setUp: function() { var a = this; this.tabGroups = []; this._tabCallback = function(b, f) { a._handleTabSelect(b, f) }; this.showLock = 0; this.tabDriver = null; return this._super.prototype._setUp.apply(this, arguments) }, _attachBehavior: function() { this.activeElement = null; this.activeIndex = -1; this.$element.addClass(this.options.panelClass); var a = this.options.defaultIndex; typeof a === "number" && a >= 0 && this.showPanel(a); this.addTabGroup(this.options.tabGroups) }, _getElementIndex: function(b) { return b ? a.inArray(b, this.$element.get()) : -1 }, _getElementByIndex: function(a) { return this.$element.eq(a)[0] }, _getElement: function(a) { return typeof a === "number" ? this._getElementByIndex(a) : a }, showPanel: function(b) { if (!this.showLock) { ++this.showLock; var d = this._getElement(b), f = this.activeElement, g = this.options.activeClass; if (d) if (d !== f) { b = { panel: d, panelIndex: this._getElementIndex(d) }; this.trigger("wp-panel-before-show", b); f && this.hidePanel(f); a(d).addClass(g); this.activeElement = d; this.activeIndex = this._getElementIndex(d); d = this.tabGroups; for (f = 0; f < d.length; f++) g = d[f], g !== this.tabDriver && g.selectTab(this.activeIndex); this.trigger("wp-panel-show", b) } else this.options.toggleStateEnabled && this.hidePanel(d); --this.showLock } }, hidePanel: function(b) { if (b = typeof b === "number" ? this.$element.eq(b)[0] : b) { var d = { panel: b, panelIndex: this._getElementIndex(b) }; this.trigger("wp-panel-before-hide", d); a(b).removeClass(this.options.activeClass); if (b === this.activeElement) this.activeElement = null, this.activeIndex = -1; this.trigger("wp-panel-hide", d) } }, _handleTabSelect: function(a, b) { if (!this.showLock) this.tabDriver = a.target, this.showPanel(b.tabIndex), this.tabDriver = null }, addTabGroup: function(c) { if (c) for (var c = b.ensureArray(c), d = c.length, f = 0; f < d; f++) { var g = c[f]; a.inArray(this.tabGroups, g) === -1 && (this.tabGroups.push(g), g.selectTab(this.activeIndex), g.bind("wp-tab-select", this._tabCallback)) } }, removeTabGroup: function(c) { for (var c = b.ensureArray(c), d = c.length, f = 0; f < d; f++) { var g = c[f]; sets = this.tabGroups; loc = a.inArray(sets, g); loc !== -1 && sets.splice(loc, 1) } } }); a.fn.wpPanelGroup = function(a) { new b.Widget.PanelGroup(this, a); return this } })(jQuery, WebPro, window, document); (function(a, b) { b.widget("Widget.Disclosure", b.Widget, { defaultOptions: { widgetClassName: "wp-disclosure-panels", tabClassName: "wp-disclosure-panels-tab", tabHoverClassName: "wp-disclosure-panels-tab-hover", tabDownClassName: "wp-disclosure-panels-tab-down", panelClassName: "wp-disclosure-panels-panel", tabActiveClassName: "wp-disclosure-panels-tab-active", panelActiveClassName: "wp-disclosure-panels-panel-active", defaultIndex: 0, toggleStateEnabled: !1 }, _attachBehavior: function() { var a = this.$element[0], d = this.options.widgetClassName, f = b.scopedFind(a, "." + this.options.tabClassName, d, a), a = b.scopedFind(a, "." + this.options.panelClassName, d, a); this.tabs = new b.Widget.TabGroup(f, { hoverClass: this.options.tabHoverClassName, downClass: this.options.tabDownClassName, checkedClass: this.options.tabActiveClassName, toggleStateEnabled: this.options.toggleStateEnabled }); this.panels = new b.Widget.PanelGroup(a, { panelClass: this.options.panelClassName, activeClass: this.options.panelActiveClassName, defaultIndex: this.options.defaultIndex, toggleStateEnabled: this.options.toggleStateEnabled }); this.panels.addTabGroup(this.tabs) } }); b.widget("Widget.TabbedPanels", b.Widget.Disclosure, { defaultOptions: { widgetClassName: "wp-tabbed-panels-panels", tabClassName: "wp-tabbed-panels-panels-tab", tabHoverClassName: "wp-tabbed-panels-panels-tab-hover", tabDownClassName: "wp-tabbed-panels-panels-tab-down", tabActiveClassName: "wp-tabbed-panels-panels-tab-active", panelClassName: "wp-tabbed-panels-panels-panel", panelActiveClassName: "wp-tabbed-panels-panels-panel-active", toggleStateEnabled: !1 } }); b.widget("Widget.Accordion", b.Widget.Disclosure, { defaultOptions: { widgetClassName: "wp-accordion", tabClassName: "wp-accordion-tab", tabHoverClassName: "wp-accordion-tab-hover", tabDownClassName: "wp-accordion-tab-down", tabActiveClassName: "wp-accordion-tab-active", panelClassName: "wp-accordion-panel", panelActiveClassName: "wp-accordion-panel-active", toggleStateEnabled: !1 } }) })(jQuery, WebPro, window, document); (function(a, b) { b.Widget.Disclosure.DisplayPropertyTransitionPlugin = { defaultOptions: {}, initialize: function(b, d) { var f = this; a.extend(d, a.extend({}, f.defaultOptions, d)); b.bind("attach-behavior", function() { f._attachBehavior(b) }) }, _attachBehavior: function(a) { var a = a.panels, b = a.$element, f = a.activeIndex; a.bind("wp-panel-show", function(a, b) { b.panel.style.display = "block" }); a.bind("wp-panel-hide", function(a, b) { b.panel.style.display = "none" }); b.each(function(a) { this.style.display = a !== f ? "none" : "block" }) } }; b.Widget.Disclosure.AccordionTransitionPlugin = { defaultOptions: { transitionDirection: "vertical", transitionDuration: 500, dispatchTransitionEvents: !0 }, initialize: function(b, d) { var f = this; a.extend(d, a.extend({}, f.defaultOptions, d)); b.bind("attach-behavior", function() { f._attachBehavior(b) }) }, _attachBehavior: function(b) { var d = this, f = b.panels, g = f.$element, k = f.activeIndex, h = b.options.transitionDirection, j = b.options.widgetClassName === "AccordionWidget" ? a(g[0]).closest("*[data-rotate]") : null; if (j && j.length > 0) b.options.marginBottom = Muse.Utils.getCSSIntValue(j, "margin-bottom"), b.options.originalHeight = j[0].scrollHeight; b.options.rotatedAccordion = j; f.bind("wp-panel-show", function(a, g) { d._showPanel(b, g) }); f.bind("wp-panel-hide", function(a, g) { d._hidePanel(b, g) }); g.each(function(b) { if (b !== k) { a(this).css("overflow", "hidden"); if (h === "vertical" || h === "both") this.style.height = "0"; if (h === "horizontal" || h === "both") this.style.width = "0" } }) }, _updateMarginBottomForRotatedAccordion: function(a) { a.options.rotatedAccordion.css("margin-bottom", Math.round(a.options.marginBottom - (a.options.rotatedAccordion[0].scrollHeight - a.options.originalHeight)) + "px") }, _transitionPanel: function(b, d, f) { a("body").trigger("wp-page-height-change", d - b); if ((b = f.options.rotatedAccordion) && b.length > 0) { if (f.options.originalHeight == 0 && "undefined" !== typeof d) f.options.marginBottom = Muse.Utils.getCSSIntValue(b, "margin-bottom"), f.options.originalHeight = b[0].scrollHeight; this._updateMarginBottomForRotatedAccordion(f) } }, _showPanel: function(b, d) { var f = b.options, g = f.transitionDirection, k = a(d.panel), h = {}, j = f.dispatchTransitionEvents, i = this, l = k.height(), m = function(a) { a = parseInt(a.elem.style.height); i._transitionPanel(l, a, b); l = a }; if (g === "vertical" || g === "both") h.height = k[0].scrollHeight + "px"; if (g === "horizontal" || g === "both") h.width = k[0].scrollWidth + "px"; k.stop(!0, !0).queue("animationFrameFx", a.animationFrameFx).animate(h, { duration: f.transitionDuration, progress: j ? m : null, queue: "animationFrameFx", complete: function() { var a = { overflow: "" }; if (g === "vertical" || g === "both") a.height = "auto"; if (g === "horizontal" || g === "both") a.width = "auto"; k.css(a); (a = b.options.rotatedAccordion) && a.length > 0 && i._updateMarginBottomForRotatedAccordion(b) } }).dequeue("animationFrameFx") }, _hidePanel: function(b, d) { var f = b.options, g = f.transitionDirection, k = a(d.panel), h = {}, j = f.dispatchTransitionEvents, i = this, l = k.height(), m = function(a) { a = parseInt(a.elem.style.height); i._transitionPanel(l, a, b); l = a }; if (g === "vertical" || g === "both") h.height = "0"; if (g === "horizontal" || g === "both") h.width = "0"; k.stop(!0, !0).queue("animationFrameFx", a.animationFrameFx).animate(h, { duration: f.transitionDuration, queue: "animationFrameFx", progress: j ? m : null, complete: function() { k.css("overflow", "hidden"); var a = b.options.rotatedAccordion; a && a.length > 0 && i._updateMarginBottomForRotatedAccordion(b) } }).dequeue("animationFrameFx") } } })(jQuery, WebPro, window, document); (function(a, b) { b.widget("Widget.SlideShowBase", b.Widget, { _widgetName: "slideshow-base", defaultOptions: { displayInterval: 6E3, autoPlay: !1, loop: !0, playOnce: !1 }, _setUp: function() { var a = this; this._ssTimer = 0; this._ssTimerTriggered = !1; this._ssTimerCallback = function() { a._ssTimerTriggered = !0; a.next(); a._ssTimerTriggered = !1 }; return b.Widget.prototype._setUp.apply(this, arguments) }, _ready: function() { this.options.autoPlay && this.play() }, play: function(a) { e = this.trigger("wp-slideshow-before-play"); e.isDefaultPrevented() || (this._startTimer(!1, a), this.trigger("wp-slideshow-play")) }, stop: function() { e = this.trigger("wp-slideshow-before-stop"); e.isDefaultPrevented() || (this._stopTimer(), this.trigger("wp-slideshow-stop")) }, isPlaying: function() { return this._ssTimer !== 0 }, _startTimer: function(a, b) { this._stopTimer(); var f = b ? 0 : this.options.displayInterval; a && (f += this.options.transitionDuration); this._ssTimer = setTimeout(this._ssTimerCallback, f) }, _stopTimer: function() { this._ssTimer && clearTimeout(this._ssTimer); this._ssTimer = 0 }, _executeCall: function(a, b) { e = this.trigger("wp-slideshow-before-" + a); e.isDefaultPrevented() || (this["_" + a].apply(this, b) && this.stop(), this.isPlaying() && this._startTimer(!0), this.trigger("wp-slideshow-" + a)) }, first: function() { return this._executeCall("first", arguments) }, last: function() { return this._executeCall("last", arguments) }, previous: function() { return this._executeCall("previous", arguments) }, next: function() { return this._executeCall("next", arguments) }, goTo: function() { return this._executeCall("goTo", arguments) }, close: function() { return this._executeCall("close", arguments) }, _first: function() {}, _last: function() {}, _previous: function() {}, _next: function() {}, _goTo: function() {}, _close: function() {} }) })(jQuery, WebPro, window, document); (function(a, b) { b.widget("Widget.ContentSlideShow", b.Widget.SlideShowBase, { _widgetName: "content-slideshow", defaultOptions: { slideshowClassName: "wp-slideshow", clipClassName: "wp-slideshow-clip", viewClassName: "wp-slideshow-view", slideClassName: "wp-slideshow-slide", slideLinkClassName: "wp-slideshow-slide-link", firstBtnClassName: "wp-slideshow-first-btn", lastBtnClassName: "wp-slideshow-last-btn", prevBtnClassName: "wp-slideshow-prev-btn", nextBtnClassName: "wp-slideshow-next-btn", playBtnClassName: "wp-slideshow-play-btn", stopBtnClassName: "wp-slideshow-stop-btn", closeBtnClassName: "wp-slideshow-close-btn", playingClassName: "wp-slideshow-playing" }, _findWidgetElements: function(a) { var d = this.$element[0]; return b.scopedFind(d, a, this.options.slideshowClassName, d) }, _attachBtnHandler: function(a, b) { var f = this; this["$" + b + "Btn"] = this._findWidgetElements("." + a).bind("click", function(a) { f[b](); a.preventDefault() }) }, _getAjaxSrcForImage: function(a) { return a.data("src") }, _reprioritizeImageLoadingIfRequired: function(b) { !this._isLoaded(b) && this._cssilLoader && !this._cssilLoader.isQueueEmpty() && (b = a(this.slides.$element[b]), this._cssilLoader.reprioritize(this._getAjaxSrcForImage(b.is("img") ? b : b.find("img")), this.isPlaying())) }, _attachBehavior: function() { var a = this, d = this.options; this._super.prototype._attachBehavior.call(this); this._panelShowCallback = function() { a._ssTimerTriggered || a.isPlaying() && a._startTimer(!1) }; this.$element.addClass(d.slideshowClassName); var f = this._findWidgetElements("." + d.slideClassName), g = this._findWidgetElements("." + d.slideLinkClassName), k = d.event === "click" && d.deactivationEvent === "mouseout_click"; this.slides = new b.Widget.PanelGroup(f, { defaultIndex: d.defaultIndex || 0, toggleStateEnabled: k }); this.slides.bind("wp-panel-show", this._panelShowCallback); this.tabs = null; if (g.length) this.tabs = new b.Widget.TabGroup(g, { defaultIndex: d.defaultIndex || 0, toggleStateEnabled: k }), this.slides.addTabGroup(this.tabs); this.slides.bind("wp-panel-before-show", function(b, g) { a._reprioritizeImageLoadingIfRequired(g.panelIndex) }); this._attachBtnHandler(d.firstBtnClassName, "first"); this._attachBtnHandler(d.lastBtnClassName, "last"); this._attachBtnHandler(d.prevBtnClassName, "previous"); this._attachBtnHandler(d.nextBtnClassName, "next"); this._attachBtnHandler(d.playBtnClassName, "play"); this._attachBtnHandler(d.stopBtnClassName, "stop"); this._attachBtnHandler(d.closeBtnClassName, "close"); this.bind("wp-slideshow-play", function() { this.$element.addClass(d.playingClassName) }); this.bind("wp-slideshow-stop", function() { this.$element.removeClass(d.playingClassName) }) }, _first: function() { this.slides.showPanel(0) }, _last: function() { var a = this.slides; a.showPanel(a.$element.length - 1) }, _previous: function() { var a = this.slides, b = a.$element.length, f = a.activeIndex, b = (f < 1 ? b : f) - 1; !this.options.loop && 0 == f ? this.isPlaying() && this.stop() : a.showPanel(b) }, _next: function() { var a = this.slides, b = a.activeIndex, f = (b + 1) % a.$element.length; !this.options.loop && 0 == f ? this.isPlaying() && this.stop() : this.options.playOnce && 0 == f && this.isPlaying() ? this.stop() : (!this.isPlaying() || this._isLoaded(b) && this._isLoaded(f)) && a.showPanel(f) }, _goTo: function() { var a = this.slides; a.showPanel.apply(a, arguments) }, _close: function() { var a = this.slides; a.hidePanel(a.activeElement) }, _isLoaded: function(b) { if (this._csspIsImageSlideShow && (b = a(this.slides.$element[b]), b = b.is("img") ? b : b.find("img"), b.length > 0 && (b.hasClass(this.options.imageIncludeClassName) || !b[0].complete))) return !1; return !0 } }) })(jQuery, WebPro, window, document); (function(a, b, c, d, f) { b.Widget.ContentSlideShow.fadingTransitionPlugin = { defaultOptions: { transitionDuration: 500 }, initialize: function(b, c) { var d = this; a.extend(c, a.extend({}, d.defaultOptions, c)); b.bind("attach-behavior", function() { d.attachBehavior(b) }) }, attachBehavior: function(b) { var k = this, h = b.slides, j = h.$element, i = h.activeIndex, l = b._findWidgetElements("." + b.options.viewClassName); h.bind("wp-panel-show", function(c, d) { k._showElement(b, a(d.panel)); b.options.contentLayout_runtime === "stack" && k._showElement(b, b.$closeBtn) }).bind("wp-panel-hide", function(c, d) { k._hideElement(b, a(d.panel)) }); b.options.contentLayout_runtime === "stack" && b.bind("wp-slideshow-close", function() { k._hideElement(b, b.$closeBtn) }); for (var m = 0; m < j.length; m++) if (m !== i) j[m].style.display = "none"; if (b.options.elastic === "fullWidth") { var o = a(c), q = a(d.body), p = function(c) { c === f && (c = Math.max(o.width(), parseInt(q.css("min-width")))); b.options.contentLayout_runtime !== "lightbox" && l.css("left", l.position().left - l.offset().left); l.width(c); k._showElement(b, a(h.activeElement)) }; p(); for (m = 0; m < j.length; m++) { var n = a(j[m]); n.width("100%"); n.addClass("borderbox") } if (b.options.contentLayout_runtime === "lightbox") b._fstpPositionSlides = p; else o.on("orientationchange resize", function() { p() }) } i === -1 && b.options.contentLayout_runtime === "stack" && b.$closeBtn.hide(); if (Muse.Browser.Features.Touch && b.options.enableSwipe === !0) { var s = b.options.transitionDuration; b._ftpSwipeNoInterrupt = !1; j.each(function() { var c = a(this); c.data("opacity", c.css("opacity")); var d = Muse.Utils.getCanvasDirection(c, "horizontal"), f = d.dir === "horizontal", h = d.reverse; c.swipe({ triggerOnTouchEnd: !0, allowPageScroll: f ? "vertical" : "horizontal", threshold: 75, swipeStatus: function(a, c, d, i) { b.stop(); if (c == "move" && (f && (d == "left" || d == "right") || !f && (d == "up" || d == "down"))) k._scrollTo(b, -1, i * (!h && (d == "left" || d == "up") || h && (d == "right" || d == "down") ? 1 : -1), 0); else if (c == "cancel") k._scrollTo(b, b.slides.activeIndex, 0, s); else if (c == "end") { a = b.slides.activeIndex; c = -1; if (f && (d == "right" && !h || d == "left" && h) || !f && (d == "down" && !h || d == "up" && h)) c = a - 1 < 0 ? j.length - 1 : a - 1; else if (f && (d == "left" && !h || d == "right" && h) || !f && (d == "up" && !h || d == "down" && h)) c = a + 1 > j.length - 1 ? 0 : a + 1; c != -1 && k._scrollTo(b, c, 0, s) } } }) }) } }, _showElement: function(a, b) { var c = !1, d = function() { c || (c = !0, b.show().css("opacity", "")) }, f = setTimeout(d, a.options.transitionDuration + 10); b.stop(!1, !0).fadeIn(a.options.transitionDuration, function() { clearTimeout(f); d() }) }, _hideElement: function(a, b) { var c = !1, d = function() { c || (c = !0, b.hide().css("opacity", "")) }, f = setTimeout(d, a.options.transitionDuration + 10); b.stop(!1, !0).fadeOut(a.options.transitionDuration, function() { clearTimeout(f); d() }) }, _scrollTo: function(b, c, d, f) { if (!b._ftpSwipeNoInterrupt) { var i = b.slides.$element, l = b.slides.activeIndex, m = c == -1; c == -1 && (c = d < 0 ? l - 1 < 0 ? i.length - 1 : l - 1 : l + 1 > i.length - 1 ? 0 : l + 1); var o = a(i[l]), q = a(i[c]); if (!m && d == 0 || l == c) { b._ftpSwipeNoInterrupt = !0; var p = 0, n = !1, s = function() { if (!n && (n = !0, q.show().css("opacity", ""), c != l && b.slides.showPanel(c), ++p == i.length)) b._ftpSwipeNoInterrupt = !1 }; if (q.css("opacity") != q.data("opacity")) { var v = setTimeout(s, f + 10); q.stop(!1, !0).animate({ opacity: q.data("opacity") }, f, function() { clearTimeout(v); s() }) } else s(); i.each(function(d) { var h = a(this), o = !1, l = function() { if (!o && (o = !0, h.hide().css("opacity", ""), ++p == i.length)) b._ftpSwipeNoInterrupt = !1 }, q; d != c && (h.css("display") != "none" && h.css("opacity") != 0 ? (q = setTimeout(l, f + 10), h.stop(!1, !0).animate({ opacity: 0 }, f, function() { clearTimeout(q); l() })) : l()) }) } else d = Math.abs(d), m = o.width(), d > m && (d = m), d = q.data("opacity") * (d / m), m = o.data("opacity") * (1 - d), o.stop(!1, !0).animate({ opacity: m }, f), q.stop(!1, !0).show().animate({ opacity: d }, f) } } }; b.Widget.ContentSlideShow.filmstripTransitionPlugin = { defaultOptions: { transitionDuration: 500, transitionStyle: "horizontal" }, initialize: function(b, c) { var d = this; a.extend(c, a.extend({}, d.defaultOptions, c)); b.bind("attach-behavior", function() { d.attachBehavior(b) }) }, attachBehavior: function(b) { var k = this, h = a(c), j = a(d.body), i = function() { return l.elastic === "fullWidth" ? Math.max(h.width(), parseInt(j.css("min-width"))) : p.width() }, l = b.options, m = l.transitionStyle === "horizontal", o = b.slides, q = o.$element, p = b._findWidgetElements("." + l.clipClassName), n = b._findWidgetElements("." + l.viewClassName), s = i(), v = p.height(), x = { top: "0", left: "0" }, y = p.css("position"); y !== "absolute" && y !== "fixed" && l.elastic !== "fullScreen" && p.css("position", "relative"); n.css("position") !== "absolute" && (x.position = "relative"); b._fstp$Clip = p; b._fstp$View = n; b._fstpStyleProp = m ? "left" : "top"; b._fstpStylePropZero = m ? "top" : "left"; o.bind("wp-panel-show", function(a, c) { k._goToSlide(b, c.panel, l.transitionDuration); b.options.contentLayout_runtime === "stack" && b.$closeBtn.stop(!0).fadeIn(l.transitionDuration) }); b.options.contentLayout_runtime === "stack" && b.bind("wp-slideshow-close", function() { p.css({ opacity: 0.99 }).stop(!0).animate({ opacity: 0 }, { queue: !1, duration: l.transitionDuration, complete: function() { x[b._fstpStyleProp] = (m ? p.width() : p.height()) + "px"; x[b._fstpStylePropZero] = "0"; n.css(x); p.css({ opacity: "" }) } }); b.$closeBtn.stop(!0).fadeOut(l.transitionDuration) }); b._fstpRequestType = null; b.bind("wp-slideshow-before-previous wp-slideshow-before-next", function(a) { b._fstpRequestType = a.type.replace(/.*-/, ""); b._fstpOldActiveIndex = b.slides.activeIndex }).bind("wp-slideshow-previous wp-slideshow-next", function() { b._fstpRequestType = null; b._fstpOldActiveIndex = -1 }); var F = function(a, c) { if (a === f || c === f) a = i(), c = p.height(); l.elastic === "fullWidth" && (c = p.height(), p.width(a), l.contentLayout_runtime !== "lightbox" && p.css("left", p.position().left - p.offset().left), n.width(a)); for (var d = 0, h = m ? a : c, j = b._fstpStyleProp, s = b._fstpStylePropZero, v = 0; v < q.length; v++) { var u = q[v].style; u[s] = "0"; u[j] = d + "px"; u.margin = "0"; u.position = "absolute"; d += h } k._goToSlide(b, o.activeElement, 0); return d }, y = F(); if (l.elastic === "fullWidth") for (var u = 0; u < q.length; u++) { var C = a(q[u]); C.width("100%"); C.addClass("borderbox") } if (l.elastic !== "off") if (l.contentLayout_runtime === "lightbox") b._fstpPositionSlides = F; else h.on("orientationchange resize", function() { F() }); else x[m ? "width" : "height"] = y + "px", x[m ? "height" : "width"] = (m ? v : s) + "px"; o.activeElement || (x[b._fstpStyleProp] = (m ? s : v) + "px", x[b._fstpStylePropZero] = "0", b.options.contentLayout_runtime === "stack" && b.$closeBtn.hide()); x.overflow = "visible"; n.css(x); k._goToSlide(b, o.activeElement, l.transitionDuration) }, _goToSlide: function(b, c, d) { if (b) { var f = a(c), i = b._fstp$View, l = b._fstpStyleProp, m = l === "left" ? "offsetLeft" : "offsetTop", o = l === "left" ? "offsetWidth" : "offsetHeight", q = c ? -c[m] : b._fstp$Clip[0][o], p = {}; p[l] = q + "px"; var n = b._fstpRequestType, s = b._fstpOldActiveIndex; if (n && s !== -1) { var v = b.slides.activeIndex, x = b.slides.$element.length - 1; if (v !== s) { var y = 0; n === "previous" && s === 0 && v === x ? y = -c[o] : n === "next" && s === x && v === 0 && (b = b.slides.$element[s], y = b[m] + b[o]); y && (p[l] = -y + "px", f.css(l, y + "px")) } } i.stop(!1, !0).animate(p, d, function() { y && (f.css(l, -q + "px"), i.css(l, q + "px")) }) } } }; b.Widget.ContentSlideShow.alignPartsToPagePlugin = { defaultOptions: { alignPartToPageClassName: "wp-slideshow-align-part-to-page" }, initialize: function(b, c) { var d = this; a.extend(c, a.extend({}, d.defaultOptions, c)); b.bind("attach-behavior", function() { d.attachBehavior(b) }) }, attachBehavior: function(b) { if (!("fullWidth" !== b.options.elastic || !b.$element.hasClass("align_parts_to_page") || "fixed" !== b.$element.css("position") || b.options.contentLayout_runtime === "lightbox")) { var d = a(c), f = a("#page"), j = b.options, i = function() { var c = f.offset().left + "px"; a("." + j.alignPartToPageClassName, b.$element).each(function() { a(this).css("margin-left", c) }) }; b.$element.children().each(function() { var b = a(this); 0 < a("." + j.viewClassName, b).length || b.addClass(j.alignPartToPageClassName) }); i(); d.on("orientationchange resize", function() { i() }) } } }; b.Widget.ContentSlideShow.swipeTransitionPlugin = { defaultOptions: { transitionDuration: 500, transitionStyle: "horizontal" }, initialize: function(b, c) { var d = this; a.extend(c, a.extend({}, d.defaultOptions, c)); b.bind("attach-behavior", function() { d.attachBehavior(b) }) }, attachBehavior: function(b) { var k = this, h = a(c), j = a(d.body), i = function() { return l.elastic === "fullWidth" ? Math.max(h.width(), parseInt(j.css("min-width"))) : p.width() }, l = b.options, m = l.transitionStyle === "horizontal", o = b.slides, q = o.$element, p = b._findWidgetElements("." + l.clipClassName), n = b._findWidgetElements("." + l.viewClassName), s = i(), v = p.height(), x = function(a, b) { if (a === f || b === f) a = i(), b = p.height(); return m ? a : b }, y = x(); viewProps = { top: "0", left: "0" }; p.css("position") !== "absolute" && l.elastic !== "fullScreen" && p.css("position", "relative"); n.css("position") !== "absolute" && (viewProps.position = "relative"); b._fstp$Clip = p; b._fstp$View = n; b._fstpStyleProp = m ? "left" : "top"; b._fstpStylePropZero = m ? "top" : "left"; o.bind("wp-panel-show", function() { var a = b.slides.activeIndex * x(), c = b.options.transitionDuration; a == 0 && b.slides.activeIndex == 0 && !l.shuffle && b.isPlaying() && (c = 0); k._scrollTo(b, a, c); b.options.contentLayout_runtime === "stack" && b.$closeBtn.stop(!0).fadeIn(c) }); b.options.contentLayout_runtime === "stack" && b.bind("wp-slideshow-close", function() { p.css({ opacity: 0.99 }).stop(!0).animate({ opacity: 0 }, { queue: !1, duration: l.transitionDuration, complete: function() { k._scrollTo(b, -x(), 0); p.css({ opacity: "" }) } }); b.$closeBtn.stop(!0).fadeOut(b.options.transitionDuration) }); b._fstpRequestType = null; b.bind("wp-slideshow-before-previous wp-slideshow-before-next", function(a) { b._fstpRequestType = a.type.replace(/.*-/, ""); b._fstpOldActiveIndex = b.slides.activeIndex }).bind("wp-slideshow-previous wp-slideshow-next", function() { b._fstpRequestType = null; b._fstpOldActiveIndex = -1 }); var F = function(a, c) { if (a === f || c === f) a = i(), c = p.height(); l.elastic === "fullWidth" && (c = p.height(), p.width(a), l.contentLayout_runtime !== "lightbox" && p.css("left", p.position().left - p.offset().left), n.width(a)); for (var d = 0, h = m ? a : c, j = b._fstpStyleProp, s = b._fstpStylePropZero, v = 0; v < q.length; v++) { var r = q[v].style; r[s] = "0"; r[j] = d + "px"; r.margin = "0"; r.position = "absolute"; d += h } n.css(m ? "width" : "height", d); k._scrollTo(b, o.activeIndex * h, 0); return d }, u = F(); if (l.elastic === "fullWidth") for (var C = 0; C < q.length; C++) { var z = a(q[C]); z.width("100%"); z.addClass("borderbox") } if (l.elastic !== "off") if (l.lightboxEnabled_runtime) b._fstpPositionSlides = F; else h.on("orientationchange resize", function() { F() }); else viewProps[m ? "width" : "height"] = u + "px", viewProps[m ? "height" : "width"] = (m ? v : s) + "px"; viewProps.overflow = "visible"; n.css(viewProps); var s = Muse.Utils.getCanvasDirection(n, l.transitionStyle), r = s.dir === "horizontal", E = s.reverse, M = b.options.transitionDuration; n.swipe({ triggerOnTouchEnd: !0, allowPageScroll: r ? "vertical" : "horizontal", threshold: 75, swipeStatus: function(a, c, d, f) { b.stop(); y = x(); if (c == "move" && (r && (d == "left" || d == "right") || !r && (d == "up" || d == "down"))) d = y * b.slides.activeIndex + f * (!E && (d == "left" || d == "up") || E && (d == "right" || d == "down") ? 1 : -1), k._scrollTo(b, d, 0); else if (c == "cancel") d = y * b.slides.activeIndex, k._scrollTo(b, d, M); else if (c == "end") { a = -1; if (r && (d == "right" && !E || d == "left" && E) || !r && (d == "down" && !E || d == "up" && E)) a = Math.max(b.slides.activeIndex - 1, 0); else if (r && (d == "left" && !E || d == "right" && E) || !r && (d == "up" && !E || d == "down" && E)) a = Math.min(b.slides.activeIndex + 1, n.children().length - 1); a != -1 && (d = y * a, k._scrollTo(b, d, M), a != b.slides.activeIndex && b.slides.showPanel(a)) } } }); o.activeElement ? (s = o.activeIndex * y, k._scrollTo(b, s, 0)) : (k._scrollTo(b, -y, 0), b.options.contentLayout_runtime === "stack" && b.$closeBtn.hide()) }, _scrollTo: function(a, b, c) { var g; var d = Muse.Browser.Features.checkCSSFeature("transition-duration"), f = Muse.Browser.Features.checkCSSFeature("transform"); if (!(d === !1 || f === !1)) { var l = a._fstp$View.get(0); l.style[(d === !0 ? "" : "-" + d.toLowerCase() + "-") + "transition-duration"] = (c / 1E3).toFixed(1) + "s"; b = -b; g = (c = a.options.transitionStyle === "horizontal") ? b : 0, a = g; b = c ? 0 : b; f = (f === !0 ? "" : "-" + f.toLowerCase() + "-") + "transform"; c = "translate3d(" + a + "px, " + b + "px, 0px)"; d = l.style[f]; l.style[f] = c; l.style[f] === d && d !== c && (l.style[f] = "translate(" + a + "px, " + b + "px)") } } }; b.Widget.ContentSlideShow.slideImageIncludePlugin = { defaultOptions: { imageIncludeClassName: "wp-slideshow-slide-image-include", slideLoadingClassName: "wp-slideshow-slide-loading" }, initialize: function(c, d) { var f = this; a.extend(d, a.extend({}, f.defaultOptions, d)); c._cssilLoader = new b.ImageLoader; c.bind("attach-behavior", function() { f._attachBehavior(c) }) }, _attachBehavior: function(a) { for (var b = this, c = a._cssilLoader, d = a._findWidgetElements("." + a.options.slideClassName), f = d.length, l = "." + a.options.imageIncludeClassName, m = a.options.slideLoadingClassName, o = function(c, d, f, h) { b._handleImageLoad(a, c, d, f, h) }, q = 0; q < f; q++) { var p = d.eq(a._shuffleArray ? a._shuffleArray[q] : q), n = p.is("img") ? p : p.find(l), s = n[0]; if (s) { var v = a._getAjaxSrcForImage(n) || s.href; if (v) n = { width: n.data("width"), height: n.data("height"), $ele: n, $slide: p }, s.style.visibility = "hidden", c.add(v, { callback: o, data: n }), p.addClass(m) } } a._cssilLoader.start() }, _handleImageLoad: function(a, b, c, d, f) { var l = f.$ele, m = l[0]; m.src = b; a.options.elastic !== "off" ? (l.data("imageWidth", c), l.data("imageHeight", d), a._csspPositionImage(m, a.options.heroFitting, a.options.elastic, c, d)) : (m.width = f.width || c, m.height = f.height || d); m.style.visibility = ""; l.removeClass(a.options.imageIncludeClassName); f.$slide.removeClass(a.options.slideLoadingClassName); a.isPlaying() && a.slides.$element[a.slides.activeIndex] == f.$slide[0] && a._startTimer(!1) } }; b.Widget.ContentSlideShow.shufflePlayPlugin = { defaultOptions: { randomDefaultIndex: !0 }, initialize: function(b, c) { var d = this; a.extend(c, a.extend({}, d.defaultOptions, c)); b._shuffleArray = []; b._shuffleNextDict = {}; b._realNext = b._next; b._next = function() { d._handleNext(b) }; b._shufflePlayCount = 1; b.bind("before-attach-behavior", function() { d._reshuffle(b); if (c.randomDefaultIndex && typeof c.defaultIndex === "undefined") b.options.defaultIndex = b._shuffleArray[0] }) }, _fisherYatesArrayShuffle: function(a) { if (a && a.length) for (var b = a.length; --b;) { var c = Math.floor(Math.random() * (b + 1)), d = a[c]; a[c] = a[b]; a[b] = d } }, _reshuffle: function(a) { var b = a._shuffleArray, c = {}, d = a.slides ? a.slides.$element.length : a._findWidgetElements("." + a.options.slideClassName).length; if (b.length !== d) for (var f = b.length = 0; f < d; f++) b[f] = f; this._fisherYatesArrayShuffle(b); for (f = 0; f < d; f++) c[b[f]] = b[(f + 1) % d]; a._shuffleNextDict = c; a._shufflePlayCount = 1 }, _handleNext: function(a) { if (a.isPlaying()) { var b = a.slides.activeIndex, c = a._shuffleNextDict[b] || 0; a._isLoaded(b) && a._isLoaded(c) && (a._goTo(c), ++a._shufflePlayCount >= a.slides.$element.length && (this._reshuffle(a), (!a.options.loop || a.options.playOnce) && a.stop())) } else a._realNext() } } })(jQuery, WebPro, window, document); (function(a, b, c) { b.widget("Widget.Form", b.Widget, { _widgetName: "form", defaultOptions: { validationEvent: "blur", errorStateSensitivity: "low", ajaxSubmit: !0, fieldWrapperClass: "field", formErrorClass: "form-error", formSubmittedClass: "form-submitted", formDeliveredClass: "form-delivered", focusClass: "focus", notEmptyClass: "not-empty", emptyClass: "empty", validClass: "valid", invalidClass: "invalid", requiredClass: "required" }, validationTypes: { "always-valid": /.*/, email: /^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, alpha: /^[A-z\s]+$/, numeric: /^[0-9]+$/, phone: /^([0-9])?(\s)?(\([0-9]{3}\)|[0-9]{3}(\-)?)(\s)?[0-9]{3}(\s|\-)?[0-9]{4}(\s|\sext|\sx)?(\s)?[0-9]*$/, captcha: function(a) { return a.data("captchaValid") }, recaptcha: function() { if ("undefined" == typeof Recaptcha) return !1; var a = Recaptcha.get_response(); return a && 0 < a.length }, checkbox: function() { return !0 }, time: function(a) { var a = a.find("input, textarea"), b = a.val().replace(/[^0-9:APM]/g, ""); if (b.indexOf(":") != -1 && b.match(/:/).length == 1) { var c = b.split(":"), k = parseInt(c[0]), c = parseInt(c[1]); if (k < 0 || k > 24) return !0; if (c < 0 || c > 59) return !0 } else return !1; a.val(b); return !0 } }, _transformMarkup: function() { var b = this; b.hasCAPTCHA = !1; b.hasReCAPTCHA = !1; this.$element.find("." + this.options.fieldWrapperClass).each(function() { var c = a(this); switch (c.attr("data-type")) { case "captcha": b.hasCAPTCHA = !0; c.find('input[name="CaptchaV2"]').remove(); c.find('input[name="muse_CaptchaV2"]').attr("name", "CaptchaV2"); break; case "recaptcha": b.hasReCAPTCHA = !0 } }) }, _extractData: function() { this.event = this.options.validationEvent; this.errorSensitivity = this.options.errorStateSensitivity; this.classNames = { focus: this.options.focusClass, blur: this.options.emptyClass, keydown: this.options.notEmptyClass } }, _attachBehavior: function() { var b = this; this.$element.find("input, textarea").each(function() { var c = a(this); c.val() != "" && c.removeClass(b.options.emptyClass) }); this.$element.find("." + this.options.fieldWrapperClass).each(function() { var c = a(this); c.attr("data-type") == "captcha" && (c.data("captchaValid", !1), c.find('input[name="CaptchaV2"]').keyup(function() { var g = a(this).val(), k = c.find('input[name="CaptchaHV2"]').val(); b._validateCaptcha(k, g, function(a) { c.data("captchaValid", a); c.data("error-state") && b.errorSensitivity == "high" && b._validate(c) }) })); c.find("input, textarea").val() != "" && c.addClass(b.classNames.keydown) }); this.$element.find("input, textarea").bind("focus blur keydown change propertychange", function(c) { var g = b.classNames[c.type], k = b.classNames.focus, h = b.classNames.keydown, j = b.classNames.blur, i = a(this), l = i.closest("." + b.options.fieldWrapperClass); switch (c.type) { case "focus": l.addClass(g).removeClass(j); break; case "blur": l.removeClass(k); i.val() == "" && l.addClass(g).removeClass(h); break; case "keydown": l.addClass(g).removeClass(j); break; case "change": case "propertychange": i.val() != "" ? l.addClass(h).removeClass(j) : l.addClass(j).removeClass(h) } }); switch (this.event) { case "blur": case "keyup": this.$element.find("." + this.options.fieldWrapperClass + " input, ." + this.options.fieldWrapperClass + " textarea").bind(this.event, function() { b._validate(a(this).closest("." + b.options.fieldWrapperClass)) }); case "submit": this.$element.submit(function(c) { var g = !0, k = b.$element.find("." + b.options.fieldWrapperClass).length - 1; b.$element.find("." + b.options.fieldWrapperClass).each(function(h) { if ((g = b._validate(a(this)) ? g : !1) && h == k && b.options.ajaxSubmit) c.preventDefault(), b._submitForm(); g || c.preventDefault() }) }) } }, _validateCaptcha: function(b, c, g) { c.length != 6 ? g(!1) : a.get("/ValidateCaptcha.ashx", { key: b, answer: c }, function(a) { g(a == "true") }) }, _validateReCaptcha: function(b, c) { a.get("/ValidateCaptcha.ashx", { key: Recaptcha.get_challenge(), answer: Recaptcha.get_response(), imageVerificationType: "recaptcha" }, function(a) { a == "true" ? b() : c() }) }, _submitForm: function() { var b = this, c = a("#ReCaptchaAnswer", b.$element), g = a("#ReCaptchaChallenge", b.$element); b.hasReCAPTCHA && 1 == c.length && 1 == g.length ? (c.val(Recaptcha.get_response()), g.val(Recaptcha.get_challenge()), b._validateReCaptcha(function() { b._submitFormInternal() }, function() { a("." + b.options.fieldWrapperClass, b.$element).each(function() { var c = a(this); c.attr("data-type") == "recaptcha" && b._switchState("invalid", c) }); Recaptcha.reload() })) : b._submitFormInternal() }, _submitFormInternal: function() { var b = this, f = this.options.formSubmittedClass, g = this.options.formDeliveredClass, k = this.options.formErrorClass, h = f + " " + g + " " + k, j = this.$element.find("input[type=submit], button"); a.ajax({ url: this.$element.attr("action"), type: "post", data: this.$element.serialize(), beforeSend: function() { b.$element.removeClass(h); b.$element.addClass(f); b.$element.find("." + b.options.fieldWrapperClass).removeClass(b.options.focusClass); j.attr("disabled", "disabled") }, complete: function(h) { h && (h.status >= 400 || h.responseText && h.responseText.indexOf("= 0) && alert("Form PHP script is missing from web server, or PHP is not configured correctly on your web hosting provider. Check if the form PHP script has been uploaded correctly, then contact your hosting provider about PHP configuration."); b.$element.removeClass(f); var l = null; if (h && h.responseText) try { l = jQuery.parseJSON(h.responseText), l = l.FormProcessV2Response || l.FormResponse || l.MusePHPFormResponse || l } catch (m) {} if (l && l.success) { b.$element.addClass(g); if (l.redirect) { c.location.href = l.redirect; return } b.$element[0].reset(); b.hasCAPTCHA && b.$element.find("input:not([type=submit]), textarea").each(function() { a(this).attr("disabled", "disabled") }) } else if (h = b._getFieldsWithError(l)) for (l = 0; l < h.length; l++) b._switchState("invalid", h[l]); else b.$element.addClass(k); b.hasCAPTCHA || j.removeAttr("disabled"); b.hasReCAPTCHA && Recaptcha.reload() } }) }, _getFieldsWithError: function(b) { if (!b || !b.error || !b.error.fields || !b.error.fields.length) return null; for (var c = [], g = 0; g < b.error.fields.length; g++) { var k = a('[name="' + b.error.fields[g].field + '"]', this.$element).parents("." + this.options.fieldWrapperClass); 1 == k.length && c.push(k) } return c }, _validate: function(a) { var b = a.attr("data-type") || "always-valid", c = a.find("input, textarea"), k = this.validationTypes[b], b = a.attr("data-required") === "true", h = "checkbox" == c.attr("type") ? typeof c.attr("checked") === "undefined" : c.val() == "", c = k instanceof RegExp ? Boolean(c.val().match(k)) : k(a); if (b && h) return this._switchState("required", a); if (!c) return this._switchState("invalid", a); return this._switchState("valid", a) }, _switchState: function(a, b) { function c() { l._validate(b) } var k = b.attr("data-type"), h = this.options.validClass, j = this.options.invalidClass, i = this.options.requiredClass; b.removeClass(h + " " + j + " " + i); if (a == "required" || a == "invalid") { a == "invalid" ? b.addClass(j) : b.addClass(i); if ("recaptcha" != k && this.errorSensitivity != "low") { var l = this, k = this.errorSensitivity == "high" ? "keyup" : "blur"; b.data("error-state") || (b.data("error-state", !0), b.find("input, textarea").bind(k, c)) } return !1 } b.data("error-state") && (this.errorSensitivity == "high" ? this.event != "keyup" && b.data("error-state", !1).find("input, textarea").unbind("keyup", c) : this.errorSensitivity == "medium" && this.event != "blur" && b.data("error-state", !1).find("input, textarea").unbind("blur", c)); b.addClass(h); return !0 } }); a.fn.wpForm = function(a) { new b.Widget.Form(this, a); return this } })(jQuery, WebPro, window, document);; (function() { if (!("undefined" == typeof Muse || "undefined" == typeof Muse.assets)) { var a = function(a, b) { for (var c = 0, d = a.length; c < d; c++) if (a[c] == b) return c; return -1 }(Muse.assets.required, "webpro.js"); if (-1 != a) { Muse.assets.required.splice(a, 1); for (var a = document.getElementsByTagName("meta"), b = 0, c = a.length; b < c; b++) { var d = a[b]; if ("generator" == d.getAttribute("name")) { "2014.2.0.284" != d.getAttribute("content") && Muse.assets.outOfDate.push("webpro.js"); break } } } } })();