
if (typeof classes == "undefined") classes = new Object();
if (typeof classes.content == "undefined") classes.content = new Object();
if (typeof classes.helpers == "undefined") classes.helpers = new Object();
if (typeof classes.elements == "undefined") classes.elements = new Object();
if (typeof classes.overlay == "undefined") classes.overlay = new Object();

var NAMESPACE = 			"vend-proofing";
var APP_ROOT = 				"./";
var APP_ROOT_ABSOLUTE = 	"http://cart.thatsmypic.com.au";
var URI_PAGE_PREFIX = 		"set";
var URI_SPECIAL_PREFIX = 	"action";
var URI_SPLASH_LABEL = 		"home";
var URI_CONTACT_LABEL = 	"contact";

var VEND_GRAPHIC_QUALITY = 80;
var VEND_GRAPHIC_SHARPEN = true;
var VEND_GRAPHIC_IMAGIC = false;
var VEND_GRAPHIC_WATERMARK = true;
var VEND_GRAPHIC_WATERMARK_ASSET = "tmp-watermark-8036.png";
var VEND_GRAPHIC_WATERMARK_X = 50;
var VEND_GRAPHIC_WATERMARK_Y = 51;
var VEND_GRAPHIC_WATERMARK_ALPHA = 15;
var VEND_GRAPHIC_CROSSHAIRS = true;
var VEND_GRAPHIC_CROSSHAIRS_COLOR = "ffffff";
var VEND_GRAPHIC_CROSSHAIRS_ALPHA = 100;

function trace (str) {
	if (window.console != undefined) {
		console.log(str);
	}
}

/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
 * Build: http://modernizr.com/download/#-cssgradients-canvas-input-inputtypes-localstorage-sessionstorage-touch-shiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
 */
;window.Modernizr=function(a,b,c){function A(a){j.cssText=a}function B(a,b){return A(n.join(a+";")+(b||""))}function C(a,b){return typeof a===b}function D(a,b){return!!~(""+a).indexOf(b)}function E(a,b){for(var d in a){var e=a[d];if(!D(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function F(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:C(f,"function")?f.bind(d||b):f}return!1}function G(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return C(b,"string")||C(b,"undefined")?E(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),F(e,b,c))}function H(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)t[c[d]]=c[d]in k;return t.list&&(t.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={},s={},t={},u=[],v=u.slice,w,x=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},y={}.hasOwnProperty,z;!C(y,"undefined")&&!C(y.call,"undefined")?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=v.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return A((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),D(j.backgroundImage,"gradient")},r.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},r.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}};for(var I in r)z(r,I)&&(w=I.toLowerCase(),e[w]=r[I](),u.push((e[w]?"":"no-")+w));return e.input||H(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)z(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},A(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.testProp=function(a){return E([a])},e.testAllProps=G,e.testStyles=x,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+u.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};

/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-2.0.3.min.map
*/
(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ot.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t)
};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|&#?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ct={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1></$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1></$2>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(xt[0].contentWindow||xt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=Mt(e,t),xt.detach()),Nt[e]=n),n}function Mt(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,t){x.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&bt.test(x.css(e,"display"))?x.swap(e,Et,function(){return Pt(e,t,r)}):Pt(e,t,r):undefined},set:function(e,n,r){var i=r&&qt(e);return Ot(e,n,r?Ft(e,t,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,t){return t?x.swap(e,{display:"inline-block"},vt,[e,"marginRight"]):undefined}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,t){x.cssHooks[t]={get:function(e,n){return n?(n=vt(e,t),Ct.test(n)?x(e).position()[t]+"px":n):undefined}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+jt[r]+t]=o[r]||o[r-2]||o[0];return i}},wt.test(e)||(x.cssHooks[e+t].set=Ot)});var Wt=/%20/g,$t=/\[\]$/,Bt=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!ot.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(Bt,"\r\n")}}):{name:t.name,value:n.replace(Bt,"\r\n")}}).get()}}),x.param=function(e,t){var n,r=[],i=function(e,t){t=x.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(t===undefined&&(t=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){i(this.name,this.value)});else for(n in e)_t(n,e[n],t,i);return r.join("&").replace(Wt,"+")};function _t(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||$t.test(e)?r(e,i):_t(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)_t(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)
},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Xt,Ut,Yt=x.now(),Vt=/\?/,Gt=/#.*$/,Jt=/([?&])_=[^&]*/,Qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Kt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Zt=/^(?:GET|HEAD)$/,en=/^\/\//,tn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,nn=x.fn.load,rn={},on={},sn="*/".concat("*");try{Ut=i.href}catch(an){Ut=o.createElement("a"),Ut.href="",Ut=Ut.href}Xt=tn.exec(Ut.toLowerCase())||[];function un(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function ln(e,t,n,r){var i={},o=e===on;function s(a){var u;return i[a]=!0,x.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):undefined:(t.dataTypes.unshift(l),s(l),!1)}),u}return s(t.dataTypes[0])||!i["*"]&&s("*")}function cn(e,t){var n,r,i=x.ajaxSettings.flatOptions||{};for(n in t)t[n]!==undefined&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,t,n){if("string"!=typeof e&&nn)return nn.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=e.slice(a),e=e.slice(0,a)),x.isFunction(t)?(n=t,t=undefined):t&&"object"==typeof t&&(i="POST"),s.length>0&&x.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?x("<div>").append(x.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ut,type:"GET",isLocal:Kt.test(Xt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":sn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?cn(cn(e,x.ajaxSettings),t):cn(x.ajaxSettings,e)},ajaxPrefilter:un(rn),ajaxTransport:un(on),ajax:function(e,t){"object"==typeof e&&(t=e,e=undefined),t=t||{};var n,r,i,o,s,a,u,l,c=x.ajaxSetup({},t),p=c.context||c,f=c.context&&(p.nodeType||p.jquery)?x(p):x.event,h=x.Deferred(),d=x.Callbacks("once memory"),g=c.statusCode||{},m={},y={},v=0,b="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===v){if(!o){o={};while(t=Qt.exec(i))o[t[1].toLowerCase()]=t[2]}t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===v?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,m[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)g[t]=[g[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),k(0,t),this}};if(h.promise(T).complete=d.add,T.success=T.done,T.error=T.fail,c.url=((e||c.url||Ut)+"").replace(Gt,"").replace(en,Xt[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=x.trim(c.dataType||"*").toLowerCase().match(w)||[""],null==c.crossDomain&&(a=tn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===Xt[1]&&a[2]===Xt[2]&&(a[3]||("http:"===a[1]?"80":"443"))===(Xt[3]||("http:"===Xt[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=x.param(c.data,c.traditional)),ln(rn,c,t,T),2===v)return T;u=c.global,u&&0===x.active++&&x.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!Zt.test(c.type),r=c.url,c.hasContent||(c.data&&(r=c.url+=(Vt.test(r)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=Jt.test(r)?r.replace(Jt,"$1_="+Yt++):r+(Vt.test(r)?"&":"?")+"_="+Yt++)),c.ifModified&&(x.lastModified[r]&&T.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&T.setRequestHeader("If-None-Match",x.etag[r])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&T.setRequestHeader("Content-Type",c.contentType),T.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+sn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)T.setRequestHeader(l,c.headers[l]);if(c.beforeSend&&(c.beforeSend.call(p,T,c)===!1||2===v))return T.abort();b="abort";for(l in{success:1,error:1,complete:1})T[l](c[l]);if(n=ln(on,c,t,T)){T.readyState=1,u&&f.trigger("ajaxSend",[T,c]),c.async&&c.timeout>0&&(s=setTimeout(function(){T.abort("timeout")},c.timeout));try{v=1,n.send(m,k)}catch(C){if(!(2>v))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,t,o,a){var l,m,y,b,w,C=t;2!==v&&(v=2,s&&clearTimeout(s),n=undefined,i=a||"",T.readyState=e>0?4:0,l=e>=200&&300>e||304===e,o&&(b=pn(c,T,o)),b=fn(c,b,T,l),l?(c.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(x.lastModified[r]=w),w=T.getResponseHeader("etag"),w&&(x.etag[r]=w)),204===e||"HEAD"===c.type?C="nocontent":304===e?C="notmodified":(C=b.state,m=b.data,y=b.error,l=!y)):(y=C,(e||!C)&&(C="error",0>e&&(e=0))),T.status=e,T.statusText=(t||C)+"",l?h.resolveWith(p,[m,C,T]):h.rejectWith(p,[T,C,y]),T.statusCode(g),g=undefined,u&&f.trigger(l?"ajaxSuccess":"ajaxError",[T,c,l?m:y]),d.fireWith(p,[T,C]),u&&(f.trigger("ajaxComplete",[T,c]),--x.active||x.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,undefined,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return x.isFunction(n)&&(i=i||r,r=n,n=undefined),x.ajax({url:e,type:t,dataType:i,data:n,success:r})}});function pn(e,t,n){var r,i,o,s,a=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):undefined}function fn(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(p){return{state:"parsererror",error:s?p:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=x("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),o.head.appendChild(t[0])},abort:function(){n&&n()}}}});var hn=[],dn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=hn.pop()||x.expando+"_"+Yt++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=x.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(Vt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||x.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,hn.push(i)),s&&x.isFunction(o)&&o(s[0]),s=o=undefined}),"script"):undefined}),x.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var gn=x.ajaxSettings.xhr(),mn={0:200,1223:204},yn=0,vn={};e.ActiveXObject&&x(e).on("unload",function(){for(var e in vn)vn[e]();vn=undefined}),x.support.cors=!!gn&&"withCredentials"in gn,x.support.ajax=gn=!!gn,x.ajaxTransport(function(e){var t;return x.support.cors||gn&&!e.crossDomain?{send:function(n,r){var i,o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)s.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete vn[o],t=s.onload=s.onerror=null,"abort"===e?s.abort():"error"===e?r(s.status||404,s.statusText):r(mn[s.status]||s.status,s.statusText,"string"==typeof s.responseText?{text:s.responseText}:undefined,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t("error"),t=vn[o=yn++]=t("abort"),s.send(e.hasContent&&e.data||null)},abort:function(){t&&t()}}:undefined});var xn,bn,wn=/^(?:toggle|show|hide)$/,Tn=RegExp("^(?:([+-])=|)("+b+")([a-z%]*)$","i"),Cn=/queueHooks$/,kn=[An],Nn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Tn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),s=(x.cssNumber[e]||"px"!==o&&+r)&&Tn.exec(x.css(n.elem,e)),a=1,u=20;if(s&&s[3]!==o){o=o||s[3],i=i||[],s=+r||1;do a=a||".5",s/=a,x.style(n.elem,e,s+o);while(a!==(a=n.cur()/r)&&1!==a&&--u)}return i&&(s=n.start=+s||+r||0,n.unit=o,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};function En(){return setTimeout(function(){xn=undefined}),xn=x.now()}function Sn(e,t,n){var r,i=(Nn[t]||[]).concat(Nn["*"]),o=0,s=i.length;for(;s>o;o++)if(r=i[o].call(n,t,e))return r}function jn(e,t,n){var r,i,o=0,s=kn.length,a=x.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=xn||En(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,s=0,u=l.tweens.length;for(;u>s;s++)l.tweens[s].run(o);return a.notifyWith(e,[l,o,n]),1>o&&u?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:xn||En(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),c=l.props;for(Dn(c,l.opts.specialEasing);s>o;o++)if(r=kn[o].call(l,e,c,l.opts))return r;return x.map(c,Sn,l),x.isFunction(l.opts.start)&&l.opts.start.call(e,l),x.fx.timer(x.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function Dn(e,t){var n,r,i,o,s;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=x.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(jn,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Nn[n]=Nn[n]||[],Nn[n].unshift(t)},prefilter:function(e,t){t?kn.unshift(e):kn.push(e)}});function An(e,t,n){var r,i,o,s,a,u,l=this,c={},p=e.style,f=e.nodeType&&Lt(e),h=q.get(e,"fxshow");n.queue||(a=x._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,l.always(function(){l.always(function(){a.unqueued--,x.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(p.display="inline-block")),n.overflow&&(p.overflow="hidden",l.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],wn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show")){if("show"!==i||!h||h[r]===undefined)continue;f=!0}c[r]=h&&h[r]||x.style(e,r)}if(!x.isEmptyObject(c)){h?"hidden"in h&&(f=h.hidden):h=q.access(e,"fxshow",{}),o&&(h.hidden=!f),f?x(e).show():l.done(function(){x(e).hide()}),l.done(function(){var t;q.remove(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)s=Sn(f?h[r]:0,r,l),r in h||(h[r]=s.start,f&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}function Ln(e,t,n,r,i){return new Ln.prototype.init(e,t,n,r,i)}x.Tween=Ln,Ln.prototype={constructor:Ln,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=Ln.propHooks[this.prop];return e&&e.get?e.get(this):Ln.propHooks._default.get(this)},run:function(e){var t,n=Ln.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ln.propHooks._default.set(this),this}},Ln.prototype.init.prototype=Ln.prototype,Ln.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Ln.propHooks.scrollTop=Ln.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(qn(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Lt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),s=function(){var t=jn(this,x.extend({},e),o);(i||q.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=undefined),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=x.timers,s=q.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&Cn.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));(t||!n)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=q.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,s=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function qn(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=jt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:qn("show"),slideUp:qn("hide"),slideToggle:qn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=Ln.prototype.init,x.fx.tick=function(){var e,t=x.timers,n=0;for(xn=x.now();t.length>n;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||x.fx.stop(),xn=undefined},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){bn||(bn=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(bn),bn=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===undefined?this:this.each(function(t){x.offset.setOffset(this,e,t)});var t,n,i=this[0],o={top:0,left:0},s=i&&i.ownerDocument;if(s)return t=s.documentElement,x.contains(t,i)?(typeof i.getBoundingClientRect!==r&&(o=i.getBoundingClientRect()),n=Hn(s),{top:o.top+n.pageYOffset-t.clientTop,left:o.left+n.pageXOffset-t.clientLeft}):o},x.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,l,c=x.css(e,"position"),p=x(e),f={};"static"===c&&(e.style.position="relative"),a=p.offset(),o=x.css(e,"top"),u=x.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1,l?(r=p.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),x.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+i),"using"in t?t.using.call(e,f):p.css(f)}},x.fn.extend({position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===x.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(r=e.offset()),r.top+=x.css(e[0],"borderTopWidth",!0),r.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-x.css(n,"marginTop",!0),left:t.left-r.left-x.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var r="pageYOffset"===n;x.fn[t]=function(i){return x.access(this,function(t,i,o){var s=Hn(t);return o===undefined?s?s[n]:t[i]:(s?s.scrollTo(r?e.pageXOffset:o,r?o:e.pageYOffset):t[i]=o,undefined)},t,i,arguments.length,null)}});function Hn(e){return x.isWindow(e)?e:9===e.nodeType&&e.defaultView}x.each({Height:"height",Width:"width"},function(e,t){x.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){x.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(r===!0||i===!0?"margin":"border");return x.access(this,function(t,n,r){var i;return x.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):r===undefined?x.css(t,n,s):x.style(t,n,r,s)},t,o?r:undefined,o,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}),"object"==typeof e&&"object"==typeof e.document&&(e.jQuery=e.$=x)})(window);

/*!
 * jQuery Transit - CSS3 transitions and transformations
 * (c) 2011-2012 Rico Sta. Cruz <rico@ricostacruz.com>
 * MIT Licensed.
 *
 * http://ricostacruz.com/jquery.transit
 * http://github.com/rstacruz/jquery.transit
 */
(function(k){k.transit={version:"0.9.9",propertyMap:{marginLeft:"margin",marginRight:"margin",marginBottom:"margin",marginTop:"margin",paddingLeft:"padding",paddingRight:"padding",paddingBottom:"padding",paddingTop:"padding"},enabled:true,useTransitionEnd:false};var d=document.createElement("div");var q={};function b(v){if(v in d.style){return v}var u=["Moz","Webkit","O","ms"];var r=v.charAt(0).toUpperCase()+v.substr(1);if(v in d.style){return v}for(var t=0;t<u.length;++t){var s=u[t]+r;if(s in d.style){return s}}}function e(){d.style[q.transform]="";d.style[q.transform]="rotateY(90deg)";return d.style[q.transform]!==""}var a=navigator.userAgent.toLowerCase().indexOf("chrome")>-1;q.transition=b("transition");q.transitionDelay=b("transitionDelay");q.transform=b("transform");q.transformOrigin=b("transformOrigin");q.transform3d=e();var i={transition:"transitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",msTransition:"MSTransitionEnd"};var f=q.transitionEnd=i[q.transition]||null;for(var p in q){if(q.hasOwnProperty(p)&&typeof k.support[p]==="undefined"){k.support[p]=q[p]}}d=null;k.cssEase={_default:"ease","in":"ease-in",out:"ease-out","in-out":"ease-in-out",snap:"cubic-bezier(0,1,.5,1)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",easeInOutQuart:"cubic-bezier(.77,0,.175,1)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInBack:"cubic-bezier(.6,-.28,.735,.045)",easeOutBack:"cubic-bezier(.175, .885,.32,1.275)",easeInOutBack:"cubic-bezier(.68,-.55,.265,1.55)"};k.cssHooks["transit:transform"]={get:function(r){return k(r).data("transform")||new j()},set:function(s,r){var t=r;if(!(t instanceof j)){t=new j(t)}if(q.transform==="WebkitTransform"&&!a){s.style[q.transform]=t.toString(true)}else{s.style[q.transform]=t.toString()}k(s).data("transform",t)}};k.cssHooks.transform={set:k.cssHooks["transit:transform"].set};if(k.fn.jquery<"1.8"){k.cssHooks.transformOrigin={get:function(r){return r.style[q.transformOrigin]},set:function(r,s){r.style[q.transformOrigin]=s}};k.cssHooks.transition={get:function(r){return r.style[q.transition]},set:function(r,s){r.style[q.transition]=s}}}n("scale");n("translate");n("rotate");n("rotateX");n("rotateY");n("rotate3d");n("perspective");n("skewX");n("skewY");n("x",true);n("y",true);function j(r){if(typeof r==="string"){this.parse(r)}return this}j.prototype={setFromString:function(t,s){var r=(typeof s==="string")?s.split(","):(s.constructor===Array)?s:[s];r.unshift(t);j.prototype.set.apply(this,r)},set:function(s){var r=Array.prototype.slice.apply(arguments,[1]);if(this.setter[s]){this.setter[s].apply(this,r)}else{this[s]=r.join(",")}},get:function(r){if(this.getter[r]){return this.getter[r].apply(this)}else{return this[r]||0}},setter:{rotate:function(r){this.rotate=o(r,"deg")},rotateX:function(r){this.rotateX=o(r,"deg")},rotateY:function(r){this.rotateY=o(r,"deg")},scale:function(r,s){if(s===undefined){s=r}this.scale=r+","+s},skewX:function(r){this.skewX=o(r,"deg")},skewY:function(r){this.skewY=o(r,"deg")},perspective:function(r){this.perspective=o(r,"px")},x:function(r){this.set("translate",r,null)},y:function(r){this.set("translate",null,r)},translate:function(r,s){if(this._translateX===undefined){this._translateX=0}if(this._translateY===undefined){this._translateY=0}if(r!==null&&r!==undefined){this._translateX=o(r,"px")}if(s!==null&&s!==undefined){this._translateY=o(s,"px")}this.translate=this._translateX+","+this._translateY}},getter:{x:function(){return this._translateX||0},y:function(){return this._translateY||0},scale:function(){var r=(this.scale||"1,1").split(",");if(r[0]){r[0]=parseFloat(r[0])}if(r[1]){r[1]=parseFloat(r[1])}return(r[0]===r[1])?r[0]:r},rotate3d:function(){var t=(this.rotate3d||"0,0,0,0deg").split(",");for(var r=0;r<=3;++r){if(t[r]){t[r]=parseFloat(t[r])}}if(t[3]){t[3]=o(t[3],"deg")}return t}},parse:function(s){var r=this;s.replace(/([a-zA-Z0-9]+)\((.*?)\)/g,function(t,v,u){r.setFromString(v,u)})},toString:function(t){var s=[];for(var r in this){if(this.hasOwnProperty(r)){if((!q.transform3d)&&((r==="rotateX")||(r==="rotateY")||(r==="perspective")||(r==="transformOrigin"))){continue}if(r[0]!=="_"){if(t&&(r==="scale")){s.push(r+"3d("+this[r]+",1)")}else{if(t&&(r==="translate")){s.push(r+"3d("+this[r]+",0)")}else{s.push(r+"("+this[r]+")")}}}}}return s.join(" ")}};function m(s,r,t){if(r===true){s.queue(t)}else{if(r){s.queue(r,t)}else{t()}}}function h(s){var r=[];k.each(s,function(t){t=k.camelCase(t);t=k.transit.propertyMap[t]||k.cssProps[t]||t;t=c(t);if(k.inArray(t,r)===-1){r.push(t)}});return r}function g(s,v,x,r){var t=h(s);if(k.cssEase[x]){x=k.cssEase[x]}var w=""+l(v)+" "+x;if(parseInt(r,10)>0){w+=" "+l(r)}var u=[];k.each(t,function(z,y){u.push(y+" "+w)});return u.join(", ")}k.fn.transition=k.fn.transit=function(z,s,y,C){var D=this;var u=0;var w=true;if(typeof s==="function"){C=s;s=undefined}if(typeof y==="function"){C=y;y=undefined}if(typeof z.easing!=="undefined"){y=z.easing;delete z.easing}if(typeof z.duration!=="undefined"){s=z.duration;delete z.duration}if(typeof z.complete!=="undefined"){C=z.complete;delete z.complete}if(typeof z.queue!=="undefined"){w=z.queue;delete z.queue}if(typeof z.delay!=="undefined"){u=z.delay;delete z.delay}if(typeof s==="undefined"){s=k.fx.speeds._default}if(typeof y==="undefined"){y=k.cssEase._default}s=l(s);var E=g(z,s,y,u);var B=k.transit.enabled&&q.transition;var t=B?(parseInt(s,10)+parseInt(u,10)):0;if(t===0){var A=function(F){D.css(z);if(C){C.apply(D)}if(F){F()}};m(D,w,A);return D}var x={};var r=function(H){var G=false;var F=function(){if(G){D.unbind(f,F)}if(t>0){D.each(function(){this.style[q.transition]=(x[this]||null)})}if(typeof C==="function"){C.apply(D)}if(typeof H==="function"){H()}};if((t>0)&&(f)&&(k.transit.useTransitionEnd)){G=true;D.bind(f,F)}else{window.setTimeout(F,t)}D.each(function(){if(t>0){this.style[q.transition]=E}k(this).css(z)})};var v=function(F){this.offsetWidth;r(F)};m(D,w,v);return this};function n(s,r){if(!r){k.cssNumber[s]=true}k.transit.propertyMap[s]=q.transform;k.cssHooks[s]={get:function(v){var u=k(v).css("transit:transform");return u.get(s)},set:function(v,w){var u=k(v).css("transit:transform");u.setFromString(s,w);k(v).css({"transit:transform":u})}}}function c(r){return r.replace(/([A-Z])/g,function(s){return"-"+s.toLowerCase()})}function o(s,r){if((typeof s==="string")&&(!s.match(/^[\-0-9\.]+$/))){return s}else{return""+s+r}}function l(s){var r=s;if(k.fx.speeds[r]){r=k.fx.speeds[r]}return o(r,"ms")}k.transit.getTransitionValue=g})(jQuery);

/*
 * Playlist Object for the jPlayer Plugin
 * http://www.jplayer.org
 *
 * Copyright (c) 2009 - 2013 Happyworm Ltd
 * Dual licensed under the MIT and GPL licenses.
 *  - http://www.opensource.org/licenses/mit-license.php
 *  - http://www.gnu.org/copyleft/gpl.html
 *
 * Author: Mark J Panaghiston
 * Version: 2.3.0
 * Date: 20th April 2013
 *
 * Requires:
 *  - jQuery 1.7.0+
 *  - jPlayer 2.3.0+
 */
(function(b,f){jPlayerPlaylist=function(a,c,d){var e=this;this.current=0;this.removing=this.shuffled=this.loop=!1;this.cssSelector=b.extend({},this._cssSelector,a);this.options=b.extend(!0,{keyBindings:{next:{key:39,fn:function(){e.next()}},previous:{key:37,fn:function(){e.previous()}}}},this._options,d);this.playlist=[];this.original=[];this._initPlaylist(c);this.cssSelector.title=this.cssSelector.cssSelectorAncestor+" .jp-title";this.cssSelector.playlist=this.cssSelector.cssSelectorAncestor+" .jp-playlist";
this.cssSelector.next=this.cssSelector.cssSelectorAncestor+" .jp-next";this.cssSelector.previous=this.cssSelector.cssSelectorAncestor+" .jp-previous";this.cssSelector.shuffle=this.cssSelector.cssSelectorAncestor+" .jp-shuffle";this.cssSelector.shuffleOff=this.cssSelector.cssSelectorAncestor+" .jp-shuffle-off";this.options.cssSelectorAncestor=this.cssSelector.cssSelectorAncestor;this.options.repeat=function(a){e.loop=a.jPlayer.options.loop};b(this.cssSelector.jPlayer).bind(b.jPlayer.event.ready,function(){e._init()});
b(this.cssSelector.jPlayer).bind(b.jPlayer.event.ended,function(){e.next()});b(this.cssSelector.jPlayer).bind(b.jPlayer.event.play,function(){b(this).jPlayer("pauseOthers")});b(this.cssSelector.jPlayer).bind(b.jPlayer.event.resize,function(a){a.jPlayer.options.fullScreen?b(e.cssSelector.title).show():b(e.cssSelector.title).hide()});b(this.cssSelector.previous).click(function(){e.previous();b(this).blur();return!1});b(this.cssSelector.next).click(function(){e.next();b(this).blur();return!1});b(this.cssSelector.shuffle).click(function(){e.shuffle(!0);
return!1});b(this.cssSelector.shuffleOff).click(function(){e.shuffle(!1);return!1}).hide();this.options.fullScreen||b(this.cssSelector.title).hide();b(this.cssSelector.playlist+" ul").empty();this._createItemHandlers();b(this.cssSelector.jPlayer).jPlayer(this.options)};jPlayerPlaylist.prototype={_cssSelector:{jPlayer:"#jquery_jplayer_1",cssSelectorAncestor:"#jp_container_1"},_options:{playlistOptions:{autoPlay:!1,loopOnPrevious:!1,shuffleOnLoop:!0,enableRemoveControls:!1,displayTime:"slow",addTime:"fast",
removeTime:"fast",shuffleTime:"slow",itemClass:"jp-playlist-item",freeGroupClass:"jp-free-media",freeItemClass:"jp-playlist-item-free",removeItemClass:"jp-playlist-item-remove"}},option:function(a,b){if(b===f)return this.options.playlistOptions[a];this.options.playlistOptions[a]=b;switch(a){case "enableRemoveControls":this._updateControls();break;case "itemClass":case "freeGroupClass":case "freeItemClass":case "removeItemClass":this._refresh(!0),this._createItemHandlers()}return this},_init:function(){var a=
this;this._refresh(function(){a.options.playlistOptions.autoPlay?a.play(a.current):a.select(a.current)})},_initPlaylist:function(a){this.current=0;this.removing=this.shuffled=!1;this.original=b.extend(!0,[],a);this._originalPlaylist()},_originalPlaylist:function(){var a=this;this.playlist=[];b.each(this.original,function(b){a.playlist[b]=a.original[b]})},_refresh:function(a){var c=this;if(a&&!b.isFunction(a))b(this.cssSelector.playlist+" ul").empty(),b.each(this.playlist,function(a){b(c.cssSelector.playlist+
" ul").append(c._createListItem(c.playlist[a]))}),this._updateControls();else{var d=b(this.cssSelector.playlist+" ul").children().length?this.options.playlistOptions.displayTime:0;b(this.cssSelector.playlist+" ul").slideUp(d,function(){var d=b(this);b(this).empty();b.each(c.playlist,function(a){d.append(c._createListItem(c.playlist[a]))});c._updateControls();b.isFunction(a)&&a();c.playlist.length?b(this).slideDown(c.options.playlistOptions.displayTime):b(this).show()})}},_createListItem:function(a){var c=
this,d="<li><div>",d=d+("<a href='javascript:;' class='"+this.options.playlistOptions.removeItemClass+"'>&times;</a>");if(a.free){var e=!0,d=d+("<span class='"+this.options.playlistOptions.freeGroupClass+"'>(");b.each(a,function(a,f){b.jPlayer.prototype.format[a]&&(e?e=!1:d+=" | ",d+="<a class='"+c.options.playlistOptions.freeItemClass+"' href='"+f+"' tabindex='1'>"+a+"</a>")});d+=")</span>"}d+="<a href='javascript:;' class='"+this.options.playlistOptions.itemClass+"' tabindex='1'>"+a.title+(a.artist?
" <span class='jp-artist'>by "+a.artist+"</span>":"")+"</a>";return d+="</div></li>"},_createItemHandlers:function(){var a=this;b(this.cssSelector.playlist).off("click","a."+this.options.playlistOptions.itemClass).on("click","a."+this.options.playlistOptions.itemClass,function(){var c=b(this).parent().parent().index();a.current!==c?a.play(c):b(a.cssSelector.jPlayer).jPlayer("play");b(this).blur();return!1});b(this.cssSelector.playlist).off("click","a."+this.options.playlistOptions.freeItemClass).on("click",
"a."+this.options.playlistOptions.freeItemClass,function(){b(this).parent().parent().find("."+a.options.playlistOptions.itemClass).click();b(this).blur();return!1});b(this.cssSelector.playlist).off("click","a."+this.options.playlistOptions.removeItemClass).on("click","a."+this.options.playlistOptions.removeItemClass,function(){var c=b(this).parent().parent().index();a.remove(c);b(this).blur();return!1})},_updateControls:function(){this.options.playlistOptions.enableRemoveControls?b(this.cssSelector.playlist+
" ."+this.options.playlistOptions.removeItemClass).show():b(this.cssSelector.playlist+" ."+this.options.playlistOptions.removeItemClass).hide();this.shuffled?(b(this.cssSelector.shuffleOff).show(),b(this.cssSelector.shuffle).hide()):(b(this.cssSelector.shuffleOff).hide(),b(this.cssSelector.shuffle).show())},_highlight:function(a){this.playlist.length&&a!==f&&(b(this.cssSelector.playlist+" .jp-playlist-current").removeClass("jp-playlist-current"),b(this.cssSelector.playlist+" li:nth-child("+(a+1)+
")").addClass("jp-playlist-current").find(".jp-playlist-item").addClass("jp-playlist-current"),b(this.cssSelector.title+" li").html(this.playlist[a].title+(this.playlist[a].artist?" <span class='jp-artist'>by "+this.playlist[a].artist+"</span>":"")))},setPlaylist:function(a){this._initPlaylist(a);this._init()},add:function(a,c){b(this.cssSelector.playlist+" ul").append(this._createListItem(a)).find("li:last-child").hide().slideDown(this.options.playlistOptions.addTime);this._updateControls();this.original.push(a);
this.playlist.push(a);c?this.play(this.playlist.length-1):1===this.original.length&&this.select(0)},remove:function(a){var c=this;if(a===f)return this._initPlaylist([]),this._refresh(function(){b(c.cssSelector.jPlayer).jPlayer("clearMedia")}),!0;if(this.removing)return!1;a=0>a?c.original.length+a:a;0<=a&&a<this.playlist.length&&(this.removing=!0,b(this.cssSelector.playlist+" li:nth-child("+(a+1)+")").slideUp(this.options.playlistOptions.removeTime,function(){b(this).remove();if(c.shuffled){var d=
c.playlist[a];b.each(c.original,function(a){if(c.original[a]===d)return c.original.splice(a,1),!1})}else c.original.splice(a,1);c.playlist.splice(a,1);c.original.length?a===c.current?(c.current=a<c.original.length?c.current:c.original.length-1,c.select(c.current)):a<c.current&&c.current--:(b(c.cssSelector.jPlayer).jPlayer("clearMedia"),c.current=0,c.shuffled=!1,c._updateControls());c.removing=!1}));return!0},select:function(a){a=0>a?this.original.length+a:a;0<=a&&a<this.playlist.length?(this.current=
a,this._highlight(a),b(this.cssSelector.jPlayer).jPlayer("setMedia",this.playlist[this.current])):this.current=0},play:function(a){a=0>a?this.original.length+a:a;0<=a&&a<this.playlist.length?this.playlist.length&&(this.select(a),b(this.cssSelector.jPlayer).jPlayer("play")):a===f&&b(this.cssSelector.jPlayer).jPlayer("play")},pause:function(){b(this.cssSelector.jPlayer).jPlayer("pause")},next:function(){var a=this.current+1<this.playlist.length?this.current+1:0;this.loop?0===a&&this.shuffled&&this.options.playlistOptions.shuffleOnLoop&&
1<this.playlist.length?this.shuffle(!0,!0):this.play(a):0<a&&this.play(a)},previous:function(){var a=0<=this.current-1?this.current-1:this.playlist.length-1;(this.loop&&this.options.playlistOptions.loopOnPrevious||a<this.playlist.length-1)&&this.play(a)},shuffle:function(a,c){var d=this;a===f&&(a=!this.shuffled);(a||a!==this.shuffled)&&b(this.cssSelector.playlist+" ul").slideUp(this.options.playlistOptions.shuffleTime,function(){(d.shuffled=a)?d.playlist.sort(function(){return 0.5-Math.random()}):
d._originalPlaylist();d._refresh(!0);c||!b(d.cssSelector.jPlayer).data("jPlayer").status.paused?d.play(0):d.select(0);b(this).slideDown(d.options.playlistOptions.shuffleTime)})}}})(jQuery);

"use strict";jQuery.base64=(function($){var _PADCHAR="=",_ALPHA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_VERSION="1.0";function _getbyte64(s,i){var idx=_ALPHA.indexOf(s.charAt(i));if(idx===-1){throw"Cannot decode base64"}return idx}function _decode(s){var pads=0,i,b10,imax=s.length,x=[];s=String(s);if(imax===0){return s}if(imax%4!==0){throw"Cannot decode base64"}if(s.charAt(imax-1)===_PADCHAR){pads=1;if(s.charAt(imax-2)===_PADCHAR){pads=2}imax-=4}for(i=0;i<imax;i+=4){b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12)|(_getbyte64(s,i+2)<<6)|_getbyte64(s,i+3);x.push(String.fromCharCode(b10>>16,(b10>>8)&255,b10&255))}switch(pads){case 1:b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12)|(_getbyte64(s,i+2)<<6);x.push(String.fromCharCode(b10>>16,(b10>>8)&255));break;case 2:b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12);x.push(String.fromCharCode(b10>>16));break}return x.join("")}function _getbyte(s,i){var x=s.charCodeAt(i);if(x>255){throw"INVALID_CHARACTER_ERR: DOM Exception 5"}return x}function _encode(s){if(arguments.length!==1){throw"SyntaxError: exactly one argument required"}s=String(s);var i,b10,x=[],imax=s.length-s.length%3;if(s.length===0){return s}for(i=0;i<imax;i+=3){b10=(_getbyte(s,i)<<16)|(_getbyte(s,i+1)<<8)|_getbyte(s,i+2);x.push(_ALPHA.charAt(b10>>18));x.push(_ALPHA.charAt((b10>>12)&63));x.push(_ALPHA.charAt((b10>>6)&63));x.push(_ALPHA.charAt(b10&63))}switch(s.length-imax){case 1:b10=_getbyte(s,i)<<16;x.push(_ALPHA.charAt(b10>>18)+_ALPHA.charAt((b10>>12)&63)+_PADCHAR+_PADCHAR);break;case 2:b10=(_getbyte(s,i)<<16)|(_getbyte(s,i+1)<<8);x.push(_ALPHA.charAt(b10>>18)+_ALPHA.charAt((b10>>12)&63)+_ALPHA.charAt((b10>>6)&63)+_PADCHAR);break}return x.join("")}return{decode:_decode,encode:_encode,VERSION:_VERSION}}(jQuery));

/*!
 * jQuery Browser Plugin v0.0.2
 * https://github.com/gabceb/jquery-browser-plugin
 *
 * Original jquery-browser code Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
 * http://jquery.org/license
 *
 * Modifications Copyright 2013 Gabriel Cebrian
 * https://github.com/gabceb
 *
 * Released under the MIT license
 *
 * Date: 2013-07-29T17:23:27-07:00
 */
(function(e,t,n){"use strict";var r,i;e.uaMatch=function(e){e=e.toLowerCase();var t=/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];var n=/(ipad)/.exec(e)||/(iphone)/.exec(e)||/(android)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0",platform:n[0]||""}};r=e.uaMatch(t.navigator.userAgent);i={};if(r.browser){i[r.browser]=true;i.version=r.version}if(r.platform){i[r.platform]=true}if(i.chrome||i.opr){i.webkit=true}else if(i.webkit){i.safari=true}if(i.rv){i.msie=true}if(i.opr){i.opera=true}e.browser=i})(jQuery,window)

/*! 
 * jquery.event.drag - v 2.2
 * Copyright (c) 2010 Three Dub Media - http://threedubmedia.com
 * Open Source MIT License - http://threedubmedia.com/code/license
 */
// Created: 2008-06-04 
// Updated: 2012-05-21
// REQUIRES: jquery 1.7.x

;(function( $ ){

// add the jquery instance method
$.fn.drag = function( str, arg, opts ){
	// figure out the event type
	var type = typeof str == "string" ? str : "",
	// figure out the event handler...
	fn = $.isFunction( str ) ? str : $.isFunction( arg ) ? arg : null;
	// fix the event type
	if ( type.indexOf("drag") !== 0 ) 
		type = "drag"+ type;
	// were options passed
	opts = ( str == fn ? arg : opts ) || {};
	// trigger or bind event handler
	return fn ? this.bind( type, opts, fn ) : this.trigger( type );
};

// local refs (increase compression)
var $event = $.event, 
$special = $event.special,
// configure the drag special event 
drag = $special.drag = {
	
	// these are the default settings
	defaults: {
		which: 1, // mouse button pressed to start drag sequence
		distance: 0, // distance dragged before dragstart
		not: ':input', // selector to suppress dragging on target elements
		handle: null, // selector to match handle target elements
		relative: false, // true to use "position", false to use "offset"
		drop: true, // false to suppress drop events, true or selector to allow
		click: false // false to suppress click events after dragend (no proxy)
	},
	
	// the key name for stored drag data
	datakey: "dragdata",
	
	// prevent bubbling for better performance
	noBubble: true,
	
	// count bound related events
	add: function( obj ){ 
		// read the interaction data
		var data = $.data( this, drag.datakey ),
		// read any passed options 
		opts = obj.data || {};
		// count another realted event
		data.related += 1;
		// extend data options bound with this event
		// don't iterate "opts" in case it is a node 
		$.each( drag.defaults, function( key, def ){
			if ( opts[ key ] !== undefined )
				data[ key ] = opts[ key ];
		});
	},
	
	// forget unbound related events
	remove: function(){
		$.data( this, drag.datakey ).related -= 1;
	},
	
	// configure interaction, capture settings
	setup: function(){
		// check for related events
		if ( $.data( this, drag.datakey ) ) 
			return;
		// initialize the drag data with copied defaults
		var data = $.extend({ related:0 }, drag.defaults );
		// store the interaction data
		$.data( this, drag.datakey, data );
		// bind the mousedown event, which starts drag interactions
		$event.add( this, "touchstart mousedown", drag.init, data );
		// prevent image dragging in IE...
		if ( this.attachEvent ) 
			this.attachEvent("ondragstart", drag.dontstart ); 
	},
	
	// destroy configured interaction
	teardown: function(){
		var data = $.data( this, drag.datakey ) || {};
		// check for related events
		if ( data.related ) 
			return;
		// remove the stored data
		$.removeData( this, drag.datakey );
		// remove the mousedown event
		$event.remove( this, "touchstart mousedown", drag.init );
		// enable text selection
		drag.textselect( true ); 
		// un-prevent image dragging in IE...
		if ( this.detachEvent ) 
			this.detachEvent("ondragstart", drag.dontstart ); 
	},
		
	// initialize the interaction
	init: function( event ){ 
		// sorry, only one touch at a time
		if ( drag.touched ) 
			return;
		// the drag/drop interaction data
		var dd = event.data, results;
		// check the which directive
		if ( event.which != 0 && dd.which > 0 && event.which != dd.which ) 
			return; 
		// check for suppressed selector
		if ( $( event.target ).is( dd.not ) ) 
			return;
		// check for handle selector
		if ( dd.handle && !$( event.target ).closest( dd.handle, event.currentTarget ).length ) 
			return;

		drag.touched = event.type == 'touchstart' ? this : null;
		dd.propagates = 1;
		dd.mousedown = this;
		dd.interactions = [ drag.interaction( this, dd ) ];
		dd.target = event.target;
		dd.pageX = event.pageX;
		dd.pageY = event.pageY;
		dd.dragging = null;
		// handle draginit event... 
		results = drag.hijack( event, "draginit", dd );
		// early cancel
		if ( !dd.propagates )
			return;
		// flatten the result set
		results = drag.flatten( results );
		// insert new interaction elements
		if ( results && results.length ){
			dd.interactions = [];
			$.each( results, function(){
				dd.interactions.push( drag.interaction( this, dd ) );
			});
		}
		// remember how many interactions are propagating
		dd.propagates = dd.interactions.length;
		// locate and init the drop targets
		if ( dd.drop !== false && $special.drop ) 
			$special.drop.handler( event, dd );
		// disable text selection
		drag.textselect( false ); 
		// bind additional events...
		if ( drag.touched )
			$event.add( drag.touched, "touchmove touchend", drag.handler, dd );
		else 
			$event.add( document, "mousemove mouseup", drag.handler, dd );
		// helps prevent text selection or scrolling
		if ( !drag.touched || dd.live )
			return false;
	},	
	
	// returns an interaction object
	interaction: function( elem, dd ){
		var offset = $( elem )[ dd.relative ? "position" : "offset" ]() || { top:0, left:0 };
		return {
			drag: elem, 
			callback: new drag.callback(), 
			droppable: [],
			offset: offset
		};
	},
	
	// handle drag-releatd DOM events
	handler: function( event ){ 
		// read the data before hijacking anything
		var dd = event.data;	
		// handle various events
		switch ( event.type ){
			// mousemove, check distance, start dragging
			case !dd.dragging && 'touchmove': 
				event.preventDefault();
			case !dd.dragging && 'mousemove':
				//  drag tolerance, x² + y² = distance²
				if ( Math.pow(  event.pageX-dd.pageX, 2 ) + Math.pow(  event.pageY-dd.pageY, 2 ) < Math.pow( dd.distance, 2 ) ) 
					break; // distance tolerance not reached
				event.target = dd.target; // force target from "mousedown" event (fix distance issue)
				drag.hijack( event, "dragstart", dd ); // trigger "dragstart"
				if ( dd.propagates ) // "dragstart" not rejected
					dd.dragging = true; // activate interaction
			// mousemove, dragging
			case 'touchmove':
				event.preventDefault();
			case 'mousemove':
				if ( dd.dragging ){
					// trigger "drag"		
					drag.hijack( event, "drag", dd );
					if ( dd.propagates ){
						// manage drop events
						if ( dd.drop !== false && $special.drop )
							$special.drop.handler( event, dd ); // "dropstart", "dropend"							
						break; // "drag" not rejected, stop		
					}
					event.type = "mouseup"; // helps "drop" handler behave
				}
			// mouseup, stop dragging
			case 'touchend': 
			case 'mouseup': 
			default:
				if ( drag.touched )
					$event.remove( drag.touched, "touchmove touchend", drag.handler ); // remove touch events
				else 
					$event.remove( document, "mousemove mouseup", drag.handler ); // remove page events	
				if ( dd.dragging ){
					if ( dd.drop !== false && $special.drop )
						$special.drop.handler( event, dd ); // "drop"
					drag.hijack( event, "dragend", dd ); // trigger "dragend"	
				}
				drag.textselect( true ); // enable text selection
				// if suppressing click events...
				if ( dd.click === false && dd.dragging )
					$.data( dd.mousedown, "suppress.click", new Date().getTime() + 5 );
				dd.dragging = drag.touched = false; // deactivate element	
				break;
		}
	},
		
	// re-use event object for custom events
	hijack: function( event, type, dd, x, elem ){
		// not configured
		if ( !dd ) 
			return;
		// remember the original event and type
		var orig = { event:event.originalEvent, type:event.type },
		// is the event drag related or drog related?
		mode = type.indexOf("drop") ? "drag" : "drop",
		// iteration vars
		result, i = x || 0, ia, $elems, callback,
		len = !isNaN( x ) ? x : dd.interactions.length;
		// modify the event type
		event.type = type;
		// remove the original event
		event.originalEvent = null;
		// initialize the results
		dd.results = [];
		// handle each interacted element
		do if ( ia = dd.interactions[ i ] ){
			// validate the interaction
			if ( type !== "dragend" && ia.cancelled )
				continue;
			// set the dragdrop properties on the event object
			callback = drag.properties( event, dd, ia );
			// prepare for more results
			ia.results = [];
			// handle each element
			$( elem || ia[ mode ] || dd.droppable ).each(function( p, subject ){
				// identify drag or drop targets individually
				callback.target = subject;
				// force propagtion of the custom event
				event.isPropagationStopped = function(){ return false; };
				// handle the event	
				result = subject ? $event.dispatch.call( subject, event, callback ) : null;
				// stop the drag interaction for this element
				if ( result === false ){
					if ( mode == "drag" ){
						ia.cancelled = true;
						dd.propagates -= 1;
					}
					if ( type == "drop" ){
						ia[ mode ][p] = null;
					}
				}
				// assign any dropinit elements
				else if ( type == "dropinit" )
					ia.droppable.push( drag.element( result ) || subject );
				// accept a returned proxy element 
				if ( type == "dragstart" )
					ia.proxy = $( drag.element( result ) || ia.drag )[0];
				// remember this result	
				ia.results.push( result );
				// forget the event result, for recycling
				delete event.result;
				// break on cancelled handler
				if ( type !== "dropinit" )
					return result;
			});	
			// flatten the results	
			dd.results[ i ] = drag.flatten( ia.results );	
			// accept a set of valid drop targets
			if ( type == "dropinit" )
				ia.droppable = drag.flatten( ia.droppable );
			// locate drop targets
			if ( type == "dragstart" && !ia.cancelled )
				callback.update(); 
		}
		while ( ++i < len )
		// restore the original event & type
		event.type = orig.type;
		event.originalEvent = orig.event;
		// return all handler results
		return drag.flatten( dd.results );
	},
		
	// extend the callback object with drag/drop properties...
	properties: function( event, dd, ia ){		
		var obj = ia.callback;
		// elements
		obj.drag = ia.drag;
		obj.proxy = ia.proxy || ia.drag;
		// starting mouse position
		obj.startX = dd.pageX;
		obj.startY = dd.pageY;
		// current distance dragged
		obj.deltaX = event.pageX - dd.pageX;
		obj.deltaY = event.pageY - dd.pageY;
		// original element position
		obj.originalX = ia.offset.left;
		obj.originalY = ia.offset.top;
		// adjusted element position
		obj.offsetX = obj.originalX + obj.deltaX; 
		obj.offsetY = obj.originalY + obj.deltaY;
		// assign the drop targets information
		obj.drop = drag.flatten( ( ia.drop || [] ).slice() );
		obj.available = drag.flatten( ( ia.droppable || [] ).slice() );
		return obj;	
	},
	
	// determine is the argument is an element or jquery instance
	element: function( arg ){
		if ( arg && ( arg.jquery || arg.nodeType == 1 ) )
			return arg;
	},
	
	// flatten nested jquery objects and arrays into a single dimension array
	flatten: function( arr ){
		return $.map( arr, function( member ){
			return member && member.jquery ? $.makeArray( member ) : 
				member && member.length ? drag.flatten( member ) : member;
		});
	},
	
	// toggles text selection attributes ON (true) or OFF (false)
	textselect: function( bool ){ 
		$( document )[ bool ? "unbind" : "bind" ]("selectstart", drag.dontstart )
			.css("MozUserSelect", bool ? "" : "none" );
		// .attr("unselectable", bool ? "off" : "on" )
		document.unselectable = bool ? "off" : "on"; 
	},
	
	// suppress "selectstart" and "ondragstart" events
	dontstart: function(){ 
		return false; 
	},
	
	// a callback instance contructor
	callback: function(){}
	
};

// callback methods
drag.callback.prototype = {
	update: function(){
		if ( $special.drop && this.available.length )
			$.each( this.available, function( i ){
				$special.drop.locate( this, i );
			});
	}
};

// patch $.event.$dispatch to allow suppressing clicks
var $dispatch = $event.dispatch;
$event.dispatch = function( event ){
	if ( $.data( this, "suppress."+ event.type ) - new Date().getTime() > 0 ){
		$.removeData( this, "suppress."+ event.type );
		return;
	}
	return $dispatch.apply( this, arguments );
};

// event fix hooks for touch events...
var touchHooks = 
$event.fixHooks.touchstart = 
$event.fixHooks.touchmove = 
$event.fixHooks.touchend =
$event.fixHooks.touchcancel = {
	props: "clientX clientY pageX pageY screenX screenY".split( " " ),
	filter: function( event, orig ) {
		if ( orig ){
			var touched = ( orig.touches && orig.touches[0] )
				|| ( orig.changedTouches && orig.changedTouches[0] )
				|| null; 
			// iOS webkit: touchstart, touchmove, touchend
			if ( touched ) 
				$.each( touchHooks.props, function( i, prop ){
					event[ prop ] = touched[ prop ];
				});
		}
		return event;
	}
};

// share the same special event configuration with related events...
$special.draginit = $special.dragstart = $special.dragend = drag;

})( jQuery );

/*
 * jPlayer Plugin for jQuery JavaScript Library
 * http://www.jplayer.org
 *
 * Copyright (c) 2009 - 2013 Happyworm Ltd
 * Licensed under the MIT license.
 * http://opensource.org/licenses/MIT
 *
 * Author: Mark J Panaghiston
 * Version: 2.4.0
 * Date: 5th June 2013
 */
 
(function(b,f){"function"===typeof define&&define.amd?define(["jquery"],f):b.jQuery?f(b.jQuery):f(b.Zepto)})(this,function(b,f){b.fn.jPlayer=function(a){var c="string"===typeof a,d=Array.prototype.slice.call(arguments,1),e=this;a=!c&&d.length?b.extend.apply(null,[!0,a].concat(d)):a;if(c&&"_"===a.charAt(0))return e;c?this.each(function(){var c=b(this).data("jPlayer"),h=c&&b.isFunction(c[a])?c[a].apply(c,d):c;if(h!==c&&h!==f)return e=h,!1}):this.each(function(){var c=b(this).data("jPlayer");c?c.option(a||
{}):b(this).data("jPlayer",new b.jPlayer(a,this))});return e};b.jPlayer=function(a,c){if(arguments.length){this.element=b(c);this.options=b.extend(!0,{},this.options,a);var d=this;this.element.bind("remove.jPlayer",function(){d.destroy()});this._init()}};"function"!==typeof b.fn.stop&&(b.fn.stop=function(){});b.jPlayer.emulateMethods="load play pause";b.jPlayer.emulateStatus="src readyState networkState currentTime duration paused ended playbackRate";b.jPlayer.emulateOptions="muted volume";b.jPlayer.reservedEvent=
"ready flashreset resize repeat error warning";b.jPlayer.event={};b.each("ready flashreset resize repeat click error warning loadstart progress suspend abort emptied stalled play pause loadedmetadata loadeddata waiting playing canplay canplaythrough seeking seeked timeupdate ended ratechange durationchange volumechange".split(" "),function(){b.jPlayer.event[this]="jPlayer_"+this});b.jPlayer.htmlEvent="loadstart abort emptied stalled loadedmetadata loadeddata canplay canplaythrough ratechange".split(" ");
b.jPlayer.pause=function(){b.each(b.jPlayer.prototype.instances,function(a,c){c.data("jPlayer").status.srcSet&&c.jPlayer("pause")})};b.jPlayer.timeFormat={showHour:!1,showMin:!0,showSec:!0,padHour:!1,padMin:!0,padSec:!0,sepHour:":",sepMin:":",sepSec:""};var l=function(){this.init()};l.prototype={init:function(){this.options={timeFormat:b.jPlayer.timeFormat}},time:function(a){var c=new Date(1E3*(a&&"number"===typeof a?a:0)),b=c.getUTCHours();a=this.options.timeFormat.showHour?c.getUTCMinutes():c.getUTCMinutes()+
60*b;c=this.options.timeFormat.showMin?c.getUTCSeconds():c.getUTCSeconds()+60*a;b=this.options.timeFormat.padHour&&10>b?"0"+b:b;a=this.options.timeFormat.padMin&&10>a?"0"+a:a;c=this.options.timeFormat.padSec&&10>c?"0"+c:c;b=""+(this.options.timeFormat.showHour?b+this.options.timeFormat.sepHour:"");b+=this.options.timeFormat.showMin?a+this.options.timeFormat.sepMin:"";return b+=this.options.timeFormat.showSec?c+this.options.timeFormat.sepSec:""}};var m=new l;b.jPlayer.convertTime=function(a){return m.time(a)};
b.jPlayer.uaBrowser=function(a){a=a.toLowerCase();var b=/(opera)(?:.*version)?[ \/]([\w.]+)/,d=/(msie) ([\w.]+)/,e=/(mozilla)(?:.*? rv:([\w.]+))?/;a=/(webkit)[ \/]([\w.]+)/.exec(a)||b.exec(a)||d.exec(a)||0>a.indexOf("compatible")&&e.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}};b.jPlayer.uaPlatform=function(a){var b=a.toLowerCase(),d=/(android)/,e=/(mobile)/;a=/(ipad|iphone|ipod|android|blackberry|playbook|windows ce|webos)/.exec(b)||[];b=/(ipad|playbook)/.exec(b)||!e.exec(b)&&d.exec(b)||
[];a[1]&&(a[1]=a[1].replace(/\s/g,"_"));return{platform:a[1]||"",tablet:b[1]||""}};b.jPlayer.browser={};b.jPlayer.platform={};var j=b.jPlayer.uaBrowser(navigator.userAgent);j.browser&&(b.jPlayer.browser[j.browser]=!0,b.jPlayer.browser.version=j.version);j=b.jPlayer.uaPlatform(navigator.userAgent);j.platform&&(b.jPlayer.platform[j.platform]=!0,b.jPlayer.platform.mobile=!j.tablet,b.jPlayer.platform.tablet=!!j.tablet);b.jPlayer.getDocMode=function(){var a;b.jPlayer.browser.msie&&(document.documentMode?
a=document.documentMode:(a=5,document.compatMode&&"CSS1Compat"===document.compatMode&&(a=7)));return a};b.jPlayer.browser.documentMode=b.jPlayer.getDocMode();b.jPlayer.nativeFeatures={init:function(){var a=document,b=a.createElement("video"),d={w3c:"fullscreenEnabled fullscreenElement requestFullscreen exitFullscreen fullscreenchange fullscreenerror".split(" "),moz:"mozFullScreenEnabled mozFullScreenElement mozRequestFullScreen mozCancelFullScreen mozfullscreenchange mozfullscreenerror".split(" "),
webkit:" webkitCurrentFullScreenElement webkitRequestFullScreen webkitCancelFullScreen webkitfullscreenchange ".split(" "),webkitVideo:"webkitSupportsFullscreen webkitDisplayingFullscreen webkitEnterFullscreen webkitExitFullscreen  ".split(" ")},e=["w3c","moz","webkit","webkitVideo"],g,h;this.fullscreen=b={support:{w3c:!!a[d.w3c[0]],moz:!!a[d.moz[0]],webkit:"function"===typeof a[d.webkit[3]],webkitVideo:"function"===typeof b[d.webkitVideo[2]]},used:{}};g=0;for(h=e.length;g<h;g++){var f=e[g];if(b.support[f]){b.spec=
f;b.used[f]=!0;break}}if(b.spec){var k=d[b.spec];b.api={fullscreenEnabled:!0,fullscreenElement:function(b){b=b?b:a;return b[k[1]]},requestFullscreen:function(a){return a[k[2]]()},exitFullscreen:function(b){b=b?b:a;return b[k[3]]()}};b.event={fullscreenchange:k[4],fullscreenerror:k[5]}}else b.api={fullscreenEnabled:!1,fullscreenElement:function(){return null},requestFullscreen:function(){},exitFullscreen:function(){}},b.event={}}};b.jPlayer.nativeFeatures.init();b.jPlayer.focus=null;b.jPlayer.keyIgnoreElementNames=
"INPUT TEXTAREA";var n=function(a){var c=b.jPlayer.focus,d;c&&(b.each(b.jPlayer.keyIgnoreElementNames.split(/\s+/g),function(b,c){if(a.target.nodeName.toUpperCase()===c.toUpperCase())return d=!0,!1}),d||b.each(c.options.keyBindings,function(d,g){if(g&&a.which===g.key&&b.isFunction(g.fn))return a.preventDefault(),g.fn(c),!1}))};b.jPlayer.keys=function(a){b(document.documentElement).unbind("keydown.jPlayer");a&&b(document.documentElement).bind("keydown.jPlayer",n)};b.jPlayer.keys(!0);b.jPlayer.prototype=
{count:0,version:{script:"2.4.0",needFlash:"2.4.0",flash:"unknown"},options:{swfPath:"js",solution:"html, flash",supplied:"mp3",preload:"metadata",volume:0.8,muted:!1,wmode:"opaque",backgroundColor:"#000000",cssSelectorAncestor:"#jp_container_1",cssSelector:{videoPlay:".jp-video-play",play:".jp-play",pause:".jp-pause",stop:".jp-stop",seekBar:".jp-seek-bar",playBar:".jp-play-bar",mute:".jp-mute",unmute:".jp-unmute",volumeBar:".jp-volume-bar",volumeBarValue:".jp-volume-bar-value",volumeMax:".jp-volume-max",
currentTime:".jp-current-time",duration:".jp-duration",fullScreen:".jp-full-screen",restoreScreen:".jp-restore-screen",repeat:".jp-repeat",repeatOff:".jp-repeat-off",gui:".jp-gui",noSolution:".jp-no-solution"},smoothPlayBar:!1,fullScreen:!1,fullWindow:!1,autohide:{restored:!1,full:!0,fadeIn:200,fadeOut:600,hold:1E3},loop:!1,repeat:function(a){a.jPlayer.options.loop?b(this).unbind(".jPlayerRepeat").bind(b.jPlayer.event.ended+".jPlayer.jPlayerRepeat",function(){b(this).jPlayer("play")}):b(this).unbind(".jPlayerRepeat")},
nativeVideoControls:{},noFullWindow:{msie:/msie [0-6]\./,ipad:/ipad.*?os [0-4]\./,iphone:/iphone/,ipod:/ipod/,android_pad:/android [0-3]\.(?!.*?mobile)/,android_phone:/android.*?mobile/,blackberry:/blackberry/,windows_ce:/windows ce/,iemobile:/iemobile/,webos:/webos/},noVolume:{ipad:/ipad/,iphone:/iphone/,ipod:/ipod/,android_pad:/android(?!.*?mobile)/,android_phone:/android.*?mobile/,blackberry:/blackberry/,windows_ce:/windows ce/,iemobile:/iemobile/,webos:/webos/,playbook:/playbook/},timeFormat:{},
keyEnabled:!1,audioFullScreen:!1,keyBindings:{play:{key:32,fn:function(a){a.status.paused?a.play():a.pause()}},fullScreen:{key:13,fn:function(a){(a.status.video||a.options.audioFullScreen)&&a._setOption("fullScreen",!a.options.fullScreen)}},muted:{key:8,fn:function(a){a._muted(!a.options.muted)}},volumeUp:{key:38,fn:function(a){a.volume(a.options.volume+0.1)}},volumeDown:{key:40,fn:function(a){a.volume(a.options.volume-0.1)}}},verticalVolume:!1,idPrefix:"jp",noConflict:"jQuery",emulateHtml:!1,errorAlerts:!1,
warningAlerts:!1},optionsAudio:{size:{width:"0px",height:"0px",cssClass:""},sizeFull:{width:"0px",height:"0px",cssClass:""}},optionsVideo:{size:{width:"480px",height:"270px",cssClass:"jp-video-270p"},sizeFull:{width:"100%",height:"100%",cssClass:"jp-video-full"}},instances:{},status:{src:"",media:{},paused:!0,format:{},formatType:"",waitForPlay:!0,waitForLoad:!0,srcSet:!1,video:!1,seekPercent:0,currentPercentRelative:0,currentPercentAbsolute:0,currentTime:0,duration:0,videoWidth:0,videoHeight:0,readyState:0,
networkState:0,playbackRate:1,ended:0},internal:{ready:!1},solution:{html:!0,flash:!0},format:{mp3:{codec:'audio/mpeg; codecs="mp3"',flashCanPlay:!0,media:"audio"},m4a:{codec:'audio/mp4; codecs="mp4a.40.2"',flashCanPlay:!0,media:"audio"},oga:{codec:'audio/ogg; codecs="vorbis"',flashCanPlay:!1,media:"audio"},wav:{codec:'audio/wav; codecs="1"',flashCanPlay:!1,media:"audio"},webma:{codec:'audio/webm; codecs="vorbis"',flashCanPlay:!1,media:"audio"},fla:{codec:"audio/x-flv",flashCanPlay:!0,media:"audio"},
rtmpa:{codec:'audio/rtmp; codecs="rtmp"',flashCanPlay:!0,media:"audio"},m4v:{codec:'video/mp4; codecs="avc1.42E01E, mp4a.40.2"',flashCanPlay:!0,media:"video"},ogv:{codec:'video/ogg; codecs="theora, vorbis"',flashCanPlay:!1,media:"video"},webmv:{codec:'video/webm; codecs="vorbis, vp8"',flashCanPlay:!1,media:"video"},flv:{codec:"video/x-flv",flashCanPlay:!0,media:"video"},rtmpv:{codec:'video/rtmp; codecs="rtmp"',flashCanPlay:!0,media:"video"}},_init:function(){var a=this;this.element.empty();this.status=
b.extend({},this.status);this.internal=b.extend({},this.internal);this.options.timeFormat=b.extend({},b.jPlayer.timeFormat,this.options.timeFormat);this.internal.cmdsIgnored=b.jPlayer.platform.ipad||b.jPlayer.platform.iphone||b.jPlayer.platform.ipod;this.internal.domNode=this.element.get(0);this.options.keyEnabled&&!b.jPlayer.focus&&(b.jPlayer.focus=this);this.formats=[];this.solutions=[];this.require={};this.htmlElement={};this.html={};this.html.audio={};this.html.video={};this.flash={};this.css=
{};this.css.cs={};this.css.jq={};this.ancestorJq=[];this.options.volume=this._limitValue(this.options.volume,0,1);b.each(this.options.supplied.toLowerCase().split(","),function(c,d){var e=d.replace(/^\s+|\s+$/g,"");if(a.format[e]){var f=!1;b.each(a.formats,function(a,b){if(e===b)return f=!0,!1});f||a.formats.push(e)}});b.each(this.options.solution.toLowerCase().split(","),function(c,d){var e=d.replace(/^\s+|\s+$/g,"");if(a.solution[e]){var f=!1;b.each(a.solutions,function(a,b){if(e===b)return f=!0,
!1});f||a.solutions.push(e)}});this.internal.instance="jp_"+this.count;this.instances[this.internal.instance]=this.element;this.element.attr("id")||this.element.attr("id",this.options.idPrefix+"_jplayer_"+this.count);this.internal.self=b.extend({},{id:this.element.attr("id"),jq:this.element});this.internal.audio=b.extend({},{id:this.options.idPrefix+"_audio_"+this.count,jq:f});this.internal.video=b.extend({},{id:this.options.idPrefix+"_video_"+this.count,jq:f});this.internal.flash=b.extend({},{id:this.options.idPrefix+
"_flash_"+this.count,jq:f,swf:this.options.swfPath+(".swf"!==this.options.swfPath.toLowerCase().slice(-4)?(this.options.swfPath&&"/"!==this.options.swfPath.slice(-1)?"/":"")+"Jplayer.swf":"")});this.internal.poster=b.extend({},{id:this.options.idPrefix+"_poster_"+this.count,jq:f});b.each(b.jPlayer.event,function(b,c){a.options[b]!==f&&(a.element.bind(c+".jPlayer",a.options[b]),a.options[b]=f)});this.require.audio=!1;this.require.video=!1;b.each(this.formats,function(b,c){a.require[a.format[c].media]=
!0});this.options=this.require.video?b.extend(!0,{},this.optionsVideo,this.options):b.extend(!0,{},this.optionsAudio,this.options);this._setSize();this.status.nativeVideoControls=this._uaBlocklist(this.options.nativeVideoControls);this.status.noFullWindow=this._uaBlocklist(this.options.noFullWindow);this.status.noVolume=this._uaBlocklist(this.options.noVolume);b.jPlayer.nativeFeatures.fullscreen.api.fullscreenEnabled&&this._fullscreenAddEventListeners();this._restrictNativeVideoControls();this.htmlElement.poster=
document.createElement("img");this.htmlElement.poster.id=this.internal.poster.id;this.htmlElement.poster.onload=function(){(!a.status.video||a.status.waitForPlay)&&a.internal.poster.jq.show()};this.element.append(this.htmlElement.poster);this.internal.poster.jq=b("#"+this.internal.poster.id);this.internal.poster.jq.css({width:this.status.width,height:this.status.height});this.internal.poster.jq.hide();this.internal.poster.jq.bind("click.jPlayer",function(){a._trigger(b.jPlayer.event.click)});this.html.audio.available=
!1;this.require.audio&&(this.htmlElement.audio=document.createElement("audio"),this.htmlElement.audio.id=this.internal.audio.id,this.html.audio.available=!!this.htmlElement.audio.canPlayType&&this._testCanPlayType(this.htmlElement.audio));this.html.video.available=!1;this.require.video&&(this.htmlElement.video=document.createElement("video"),this.htmlElement.video.id=this.internal.video.id,this.html.video.available=!!this.htmlElement.video.canPlayType&&this._testCanPlayType(this.htmlElement.video));
this.flash.available=this._checkForFlash(10.1);this.html.canPlay={};this.flash.canPlay={};b.each(this.formats,function(b,c){a.html.canPlay[c]=a.html[a.format[c].media].available&&""!==a.htmlElement[a.format[c].media].canPlayType(a.format[c].codec);a.flash.canPlay[c]=a.format[c].flashCanPlay&&a.flash.available});this.html.desired=!1;this.flash.desired=!1;b.each(this.solutions,function(c,d){if(0===c)a[d].desired=!0;else{var e=!1,f=!1;b.each(a.formats,function(b,c){a[a.solutions[0]].canPlay[c]&&("video"===
a.format[c].media?f=!0:e=!0)});a[d].desired=a.require.audio&&!e||a.require.video&&!f}});this.html.support={};this.flash.support={};b.each(this.formats,function(b,c){a.html.support[c]=a.html.canPlay[c]&&a.html.desired;a.flash.support[c]=a.flash.canPlay[c]&&a.flash.desired});this.html.used=!1;this.flash.used=!1;b.each(this.solutions,function(c,d){b.each(a.formats,function(b,c){if(a[d].support[c])return a[d].used=!0,!1})});this._resetActive();this._resetGate();this._cssSelectorAncestor(this.options.cssSelectorAncestor);
!this.html.used&&!this.flash.used?(this._error({type:b.jPlayer.error.NO_SOLUTION,context:"{solution:'"+this.options.solution+"', supplied:'"+this.options.supplied+"'}",message:b.jPlayer.errorMsg.NO_SOLUTION,hint:b.jPlayer.errorHint.NO_SOLUTION}),this.css.jq.noSolution.length&&this.css.jq.noSolution.show()):this.css.jq.noSolution.length&&this.css.jq.noSolution.hide();if(this.flash.used){var c,d="jQuery="+encodeURI(this.options.noConflict)+"&id="+encodeURI(this.internal.self.id)+"&vol="+this.options.volume+
"&muted="+this.options.muted;if(b.jPlayer.browser.msie&&(9>Number(b.jPlayer.browser.version)||9>b.jPlayer.browser.documentMode)){d=['<param name="movie" value="'+this.internal.flash.swf+'" />','<param name="FlashVars" value="'+d+'" />','<param name="allowScriptAccess" value="always" />','<param name="bgcolor" value="'+this.options.backgroundColor+'" />','<param name="wmode" value="'+this.options.wmode+'" />'];c=document.createElement('<object id="'+this.internal.flash.id+'" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="0" height="0" tabindex="-1"></object>');
for(var e=0;e<d.length;e++)c.appendChild(document.createElement(d[e]))}else e=function(a,b,c){var d=document.createElement("param");d.setAttribute("name",b);d.setAttribute("value",c);a.appendChild(d)},c=document.createElement("object"),c.setAttribute("id",this.internal.flash.id),c.setAttribute("name",this.internal.flash.id),c.setAttribute("data",this.internal.flash.swf),c.setAttribute("type","application/x-shockwave-flash"),c.setAttribute("width","1"),c.setAttribute("height","1"),c.setAttribute("tabindex",
"-1"),e(c,"flashvars",d),e(c,"allowscriptaccess","always"),e(c,"bgcolor",this.options.backgroundColor),e(c,"wmode",this.options.wmode);this.element.append(c);this.internal.flash.jq=b(c)}this.html.used&&(this.html.audio.available&&(this._addHtmlEventListeners(this.htmlElement.audio,this.html.audio),this.element.append(this.htmlElement.audio),this.internal.audio.jq=b("#"+this.internal.audio.id)),this.html.video.available&&(this._addHtmlEventListeners(this.htmlElement.video,this.html.video),this.element.append(this.htmlElement.video),
this.internal.video.jq=b("#"+this.internal.video.id),this.status.nativeVideoControls?this.internal.video.jq.css({width:this.status.width,height:this.status.height}):this.internal.video.jq.css({width:"0px",height:"0px"}),this.internal.video.jq.bind("click.jPlayer",function(){a._trigger(b.jPlayer.event.click)})));this.options.emulateHtml&&this._emulateHtmlBridge();this.html.used&&!this.flash.used&&setTimeout(function(){a.internal.ready=!0;a.version.flash="n/a";a._trigger(b.jPlayer.event.repeat);a._trigger(b.jPlayer.event.ready)},
100);this._updateNativeVideoControls();this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide();b.jPlayer.prototype.count++},destroy:function(){this.clearMedia();this._removeUiClass();this.css.jq.currentTime.length&&this.css.jq.currentTime.text("");this.css.jq.duration.length&&this.css.jq.duration.text("");b.each(this.css.jq,function(a,b){b.length&&b.unbind(".jPlayer")});this.internal.poster.jq.unbind(".jPlayer");this.internal.video.jq&&this.internal.video.jq.unbind(".jPlayer");this._fullscreenRemoveEventListeners();
this===b.jPlayer.focus&&(b.jPlayer.focus=null);this.options.emulateHtml&&this._destroyHtmlBridge();this.element.removeData("jPlayer");this.element.unbind(".jPlayer");this.element.empty();delete this.instances[this.internal.instance]},enable:function(){},disable:function(){},_testCanPlayType:function(a){try{return a.canPlayType(this.format.mp3.codec),!0}catch(b){return!1}},_uaBlocklist:function(a){var c=navigator.userAgent.toLowerCase(),d=!1;b.each(a,function(a,b){if(b&&b.test(c))return d=!0,!1});
return d},_restrictNativeVideoControls:function(){this.require.audio&&this.status.nativeVideoControls&&(this.status.nativeVideoControls=!1,this.status.noFullWindow=!0)},_updateNativeVideoControls:function(){this.html.video.available&&this.html.used&&(this.htmlElement.video.controls=this.status.nativeVideoControls,this._updateAutohide(),this.status.nativeVideoControls&&this.require.video?(this.internal.poster.jq.hide(),this.internal.video.jq.css({width:this.status.width,height:this.status.height})):
this.status.waitForPlay&&this.status.video&&(this.internal.poster.jq.show(),this.internal.video.jq.css({width:"0px",height:"0px"})))},_addHtmlEventListeners:function(a,c){var d=this;a.preload=this.options.preload;a.muted=this.options.muted;a.volume=this.options.volume;a.addEventListener("progress",function(){c.gate&&(d.internal.cmdsIgnored&&0<this.readyState&&(d.internal.cmdsIgnored=!1),d._getHtmlStatus(a),d._updateInterface(),d._trigger(b.jPlayer.event.progress))},!1);a.addEventListener("timeupdate",
function(){c.gate&&(d._getHtmlStatus(a),d._updateInterface(),d._trigger(b.jPlayer.event.timeupdate))},!1);a.addEventListener("durationchange",function(){c.gate&&(d._getHtmlStatus(a),d._updateInterface(),d._trigger(b.jPlayer.event.durationchange))},!1);a.addEventListener("play",function(){c.gate&&(d._updateButtons(!0),d._html_checkWaitForPlay(),d._trigger(b.jPlayer.event.play))},!1);a.addEventListener("playing",function(){c.gate&&(d._updateButtons(!0),d._seeked(),d._trigger(b.jPlayer.event.playing))},
!1);a.addEventListener("pause",function(){c.gate&&(d._updateButtons(!1),d._trigger(b.jPlayer.event.pause))},!1);a.addEventListener("waiting",function(){c.gate&&(d._seeking(),d._trigger(b.jPlayer.event.waiting))},!1);a.addEventListener("seeking",function(){c.gate&&(d._seeking(),d._trigger(b.jPlayer.event.seeking))},!1);a.addEventListener("seeked",function(){c.gate&&(d._seeked(),d._trigger(b.jPlayer.event.seeked))},!1);a.addEventListener("volumechange",function(){c.gate&&(d.options.volume=a.volume,
d.options.muted=a.muted,d._updateMute(),d._updateVolume(),d._trigger(b.jPlayer.event.volumechange))},!1);a.addEventListener("suspend",function(){c.gate&&(d._seeked(),d._trigger(b.jPlayer.event.suspend))},!1);a.addEventListener("ended",function(){c.gate&&(b.jPlayer.browser.webkit||(d.htmlElement.media.currentTime=0),d.htmlElement.media.pause(),d._updateButtons(!1),d._getHtmlStatus(a,!0),d._updateInterface(),d._trigger(b.jPlayer.event.ended))},!1);a.addEventListener("error",function(){c.gate&&(d._updateButtons(!1),
d._seeked(),d.status.srcSet&&(clearTimeout(d.internal.htmlDlyCmdId),d.status.waitForLoad=!0,d.status.waitForPlay=!0,d.status.video&&!d.status.nativeVideoControls&&d.internal.video.jq.css({width:"0px",height:"0px"}),d._validString(d.status.media.poster)&&!d.status.nativeVideoControls&&d.internal.poster.jq.show(),d.css.jq.videoPlay.length&&d.css.jq.videoPlay.show(),d._error({type:b.jPlayer.error.URL,context:d.status.src,message:b.jPlayer.errorMsg.URL,hint:b.jPlayer.errorHint.URL})))},!1);b.each(b.jPlayer.htmlEvent,
function(e,g){a.addEventListener(this,function(){c.gate&&d._trigger(b.jPlayer.event[g])},!1)})},_getHtmlStatus:function(a,b){var d=0,e=0,g=0,f=0;isFinite(a.duration)&&(this.status.duration=a.duration);d=a.currentTime;e=0<this.status.duration?100*d/this.status.duration:0;"object"===typeof a.seekable&&0<a.seekable.length?(g=0<this.status.duration?100*a.seekable.end(a.seekable.length-1)/this.status.duration:100,f=0<this.status.duration?100*a.currentTime/a.seekable.end(a.seekable.length-1):0):(g=100,
f=e);b&&(e=f=d=0);this.status.seekPercent=g;this.status.currentPercentRelative=f;this.status.currentPercentAbsolute=e;this.status.currentTime=d;this.status.videoWidth=a.videoWidth;this.status.videoHeight=a.videoHeight;this.status.readyState=a.readyState;this.status.networkState=a.networkState;this.status.playbackRate=a.playbackRate;this.status.ended=a.ended},_resetStatus:function(){this.status=b.extend({},this.status,b.jPlayer.prototype.status)},_trigger:function(a,c,d){a=b.Event(a);a.jPlayer={};
a.jPlayer.version=b.extend({},this.version);a.jPlayer.options=b.extend(!0,{},this.options);a.jPlayer.status=b.extend(!0,{},this.status);a.jPlayer.html=b.extend(!0,{},this.html);a.jPlayer.flash=b.extend(!0,{},this.flash);c&&(a.jPlayer.error=b.extend({},c));d&&(a.jPlayer.warning=b.extend({},d));this.element.trigger(a)},jPlayerFlashEvent:function(a,c){if(a===b.jPlayer.event.ready)if(this.internal.ready){if(this.flash.gate){if(this.status.srcSet){var d=this.status.currentTime,e=this.status.paused;this.setMedia(this.status.media);
0<d&&(e?this.pause(d):this.play(d))}this._trigger(b.jPlayer.event.flashreset)}}else this.internal.ready=!0,this.internal.flash.jq.css({width:"0px",height:"0px"}),this.version.flash=c.version,this.version.needFlash!==this.version.flash&&this._error({type:b.jPlayer.error.VERSION,context:this.version.flash,message:b.jPlayer.errorMsg.VERSION+this.version.flash,hint:b.jPlayer.errorHint.VERSION}),this._trigger(b.jPlayer.event.repeat),this._trigger(a);if(this.flash.gate)switch(a){case b.jPlayer.event.progress:this._getFlashStatus(c);
this._updateInterface();this._trigger(a);break;case b.jPlayer.event.timeupdate:this._getFlashStatus(c);this._updateInterface();this._trigger(a);break;case b.jPlayer.event.play:this._seeked();this._updateButtons(!0);this._trigger(a);break;case b.jPlayer.event.pause:this._updateButtons(!1);this._trigger(a);break;case b.jPlayer.event.ended:this._updateButtons(!1);this._trigger(a);break;case b.jPlayer.event.click:this._trigger(a);break;case b.jPlayer.event.error:this.status.waitForLoad=!0;this.status.waitForPlay=
!0;this.status.video&&this.internal.flash.jq.css({width:"0px",height:"0px"});this._validString(this.status.media.poster)&&this.internal.poster.jq.show();this.css.jq.videoPlay.length&&this.status.video&&this.css.jq.videoPlay.show();this.status.video?this._flash_setVideo(this.status.media):this._flash_setAudio(this.status.media);this._updateButtons(!1);this._error({type:b.jPlayer.error.URL,context:c.src,message:b.jPlayer.errorMsg.URL,hint:b.jPlayer.errorHint.URL});break;case b.jPlayer.event.seeking:this._seeking();
this._trigger(a);break;case b.jPlayer.event.seeked:this._seeked();this._trigger(a);break;case b.jPlayer.event.ready:break;default:this._trigger(a)}return!1},_getFlashStatus:function(a){this.status.seekPercent=a.seekPercent;this.status.currentPercentRelative=a.currentPercentRelative;this.status.currentPercentAbsolute=a.currentPercentAbsolute;this.status.currentTime=a.currentTime;this.status.duration=a.duration;this.status.videoWidth=a.videoWidth;this.status.videoHeight=a.videoHeight;this.status.readyState=
4;this.status.networkState=0;this.status.playbackRate=1;this.status.ended=!1},_updateButtons:function(a){a===f?a=!this.status.paused:this.status.paused=!a;this.css.jq.play.length&&this.css.jq.pause.length&&(a?(this.css.jq.play.hide(),this.css.jq.pause.show()):(this.css.jq.play.show(),this.css.jq.pause.hide()));this.css.jq.restoreScreen.length&&this.css.jq.fullScreen.length&&(this.status.noFullWindow?(this.css.jq.fullScreen.hide(),this.css.jq.restoreScreen.hide()):this.options.fullWindow?(this.css.jq.fullScreen.hide(),
this.css.jq.restoreScreen.show()):(this.css.jq.fullScreen.show(),this.css.jq.restoreScreen.hide()));this.css.jq.repeat.length&&this.css.jq.repeatOff.length&&(this.options.loop?(this.css.jq.repeat.hide(),this.css.jq.repeatOff.show()):(this.css.jq.repeat.show(),this.css.jq.repeatOff.hide()))},_updateInterface:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.width(this.status.seekPercent+"%");this.css.jq.playBar.length&&(this.options.smoothPlayBar?this.css.jq.playBar.stop().animate({width:this.status.currentPercentAbsolute+
"%"},250,"linear"):this.css.jq.playBar.width(this.status.currentPercentRelative+"%"));this.css.jq.currentTime.length&&this.css.jq.currentTime.text(this._convertTime(this.status.currentTime));this.css.jq.duration.length&&this.css.jq.duration.text(this._convertTime(this.status.duration))},_convertTime:l.prototype.time,_seeking:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.addClass("jp-seeking-bg")},_seeked:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.removeClass("jp-seeking-bg")},
_resetGate:function(){this.html.audio.gate=!1;this.html.video.gate=!1;this.flash.gate=!1},_resetActive:function(){this.html.active=!1;this.flash.active=!1},setMedia:function(a){var c=this,d=!1,e=this.status.media.poster!==a.poster;this._resetMedia();this._resetGate();this._resetActive();b.each(this.formats,function(e,f){var j="video"===c.format[f].media;b.each(c.solutions,function(b,e){if(c[e].support[f]&&c._validString(a[f])){var g="html"===e;j?(g?(c.html.video.gate=!0,c._html_setVideo(a),c.html.active=
!0):(c.flash.gate=!0,c._flash_setVideo(a),c.flash.active=!0),c.css.jq.videoPlay.length&&c.css.jq.videoPlay.show(),c.status.video=!0):(g?(c.html.audio.gate=!0,c._html_setAudio(a),c.html.active=!0):(c.flash.gate=!0,c._flash_setAudio(a),c.flash.active=!0),c.css.jq.videoPlay.length&&c.css.jq.videoPlay.hide(),c.status.video=!1);d=!0;return!1}});if(d)return!1});if(d){if((!this.status.nativeVideoControls||!this.html.video.gate)&&this._validString(a.poster))e?this.htmlElement.poster.src=a.poster:this.internal.poster.jq.show();
this.status.srcSet=!0;this.status.media=b.extend({},a);this._updateButtons(!1);this._updateInterface()}else this._error({type:b.jPlayer.error.NO_SUPPORT,context:"{supplied:'"+this.options.supplied+"'}",message:b.jPlayer.errorMsg.NO_SUPPORT,hint:b.jPlayer.errorHint.NO_SUPPORT})},_resetMedia:function(){this._resetStatus();this._updateButtons(!1);this._updateInterface();this._seeked();this.internal.poster.jq.hide();clearTimeout(this.internal.htmlDlyCmdId);this.html.active?this._html_resetMedia():this.flash.active&&
this._flash_resetMedia()},clearMedia:function(){this._resetMedia();this.html.active?this._html_clearMedia():this.flash.active&&this._flash_clearMedia();this._resetGate();this._resetActive()},load:function(){this.status.srcSet?this.html.active?this._html_load():this.flash.active&&this._flash_load():this._urlNotSetError("load")},focus:function(){this.options.keyEnabled&&(b.jPlayer.focus=this)},play:function(a){a="number"===typeof a?a:NaN;this.status.srcSet?(this.focus(),this.html.active?this._html_play(a):
this.flash.active&&this._flash_play(a)):this._urlNotSetError("play")},videoPlay:function(){this.play()},pause:function(a){a="number"===typeof a?a:NaN;this.status.srcSet?this.html.active?this._html_pause(a):this.flash.active&&this._flash_pause(a):this._urlNotSetError("pause")},pauseOthers:function(){var a=this;b.each(this.instances,function(b,d){a.element!==d&&d.data("jPlayer").status.srcSet&&d.jPlayer("pause")})},stop:function(){this.status.srcSet?this.html.active?this._html_pause(0):this.flash.active&&
this._flash_pause(0):this._urlNotSetError("stop")},playHead:function(a){a=this._limitValue(a,0,100);this.status.srcSet?this.html.active?this._html_playHead(a):this.flash.active&&this._flash_playHead(a):this._urlNotSetError("playHead")},_muted:function(a){this.options.muted=a;this.html.used&&this._html_mute(a);this.flash.used&&this._flash_mute(a);!this.html.video.gate&&!this.html.audio.gate&&(this._updateMute(a),this._updateVolume(this.options.volume),this._trigger(b.jPlayer.event.volumechange))},
mute:function(a){a=a===f?!0:!!a;this._muted(a)},unmute:function(a){a=a===f?!0:!!a;this._muted(!a)},_updateMute:function(a){a===f&&(a=this.options.muted);this.css.jq.mute.length&&this.css.jq.unmute.length&&(this.status.noVolume?(this.css.jq.mute.hide(),this.css.jq.unmute.hide()):a?(this.css.jq.mute.hide(),this.css.jq.unmute.show()):(this.css.jq.mute.show(),this.css.jq.unmute.hide()))},volume:function(a){a=this._limitValue(a,0,1);this.options.volume=a;this.html.used&&this._html_volume(a);this.flash.used&&
this._flash_volume(a);!this.html.video.gate&&!this.html.audio.gate&&(this._updateVolume(a),this._trigger(b.jPlayer.event.volumechange))},volumeBar:function(a){if(this.css.jq.volumeBar.length){var c=b(a.currentTarget),d=c.offset(),e=a.pageX-d.left,g=c.width();a=c.height()-a.pageY+d.top;c=c.height();this.options.verticalVolume?this.volume(a/c):this.volume(e/g)}this.options.muted&&this._muted(!1)},volumeBarValue:function(){},_updateVolume:function(a){a===f&&(a=this.options.volume);a=this.options.muted?
0:a;this.status.noVolume?(this.css.jq.volumeBar.length&&this.css.jq.volumeBar.hide(),this.css.jq.volumeBarValue.length&&this.css.jq.volumeBarValue.hide(),this.css.jq.volumeMax.length&&this.css.jq.volumeMax.hide()):(this.css.jq.volumeBar.length&&this.css.jq.volumeBar.show(),this.css.jq.volumeBarValue.length&&(this.css.jq.volumeBarValue.show(),this.css.jq.volumeBarValue[this.options.verticalVolume?"height":"width"](100*a+"%")),this.css.jq.volumeMax.length&&this.css.jq.volumeMax.show())},volumeMax:function(){this.volume(1);
this.options.muted&&this._muted(!1)},_cssSelectorAncestor:function(a){var c=this;this.options.cssSelectorAncestor=a;this._removeUiClass();this.ancestorJq=a?b(a):[];a&&1!==this.ancestorJq.length&&this._warning({type:b.jPlayer.warning.CSS_SELECTOR_COUNT,context:a,message:b.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.ancestorJq.length+" found for cssSelectorAncestor.",hint:b.jPlayer.warningHint.CSS_SELECTOR_COUNT});this._addUiClass();b.each(this.options.cssSelector,function(a,b){c._cssSelector(a,b)});
this._updateInterface();this._updateButtons();this._updateAutohide();this._updateVolume();this._updateMute()},_cssSelector:function(a,c){var d=this;"string"===typeof c?b.jPlayer.prototype.options.cssSelector[a]?(this.css.jq[a]&&this.css.jq[a].length&&this.css.jq[a].unbind(".jPlayer"),this.options.cssSelector[a]=c,this.css.cs[a]=this.options.cssSelectorAncestor+" "+c,this.css.jq[a]=c?b(this.css.cs[a]):[],this.css.jq[a].length&&this.css.jq[a].bind("click.jPlayer",function(c){c.preventDefault();d[a](c);
b(this).blur()}),c&&1!==this.css.jq[a].length&&this._warning({type:b.jPlayer.warning.CSS_SELECTOR_COUNT,context:this.css.cs[a],message:b.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.css.jq[a].length+" found for "+a+" method.",hint:b.jPlayer.warningHint.CSS_SELECTOR_COUNT})):this._warning({type:b.jPlayer.warning.CSS_SELECTOR_METHOD,context:a,message:b.jPlayer.warningMsg.CSS_SELECTOR_METHOD,hint:b.jPlayer.warningHint.CSS_SELECTOR_METHOD}):this._warning({type:b.jPlayer.warning.CSS_SELECTOR_STRING,context:c,
message:b.jPlayer.warningMsg.CSS_SELECTOR_STRING,hint:b.jPlayer.warningHint.CSS_SELECTOR_STRING})},seekBar:function(a){if(this.css.jq.seekBar.length){var c=b(a.currentTarget),d=c.offset();a=a.pageX-d.left;c=c.width();this.playHead(100*a/c)}},playBar:function(){},repeat:function(){this._loop(!0)},repeatOff:function(){this._loop(!1)},_loop:function(a){this.options.loop!==a&&(this.options.loop=a,this._updateButtons(),this._trigger(b.jPlayer.event.repeat))},currentTime:function(){},duration:function(){},
gui:function(){},noSolution:function(){},option:function(a,c){var d=a;if(0===arguments.length)return b.extend(!0,{},this.options);if("string"===typeof a){var e=a.split(".");if(c===f){for(var d=b.extend(!0,{},this.options),g=0;g<e.length;g++)if(d[e[g]]!==f)d=d[e[g]];else return this._warning({type:b.jPlayer.warning.OPTION_KEY,context:a,message:b.jPlayer.warningMsg.OPTION_KEY,hint:b.jPlayer.warningHint.OPTION_KEY}),f;return d}for(var g=d={},h=0;h<e.length;h++)h<e.length-1?(g[e[h]]={},g=g[e[h]]):g[e[h]]=
c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,c){var d=this;switch(a){case "volume":this.volume(c);break;case "muted":this._muted(c);break;case "cssSelectorAncestor":this._cssSelectorAncestor(c);break;case "cssSelector":b.each(c,function(a,b){d._cssSelector(a,b)});break;case "fullScreen":if(this.options[a]!==c){var e=b.jPlayer.nativeFeatures.fullscreen.used.webkitVideo;if(!e||e&&!this.status.waitForPlay)e||
(this.options[a]=c),c?this._requestFullscreen():this._exitFullscreen(),e||this._setOption("fullWindow",c)}break;case "fullWindow":this.options[a]!==c&&(this._removeUiClass(),this.options[a]=c,this._refreshSize());break;case "size":!this.options.fullWindow&&this.options[a].cssClass!==c.cssClass&&this._removeUiClass();this.options[a]=b.extend({},this.options[a],c);this._refreshSize();break;case "sizeFull":this.options.fullWindow&&this.options[a].cssClass!==c.cssClass&&this._removeUiClass();this.options[a]=
b.extend({},this.options[a],c);this._refreshSize();break;case "autohide":this.options[a]=b.extend({},this.options[a],c);this._updateAutohide();break;case "loop":this._loop(c);break;case "nativeVideoControls":this.options[a]=b.extend({},this.options[a],c);this.status.nativeVideoControls=this._uaBlocklist(this.options.nativeVideoControls);this._restrictNativeVideoControls();this._updateNativeVideoControls();break;case "noFullWindow":this.options[a]=b.extend({},this.options[a],c);this.status.nativeVideoControls=
this._uaBlocklist(this.options.nativeVideoControls);this.status.noFullWindow=this._uaBlocklist(this.options.noFullWindow);this._restrictNativeVideoControls();this._updateButtons();break;case "noVolume":this.options[a]=b.extend({},this.options[a],c);this.status.noVolume=this._uaBlocklist(this.options.noVolume);this._updateVolume();this._updateMute();break;case "emulateHtml":this.options[a]!==c&&((this.options[a]=c)?this._emulateHtmlBridge():this._destroyHtmlBridge());break;case "timeFormat":this.options[a]=
b.extend({},this.options[a],c);break;case "keyEnabled":this.options[a]=c;!c&&this===b.jPlayer.focus&&(b.jPlayer.focus=null);break;case "keyBindings":this.options[a]=b.extend(!0,{},this.options[a],c);break;case "audioFullScreen":this.options[a]=c}return this},_refreshSize:function(){this._setSize();this._addUiClass();this._updateSize();this._updateButtons();this._updateAutohide();this._trigger(b.jPlayer.event.resize)},_setSize:function(){this.options.fullWindow?(this.status.width=this.options.sizeFull.width,
this.status.height=this.options.sizeFull.height,this.status.cssClass=this.options.sizeFull.cssClass):(this.status.width=this.options.size.width,this.status.height=this.options.size.height,this.status.cssClass=this.options.size.cssClass);this.element.css({width:this.status.width,height:this.status.height})},_addUiClass:function(){this.ancestorJq.length&&this.ancestorJq.addClass(this.status.cssClass)},_removeUiClass:function(){this.ancestorJq.length&&this.ancestorJq.removeClass(this.status.cssClass)},
_updateSize:function(){this.internal.poster.jq.css({width:this.status.width,height:this.status.height});!this.status.waitForPlay&&this.html.active&&this.status.video||this.html.video.available&&this.html.used&&this.status.nativeVideoControls?this.internal.video.jq.css({width:this.status.width,height:this.status.height}):!this.status.waitForPlay&&(this.flash.active&&this.status.video)&&this.internal.flash.jq.css({width:this.status.width,height:this.status.height})},_updateAutohide:function(){var a=
this,b=function(){a.css.jq.gui.fadeIn(a.options.autohide.fadeIn,function(){clearTimeout(a.internal.autohideId);a.internal.autohideId=setTimeout(function(){a.css.jq.gui.fadeOut(a.options.autohide.fadeOut)},a.options.autohide.hold)})};this.css.jq.gui.length&&(this.css.jq.gui.stop(!0,!0),clearTimeout(this.internal.autohideId),this.element.unbind(".jPlayerAutohide"),this.css.jq.gui.unbind(".jPlayerAutohide"),this.status.nativeVideoControls?this.css.jq.gui.hide():this.options.fullWindow&&this.options.autohide.full||
!this.options.fullWindow&&this.options.autohide.restored?(this.element.bind("mousemove.jPlayer.jPlayerAutohide",b),this.css.jq.gui.bind("mousemove.jPlayer.jPlayerAutohide",b),this.css.jq.gui.hide()):this.css.jq.gui.show())},fullScreen:function(){this._setOption("fullScreen",!0)},restoreScreen:function(){this._setOption("fullScreen",!1)},_fullscreenAddEventListeners:function(){var a=this,c=b.jPlayer.nativeFeatures.fullscreen;c.api.fullscreenEnabled&&c.event.fullscreenchange&&("function"!==typeof this.internal.fullscreenchangeHandler&&
(this.internal.fullscreenchangeHandler=function(){a._fullscreenchange()}),document.addEventListener(c.event.fullscreenchange,this.internal.fullscreenchangeHandler,!1))},_fullscreenRemoveEventListeners:function(){var a=b.jPlayer.nativeFeatures.fullscreen;this.internal.fullscreenchangeHandler&&document.addEventListener(a.event.fullscreenchange,this.internal.fullscreenchangeHandler,!1)},_fullscreenchange:function(){this.options.fullScreen&&!b.jPlayer.nativeFeatures.fullscreen.api.fullscreenElement()&&
this._setOption("fullScreen",!1)},_requestFullscreen:function(){var a=this.ancestorJq.length?this.ancestorJq[0]:this.element[0],c=b.jPlayer.nativeFeatures.fullscreen;c.used.webkitVideo&&(a=this.htmlElement.video);c.api.fullscreenEnabled&&c.api.requestFullscreen(a)},_exitFullscreen:function(){var a=b.jPlayer.nativeFeatures.fullscreen,c;a.used.webkitVideo&&(c=this.htmlElement.video);a.api.fullscreenEnabled&&a.api.exitFullscreen(c)},_html_initMedia:function(a){var c=b(this.htmlElement.media).empty();
b.each(a.track||[],function(a,b){var g=document.createElement("track");g.setAttribute("kind",b.kind?b.kind:"");g.setAttribute("src",b.src?b.src:"");g.setAttribute("srclang",b.srclang?b.srclang:"");g.setAttribute("label",b.label?b.label:"");b.def&&g.setAttribute("default",b.def);c.append(g)});this.htmlElement.media.src=this.status.src;"none"!==this.options.preload&&this._html_load();this._trigger(b.jPlayer.event.timeupdate)},_html_setFormat:function(a){var c=this;b.each(this.formats,function(b,e){if(c.html.support[e]&&
a[e])return c.status.src=a[e],c.status.format[e]=!0,c.status.formatType=e,!1})},_html_setAudio:function(a){this._html_setFormat(a);this.htmlElement.media=this.htmlElement.audio;this._html_initMedia(a)},_html_setVideo:function(a){this._html_setFormat(a);this.status.nativeVideoControls&&(this.htmlElement.video.poster=this._validString(a.poster)?a.poster:"");this.htmlElement.media=this.htmlElement.video;this._html_initMedia(a)},_html_resetMedia:function(){this.htmlElement.media&&(this.htmlElement.media.id===
this.internal.video.id&&!this.status.nativeVideoControls&&this.internal.video.jq.css({width:"0px",height:"0px"}),this.htmlElement.media.pause())},_html_clearMedia:function(){this.htmlElement.media&&(this.htmlElement.media.src="about:blank",this.htmlElement.media.load())},_html_load:function(){this.status.waitForLoad&&(this.status.waitForLoad=!1,this.htmlElement.media.load());clearTimeout(this.internal.htmlDlyCmdId)},_html_play:function(a){var b=this,d=this.htmlElement.media;this._html_load();if(isNaN(a))d.play();
else{this.internal.cmdsIgnored&&d.play();try{if(!d.seekable||"object"===typeof d.seekable&&0<d.seekable.length)d.currentTime=a,d.play();else throw 1;}catch(e){this.internal.htmlDlyCmdId=setTimeout(function(){b.play(a)},250);return}}this._html_checkWaitForPlay()},_html_pause:function(a){var b=this,d=this.htmlElement.media;0<a?this._html_load():clearTimeout(this.internal.htmlDlyCmdId);d.pause();if(!isNaN(a))try{if(!d.seekable||"object"===typeof d.seekable&&0<d.seekable.length)d.currentTime=a;else throw 1;
}catch(e){this.internal.htmlDlyCmdId=setTimeout(function(){b.pause(a)},250);return}0<a&&this._html_checkWaitForPlay()},_html_playHead:function(a){var b=this,d=this.htmlElement.media;this._html_load();try{if("object"===typeof d.seekable&&0<d.seekable.length)d.currentTime=a*d.seekable.end(d.seekable.length-1)/100;else if(0<d.duration&&!isNaN(d.duration))d.currentTime=a*d.duration/100;else throw"e";}catch(e){this.internal.htmlDlyCmdId=setTimeout(function(){b.playHead(a)},250);return}this.status.waitForLoad||
this._html_checkWaitForPlay()},_html_checkWaitForPlay:function(){this.status.waitForPlay&&(this.status.waitForPlay=!1,this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide(),this.status.video&&(this.internal.poster.jq.hide(),this.internal.video.jq.css({width:this.status.width,height:this.status.height})))},_html_volume:function(a){this.html.audio.available&&(this.htmlElement.audio.volume=a);this.html.video.available&&(this.htmlElement.video.volume=a)},_html_mute:function(a){this.html.audio.available&&
(this.htmlElement.audio.muted=a);this.html.video.available&&(this.htmlElement.video.muted=a)},_flash_setAudio:function(a){var c=this;try{b.each(this.formats,function(b,d){if(c.flash.support[d]&&a[d]){switch(d){case "m4a":case "fla":c._getMovie().fl_setAudio_m4a(a[d]);break;case "mp3":c._getMovie().fl_setAudio_mp3(a[d]);break;case "rtmpa":c._getMovie().fl_setAudio_rtmp(a[d])}c.status.src=a[d];c.status.format[d]=!0;c.status.formatType=d;return!1}}),"auto"===this.options.preload&&(this._flash_load(),
this.status.waitForLoad=!1)}catch(d){this._flashError(d)}},_flash_setVideo:function(a){var c=this;try{b.each(this.formats,function(b,d){if(c.flash.support[d]&&a[d]){switch(d){case "m4v":case "flv":c._getMovie().fl_setVideo_m4v(a[d]);break;case "rtmpv":c._getMovie().fl_setVideo_rtmp(a[d])}c.status.src=a[d];c.status.format[d]=!0;c.status.formatType=d;return!1}}),"auto"===this.options.preload&&(this._flash_load(),this.status.waitForLoad=!1)}catch(d){this._flashError(d)}},_flash_resetMedia:function(){this.internal.flash.jq.css({width:"0px",
height:"0px"});this._flash_pause(NaN)},_flash_clearMedia:function(){try{this._getMovie().fl_clearMedia()}catch(a){this._flashError(a)}},_flash_load:function(){try{this._getMovie().fl_load()}catch(a){this._flashError(a)}this.status.waitForLoad=!1},_flash_play:function(a){try{this._getMovie().fl_play(a)}catch(b){this._flashError(b)}this.status.waitForLoad=!1;this._flash_checkWaitForPlay()},_flash_pause:function(a){try{this._getMovie().fl_pause(a)}catch(b){this._flashError(b)}0<a&&(this.status.waitForLoad=
!1,this._flash_checkWaitForPlay())},_flash_playHead:function(a){try{this._getMovie().fl_play_head(a)}catch(b){this._flashError(b)}this.status.waitForLoad||this._flash_checkWaitForPlay()},_flash_checkWaitForPlay:function(){this.status.waitForPlay&&(this.status.waitForPlay=!1,this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide(),this.status.video&&(this.internal.poster.jq.hide(),this.internal.flash.jq.css({width:this.status.width,height:this.status.height})))},_flash_volume:function(a){try{this._getMovie().fl_volume(a)}catch(b){this._flashError(b)}},
_flash_mute:function(a){try{this._getMovie().fl_mute(a)}catch(b){this._flashError(b)}},_getMovie:function(){return document[this.internal.flash.id]},_getFlashPluginVersion:function(){var a=0,b;if(window.ActiveXObject)try{if(b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")){var d=b.GetVariable("$version");d&&(d=d.split(" ")[1].split(","),a=parseInt(d[0],10)+"."+parseInt(d[1],10))}}catch(e){}else navigator.plugins&&0<navigator.mimeTypes.length&&(b=navigator.plugins["Shockwave Flash"])&&(a=navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/,
"$1"));return 1*a},_checkForFlash:function(a){var b=!1;this._getFlashPluginVersion()>=a&&(b=!0);return b},_validString:function(a){return a&&"string"===typeof a},_limitValue:function(a,b,d){return a<b?b:a>d?d:a},_urlNotSetError:function(a){this._error({type:b.jPlayer.error.URL_NOT_SET,context:a,message:b.jPlayer.errorMsg.URL_NOT_SET,hint:b.jPlayer.errorHint.URL_NOT_SET})},_flashError:function(a){var c;c=this.internal.ready?"FLASH_DISABLED":"FLASH";this._error({type:b.jPlayer.error[c],context:this.internal.flash.swf,
message:b.jPlayer.errorMsg[c]+a.message,hint:b.jPlayer.errorHint[c]});this.internal.flash.jq.css({width:"1px",height:"1px"})},_error:function(a){this._trigger(b.jPlayer.event.error,a);this.options.errorAlerts&&this._alert("Error!"+(a.message?"\n\n"+a.message:"")+(a.hint?"\n\n"+a.hint:"")+"\n\nContext: "+a.context)},_warning:function(a){this._trigger(b.jPlayer.event.warning,f,a);this.options.warningAlerts&&this._alert("Warning!"+(a.message?"\n\n"+a.message:"")+(a.hint?"\n\n"+a.hint:"")+"\n\nContext: "+
a.context)},_alert:function(a){alert("jPlayer "+this.version.script+" : id='"+this.internal.self.id+"' : "+a)},_emulateHtmlBridge:function(){var a=this;b.each(b.jPlayer.emulateMethods.split(/\s+/g),function(b,d){a.internal.domNode[d]=function(b){a[d](b)}});b.each(b.jPlayer.event,function(c,d){var e=!0;b.each(b.jPlayer.reservedEvent.split(/\s+/g),function(a,b){if(b===c)return e=!1});e&&a.element.bind(d+".jPlayer.jPlayerHtml",function(){a._emulateHtmlUpdate();var b=document.createEvent("Event");b.initEvent(c,
!1,!0);a.internal.domNode.dispatchEvent(b)})})},_emulateHtmlUpdate:function(){var a=this;b.each(b.jPlayer.emulateStatus.split(/\s+/g),function(b,d){a.internal.domNode[d]=a.status[d]});b.each(b.jPlayer.emulateOptions.split(/\s+/g),function(b,d){a.internal.domNode[d]=a.options[d]})},_destroyHtmlBridge:function(){var a=this;this.element.unbind(".jPlayerHtml");b.each((b.jPlayer.emulateMethods+" "+b.jPlayer.emulateStatus+" "+b.jPlayer.emulateOptions).split(/\s+/g),function(b,d){delete a.internal.domNode[d]})}};
b.jPlayer.error={FLASH:"e_flash",FLASH_DISABLED:"e_flash_disabled",NO_SOLUTION:"e_no_solution",NO_SUPPORT:"e_no_support",URL:"e_url",URL_NOT_SET:"e_url_not_set",VERSION:"e_version"};b.jPlayer.errorMsg={FLASH:"jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ",FLASH_DISABLED:"jPlayer's Flash fallback has been disabled by the browser due to the CSS rules you have used. Details: ",NO_SOLUTION:"No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.",
NO_SUPPORT:"It is not possible to play any media format provided in setMedia() on this browser using your current options.",URL:"Media URL could not be loaded.",URL_NOT_SET:"Attempt to issue media playback commands, while no media url is set.",VERSION:"jPlayer "+b.jPlayer.prototype.version.script+" needs Jplayer.swf version "+b.jPlayer.prototype.version.needFlash+" but found "};b.jPlayer.errorHint={FLASH:"Check your swfPath option and that Jplayer.swf is there.",FLASH_DISABLED:"Check that you have not display:none; the jPlayer entity or any ancestor.",
NO_SOLUTION:"Review the jPlayer options: support and supplied.",NO_SUPPORT:"Video or audio formats defined in the supplied option are missing.",URL:"Check media URL is valid.",URL_NOT_SET:"Use setMedia() to set the media URL.",VERSION:"Update jPlayer files."};b.jPlayer.warning={CSS_SELECTOR_COUNT:"e_css_selector_count",CSS_SELECTOR_METHOD:"e_css_selector_method",CSS_SELECTOR_STRING:"e_css_selector_string",OPTION_KEY:"e_option_key"};b.jPlayer.warningMsg={CSS_SELECTOR_COUNT:"The number of css selectors found did not equal one: ",
CSS_SELECTOR_METHOD:"The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.",CSS_SELECTOR_STRING:"The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.",OPTION_KEY:"The option requested in jPlayer('option') is undefined."};b.jPlayer.warningHint={CSS_SELECTOR_COUNT:"Check your css selector and the ancestor.",CSS_SELECTOR_METHOD:"Check your method name.",CSS_SELECTOR_STRING:"Check your css selector is a string.",OPTION_KEY:"Check your option name."}});

/*! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 * Thanks to: Seamus Leahy for adding deltaX and deltaY
 *
 * Version: 3.1.3
 *
 * Requires: 1.2.2+
 */

(function (factory) {
    if ( typeof define === 'function' && define.amd ) {
        // AMD. Register as an anonymous module.
        define(['jquery'], factory);
    } else if (typeof exports === 'object') {
        // Node/CommonJS style for Browserify
        module.exports = factory;
    } else {
        // Browser globals
        factory(jQuery);
    }
}(function ($) {

    var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'];
    var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'];
    var lowestDelta, lowestDeltaXY;

    if ( $.event.fixHooks ) {
        for ( var i = toFix.length; i; ) {
            $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
        }
    }

    $.event.special.mousewheel = {
        setup: function() {
            if ( this.addEventListener ) {
                for ( var i = toBind.length; i; ) {
                    this.addEventListener( toBind[--i], handler, false );
                }
            } else {
                this.onmousewheel = handler;
            }
        },

        teardown: function() {
            if ( this.removeEventListener ) {
                for ( var i = toBind.length; i; ) {
                    this.removeEventListener( toBind[--i], handler, false );
                }
            } else {
                this.onmousewheel = null;
            }
        }
    };

    $.fn.extend({
        mousewheel: function(fn) {
            return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
        },

        unmousewheel: function(fn) {
            return this.unbind("mousewheel", fn);
        }
    });


    function handler(event) {
        var orgEvent = event || window.event,
            args = [].slice.call(arguments, 1),
            delta = 0,
            deltaX = 0,
            deltaY = 0,
            absDelta = 0,
            absDeltaXY = 0,
            fn;
        event = $.event.fix(orgEvent);
        event.type = "mousewheel";

        // Old school scrollwheel delta
        if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; }
        if ( orgEvent.detail )     { delta = orgEvent.detail * -1; }

        // New school wheel delta (wheel event)
        if ( orgEvent.deltaY ) {
            deltaY = orgEvent.deltaY * -1;
            delta  = deltaY;
        }
        if ( orgEvent.deltaX ) {
            deltaX = orgEvent.deltaX;
            delta  = deltaX * -1;
        }

        // Webkit
        if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; }
        if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; }

        // Look for lowest delta to normalize the delta values
        absDelta = Math.abs(delta);
        if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; }
        absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX));
        if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; }

        // Get a whole value for the deltas
        fn = delta > 0 ? 'floor' : 'ceil';
        delta  = Math[fn](delta / lowestDelta);
        deltaX = Math[fn](deltaX / lowestDeltaXY);
        deltaY = Math[fn](deltaY / lowestDeltaXY);

        // Add event and delta to the front of the arguments
        args.unshift(event, delta, deltaX, deltaY);

        return ($.event.dispatch || $.event.handle).apply(this, args);
    }

}));

(function($)
{
    /*
    Numeric Stepper jQuery plugin

    Licensed under MIT:

    Copyright (c) Luciano Longo

    Permission is hereby granted, free of charge, to any person obtaining a copy of
    this software and associated documentation files (the "Software"), to deal in
    the Software without restriction, including without limitation the rights to
    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    the Software, and to permit persons to whom the Software is furnished to do so,
    subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
    COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    */
    $.fn.stepper = function( options )
    {
        var _defaults = {
            type: 'float',                  // or 'int'
            floatPrecission: 2,             // decimal precission
            ui: true,                       // +/- buttons
            allowWheel: true,               // mouse wheel
            allowArrows: true,              // keyboar arrows (up, down)
            arrowStep: 1,                   // ammount to increment with arrow keys
            wheelStep: 1,                   // ammount to increment with mouse wheel
            limit: [null, null],            // [min, max] limit
            preventWheelAcceleration: true, // In some systems, like OS X, the wheel has acceleration, enable this option to prevent it
            incrementButton: '&blacktriangle;',
            decrementButton: '&blacktriangledown;',

            // Events
            onStep: null,   // fn( [number] val, [bool] up )
            onWheel: null,  // fn( [number] val, [bool] up )
            onArrow: null,  // fn( [number] val, [bool] up )
            onButton: null, // fn( [number] val, [bool] up )
            onKeyUp: null   // fn( [number] val )
        };

        return $(this).each(function()
        {
            var $data = $(this).data();
                delete $data.stepper;

            var _options = $.extend({}, _defaults, options, $data),
                $this = $(this),
                $wrap = $('<div class="stepper-wrap"/>');

            if( $this.data('stepper') )
                return;

            $wrap.insertAfter( $this );
            $this.appendTo( $wrap );

            /* API */

            $this.stepper = (function()
            {
                return {
                    limit: _limit,
                    decimalRound: _decimal_round,
                    onStep: function( callback ) { _options.onStep = callback; },
                    onWheel: function( callback ) { _options.onWheel = callback; },
                    onArrow: function( callback ) { _options.onArrow = callback; },
                    onButton: function( callback ) { _options.onButton = callback; },
                    onKeyUp: function( callback ) { _options.onKeyUp = callback; }
                };
            })();

            $this.data('stepper', $this.stepper);

            /* UI */

            if( _options.ui )
            {
                var $btnWrap = $('<div class="stepper-btn-wrap"/>').appendTo( $wrap ),
                    $btnUp   = $('<a class="stepper-btn-up">'+_options.incrementButton+'</a>').appendTo( $btnWrap ),
                    $btnDown = $('<a class="stepper-btn-dwn">'+_options.decrementButton+'</a>').appendTo( $btnWrap );

                $wrap.css({
                    'margin-top': $this.css('margin-top'),
                    'margin-left': $this.css('margin-left'),
                    'margin-bottom': $this.css('margin-bottom'),
                    'margin-right': $btnWrap.outerWidth() + parseInt( $this.css('margin-right') )
                });

                $this.css('margin', 0);

                var stepInterval;

                $btnUp.mousedown(function(e)
                {
                    e.preventDefault();

                    var val = _step( _options.arrowStep );
                        _evt('Button', [val, true]);
                });

                $btnDown.mousedown(function(e)
                {
                    e.preventDefault();

                    var val = _step( -_options.arrowStep );
                        _evt('Button', [val, false]);
                });

                $(document).mouseup(function()
                {
                    clearInterval( stepInterval );
                });
            }


            /* Events */

            if( _options.allowWheel )
            {
                $wrap.bind('DOMMouseScroll', _handleWheel);
                $wrap.bind('mousewheel', _handleWheel);
            }

            $wrap.keydown(function(e)
            {
                var key = e.which,
                    val = $this.val();

                if( _options.allowArrows )
                    switch( key )
                    {
                        // Up arrow
                        case 38:
                            val = _step( _options.arrowStep );
                            _evt('Arrow', [val, true]);
                        break;

                        // Down arrow
                        case 40:
                            val = _step( -_options.arrowStep );
                            _evt('Arrow', [val, false]);
                        break;
                    }

                // Only arrow keys, misc modifier chars and numbers and period (including keypad)
                if( ( key < 37 && key > 40 ) || ( key > 57 && key < 91 ) || ( key > 105 && key != 110 && key != 190 ) )
                    e.preventDefault();

                // Allow only one peroid and only if float is enabled
                if( _options.type == 'float' && $.inArray( key, [ 110, 190 ] ) != -1 && val.indexOf('.') != -1 )
                    e.preventDefault();
            }).keyup(function(e)
            {
                _evt('KeyUp', [$this.val()] );
            });

            function _handleWheel(e)
            {
                // Prevent actual page scrolling
                e.preventDefault();

                var d,
                    evt = e.originalEvent;

                if( evt.wheelDelta )
                    d = evt.wheelDelta / 120;
                else if( evt.detail )
                    d = -evt.detail / 3;

                if( d )
                {
                    if( _options.preventWheelAcceleration )
                        d = d < 0 ? -1 : 1;

                    var val = _step( _options.wheelStep * d );

                    _evt('Wheel', [val, d > 0]);
                }
            }

            function _step( step )
            {
                if( ! $this.val() )
                    $this.val( 0 );

                var typeCast = _options.type == 'int' ? parseInt : parseFloat,
                    val      = _limit( typeCast( $this.val() ) + step );

                $this.val( val );

                _evt('Step', [val, step > 0]);

                return val;
            }

            function _evt( name, args )
            {
                var callback = _options['on'+name];

                if( typeof callback == 'function' )
                    callback.apply( $this, args );
            }

            function _limit( num )
            {
                var min = _options.limit[0],
                    max = _options.limit[1];

                if( min !== null && num < min )
                    num = min;
                else if( max !== null && num > max )
                    num = max;

                return _decimal_round( num );
            }

            function _decimal_round( num, precission )
            {
                if( typeof precission == 'undefined' )
                    precission =  _options.floatPrecission;

                var pow = Math.pow(10, precission);
                num = Math.round( num * pow ) / pow;

                return num;
            }
        });
    }
})(jQuery);

ï»¿/*! jQuery UI - v1.10.3 - 2013-08-27
* http://jqueryui.com
* Includes: jquery.ui.core.js, jquery.ui.datepicker.js
* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */

(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);(function(t,e){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(i,"mouseout",function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){t.datepicker._isDisabledDatepicker(a.inline?e.parent()[0]:a.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))})}function n(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.extend(t.ui,{datepicker:{version:"1.10.3"}});var a,r="datepicker";t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,a;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),a=this._newInst(t(e),n),a.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,a):n&&this._inlineDatepicker(e,a)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),t.data(e,r,i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,a,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("<span class='"+this._appendClass+"'>"+r+"</span>"),e[o?"before":"after"](i.append)),e.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(a?t("<img/>").attr({src:a,alt:n,title:n}):n)),e[o?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,a=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},a.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),t.input.attr("size",this._formatDate(t,a).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,a,o){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],r,p)),n(p.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,r);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,r),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,a){var r,o,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(r=s||{},"string"==typeof s&&(r={},r[s]=a),c&&(this._curInst===c&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,r),null!==h&&r.dateFormat!==e&&r.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&r.dateFormat!==e&&r.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,o),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,a=t.datepicker._getInst(e.target),r=!0,o=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),r=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",a.dpDiv),n[0]&&t.datepicker._selectDay(e.target,a.selectedMonth,a.selectedYear,n[0]),i=t.datepicker._get(a,"onSelect"),i?(s=t.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),r=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),r=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?1:-1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),r=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?-1:1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),r=e.ctrlKey||e.metaKey;break;default:r=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):r=!1;r&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,a=t.datepicker._getInst(i.target);return t.datepicker._get(a,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(a,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,a,r,o,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),a=s?s.apply(e,[e,i]):{},a!==!1&&(n(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),o={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),o=t.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),t.datepicker._shouldFocusInput(i)&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,a=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],r=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",r*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),a=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,o=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-r:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+o?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+o):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,a,o=this._curInst;!o||e&&o!==t.data(e,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){t.datepicker._tidyDialog(o)},t.effects&&(t.effects.effect[i]||t.effects[i])?o.dpDiv.hide(i,t.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(e,i,s,n){var a,r=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(a=this._getInst(r[0]),a.selectedDay=a.currentDay=t("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(e,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,a=this._get(e,"altField");a&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(a).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var a,r,o,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,m=(n?n.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,_=-1,b=-1,y=!1,x=function(t){var e=i.length>a+1&&i.charAt(a+1)===t;return e&&a++,e},k=function(t){var e=x(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),a=s.substring(l).match(n);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},w=function(i,n,a){var r=-1,o=t.map(x(i)?a:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(o,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(r=i[0],l+=n.length,!1):e}),-1!==r)return r+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(a))throw"Unexpected literal at position "+l;l++};for(a=0;i.length>a;a++)if(y)"'"!==i.charAt(a)||x("'")?D():y=!1;else switch(i.charAt(a)){case"d":_=k("d");break;case"D":w("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=w("M",f,m);break;case"y":g=k("y");break;case"@":h=new Date(k("@")),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":x("'")?D():y=!0;break;default:D()}if(s.length>l&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=g?0:-100)),b>-1)for(v=1,_=b;;){if(r=this._getDaysInMonth(g,v-1),r>=_)break;v++,_-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,_)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==_)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,a);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),r,o);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),a=n,r=this._getFormatConfig(t);try{a=this.parseDate(i,s,r)||n}catch(o){s=e?"":s}t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),t.currentDay=s?a.getDate():0,t.currentMonth=s?a.getMonth():0,t.currentYear=s?a.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},a=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,a=n.getFullYear(),r=n.getMonth(),o=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r));break;case"y":case"Y":a+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r))}l=h.exec(i)}return new Date(a,r,o)},r=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?s:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,a=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),n===t.selectedMonth&&a===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,a,r,o,h,l,c,u,d,p,f,m,g,v,_,b,y,x,k,w,D,T,C,M,S,N,I,P,A,z,H,E,F,O,W,j,R=new Date,L=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),J=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),Q=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),U=this._get(t,"stepMonths"),q=1!==Q[0]||1!==Q[1],X=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),$=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),$)for(e=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-Q[0]*Q[1]+1,$.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-U,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+U,1)),this._getFormatConfig(t)):n,a=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",r=this._get(t,"currentText"),o=this._get(t,"gotoCurrent")&&t.currentDay?X:L,r=K?this.formatDate(r,o,this._getFormatConfig(t)):r,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;Q[0]>k;k++){for(w="",this.maxRows=4,D=0;Q[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),C=" ui-corner-all",M="",q){if(M+="<div class='ui-datepicker-group",Q[1]>1)switch(D){case 0:M+=" ui-datepicker-group-first",C=" ui-corner-"+(Y?"right":"left");break;case Q[1]-1:M+=" ui-datepicker-group-last",C=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",C=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+C+"'>"+(/all|left/.test(C)&&0===k?Y?a:s:"")+(/all|right/.test(C)&&0===k?Y?s:a:"")+this._generateMonthYearHeader(t,Z,te,G,$,k>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",S=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+c)%7,S+="<th"+((x+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[N]+"'>"+p[N]+"</span></th>";for(M+=S+"</tr></thead><tbody>",I=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,I)),P=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((P+I)/7),z=q?this.maxRows>A?this.maxRows:A:A,this.maxRows=z,H=this._daylightSavingAdjust(new Date(te,Z,1-P)),E=0;z>E;E++){for(M+="<tr>",F=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)O=g?g.apply(t.input?t.input[0]:null,[H]):[!0,""],W=H.getMonth()!==Z,j=W&&!_||!O[0]||G&&G>H||$&&H>$,F+="<td class='"+((x+c+6)%7>=5?" ui-datepicker-week-end":"")+(W?" ui-datepicker-other-month":"")+(H.getTime()===T.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===H.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(j?" "+this._unselectableClass+" ui-state-disabled":"")+(W&&!v?"":" "+O[1]+(H.getTime()===X.getTime()?" "+this._currentClass:"")+(H.getTime()===L.getTime()?" ui-datepicker-today":""))+"'"+(W&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"&#39;")+"'")+(j?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(W&&!v?"&#xa0;":j?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===L.getTime()?" ui-state-highlight":"")+(H.getTime()===X.getTime()?" ui-state-active":"")+(W?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);M+=F+"</tr>"}Z++,Z>11&&(Z=0,te++),M+="</tbody></table>"+(q?"</div>"+(Q[0]>0&&D===Q[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=M}y+=w}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,a,r,o){var h,l,c,u,d,p,f,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(a||!g)y+="<span class='ui-datepicker-month'>"+r[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+o[c]+"</option>");y+="</select>"}if(_||(b+=y+(!a&&g&&v?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);
return isNaN(e)?d:e},f=p(u[0]),m=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!a&&g&&v?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),a=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,a)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),a=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(t,a)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),r=null,o=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=s),i[1].match(/[+\-].*/)&&(o+=s)),(!n||e.getTime()>=n.getTime())&&(!a||e.getTime()<=a.getTime())&&(!r||e.getFullYear()>=r)&&(!o||o>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.3"})(jQuery);

/* French initialisation for the jQuery UI date picker plugin. */
/* Written by Keith Wood (kbwood@virginbroadband.com.au) and StÃ©phane Nahmani (sholby@sholby.net). */
$.datepicker.regional['fr'] = {clearText: 'Effacer', clearStatus: '',
	closeText: 'Fermer', closeStatus: 'Fermer sans modifier',
	prevText: '<PrÃ©c', prevStatus: 'Voir le mois prÃ©cÃ©dent',
	nextText: 'Suiv>', nextStatus: 'Voir le mois suivant',
	currentText: 'Courant', currentStatus: 'Voir le mois courant',
	monthNames: ['Janvier','FÃ©vrier','Mars','Avril','Mai','Juin', 'Juillet','AoÃ»t','Septembre','Octobre','Novembre','DÃ©cembre'],
	monthNamesShort: ['Jan','FÃ©v','Mar','Avr','Mai','Jun', 'Jul','AoÃ»','Sep','Oct','Nov','DÃ©c'],
	monthStatus: 'Voir un autre mois', yearStatus: 'Voir un autre annÃ©e',
	weekHeader: 'Sm', weekStatus: '',
	dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
	dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
	dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
	dayStatus: 'Utiliser DD comme premier jour de la semaine', dateStatus: 'Choisir le DD, MM d',
	dateFormat: 'dd/mm/yy', firstDay: 0,
	initStatus: 'Choisir la date', isRTL: false
};


/*
 * JavaScript MD5 1.0
 * https://github.com/blueimp/JavaScript-MD5
 *
 * Copyright 2011, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 *
 * Based on
 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
 * Digest Algorithm, as defined in RFC 1321.
 * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */
(function(a){function b(a,b){var c=(a&65535)+(b&65535),d=(a>>16)+(b>>16)+(c>>16);return d<<16|c&65535}function c(a,b){return a<<b|a>>>32-b}function d(a,d,e,f,g,h){return b(c(b(b(d,a),b(f,h)),g),e)}function e(a,b,c,e,f,g,h){return d(b&c|~b&e,a,b,f,g,h)}function f(a,b,c,e,f,g,h){return d(b&e|c&~e,a,b,f,g,h)}function g(a,b,c,e,f,g,h){return d(b^c^e,a,b,f,g,h)}function h(a,b,c,e,f,g,h){return d(c^(b|~e),a,b,f,g,h)}function i(a,c){a[c>>5]|=128<<c%32,a[(c+64>>>9<<4)+14]=c;var d,i,j,k,l,m=1732584193,n=-271733879,o=-1732584194,p=271733878;for(d=0;d<a.length;d+=16)i=m,j=n,k=o,l=p,m=e(m,n,o,p,a[d],7,-680876936),p=e(p,m,n,o,a[d+1],12,-389564586),o=e(o,p,m,n,a[d+2],17,606105819),n=e(n,o,p,m,a[d+3],22,-1044525330),m=e(m,n,o,p,a[d+4],7,-176418897),p=e(p,m,n,o,a[d+5],12,1200080426),o=e(o,p,m,n,a[d+6],17,-1473231341),n=e(n,o,p,m,a[d+7],22,-45705983),m=e(m,n,o,p,a[d+8],7,1770035416),p=e(p,m,n,o,a[d+9],12,-1958414417),o=e(o,p,m,n,a[d+10],17,-42063),n=e(n,o,p,m,a[d+11],22,-1990404162),m=e(m,n,o,p,a[d+12],7,1804603682),p=e(p,m,n,o,a[d+13],12,-40341101),o=e(o,p,m,n,a[d+14],17,-1502002290),n=e(n,o,p,m,a[d+15],22,1236535329),m=f(m,n,o,p,a[d+1],5,-165796510),p=f(p,m,n,o,a[d+6],9,-1069501632),o=f(o,p,m,n,a[d+11],14,643717713),n=f(n,o,p,m,a[d],20,-373897302),m=f(m,n,o,p,a[d+5],5,-701558691),p=f(p,m,n,o,a[d+10],9,38016083),o=f(o,p,m,n,a[d+15],14,-660478335),n=f(n,o,p,m,a[d+4],20,-405537848),m=f(m,n,o,p,a[d+9],5,568446438),p=f(p,m,n,o,a[d+14],9,-1019803690),o=f(o,p,m,n,a[d+3],14,-187363961),n=f(n,o,p,m,a[d+8],20,1163531501),m=f(m,n,o,p,a[d+13],5,-1444681467),p=f(p,m,n,o,a[d+2],9,-51403784),o=f(o,p,m,n,a[d+7],14,1735328473),n=f(n,o,p,m,a[d+12],20,-1926607734),m=g(m,n,o,p,a[d+5],4,-378558),p=g(p,m,n,o,a[d+8],11,-2022574463),o=g(o,p,m,n,a[d+11],16,1839030562),n=g(n,o,p,m,a[d+14],23,-35309556),m=g(m,n,o,p,a[d+1],4,-1530992060),p=g(p,m,n,o,a[d+4],11,1272893353),o=g(o,p,m,n,a[d+7],16,-155497632),n=g(n,o,p,m,a[d+10],23,-1094730640),m=g(m,n,o,p,a[d+13],4,681279174),p=g(p,m,n,o,a[d],11,-358537222),o=g(o,p,m,n,a[d+3],16,-722521979),n=g(n,o,p,m,a[d+6],23,76029189),m=g(m,n,o,p,a[d+9],4,-640364487),p=g(p,m,n,o,a[d+12],11,-421815835),o=g(o,p,m,n,a[d+15],16,530742520),n=g(n,o,p,m,a[d+2],23,-995338651),m=h(m,n,o,p,a[d],6,-198630844),p=h(p,m,n,o,a[d+7],10,1126891415),o=h(o,p,m,n,a[d+14],15,-1416354905),n=h(n,o,p,m,a[d+5],21,-57434055),m=h(m,n,o,p,a[d+12],6,1700485571),p=h(p,m,n,o,a[d+3],10,-1894986606),o=h(o,p,m,n,a[d+10],15,-1051523),n=h(n,o,p,m,a[d+1],21,-2054922799),m=h(m,n,o,p,a[d+8],6,1873313359),p=h(p,m,n,o,a[d+15],10,-30611744),o=h(o,p,m,n,a[d+6],15,-1560198380),n=h(n,o,p,m,a[d+13],21,1309151649),m=h(m,n,o,p,a[d+4],6,-145523070),p=h(p,m,n,o,a[d+11],10,-1120210379),o=h(o,p,m,n,a[d+2],15,718787259),n=h(n,o,p,m,a[d+9],21,-343485551),m=b(m,i),n=b(n,j),o=b(o,k),p=b(p,l);return[m,n,o,p]}function j(a){var b,c="";for(b=0;b<a.length*32;b+=8)c+=String.fromCharCode(a[b>>5]>>>b%32&255);return c}function k(a){var b,c=[];c[(a.length>>2)-1]=undefined;for(b=0;b<c.length;b+=1)c[b]=0;for(b=0;b<a.length*8;b+=8)c[b>>5]|=(a.charCodeAt(b/8)&255)<<b%32;return c}function l(a){return j(i(k(a),a.length*8))}function m(a,b){var c,d=k(a),e=[],f=[],g;e[15]=f[15]=undefined,d.length>16&&(d=i(d,a.length*8));for(c=0;c<16;c+=1)e[c]=d[c]^909522486,f[c]=d[c]^1549556828;return g=i(e.concat(k(b)),512+b.length*8),j(i(f.concat(g),640))}function n(a){var b="0123456789abcdef",c="",d,e;for(e=0;e<a.length;e+=1)d=a.charCodeAt(e),c+=b.charAt(d>>>4&15)+b.charAt(d&15);return c}function o(a){return unescape(encodeURIComponent(a))}function p(a){return l(o(a))}function q(a){return n(p(a))}function r(a,b){return m(o(a),o(b))}function s(a,b){return n(r(a,b))}function t(a,b,c){return b?c?r(b,a):s(b,a):c?p(a):q(a)}"use strict",typeof define=="function"&&define.amd?define(function(){return t}):a.md5=t})(this);

(function(t,e){if(typeof exports=="object")module.exports=e();else if(typeof define=="function"&&define.amd)define(e);else t.Spinner=e()})(this,function(){"use strict";var t=["webkit","Moz","ms","O"],e={},i;function o(t,e){var i=document.createElement(t||"div"),o;for(o in e)i[o]=e[o];return i}function n(t){for(var e=1,i=arguments.length;e<i;e++)t.appendChild(arguments[e]);return t}var r=function(){var t=o("style",{type:"text/css"});n(document.getElementsByTagName("head")[0],t);return t.sheet||t.styleSheet}();function s(t,o,n,s){var a=["opacity",o,~~(t*100),n,s].join("-"),f=.01+n/s*100,l=Math.max(1-(1-t)/o*(100-f),t),u=i.substring(0,i.indexOf("Animation")).toLowerCase(),d=u&&"-"+u+"-"||"";if(!e[a]){r.insertRule("@"+d+"keyframes "+a+"{"+"0%{opacity:"+l+"}"+f+"%{opacity:"+t+"}"+(f+.01)+"%{opacity:1}"+(f+o)%100+"%{opacity:"+t+"}"+"100%{opacity:"+l+"}"+"}",r.cssRules.length);e[a]=1}return a}function a(e,i){var o=e.style,n,r;i=i.charAt(0).toUpperCase()+i.slice(1);for(r=0;r<t.length;r++){n=t[r]+i;if(o[n]!==undefined)return n}if(o[i]!==undefined)return i}function f(t,e){for(var i in e)t.style[a(t,i)||i]=e[i];return t}function l(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var o in i)if(t[o]===undefined)t[o]=i[o]}return t}function u(t){var e={x:t.offsetLeft,y:t.offsetTop};while(t=t.offsetParent)e.x+=t.offsetLeft,e.y+=t.offsetTop;return e}function d(t,e){return typeof t=="string"?t:t[e%t.length]}var p={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:1/4,fps:20,zIndex:2e9,className:"spinner",top:"auto",left:"auto",position:"relative"};function c(t){if(typeof this=="undefined")return new c(t);this.opts=l(t||{},c.defaults,p)}c.defaults={};l(c.prototype,{spin:function(t){this.stop();var e=this,n=e.opts,r=e.el=f(o(0,{className:n.className}),{position:n.position,width:0,zIndex:n.zIndex}),s=n.radius+n.length+n.width,a,l;if(t){t.insertBefore(r,t.firstChild||null);l=u(t);a=u(r);f(r,{left:(n.left=="auto"?l.x-a.x+(t.offsetWidth>>1):parseInt(n.left,10)+s)+"px",top:(n.top=="auto"?l.y-a.y+(t.offsetHeight>>1):parseInt(n.top,10)+s)+"px"})}r.setAttribute("role","progressbar");e.lines(r,e.opts);if(!i){var d=0,p=(n.lines-1)*(1-n.direction)/2,c,h=n.fps,m=h/n.speed,y=(1-n.opacity)/(m*n.trail/100),g=m/n.lines;(function v(){d++;for(var t=0;t<n.lines;t++){c=Math.max(1-(d+(n.lines-t)*g)%m*y,n.opacity);e.opacity(r,t*n.direction+p,c,n)}e.timeout=e.el&&setTimeout(v,~~(1e3/h))})()}return e},stop:function(){var t=this.el;if(t){clearTimeout(this.timeout);if(t.parentNode)t.parentNode.removeChild(t);this.el=undefined}return this},lines:function(t,e){var r=0,a=(e.lines-1)*(1-e.direction)/2,l;function u(t,i){return f(o(),{position:"absolute",width:e.length+e.width+"px",height:e.width+"px",background:t,boxShadow:i,transformOrigin:"left",transform:"rotate("+~~(360/e.lines*r+e.rotate)+"deg) translate("+e.radius+"px"+",0)",borderRadius:(e.corners*e.width>>1)+"px"})}for(;r<e.lines;r++){l=f(o(),{position:"absolute",top:1+~(e.width/2)+"px",transform:e.hwaccel?"translate3d(0,0,0)":"",opacity:e.opacity,animation:i&&s(e.opacity,e.trail,a+r*e.direction,e.lines)+" "+1/e.speed+"s linear infinite"});if(e.shadow)n(l,f(u("#000","0 0 4px "+"#000"),{top:2+"px"}));n(t,n(l,u(d(e.color,r),"0 0 1px rgba(0,0,0,.1)")))}return t},opacity:function(t,e,i){if(e<t.childNodes.length)t.childNodes[e].style.opacity=i}});function h(){function t(t,e){return o("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',e)}r.addRule(".spin-vml","behavior:url(#default#VML)");c.prototype.lines=function(e,i){var o=i.length+i.width,r=2*o;function s(){return f(t("group",{coordsize:r+" "+r,coordorigin:-o+" "+-o}),{width:r,height:r})}var a=-(i.width+i.length)*2+"px",l=f(s(),{position:"absolute",top:a,left:a}),u;function p(e,r,a){n(l,n(f(s(),{rotation:360/i.lines*e+"deg",left:~~r}),n(f(t("roundrect",{arcsize:i.corners}),{width:o,height:i.width,left:i.radius,top:-i.width>>1,filter:a}),t("fill",{color:d(i.color,e),opacity:i.opacity}),t("stroke",{opacity:0}))))}if(i.shadow)for(u=1;u<=i.lines;u++)p(u,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(u=1;u<=i.lines;u++)p(u);return n(e,l)};c.prototype.opacity=function(t,e,i,o){var n=t.firstChild;o=o.shadow&&o.lines||0;if(n&&e+o<n.childNodes.length){n=n.childNodes[e+o];n=n&&n.firstChild;n=n&&n.firstChild;if(n)n.opacity=i}}}var m=f(o("group"),{behavior:"url(#default#VML)"});if(!a(m,"transform")&&m.adj)h();else i=a(m,"animation");return c});

ï»¿classes.helpers.Cookie=(function(){function Constructor(){this.set=function(name,value,days,path){if(!path){path=location.pathname.split("/");path.pop();path=path.join("/")+"/"}var expires="";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString()}document.cookie=name+"="+value+expires+"; path="+path};this.get=function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');var i,c;for(i=0;i<ca.length;i++){c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length)}}return""};this.kill=function(name,path){if(!path){path=location.pathname.split("/");path.pop();path=path.join("/")+"/"}this.set(name,"",-1,path)}}return new Constructor()}());function EventDispatcher(){this.events=[]}EventDispatcher.prototype.addEventListener=function(event,callback,caller){this.events[event]=this.events[event]||[];if(this.events[event]){this.events[event].push({callback:callback,caller:caller})}};EventDispatcher.prototype.removeEventListener=function(event,callback){if(this.events[event]){var listeners=this.events[event];var i;for(i=listeners.length-1;i>=0;--i){if(listeners[i].callback===callback){listeners.splice(i,1);return true}}}return false};EventDispatcher.prototype.dispatch=function(event,data){data=data||{};if(this.events[event]){var listeners=this.events[event];var len=listeners.length;while(len--){listeners[len].callback(data,listeners[len].caller)}}};classes.helpers.Func=(function(){function Constructor(){var browser_title_pattern="";var filtersepia={r:[0.211836996078431,0.712355450980392,0.0718859843137255],g:[0.198492933333333,0.667482666666667,0.0673577333333333],b:[0.190986898039216,0.642241725490196,0.0648105921568627]};var filtermono={r:[0.212671,0.71516,0.072169],g:[0.212671,0.71516,0.072169],b:[0.212671,0.71516,0.072169]};function filterexec(img,tone){if(img.width==0||img.height==0){return}var canvas=document.createElement('canvas');var context=canvas.getContext('2d');canvas.width=img.width;canvas.height=img.height;context.drawImage(img,0,0);var imgdata=context.getImageData(0,0,canvas.width,canvas.height);var matrix=tone=="sepia"?filtersepia:filtermono;var pixels=imgdata.data;var i,n,shift_r,shift_g,shift_b;for(i=0,n=pixels.length;i<n;i+=4){shift_r=pixels[i]*matrix.r[0]+pixels[i+1]*matrix.r[1]+pixels[i+2]*matrix.r[2];shift_g=pixels[i]*matrix.g[0]+pixels[i+1]*matrix.g[1]+pixels[i+2]*matrix.g[2];shift_b=pixels[i]*matrix.b[0]+pixels[i+1]*matrix.b[1]+pixels[i+2]*matrix.b[2];pixels[i]=shift_r;pixels[i+1]=shift_g;pixels[i+2]=shift_b}context.putImageData(imgdata,0,0);return canvas.toDataURL()}this.array_chunk=function(arr,len){var chunks=[],i=0,n=arr.length,start,end;while(i<n){start=i;end=i+len;chunks.push(arr.slice(start,end));i+=len}return chunks};this.setDocumentTitlePattern=function(str){browser_title_pattern=str};this.setDocumentTitle=function(title){if(!title){title=""}var browser_title=browser_title_pattern.split("{PAGE_NAME}").join(title);document.title=browser_title};this.getEmptyImgSrc=function(){return"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};this.addSalesTax=function(taxable_amount){var default_country=classes.overlay.Checkout.settings().country;var taxes=classes.overlay.Checkout.getTaxRate();var tax_value;if(default_country=="US"){tax_value=taxable_amount*(taxes[0]/100);return taxable_amount+tax_value}if(default_country=="CA"){var hst_value=taxable_amount*(taxes[0]/100);var gst_value=taxable_amount*(taxes[1]/100);if(taxes[3]==true){taxable_amount+=gst_value}var pst_value=taxable_amount*(taxes[2]/100);return taxable_amount+hst_value+gst_value+pst_value}tax_value=taxable_amount*(taxes[0]/100);return taxable_amount+tax_value};this.getFormattedPrice=function(value){var isNegative=value<0;value=Math.abs(value);var digitsAfterDecimal=classes.helpers.L10N.get("localization","currency_digits_after_decimal_num");var displayLeadingZeros=classes.helpers.L10N.get("localization","currency_display_leading_zeros_bool");var leadingZeroDigits=classes.helpers.L10N.get("localization","currency_leading_zero_digits_num");var digitsPerGroup=classes.helpers.L10N.get("localization","currency_digits_per_group_num");var groupingSymbol=classes.helpers.L10N.get("localization","currency_grouping_symbol");var decimalSymbol=classes.helpers.L10N.get("localization","currency_decimal_symbol");var negativePattern=classes.helpers.L10N.get("localization","currency_negative_pattern");var currencyPattern=classes.helpers.L10N.get("localization","currency_currency_pattern");var vstr=value.toFixed(digitsAfterDecimal);var sides=vstr.split(".");var digits;var length;var i;digits=sides[0].split("");if(displayLeadingZeros){length=leadingZeroDigits-digits.length;if(length>0){for(i=0;i<length;++i){digits.unshift("0")}}}var groups=[];var chunk=digits.splice(-3).reverse().join("");groups.push(chunk);length=digitsPerGroup;chunk="";var empty=digits.length==0;while(!empty){if(digits.length<length){length=digits.length}for(i=0;i<length;++i){if(i>=0){chunk+=digits.pop()}}if(chunk.length==length){groups.push(chunk);chunk=""}empty=digits.length==0}groups=groups.join(groupingSymbol);groups=groups.split("");groups.reverse();sides[0]=groups.join("");var result=sides.join(decimalSymbol);if(isNegative){result=negativePattern.split("#").join(result)}result=currencyPattern.split("#").join(result);return result};this.filter=function(obj,tone){if(tone==""){if(obj.data("original-src")){obj.attr("src",obj.data("original-src"));obj.removeAttr("original-src")}return}var imgsrc=obj.data("original-src")||obj.attr("src");var img=new Image();img.src=imgsrc;if(img.width==0||img.height==0){img.onload=function(){obj.data("original-src",this.src);obj.attr("src",filterexec(this,tone))}}else{obj.data("original-src",imgsrc);obj.attr("src",filterexec(img,tone))}};this.stop=function(event){event.stopPropagation();event.preventDefault()};this.prevent=function(event){event.preventDefault()};this.empty=function(){return null};this.imgonload=function(){if(this.complete){$(this).load()}}}return new Constructor()}());classes.Background=(function(){function Constructor(){var StageProxy;var img;function resize(){var sw=StageProxy.width();var sh=StageProxy.height();var iw=img.attr("width");var ih=img.attr("height");var nw=sw;var nh=nw*(ih/iw);if(nh<sh){nh=sh;nw=nh*(iw/ih)}img.width(nw).height(nh).offset({top:(sh-nh)/2,left:(sw-nw)/2})}function render(){$("#background").show();img=$("#background img");if(img.length>0){StageProxy.addEventListener("onResize",resize);resize()}}this.initialize=function(){StageProxy=classes.StageProxy;render()}}return new Constructor()}());classes.Dialog=(function(){function Constructor(){var StageProxy;var L10N;var Shell;var Func;var defaults={unique:"",modal:true,title:"",description:"",confim:classes.helpers.Func.empty,cancel:classes.helpers.Func.empty,args:[]};var opt={};var instance=this;var open=false;var noremind={};var container;var screen;var dialog;var title;var description;var accept_obj;var cancel_obj;var noremind_obj;function confirm(){opt.confim.apply(null,opt.args)}function cancel(){opt.cancel.apply(null,opt.args)}function remeber(bool){if(bool){noremind[opt.unique]=true}else{noremind[opt.unique]=false}}function keyevent(event){if(open){switch(event.which){case 13:confirm();Func.stop(event);return false}}}function ondestroy(){open=false;instance.dispatch("onClose")}function destroy(){opt={};container.fadeOut("fast",ondestroy)}function click(event){switch($(this).attr("id")){case noremind_obj.attr("id"):remeber(noremind_obj.is(':checked'));break;case accept_obj.attr("id"):confirm();destroy();break;case screen.attr("id"):break;case cancel_obj.attr("id"):cancel();destroy();break}Func.stop(event);return false}function resize(){if(!open){container.show()}var sw=StageProxy.width();var sh=StageProxy.height();var dw=dialog.width();var dh=dialog.outerHeight();dialog.css({top:(sh-dh)/2,left:(sw-dw)/2});if(!open){container.hide()}}function create(){title.html(opt.title).toggle(opt.title!="");description.html(opt.description).toggle(opt.description!="");if(opt.modal){accept_obj.html(L10N.get("general","dialog_approve"));cancel_obj.show()}else{accept_obj.html(L10N.get("general","dialog_confim"));cancel_obj.hide()}noremind_obj.toggle(opt.unique!="");noremind_label_obj.toggle(opt.unique!="");open=true;container.fadeIn("fast");resize();instance.dispatch("onOpen")}function render(){container=$("#dialog-container");screen=$("#dialog-screen");dialog=$("#dialog");title=$("#dialog-title");description=$("#dialog-description");accept_obj=$("#dialog-accept");cancel_obj=$("#dialog-cancel");noremind_obj=$("#dialog-noremind");noremind_label_obj=$("#dialog-noremind-label");screen.click(click);accept_obj.click(click);cancel_obj.click(click);noremind_obj.change(click);if(!Shell.device().tablet){container.mousewheel(Func.stop)}else{container.bind("touchmove",Func.stop)}$("body").keyup(keyevent);StageProxy.addEventListener("onResize",resize)}this.options=function(obj){var prop;for(prop in defaults){if(defaults.hasOwnProperty(prop)){opt[prop]=defaults[prop]}}for(prop in obj){if(obj.hasOwnProperty(prop)){opt[prop]=obj[prop]}}};this.draw=function(){if(noremind[opt.unique]==true){confirm();return}create()};this.initialize=function(){Func=classes.helpers.Func;L10N=classes.helpers.L10N;StageProxy=classes.StageProxy;Shell=classes.Shell;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.Overlay=(function(){function Constructor(){var StageProxy;var Session;var Shell;var Browser;var Clickwrap;var Sidebar;var Overview;var Packages;var Package;var Cart;var Controlbar;var Checkout;var Func;var instance=this;var suid="";var classid="";var status="closed";var index=0;var browseindex=0;var wallview="set";var view="browse";var innerwidth=0;var innerheight=0;var leftpanelwidth=300;var rightpanelwidth=400;var tracks=[];var images={};var groups=[];var container;var screen;var wrapper;var inner;var closetab;var sidebar;var cinner;function closeEnd(){container.hide();Browser.clearStage();Shell.killToolTip()}function closeOverlay(){if(status=="open"){status="closed";container.stop().transition({opacity:0},500,"ease",closeEnd);instance.dispatch("onClose")}return false}function keyevent(event){if(event.which==9){Func.stop(event);return false}if(status=="open"){if(event.which==27){closeOverlay()}}}function resize(){if(status=="closed"){container.show()}if(Sidebar.available()==false){sidebar.hide();leftpanelwidth=0}else{sidebar.show();leftpanelwidth=300}var margin=25;var toolbar_lower_height=46;var sw=StageProxy.width();var sh=StageProxy.height();innerwidth=sw-margin-margin;innerheight=sh-margin-margin-margin;var browserwidth=innerwidth-leftpanelwidth;if(browserwidth>1000){browserwidth=1000;innerwidth=browserwidth+leftpanelwidth}if(innerheight>1000+toolbar_lower_height){innerheight=1000+toolbar_lower_height}var cartwidth=innerwidth-rightpanelwidth;container.width(sw).height(sh);wrapper.css({width:innerwidth,height:innerheight,top:Math.round((sh-innerheight)/2),left:Math.round((sw-innerwidth)/2)});if(Shell.device().tablet){screen.width(sw).height(sh+100)}var ypos=0;if(view=="browse"){ypos=innerheight*-1}else if(view=="overview"){ypos=innerheight*-2}else if(view=="checkout"){ypos=innerheight*-3}else if(view=="clickwrap"){ypos=innerheight*-4}inner.css({width:innerwidth,height:innerheight,top:ypos});ypos=0;if(view=="checkout"){ypos=(toolbar_lower_height-2)*-1}else if(view=="overview"){ypos=(toolbar_lower_height-2)*-2}else if(view=="browse"){ypos=(toolbar_lower_height-2)*-3}else if(view=="packages"){ypos=(toolbar_lower_height-2)*-4}cinner.css({top:ypos});Packages.move(0,0);Packages.setSize(leftpanelwidth,innerheight-toolbar_lower_height);Package.move(leftpanelwidth,0);Package.setSize(browserwidth,innerheight-toolbar_lower_height);Sidebar.move(0,innerheight);Sidebar.setSize(leftpanelwidth,innerheight-toolbar_lower_height);Browser.move(leftpanelwidth,innerheight);Browser.setSize(browserwidth,innerheight-toolbar_lower_height);Cart.move(0,innerheight*2);Cart.setSize(cartwidth,innerheight-toolbar_lower_height);Overview.move(cartwidth,innerheight*2);Overview.setSize(rightpanelwidth,innerheight-toolbar_lower_height);Checkout.move(0,innerheight*3);Checkout.setSize(innerwidth,innerheight-toolbar_lower_height);Clickwrap.move(0,innerheight*4);Clickwrap.setSize(innerwidth,innerheight-toolbar_lower_height);if(status=="closed"){container.hide()}}function reposition(){var ypos=0;if(view=="browse"){ypos=innerheight*-1}else if(view=="overview"){ypos=innerheight*-2}else if(view=="checkout"){ypos=innerheight*-3}else if(view=="clickwrap"){ypos=innerheight*-4}inner.stop().transition({top:ypos},"slow");var toolbar_lower_height=46;ypos=0;if(view=="checkout"){ypos=(toolbar_lower_height-2)*-1}else if(view=="overview"){ypos=(toolbar_lower_height-2)*-2}else if(view=="browse"){ypos=(toolbar_lower_height-2)*-3}else if(view=="packages"){ypos=(toolbar_lower_height-2)*-4}cinner.stop().transition({top:ypos},"slow");instance.dispatch("onView",{view:view})}function render(){classid=$("#container").attr("class");suid=$("#container").attr("data-suid");container=$("#overlay-container");screen=$("#overlay-screen");wrapper=$("#overlay-wrapper");inner=$("#overlay-wrapper-inner");cinner=$("#overlay-controlbar-inner");closetab=$("#overlay-closetab");sidebar=$("#overlay-sidebar");Browser.initialize();Cart.initialize();Checkout.initialize();Overview.initialize();Packages.initialize();Package.initialize();Sidebar.initialize();Clickwrap.initialize();$("body").keydown(keyevent);closetab.click(closeOverlay);if(!Shell.device().tablet){screen.click(closeOverlay);StageProxy.addEventListener("onResize",resize);container.mousewheel(Func.stop)}else{container.bind("touchmove",Func.stop)}resize()}function openOverlay(){if(status=="closed"){status="open";resize();container.show().stop().transition({opacity:100},500,"ease");instance.dispatch("onOpen")}}function dataset(){var arr=[];if(wallview=="set"){arr=images[groups[index]]}else if(wallview=="favorites"){arr=Session.getFavoritesPaged(index)}else if(wallview=="cart"){arr=Session.getCartPaged(index)}return arr}function imagedata(i){var set=dataset();var obj=set[i];var obj_hash;var obj_puid;var obj_cuid;var obj_filename;var obj_width;var obj_height;var obj_xoffset=50;var obj_yoffset=50;if(wallview=="set"){obj_puid=classid=="ZipFile"?suid+".zip":suid;obj_cuid=obj.c;obj_hash=md5(obj_puid+obj_cuid);obj_filename=obj.f;obj_width=parseInt(obj.w,10);obj_height=parseInt(obj.h,10)}else if(wallview=="favorites"){obj_hash=obj.hash.substr(0,32);obj_puid=obj.puid;obj_cuid=obj.cuid;obj_filename=obj.filename;obj_width=parseInt(obj.width,10);obj_height=parseInt(obj.height,10)}else if(wallview=="cart"){var format_aspect=parseFloat(obj.format_aspect);format_aspect=isNaN(format_aspect)?1:format_aspect;var orientation=obj.orientation;obj_hash=obj.hash;obj_puid=obj.puid;obj_cuid=obj.cuid;obj_filename=obj.filename;obj_xoffset=parseFloat(obj.orientation_x);obj_xoffset=isNaN(obj_xoffset)?50:obj_xoffset;obj_yoffset=parseFloat(obj.orientation_y);obj_yoffset=isNaN(obj_yoffset)?50:obj_yoffset;if(orientation=="l"){obj_width=1000;obj_height=obj_width*format_aspect}else if(orientation=="p"){obj_height=1000;obj_width=obj_height*format_aspect}else{obj_height=1000;obj_width=1000;var prop,k,s,image;for(prop in images){if(images.hasOwnProperty(prop)){s=images[prop];for(k=0;k<s.length;++k){image=s[k];if(obj_filename==image.f){obj_width=parseInt(image.w,10);obj_height=parseInt(image.h,10);break}}}}}}return{child:obj_cuid,parent:obj_puid,hash:obj_hash,type:obj_filename.substring(obj_filename.lastIndexOf(".")+1).toUpperCase(),src:obj_puid+"/"+obj_cuid,width:obj_width,height:obj_height,alt:obj_filename,xoffset:obj_xoffset,yoffset:obj_yoffset}}this.pageid=function(){return suid};this.open=function(){openOverlay()};this.close=function(){closeOverlay()};this.addImageSet=function(str,arr){images[str]=arr;groups.push(str)};this.addAudioTrack=function(obj){tracks.push(obj)};this.getPlaylist=function(){return tracks};this.getViewProvider=function(){var set=dataset();var arr=[];var i;for(i=0;i<set.length;++i){arr.push(imagedata(i))}return arr};this.getCurrentImage=function(){return this.getImageInfo(browseindex)};this.getImageInfo=function(i){if(i==-1){return}var set=dataset();var obj=set[i];if(wallview=="set"){return{parent:classid=="ZipFile"?suid+".zip":suid,child:obj.c,filename:obj.f,width:parseInt(obj.w,10),height:parseInt(obj.h,10)}}if(wallview=="favorites"){return{parent:obj.puid,child:obj.cuid,filename:obj.filename,width:parseInt(obj.width,10),height:parseInt(obj.height,10)}}};this.getWallView=function(){return wallview};this.setWallView=function(str,num){wallview=str;index=num};this.getBrowseIndex=function(){return browseindex};this.setBrowseIndex=function(num){browseindex=num;Browser.refresh()};this.prevBrowseIndex=function(){var i,pages,current,j;if(wallview=="set"){i=browseindex-1;current=images[groups[index]];if(i==-1){if(groups.length>1){j=index-1;if(j==-1){j=groups.length-1}Controlbar.dispatch("onWallView",{view:"set",index:j});current=images[groups[j]]}i=current.length-1}}else if(wallview=="favorites"){i=browseindex-1;pages=Session.getFavoritesPaged();current=pages[index];if(i==-1){if(pages.length>1){j=index-1;if(j==-1){j=pages.length-1}Controlbar.dispatch("onWallView",{view:"favorites",index:j});current=pages[j]}i=current.length-1}}else if(wallview=="cart"){i=browseindex-1;pages=Session.getCartPaged();current=pages[index];if(i==-1){if(pages.length>1){j=index-1;if(j==-1){j=pages.length-1}Controlbar.dispatch("onWallView",{view:"cart",index:j});current=pages[j]}i=current.length-1}}browseindex=i;Browser.refresh()};this.nextBrowseIndex=function(){var i,pages,current,j;if(wallview=="set"){i=browseindex+1;current=images[groups[index]];if(i>=current.length){if(groups.length>1){j=index+1;if(j==groups.length){j=0}Controlbar.dispatch("onWallView",{view:"set",index:j})}i=0}}else if(wallview=="favorites"){i=browseindex+1;pages=Session.getFavoritesPaged();current=pages[index];if(i>=current.length){if(pages.length>1){j=index+1;if(j==pages.length){j=0}Controlbar.dispatch("onWallView",{view:"favorites",index:j})}i=0}}else if(wallview=="cart"){i=browseindex+1;pages=Session.getCartPaged();current=pages[index];if(i>=current.length){if(pages.length>1){j=index+1;if(j==pages.length){j=0}Controlbar.dispatch("onWallView",{view:"cart",index:j})}i=0}}browseindex=i;Browser.refresh()};this.isOpen=function(){return status=="open"};this.getView=function(){return view};this.setView=function(str){view=str;reposition()};this.getMaxImageCount=function(){var max=Shell.device().tablet?150:300;var prop;for(prop in images){if(images.hasOwnProperty(prop)){max=Math.max(max,images[prop].length)}}return max};this.initialize=function(){Func=classes.helpers.Func;StageProxy=classes.StageProxy;Shell=classes.Shell;Session=classes.Session;Browser=classes.overlay.Browser;Clickwrap=classes.overlay.Clickwrap;Sidebar=classes.overlay.Sidebar;Packages=classes.overlay.Packages;Overview=classes.overlay.Overview;Package=classes.overlay.Package;Cart=classes.overlay.Cart;Controlbar=classes.elements.Controlbar;Checkout=classes.overlay.Checkout;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.Session=(function(){function Constructor(){var Overlay;var Func;var instance=this;var hash="";var request_id=-1;var requests={};var type_lookup={cart:[],cart_chunked:[],favorites:[],favorites_chunked:[],package:[],parsed:[]};var type_hashtable={cart:{},favorites:{},package:{},parsed:{}};var type_keys={cart:["hash","puid","cuid","filename","quantity","toning","format_label","format_aspect","format_price","format_shipping","orientation","orientation_x","orientation_y","paper_label","paper_price","paper_shipping","modifier_label","modifier_price","modifier_shipping","subtotal","shipping","comments"],favorites:["hash","puid","cuid","filename","width","height"],package:["hash","type","nickname","title","quantity","subtotal","shipping","format_titles","format_quantities","format_aspects","format_areas"]};function chunk(label){var arr=type_lookup[label];var page_breakpoint=Overlay.getMaxImageCount();var chunks=[];if(arr.length<=page_breakpoint){chunks.push(arr)}else{chunks=Func.array_chunk(arr,page_breakpoint)}type_lookup[label+"_chunked"]=chunks}function parse(result,ruid){if(result=="0"){result=""}var request=requests[ruid];var types=[];if(request.type=="favorites"||request.type=="*"){types.push("favorites")}if(request.type=="alacarte"||request.type=="cart"||request.type=="package"||request.type=="*"){types.push("package");types.push("cart")}var lines=result==""?[]:result.split("\n");var rows=[];var i,line,values,suid,type;for(i=0;i<lines.length;++i){line=lines[i];values=line.split("\t");suid=values[0].split("-");type="cart";if(suid[1]=="f"){type="favorites"}if(suid[1]=="p"){type="package"}rows.push({type:type,values:values})}var k,j,keys,data,table,row,obj,key,value;for(k=0;k<types.length;++k){type=types[k];keys=type_keys[type];data=[];table={};for(i=0;i<rows.length;++i){row=rows[i];if(row.type!=type){continue}values=row.values;obj={};for(j=0;j<keys.length;++j){key=keys[j];value=values[j];if(value==undefined){value=""}obj[key]=value}data.push(obj);table[obj.hash]=obj}type_lookup[type]=data;type_hashtable[type]=table}if(request.type=="cart"||request.type=="package"||request.type=="*"){var package_lookup=[];var packages=type_lookup["package"];type_lookup.parsed=[];var pkg,total,formats,lookup,format_percent_encoded,format_titles,format_quantities,format_aspects,format_areas,format_title,format_hash,format_quantity;for(i=0;i<packages.length;++i){pkg=packages[i];total=0;formats=[];lookup={};format_percent_encoded=false;format_titles=pkg.format_titles;if(pkg.format_titles.substr(0,2)=="%:"){format_percent_encoded=true;format_titles=pkg.format_titles.substr(2)}format_titles=format_titles==""?[]:format_titles.split(",");format_quantities=pkg.format_quantities.split(",");format_aspects=pkg.format_aspects.split(",");format_areas=pkg.format_areas.split(",");for(j=0;j<format_titles.length;++j){format_title=format_percent_encoded?unescape(format_titles[j]):$.base64.decode(format_titles[j]);format_hash=md5(format_title);format_quantity=parseInt(format_quantities[j],10);total+=format_quantity;lookup[format_hash]=j;formats.push({title:format_title,price:0,shipping:0,aspect:format_aspects[j],area:format_areas[j],total:format_quantity,count:0})}package_lookup[pkg.hash]=i;type_lookup.parsed.push({row:pkg,formats:formats,lookup:lookup,total:total,count:0})}var cart=type_lookup.cart;var hashbits,package_hash,format,quantity;for(i=0;i<cart.length;++i){row=cart[i];if(row.hash.indexOf(":")!=-1){hashbits=row.hash.split(":");package_hash=hashbits[1]+"-p";format_hash=md5(row.format_label);quantity=parseInt(row.quantity,10);pkg=type_lookup.parsed[package_lookup[package_hash]];format=pkg.formats[pkg.lookup[format_hash]];pkg.count+=quantity;format.count+=quantity}}}if(request.type=="favorites"){chunk("favorites");instance.dispatch("onSessionFavorites")}if(request.type=="alacarte"||request.type=="cart"||request.type=="package"){chunk("cart");instance.dispatch("onSessionCart")}if(request.type=="*"){chunk("favorites");chunk("cart");instance.dispatch("onSessionLoaded")}delete requests[ruid]}function addSessionObject(type,data){if(data.hash==undefined){return}var keys=type_keys[type];var postfix="";if(type=="favorites"){postfix="-f"}if(type=="package"){postfix="-p"}var row=[];var i,key,value;for(i=0;i<keys.length;++i){key=keys[i];value=data[key];if(value==undefined){value=""}row.push(value)}row[0]=row[0]+postfix;++request_id;var ruid="r_"+request_id;var request={action:"update_session_item",type:type,name:hash,puid:Overlay.pageid(),data:row.join("\t")};requests[ruid]=request;$.post(APP_ROOT+"vend-proofing-gateway.php",request,function(str){parse(str,ruid)})}function removeSessionObject(type,suid){var data;var found=false;var lookup=type_lookup[type];var i;for(i=0;i<lookup.length;++i){data=lookup[i];if(data.hash.indexOf(suid)!=-1){found=true;break}}if(found==false){return}++request_id;var ruid="r_"+request_id;var request={action:"delete_session_item",type:type,name:hash,puid:Overlay.pageid(),suid:data.hash};requests[ruid]=request;$.post(APP_ROOT+"vend-proofing-gateway.php",request,function(str){parse(str,ruid)})}function updateSessionObject(type,suid,names,values){var data;var found=false;var lookup=type_lookup[type];var i;for(i=0;i<lookup.length;++i){data=lookup[i];if(data.hash.indexOf(suid)!=-1){found=true;break}}if(found==false){return}if(!(names instanceof Array)){names=[names];values=[values]}var keys=type_keys[type];var row=[];var postfix="";if(type=="favorites"){postfix="-f"}if(type=="package"){postfix="-p"}var j,key,value;for(i=0;i<keys.length;++i){key=keys[i];value=data[key];for(j=0;j<names.length;++j){if(key==names[j]){value=values[j]}}if(value==undefined){value=""}row.push(value)}row[0]=row[0]+postfix;++request_id;var ruid="r_"+request_id;var request={action:"update_session_item",type:type,name:hash,puid:Overlay.pageid(),data:row.join("\t")};requests[ruid]=request;$.post(APP_ROOT+"vend-proofing-gateway.php",request,function(str){parse(str,ruid)})}function clearSessionType(type){instance.dispatch("onLoadSession");++request_id;var ruid="r_"+request_id;var request={action:"delete_session_type",type:type,name:hash,puid:Overlay.pageid()};requests[ruid]=request;$.post(APP_ROOT+"vend-proofing-gateway.php",request,function(str){parse(str,ruid)})}function loadSession(){++request_id;var ruid="r_"+request_id;var request={action:"list_session_table",type:"*",name:hash,puid:Overlay.pageid()};$.post(APP_ROOT+"vend-proofing-gateway.php",request,function(str){parse(str,ruid)});requests[ruid]=request}this.addItem=function(type,data){addSessionObject(type,data)};this.removeItem=function(type,suid){removeSessionObject(type,suid)};this.updateItem=function(type,suid,names,values){updateSessionObject(type,suid,names,values)};this.purge=function(type){clearSessionType(type)};this.isFavoritesEmpty=function(){return type_lookup.favorites.length==0};this.getFavoritesLength=function(){return type_lookup.favorites.length};this.getFavoritesPaged=function(i){return i==undefined||i==-1?type_lookup.favorites_chunked:type_lookup.favorites_chunked[i]};this.getFavorites=function(){return type_lookup.favorites};this.getFavoritesTable=function(){return type_hashtable.favorites};this.isCartEmpty=function(){return type_lookup.cart.length==0};this.getCartLength=function(){return type_lookup.cart.length};this.getCartPaged=function(i){return i==undefined||i==-1?type_lookup.cart_chunked:type_lookup.cart_chunked[i]};this.getCart=function(){return type_lookup.cart};this.getCartTable=function(){return type_hashtable.cart};this.getCartObject=function(hash){return type_hashtable.cart[hash]};this.getPackages=function(){return type_lookup.package};this.getPackagesParsed=function(){return type_lookup.parsed};this.getHash=function(){return hash};this.setHash=function(str){hash=str;loadSession()};this.initialize=function(){Overlay=classes.Overlay;Func=classes.helpers.Func}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.Shell=(function(){function Constructor(){var StageProxy;var Background;var Dialog;var FormDialog;var Overlay;var Content;var L10N;var Func;var tooltip;var tooltip_visible=false;var body;var error;var classname="";var setup={};function ttposition(event){if(!tooltip_visible){return}var mousex=event.pageX+5;var mousey=event.pageY-(tooltip.outerHeight()+5);if(mousex+tooltip.outerWidth()>StageProxy.width()){mousex-=tooltip.outerWidth()+10}tooltip.css({top:mousey,left:mousex})}function resize_error(){var inner=error.outerHeight();var outer=StageProxy.height();if(inner<outer){error.css("top",Math.round((outer-inner)/2)+"px")}else{error.css("top",0)}}function showError(type){body.hide();error.show();$("#body-fail-icon").removeClass().addClass(type);$("#body-fail-title").html(L10N.get("general","browser_error_"+type+"_title"));$("#body-fail-description").html(L10N.get("general","browser_error_"+type+"_description"));resize_error()}function supported(){if(setup.device.phone){showError("browser");return false}if(screen.width<1024&&screen.height<1024){showError("resolution");return false}var version=parseInt($.browser.version,10);var success=false;if(!success){success=$.browser.mozilla&&version>=4&&setup.device.tablet==false}if(!success){success=$.browser.chrome&&version>=18}if(!success){success=$.browser.safari&&version>=534}if(!success){success=$.browser.msie&&version>=10}if(!success){showError("browser");return false}return true}function orientation(){var aspect=screen.width/screen.height;if((setup.device.ios)&&(window.orientation==90||window.orientation==-90)){aspect=screen.height/screen.width}if(aspect<1){showError("orientation");return}body.show();error.hide()}function resize(){if(StageProxy.width()/StageProxy.height()<1){showError("resolution");return}if(StageProxy.width()<1000||StageProxy.height()<480){showError("resolution");return}body.show();error.hide()}function render(){$(document).bind("contextmenu",Func.stop);body=$("#body-inner");error=$("#body-error");tooltip=$("#tooltip");if(!supported()){StageProxy.addEventListener("onResize",resize_error);resize_error()}else{Background.initialize();FormDialog.initialize();Overlay.initialize();Content.initialize();Dialog.initialize(this);if(setup.device.tablet||setup.device.phone){var orientationevent="onorientationchange"in window?"orientationchange":"resize";$(window).bind(orientationevent,orientation);orientation()}else{body.mousemove(ttposition);StageProxy.addEventListener("onResize",resize);resize()}}}this.createToolTip=function(text,isFilename){if(setup.device.tablet){return}if(isFilename){var bits=text.split(".");bits.pop();text=bits.join(".")}if(text==""){this.killToolTip();return}tooltip.html(text).show();tooltip_visible=true};this.killToolTip=function(){if(setup.device.tablet){return}tooltip.hide();tooltip_visible=false};this.device=function(){return setup.device};this.initialize=function(obj){setup=obj;classname=setup.init;classname=classname.split(" ");classname=classname.pop();StageProxy=classes.StageProxy;Background=classes.Background;Dialog=classes.Dialog;Overlay=classes.Overlay;FormDialog=classes.elements.FormDialog;L10N=classes.helpers.L10N;Content=classes.content[classname];Func=classes.helpers.Func;render()}}return new Constructor()}());classes.StageProxy=(function(){function Constructor(){var instance=this;var resize_interval_id;var resize_interval=500;function fire(){instance.dispatch("onResize")}function resize(){clearTimeout(resize_interval_id);resize_interval_id=setTimeout(fire,resize_interval)}this.width=function(){var w=$(window).width();return Math.round(w)};this.height=function(){var h=$(window).height();return Math.round(h)};$(window).resize(resize)}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.elements.ContactForm=(function(){function Constructor(){var StageProxy;var L10N;var Shell;var Func;var instance=this;var open=false;var container;var screen;var screen2;var dialog;var form;var inputs;var result;var submit_obj;var cancel_obj;var close_obj;function fulfilled(){var response=true;form.find(".Required").each(function(){var obj=$(this);var input=obj.find("input");if(obj.hasClass("Dropdown")){input=obj.find("select")}else if(obj.hasClass("Area")){input=obj.find("textarea")}var val=obj.hasClass("Checkbox")||obj.hasClass("Radio")?obj.find("input:checked").val():input.val();obj.removeClass("Focused");obj.removeClass("Invalid");obj.addClass("Default");if(val==""){obj.removeClass("Default");obj.addClass("Invalid");if(response==true){response=false}}});return response}function loading(){screen2.fadeIn("fast");dialog.progress()}function submit_response(data){screen2.fadeOut("fast");dialog.progress(true);inputs.removeAttr("disabled");result.html(L10N.get("contact",data));if(data=="contact_page_not_setup"){inputs.attr("disabled",true)}else if(data=="contact_form_send_success"){inputs.attr("disabled",true)}cancel_obj.removeAttr("disabled")}function submit(){if(!fulfilled()){result.html(L10N.get("contact","highlighted_fields_required"));return}loading();var postobj={action:"send_email",set_url:window.location.href};form.find(".Input input, .Dropdown select, .Date input, .Area textarea, .Checkbox input:checked, .Radio input:checked").each(function(){var input=$(this);var name=input.attr("name");var val=input.val();if(val!=""){if(!postobj[name]){postobj[name]=val}else{postobj[name]+="\n"+val}}});inputs.attr("disabled",true);result.html(L10N.get("contact","sending_data_to_server"));$.post(APP_ROOT+"vend-proofing-gateway.php",postobj,submit_response)}function destroy(){dialog.progress(true);container.fadeOut("fast",function(){open=false;instance.dispatch("onClose")})}function click(event){switch($(this).attr("id")){case submit_obj.attr("id"):submit();break;case screen.attr("id"):case close_obj.attr("id"):case cancel_obj.attr("id"):destroy();break}Func.stop(event)}function resize(){if(!open){container.show()}var sw=StageProxy.width();var sh=StageProxy.height();var maxheight=sh-100;dialog.find(".Description").css("height","auto");var leftheight=dialog.find(".Description").height()+$("#form-dialog img").height()+70;dialog.find("#contact-form-wrapper").css("height","auto");var rightheight=dialog.find("#contact-form-wrapper").height()+form.find(".ButtonGroup").height()+form.find(".Result").height()+45;var cheight=Math.max(leftheight,rightheight);if(cheight<maxheight){if(cheight<400){cheight=400}$("#contact-form-dialog-left, #contact-form-dialog-right").height(cheight)}else{if(maxheight<400){maxheight=400}dialog.find(".Description").css("height",maxheight-$("#form-dialog img").height()-70);dialog.find("#contact-form-wrapper").css("height",maxheight-form.find(".ButtonGroup").height()-form.find(".Result").height()-45);$("#contact-form-dialog-left, #contact-form-dialog-right").height(maxheight)}var dw=dialog.width();var dh=dialog.outerHeight();dialog.css({top:(sh-dh)/2,left:(sw-dw)/2});if(!open){container.hide()}}function lateinit(){dialog.find(".Description").scrollpane();dialog.find("#contact-form-wrapper").scrollpane()}function render(){container=$("#contact-form-dialog-container");screen=$("#contact-form-dialog-screen");screen2=$("#contact-form-dialog-screen2");dialog=$("#contact-form-dialog");form=$("#contact-form-dialog form");submit_obj=$("#contact-form-dialog-submit");cancel_obj=$("#contact-form-dialog-cancel");close_obj=$("#contact-closetab");result=form.find(".Result");inputs=form.find("input, textarea, select");form.find("input, textarea").focus(function(){if($(this).is(':submit')){return}$(this).parent().removeClass("Default");$(this).parent().addClass("Focused")}).blur(function(){if($(this).is(':submit')){return}$(this).parent().removeClass("Focused");$(this).parent().addClass("Default")}).blur();if(!Modernizr.inputtypes.number){$('input[type=number]').each(function(){var $input=$(this);$input.stepper()})}if(!Modernizr.inputtypes.date){$('input[type=date]').each(function(){var $input=$(this);$input.datepicker({dateFormat:'yy-mm-dd'})})}submit_obj.click(click);cancel_obj.click(click);close_obj.click(click);setTimeout(lateinit,33)}function create(){screen2.hide();open=true;container.fadeIn("fast");resize();instance.dispatch("onOpen")}this.kill=function(){destroy()};this.draw=function(){create()};this.initialize=function(){Func=classes.helpers.Func;StageProxy=classes.StageProxy;L10N=classes.helpers.L10N;Shell=classes.Shell;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.elements.Controlbar=(function(){function Constructor(){var Shell;var Dialog;var L10N;var Session;var Overlay;var ContactForm;var Func;var Cart;var instance=this;var provider_lookup={set:{top:-15,bottom:0,label:null,view:null,container:null,current:null,options:null,index:-1},favorites:{top:-15,bottom:0,view:null,label:null,container:null,current:null,options:null,index:-1},cart:{top:-15,bottom:0,view:null,label:null,container:null,current:null,options:null,index:-1}};var inited=false;var playing=true;var container=null;var icon_mail=null;var icon_music=null;var jp_player=null;function clear_fav_confirm(){instance.dispatch("onWallView",{view:"set",index:0});Session.purge("favorites")}function clear_fav_dialog(){Dialog.options({unique:"controlbarfavoriteclear",modal:true,title:L10N.get("ordering","cart_delete_confirmation_title"),description:L10N.get("ordering","cart_delete_confirmation_description"),confim:clear_fav_confirm});Dialog.draw()}function click(e){var obj=$(this);if(obj.data("key")=="clear-favorites"){clear_fav_dialog();Func.stop(e);return false}if(obj.data("key")=="clear-cart"){Cart.clear();Func.stop(e);return false}if(obj.data("key")=="view-cart"){Cart.open();Func.stop(e);return false}if(obj.data("key")=="checkout"){Cart.checkout();Func.stop(e);return false}var index=obj.data("index");var provider=provider_lookup[obj.data("provider")];if(provider.index==index){return false}instance.dispatch("onWallView",{view:obj.data("provider"),index:index});provider.container.stop().transition({top:provider.top});Func.stop(e);return false}function open(){var obj=$(this);var val=obj.data("value");obj.find("option[data-key]").removeAttr("disabled");if(Overlay.getWallView()==obj.data("provider")){obj.val(val);if(!$.browser.mozilla&&!$.browser.ipad){obj.find("option:selected").attr("disabled","disabled")}}}function change(e){var obj=$(this);var selected=obj.find("option:selected");var key=selected.data("key");var provider=selected.data("provider");var index=selected.data("index");var lookup=provider_lookup[provider];var val=selected.val();obj.data("value",val);var options=obj.find("option");options.removeAttr("selected");options.eq(0).attr("selected","selected");var key2,provider2;for(key2 in provider_lookup){if(provider_lookup.hasOwnProperty(key2)){if(key2==obj.data("provider")){continue}provider2=provider_lookup[key2];provider2.view.data("value","")}}if(key=="clear-favorites"){clear_fav_dialog();Func.stop(e);return false}if(key=="clear-cart"){Cart.clear();Func.stop(e);return false}if(key=="view-cart"){Cart.open();Func.stop(e);return false}if(key=="checkout"){Cart.checkout();Func.stop(e);return false}if(lookup.index==index){return false}instance.dispatch("onWallView",{view:provider,index:index});Func.stop(e);return false}function onWallView(eo){var popups=["set","favorites","cart"];var i,provider;for(i=0;i<popups.length;++i){provider=provider_lookup[popups[i]];provider.options.removeClass();provider.index=-1;provider.current=null}provider=provider_lookup[eo.view];provider.index=eo.index;provider.current=provider.options.eq(provider.index);if(!Shell.device().tablet){provider.current.addClass("Active")}}function resetIndex(i){$(this).data("index",i)}function resize(){var key,provider,options,label,width;if(Shell.device().tablet){for(key in provider_lookup){if(provider_lookup.hasOwnProperty(key)){provider=provider_lookup[key];provider.options=provider.view.find("option[data-key]");provider.options.removeAttr("disabled").data("provider",key).each(resetIndex);options=provider.view.find("option");options.removeAttr("selected");options.eq(0).attr("selected","selected")}}}else{for(key in provider_lookup){if(provider_lookup.hasOwnProperty(key)){provider=provider_lookup[key];label=provider.label.html();provider.view.width("auto");provider.view.find("ul").width("auto");provider.label.html("0000");width=Math.max(provider.view.width(),provider.view.find("ul").width());provider.options=provider.view.find("li[data-key]");provider.options.off().click(click).data("provider",key).each(resetIndex);provider.label.html(label);provider.view.width(width);provider.view.find("ul").width("100%");provider.top=provider.container.css("top");provider.bottom=(provider.container.height()+2)*-1}}}}function onSessionLoaded(){if(inited==false){inited=true;if(!Shell.device().tablet){container.stop().transition({bottom:'0'})}}var page_breakpoint=Overlay.getMaxImageCount();var favorites=Session.getFavorites();var favorite_pages=[];var i;var partition;var provider;if(favorites.length<=page_breakpoint){favorite_pages.push(L10N.get("ordering","navigation_favorites_all")+" ("+favorites.length+")")}else{partition=Func.array_chunk(favorites,page_breakpoint);for(i=0;i<partition.length;++i){favorite_pages.push(L10N.get("ordering","navigation_favorites_page")+" "+(i+1)+" ("+partition[i].length+")")}}var cartitems=Session.getCart();var cart_pages=[];if(cartitems.length<=page_breakpoint){cart_pages.push(L10N.get("ordering","navigation_cart_all")+" ("+cartitems.length+")")}else{partition=Func.array_chunk(cartitems,page_breakpoint);for(i=0;i<partition.length;++i){favorite_pages.push(L10N.get("ordering","navigation_cart_page")+" "+(i+1)+" ("+partition[i].length+")")}}var cart_length=Cart.count();if(Shell.device().tablet){provider=provider_lookup.favorites;if(favorites.length>0){provider.view.removeAttr("disabled").html('<option'+($.browser.mozilla||$.browser.ipad?"":' disabled="disabled"')+'>'+L10N.get("ordering","navigation_favorites_title")+" ("+favorites.length+")"+"</option>");for(i=0;i<favorite_pages.length;++i){provider.view.append('<option data-key="">'+favorite_pages[i]+"</option>")}provider.view.append('<option data-key="clear-favorites">'+L10N.get("ordering","navigation_clear_favorites")+"</option>")}else{provider.view.attr("disabled","disabled").html("<option>"+L10N.get("ordering","navigation_no_favorites")+"</option>")}provider=provider_lookup.cart;if(cart_length>0){provider.view.removeAttr("disabled").html('<option'+($.browser.mozilla||$.browser.ipad?"":' disabled="disabled"')+'>'+L10N.get("ordering","navigation_cart_title")+" ("+cartitems.length+")"+"</option>");if(cartitems.length>0){for(i=0;i<cart_pages.length;++i){provider.view.append('<option data-key="">'+cart_pages[i]+"</option>")}}provider.view.append('<option data-key="view-cart">'+L10N.get("ordering","navigation_view_cart")+"</option>").append('<option data-key="clear-cart">'+L10N.get("ordering","navigation_clear_cart")+"</option>").append('<option data-key="checkout">'+L10N.get("ordering","navigation_checkout")+"</option>")}else{provider.view.attr("disabled","disabled").html("<option>"+L10N.get("ordering","navigation_cart_empty")+"</option>")}}else{provider=provider_lookup.favorites;if(favorites.length>0){provider.title.html(L10N.get("ordering","navigation_favorites_title"));provider.label.html("("+favorites.length+")");provider.container.show().empty().append("<li></li>");for(i=0;i<favorite_pages.length;++i){provider.container.append('<li data-key="'+i+'">'+favorite_pages[i]+"</li>")}provider.container.append('<li data-key="clear-favorites">'+L10N.get("ordering","navigation_clear_favorites")+"</li>")}else{provider.title.html(L10N.get("ordering","navigation_no_favorites"));provider.label.empty();provider.container.empty().hide()}provider=provider_lookup.cart;if(cart_length>0){provider.title.html(L10N.get("ordering","navigation_cart_title"));provider.label.html("("+cartitems.length+")");provider.container.show().empty().append("<li></li>");if(cartitems.length>0){for(i=0;i<cart_pages.length;++i){provider.container.append('<li data-key="'+i+'">'+cart_pages[i]+"</li>")}}provider.container.append('<li data-key="view-cart">'+L10N.get("ordering","navigation_view_cart")+"</li>").append('<li data-key="clear-cart">'+L10N.get("ordering","navigation_clear_cart")+"</li>").append('<li data-key="checkout">'+L10N.get("ordering","navigation_checkout")+"</li>")}else{provider.title.html(L10N.get("ordering","navigation_cart_empty"));provider.label.empty();provider.container.empty().hide()}}resize()}function toggle_soundtrack(){if(playing==true){playing=false;icon_music.addClass("Paused");jp_player.jPlayer("pause")}else{playing=true;icon_music.removeClass("Paused");jp_player.jPlayer("play")}}function release(e){if($(this).data("state")=="closed"){$(this).mouseenter()}else{$(this).mouseleave()}Func.stop(e);return false}function mouseover(e){$(this).data("state","open");var provider=provider_lookup[$(this).data("provider")];provider.container.stop().transition({top:provider.bottom});Func.stop(e);return false}function mouseout(e){$(this).data("state","closed");var provider=provider_lookup[$(this).data("provider")];provider.container.stop().transition({top:provider.top});Func.stop(e);return false}function draw(){container=$("#controlbar");icon_mail=$("#icon-mail");icon_music=$("#icon-music");jp_player=$("#jp-player");if(!Shell.device().tablet){container.stop().transition({bottom:(container.outerHeight()+30)*-1})}container.click(function(e){Func.stop(e);return false});container.find(".Graphic a").click(function(){if($(this).attr("target")=="_blank"){window.open($(this).attr("href"),"_blank")}else{window.location.assign($(this).attr("href"))}});icon_mail.click(function(){ContactForm.draw()});icon_music.click(function(){toggle_soundtrack()});var popups=["set","favorites","cart"];var i,key,view,options,provider;if(Shell.device().tablet){for(i=0;i<popups.length;++i){key=popups[i];view=$("#controlbar-"+key);options=view.find("option[data-key]");provider=provider_lookup[popups[i]];options.data("provider",key).each(resetIndex);view.data("value",options.eq(0).val()).data("provider",key).off().mousedown(open).change(change);provider.view=view;provider.options=options}}else{var view_title,view_label,view_container;for(i=0;i<popups.length;++i){key=popups[i];view=$("#controlbar-"+key);view_title=view.find("span").eq(0);view_label=view.find("span").eq(1);view_container=view.find("ul");options=view.find("li[data-key]");provider=provider_lookup[popups[i]];options.off().click(click).data("provider",key).each(resetIndex);view.data("state","closed").data("provider",key).click(release).mouseenter(mouseover).mouseleave(mouseout);provider.view=view;provider.container=view_container;provider.title=view_title;provider.label=view_label;provider.options=options}}instance.addEventListener("onWallView",onWallView);instance.dispatch("onWallView",{view:"set",index:0})}function soundtrack(){var playlist=Overlay.getPlaylist();if(playlist.length>0){var player=new jPlayerPlaylist({jPlayer:"#jp-player",cssSelectorAncestor:"#jp-container"},playlist,{playlistOptions:{autoPlay:true},wmode:"window",swfPath:APP_ROOT+'vend-proofing-core/swf/Jplayer.swf',solution:'html, flash',supplied:'mp3',volume:50,loop:true});player.option()}}function lateinit(){Session.addEventListener("onSessionLoaded",onSessionLoaded);Session.addEventListener("onSessionCart",onSessionLoaded);Session.addEventListener("onSessionFavorites",onSessionLoaded)}function init(){draw();resize()}function render(){init();setTimeout(lateinit,33)}this.start=function(){soundtrack()};this.initialize=function(){L10N=classes.helpers.L10N;Shell=classes.Shell;Session=classes.Session;Overlay=classes.Overlay;Dialog=classes.Dialog;ContactForm=classes.elements.ContactForm;Func=classes.helpers.Func;Cart=classes.overlay.Cart;render();resize()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.elements.FormDialog=(function(){function Constructor(){var StageProxy;var Cookie;var Shell;var Func;var defaults={view:"init",modal:false,description:"",description_markdown:false,draw_logo:true,prefill_variable_name:"",prefill_variable_value:"",field_password:false,field_label:"",submit_label:"",error_label:"",confirm_label:"",cancel_label:"",submit:false,cancel:false,confirm:false};var opt={};var instance=this;var open=false;var container;var screen;var dialog;var logo;var description;var form;var field;var submit_obj;var cancel1_obj;var response;var error;var confirm_obj;var cancel2_obj;var screen2;function resize(){if(!open){container.show()}var cheight=Math.max(form.height(),response.height());$("#form-dialog-content").height(cheight);var sw=StageProxy.width();var sh=StageProxy.height();var dw=dialog.width();var dh=dialog.outerHeight();dialog.css({top:(sh-dh)/2,left:(sw-dw)/2});if(!open){container.hide()}}function loading(){screen2.css('z-index',3).fadeIn("fast");dialog.progress()}function showForm(){opt.view="form";dialog.progress(true);response.css('z-index',1).fadeOut('fast');form.css('z-index',2).fadeIn('fast');screen2.fadeOut("fast");resize()}function showError(){opt.view="error";dialog.progress(true);form.css('z-index',1).fadeOut('fast');response.css('z-index',2).fadeIn('fast');screen2.fadeOut("fast");resize()}function change(){submit_obj.attr("disabled","disabled");if(field.val()!=""){submit_obj.removeAttr("disabled")}if(opt.prefill_variable_name){Cookie.set(opt.prefill_variable_name,field.val(),365)}}function destroy(){field.blur();dialog.progress(true);opt={};container.stop().fadeOut("fast",function(){open=false;instance.dispatch("onClose")})}function confirm(){if(opt.confirm){opt.confirm()}else{showForm()}}function cancel(){if(opt.cancel){opt.cancel()}else{destroy()}}function submit(){if(opt.submit){loading();opt.submit()}else{destroy()}}function keyevent(event){if(open){switch(event.which){case 13:if(opt.view=="form"&&submit_obj.attr("disabled")!="disabled"){submit()}else if(opt.view=="error"){confirm()}Func.stop(event);return false;default:if(opt.field_label!=""){change()}}}}function click(event){switch($(this).attr("id")){case screen.attr("id"):if(opt.modal){cancel()}break;case confirm_obj.attr("id"):confirm();break;case cancel1_obj.attr("id"):case cancel2_obj.attr("id"):cancel();break;case submit_obj.attr("id"):submit();break}Func.stop(event);return false}function create(){var prefill_value="";if(opt.prefill_variable_name){prefill_value=Cookie.get(opt.prefill_variable_name)}if(opt.draw_logo==true){opt.draw_logo=logo.length?true:false}logo.toggle(opt.draw_logo);description.removeClass("Description");if(opt.description_markdown){description.addClass("Description")}description.html(opt.description).toggle(opt.description!="");field=opt.field_password?$("#form-dialog-field-pw"):$("#form-dialog-field");field.val(prefill_value).attr("placeholder",opt.field_label).toggle(opt.field_label!="");if(opt.field_password){$("#form-dialog-field").hide()}else{$("#form-dialog-field-pw").hide()}submit_obj.html(opt.submit_label).attr("disabled","disabled");if(prefill_value!=""||opt.field_label==""){submit_obj.removeAttr("disabled")}cancel1_obj.html(opt.cancel_label).toggle(opt.modal==true);error.html(opt.error_label).toggle(opt.error_label!="");confirm_obj.html(opt.confirm_label);cancel2_obj.html(opt.cancel_label).toggle(opt.modal==true);screen2.hide();open=true;container.fadeIn("fast");form.hide();response.hide();if(opt.view=="init"||opt.view=="form"){showForm()}else{showError()}resize();instance.dispatch("onOpen")}function logo_loaded(){$(this).transition({opacity:1},500)}function render(){container=$("#form-dialog-container");screen=$("#form-dialog-screen");dialog=$("#form-dialog");logo=$("#form-dialog img");description=$("#form-dialog-description");form=$("#form-dialog form");submit_obj=$("#form-dialog-submit");cancel1_obj=$("#form-dialog-cancel");response=$("#form-dialog-response");error=$("#form-dialog-error");confirm_obj=$("#form-dialog-confirm");cancel2_obj=$("#form-dialog-cancel2");screen2=$("#form-dialog-screen2");logo.css("opacity",0).one('load',logo_loaded).each(Func.imgonload);screen.click(click);submit_obj.click(click);cancel1_obj.click(click);confirm_obj.click(click);cancel2_obj.click(click);if(!Shell.device().tablet){container.mousewheel(Func.stop)}else{container.bind("touchmove",Func.stop)}$("body").keyup(keyevent);StageProxy.addEventListener("onResize",resize)}this.kill=function(){destroy()};this.options=function(obj){var prop;for(prop in defaults){if(defaults.hasOwnProperty(prop)){opt[prop]=defaults[prop]}}for(prop in obj){if(obj.hasOwnProperty(prop)){opt[prop]=obj[prop]}}};this.draw=function(){create()};this.error=function(){showError()};this.inputvalue=function(){return $.trim(field.val().split("\t").join("").split("\n").join("").split("\r").join(""))};this.initialize=function(){Func=classes.helpers.Func;StageProxy=classes.StageProxy;Cookie=classes.helpers.Cookie;Shell=classes.Shell;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.elements.Graphic=function(){var flag_encode=true;var flag_resample="auto";var flag_width=0;var flag_height=0;var flag_fitstyle="noBorder";var flag_watermark=false;var flag_source={};function isVideo(){return(flag_source.type=="FLV"||flag_source.type=="MP4")}function toHex(num){var result='';var digitArray=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];var start=true;var i=32,digit;while(i>0){i-=4;digit=(num>>i)&0xf;if(!start||digit!=0){start=false;result+=digitArray[digit]}}return(result==''?'0':result)}function pad(str,len,chr){var result=str;var i;for(i=str.length;i<len;i++){result=chr+result}return result}function encodeHex(str){var result="";var i;for(i=0;i<str.length;i++){result+=pad(toHex(str.charCodeAt(i)&0xff),2,'0')}return result}this.encode=function(bool){flag_encode=bool};this.resample=function(type){flag_resample=type};this.watermark=function(bool){flag_watermark=bool};this.letterbox=function(bool){flag_fitstyle=bool?"letterBox":"noBorder"};this.setSize=function(width,height){if(width){flag_width=width}if(height){flag_height=height}};this.provider=function(obj){var localpath=obj.src;if(!localpath&&obj.parent&&obj.child){localpath="vend-proofing-data/storage/"+obj.parent+"/"+obj.child}if(obj.parent.indexOf("zip")!=-1){obj.type="JPG"}if(!obj.type||obj.type==""){obj.type=localpath.substring(localpath.lastIndexOf(".")+1).toUpperCase()}flag_source=obj};this.source=function(){var src_path=APP_ROOT+"vend-proofing-data/storage/"+flag_source.parent+"/"+flag_source.child+(isVideo()?".snapshot.jpg":"");var src_type=isVideo()?"JPG":flag_source.type;if(flag_resample!="none"&&(src_type=="PNG"||src_type=="GIF"||src_type=="JPEG"||src_type=="JPG")){var path=APP_ROOT+"vend-proofing-resample.php";var query="";query+=flag_source.parent+":"+flag_source.child+(isVideo()?".snapshot.jpg":"");if(flag_resample=="postal"){var image_width=(Math.ceil(flag_width/50)*50);var image_height=(Math.ceil(flag_height/50)*50);switch(flag_fitstyle){case"letterBox":query+=":"+image_width+":"+image_height+":0";break;case"noBorder":if(image_width>image_height){query+=":"+image_width+":"+":1"}else{query+=":"+":"+image_height+":1"}break}}else if(flag_resample=="auto"){switch(flag_fitstyle){case"letterBox":query+=":"+flag_width+":"+flag_height+":0";break;case"noBorder":query+=":"+flag_width+":"+flag_height+":1";break}}query+=","+(flag_source.xoffset||50)+","+(flag_source.yoffset||50);query+=":"+src_type.toLowerCase();query+=":"+VEND_GRAPHIC_QUALITY+","+(VEND_GRAPHIC_SHARPEN?"1":"0")+","+(VEND_GRAPHIC_IMAGIC?"1":"0");query+=":1";query+=":"+(flag_watermark&&VEND_GRAPHIC_WATERMARK?"1":"0")+":"+VEND_GRAPHIC_WATERMARK_ASSET+":"+VEND_GRAPHIC_WATERMARK_X+":"+VEND_GRAPHIC_WATERMARK_Y+":"+VEND_GRAPHIC_WATERMARK_ALPHA;query+=":"+(flag_watermark&&VEND_GRAPHIC_CROSSHAIRS?"1":"0")+":"+VEND_GRAPHIC_CROSSHAIRS_COLOR+":"+VEND_GRAPHIC_CROSSHAIRS_ALPHA;if(flag_encode){path+="?hash="+encodeHex(query)}else{path+="?q="+escape(query)}src_path=path}return src_path}};classes.content.Contact=(function(){function Constructor(){var ContactForm;function render(){ContactForm.draw()}this.initialize=function(){ContactForm=classes.elements.ContactForm;render()}}return new Constructor()}());classes.content.Expired=(function(){function Constructor(){var Func;var L10N;var FormDialog;function dialog_confirm(){window.location=APP_ROOT}function render(){Func.setDocumentTitle(L10N.get("general","set_expired_error"));FormDialog.options({view:"error",error_label:L10N.get("general","set_expired_error"),confirm_label:L10N.get("general","return_to_gateway"),confirm:dialog_confirm});FormDialog.draw()}this.initialize=function(){Func=classes.helpers.Func;L10N=classes.helpers.L10N;FormDialog=classes.elements.FormDialog;render()}}return new Constructor()}());classes.content.Login=(function(){function Constructor(){var Func;var L10N;var FormDialog;var Overlay;function dialog_response(str){if(str!="d41d8cd98f00b204e9800998ecf8427e"){window.location.reload(true)}else{FormDialog.error()}}function dialog_submit(){$.post(APP_ROOT+"vend-proofing-gateway.php",{action:"validate_login",password:FormDialog.inputvalue(),suid:Overlay.pageid()},dialog_response)}function render(){Func.setDocumentTitle(L10N.get("general","password_required"));FormDialog.options({field_password:true,field_label:L10N.get("general","password_required"),submit_label:L10N.get("general","dialog_submit"),error_label:L10N.get("general","password_incorrect"),confirm_label:L10N.get("general","dialog_confim"),submit:dialog_submit});FormDialog.draw()}this.initialize=function(){Overlay=classes.Overlay;Func=classes.helpers.Func;L10N=classes.helpers.L10N;FormDialog=classes.elements.FormDialog;render()}}return new Constructor()}());classes.content.Splash=(function(){function Constructor(){var Func;var L10N;var FormDialog;var Shell;var thumbnails=[];var thumbnail_index=-1;var thumbnail_interval_id;var splash_page_view="wall";var welcome_str="";var current_suid="";function password_response(str){if(str!="d41d8cd98f00b204e9800998ecf8427e"){window.location.assign(APP_ROOT+"?/"+URI_PAGE_PREFIX+"/"+current_suid+"/")}else{FormDialog.error()}}function password_submit(){$.post(APP_ROOT+"vend-proofing-gateway.php",{action:"validate_login",password:FormDialog.inputvalue(),suid:current_suid},password_response)}function password(suid){current_suid=suid;FormDialog.options({modal:true,draw_logo:false,field_password:true,cancel_label:L10N.get("general","dialog_cancel"),field_label:L10N.get("general","password_required"),submit_label:L10N.get("general","dialog_submit"),error_label:L10N.get("general","password_incorrect"),confirm_label:L10N.get("general","dialog_confim"),submit:password_submit});FormDialog.draw()}function click(event){var child=$(this);if(child.hasClass("Disabled")){Func.stop(event)}if(child.hasClass("Login")){password(child.attr("data-suid"));Func.stop(event)}}function thumbnail_loaded(){if(!Shell.device().tablet&&!$.browser.mozilla){$(this).transition({opacity:1},"fast")}clearInterval(thumbnail_interval_id);thumbnail_interval_id=setTimeout(thumbnail_loadnext)}function thumbnail_loadnext(){thumbnail_index=thumbnail_index+1;if(thumbnail_index==thumbnails.length){return}var img=thumbnails.eq(thumbnail_index);img.attr("src",img.data("src")).one('load',thumbnail_loaded).each(Func.imgonload)}function wall(){var wallitems=$(".WallItem");wallitems.find(".uiPushButton").click(click);thumbnails=wallitems.find("img");if(!Shell.device().tablet&&!$.browser.mozilla){thumbnails.css("opacity",0)}thumbnail_loadnext()}function welcome_submit(){FormDialog.kill()}function welcome(){if(welcome_str.length==0){return}FormDialog.options({description:welcome_str,submit_label:L10N.get("general","dialog_confim"),submit:welcome_submit});FormDialog.draw()}function dialog_response(str){if(str=="true"){window.location.assign(APP_ROOT+"?/"+URI_PAGE_PREFIX+"/"+FormDialog.inputvalue()+"/")}else{FormDialog.error()}}function dialog_submit(){$.post(APP_ROOT+"vend-proofing-gateway.php",{action:"validate_suid",suid:FormDialog.inputvalue()},dialog_response)}function dialog(){FormDialog.options({description:welcome_str,field_label:L10N.get("splash","login_field_prompt"),submit_label:L10N.get("splash","login_submit"),error_label:L10N.get("splash","login_failure"),confirm_label:L10N.get("general","dialog_confim"),submit:dialog_submit});FormDialog.draw()}function render(){if(splash_page_view=="wall"){wall();welcome()}else{dialog()}}this.setWelcomeText=function(str){welcome_str=str};this.setPageView=function(str){splash_page_view=str};this.initialize=function(){Func=classes.helpers.Func;Shell=classes.Shell;L10N=classes.helpers.L10N;FormDialog=classes.elements.FormDialog;render()}}return new Constructor()}());classes.content.Display=(function(){function Constructor(){var L10N;var Func;var FormDialog;var Controlbar;var StageProxy;var Overlay;var Shell;var Session;var Graphic;var Cart;var welcome_str="";var children=[];var lookup={};var indexes=[];var thumb_loader_index=-1;var thumbnail_interval_id;var row_height=150;var stack=[];var categoryblock;var thumbnails;var favorites;var setup={title:"",expiry:"0",expired:false,tooltips:false};function thumbnail_loaded(){var child=thumbnails.eq(thumb_loader_index);var img=child.find("img");if(Overlay.getWallView()=="cart"){var provider=child.data("provider");var cartobj=Session.getCartObject(provider.hash);Func.filter(img,cartobj.toning)}else{child.find(".FavoriteButton").data("loaded",true).show()}if(!Shell.device().tablet&&!$.browser.mozilla){img.stop().transition({opacity:1},500)}clearInterval(thumbnail_interval_id);thumbnail_interval_id=setTimeout(thumbnail_loadnext,33)}function thumbnail_loadnext(){thumb_loader_index=thumb_loader_index+1;if(thumb_loader_index==children.length){return}var img=thumbnails.eq(thumb_loader_index).find("img");img.attr("src",img.data("source")).one('load',thumbnail_loaded).each(Func.imgonload)}function drawThumbnails(){clearTimeout(thumbnail_interval_id);thumb_loader_index=-1;lookup={};indexes=[];thumbnails.each(function(i){var provider=children[i];if(provider){var button_h=150;var button_w=0;if(Overlay.getWallView()=="cart"){var ratio=provider.width/provider.height;button_w=Math.round(button_h*ratio)}var graphic=new Graphic();graphic.provider(provider);graphic.letterbox(false);graphic.setSize(button_w,button_h);$(this).show().css("visibility","visible").css("opacity",1).removeClass("Active").data("index",i).data("hash",provider.hash).data("provider",provider).find("img").off().css("opacity",Shell.device().tablet||$.browser.mozilla?100:0).data("original-src","").attr("src",Func.getEmptyImgSrc()).data("source",graphic.source());lookup[provider.hash]=$(this);indexes[i]=provider.hash}else{$(this).hide().data("index",-1).data("hash","").data("provider",{}).find("img").attr("src",Func.getEmptyImgSrc())}});favorites.each(function(){$(this).hide().removeClass("Active").data("tiptext",L10N.get("ordering","favorites_tooltip_add")).data("loaded",false).data("active",false)});thumbnail_loadnext()}function drawSetImages(){children=Overlay.getViewProvider();drawThumbnails()}function onSessionCart(){thumbnails.removeClass("Active");if(Overlay.getWallView()=="cart"&&Overlay.isOpen()==true){var table=Session.getCartTable();thumbnails.each(function(){if(!table[$(this).data("hash")]){$(this).stop().transition({opacity:0.25},"fast")}})}var cart=Session.getCart();var i,row,cuid,thumbnail;for(i=0;i<cart.length;++i){row=cart[i];cuid=md5(row.puid+row.cuid);thumbnail=lookup[cuid];if(thumbnail){thumbnail.addClass("Active")}}}function onSessionFavorites(){if(Overlay.getWallView()=="favorites"&&Session.getFavoritesLength()==0){Controlbar.dispatch("onWallView",{view:"set",index:0});Overlay.close();return}var favorites_table=Session.getFavoritesTable();favorites.each(function(){var active=favorites_table[$(this).parent().data("hash")+"-f"];if(active){$(this).addClass("Favorited").data("tiptext",L10N.get("ordering","favorites_tooltip_remove")).data("active",active)}else{$(this).removeClass("Favorited").data("tiptext",L10N.get("ordering","favorites_tooltip_add")).data("active",active);if(Overlay.getWallView()=="favorites"){$(this).parent().css("visibility","hidden")}}if($(this).data("loaded")==true){$(this).show()}})}function onSessionLoaded(){onSessionCart();onSessionFavorites()}function updateBatch(i){var row=stack[i];var j,obj,button,sw,sh,nw,nh;for(j=0;j<row.length;++j){obj=row[j];button=obj.clip;button.css({width:(obj.w)+"px",height:(obj.h)+"px",top:obj.y+"px",left:obj.x+"px"});button.find(".Highlight").css({width:(obj.w-10)+"px",height:(obj.h-10)+"px"});sw=obj.w;sh=obj.h;nw=sw;nh=nw/obj.r;if(nh<sh){nh=sh;nw=nh*obj.r}button.find("img").css({width:nw+"px",height:nh+"px",top:((sh-nh)/2)+"px",left:((sw-nw)/2)+"px"})}}function resize(){if(!thumbnails){return}var totalwidth=Shell.device().tablet?Math.max(screen.width,screen.height):classes.StageProxy.width();var xpos=0;var ypos=0;var stackindex=0;stack=[[]];thumbnails.each(function(i){var button=$(this);var provider=children[i];var ratio=1;var button_x=0;var button_y=0;var button_h=0;var button_w=0;if(provider){ratio=provider.width/provider.height;button_x=xpos;button_y=ypos;button_h=row_height-1;button_w=Math.round(button_h*ratio);if(button_x+button_w+1>totalwidth){stack.push([]);stackindex+=1;xpos=0;ypos+=row_height;button_x=xpos;button_y=ypos}xpos+=button_w+1}stack[stackindex].push({clip:button,r:ratio,x:button_x,y:button_y,w:button_w,h:button_h})});var i;if(Overlay.getWallView()!="cart"){var j,rowitems,lastitem,rowwidth,offset,offset_last,rowitem;for(i=0;i<stack.length-1;++i){rowitems=stack[i];lastitem=rowitems[rowitems.length-1];rowwidth=lastitem.x+lastitem.w+1;offset=Math.floor((totalwidth-rowwidth)/rowitems.length);offset_last=totalwidth-((offset*rowitems.length)+rowwidth);xpos=0;for(j=0;j<rowitems.length;++j){rowitem=rowitems[j];rowitem.x=xpos;rowitem.w+=rowitem.clip==lastitem.clip?offset+offset_last-1:offset;xpos+=rowitem.w+1}}}i=0;for(i=0;i<stack.length;++i){updateBatch(i)}categoryblock.height(stack.length*row_height+$("#controlbar").outerHeight())}function refresh(){drawSetImages();onSessionLoaded();resize();window.scrollTo(0,0)}function onClose(){if(Overlay.getWallView()=="cart"){if(Session.isCartEmpty()){Controlbar.dispatch("onWallView",{view:"set",index:0})}else{if(children.length!=Session.getCartLength()){refresh()}}}if(Overlay.getWallView()=="favorites"){if(Session.isFavoritesEmpty()){Controlbar.dispatch("onWallView",{view:"set",index:0})}else{if(children.length!=Session.getFavoritesLength()){refresh()}}}}function onWallView(eo){Overlay.setWallView(eo.view,eo.index);refresh()}function fixIndexes(){var i,j,button;j=0;for(i=0;i<children.length;++i){button=thumbnails.eq(i);if(button.data("index")!=-1){button.data("index",j);++j}}}function init(){categoryblock=$("#image-wall");thumbnails=Overlay.getMaxImageCount();var i;for(i=0;i<thumbnails;++i){categoryblock.append('<div class="Graphic"><div class="Wrapper"><img src="'+Func.getEmptyImgSrc()+'" width="" height="" alt="" /><div class="Highlight"></div></div><div class="FavoriteButton"></div></div>')}thumbnails=$("#image-wall .Graphic");thumbnails.click(function(e){if(Overlay.getWallView()!="cart"){if(setup.tooltips&&$(this).data("provider").alt!=""){Shell.killToolTip()}Overlay.setView("browse");Overlay.open();Overlay.setBrowseIndex($(this).data("index"))}else{Overlay.setView("overview");Overlay.open();Cart.preview($(this).data("provider").hash)}Func.stop(e);return false});if(!Shell.device().tablet){thumbnails.mouseenter(function(e){$(".Wrapper",this).stop().transition({opacity:0.5},"fast");if(Overlay.getWallView()!="cart"){if(setup.tooltips&&$(this).data("provider").alt!=""){Shell.createToolTip($(this).data("provider").alt,true)}}Func.stop(e);return false}).mouseleave(function(e){$(".Wrapper",this).stop().transition({opacity:1},"fast");if(Overlay.getWallView()!="cart"){if(setup.tooltips&&$(this).data("provider").alt!=""){Shell.killToolTip()}}Func.stop(e);return false})}favorites=thumbnails.find(".FavoriteButton");favorites.click(function(e){if(setup.tooltips){Shell.killToolTip()}if(Overlay.getWallView()=="favorites"){fixIndexes();Session.removeItem("favorites",$(this).parent().data("hash"))}else{var info=Overlay.getImageInfo($(this).parent().data("index"));if($(this).data("active")){Session.removeItem("favorites",$(this).parent().data("hash"))}else{var obj={hash:$(this).parent().data("hash"),puid:info.parent,cuid:info.child,filename:info.filename,width:info.width,height:info.height};Session.addItem("favorites",obj)}}$(this).hide();Func.stop(e);return false});if(!Shell.device().tablet){favorites.mouseenter(function(e){$(this).parent().mouseleave();if(setup.tooltips){Shell.createToolTip($(this).data("tiptext"),false)}Func.stop(e);return false}).mouseleave(function(e){$(this).parent().mouseenter();if(setup.tooltips){Shell.killToolTip()}Func.stop(e);return false})}}function dialog_response(str){if(str=="email_invalid"){FormDialog.error()}else{FormDialog.kill();Session.setHash(str);Controlbar.start()}}function dialog_submit(){$.post(APP_ROOT+"vend-proofing-gateway.php",{action:"open_session",email:FormDialog.inputvalue().toLowerCase(),puid:Overlay.pageid()},dialog_response)}function dialog_open(){var expiry=setup.expiry=="0"?L10N.get("splash","expiration_never"):setup.expiry;var expiry_text=setup.expired?L10N.get("splash","set_expired_on")+" "+expiry:L10N.get("splash","set_expires_on")+" "+expiry;var session_desc='<h2>'+setup.title+'</h2>';if(welcome_str!=""){session_desc+=welcome_str}if(L10N.get("general","session_dialog_directions")!=""){session_desc+='<p>'+L10N.get("general","session_dialog_directions")+'</p>'}session_desc+='<p><strong>'+expiry_text+'</strong></p>';FormDialog.options({draw_logo:false,markdown:true,description:session_desc,prefill_variable_name:"vend_proofing_session_email_"+$("#container").attr("data-suid"),field_label:L10N.get("general","session_enter_email_address"),submit_label:L10N.get("general","session_start_resume"),error_label:L10N.get("general","session_invalid_email_address"),confirm_label:L10N.get("general","dialog_confim"),submit:dialog_submit});FormDialog.draw()}function render(){if(!Shell.device().tablet){StageProxy.addEventListener("onResize",resize)}Overlay.addEventListener("onClose",onClose);Session.addEventListener("onSessionLoaded",onSessionLoaded);Session.addEventListener("onSessionCart",onSessionCart);Session.addEventListener("onSessionFavorites",onSessionFavorites);Controlbar.addEventListener("onWallView",onWallView);init();dialog_open()}function appear(){Session.initialize();Controlbar.initialize()}this.initialize=function(){L10N=classes.helpers.L10N;Func=classes.helpers.Func;FormDialog=classes.elements.FormDialog;Graphic=classes.elements.Graphic;Controlbar=classes.elements.Controlbar;StageProxy=classes.StageProxy;Overlay=classes.Overlay;Shell=classes.Shell;Session=classes.Session;Cart=classes.overlay.Cart;render();resize();appear()};this.settings=function(obj){if(obj){setup=obj}return setup};this.setWelcomeText=function(str){welcome_str=str}}return new Constructor()}());classes.overlay.Browser=(function(){function Constructor(){var Shell;var Func;var L10N;var Overlay;var Session;var Sidebar;var Graphic;var instance=this;var width=0;var height=0;var index=-1;var inited=false;var active=false;var container;var input;var favorite={ui:null,active:false,disabled:false,next:false,hash:""};var current={layer:null,title:null,info:{},bounds:{}};var crop={container:null,o:null,t:null,l:null,b:null,r:null,x_offset:50,y_offset:50,direction:"v",limits:{},width:0,height:0};var zoom={container:null,img:null,ui:null,open:false,disabled:false,active:false,limits:{},width:0,height:0};function updateCropView(){if(!crop.o.position()){return}var outline_x=crop.o.position().left;var outline_y=crop.o.position().top;var outline_w=crop.o.outerWidth();var outline_h=crop.o.outerHeight();var image_width=width;var image_height=height;var top_w=image_width;var top_h=outline_y;var left_w=outline_x;var left_h=image_height;var bottom_y=outline_y+outline_h;var bottom_w=image_width;var bottom_h=image_height-(outline_y+outline_h);var right_x=outline_x+outline_w;var right_w=image_width-(outline_x+outline_w);var right_h=image_height;crop.t.width(top_w).height(top_h);crop.l.width(left_w).height(left_h);crop.b.width(bottom_w).height(bottom_h).css("top",bottom_y);crop.r.width(right_w).height(right_h).css("left",right_x)}function stopCropDrag(){var x_offset=crop.direction=="h"?(crop.o.position().left/crop.limits.right)*100:50;var y_offset=crop.direction=="v"?(crop.o.position().top/crop.limits.bottom)*100:50;crop.x_offset=x_offset;crop.y_offset=y_offset;instance.dispatch("onCropMove",{x:x_offset,y:y_offset})}function drawCropView(){crop.container.hide();crop.o.drag(function(ev,dd){$(this).css({left:Math.min(crop.limits.right,Math.max(crop.limits.left,dd.offsetX)),top:Math.min(crop.limits.bottom,Math.max(crop.limits.top,dd.offsetY))});updateCropView()},{relative:true}).drag("end",stopCropDrag)}function updateCrop(){if(current.layer==null){return}var aspect=Sidebar.getFormatAspect();if(Sidebar.getOrientation()=="l"){aspect=1/aspect}var image_width=Math.round(current.bounds.right-current.bounds.left);var image_height=Math.round(current.bounds.bottom-current.bounds.top);var outline_x=Math.round(current.bounds.left);var outline_y=Math.round(current.bounds.top);var outline_h=image_height;var outline_w=Math.round(image_height*aspect);outline_x+=Math.round((image_width-outline_w)*(crop.x_offset/100));if(outline_w>image_width){outline_w=image_width;outline_h=Math.round(image_width/aspect);outline_x=Math.round(current.bounds.left);outline_y+=Math.round((image_height-outline_h)*(crop.y_offset/100))}crop.direction=outline_w==image_width?"v":"h";crop.limits={left:current.bounds.left,top:current.bounds.top,right:current.bounds.left+(image_width-outline_w),bottom:current.bounds.top+(image_height-outline_h)};crop.o.width(outline_w-2).height(outline_h-2).css({left:outline_x,top:outline_y});updateCropView()}function hideCrop(){crop.x_offset=50;crop.y_offset=50;crop.container.stop().fadeOut("fast");updateCrop()}function showCrop(){crop.container.stop().fadeIn("fast");updateCrop()}function drawZoom(){zoom.img.drag(function(ev,dd){if(zoom.disabled){return}$(this).css({left:Math.min(zoom.limits.right,Math.max(zoom.limits.left,dd.offsetX)),top:Math.min(zoom.limits.bottom,Math.max(zoom.limits.top,dd.offsetY))})},{relative:true})}function updateZoomIcon(forceoff){zoom.ui.addClass("Off");zoom.ui.addClass("Disabled");zoom.disabled=true;if(forceoff==true){return}if(zoom.width<1000||zoom.height<1000){zoom.ui.removeClass("Off");zoom.ui.removeClass("Disabled");zoom.disabled=false}}function closeZoom(){if(zoom.open==false){return}zoom.open=false;instance.dispatch("onZoomView",zoom.open);zoom.container.hide();zoom.ui.removeClass("Active");zoom.img.attr("src",Func.getEmptyImgSrc())}function updateZoom(){if(zoom.open==false){updateZoomIcon(false);return}zoom.container.css({width:zoom.width,height:zoom.height});zoom.img.css({left:Math.round((zoom.width-zoom.img.width())/2),top:Math.round((zoom.height-zoom.img.height())/2)});var left=zoom.width-zoom.img.width();var right=0;if(left>0){left=right=Math.round(left/2)}var top=zoom.height-zoom.img.height();var bottom=0;if(top>0){top=bottom=Math.round(top/2)}zoom.limits={left:left,top:top,right:right,bottom:bottom};var force=zoom.width>=zoom.img.width()&&zoom.height>=zoom.img.height();updateZoomIcon(force);if(force){closeZoom()}}function openZoom(){if(zoom.open==true){return}zoom.open=true;zoom.ui.addClass("Disabled");zoom.disabled=true;instance.dispatch("onZoomView",{open:zoom.open});zoom.container.show();zoom.ui.addClass("Active");zoom.container.progress();var graphic=new Graphic();graphic.provider(current.info);graphic.watermark(true);graphic.letterbox(true);graphic.setSize(1000,1000);var iw=current.info.width;var ih=current.info.height;var nw=1000;var nh=Math.round(nw*(ih/iw));if(nh>1000){nh=1000;nw=Math.round(nh*(iw/ih))}zoom.img.css("opacity",0).attr("src",graphic.source()).width(nw).height(nh).one('load',function(){zoom.ui.removeClass("Disabled");zoom.disabled=false;zoom.container.progress(true);zoom.img.stop().transition({opacity:1},"fast");updateZoom()}).each(function(){if(this.complete){$(this).load()}});updateZoom()}function toggleZoom(){if(zoom.disabled){return}if(zoom.open==true){closeZoom()}else if(zoom.open==false){openZoom()}}function resize(){container.css({width:width,height:height});zoom.width=width;zoom.height=height;crop.width=width;crop.height=height;var sw,sh,iw,ih,nw,nh,nx,ny;if(current.layer!=null){sw=width;sh=height;iw=current.info.width;ih=current.info.height;nw=sw;nh=Math.round(nw*(ih/iw));if(nh>sh){nh=sh;nw=Math.round(nh*(iw/ih))}nx=Math.round((sw-nw)/2);ny=Math.round((sh-nh)/2);current.layer.width(sw).height(sh).find("img").width(nw).height(nh).css({left:nx,top:ny});current.bounds={left:nx,top:ny,right:nx+nw,bottom:ny+nh};updateCrop();updateZoom()}}function disableFavorite(){favorite.ui.removeClass("Active");favorite.active=false}function enableFavorite(){favorite.ui.addClass("Active");favorite.active=true}function toggleFavorite(){if(favorite.disabled){return}if(favorite.active){if(Overlay.getWallView()=="favorites"){disableFavorite();favorite.next=true;if(zoom.open==true){zoom.ui.addClass("Disabled");zoom.disabled=true}current.layer.find("img").off().css("opacity",0).data("original-src","").attr("src",Func.getEmptyImgSrc());current.title.html("---");hideCrop();resize()}Session.removeItem("favorites",favorite.hash)}else{var obj={hash:favorite.hash,puid:current.info.parent,cuid:current.info.child,filename:current.info.filename,width:current.info.width,height:current.info.height};Session.addItem("favorites",obj)}favorite.ui.addClass("Disabled");favorite.disabled=true}function view(eo){active=eo.view=="browse";if(active){if(inited==false||index==-1){instance.refresh()}}}function favorites(){disableFavorite();if(favorite.next==true){favorite.next=false;instance.refresh()}favorite.ui.removeClass("Disabled");favorite.disabled=false;var items=Session.getFavorites();var i,row,hash;for(i=0;i<items.length;++i){row=items[i];hash=md5(row.puid+row.cuid);if(hash==favorite.hash){enableFavorite();break}}}function sidebarevent(){Func.filter(current.layer.find("img"),Sidebar.getColorTone());if(Sidebar.getShowCrop()==false){hideCrop();return}showCrop()}function prev(){Overlay.prevBrowseIndex()}function next(){Overlay.nextBrowseIndex()}function killProgress(){current.layer.progress(true)}function keyevent(event){if(Overlay.isOpen()==false){return}if(!active||input.is(":visible")){return}switch(event.which){case 32:case 39:$("#browser-hitarea-next, #browse-controlbar-next").data("tooltip","").unbind("mouseenter").unbind("mouseleave");$("#browse-controlbar-next").click();break;case 37:$("#browser-hitarea-prev, #browse-controlbar-prev").data("tooltip","").unbind("mouseenter").unbind("mouseleave");$("#browse-controlbar-prev").click();break;case 38:case 40:$("#browse-controlbar-fav").data("tooltip","").unbind("mouseenter").unbind("mouseleave").click();break}Func.stop(event);return false}function drawControls(){$("#browser-hitarea-prev, #browse-controlbar-prev, #browser-hitarea-next, #browse-controlbar-next, #browse-controlbar-fs, #browse-controlbar-fav").each(function(){var self=$(this);var tooltip=self.attr("data-tooltip");var func=self.attr("id");func=func.split("-");func=func.pop();switch(func){case"prev":func=prev;break;case"next":func=next;break;case"fs":func=toggleZoom;break;case"fav":func=toggleFavorite;break}if(tooltip!=""&&!Shell.device().tablet){self.data("tooltip",tooltip).mouseenter(function(){Shell.createToolTip($(this).data("tooltip"))}).mouseleave(function(){Shell.killToolTip()}).click(function(){$(this).unbind("mouseenter").unbind("mouseleave");Shell.killToolTip();func()})}else{self.click(func)}});if(!Shell.device().tablet){$("body").keydown(keyevent)}else{$("#browser-hitarea-prev, #browser-hitarea-next").touchwipe({wipeLeft:next,wipeRight:prev})}}function draw(){container=$("#overlay-browser");input=$("#sidebar-input");current.title=$("#browse-controlbar-title");current.layer=container.find(".Display");crop.container=$("#browser-cropview");crop.o=$("#browser-cropview-o");crop.t=$("#browser-cropview-t");crop.l=$("#browser-cropview-l");crop.b=$("#browser-cropview-b");crop.r=$("#browser-cropview-r");zoom.container=$("#browser-zoom");zoom.img=$("#browser-zoom img");zoom.ui=$("#browse-controlbar-fs");favorite.ui=$("#browse-controlbar-fav");drawControls();drawCropView();drawZoom()}function lateinit(){Overlay.addEventListener("onView",view);Session.addEventListener("onSessionFavorites",favorites);Sidebar.addEventListener("onChanged",sidebarevent)}function init(){draw();resize()}function render(){init();setTimeout(lateinit,33)}function onLoaded(){if($.browser.mozilla){setTimeout(killProgress,100)}else{killProgress()}$(this).stop().transition({opacity:1},500);if(zoom.open==true){zoom.container.fadeOut("fast",closeZoom);zoom.ui.removeClass("Disabled");zoom.disabled=false}updateZoomIcon(false)}function showChild(i){index=i;if(zoom.open==true){zoom.ui.addClass("Disabled");zoom.disabled=true}if(index==-1){current.title.html("---");hideCrop();resize();current.info={};favorite.hash="";instance.dispatch("onIndex",index);return}current.info=Overlay.getImageInfo(index);favorite.hash=md5(current.info.parent+current.info.child);instance.dispatch("onIndex",index);var graphic=new Graphic();graphic.provider(current.info);graphic.watermark(true);graphic.letterbox(true);graphic.setSize(width,height);current.layer.progress();current.layer.find("img").off().css("opacity",0).data("original-src","").attr("src",Func.getEmptyImgSrc()).attr("src",graphic.source()).one('load',onLoaded).each(function(){if(this.complete){$(this).load()}});var filelabel="";if(Overlay.getWallView()=="favorites"){filelabel+=L10N.get("ordering","favorites_label")}if(filelabel!=""){filelabel+=": "}var filename=current.info.filename;var bits=filename.split(".");bits.pop();filename=bits.join(".");filelabel+=filename;current.title.html(filelabel);resize()}this.refresh=function(){if(inited==false){inited=true}showChild(Overlay.getBrowseIndex());favorites();hideCrop()};this.clearStage=function(){closeZoom();showChild(-1)};this.move=function(x,y){container.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Graphic=classes.elements.Graphic;Func=classes.helpers.Func;L10N=classes.helpers.L10N;Overlay=classes.Overlay;Session=classes.Session;Shell=classes.Shell;Sidebar=classes.overlay.Sidebar;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.overlay.Cart=(function(){function Constructor(){var Func;var L10N;var Overlay;var Session;var Browser;var Dialog;var Controlbar;var Overview;var Checkout;var width=0;var height=0;var cart_index=[];var cart_tree={};var last_count=-1;var selected_group=null;var selected_item=null;var container=null;var screen=null;var groups=null;var items=null;function disable(eo){screen.toggle(eo.open);screen.progress(eo.open==false)}function updateScrollPosition(elm){return elm}function resize(){var w=width;container.css({width:w,height:height});var half=Math.round((w-1)/2);groups.css({width:half-1,height:height});items.css({left:half,width:w-half-1,height:height})}function select(eo){var group=eo.group;var item=eo.item;if(cart_index.length==0){return}if(group==null&&item==null){group=cart_index[0].hash;item=cart_tree[group].children.length>0?cart_tree[group].children[0]:""}else{if(item==null){item=cart_tree[group].children.length>0?cart_tree[group].children[0]:""}}selected_group=group;selected_item=item;drawgroup(selected_group);$(".CartItem").removeClass("Active");$("#cart-item-"+selected_item).addClass("Active");Overview.show({group:selected_group,item:selected_item})}function next(){try{var item_index=cart_tree[selected_group].indexes[selected_item];var g=cart_tree[selected_group].index;var i=item_index+1;if(i==cart_tree[selected_group].children.length){i=0;g=g+1;if(g==cart_index.length){g=0}}select({group:cart_index[g].hash,item:cart_tree[cart_index[g].hash].children[i]})}catch(ignore){}}function prev(){var item_index=cart_tree[selected_group].indexes[selected_item];var g=cart_tree[selected_group].index;var i=item_index-1;if(i==-1){g=g-1;if(g==-1){g=cart_index.length-1}i=cart_tree[cart_index[g].hash].children.length-1}select({group:cart_index[g].hash,item:cart_tree[cart_index[g].hash].children[i]})}function onClearCartConfim(){disable({open:true});next();Session.purge("cart")}function clearCart(){Dialog.options({unique:"clearcart",modal:true,title:L10N.get("ordering","cart_delete_confirmation_title"),description:L10N.get("ordering","cart_delete_confirmation_description"),confim:onClearCartConfim});Dialog.draw()}function onDeleteConfim(type,hash){disable({open:true});next();if(type=="alacarte"){Session.purge(type)}else{Session.removeItem(type,hash)}}function deleteCartItem(){Dialog.options({unique:"cartdeleteitem",modal:true,title:L10N.get("ordering","cart_delete_confirmation_title"),description:L10N.get("ordering","cart_delete_confirmation_description"),args:arguments,confim:onDeleteConfim});Dialog.draw()}function drawgroup(group_hash){var purchase_price_includes_tax_bool=Checkout.settings().tax.included;var scrollto;$(".CartGroup").removeClass("Active");var i,group_data,group_clip,item_hash;for(i=0;i<cart_index.length;++i){group_data=cart_index[i];group_clip=$('#cart-group-'+group_data.hash);item_hash=group_clip.data("hash");if(item_hash==group_hash){group_clip.addClass("Active");scrollto=group_clip}}var cart_data=cart_tree[group_hash];items.empty();if(!cart_data){return}var j,item_data,item,filename,bits,quantity,format_price,paper_price,modifier_price,item_price,item_title;for(j=0;j<cart_data.children.length;++j){item_hash=cart_data.children[j];item_data=cart_data.lookup[item_hash];item=$('#cart-item-'+item_hash);if(item.length==0){filename=item_data.filename;bits=filename.split(".");bits.pop();filename=bits.join(".");item=$('<div class="CartItem" id="cart-item-'+item_hash+'">'+'<div class="Inner">'+'<h2>'+filename+'</h2>'+'<span class="total"></span>'+'<button>'+L10N.get("ordering","cart_item_delete")+'</button>'+'<span class="metadata"></span>'+'<div class="clear"></div>'+'</div>'+'</div>').appendTo(items).data("group_hash",group_hash).data("item_hash",item_hash).click(function(){select({group:$(this).data("group_hash"),item:$(this).data("item_hash")})});item.find("button").data("hash",item_hash).click(function(){deleteCartItem("cart",$(this).data("hash"))})}quantity=parseFloat(item_data.quantity,10);format_price=parseFloat(item_data.format_price,10);paper_price=parseFloat(item_data.paper_price,10);modifier_price=parseFloat(item_data.modifier_price,10);item_price=0;if(!isNaN(format_price)){item_price+=format_price}if(!isNaN(paper_price)){item_price+=paper_price}if(!isNaN(modifier_price)){item_price+=modifier_price}item_title=quantity;if(item_price>0){if(purchase_price_includes_tax_bool){item_price=Func.addSalesTax(item_price)}item_title+=" @ "+Func.getFormattedPrice(item_price*quantity)}item.find(".total").html(item_title);item.find(".metadata").html(item_data.format_label)}resize();updateScrollPosition(scrollto)}function doCheckout(){var completion=0;var i;for(i=0;i<cart_index.length;++i){completion+=cart_index[i].completion}if(completion<cart_index.length){Dialog.options({unique:"cartincomplete",modal:false,title:L10N.get("checkout","checkout_package_incomplete_title"),description:L10N.get("checkout","checkout_package_incomplete_description")});Dialog.draw();return false}var purchase_price_includes_tax_bool=Checkout.settings().tax.included;var cart_minimum_value_num=Checkout.settings().minimum.value;var cart_minimum_count_num=Checkout.settings().minimum.count;var tally=0;var subtotal=0;var rows=Session.getCart();var price,quantity;for(i=0;i<rows.length;++i){price=parseFloat(rows[i].subtotal);quantity=parseInt(rows[i].quantity,10);if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}subtotal+=price*quantity;tally+=quantity}rows=Session.getPackagesParsed();for(i=0;i<rows.length;++i){if(rows[i].total==0){tally+=1}}rows=Session.getPackages();for(i=0;i<rows.length;++i){price=parseFloat(rows[i].subtotal);quantity=1;if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}subtotal+=price*quantity}if(tally<cart_minimum_count_num||subtotal<cart_minimum_value_num){var description=tally<cart_minimum_count_num?L10N.get("checkout","checkout_minimum_count_description"):L10N.get("checkout","checkout_minimum_subtotal_description");description=description.split("{COUNT_MINIMUM}").join(cart_minimum_count_num).split("{SUBTOTAL_MINIMUM}").join(Func.getFormattedPrice(cart_minimum_value_num));Dialog.options({unique:"cartminimum"+(tally<cart_minimum_count_num?"count":"subtotal"),modal:false,title:L10N.get("checkout","checkout_minimum_title"),description:description});Dialog.draw();return false}Overlay.setView("checkout");Overlay.open();return true}function updatecart(){disable({open:false});var purchase_price_includes_tax_bool=Checkout.settings().tax.included;var scroll_cart=false;var session_cart=Session.getCart();var products_parsed=Session.getPackagesParsed();var i,j,product,hash,completion,row,hashbits;var group_data,cart_data,group_price,group_clip,item_hash,item_data,quantity,format_price,paper_price,modifier_price,item_price;if((Session.getCartLength()>last_count)&&(last_count!=-1)){scroll_cart=true}last_count=Session.getCartLength();cart_index=[];cart_tree={};for(i=0;i<products_parsed.length;++i){product=products_parsed[i];hash=product.row.hash.substr(0,32);completion=(product.total==0?1:product.count/product.total);cart_tree[hash]={index:cart_index.length,data:product.row,children:[],lookup:{},indexes:{},metrics:{total:product.total,count:product.count}};cart_index.push({completion:completion,hash:hash,title:product.row.nickname,metadata:product.row.title,price:parseFloat(product.row.subtotal)})}cart_tree.alacarte={index:cart_index.length,data:{},children:[],lookup:{},indexes:{}};cart_index.push({completion:1,hash:"alacarte",title:L10N.get("ordering","alacarte_label"),metadata:"",price:0});for(i=0;i<session_cart.length;++i){row=session_cart[i];hashbits=row.hash.split(":");if(hashbits.length==1){cart_tree.alacarte.indexes[row.hash]=cart_tree.alacarte.children.length;cart_tree.alacarte.children.push(row.hash);cart_tree.alacarte.lookup[row.hash]=row}else{product=hashbits[1];cart_tree[product].indexes[hashbits[0]]=cart_tree[product].children.length;cart_tree[product].children.push(hashbits[0]);cart_tree[product].lookup[hashbits[0]]=row}}if(cart_tree.alacarte.children.length==0){cart_index.pop();delete cart_tree.alacarte}else{cart_index[cart_tree.alacarte.index].metadata=cart_tree.alacarte.children.length+" "+L10N.get("ordering","cart_alacarte_items")}groups.empty();for(i=0;i<cart_index.length;++i){group_data=cart_index[i];cart_data=cart_tree[group_data.hash];group_price=group_data.price;if(purchase_price_includes_tax_bool){group_price=Func.addSalesTax(group_price)}group_clip=$('#cart-group-'+group_data.hash);if(group_clip.length==0){group_clip=$('<div class="CartGroup" id="cart-group-'+group_data.hash+'">'+'<div class="Inner">'+'<h2></h2>'+'<span class="total"></span>'+'<button>'+(group_data.hash!="alacarte"?L10N.get("ordering","cart_package_delete"):L10N.get("ordering","cart_alacarte_delete"))+'</button>'+'<span class="metadata"></span>'+'<span class="completion"></span>'+'<div class="clear"></div>'+'</div>'+'</div>').appendTo(groups).data("hash",group_data.hash).click(function(){select({group:$(this).data("hash"),item:""})});group_clip.find("button").data("type",group_data.hash!="alacarte"?"package":"alacarte").data("hash",group_data.hash!="alacarte"?group_data.hash+"-p":group_data.hash).click(function(){deleteCartItem($(this).data("type"),$(this).data("hash"))});for(j=0;j<cart_data.children.length;++j){item_hash=cart_data.children[j];item_data=cart_data.lookup[item_hash];quantity=parseFloat(item_data.quantity,10);format_price=parseFloat(item_data.format_price,10);paper_price=parseFloat(item_data.paper_price,10);modifier_price=parseFloat(item_data.modifier_price,10);item_price=0;if(!isNaN(format_price)){item_price+=format_price}if(!isNaN(paper_price)){item_price+=paper_price}if(!isNaN(modifier_price)){item_price+=modifier_price}if(item_price>0){if(purchase_price_includes_tax_bool){item_price=Func.addSalesTax(item_price)}group_price+=item_price*quantity}}}group_clip.find("h2").html(group_data.title);group_clip.find(".total").html(Func.getFormattedPrice(group_price));group_clip.find(".metadata").html(group_data.metadata);if(group_data.hash!="alacarte"){group_clip.find(".completion").html(Math.round(group_data.completion*100)+"% "+L10N.get("ordering","cart_package_completion"))}}select({group:selected_group,item:selected_item});resize();if(scroll_cart){updateScrollPosition(group_clip)}if(Session.getCartLength()==0){if(Overlay.getWallView()=="cart"){Overlay.close();Controlbar.dispatch("onWallView",{view:"set",index:0})}else{Overlay.setView("browse")}}}function count(){var cartitems=Session.getCart();var tally=0;var i;for(i=0;i<cartitems.length;++i){tally+=parseInt(cartitems[i].quantity,10)}var products_parsed=Session.getPackagesParsed();for(i=0;i<products_parsed.length;++i){if(products_parsed[i].total==0){tally+=1}}return tally}function show(){if(count()>0){Overlay.setView("overview");Overlay.open()}}function draw(){container=$("#overlay-cart");screen=$("#cart-screen");groups=$("#cart-groups");items=$("#cart-items");groups.scrollpane();items.scrollpane()}function init(){draw();resize()}function lateinit(){Session.addEventListener("onSessionLoaded",updatecart);Session.addEventListener("onSessionCart",updatecart);Browser.addEventListener("onZoomView",disable)}function render(){init();setTimeout(lateinit,33)}this.count=function(){return count()};this.checkout=function(){doCheckout()};this.open=function(){show()};this.preview=function(hash){var phash;var ihash;var hashbits=hash.split(":");if(hashbits.length==1){phash="alacarte";ihash=hash}else{phash=hashbits[1];ihash=hashbits[0]}select({group:phash,item:ihash})};this.clear=function(){clearCart()};this.next=function(){next()};this.previous=function(){prev()};this.move=function(x,y){container.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Func=classes.helpers.Func;L10N=classes.helpers.L10N;Overlay=classes.Overlay;Session=classes.Session;Browser=classes.overlay.Browser;Controlbar=classes.elements.Controlbar;Overview=classes.overlay.Overview;Checkout=classes.overlay.Checkout;Dialog=classes.Dialog;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.overlay.Checkout=(function(){function Constructor(){var Func;var L10N;var Overlay;var Session;var Dialog;var Shell;var width=0;var height=0;var taxrules=[];var discount=[];var options={country:"",state:"",province:"",currency:"",intl:false,pickup:false,offline:false,paypal:false,merchant:false,shipping:{use:true,tax:false,flat:0,rate:0},handling:{use:false,tax:false,flat:0,intl:0},tax:{use:true,included:false},discount:false,minimum:{value:0,count:0}};var order={id:"",payment_method:"offline",shipping_method:"ship",country_code:"",postal_code:"",state_code:"",final_value:0,discount_value:0,final_shipping:0,final_handling:0,final_tax:0};var recheck=false;var container=null;var screen=null;var blocks=null;var summary=null;var back_obj=null;var process_obj=null;var accept_obj=null;var clickwrap_obj=null;var sidebar_input=null;var sidebar_input_content=null;function getTaxRate(){var i,taxrule;if(order.country_code==""){return[0,0,0,false]}if(options.country=="US"){if(options.country!=order.country_code){return[0]}if(order.state_code==""){return[0]}for(i=0;i<taxrules.length;++i){taxrule=taxrules[i];if(order.state_code==taxrule[0]){return[taxrule[1]]}}}else if(options.country=="CA"){if(options.country!=order.country_code){return[0,0,0,false]}if(order.state_code==""){return[0,0,0,false]}for(i=0;i<taxrules.length;++i){taxrule=taxrules[i];if(order.state_code==taxrule[0]){return[taxrule[1],taxrule[2],taxrule[3],(taxrule[0]=="QC")]}}}else{for(i=0;i<taxrules.length;++i){taxrule=taxrules[i];if(order.country_code==taxrule[0]){return[taxrule[1]]}}}return[0,0,0,false]}function updateTotals(){var cart_subtotal=0;var shipping_subtotal=options.shipping.flat;var products=Session.getPackages();var cart_items=Session.getCart();var i,item,subtotal,shipping,display_value,handling;for(i=0;i<products.length;++i){item=products[i];subtotal=parseFloat(item.subtotal);shipping=parseFloat(item.shipping);cart_subtotal+=isNaN(subtotal)?0:subtotal;shipping_subtotal+=isNaN(shipping)?0:shipping}for(i=0;i<cart_items.length;++i){item=cart_items[i];subtotal=parseFloat(item.subtotal)*parseFloat(item.quantity);shipping=parseFloat(item.shipping)*parseFloat(item.quantity);cart_subtotal+=isNaN(subtotal)?0:subtotal;shipping_subtotal+=isNaN(shipping)?0:shipping}order.final_value=cart_subtotal;order.discount_value=0;order.final_shipping=0;order.final_handling=0;order.final_tax=0;if(options.tax.included){cart_subtotal=Func.addSalesTax(cart_subtotal)}$("#cart-total").find(".Value").html(Func.getFormattedPrice(cart_subtotal));if(options.discount){if(discount[0]=="true"){var discount_type=discount[5];var discount_value=parseFloat(discount[4]);order.discount_value=discount_type=="percentage"?order.final_value*(discount_value/100):discount_value;if(order.discount_value>order.final_value){order.discount_value=order.final_value}display_value=order.discount_value;if(options.tax.included){display_value=Func.addSalesTax(display_value)}$("#cart-discount").find(".Value").html(Func.getFormattedPrice(display_value*-1))}else if(discount[0]=="false"){order.discount_value=0;$("#cart-discount").find(".Value").html(L10N.get("checkout","checkout_"+discount[1]))}else{order.discount_value=0;$("#cart-discount").find(".Value").html(Func.getFormattedPrice(0))}display_value=order.final_value-order.discount_value;if(options.tax.included){display_value=Func.addSalesTax(display_value)}$("#cart-subtotal").find(".Value").html(Func.getFormattedPrice(display_value))}shipping_subtotal+=(order.final_value-order.discount_value)*(options.shipping.rate/100);if(options.shipping.use){if(order.shipping_method=="local"){shipping_subtotal=0}order.final_shipping=shipping_subtotal;display_value=shipping_subtotal;if(options.tax.included&&options.shipping.tax){display_value=Func.addSalesTax(display_value)}$("#cart-shipping").find(".Value").html(Func.getFormattedPrice(display_value));if(options.intl&&options.handling.intl>0){handling=options.country!=order.country_code?options.handling.intl:0;if(order.shipping_method=="local"){handling=0}order.final_handling+=handling;display_value=handling;if(options.tax.included&&options.handling.tax){display_value=Func.addSalesTax(display_value)}$("#cart-handling-intl").find(".Value").html(Func.getFormattedPrice(display_value))}if(options.handling.flat>0){handling=options.handling.flat;if(order.shipping_method=="local"){handling=0}order.final_handling+=handling;display_value=handling;if(options.tax.included&&options.handling.tax){display_value=Func.addSalesTax(display_value)}$("#cart-handling").find(".Value").html(Func.getFormattedPrice(display_value))}}if(options.tax.use){var taxes=getTaxRate();var taxable_amount=order.final_value-order.discount_value;if(options.shipping.tax){taxable_amount+=order.final_shipping}if(options.handling.tax){taxable_amount+=order.final_handling}if(options.country=="CA"){var hst_value=taxable_amount*(taxes[0]/100);var gst_value=taxable_amount*(taxes[1]/100);if(taxes[3]==true){taxable_amount+=gst_value}var pst_value=taxable_amount*(taxes[2]/100);order.final_tax+=hst_value;order.final_tax+=gst_value;order.final_tax+=pst_value;$("#cart-tax-hst").toggle(taxes[0]!=0);$("#cart-tax-gst").toggle(taxes[1]!=0);$("#cart-tax-pst").toggle(taxes[2]!=0);$("#cart-tax-hst").find(".Label").html("HST"+" - "+taxes[0]+"%");$("#cart-tax-gst").find(".Label").html("GST"+" - "+taxes[1]+"%");$("#cart-tax-pst").find(".Label").html("PST"+" - "+taxes[2]+"%");$("#cart-tax-hst").find(".Value").html(Func.getFormattedPrice(hst_value));$("#cart-tax-gst").find(".Value").html(Func.getFormattedPrice(gst_value));$("#cart-tax-pst").find(".Value").html(Func.getFormattedPrice(pst_value))}else{var tax_label=options.country=="US"?"Sales Tax":L10N.get("checkout","checkout_cart_tax");var tax_value=taxable_amount*(taxes[0]/100);order.final_tax+=tax_value;$("#cart-tax").find(".Label").html(tax_label+" - "+taxes[0]+"%");$("#cart-tax").find(".Value").html(Func.getFormattedPrice(order.final_tax))}}$("#cart-final-total").find(".Value").html(Func.getFormattedPrice(order.final_value-order.discount_value+order.final_shipping+order.final_handling+order.final_tax))}function updateProxies(){$("#checkout-blocks input[type=text], #checkout-blocks input[type=email], #checkout-blocks textarea").each(function(){var self=$(this);var proxy=self.data("proxy");proxy.css({top:self.position().top,left:self.position().left,width:self.outerWidth(),height:self.outerHeight()}).toggle(self.is(":visible"))})}function updatePaymentMethod(){$("#checkout-country option").eq(0).html(order.shipping_method=="local"?L10N.get("checkout","checkout_billing_country"):L10N.get("checkout","checkout_shipping_country"));$("#checkout-shipping-postal-code").attr("placeholder",order.shipping_method=="local"?L10N.get("checkout","checkout_billing_postal_code"):L10N.get("checkout","checkout_shipping_postal_code"));if(order.payment_method=="paypal"){$("#shipping-method-ship").next().html(L10N.get("checkout","checkout_shipping_method_ship_paypal"));$("#checkout-cc").hide();$("#checkout-info").hide();$("#checkout-shipping_address").hide()}else if(order.payment_method=="offline"){$("#shipping-method-ship").next().html(L10N.get("checkout","checkout_shipping_method_ship"));$("#checkout-cc").hide();$("#checkout-info").show();$("#checkout-shipping_address").toggle(order.shipping_method!="local")}else if(order.payment_method=="merchant"){$("#shipping-method-ship").next().html(L10N.get("checkout","checkout_shipping_method_ship"));$("#checkout-cc").show();$("#checkout-info").show();$("#checkout-shipping_address").toggle(order.shipping_method!="local")}$("#checkout-country").toggle(options.tax.use||(options.shipping.use&&options.handling.intl>0&&order.shipping_method!="local"));if(options.country=="US"||options.country=="CA"){$("#checkout-state").toggle(options.country==order.country_code);$("#checkout-shipping-postal-code").toggle($("#checkout-shipping_address").is(":visible"))}else{$("#checkout-shipping-postal-code").toggle(order.shipping_method!="local")}if(Shell.device().tablet){updateProxies()}}function view(){if(Shell.device().tablet){setTimeout(updateProxies,33)}Overlay.removeEventListener("onView",view)}function prevent(event){event.stopPropagation();event.preventDefault()}function applyDiscountCode(str){var input=$("#checkout-discount input");var button=$("#checkout-discount button");input.removeAttr("disabled");button.click(click).removeClass(".Disabled");if(str==""||!str){discount=[]}else{discount=str.split("\t")}updateTotals()}function checkDiscountCode(){var input=$("#checkout-discount input");var button=$("#checkout-discount button");var codeval=input.val();if(codeval==""){return}input.attr("disabled","disabled");button.off().addClass(".Disabled");$.post(APP_ROOT+"vend-proofing-gateway.php",{action:"verify_discount_code",puid:Overlay.pageid(),code:codeval,subtotal:order.final_value},function(data){applyDiscountCode(data)})}function click(event){if($(this).attr("id")=="checkout-clickwrap"){Overlay.setView("clickwrap")}if($(this).attr("id")=="checkout-controlbar-back"){Overlay.setView("overview")}if($(this).attr("id")=="checkout-controlbar-process"){initPayment()}if($(this).parent().parent().attr("id")=="checkout-discount"){checkDiscountCode();updateTotals()}prevent(event);return false}function change(event){if($(this).attr("id")=="checkout-accept"){if(accept_obj.is(':checked')){process_obj.removeClass("Disabled").addClass("Enabled").click(click)}else{process_obj.removeClass("Enabled").addClass("Disabled").off()}}if($(this).parent().parent().parent().attr("id")=="checkout-shipping"){order.shipping_method=$(this).val();updatePaymentMethod();updateTotals()}if($(this).parent().parent().parent().attr("id")=="checkout-payment"){order.payment_method=$(this).val();updatePaymentMethod();updateTotals()}if($(this).attr("id")=="checkout-state"){order.state_code=$(this).val();updateTotals()}if($(this).attr("id")=="checkout-country"){order.country_code=$(this).val();updateTotals()}if($(this).attr("id")=="checkout-shipping-postal-code"){order.postal_code=$(this).val();updateTotals()}prevent(event);return false}function disable(eo){screen.toggle(eo.open);screen.progress(eo.open==false)}function session(){updateTotals();updatePaymentMethod()}function hideInputUI(){var self=$(this);var parent=sidebar_input_content.data("parent");var input=parent.is("input")?self.parent().find("input"):self.parent().find("textarea");var value=input.val();parent.val(value);sidebar_input.hide()}function showInputUI(event){var self=$(this).data("input");var value=self.val();var markup='<div class="UIText">';if(self.is("input")){markup+='<input class="uiField" type="'+self.attr("type")+'" placeholder="'+self.attr("placeholder")+'" />'}else{markup+='<textarea class="uiField" placeholder="'+self.attr("placeholder")+'">'+value+'</textarea>'}markup+='<button class="uiPushButton"></button>'+'</div>';sidebar_input.show();sidebar_input_content.empty().append(markup).data("parent",self).find("button").click(hideInputUI);prevent(event);return false}function draw(){container=$("#overlay-checkout");screen=$("#checkout-screen");blocks=$("#checkout-blocks");summary=$("#checkout-summary");back_obj=$("#checkout-controlbar-back");process_obj=$("#checkout-controlbar-process");accept_obj=$("#checkout-accept");clickwrap_obj=$("#checkout-clickwrap");sidebar_input=$("#sidebar-input");sidebar_input_content=$("#sidebar-input-content");back_obj.click(click);if(accept_obj.length>0){accept_obj.change(change);clickwrap_obj.click(click);process_obj.removeClass("Enabled").addClass("Disabled").off()}else{process_obj.click(click)}if(options.country=="US"){order.state_code=options.state}if(options.country=="CA"){order.state_code=options.province}order.country_code=options.country;if($("#checkout-shipping .Block").children().length==0){$("#checkout-shipping").hide()}else{$("#checkout-shipping input, #checkout-shipping select").change(change)}var count=0;if(options.offline){count+=1}if(options.paypal){count+=1}if(options.merchant){count+=1}if(count<=1){$("#checkout-payment").hide()}if(options.offline){order.payment_method="offline"}if(options.paypal){order.payment_method="paypal"}if(options.merchant){if(true){order.payment_method="merchant"}else{$("#checkout-method-merchant").attr("disabled","disabled")}}$("#checkout-payment input").change(change);$("#checkout-payment input[name=checkout-method][value="+order.payment_method+"]").attr('checked','checked');if(true){$("#checkout-cc select").change(change)}else{$("#checkout-cc").hide()}$("#checkout-discount button").click(click);var zero=Func.getFormattedPrice(0);var pass=L10N.get("checkout","checkout_cart_no_calculate");$("#summary-table").find(".Value").html(zero);if(!options.shipping.use){$("#cart-shipping").find(".Value").html(pass)}if(!options.tax.use){$("#cart-tax, #cart-tax-hst, #cart-tax-gst, #cart-tax-pst").find(".Value").html(pass)}if(Shell.device().tablet){$("#checkout-blocks input[type=text], #checkout-blocks input[type=email], #checkout-blocks textarea").each(function(){var self=$(this);var proxy=$('<div></div>').appendTo(self.parent()).data("input",self).css({position:"absolute"}).click(showInputUI).hide();self.data("proxy",proxy)})}blocks.scrollpane();summary.scrollpane();updateTotals()}function resize(){var w=width;container.css({width:w,height:height});var half=500;blocks.css({width:half-1,height:height});summary.css({left:half,width:w-half,height:height});$("#checkout-comments").width(w-half-62)}function onFinalizeOrder(success,data){if(success==false){disable({open:false});Dialog.options({modal:false,title:L10N.get("checkout","checkout_credit_card_error"),description:L10N.get("checkout","checkout_credit_card_"+data)});Dialog.draw();recheck=true;process_obj.click(click)}else{var form='<form action="'+APP_ROOT+"?/order/"+order.id+"/invoice/"+'" method="post">';form+='<input type="text" name="email_address" value="'+$("#checkout-email-address").val()+'" />';form+='</form>';form=$(form);$('body').append(form);$(form).submit()}}function finalizeOrder(iscc){var subtotal=(order.final_value-order.discount_value)+order.final_shipping+order.final_handling+order.final_tax;if(subtotal==0){iscc=false}subtotal=subtotal.toFixed(2);var shipping_address=$("#checkout-shipping_address").val();shipping_address=shipping_address.split("\t").join("     ").split("\r").join("<[[BR]]>").split("\n").join("<[[BR]]>");var comments=$("#checkout-comments").val();comments=comments.split("\t").join("     ").split("\r").join("<[[BR]]>").split("\n").join("<[[BR]]>");var dataarr=[];dataarr.push(order.id);dataarr.push(Overlay.pageid());dataarr.push(0);dataarr.push(order.payment_method);dataarr.push("");dataarr.push(order.shipping_method);dataarr.push($("#checkout-discount_code").val());dataarr.push($("#checkout-fullname").val());dataarr.push($("#checkout-email-address").val());dataarr.push($("#checkout-phone-number").val());dataarr.push(shipping_address);dataarr.push(order.country_code);dataarr.push(order.postal_code);dataarr.push(order.state_code);dataarr.push(subtotal);dataarr.push((order.final_value).toFixed(2));dataarr.push((order.discount_value).toFixed(2));dataarr.push((order.final_shipping).toFixed(2));dataarr.push((order.final_handling).toFixed(2));dataarr.push((order.final_tax).toFixed(2));dataarr.push(getTaxRate().join(","));dataarr.push(options.tax.included);dataarr.push(options.shipping.tax);dataarr.push(options.handling.tax);dataarr.push(comments);var post={};if(iscc){post.cc_num=$("#checkout-cc-number").val();post.cc_expiry=$("#checkout-cc-expiry-month").val()+$("#checkout-cc-expiry-year").val();post.cc_cvv=$("#checkout-cvv-number").val();post.cc_zip=$("#checkout-cc-billing-postal-code").val()}post.puid=Overlay.pageid();post.name=Session.getHash();post.data=dataarr.join("\t");post.action=iscc?"process_credit_card":"finalize_order";$.post(APP_ROOT+"vend-proofing-gateway.php",post,function(str){var bits=str.split("\t");var success=bits.shift();success=success=="true";onFinalizeOrder(success,bits.join("\t"))})}function processPayment(){if(order.payment_method=="paypal"){var input=$("#checkout-discount input");var codeval=input.val();var comments=$("#checkout-comments").val();comments=comments.split("\t").join("     ").split("\r").join("<[[BR]]>").split("\n").join("<[[BR]]>");var post={};post.on0=L10N.get("ordering","sidebar_comments");post.os0=comments;post.cmd="_xclick";post.notify_url=APP_ROOT_ABSOLUTE+"/vend-proofing-gateway.php?action=validate_paypal_ipn";post["return"]=APP_ROOT_ABSOLUTE+"/?/order/"+order.id+"/invoice/";post.cancel_return=window.location;post.rm="2";post.invoice=order.id;post.custom=Overlay.pageid()+"-"+Session.getHash()+"-"+order.final_value+"-"+order.discount_value+"-"+codeval+"-"+getTaxRate().join(",")+"-"+(options.tax.included?"1":"0")+"-"+(options.shipping.tax?"1":"0")+"-"+(options.handling.tax?"1":"0");post.item_name=classes.content.Display.settings().title+" - "+L10N.get("checkout","checkout_paypal_order");post.item_number=Overlay.pageid();if(order.final_value==order.discount_value){post.amount=(order.final_shipping+order.final_handling).toFixed(2);post.shipping=0;post.handling=0;post.tax=0}else{post.amount=(order.final_value).toFixed(2);post.discount_amount=(order.discount_value).toFixed(2);if(options.shipping.use){post.shipping=(order.final_shipping).toFixed(2);post.handling=(order.final_handling).toFixed(2)}if(options.tax.use){post.tax=(order.final_tax).toFixed(2)}}post.no_shipping=order.shipping_method=="local"?"1":"2";post.currency_code=options.currency;post.business=$.base64.decode(options.business);post.lc=order.country_code;post.no_note="1";var form='<form action="https://www.paypal.com/cgi-bin/webscr" method="post">';var prop;for(prop in post){if(post.hasOwnProperty(prop)){form+="\n\t"+'<input type="text" name="'+prop+'" value="'+post[prop]+'" />'}}form+="\n"+'</form>';form=$(form);$('body').append(form);$(form).submit()}else if(order.payment_method=="offline"){finalizeOrder(false)}else if(order.payment_method=="merchant"){finalizeOrder(true)}}function onPrequalifyResponse(success,data){if(success==false){disable({open:false});if(data=="invalid_email_address"){$("#checkout-email-address").addClass("Highlight");Dialog.options({modal:false,title:L10N.get("checkout","checkout_invalid_email_address_title"),description:L10N.get("checkout","checkout_invalid_email_address_description")});Dialog.draw();process_obj.click(click)}else{var input=$("#checkout-discount input");var button=$("#checkout-discount button");input.removeAttr("disabled");button.click(click).removeClass(".Disabled");Dialog.options({modal:false,title:L10N.get("checkout","checkout_discount_code_error_title"),description:L10N.get("checkout","checkout_discount_code_error_description")});Dialog.draw();process_obj.click(click)}}else{order.id=data;processPayment()}}function initPayment(){process_obj.off();var error_code="";$("#checkout-blocks input, #checkout-blocks textarea, #checkout-blocks select").removeClass("Highlight");if($("#checkout-info").is(":visible")){if($("#checkout-email-address").val()==""){$("#checkout-email-address").addClass("Highlight");error_code="highlighted_fields_required"}if(error_code==""){if($("#checkout-email-address").val()!=$("#checkout-email-address-check").val()){$("#checkout-email-address").addClass("Highlight");$("#checkout-email-address-check").addClass("Highlight");error_code="email_addresses_do_not_match"}}}if(error_code==""){$("#checkout-fullname, #checkout-phone-number, #checkout-shipping_address, #checkout-shipping-postal-code, #checkout-state, #checkout-country, #checkout-cc-number, #checkout-cvv-number, #checkout-cc-expiry-month, #checkout-cc-expiry-year, #checkout-cc-billing-postal-code").removeClass("Highlight").each(function(){if($(this).is(":visible")&&$(this).val()==""){$(this).addClass("Highlight");error_code="highlighted_fields_required"}})}if(error_code!=""){Dialog.options({modal:false,title:L10N.get("checkout","checkout_"+error_code+"_title"),description:L10N.get("checkout","checkout_"+error_code+"_description")});Dialog.draw();process_obj.click(click);return false}var subtotal=(order.final_value-order.discount_value)+order.final_shipping+order.final_handling+order.final_tax;if(order.payment_method=="paypal"&&subtotal==0){Dialog.options({modal:false,title:L10N.get("checkout","checkout_paypal_price_zero_title"),description:L10N.get("checkout","checkout_paypal_price_zero_description")});Dialog.draw();process_obj.click(click);return}disable({open:true});var input=$("#checkout-discount input");var button=$("#checkout-discount button");var codeval=input.val();input.attr("disabled","disabled");button.off().addClass(".Disabled");$.post(APP_ROOT+"vend-proofing-gateway.php",{action:"prequalify_order",puid:Overlay.pageid(),orderid:order.id,subtotal:order.final_value,code:(recheck?codeval:""),email:order.payment_method=="paypal"?"":$("#checkout-email-address").val()},function(str){var bits=str.split("\t");var success=bits.shift();success=success=="true";onPrequalifyResponse(success,bits.join("\t"))})}function init(){draw();resize()}function lateinit(){Overlay.addEventListener("onView",view);Session.addEventListener("onSessionLoaded",session);Session.addEventListener("onSessionCart",session)}function render(){init();setTimeout(lateinit,33)}this.settings=function(obj){if(obj){options=obj}return options};this.addTaxRule=function(arr){taxrules.push(arr)};this.getTaxRate=function(){return getTaxRate()};this.move=function(x,y){container.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Shell=classes.Shell;Func=classes.helpers.Func;L10N=classes.helpers.L10N;Overlay=classes.Overlay;Session=classes.Session;Dialog=classes.Dialog;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.overlay.Clickwrap=(function(){function Constructor(){var Overlay;var width=0;var height=0;var container=null;var context=null;function back(){Overlay.setView("checkout")}function draw(){container=$("#overlay-clickwrap");context=$("#clickwrap-context");$("#clickwrap-controlbar-back").click(back);context.scrollpane()}function resize(){container.css({width:width,height:height});context.css({width:width,height:height})}function init(){draw();resize()}function render(){init()}this.move=function(x,y){container.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Overlay=classes.Overlay;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.overlay.Overview=(function(){function Constructor(){var Shell;var Func;var L10N;var Overlay;var Session;var Cart;var Graphic;var Checkout;var width=0;var height=0;var remainder=-1;var maximum=null;var data={};var datahash="";var overlay_overview=null;var overview_screen=null;var overview_options=null;var overview_quantity=null;var update_obj=null;var back_obj=null;function disable(eo){overview_screen.toggle(eo.open);overview_screen.progress(eo.open==false)}function getQuantityVal(){return parseInt($("#overview-quantity").find("input").val(),10)}function prev(){Cart.previous()}function next(){Cart.next()}function back(){if(Overlay.getWallView()=="cart"){Overlay.close()}else{Overlay.setView("browse")}}function update(){disable({open:true});Session.updateItem("cart",data.hash,"quantity",getQuantityVal())}function clearcart(){Cart.clear()}function checkout(){Cart.checkout()}function view(){back_obj.html(Overlay.getWallView()=="cart"?L10N.get("ordering","image_preview_return_to_wall"):L10N.get("ordering","image_preview_return"))}function check(){update_obj.removeClass("Enabled").addClass("Disabled").off();var quantity=parseInt(data.quantity,10);if(getQuantityVal()==quantity){return}update_obj.removeClass("Disabled").addClass("Enabled").click(update)}function change(){if(maximum!=null){if(getQuantityVal()>maximum){$("#overview-quantity").find("input").val(maximum)}}check();return false}function resize(){overlay_overview.css({width:width,height:height});overview_options.css({width:width,height:height})}function drawControls(){$("#overview-controlbar-back, #overview-controlbar-clearcart, #overview-controlbar-checkout, #overview-controlbar-next, #overview-controlbar-update, #overview-controlbar-prev").each(function(){var self=$(this);var tooltip=self.attr("data-tooltip");var func=self.attr("id");func=func.split("-");func=func.pop();switch(func){case"back":func=back;break;case"clearcart":func=clearcart;break;case"checkout":func=checkout;break;case"next":func=next;break;case"update":func=update;break;case"prev":func=prev;break}if(tooltip!=""&&!Shell.device().tablet){self.data("tooltip",tooltip).mouseenter(function(){Shell.createToolTip($(this).data("tooltip"))}).mouseleave(function(){Shell.killToolTip()}).click(function(event){$(this).unbind("mouseenter").unbind("mouseleave");Shell.killToolTip();func(event)})}else{self.click(func)}})}function draw(){overlay_overview=$("#overlay-overview");overview_screen=$("#overview-screen");overview_options=$("#overview-options");overview_quantity=$("#overview-quantity");update_obj=$("#overview-controlbar-update");back_obj=$("#overview-controlbar-back");update_obj.removeClass("Enabled").addClass("Disabled").off();overview_options.hide();overview_options.scrollpane();view();drawControls()}function init(){draw();resize()}function onLoaded(){overview_options.find(".Display").progress(true);Func.filter($(this),data.toning);$(this).stop().transition({opacity:1},500)}function redraw(){disable({open:false});if(!data){overview_options.hide();update_obj.removeClass("Enabled").addClass("Disabled").off();overview_options.hide();return}overview_options.show();update_obj.removeClass("Enabled").addClass("Disabled").off();var calculate_and_display_shipping_bool=Checkout.settings().shipping.use;var purchase_price_includes_tax_bool=Checkout.settings().tax.included;var shipping_taxable_bool=Checkout.settings().shipping.tax;var letterbox=true;var image_width=width-24;var image_height=150;var aspect=parseFloat(data.format_aspect);if(!isNaN(aspect)){if(data.orientation=="l"){aspect=1/aspect}letterbox=false;image_width=Math.round(image_height*aspect)}var graphic=new Graphic();graphic.provider({child:data.cuid,parent:data.puid,hash:data.hash,src:data.puid+"/"+data.cuid,alt:data.filename,xoffset:data.orientation_x,yoffset:data.orientation_y});graphic.letterbox(letterbox);graphic.setSize(image_width,image_height);overview_options.find(".Display").progress();overview_options.find("img").off().css("opacity",0).data("original-src","").attr("src",Func.getEmptyImgSrc()).attr("src",graphic.source()).one('load',onLoaded).each(function(){if(this.complete){$(this).load()}});var title,price,shipping;var filename=data.filename;var bits=filename.split(".");bits.pop();filename=bits.join(".");$("#overview-options").find("h2").html(filename);if(data.format_label!=""){$("#overview-format").show().find("h3").html(L10N.get("ordering","overview_image_format"));title=data.format_label;price=parseFloat(data.format_price);if(isNaN(price)){price=0}shipping=parseFloat(data.format_shipping);if(isNaN(shipping)){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}title+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}title+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}$("#overview-format").find("span").html(title)}else{$("#overview-format").hide()}var quantity=parseInt(data.quantity,10);if(!isNaN(quantity)){overview_quantity.show().find("h3").html(L10N.get("ordering","overview_change_quantity")+(remainder==-1?"":" ("+(quantity+remainder)+") "+L10N.get("ordering","overview_package_maximum")));maximum=remainder==-1?null:quantity+remainder;overview_quantity.find("span").empty().html('<input class="uiField" type="number" min="1" max="'+maximum+'" step="1" value="'+quantity+'" />');if(!Modernizr.inputtypes.number){overview_quantity.find("input").change(change).stepper({type:"int",allowWheel:false,allowArrows:false,limit:[1,maximum],onStep:change})}else{overview_quantity.find("input").change(change)}}else{overview_quantity.hide()}if(data.toning!=""){$("#overview-tone").show().find("h3").html(L10N.get("ordering","overview_toning"));title=data.toning=="sepia"?L10N.get("ordering","sidebar_tone_sepia"):L10N.get("ordering","sidebar_tone_black_and_white");$("#overview-tone").find("span").html(title)}else{$("#overview-tone").hide()}if(data.paper_label!=""){$("#overview-paper").show().find("h3").html(L10N.get("ordering","overview_paper_format"));title=data.paper_label;price=parseFloat(data.paper_price);if(isNaN(price)){price=0}shipping=parseFloat(data.paper_shipping);if(isNaN(shipping)){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}title+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}title+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}$("#overview-paper").find("span").html(title)}else{$("#overview-paper").hide()}if(data.modifier_label!=""){$("#overview-modifier").show().find("h3").html(L10N.get("ordering","overview_modifier"));title=data.modifier_label;price=parseFloat(data.modifier_price);if(isNaN(price)){price=0}shipping=parseFloat(data.modifier_shipping);if(isNaN(shipping)){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}title+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}title+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}$("#overview-modifier").find("span").html(title)}else{$("#overview-modifier").hide()}if(data.modifier_label!=""){$("#overview-modifier").show().find("h3").html(L10N.get("ordering","overview_modifier"));title=data.modifier_label;price=parseFloat(data.modifier_price);if(isNaN(price)){price=0}shipping=parseFloat(data.modifier_shipping);if(isNaN(shipping)){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}title+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}title+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}$("#overview-modifier").find("span").html(title)}else{$("#overview-modifier").hide()}if(data.orientation!=""){$("#overview-orientation").show().find("h3").html(L10N.get("ordering","overview_orientation"));title=data.orientation=="p"?L10N.get("ordering","sidebar_crop_portrait"):L10N.get("ordering","sidebar_crop_landscape");$("#overview-orientation").find("span").html(title)}else{$("#overview-orientation").hide()}if(data.comments!=""){$("#overview-comments").show().find("h3").html(L10N.get("ordering","overview_comments"));$("#overview-comments").find("span").html(data.comments)}else{$("#overview-comments").hide()}}function selected(eo){datahash=eo.item+":"+eo.group;if(eo.group=="alacarte"){datahash=eo.item}data=Session.getCartObject(datahash);if(!data){redraw();return}remainder=-1;if(eo.group!="alacarte"){var products_parsed=Session.getPackagesParsed();var i,product,format_hash,format_index,format;for(i=0;i<products_parsed.length;++i){product=products_parsed[i];if(product.row.hash==eo.group+"-p"){format_hash=md5(data.format_label);format_index=product.lookup[format_hash];format=product.formats[format_index];remainder=format.total-format.count;break}}}redraw();resize()}function lateinit(){Cart.addEventListener("onCartItem",selected);Overlay.addEventListener("onView",view)}function render(){init();setTimeout(lateinit,33)}this.show=function(eo){selected(eo)};this.move=function(x,y){overlay_overview.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Graphic=classes.elements.Graphic;Func=classes.helpers.Func;L10N=classes.helpers.L10N;Overlay=classes.Overlay;Session=classes.Session;Shell=classes.Shell;Cart=classes.overlay.Cart;Checkout=classes.overlay.Checkout;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.overlay.Package=(function(){function Constructor(){var Shell;var Func;var L10N;var Overlay;var Session;var Packages;var Graphic;var FormDialog;var Checkout;var width=0;var height=0;var type="";var key="";var data=null;var provider={};var overlay_package=null;var package_display=null;var package_context=null;function addPackage(nickname){var uuid=new Date().getTime();var format_titles=[];var format_quantities=[];var format_aspects=[];var format_areas=[];var i,format;for(i=0;i<provider.formats.length;++i){format=provider.formats[i];format_titles.push(escape(format.title));format_quantities.push(format.quantity);format_aspects.push(format.aspect);format_areas.push(format.area)}Session.addItem("package",{hash:md5(uuid+nickname+key),type:type,nickname:nickname,title:provider.title,quantity:1,subtotal:provider.price,shipping:provider.shipping,format_titles:"%:"+format_titles.join(","),format_quantities:format_quantities.join(","),format_aspects:format_aspects.join(","),format_areas:format_areas.join(",")});Overlay.setView("browse")}function prev(){Packages.previous()}function next(){Packages.next()}function back(){Overlay.setView("browse")}function cart(){FormDialog.options({modal:true,draw_logo:false,field_label:L10N.get("ordering","package_add_dialog_enter_nickname"),submit_label:L10N.get("ordering","package_add_dialog_submit"),cancel_label:L10N.get("general","dialog_cancel"),submit:function(){addPackage(FormDialog.inputvalue());FormDialog.kill()}});FormDialog.draw()}function onLoaded(){$(this).stop().transition({opacity:1},500)}function redraw(){var calculate_and_display_shipping_bool=Checkout.settings().shipping.use;var purchase_price_includes_tax_bool=Checkout.settings().tax.included;var shipping_taxable_bool=Checkout.settings().shipping.tax;var price_label="";var price=parseFloat(provider.price);if(isNaN(price)){price=0}var shipping=parseFloat(provider.shipping);if(isNaN(shipping)){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}price_label+=Func.getFormattedPrice(price)}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}if(price_label!=""){price_label+=" + "}price_label+=Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}var desc=provider.description;if(desc==""){desc="<p>"+L10N.get("ordering","package_no_description_heading")+"</p>";desc+="<ul>";var i,format;for(i=0;i<provider.formats.length;++i){format=provider.formats[i];desc+="<li>("+format.quantity+") "+format.title+"</li>"}desc+="</ul>"}overlay_package.find("h2").empty().html(provider.title);overlay_package.find("h3").empty().html(price_label);overlay_package.find(".Description").empty().html(desc);package_display.find("img").off().attr("src",Func.getEmptyImgSrc());if(provider.filename){var half=Math.round(width/2);var graphic=new Graphic();graphic.provider({child:provider.filename,parent:type});graphic.letterbox(true);graphic.setSize(Math.round(width/2)-1,height);package_display.show().css({width:half-1,height:height}).find("img").css("opacity",0).attr("src",graphic.source()).one('load',onLoaded).each(function(){if(this.complete){$(this).load()}});package_context.css({left:half,width:width-half-51,height:height-50})}else{package_display.hide();package_context.css({left:0,width:width-50,height:height-50})}}function draw(){overlay_package=$("#overlay-package");package_display=overlay_package.find(".Display");package_context=$("#package-context");$("#packages-controlbar-prev, #packages-controlbar-add, #packages-controlbar-next, #packages-controlbar-back").each(function(){var self=$(this);var tooltip=self.attr("data-tooltip");var func=self.attr("id");func=func.split("-");func=func.pop();switch(func){case"prev":func=prev;break;case"next":func=next;break;case"add":func=cart;break;case"back":func=back;break}if(tooltip!=""&&!Shell.device().tablet){self.data("tooltip",tooltip).data("func",func).mouseenter(function(){Shell.createToolTip($(this).data("tooltip"))}).mouseleave(function(){Shell.killToolTip()}).click(function(){$(this).unbind("mouseenter").unbind("mouseleave");Shell.killToolTip();$(this).data("func")()})}else{self.click(func)}});package_context.scrollpane()}function resize(){overlay_package.css({width:width,height:height});if(provider.filename){var half=Math.round(width/2);package_display.show().css({width:half-1,height:height});package_context.css({left:half,width:width-half-51,height:height-50})}else{package_display.hide();package_context.css({left:0,width:width-50,height:height-50})}}function select(eo){type=eo.type;key=eo.key;provider=data[key];redraw();resize()}function lateinit(){Packages.addEventListener("onPackageSelected",select)}function init(){draw();resize()}function render(){init();setTimeout(lateinit,33)}this.add=function(key,obj){if(data==null){data={}}data[key]=obj};this.available=function(){return data!=null};this.move=function(x,y){overlay_package.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Func=classes.helpers.Func;L10N=classes.helpers.L10N;Overlay=classes.Overlay;Session=classes.Session;Shell=classes.Shell;Packages=classes.overlay.Packages;Graphic=classes.elements.Graphic;FormDialog=classes.elements.FormDialog;Checkout=classes.overlay.Checkout;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.overlay.Packages=(function(){function Constructor(){var Overlay;var Func;var instance=this;var width=0;var height=0;var type="";var index=-1;var overlay_packages=null;var packages_packages=null;var packages_products=null;function select(t,i){var ui=t=="package"?packages_packages:packages_products;type=t;index=i;overlay_packages.find("li").removeClass().off().click(click);var active=ui.find("li").eq(index);active.addClass("Active").off();instance.dispatch("onPackageSelected",{type:type,index:index,key:active.data("value")})}function click(event){if($(this).parent().parent().attr("id")=="packages-packages"){select("package",$(this).index())}if($(this).parent().parent().attr("id")=="packages-products"){select("product",$(this).index())}Func.stop(event);return false}function prev(){var i=index-1;var ui;if(type=="package"){ui=packages_packages;if(i<0){if(packages_products.length>0){type="product";ui=packages_products}i=ui.find("li").length-1}}else if(type=="product"){ui=packages_products;if(i<0){if(packages_packages.length>0){type="package";ui=packages_packages}i=ui.find("li").length-1}}else{if(packages_packages.length>0){type="package";ui=packages_packages}else if(packages_products.length>0){type="product";ui=packages_products}i=ui.find("li").length-1}select(type,i)}function next(){var i=index+1;var ui;if(type=="package"){ui=packages_packages;if(i==ui.find("li").length){if(packages_products.length>0){type="product";ui=packages_products}i=0}}else if(type=="product"){ui=packages_products;if(i==ui.find("li").length){if(packages_packages.length>0){type="package";ui=packages_packages}i=0}}else{if(packages_packages.length>0){type="package";ui=packages_packages}else if(packages_products.length>0){type="product";ui=packages_products}i=0}select(type,i)}function draw(){overlay_packages=$("#overlay-packages");packages_packages=$("#packages-packages");packages_products=$("#packages-products");overlay_packages.find("ul").scrollpane();overlay_packages.find("li").click(click)}function resize(){var innerheight=height;var rows=packages_packages.length+packages_products.length;var half=Math.floor(innerheight/rows);overlay_packages.css({width:width-1,height:height});packages_packages.css({height:half}).find("ul").css({height:half-10-12-5-2-2-10});packages_products.css({height:Math.floor(innerheight/2)}).find("ul").css({height:half-10-12-5-2-2-10})}function view(eo){if(eo.view=="packages"){next();Overlay.removeEventListener("onView",view)}}function init(){draw();resize()}function lateinit(){Overlay.addEventListener("onView",view)}function render(){init();setTimeout(lateinit,33)}this.previous=function(){prev()};this.next=function(){next()};this.move=function(x,y){overlay_packages.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Func=classes.helpers.Func;Overlay=classes.Overlay;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());classes.overlay.Sidebar=(function(){function Constructor(){var Shell;var Func;var L10N;var Overlay;var Session;var Browser;var Package;var Cart;var Checkout;var Display;var instance=this;var width=0;var height=0;var alacarte=[];var alacarte_lookup={};var papers=[];var papers_lookup={};var modifiers=[];var modifiers_lookup={};var selection={browse_provider:[],browse:{label:"",type:"none",hash:"none"},format_provider:[],format:{price:"0",area:0,aspect:NaN,shipping:"0",maximum:-1},paper_provider:[],paper:{title:"",price:"0",shipping:"0"},modifier_provider:[],modifier:{title:"",price:"0",shipping:"0"},quantity:1,orientation:"",toning:"",x_offset:50,y_offset:50,comment:""};var cart_object={};var last_selected_hash="";var packages_available=false;var alacarte_available=false;var packages_in_cart=false;var formats_available=false;var quantity_available=false;var toning_available=false;var papers_available=false;var modifiers_available=false;var cropping_available=false;var comments_available=false;var formats_visible=false;var overlay_sidebar=null;var sidebar_input=null;var sidebar_screen=null;var sidebar_input_screen=null;var sidebar_input_content=null;var sidebar_options=null;var sidebar_browse=null;var sidebar_selection=null;var sidebar_formats=null;var sidebar_quantity=null;var sidebar_toning=null;var sidebar_papers=null;var sidebar_modifiers=null;var sidebar_crop=null;var sidebar_comments=null;var sidebar_control=null;var checkout_obj=null;function prevent(event){event.stopPropagation();event.preventDefault()}function click(event){if($(this).parent().attr("id")=="sidebar-browse"){Overlay.setView("packages")}if($(this).attr("id")=="browse-controlbar-cart"){Overlay.setView("overview")}if($(this).attr("id")=="browse-controlbar-add"){disable({open:true});Session.addItem("cart",cart_object)}prevent(event);return false}function change(event){var self=$(this);var parent=self.parent().attr("id")=="sidebar-input-content"?sidebar_input_content.data("parent"):self.parent();var selected=self.find(':selected');var value=self.val();parent.data("index",selected.index()).data("value",value).find("span").html(selected.html());if(parent.attr("id")=="sidebar-selection"){group(value)}else{if(parent.attr("id")=="sidebar-formats"){fixOrientation()}check();instance.dispatch("onChanged")}sidebar_input.hide();prevent(event);return false}function showInputUI(event){var self=$(this);var value=self.data("value");var markup;if(self.hasClass("Selection")){var h=sidebar_input.height()-100;markup=self.find("select");var lines=Math.min(markup.find("option").length,Math.floor(h/30));markup=markup.clone().show().attr("size",lines).change(change).val(value).scrollpane()}else if(self.hasClass("Numeric")){markup='<div class="UINumeric">'+'<input class="uiField" type="number" id="sidebar-quantity" min="1" max="'+selection.format.maximum+'" step="1" value="'+value+'" />'+'<button class="uiPushButton"></button>'+'</div>'}else if(self.hasClass("Text")){markup='<div class="UIText">'+'<textarea class="uiField">'+value+'</textarea>'+'<button class="uiPushButton"></button>'+'</div>'}sidebar_input.show();sidebar_input_content.empty().append(markup).data("parent",self).find("button").click(hideInputUI);if(!Modernizr.inputtypes.number&&self.hasClass("Numeric")){sidebar_input_content.find("input").stepper({type:"int",allowWheel:false,allowArrows:false,limit:[1,selection.format.maximum]})}prevent(event);return false}function hideInputUI(){var self=$(this);var parent=sidebar_input_content.data("parent");var input;var value;var label;var trigger=false;if(self.parent().hasClass("UINumeric")){input=self.parent().find("input");value=parseInt(input.val(),10);if(value>selection.format.maximum){value=selection.format.maximum}label=value;trigger=true}else if(self.parent().hasClass("UIText")){input=self.parent().find("textarea");value=input.val();label=value.length>32?value.substr(0,32)+" ...":value;if(value==""){label=L10N.get("ordering","sidebar_none_selected")}trigger=true}parent.data("value",value);parent.find("span").html(label);sidebar_input.hide();if(trigger){check()}}function convertToJsEval(str){if(str.indexOf("function")!=-1){return str}if(str.indexOf("Math")!=-1){return str}var math_props=["E","LN2","LN10","LOG2E","LOG10E","PI","SQRT1_2","SQRT2","abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","random","round","sin","sqrt","tan"];var i,prop;for(i=0;i<math_props.length;++i){prop=math_props[i];str=str.split(prop).join("Math."+prop)}return str}function evaluate(expr,format_area,quantity,format_price){if(!expr){expr="0"}if(!format_area){format_area="0"}if(!quantity){quantity="0"}if(!format_price){format_price="0"}expr=expr.split("A").join(format_area);expr=expr.split("Q").join(quantity);expr=expr.split("P").join(format_price);expr=convertToJsEval(expr);try{return eval(expr)}catch(err){return parseFloat(expr)}}function group(){selection.browse=selection.browse_provider[sidebar_selection.data("index")];last_selected_hash=selection.browse.hash;redraw();reset();check()}function offsets(eo){selection.x_offset=Math.round(eo.x);selection.y_offset=Math.round(eo.y);check()}function disable(eo){sidebar_screen.toggle(eo.open)}function image(){reset();check()}function start(){disable({open:false});redraw();reset();check();instance.dispatch("onChanged")}function resize(){overlay_sidebar.css({width:width-1,height:height});sidebar_options.css({width:width-1,height:height})}function draw(){overlay_sidebar=$("#overlay-sidebar");sidebar_input=$("#sidebar-input");sidebar_screen=$("#sidebar-screen");sidebar_input_screen=$("#sidebar-input-screen");sidebar_input_content=$("#sidebar-input-content");sidebar_options=$("#sidebar-options");sidebar_selection=$("#sidebar-selection");sidebar_browse=$("#sidebar-browse");sidebar_control=$("#browse-controlbar-add");checkout_obj=$("#browse-controlbar-cart");sidebar_formats=$("#sidebar-formats");sidebar_quantity=$("#sidebar-quantity");sidebar_toning=$("#sidebar-toning");sidebar_papers=$("#sidebar-papers");sidebar_modifiers=$("#sidebar-modifiers");sidebar_crop=$("#sidebar-crop");sidebar_comments=$("#sidebar-comments");sidebar_options.scrollpane();checkout_obj.addClass("Enabled").click(click);sidebar_browse.find("button").click(click);sidebar_input_screen.click(hideInputUI);if(Shell.device().tablet){overlay_sidebar.find(".Selection").each(function(){$(this).find("span").css("visibility","hidden");$(this).data("index",0).data("value",null).find("select").change(change)})}else{overlay_sidebar.find(".Selection").each(function(){$(this).find("select").change(change).hide();$(this).click(showInputUI).data("index",0).data("value",null)})}overlay_sidebar.find(".Numeric, .Text").each(function(){$(this).click(showInputUI)})}function lateinit(){Browser.addEventListener("onCropMove",offsets);Browser.addEventListener("onZoomView",disable);Browser.addEventListener("onIndex",image);Session.addEventListener("onSessionLoaded",start);Session.addEventListener("onSessionCart",start)}function init(){draw();resize()}function render(){init();setTimeout(lateinit,33)}function fixOrientation(){var current=Overlay.getCurrentImage();var aspect=current.width/current.height;var parent=sidebar_crop;var provider=selection.orientation_provider;var input=parent.find("select");var label=parent.find("span");var index=aspect<1?1:2;var value=provider[index].value;var text=provider[index].label;parent.data("index",index).data("value",value);input.val(value);label.html(text);selection.orientation=provider[index]}function check(){var calculate_and_display_shipping_bool=Checkout.settings().shipping.use;var purchase_price_includes_tax_bool=Checkout.settings().tax.included;var shipping_taxable_bool=Checkout.settings().shipping.tax;cart_object={};sidebar_control.removeClass("Enabled").addClass("Disabled").off();if(formats_available){selection.format=selection.format_provider[sidebar_formats.data("index")]}if(toning_available){selection.toning=sidebar_toning.data("value")}if(quantity_available){selection.quantity=sidebar_quantity.data("value");if(selection.quantity==0||isNaN(selection.quantity)){selection.quantity=1}if(selection.quantity>selection.format.maximum){selection.quantity=selection.format.maximum}}if(selection.format.maximum==-1){selection.quantity=1;sidebar_quantity.hide()}else{sidebar_quantity.show()}if(cropping_available){selection.orientation=sidebar_crop.data("value")}if(isNaN(selection.format.aspect)){selection.orientation="";sidebar_crop.hide()}else{sidebar_crop.show()}if(formats_available&&(selection.format.label==L10N.get("ordering","sidebar_none_selected")||!selection.format)){return}var format_area=isNaN(selection.format.area)?0:selection.format.area;var format_price=selection.format.price;format_price=evaluate(format_price,format_area,selection.quantity,null);if(papers_available){selection.paper=selection.paper_provider[sidebar_papers.data("index")];sidebar_papers.find("option").each(function(i){if(i==0){return}var paper=selection.paper_provider[i];var label=paper.title;var price=paper.price;if(price==""||!price){price="0"}price=evaluate(price,format_area,selection.quantity,format_price);var shipping=paper.shipping;if(shipping==""||!shipping){shipping="0"}shipping=evaluate(shipping,format_area,selection.quantity,format_price);if(calculate_and_display_shipping_bool==false){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}label+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}label+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}$(this).html(label)})}if(modifiers_available){selection.modifier=selection.modifier_provider[sidebar_modifiers.data("index")];sidebar_modifiers.find("option").each(function(i){if(i==0){return}var modifier=selection.modifier_provider[i];var label=modifier.title;var price=modifier.price;if(price==""||!price){price="0"}price=evaluate(price,format_area,selection.quantity,format_price);var shipping=modifier.shipping;if(shipping==""||!shipping){shipping="0"}shipping=evaluate(shipping,format_area,selection.quantity,format_price);if(calculate_and_display_shipping_bool==false){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}label+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}label+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}$(this).html(label)})}var comment_text=comments_available?sidebar_comments.data("value"):"";comment_text=comment_text.split("\t").join("").split("\r").join(" ").split("\n").join(" ");var format_shipping=selection.format.shipping;format_shipping=evaluate(format_shipping,format_area,selection.quantity,format_price);if(calculate_and_display_shipping_bool==false){format_shipping=0}var paper_price=papers_available?selection.paper.price:"0";paper_price=evaluate(paper_price,format_area,selection.quantity,format_price);var paper_shipping=papers_available?selection.paper.shipping:"0";paper_shipping=evaluate(paper_shipping,format_area,selection.quantity,format_price);if(calculate_and_display_shipping_bool==false){paper_shipping=0}var modifier_price=modifiers_available?selection.modifier.price:"0";modifier_price=evaluate(modifier_price,format_area,selection.quantity,format_price);var modifier_shipping=modifiers_available?selection.modifier.shipping:"0";modifier_shipping=evaluate(modifier_shipping,format_area,selection.quantity,format_price);if(calculate_and_display_shipping_bool==false){modifier_shipping=0}var info=Overlay.getCurrentImage();var hash_obj={pageid:Overlay.pageid(),filename:info.filename,tone:(toning_available?instance.getColorTone():""),format:(formats_available?selection.format.title:""),orientation:(instance.getShowCrop()?instance.getOrientation():""),x_offset:(instance.getShowCrop()?selection.x_offset:""),y_offset:(instance.getShowCrop()?selection.y_offset:""),paper:(papers_available?selection.paper.title:""),modifier:(modifiers_available?selection.modifier.title:""),comment:comment_text};var hash=md5(hash_obj.pageid+hash_obj.filename+hash_obj.tone+hash_obj.format+hash_obj.orientation+hash_obj.x_offset+hash_obj.y_offset+hash_obj.paper+hash_obj.modifier+hash_obj.comment);if(selection.browse.type=="product"||selection.browse.type=="package"){hash+=":"+selection.browse.hash}cart_object.hash=hash;cart_object.puid=info.parent;cart_object.cuid=info.child;cart_object.filename=info.filename;cart_object.quantity=selection.quantity;cart_object.toning=selection.toning;if(formats_available){cart_object.format_label=selection.format.title;if(isNaN(instance.getFormatAspect())==false){cart_object.format_aspect=instance.getFormatAspect()}cart_object.format_price=format_price;cart_object.format_shipping=format_shipping}if(instance.getShowCrop()){cart_object.orientation=instance.getOrientation();cart_object.orientation_x=selection.x_offset;cart_object.orientation_y=selection.y_offset}if(papers_available){cart_object.paper_label=selection.paper.title;cart_object.paper_price=paper_price;cart_object.paper_shipping=paper_shipping}if(modifiers_available){cart_object.modifier_label=selection.modifier.title;cart_object.modifier_price=modifier_price;cart_object.modifier_shipping=modifier_shipping}cart_object.comments=comment_text;cart_object.subtotal=format_price+paper_price+modifier_price;cart_object.shipping=format_shipping+paper_shipping+modifier_shipping;sidebar_control.removeClass("Disabled").addClass("Enabled").click(click)}function redraw(){var calculate_and_display_shipping_bool=Checkout.settings().shipping.use;var purchase_price_includes_tax_bool=Checkout.settings().tax.included;var shipping_taxable_bool=Checkout.settings().shipping.tax;var packages=[];var packages_parsed=Session.getPackagesParsed();var i,provider,pkg,package_hash,parent,input,label,index,value,text,dataset,format,area,price,shipping,remaining,paper,modifier;for(i=0;i<packages_parsed.length;++i){pkg=packages_parsed[i];if(pkg.total==0||pkg.total==pkg.count){continue}packages.push(pkg.row)}packages_available=Package.available();alacarte_available=alacarte.length>0;packages_in_cart=packages.length>0;formats_available=alacarte_available||packages_in_cart;formats_visible=formats_available;quantity_available=sidebar_quantity.length>0;toning_available=sidebar_toning.length>0;papers_available=papers.length>0;modifiers_available=modifiers.length>0;cropping_available=formats_available&&sidebar_crop.length>0;comments_available=sidebar_comments.length>0;provider=[];index=0;provider.push({label:L10N.get("ordering","sidebar_none_selected"),type:"none",hash:"none"});for(i=0;i<packages.length;++i){pkg=packages[i];package_hash=pkg.hash.substr(0,32);if((last_selected_hash==package_hash)||(selection.browse.hash==package_hash)||(alacarte_available==false&&packages.length==1)){index=provider.length}provider.push({label:pkg.nickname+" ("+pkg.title+")",type:pkg.type,hash:package_hash})}if(alacarte_available){if((selection.browse.type=="alacarte")||(packages_available==true&&packages_in_cart==false)||(packages_available==false)){index=provider.length}provider.push({label:L10N.get("ordering","alacarte_label"),type:"alacarte",hash:"alacarte"})}parent=sidebar_browse;parent.toggle(packages_available);parent=sidebar_selection;input=parent.find("select");label=parent.find("span");input.empty();for(i=0;i<provider.length;++i){input.append('<option value="'+provider[i].hash+'">'+provider[i].label+'</option>')}value=provider[index].hash;text=provider[index].label;parent.data("index",index).data("value",value);input.val(value);label.html(text);selection.browse_provider=provider;selection.browse=provider[index];parent.toggle(provider.length>=3);if(selection.browse.type=="none"){formats_visible=false;quantity_available=false;toning_available=false;papers_available=false;modifiers_available=false;cropping_available=false;comments_available=false}dataset=alacarte;if(selection.browse.type=="package"||selection.browse.type=="product"){for(i=0;i<packages_parsed.length;++i){pkg=packages_parsed[i];if(pkg.row.hash.substr(0,32)==selection.browse.hash){dataset=pkg.formats;break}}formats_visible=dataset.length>0}provider=[];provider.push({label:L10N.get("ordering","sidebar_none_selected"),price:"",area:NaN,aspect:NaN,shipping:"",maximum:-1});for(i=0;i<dataset.length;++i){format=dataset[i];area=parseFloat(format.area);price=format.price;if(price==""||!price){price="0"}price=evaluate(price,area,null,null);shipping=format.shipping;if(shipping==""||!shipping){shipping="0"}shipping=evaluate(shipping,area,null,null);if(calculate_and_display_shipping_bool==false){shipping=0}label=format.title;if(format.total){remaining=format.total-format.count;if(remaining==0){continue}label+=" ("+remaining+") "+L10N.get("ordering","sidebar_package_remaining")}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}label+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}label+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}provider.push({label:label,area:area,maximum:(remaining||9999),title:format.title,price:format.price,aspect:parseFloat(format.aspect),shipping:format.shipping})}parent=sidebar_formats;input=parent.find("select");input.empty();for(i=0;i<provider.length;++i){input.append('<option value="'+i+'">'+provider[i].label+'</option>')}selection.format_provider=provider;parent.toggle(formats_visible);parent=sidebar_quantity;parent.toggle(quantity_available);provider=[{label:L10N.get("ordering","sidebar_none_selected"),value:""}];if(Display.settings().mono){provider.push({label:L10N.get("ordering","sidebar_tone_black_and_white"),value:"mono"})}if(Display.settings().sepia){provider.push({label:L10N.get("ordering","sidebar_tone_sepia"),value:"sepia"})}parent=sidebar_toning;input=parent.find("select");input.empty();for(i=0;i<provider.length;++i){input.append('<option value="'+provider[i].value+'">'+provider[i].label+'</option>')}selection.toning_provider=provider;parent.toggle(toning_available);dataset=papers;provider=[];provider.push({label:L10N.get("ordering","sidebar_none_selected"),title:"",price:"",shipping:""});for(i=0;i<dataset.length;++i){paper=dataset[i];label=paper.title;price=paper.price;if(price==""||!price){price="0"}price=evaluate(price,null,null,null);shipping=paper.shipping;if(shipping==""||!shipping){shipping="0"}shipping=evaluate(shipping,null,null,null);if(calculate_and_display_shipping_bool==false){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}label+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}label+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}provider.push({label:label,title:paper.title,price:paper.price,shipping:paper.shipping})}parent=sidebar_papers;input=parent.find("select");input.empty();for(i=0;i<provider.length;++i){input.append('<option value="'+i+'">'+provider[i].label+'</option>')}selection.paper_provider=provider;parent.toggle(papers_available);dataset=modifiers;provider=[];provider.push({label:L10N.get("ordering","sidebar_none_selected"),title:"",price:"",shipping:""});for(i=0;i<dataset.length;++i){modifier=dataset[i];label=modifier.title;price=modifier.price;if(price==""||!price){price="0"}price=evaluate(price,null,null,null);shipping=modifier.shipping;if(shipping==""||!shipping){shipping="0"}shipping=evaluate(shipping,null,null,null);if(calculate_and_display_shipping_bool==false){shipping=0}if(price>0){if(purchase_price_includes_tax_bool){price=Func.addSalesTax(price)}label+=" ("+Func.getFormattedPrice(price)+")"}if(calculate_and_display_shipping_bool&&shipping>0){if(purchase_price_includes_tax_bool&&shipping_taxable_bool){shipping=Func.addSalesTax(shipping)}label+=" + "+Func.getFormattedPrice(shipping)+" "+L10N.get("localization","currency_shipping_and_handling_abbreviation")}provider.push({label:label,title:modifier.title,price:modifier.price,shipping:modifier.shipping})}parent=sidebar_modifiers;input=parent.find("select");input.empty();for(i=0;i<provider.length;++i){input.append('<option value="'+i+'">'+provider[i].label+'</option>')}selection.modifier_provider=provider;parent.toggle(modifiers_available);provider=[{label:L10N.get("ordering","sidebar_none_selected"),value:""},{label:L10N.get("ordering","sidebar_crop_portrait"),value:"p"},{label:L10N.get("ordering","sidebar_crop_landscape"),value:"l"}];parent=sidebar_crop;input=parent.find("select");input.empty();for(i=0;i<provider.length;++i){input.append('<option value="'+provider[i].value+'">'+provider[i].label+'</option>')}selection.orientation_provider=provider;parent.toggle(cropping_available);parent=sidebar_comments;parent.toggle(comments_available);if(Cart.count()>0){checkout_obj.html(L10N.get("ordering","overview_view_cart")+" ("+Cart.count()+")").removeClass("Disabled").addClass("Enabled").click(click)}else{checkout_obj.html(L10N.get("ordering","overview_empty")).removeClass("Enabled").addClass("Disabled").off()}}function reset(){cart_object={};sidebar_control.removeClass("Enabled").addClass("Disabled").off();var provider,parent,input,label,index,value,text;if(formats_visible){provider=selection.format_provider;parent=sidebar_formats;input=parent.find("select");label=parent.find("span");index=0;value=index;text=provider[index].label;parent.data("index",index).data("value",value);input.val(value);label.html(text);selection.format=provider[index]}if(quantity_available){parent=sidebar_quantity;label=parent.find("span");value=1;text="1";parent.data("value",value);label.html(text);selection.quantity=value}if(papers_available){provider=selection.paper_provider;parent=sidebar_papers;input=parent.find("select");label=parent.find("span");index=0;value=index;text=provider[index].label;parent.data("index",index).data("value",value);input.val(value);label.html(text);selection.paper=provider[index]}if(modifiers_available){provider=selection.modifier_provider;parent=sidebar_modifiers;input=parent.find("select");label=parent.find("span");index=0;value=index;text=provider[index].label;parent.data("index",index).data("value",value);input.val(value);label.html(text);selection.modifier=provider[index]}if(toning_available){provider=selection.toning_provider;parent=sidebar_toning;input=parent.find("select");label=parent.find("span");index=0;value=provider[index].value;text=provider[index].label;parent.data("index",index).data("value",value);input.val(value);label.html(text);selection.toning=provider[index]}if(cropping_available){provider=selection.orientation_provider;parent=sidebar_crop;input=parent.find("select");label=parent.find("span");index=0;value=provider[index].value;text=provider[index].label;parent.data("index",index).data("value",value);input.val(value);label.html(text);selection.orientation=provider[index]}if(comments_available){parent=sidebar_comments;label=parent.find("span");value="";text=L10N.get("ordering","sidebar_none_selected");parent.data("value",value);label.html(text);selection.comment=value}selection.x_offset=50;selection.y_offset=50}this.available=function(){return(packages_available||formats_available||quantity_available||toning_available||papers_available||modifiers_available||cropping_available||comments_available)};this.addFormat=function(key,obj){alacarte_lookup[key]=alacarte.length;alacarte.push(obj)};this.hasFormats=function(){return alacarte.length>0};this.addPaper=function(key,obj){papers_lookup[key]=papers.length;papers.push(obj)};this.addModifier=function(key,obj){modifiers_lookup[key]=modifiers.length;modifiers.push(obj)};this.getOrientation=function(){return selection.orientation||""};this.getFormatAspect=function(){return selection.format.aspect||NaN};this.getShowCrop=function(){return!isNaN(this.getFormatAspect())&&cropping_available&&this.getOrientation()!=""};this.getColorTone=function(){return selection.toning||""};this.move=function(x,y){overlay_sidebar.css({top:y,left:x})};this.setSize=function(w,h){width=w;height=h;resize()};this.initialize=function(){Func=classes.helpers.Func;L10N=classes.helpers.L10N;Overlay=classes.Overlay;Session=classes.Session;Shell=classes.Shell;Browser=classes.overlay.Browser;Package=classes.overlay.Package;Cart=classes.overlay.Cart;Checkout=classes.overlay.Checkout;Display=classes.content.Display;render()}}Constructor.prototype=new EventDispatcher();return new Constructor()}());

classes.helpers.L10N = (function () {
	function Constructor () {
		/* private methods
			*/
		var l10n = {
			general: {
				password_required: 'Password Required',
				password_incorrect: 'Password Incorrect!',
				set_expired_error: 'The Requested Proofing Gallery has Expired!',
				session_dialog_directions: 'Please enter your email address to begin your proofing session. Your selections will be saved to our server, and will be accessible on any computer as long as you use the same email address to login.',
				session_enter_email_address: 'Please enter your email address',
				session_start_resume: 'Start/Resume Session',
				session_invalid_email_address: 'Invalid Email address',
				return_to_gateway: 'Return To Login',
				dialog_submit: 'Submit!',
				dialog_confim: 'O.K.',
				dialog_approve: 'Continue',
				dialog_cancel: 'Cancel',
				dialog_no_remind: 'Don&#039;t Remind Me',
				dialog_close_window: 'CLOSE WINDOW',
				contact_us: 'Contact Us',
				browser_error_resolution_title: 'We Need More Room!',
				browser_error_resolution_description: '<p>This application leverages all the latest browser technologies to ensure that it works seamlessly on any modern HTML5-capable modern browser.  We currently support Firefox (version 4 or higher), Chrome (version 18 or higher), Safari/Webkit (version 534 or higher), and IE10 on any device/browser/computer that has a minimum screen size of 1024x768.  Mobile phones are not supported due to size restrictions and usability.</p>',
				browser_error_orientation_title: 'Please Set Your Device/Browser Horizontal.',
				browser_error_orientation_description: '<p>This application works best in a horiontal format.  Please turn your device.  We\'ve saved your spot, all you need to do is turn.</p>',
				browser_error_browser_title: 'Bummer! Your Device or Browser Isn&#039;t Compatible!',
				browser_error_browser_description: '<p>This application leverages all the latest browser technologies to ensure that it works seamlessly on any modern HTML5-capable modern browser.  We currently support Firefox (version 4 or higher), Chrome (version 18 or higher), Safari/Webkit (version 534 or higher), and IE10 on any device/browser/computer that has a minimum screen size of 1024x768.  Mobile phones are not supported due to size restrictions and usability.</p>',
				page_not_found_title: '404 Not Found',
				page_not_found_description: '<h1>Not Found</h1><p>The requested URL was not found on this server.</p><p>Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.</p>',
				_: '',
			},
			splash: {
				login_field_prompt: 'Enter Proofing Gallery ID',
				login_failure: 'The Requested Proofing Gallery is Invalid or Unavailable',
				login_submit: 'Start Proofing!',
				expiration_never: 'Never',
				set_images: 'Images:',
				set_expired_on: 'Expired:',
				set_expires_on: 'Expires:',
				view_gallery: 'View Gallery',
				view_gallery_login: 'Login and View Gallery',
				_: '',
			},
			contact: {
				contact_form_submit: 'submit',
				contact_form_send_success: 'Message Sent!',
				contact_form_send_failure: 'Message Failed to Send!',
				contact_form_ml_optin: 'Mailing List Opt-in',
				contact_form_ml_checkbox: 'Add me to your mailing list',
				email_address_invalid: 'Email Address Invalid!',
				highlighted_fields_required: 'Highlighted Fields Required!',
				form_idle_message: 'awaiting activity ...',
				sending_data_to_server: 'sending data to server ...',
				form_email_subject: '[{SITE_URL}] - A New Message From ({SENDER_NAME})',
				form_email_message_body: '<p>{FORMATTED<em>FORM</em>BLOCK}</p>',
				order_client_reciept_subject: 'Receipt for your photocart order',
				order_client_reciept_message_body: '<p>Order {ORDER_ID} has been created, and now available for you to review.  If you used paypal to pay for your order, you will be receiving a notification of payment shortly.  If you intend to pay offline, you will need to contact your photographer to arrange payment.</p><ul><li><strong>Invoice URL</strong> - &lt;{INVOICE_URL}></li><li><strong>Contact Name</strong> - {OWNER_NAME}</li><li><strong>Contact Email</strong> - {OWNER_EMAIL}</li></ul>',
				order_merchant_reciept_subject: '[{ORDER_ID}] - A New Order Has Been Created',
				order_merchant_reciept_message_body: '<p>Order {ORDER_ID} has been created, and now available for you to review.  If the purchaser is using paypal, you will receive a notification of payment shortly after.  If the purchaser intends to pay offline, you will need to contact them to arrange payment.</p><ul><li><strong>Invoice URL</strong> - &lt;{INVOICE_URL}></li><li><strong>Output URL</strong> - &lt;{OUTPUT_URL}></li><li><strong>Contact Name</strong> - {PURCHASER_NAME}</li><li><strong>Contact Email</strong> - {PURCHASER_EMAIL}</li><li><strong>Contact Phone</strong> - {PURCHASER_PHONE}</li></ul>',
				output_notify_subject: 'Your Photos Are Ready To Proof!',
				output_notify_message_body: '<p>A new proofing set of photos has been created for you, and is now ready for you to review, select and purchase!</p><ul><li><strong>Photocart URL</strong> - &lt;{SET_URL}></li><li><strong>Expires</strong> - {EXPIRATION}</li><li><strong>Password (if any)</strong> - {PASSWORD}</li><li><strong>Contact Name</strong> - {OWNER_NAME}</li><li><strong>Contact Email</strong> - {OWNER_EMAIL}</li></ul><p>Their personal message to you is below:</p><p>{MESSAGE}</p>',
				output_reminder_subject: 'Your Photo Cart is Expiring Soon!',
				output_reminder_message_body: '<p>Just wanted to drop you a quick note reminding you that your set of photos will be expiring soon.</p><ul><li><strong>Photocart URL</strong> - &lt;{SET_URL}></li><li><strong>Expires</strong> - {EXPIRATION}</li><li><strong>Password (if any)</strong> - {PASSWORD}</li><li><strong>Contact Name</strong> - {OWNER_NAME}</li><li><strong>Contact Email</strong> - {OWNER_EMAIL}</li></ul><p>Their personal message to you is below:</p><p>{MESSAGE}</p>',
				output_general_subject: 'A message regarding your Photo Cart',
				output_general_message_body: '<p>{MESSAGE}</p><ul><li><strong>Photocart URL</strong> - &lt;{SET_URL}></li><li><strong>Expires</strong> - {EXPIRATION}</li><li><strong>Password (if any)</strong> - {PASSWORD}</li><li><strong>Contact Name</strong> - {OWNER_NAME}</li><li><strong>Contact Email</strong> - {OWNER_EMAIL}</li></ul>',
				_: '',
			},
			ordering: {
				alacarte_label: 'A La Carte',
				favorites_label: 'Favorites',
				favorites_tooltip_add: 'Add to Favorites',
				favorites_tooltip_remove: 'Remove from Favorites',
				sidebar_add_to_cart: 'ADD TO CART',
				sidebar_none_selected: 'None Selected',
				sidebar_choose_a_size: 'Choose a Format',
				sidebar_choose_quantity: 'Choose a Quantity',
				sidebar_choose_tone: 'Choose a Color/Tone',
				sidebar_tone_black_and_white: 'Black &amp; White',
				sidebar_tone_sepia: 'Sepia',
				sidebar_choose_paper: 'Choose a Paper',
				sidebar_choose_modifier: 'More Options',
				sidebar_enable_crop: 'Enable Crop Preview',
				sidebar_crop_portrait: 'Portrait',
				sidebar_crop_landscape: 'Landscape',
				sidebar_comments: 'Comments',
				sidebar_package_remaining: 'remaining',
				sidebar_browse_packages: 'Shop for a Package/Product',
				sidebar_currently_adding_to: 'Currently Adding To:',
				image_preview_return: 'RETURN TO BROWSING',
				image_preview_return_to_wall: 'CLOSE AND RETURN TO WALL',
				image_preview_tooltip_previous: 'View Previous Item In Cart',
				image_preview_tooltip_next: 'View Next Item In Cart',
				image_browser_tooltip_left: 'Previous Image (Left Key)',
				image_browser_tooltip_right: 'Next Image (Spacebar or Right Key)',
				image_browser_tooltip_fullscreen: 'Zoom In &amp; Pan',
				image_browser_tooltip_favorite: 'Toggle This Image In Favorites(Up or Down Key)',
				overview_change_quantity: 'Change the Quantity',
				overview_package_maximum: 'maximum',
				overview_toning: 'Chosen Color/Toning',
				overview_image_format: 'Image Format',
				overview_orientation: 'Orientation',
				overview_paper_format: 'Paper Format',
				overview_modifier: 'Format Modifier',
				overview_comments: 'Your Comments',
				overview_save_changes: 'SAVE',
				overview_empty: 'CART EMPTY',
				overview_view_cart: 'VIEW CART',
				cart_checkout: 'CHECKOUT',
				cart_clear_cart: 'CLEAR CART',
				cart_delete_confirmation_title: 'Are you Sure?',
				cart_delete_confirmation_description: 'Deleting items from your cart session is a permanent action.  Are you sure you want to delete?',
				cart_alacarte_items: 'items',
				cart_package_delete: 'DELETE',
				cart_item_delete: 'DELETE',
				cart_alacarte_delete: 'CLEAR ITEMS',
				cart_package_completion: 'Complete',
				package_add_dialog_enter_nickname: 'Assign A Nickname',
				package_add_dialog_submit: 'Add To Cart',
				package_tooltip_previous: 'View Previous Item',
				package_tooltip_next: 'View Next Item',
				package_add_to_cart: 'ADD TO CART',
				package_no_description_heading: 'Contains the Following:',
				packages_available_packages: 'Available Packages',
				packages_available_products: 'Available Products',
				packages_return_to_browsing: 'RETURN TO BROWSING',
				navigation_images_title: 'Images',
				navigation_images_all: 'All Images',
				navigation_images_page: 'Page',
				navigation_favorites_title: 'Favorites',
				navigation_favorites_all: 'All Favorites',
				navigation_favorites_page: 'Favorites Page',
				navigation_cart_title: 'Cart Items',
				navigation_cart_all: 'All Cart Items',
				navigation_cart_page: 'Cart Items Page',
				navigation_clear_favorites: 'Clear Favorites',
				navigation_cart_empty: 'Cart Empty',
				navigation_no_favorites: 'No Favorites',
				navigation_view_cart: 'View Cart',
				navigation_clear_cart: 'Clear Cart',
				navigation_checkout: 'Checkout',
				_: '',
			},
			checkout: {
				checkout_return_to_checkout: 'RETURN TO CHECKOUT',
				checkout_return_to_cart: 'RETURN TO CART',
				checkout_terms_accept: 'I Accept The',
				checkout_terms_label: 'Terms And Conditions',
				checkout_package_incomplete_title: 'Something Isn&#039;t Complete!',
				checkout_package_incomplete_description: 'You have either a package or product in your cart that requires more images added to it.  Please review your selections, and be sure each product or package is completely filled out.  Thanks!',
				checkout_minimum_title: 'Cart Minimum Not Fulfilled',
				checkout_minimum_count_description: 'Before you can checkout, you need to fulfill minimum requirements.  The minimum number of items in your cart must be {COUNT_MINIMUM}.  Please return to browsing and add more items in your cart to continue.',
				checkout_minimum_subtotal_description: 'Before you can checkout, you need to fulfill minimum requirements.  The minimum total value of your cart must be {SUBTOTAL_MINIMUM}.  Please return to browsing and add more items in your cart to continue.',
				checkout_highlighted_fields_required_title: 'Highlighted Fields Required!',
				checkout_highlighted_fields_required_description: 'Please be sure to completely fill out all available and highlighted fields with valid information.  Thank you!',
				checkout_email_addresses_do_not_match_title: 'Whoops!',
				checkout_email_addresses_do_not_match_description: 'The email addresses you supplied don&#039;t match.  It&#039;s vitally important we get it right, as it will be the primary form of notification.',
				checkout_invalid_email_address_title: 'Whoops!',
				checkout_invalid_email_address_description: 'The email addresses you supplied is invalid. It&#039;s vitally important we get it right, as it will be the primary form of notification.',
				checkout_discount_code_error_title: 'Discount Code Error!',
				checkout_discount_code_error_description: 'Since you&#039;ve started the checkout process, the discount code you&#039;ve supplied is no longer valid.  Please contact us as soon as possible to investigate this.',
				checkout_paypal_order: 'Order',
				checkout_return_to_browsing: 'BACK TO BROWSING',
				checkout_purchase_now: 'PURCHASE NOW',
				checkout_choose_payment_method: 'Choose a payment method',
				checkout_payment_method_offline: 'Arrange Offline Payment',
				checkout_payment_method_paypal: 'Pay now via Paypal',
				checkout_payment_method_merchant: 'Pay now with a Credit Card',
				checkout_choose_shipping_method: 'Choose a shipping method',
				checkout_shipping_method_local: 'Pick it up locally',
				checkout_shipping_method_ship: 'Specify Shipping Address',
				checkout_shipping_method_ship_paypal: 'Paypal Shipping Address',
				checkout_cc_number: 'Your Credit Card Number',
				checkout_cc_cvv_number: 'CVV Number',
				checkout_cc_expiry_month: 'Expiry Month',
				checkout_cc_expiry_year: 'Expiry Year',
				checkout_cc_billing_postal_code: 'Billing Postal Code',
				checkout_info_name: 'Your Full Name',
				checkout_info_email_address: 'Your Email Address',
				checkout_info_email_check: 'Your Email Address Again',
				checkout_info_phone: 'Your Phone Number',
				checkout_shipping_address: 'Full Shipping Address',
				checkout_shipping_country: 'Shipping Country',
				checkout_shipping_postal_code: 'Shipping Postal Code',
				checkout_billing_country: 'Billing Country',
				checkout_billing_postal_code: 'Billing Postal Code',
				checkout_discount_code: 'Discount Code',
				checkout_discount_code_apply: 'Apply',
				checkout_cart_total: 'Cart Subtotal',
				checkout_cart_discount: 'Discount Amount',
				checkout_cart_subtotal: 'Subtotal',
				checkout_cart_tax: 'Tax',
				checkout_cart_shipping: 'Shipping',
				checkout_cart_handling_i18l: 'International Handling Fee',
				checkout_cart_handling: 'Handling Fee',
				checkout_cart_final_total: 'Purchase Price',
				checkout_cart_no_calculate: '(calculated at time of purchase)',
				checkout_discount_does_not_exist: 'Discount Code Does Not Exist!',
				checkout_discount_expired: 'Discount Code Expired!',
				checkout_discount_maximum_uses_filled: 'Discount Code All Used Up!',
				checkout_discount_cart_minimum_not_fulfilled: 'Cart Minimum not Fulfilled!',
				checkout_paypal_price_zero_title: 'Whoops!',
				checkout_paypal_price_zero_description: 'Paypal purchases must be greater than zero.  Please either choose another form of payment, or contact the photographer directly for help processing this order.',
				checkout_credit_card_error: 'Whoops!',
				checkout_credit_card_card_expired: 'Looks like the card you are trying to use has expired.  Please try another card.',
				checkout_credit_card_cvv_invalid: 'The CVV number (Card Verification Value) you have supplied from the back of your card is either invalid or incorrect.',
				checkout_credit_card_processor_declined: 'Your issuing bank has declined this transaction.  Please contact your bank, or credit company, or try another card.',
				checkout_credit_card_invalid_expiration: 'The expiration date you have supplied is incorrect.  It should consist of a 2 digit month (MM) and a 4 digit year (YYYY).  Please check the values and try again.',
				checkout_credit_card_invalid_card_type: 'We cannot verify the card information you have supplied.  It is coming back as not valid.  Please check the values you have submitted for veracity and try again.',
				checkout_credit_card_zip_code_no_match: 'The postal code supplied does not match what your bank has on file. Please check the values and try again.',
				checkout_credit_card_gateway_decline: 'Our payment processor cannot accept this payment.  Please try a different card, or please check the values you have submitted for veracity and try again.',
				checkout_credit_card_filter_declined: 'Our payment processor cannot accept this payment.  Your payment method does not conform to our security standards.  Please try a different card, or please check the values you have submitted for veracity and try again.',
				checkout_credit_card_temporarily_unavailable: 'Our payment processor is currently unresponsive.  Please try again later.',
				checkout_credit_card_general_error: 'Our payment processor cannot accept this payment.  Please try a different card, or please check the values you have submitted for veracity and try again.',
				_: '',
			},
			invoice: {
				invoice_please_login: 'Invoice View',
				invoice_dialog_orderid: 'Order ID',
				invoice_dialog_email_address: 'Purchaser Email Address',
				invoice_dialog_submit: 'Submit',
				invoice_email_not_matching: 'The email address supplied does not match the one we have on file for this invoice.  Please check again and re-submit.',
				invoice_order_inexistent: 'We have no record of this order on file.  Please check the Order ID again and re-submit.',
				invoice_title: 'INVOICE',
				invoice_order_date_label: 'Order Date:',
				invoice_orderid: 'Order ID:',
				invoice_setid: 'Set ID:',
				invoice_payment_method: 'Payment Method:',
				invoice_payment_offline: 'Offline',
				invoice_payment_paypal: 'Paypal',
				invoice_payment_merchant: 'Credit Card',
				invoice_phone_prefix: 'Phone:',
				invoice_email_prefix: 'Email:',
				invoice_web_prefix: 'Web:',
				invoice_item_label: 'Item',
				invoice_quantity_label: 'Quantity',
				invoice_unit_price_label: 'Unit Price',
				invoice_unit_total_label: 'Unit Total',
				invoice_purchaser_notes: 'Purchase Notes',
				_: '',
			},
			localization: {
				currency_shipping_and_handling_abbreviation: 'S&amp;H',
				currency_decimal_symbol: '.',
				currency_digits_after_decimal_num: '2',
				currency_grouping_symbol: ',',
				currency_digits_per_group_num: '3',
				currency_negative_pattern: '-#',
				currency_display_leading_zeros_bool: 'false',
				currency_leading_zero_digits_num: '0',
				currency_currency_pattern: '$#',
				date_pattern: 'm/d/Y',
				_: '',
			},
			_: {}
		};
		/* public methods
			*/
		this.get = function(group, node) {
			return l10n[group][node];
		};
	}
	return new Constructor();
})();


/**
 * jQuery Plugin to obtain touch gestures from iPhone, iPod Touch and iPad, should also work with Android mobile phones (not tested yet!)
 * Common usage: wipe images (left and right to show the previous or next image)
 *
 * @author Andreas Waltl, netCU Internetagentur (http://www.netcu.de)
 * @version 1.1.1 (9th December 2010) - fix bug (older IE's had problems)
 * @version 1.1 (1st September 2010) - support wipe up and wipe down
 * @version 1.0 (15th July 2010)
 */
(function($) {
   $.fn.touchwipe = function(settings) {
     var config = {
    		min_move_x: 20,
    		min_move_y: 20,
 			wipeLeft: function() { },
 			wipeRight: function() { },
 			wipeUp: function() { },
 			wipeDown: function() { },
			preventDefaultEvents: true
	 };

     if (settings) $.extend(config, settings);

     this.each(function() {
    	 var startX;
    	 var startY;
		 var isMoving = false;

    	 function cancelTouch() {
    		 this.removeEventListener('touchmove', onTouchMove);
    		 startX = null;
    		 isMoving = false;
    	 }

    	 function onTouchMove(e) {
    		 if(config.preventDefaultEvents) {
    			 e.preventDefault();
    		 }
    		 if(isMoving) {
	    		 var x = e.touches[0].pageX;
	    		 var y = e.touches[0].pageY;
	    		 var dx = startX - x;
	    		 var dy = startY - y;
	    		 if(Math.abs(dx) >= config.min_move_x) {
	    			cancelTouch();
	    			if(dx > 0) {
	    				config.wipeLeft();
	    			}
	    			else {
	    				config.wipeRight();
	    			}
	    		 }
	    		 else if(Math.abs(dy) >= config.min_move_y) {
		    			cancelTouch();
		    			if(dy > 0) {
		    				config.wipeDown();
		    			}
		    			else {
		    				config.wipeUp();
		    			}
		    		 }
    		 }
    	 }

    	 function onTouchStart(e)
    	 {
    		 if (e.touches.length == 1) {
    			 startX = e.touches[0].pageX;
    			 startY = e.touches[0].pageY;
    			 isMoving = true;
    			 this.addEventListener('touchmove', onTouchMove, false);
    		 }
    	 }
    	 if ('ontouchstart' in document.documentElement) {
    		 this.addEventListener('touchstart', onTouchStart, false);
    	 }
     });

     return this;
   };

 })(jQuery);


$.fn.scrollpane = function() {
	if ( !classes.Shell.device().tablet ) {
		$(this).mousewheel(function (event, delta, deltaX, deltaY) {
			var self = $(this)[0];
			var canscroll = false;
			if ( self.clientHeight < self.scrollHeight ) {
				canscroll = true;
			}
			if (canscroll) {
				$(this).scrollTop($(this).scrollTop()-(deltaY*10));
			}
			event.stopPropagation();
			event.preventDefault();
		});
	} else {
		if ( $.browser.ipad || $.browser.chrome ) {
			var scrollStartPos = 0;
			$(this).bind('touchstart', function(event) {
				var e = event.originalEvent;
				scrollStartPos = $(this).scrollTop() + e.touches[0].pageY;
			});
			$(this).bind('touchmove', function(event) {
				var e = event.originalEvent;
				$(this).scrollTop(scrollStartPos - e.touches[0].pageY);
				e.preventDefault();
			});
		} else {
			$(this).bind('touchmove', function(event) {
				var self = $(this)[0];
				var canscroll = false;
				if ( self.clientHeight < self.scrollHeight ) {
					canscroll = true;
				}
				event.stopPropagation();
				return canscroll;
			});
		}
	}
    return this;
};

$.fn.progress = function(kill) {
	this.each(function() {
		var $this = $(this),
			data = $this.data(),
			opts = {
				lines: 12,
				length: 5,
				width: 2,
				radius: 5,
				corners: .5,
				rotate: 2,
				color: $this.css('color')
			};
		if (data.spinner) {
			data.spinner.stop();
			delete data.spinner;
			if (kill===true) return;
		}
		if (kill===true) return;
		data.spinner = new Spinner(opts).spin(this);
	});
	return this;
};