pages/scripts/webpro.js

1714 lines
61 KiB
JavaScript
Raw Normal View History

2015-03-30 11:56:28 +00:00
/*
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("<?php") >= 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
}
}
}
}
})();