PageSourceSearch

https://www.ibc.com.kh/var/cache/2.c5864d52ff15e09bf49f0c960bd1001b.js

js ibc.com.kh collected 2026-10-06 17:34:38 UTC 159,759 bytes, 2,335 lines download raw bytes

1
2function addTXSLoadEvent(func) {
3
4  var oldonload = window.onload;
5
6  if (typeof window.onload != 'function') {
7
8    window.onload = func;
9
10  } else {
11
12    window.onload = function() {
13
14      oldonload();
15
16      func();
17
18    }
19
20  }
21
22}
23
24		function funcTxsInitXB() {
25			jQueryXB(function(){
26	
27jQueryXB('#txs_xbanner_1 > div:eq(0)').uniShow({
28	
29	width: 980,height: 445,onMouseOver:0,textColor:'#FFFFFF',	
30	scrollElParent: '> ul',
31	scrollEl: '> li',
32	
33			numHolderClass: 'switcher',
34		transition: 'fade',switchTime: 5000,duration : 1500,bgColor : '#FFFFFF'	
35	});
36});
37
38jQueryXB(function(){
39	
40jQueryXB('#txs_xbanner_100 > div:eq(0)').uniShow({
41	
42	width: 400,height: 200,onMouseOver:0,textColor:'#FFFFFF',	
43	scrollElParent: '> ul',
44	scrollEl: '> li',
45	
46	transition: 'slideRight',switchTime: 3000,duration : 500,bgColor : '#FFFFFF'	
47	});
48});
49
50
51		}
52		addTXSLoadEvent(funcTxsInitXB);
53	
54var txs_skin_dir = '/skin/common_files';
55
56 var lbl_added = 'Added'; var lbl_error = 'Error'; var redirect_to_cart = false; 
57 var lbl_rated = 'Rated!'; var lbl_error = 'Error'; var lbl_cancel_vote = 'Already rated'; 
58 var lbl_error = 'Error'; var txt_minicart_total_note = 'Order subtotal does not cover discounts and extra costs like shipping charges, etc. The final cost of the order will be calculated at the checkout page.'; 
vendor: 15,190 bytes, lines 59-74
59/*!
60 * jQuery JavaScript Library v1.6.2
61 * http://jquery.com/
62 *
63 * Copyright 2011, John Resig
64 * Dual licensed under the MIT or GPL Version 2 licenses.
65 * http://jquery.org/license
66 *
67 * Includes Sizzle.js
68 * http://sizzlejs.com/
69 * Copyright 2011, The Dojo Foundation
70 * Released under the MIT, BSD, and GPL Licenses.
71 *
72 * Date: Thu Jun 30 14:16:56 2011 -0400
73 */
74(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test("
74 
vendor: 32,333 bytes, lines 74-75
74")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.
75shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.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".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()}
vendor: 7,074 bytes, line 75
75,CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);
vendor: 36,957 bytes, lines 75-76
75if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j
76)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1></$2>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bl(k[i]);else bl(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bn=/alpha\([^)]*\)/i,bo=/opacity=([^)]*)/,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c)),h="number"),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bA(a,b,d);f.swap(a,bu,function(){e=bA(a,b,d)});return e}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cs(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cr("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cr("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cs(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cr("show",1),slideUp:cr("hide",1),slideToggle:cr("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cn||cp(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cl&&(co?(cl=!0,g=function(){cl&&(co(g),e.tick())},co(g)):cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||cp(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var ct=/^t(?:able|d|h)$/i,cu=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cv(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!ct.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
76
77var jQueryXB=jQuery.noConflict(true);;(function(jQueryXB){jQueryXB.fn.uniShow=function(_options){var _options=jQueryXB.extend({width:603,height:90,bannerText:false,bgColor:false,scrollElParent:'> ul',scrollEl:'> li',onMouseOver:null,numHolderClass:false,thumsBG:'#f00',thumsBGActive:'#0f0',transition:'fade',autoStart:true,switchTime:5000,duration:500,CwidthBG:'11px',CheightBG:'11px',NwidthBG:'11px',NheightBG:'11px'},_options);return this.each(function(){var _this=this;_this.opt={width:_options.width,height:_options.height,bannerText:_options.bannerText,bgColor:_options.bgColor,scrollElParent:_options.scrollElParent,scrollEl:_options.scrollEl,numHolderClass:_options.numHolderClass?((_options.numHolderClass==true)?' ':_options.numHolderClass):false,onMouseOver:_options.onMouseOver,pause:false,animated:false,thumbs:null,thumsBG:_options.thumsBG,thumsBGActive:_options.thumsBGActive,CwidthBG:_options.CwidthBG,CheightBG:_options.CheightBG,NwidthBG:_options.NwidthBG,NheightBG:_options.NheightBG,transition:_options.transition,autoStart:_options.autoStart,switchTime:_options.switchTime,duration:_options.duration,textColor:_options.textColor};_this.parent=jQueryXB(_this).find(_this.opt.scrollElParent);_this.els=jQueryXB(_this.opt.scrollEl,_this.parent);jQueryXB(_this).css({position:'relative',overflow:'hidden',width:_this.opt.width,height:_this.opt.height,'background-color':_this.opt.bgColor}).mouseenter(function(){if(_this.opt.onMouseOver){if(_this.opt.timer)clearTimeout(_this.opt.timer);_this.opt.pause=true;}else{};}).mouseleave(function(){_this.opt.pause=false;if(!_this.opt.was_clicked&&_this.opt.onMouseOver){jQueryXB.fn.uniShow.autoslide(_this,_this.els,_this.opt);}});jQueryXB(_this.parent).css({position:'relative',overflow:'hidden',width:_this.opt.width,height:_this.opt.height});jQueryXB(_this.els).css({position:'absolute',top:0,left:0,width:_this.opt.width,height:_this.opt.height});_this.opt.active=0;_this.els.eq(_this.opt.active).css('zIndex',1);_this.opt.next=0;_this.opt.prev=0;_this.opt.is_nav_started=0;if(_this.opt.numHolderClass&&_this.els.length>1){if(!_this.opt.is_nav_started){var Cheight_num=_this.opt.CheightBG.replace("px","");var Nheight_num=_this.opt.NheightBG.replace("px","");var nav_padding=Math.max(Cheight_num,Nheight_num)+8;jQueryXB(_this).css({padding:"0 0 "+nav_padding+"px"});var _html='<ul class="'+_this.opt.numHolderClass+'">';for(var i=0;i<_this.els.length;i++){_html+='<li><a href="#">'+(i+1)+'</a></li>';};_html+='</ul>';_this.opt.thumbs=jQueryXB(_html);jQueryXB(_this).append(_this.opt.thumbs);}
78_this.opt.thumbs=_this.opt.thumbs.find('li');jQueryXB.fn.uniShow.activatePager(_this,_this.opt);_this.opt.thumbs.click(function(){if(_this.opt.thumbs.index(this)!=_this.opt.active&&!_this.opt.animated){_this.opt.animated=true;_this.opt.prev=_this.opt.next;_this.opt.next=_this.opt.thumbs.index(this);jQueryXB.fn.uniShow.activatePager(_this,_this.opt);_this.opt.was_clicked=true;_this.opt.pause=false;var init=jQueryXB.fn.uniShow.transition[_this.opt.transition];if(jQueryXB.isFunction(init))init(_this,_this.els,_this.opt);jQueryXB.fn.uniShow.autoslide(_this,_this.els,_this.opt);}
79return false;});};if(_this.opt.bannerText){_this.bText=jQueryXB('<p style="height:'+(nav_padding-4)+'px;">'+_this.opt.bannerText+'</p>');_this.bText.css({color:_this.opt.textColor});jQueryXB(_this).append(_this.bText);};jQueryXB.fn.uniShow.autoslide(_this,_this.els,_this.opt);});};jQueryXB.fn.uniShow.activatePager=function(_this,opt){if(_this.opt.thumbs){_this.opt.thumbs.eq(_this.opt.next).addClass('active');if(!_this.opt.is_nav_started){_this.opt.thumbs.css({background:_this.opt.thumsBG,width:_this.opt.NwidthBG,height:_this.opt.NheightBG});_this.opt.is_nav_started=1;}
80_this.opt.thumbs.eq(_this.opt.next).css({background:_this.opt.thumsBGActive,width:_this.opt.CwidthBG,height:_this.opt.CheightBG});if(!(_this.opt.prev==_this.opt.next)){_this.opt.thumbs.eq(_this.opt.prev).css({background:_this.opt.thumsBG,width:_this.opt.NwidthBG,height:_this.opt.NheightBG});}};}
81jQueryXB.fn.uniShow.autoslide=function(_this,els,opt){if(opt.switchTime&&!_this.opt.pause){var _delay=0
82if(opt.autoStart&&opt.autoStart!=true){_delay=_this.opt.autoStart;}
83setTimeout(function(){if(!_this.opt.was_clicked){opt.timer=setTimeout(function(){if(!(!opt.next&&!opt.prev)){opt.prev=opt.next;}
84opt.next=opt.active;if(opt.active!=els.length-1)opt.next++;else opt.next=0;_this.opt.animated=true;jQueryXB.fn.uniShow.activatePager(_this,opt);var init=jQueryXB.fn.uniShow.transition[opt.transition];if(jQueryXB.isFunction(init)){init(_this,els,opt)}},_this.opt.switchTime);}else{_this.opt.was_clicked=false;}},_delay);}};jQueryXB.fn.uniShow.transition={};})(jQueryXB);
85jQueryXB.fn.uniShow.transition.fade=function(a,b,c){if(c.timer)clearTimeout(c.timer);b.css({zIndex:1});b.eq(c.active).removeClass('active').css({display:'block',opacity:1,zIndex:2,left:0,top:0}).animate({opacity:0}
85,{duration:c.duration});b.eq(c.next).css({display:'block',opacity:0,left:0,zIndex:3,top:0}).addClass('active').animate({opacity:1},{duration:c.duration,complete:function(){jQueryXB(this).css('opacity','auto');c.active=c.next;c.autoStart=0;c.animated=false;jQueryXB.fn.uniShow.autoslide(a,b,c)}})};
86jQueryXB.fn.uniShow.transition.slideRight=function(_cont,_slides,opt){if(opt.timer)clearTimeout(opt.timer);var _left=opt.width;_slides.css({zIndex:1});_slides.eq(opt.next).css({display:'block',opacity:'',zIndex:3,left:-_left,top:0}).addClass('active').animate({left:0},{queue:false,duration:opt.duration,complete:function(){opt.active=opt.next;opt.autoStart=0;opt.animated=false;jQueryXB.fn.uniShow.autoslide(_cont,_slides,opt);}});_slides.eq(opt.active).removeClass('active').css({display:'block',opacity:'',zIndex:2,left:0,top:0}).animate({left:_left},{queue:false,duration:opt.duration});};
87eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('h 8(){7 t=5;t.1c=j;t.V=0;t.O=j;t.2R=j;t.W=4M;t.3j="4g";t.1E=j;t.1z=R;t.D=j;t.21="5u";t.B=j;t.T=[];t.18=j;t.1H={3i:"5c 2f 2X 5p: J=%, 5o=%",39:"5d 53, <C> 2H 3T a 59 57 2X 20 1s 5M.",41:"2O 5K 5J 5O 5S 2m 5x!\\n%",27:"U Z 4k 4j 3v N P 3w (4s 2m 4r 47 % 5F)",3d:"4E D: %",2V:"4D 4F 4G 4H 4C, 4B 4w 8.16 4v",31:"U 4x a D 4y 4A 4z 1s 3w. 4J 2v:\\n%",2A:"4S 1y() 4R 32 4T N 1s % D."};t.1F=h(){N(5){6(B&&B.1F){B.1F()}2P();6(V==0){9}6(V==1&&!B){V=0;9}11(4,M)}};t.2u=h(3l,1U,3m,2n,2g){N(5){1i{6(1a.2Y.4U.1W(H K("[&?]"+21+"=([^&?]*)"))||1a.4V.1W(H K("(?:;|^)\\\\s*"+21+"=([^;]*)"))){1U+=(1U.S("?")>=0?"&":"?")+21+"="+5.19(K.$1)}}1d(e){}18={y:(3l||"").28(),l:1U,4L:3m,2l:2n!=j?2n:"",2Q:2g!=j?2g:""};B=j;11(1,M);9 M}};t.2i=h(38){6(!5.V){9}5.11(1,M);5.B=j;7 1R=[];7 25=[];6(!5.2K(38,j,1R,25)){9}7 2c=j;6(5.1z&&!25.q){2c=5.18.2l+":"+5.18.2Q+"@"+5.18.l+"|"+1R+"#"+5.18.y;7 1N=8.2x[2c];6(1N){5.2E(1N[0],1N[1]);9 R}}7 17=(5.D||"").2C();6(17&&!8.16[17]){9 5.Y("3d",17)}7 2d=[];7 2U=8.16;G(7 1q 20 2U){7 2F=2U[1q].D;6(!2F){1P}6(17&&1q!=17){1P}7 1h=H 2F(5);8.1e(1h,5.18);8.1e(1h,{L:1R.36("&"),I:25,o:(H 4b().4c())+""+8.3k++,3a:2c,Q:j});7 1L=1h.1r();6(!1L){5.B=1h;8.1w[1h.o]=5;9 M}6(!17){2d[2d.q]="- "+1q.28()+": "+5.2r(1L)}A{9 5.Y(1L)}}9 1q?5.Y("31",2d.36("\\n")):5.Y("2V")};t.1A=h(){N(5){9 B&&B.1A?B.1A():[]}};t.1B=h(4o){N(5){9 B&&B.1B?B.1B():[]}};t.1y=h(3p,3n){N(5){T[T.q]=[3p,3n]}};t.2E=h(2a,1x){N(5){6(1z&&B){8.2x[B.3a]=[2a,1x]}6(2a!==j||1x!==j){W=4;O=2R=2a;1E=1x}A{W=4m;O=2R=1E=j}11(2);11(3);11(4);2P()}};t.2r=h(2I){7 i=0,p=0,E=5.1H[2I[0]];4h((p=E.S("%",p))>=0){7 a=2I[++i]+"";E=E.3g(0,p)+a+E.3g(p+1,E.q);p+=1+a.q}9 E};t.Y=h(E){E=5.2r(3s(E)=="3t"?4O:E);E="8: "+E;6(!F.1Q){24 E}A{6((H 1Q(1,"3f")).5L=="3f"){24 H 1Q(1,E)}A{24 H 1Q(E)}}};t.2K=h(1t,1p,1f,1m){6(1p==j){1p=""}6(1t 2D 3e){7 2T=R;G(7 k 20 1t){7 v=1t[k];6(v 2D 5D){1P}7 1T=1p?1p+"["+5.19(k)+"]":5.19(k);7 3h=v&&v.1V&&v.1V.3X&&v.29;6(3h){7 1u=v.29.28();6(1u=="2f"){2T=M}A{6(1u=="3C"||1u=="5y"||1u=="5s"){}A{9 5.Y("3i",(e.J||""),e.29)}}1m[1m.q]={J:1T,e:v}}A{6(v 2D 3e){5.2K(v,1T,1f,1m)}A{6(v===j){1P}1f[1f.q]=1T+"="+5.19(""+v)}}6(2T&&1m.q>1){9 5.Y("39")}}}A{1f[1f.q]=1t}9 M};t.2P=h(){7 1C=5.B;6(!1C){9}8.1w[1C.o]=R;7 26=1C.Q;6(!26){9}1C.Q=j;7 3b=h(){26.1V.3u(26)};8.1G(3b,50)};t.11=h(s,3c){N(5){6(3c){W=3j=1E=j;O=""}V=s;6(1c){1c()}}};t.19=h(s){9 19(s).58(H K("\\\\+","g"),"%2B")}}8.3k=0;8.13=5b;8.2x={};8.1w={};8.16={};8.3Z=h(){};8.1b={s:F.1G,c:F.37};8.1G=h(1M,2w){F.12=8.1b.s;6(3s(1M)=="3t"){o=F.12(1M,2w)}A{7 o=j;7 2s=h(){1M();2L 8.1b[o]};o=F.12(2s,2w);8.1b[o]=2s}F.12=j;9 o};8.37=h(o){F.12=8.1b.c;2L 8.1b[o];7 r=F.12(o);F.12=j;9 r};8.3v=h(l,3o,3q,3r){7 m=H 5();m.1z=!3r;m.1c=h(){6(m.V==4){3q(m.1E,m.O)}};7 2q=j;6(l.1W(/^((\\w+)\\.)?(P|14)\\s+(.*)/i)){m.D=K.$2?K.$2:j;2q=K.$3;l=K.$4}m.2u(2q,l,M);m.2i(3o)};8.2o=h(d){7 f=5.1w[d.o];2L 5.1w[d.o];6(f){f.2E(d.5h,d.1x)}A{6(f!==R){24"2o(): 5B 5k o: "+d.o}}};8.1e=h(33,15){G(7 k 20 15){33[k]=15[k]}};8.16.40={D:h(m){8.1e(m.1H,{44:"U Z 1g 34 35 D: 1l 3x",2Z:"U Z 1g 1o 1r 2S 54 3K 52 %",42:"U Z 1g D 34 35 D, 14 y: 4Z 55 2m 1l 3x, 5P 1o 32 N 5A 4X",2W:"U Z 1g D: 3H C X 3I 3J 3E 2v 1l 3D"});5.1r=h(){6(5.I.q){9["2W"]}6(5.l.1W(H K("^([a-z]+)://([^\\\\/]+)(.*)","i"))){6(K.$2.2C()==1a.2Y.45.2C()){5.l=K.$3}A{9["2Z",K.$2]}}7 x=j;6(F.1g){1i{x=H 1g()}1d(e){}}A{6(F.1X){1i{x=H 1X("5C.43")}1d(e){}6(!x){1i{x=H 1X("4Q.43")}1d(e){}}}}6(!x){9["44"]}7 23=F.1X||x.1y;6(!5.y){5.y=23?"14":"P"}6(5.y=="P"){6(5.L){5.l+=(5.l.S("?")>=0?"&":"?")+5.L}5.L="";6(5.l.q>8.13){9["27",8.13]}}A{6(5.y=="14"&&!23){9["42"]}}5.l+=(5.l.S("?")>=0?"&":"?")+"8="+(m.1z?"0":5.o)+"-40";7 o=5.o;x.1c=h(){6(x.V!=4){9}x.1c=8.3Z;m.W=j;1i{m.W=x.W;m.O=x.O}1d(e){}6(!m.W){9}1i{4Y("8.2p = h(o) { 7 d = "+m.O+"; d.o = o; 8.2o(d); }")}1d(e){9 m.Y("41",m.O)}8.2p(o);8.2p=j};x.2u(5.y,5.l,M,5.2l,5.2Q);6(23){G(7 i=0;i<m.T.q;i++){x.1y(m.T[i][0],m.T[i][1])}x.1y("5i-5g","5e/5f-5j")}x.2i(5.L);5.Q=j;5.x=x;9 j};5.1A=h(){9 5.x.1A()};5.1B=h(3G){9 5.x.1B(3G)};5.1F=h(){5.x.1F();5.x=j}}};8.16.2j={D:h(m){8.1e(m.1H,{3z:"U Z 1v D: 5n 5l 5m P y",3y:"U Z 1v D: 3H C X 3I 3J 3E 2v 1l 3D"});5.1r=h(){6(5.L){5.l+=(5.l.S("?")>=0?"&":"?")+5.L}5.l+=(5.l.S("?")>=0?"&":"?")+"8="+5.o+"-"+"2j";5.L="";6(!5.y){5.y="P"}6(5.y!=="P"){9["3z"]}
876(5.I.q){9["3y"]}6(5.l.q>8.13){9["27",8.13]}6(m.T.q){9["2A","1v"]}7 f=5,d=1a,s=j,b=d.2h;6(!F.5a){5.Q=s=d.1n("1v");7 2N=h(){s.3B="2O";6(s.1J){s.1J("15",f.l)}A{s.15=f.l}b.2k(s,b.1D)}}A{5.Q=s=d.1n("5q");s.1K.5r="3P";b.2k(s,b.1D);s.3N="5H G 3U.<s"+"5I></"+"2j>";7 2N=h(){s=s.5N("1v")[0];s.3B="2O";6(s.1J){s.1J("15",f.l)}A{s.15=f.l}}}8.1G(2N,10);9 j}}};8.16.C={D:h(m){8.1e(m.1H,{3V:"3Y \\"%\\" 5Q 1l 3L 1o 5G C!",3W:"3Y \\"%\\" 5w 1o a 3K C. 5v X 2H 3L 1o 1s 5t C!",3R:"5z \\"1I\\" 5E 1s C 2H 3T \\"%\\" (G 3U), \\"%\\" 4l."});5.1r=h(){7 f=5;6(!f.y){f.y="14"}f.l+=(f.l.S("?")>=0?"&":"?")+"8="+f.o+"-"+"C";6(m.T.q){9["2A","2f"]}6(f.y=="P"){6(f.L){f.l+=(f.l.S("?")>=0?"&":"?")+f.L}6(f.l.q>8.13){9["27",8.13]}7 p=f.l.2z("?",2);f.l=p[0];f.L=p[1]||""}7 u=j;7 1O=R;6(f.I.q){6(f.I[0].e.29.28()=="2f"){u=f.I[0].e;1O=M;f.I=[]}A{u=f.I[0].e.C;G(7 i=0;i<f.I.q;i++){7 e=f.I[i].e;6(!e.C){9["3V",e.J]}6(e.C!=u){9["3W",e.J]}}}6(f.y=="14"){7 2t="3M/C-2S";7 2J=(u.2b.3S&&u.2b.3S.4t)||(u.2b.1I&&u.2b.1I.3A)||u.1I;6(2J!=2t){9["3R",2t,2J]}}}7 d=u&&(u.48||u.1a)||1a;7 1Z="49"+f.o;7 s=f.Q=d.1n("4a");s.1K.4e="4f";s.1K.4d="2y";s.3N=(u?"":"<C"+(f.y=="14"?" 1I=\\"3M/C-2S\\" y=\\"4p\\"":"")+"></C>")+"<3Q J=\\""+1Z+"\\" o=\\""+1Z+"\\" 1K=\\"4u:3O; 4N:3O; 4K:2y; 4P:3P\\"></3Q>";6(!u){u=f.Q.4I}d.2h.2k(s,d.2h.1D);7 2G=h(e,22){7 1j=[];7 1k=e;6(e.2e){7 1k=d.1n("C");1k.2e(e,R)}G(7 i=0;i<22.q;i++){7 k=22[i][0],v=22[i][1];1j[1j.q]=[k,1k.4W(k)];1k.1J(k,v)}6(e.2e){e.2e(1k,R)}9 1j};7 30=h(){4n.4i=8;7 2M=[];6(!1O){G(7 i=0,n=u.X.q;i<n;i++){2M[i]=u.X[i].J;u.X[i].J=""}}7 1Y=f.L.2z("&");G(7 i=1Y.q-1;i>=0;i--){7 1S=1Y[i].2z("=",2);7 e=d.1n("3C");e.5R="2y";e.J=3F(1S[0]);e.3A=1S[1]!=j?3F(1S[1]):"";u.3X(e)}G(7 i=0;i<f.I.q;i++){f.I[i].e.J=f.I[i].J}7 1j=2G(u,[["51",f.l],["y",f.y],["56",j],["5T",1Z]]);u.4q();2G(u,1j);G(7 i=0;i<1Y.q;i++){u.1D.1V.3u(u.1D)}6(!1O){G(7 i=0,n=u.X.q;i<n;i++){u.X[i].J=2M[i]}}};8.1G(30,46);9 j}}};',62,366,'|||||this|if|var|JsHttpRequest|return||||||th||function||null||url|req||id||length||||_4e|||xr|method||else|_ldObj|form|loader|msg|window|for|new|queryElem|name|RegExp|queryText|true|with|responseText|GET|span|false|indexOf|_reqHeaders|Cannot|readyState|status|elements|_error|use||_changeReadyState|JsHttpRequest_tmp|MAX_URL_LEN|POST|src|LOADERS|_c|_openArgs|escape|document|TIMEOUTS|onreadystatechange|catch|extend|_20|XMLHttpRequest|_11|try|sv|_5b|not|_21|createElement|to|_1f|_f|load|the|_1e|tn|SCRIPT|PENDING|js|setRequestHeader|caching|getAllResponseHeaders|getResponseHeader|_28|lastChild|responseJS|abort|setTimeout|_errors|enctype|setAttribute|style|_12|_2e|_b|_4f|continue|Error|_8|_64|_25|_3|parentNode|match|ActiveXObject|qt|_55|in|session_name|_59|_41|throw|_9|_29|url_too_long|toUpperCase|tagName|_16|attributes|_a|_d|mergeAttributes|FORM|_6|body|send|script|insertBefore|username|is|_5|dataReady|_tmp|_39|_l|_31|_52|open|are|dt|CACHE|hidden|split|no_headers||toLowerCase|instanceof|_dataReady|ldr|_57|must|_18|_53|_hash2query|delete|_60|_4a|JavaScript|_cleanup|password|responseXML|data|_22|_e|no_loaders|xml_no_form_upl|element|location|xml_no_diffdom|_5f|no_loader_matched|work|_3c|or|ActiveX|join|clearTimeout|_7|must_be_single_el|hash|_2a|_2c|unk_loader|Object|test|substring|_26|inv_form_el|statusText|COUNT|_2|_4|_15|_35|_14|_36|_37|typeof|string|removeChild|query|request|supported|script_no_form|script_only_get|value|language|INPUT|implemented|uploading|unescape|_44|direct|using|and|different|belong|multipart|innerHTML|0px|none|iframe|form_el_inv_enctype|encType|be|IE|form_el_not_belong|form_el_belong_diff|appendChild|Element|_dummy|xml|js_invalid|xml_no_headers|XMLHTTP|xml_no|hostname|100|than|ownerDocument|jshr_i_|DIV|Date|getTime|visibility|position|absolute|OK|while|JsHttpRequestGlobal|long|so|given|500|top|_13|post|submit|larger|URL|nodeValue|width|array|check|find|which|process|may|please|all|No|Unknown|loaders|registered|at|firstChild|Notices|overflow|asyncFlag|200|height|arguments|border|Msxml2|cannot|Method|together|search|cookie|getAttribute|correctly|eval|headers||action|domain|used|from|setting|onsubmit|HTML|replace|single|opera|2000|Invalid|If|application|octet|Type|text|Content|stream|pending|supports|only|it|tag|detected|SPAN|display|SELECT|same|PHPSESSID|All|belongs|invalid|TEXTAREA|Attribute|encodings|unknown|Microsoft|Function|of|bytes|any|Workaround|cript|generated|code|description|list|getElementsByTagName|by|needed|does|type|backend|target'.split('|'),0,{}));
88var TXS_search_box_obj = false;
89var TXS_search_div = false;
90var TXS_ss = 0;
91var XD_allow_hide_suggest_box= true;
92var XD_keyword = "";
93var XD_suggestions;
94var TXS_is_searching = false;
95
96function LTrim( value ) {
97	var re = /\s*((\S+\s*)*)/;
98	return value.replace(re, "$1");
99}
100
101function RTrim( value ) {
102	var re = /((\s*\S+)*)\s*/;
103	return value.replace(re, "$1");
104}
105
106function TXS_trim( value ) {
107	return LTrim(RTrim(value));
108}
109
110function TXS_funcAddEvent(obj, event, func) {
111	if (obj.addEventListener) {
112		obj.addEventListener(event, func, false);
113	} else if (obj.attachEvent) {
114		obj.attachEvent("on"+event, func);
115	}
116}
117
118function XD_funcObjectPosition(obj) {
119	var curleft = 0;
120	var curtop = 0;
121	var height = obj.offsetHeight;
122		
123	if (obj.offsetParent) {
124		do {
125			curleft += obj.offsetLeft;
126			curtop += obj.offsetTop;
127		} while (obj = obj.offsetParent);
128	}
129	return [curleft,curtop+height];
130}
131
132function TXS_funcShowLoadingIcon() {
133
134	//TXS_search_box_obj.setAttribute('style', "background-image:url('"+txs_skin_dir+"/modules/Predictive_Search/search-loader.gif'); background-repeat:no-repeat; background-position:right top;");
135	TXS_is_searching = true;
136	 
137}
138
139function TXS_funcHideLoadingIcon() {
140		
141	
142	TXS_is_searching = false;
143}
144
145
146function XD_funcSuggestSearch(e) {
147	var xd_data = new Array();
148	var keyword = "";
149	
150	
151	xd_data['xd_type'] = "ajax";
152	xd_data['xd_keyword'] = TXS_search_box_obj.value;
153	keyword = TXS_trim(xd_data['xd_keyword']);
154
155	
156	if (keyword == "") {
157		XD_allow_hide_suggest_box = true;
158		XD_funcHideSuggestBox(e);
159		XD_keyword = "";
160		
161		return false;
162	}
163	
164	if (XD_keyword == keyword) {
165		return false;
166	}
167	
168	XD_keyword = TXS_trim(TXS_search_box_obj.value);
169	TXS_funcShowLoadingIcon();
170	
171	JsHttpRequest.query(
172		'txs_ajax_ps.php',
173		xd_data,
174		function (result, error) {
175				
176			TXS_ss = 0;
177			TXS_search_div.style.display = "none";
178			TXS_search_div.innerHTML = "";
179			
180			XD_suggestions = result['s'];
181			var TXS_keyword = result['keyword'];
182			var txs_already_hovered = false;
183									
184			if (XD_suggestions.length) {
185								
186				var s_ul  = document.createElement("ul");
187								
188				s_ul.setAttribute('class','XD_predictive_search');
189				s_ul.className = "XD_predictive_search";
190				
191				for (var i = 0; i < XD_suggestions.length; i++) {
192					var s_li = document.createElement("li");
193					s_li.innerHTML = XD_suggestions[i]['html_keyword'];
194					
195					TXS_funcAddEvent(s_li, "mouseover", XD_funcHoverItem);
196					TXS_funcAddEvent(s_li, "click", XD_funcSubmitKeyword);
197					s_li.setAttribute('id', 'sli_'+(i+1));
198					s_li.id = 'sli_'+(i+1);
199					
200					if (TXS_keyword == XD_suggestions[i]['keyword'] && !txs_already_hovered) {
201						s_li.className = "XD_ps_hovered";
202						TXS_ss = i+1;
203						txs_already_hovered = true;
204					}
205					
206					s_ul.appendChild(s_li);
207				}
208				
209				var txs_box_title = document.createElement("div");
210				
211				txs_box_title.className = "TXS_predictive_search_title";
212				txs_box_title.innerHTML = "Search suggestions";
213				TXS_search_div.appendChild(txs_box_title);
214				
215				TXS_search_div.appendChild(s_ul);
216				
217				var position = XD_funcObjectPosition(TXS_search_box_obj);
218		
219				TXS_funcHideLoadingIcon();
220				
221				TXS_search_div.style.display = "";
222				
223				TXS_search_div.style.top = position[1]+"px";
224				TXS_search_div.style.left = position[0]+"px";
225							
226				TXS_search_div.style.width = "auto";	
227				
228				if (TXS_search_div.offsetWidth < TXS_search_box_obj.offsetWidth) {
229					TXS_search_div.style.width = (TXS_search_box_obj.offsetWidth - 1)+"px";
230				}
231			
232			} else {
233				TXS_funcHideLoadingIcon();
234			}
235		}
236	);	
237}
238
239function XD_funcHoverItem(e) {
240	var id_str;
241		
242	if (!e) e = window.event;
243	
244	var element = false;
245	do {
246		if (!element) {
247			e.target? element = e.target : element = e.srcElement; 
248		}
249		
250		id_str = element.id;
251		element = element.parentNode;
252	} while (id_str == "");
253	
254	//e.target? id_str = e.target.id : id_str = e.srcElement.id;
255	//alert(e.target.parentNode.tagName);
256	
257	if (id_str) {
258		var id = id_str.match(/sli_(\d+)/)[1];
259	
260		if (TXS_ss > 0) {
261			document.getElementById("sli_"+TXS_ss).setAttribute('class','');
262			document.getElementById("sli_"+TXS_ss).className = "";
263		}
264		
265		document.getElementById("sli_"+id).setAttribute('class','XD_ps_hovered');
266		document.getElementById("sli_"+id).className = "XD_ps_hovered";
267		TXS_ss = parseInt(id);
268	}
269}
270
271function XD_funcSubmitKeyword(e) {
272	var id_str;
273	
274	if (!e) e = window.event;
275	
276	var element = false;
277	do {
278		if (!element) {
279			e.target? element = e.target : element = e.srcElement; 
280		}
281		
282		id_str = element.id;
283		element = element.parentNode;
284	} while (id_str == "");
285		
286	var id = id_str.match(/sli_(\d+)/)[1];
287	
288	TXS_search_box_obj.value = XD_suggestions[id - 1]['keyword'];
289	
290	if (TXS_funcSubmitForm()) {
291		document.productsearchform.submit();
292	}
293}
294
295function XD_funcInitSuggestions(e) {
296	var evt = e || window.event;
297	var key = evt.keyCode;
298		
299	if (key == 40 && XD_suggestions) {
300		TXS_search_div.style.display = "";
301		if (TXS_ss) {
302			document.getElementById("sli_"+TXS_ss).setAttribute('class','');
303			document.getElementById("sli_"+TXS_ss).className = "";
304		}
305		TXS_ss++;
306		if (TXS_ss > XD_suggestions.length) {
307			TXS_ss--;
308		}
309		
310		if (document.getElementById("sli_"+TXS_ss)) {
311			document.getElementById("sli_"+TXS_ss).setAttribute('class','XD_ps_hovered');
312			document.getElementById("sli_"+TXS_ss).className = "XD_ps_hovered";
313			TXS_search_box_obj.value = XD_suggestions[TXS_ss - 1]['keyword'];
314		}
315		
316	} else if (key == 38  && XD_suggestions) {
317		if (TXS_ss) {
318			document.getElementById("sli_"+TXS_ss).setAttribute('class','');
319			document.getElementById("sli_"+TXS_ss).className = "";
320		}
321		TXS_ss--;
322		if (TXS_ss < 1) {
323			TXS_search_box_obj.value = XD_keyword;
324			TXS_ss = 0;
325			TXS_search_div.style.display = "none";
326		} else {
327			document.getElementById("sli_"+TXS_ss).setAttribute('class','XD_ps_hovered');
328			document.getElementById("sli_"+TXS_ss).className = "XD_ps_hovered";
329			TXS_search_box_obj.value = XD_suggestions[TXS_ss - 1]['keyword'];
330		}
331	} else if (key == 13 && XD_suggestions) {
332		//document.productsearchform.submit();
333	} else if (key == 27 && XD_suggestions) {
334		if (TXS_ss) {
335			document.getElementById("sli_"+TXS_ss).setAttribute('class','');
336			document.getElementById("sli_"+TXS_ss).className = "";
337		}
338		TXS_search_box_obj.value = XD_keyword;
339		TXS_ss = 0;
340		//XD_suggestions = false;
341		TXS_search_div.style.display = "none";
342		window.setTimeout("XD_funcSearchFocus()", 100);
343	} else {
344		window.setTimeout("XD_funcSuggestSearch()", 100);
345	}
346}
347
348function XD_funcSearchFocus() {
349	TXS_search_box_obj.focus();
350}
351
352function XD_funcHideSuggestBox(e) {
353	if (TXS_search_div.style.display == "" && XD_allow_hide_suggest_box) {
354		TXS_search_div.style.display = "none";
355		XD_allow_hide_suggest_box = false;
356		XD_suggestions = false;
357		
358		if (TXS_ss) {
359			document.getElementById("sli_"+TXS_ss).setAttribute('class','');
360			document.getElementById("sli_"+TXS_ss).className = "";
361		}
362		TXS_ss = 0;
363	}
364}
365
366function XD_funcOnSuggestBox(e) {
367	XD_allow_hide_suggest_box = false;	
368}
369
370function XD_funcOutSuggestBox(e) {
371	XD_allow_hide_suggest_box = true;
372}
373
374
375function TXS_funcSubmitForm() {
376	if (!TXS_is_searching) {
377		if (XD_suggestions && XD_suggestions[TXS_ss - 1]) {
378			if (XD_suggestions[TXS_ss - 1]['type'] == "U") {
379				document.location = "txs_ajax_ps.php?mode=popularity&id="+XD_suggestions[TXS_ss - 1]['id']+"&type="+XD_suggestions[TXS_ss - 1]['s_type']+"&keyword="+XD_suggestions[TXS_ss - 1]['url_keyword'];
380				
381				return false;
382			}
383		}
384			
385		return true;
386	} else {
387		return false;
388	}
389}
390
391function TXS_funcInitPredictiveSearch() {
392	TXS_search_box_obj = document.getElementById('TXS_PS_search');
393		
394	if (TXS_search_box_obj) {
395		TXS_search_div  = document.createElement("div");
396				
397		var ps_input  = document.createElement("input");
398		ps_input.setAttribute('type','hidden');
399		ps_input.setAttribute('name','txs_ps_mode');
400		ps_input.setAttribute('value','Y');
401				
402		
403		TXS_search_div.className = "XD_predictive_search_box";
404		TXS_search_div.setAttribute('style','display:none;');
405		
406		TXS_funcAddEvent(TXS_search_box_obj, 'keydown', XD_funcInitSuggestions);
407			
408		TXS_funcAddEvent(TXS_search_div, 'mouseout', XD_funcOutSuggestBox);
409		TXS_funcAddEvent(TXS_search_div, 'mouseover', XD_funcOnSuggestBox);
410		
411		TXS_funcAddEvent(TXS_search_box_obj, 'mouseout', XD_funcOutSuggestBox);
412		TXS_funcAddEvent(TXS_search_box_obj, 'mouseover', XD_funcOnSuggestBox);
413		
414		document.body.appendChild(TXS_search_div);
415		document.onclick = XD_funcHideSuggestBox;
416	}
417}
418
419
420function addTXSLoadEvent(func) {
421
422  var oldonload = window.onload;
423
424  if (typeof window.onload != 'function') {
425
426    window.onload = func;
427
428  } else {
429
430    window.onload = function() {
431
432      oldonload();
433
434      func();
435
436    }
437
438  }
439
440}
441addTXSLoadEvent(TXS_funcInitPredictiveSearch);
442/* vim: set ts=2 sw=2 sts=2 et: */
443/**
444 * Ajax add to cart widget
445 * 
446 * @category   X-Cart
447 * @package    X-Cart
448 * @subpackage JS Library
449 * @author     Ruslan R. Fazlyev <[email protected]> 
450 * @version    $Id: ajax.add2cart.js,v 1.2 2010/05/27 13:43:06 igoryan Exp $
451 * @link       http://www.x-cart.com/
452 * @see        ____file_see____
453 */
454
455// Action
456ajax.actions.add2cart = function(productid, quantity, options, callback) {
457  if (!productid)
458    return false;
459
460  var data = {
461    mode: 'add',
462    productid: productid,
463    amount: quantity
464  };
465
466  if (options) {
467    for (var i in options) {
468      if (hasOwnProperty(options, i)) {
469        data['product_options[' + i + ']'] = options[i];
470      }
471    }
472  }
473
474  var request = {
475    type: 'POST',
476    url: xcart_web_dir + '/cart.php',
477    data: data
478  };
479
480  if (callback) {
481    request.success = function(html, i, r) {
482      return callback(true, html, i, r);
483    };
484    request.error = function(obj, txt, err, i) {
485      return callback(false, obj, txt, err, i);
486    }
487  }
488
489  return ajax.query.add(request);
490}
491
492// Widget
493ajax.widgets.add2cart = function(form) {
494  if (!form || typeof(form.tagName) == 'undefined' || !form.tagName || form.tagName.toUpperCase() != 'FORM')
495    return false;
496
497  if (!form.add2cartWidget) {
498    new ajax.widgets.add2cart.obj(form);
499  }
500
501  return form.add2cartWidget.add2cart();
502}
503
504ajax.widgets.add2cart.obj = function(form) {
505
506  this.savedData = {};
507
508  this.form = $(form);
509
510  form.add2cartWidget = this;
511
512  this._prepareWidget();
513	
514  var s = this;
515  $(ajax.messages).bind(
516    'updateBuyNowBlock',
517    function(e, data) {
518      return s._callbackUpdateBuyNowBlock(data);
519    }
520  );
521
522  $(ajax.messages).bind(
523    'updateProductDetailsBlock',
524    function(e, data) {
525      return s._callbackUpdateBuyNowBlock(data);
526    }
527  );
528
529  return true;
530}
531
532// Options
533ajax.widgets.add2cart.obj.prototype.ttl = 3000;
534
535// Property
536ajax.widgets.add2cart.obj.prototype.button = false;
537ajax.widgets.add2cart.obj.prototype.form = false;
538
539ajax.widgets.add2cart.obj.prototype.state = 1;
540ajax.widgets.add2cart.obj.prototype.productid = false;
541
542ajax.widgets.add2cart.obj.prototype.savedData = {};
543ajax.widgets.add2cart.obj.prototype.isClicked = false;
544
545// Widget :: check - ready widget or not
546ajax.widgets.add2cart.obj.prototype.isReady = function() {
547  return this.form.length > 0 && this.productid > 0 && this.box.length > 0;
548}
549
550// Widget :: add to cart
551ajax.widgets.add2cart.obj.prototype.add2cart = function() {
552  if (!this.isReady())
553    return false;
554
555  if (this.isClicked || this.state == 2 || this.state == 3 || this.state == 4)
556    return true;
557
558  this.isClicked = true;
559
560  this.changeState(2);
561
562  var s = this;
563  
564
565  setTimeout(
566    function() {
567      s.isClicked = false;
568    },
569    100
570  );
571
572  return ajax.query.add(
573    {
574      type: 'POST',
575      url: xcart_web_dir + '/cart.php',
576      data: this.form.serialize(),
577      success: function(a, b, c, d) {
578        return s.callback(true, a, b, c, d);
579      },
580      error: function(a, b, c, d) {
581        return s.callback(false, a, b, c, d);
582      }
583    }
584  ) !== false;
585}
586
587// Widget :: ajax callback
588ajax.widgets.add2cart.obj.prototype.callback = function(state, a, b, c, d) {
589  if (!this.isReady())
590    return false;
591
592  var s = false;
593  if (state && c.messages) {
594    for (var i = 0; i < c.messages.length; i++) {
595      if (c.messages[i].name == 'cartChanged' && c.messages[i].params.status == 1 && c.messages[i].params.changes) {
596        for (var p in c.messages[i].params.changes) {
597          if (hasOwnProperty(c.messages[i].params.changes, p) && c.messages[i].params.changes[p].productid == this.productid && c.messages[i].params.changes[p].changed != 0)
598            s = true;
599        }
600      }
601    }
602  }
603
604  this.changeState(s ? 3 : 4);
605
606  return true; 
607}
608
609// Widget :: check button element
610ajax.widgets.add2cart.obj.prototype.checkButton = function(button) {
611  if (!button)
612    button = this.button;
613
614  if (!button || typeof(button.tagName) == 'undefined')
615    return false;
616
617  var tn = button.tagName.toUpperCase();
618
619  if (tn == 'BUTTON' && $(button).children('span.button-right').children('span.button-left').length == 1) {
620    return true;
621
622  } else if (tn == 'DIV' && $(button).children('div').length == 1) {
623    return true;
624  }
625
626  return false;
627}
628
629// Widget :: changes widget status
630//  1 - idle
631//  2 - background request
632//  3 - success message
633//  4 - error message
634//  5 - submit form without background request
635ajax.widgets.add2cart.obj.prototype.changeState = function(s) {
636  if (this.state == s)
637    return true;
638
639  var res = false;
640
641  if (this.button.length > 0) {
642
643    switch (this.state) {
644      case 2:
645        res = this.cleanWaitState(s);
646        break;
647
648      case 3:
649        res = this.cleanAddedState(s);
650        break;
651
652      case 4:
653        res = this.cleanErrorState(s);
654        break;
655
656      default:
657        res = this.cleanIdleState(s);
658    }
659
660    if (!res)
661      return false;
662
663  } else {
664    res = true;
665  }
666
667  this.state = s;
668  var o = this;
669
670  if (this.button.length > 0) {
671    switch (s) {
672      case 2:
673        res = this.doWaitState();
674        break;
675
676      case 3:
677        res = this.doAddedState();
678        setTimeout(
679          function() {
680            return o.changeState(1);
681          },
682          this.ttl
683        );
684        break;
685
686      case 4:
687        res = this.doErrorState();
688        setTimeout(
689          function() {
690            o.changeState(5);
691            o.submitForm(true);
692          },
693          this.ttl
694        );
695        break;
696
697      default:
698        res = this.doIdleState();
699    }
700
701  }
702
703  return res;
704}
705
706// Widget :: change state to Idle
707ajax.widgets.add2cart.obj.prototype.doIdleState = function() {
708  if (this.savedData) {
709    switch (this.savedData.type) {
710      case 'b':
711        $('.button-left', this.button).html(this.savedData.html);
712        break;
713
714      case 'd':
715        $('div', this.button).html(this.savedData.html);
716        break;
717
718      default:
719        return false;
720    }
721  }
722
723  return true;
724}
725
726// Widget :: remove Idle state
727ajax.widgets.add2cart.obj.prototype.cleanIdleState = function() {
728  this.savedData = {
729    type: false,
730    box: false,
731    html: false,
732    width: false,
733    height: false
734  };
735
736  switch (this.button.get(0).tagName.toUpperCase()) {
737    case 'BUTTON':
738      this.savedData.type = 'b';
739      this.savedData.box = $('.button-left', this.button);
740      break;
741
742    case 'DIV':
743      this.savedData.type = 'b';
744      this.savedData.box = $('div', this.button);
745      break;
746
747    default:
748      return false;
749  }
750
751  this.savedData.html = this.savedData.box.html();
752  this.savedData.width = this.savedData.box.width();
753  this.savedData.height = this.savedData.box.height();
754
755  return true;
756}
757
758// Widget :: change state to Wait
759ajax.widgets.add2cart.obj.prototype.doWaitState = function() {
760  this.button.addClass('do-add2cart-wait');
761
762  var span = document.createElement('SPAN');
763  span.className = 'progress';
764  span.style.width = this.savedData.width + 'px';
765  span.style.height = this.savedData.height + 'px';
766
767  this._freezeBox();
768
769  this.savedData.box.empty().append(span);
770
771  return true;
772}
773
774// Widget :: remove Wait state
775ajax.widgets.add2cart.obj.prototype.cleanWaitState = function() {
776  this.button.removeClass('do-add2cart-wait').remove('.progress');
777
778  this._unFreezeBox();
779
780  return true;
781}
782
783// Widget :: change state to Added
784ajax.widgets.add2cart.obj.prototype.doAddedState = function() {
785  this.button.addClass('do-add2cart-success');
786
787  this._freezeBox();
788
789  if (this.savedData.box)
790    this.savedData.box.html(lbl_added);
791
792  return true;
793}
794
795// Widget :: remove Added state
796ajax.widgets.add2cart.obj.prototype.cleanAddedState = function() {
797  this.button.removeClass('do-add2cart-success');
798
799  this._unFreezeBox();
800
801  return true;
802}
803
804// Widget :: change state to Error
805ajax.widgets.add2cart.obj.prototype.doErrorState = function() {
806  this.button.addClass('do-add2cart-error');
807
808  this._freezeBox();
809
810  if (this.savedData.box)
811    this.savedData.box.html(lbl_error);
812
813  return true;
814}
815
816// Widget :: remove Error state
817ajax.widgets.add2cart.obj.prototype.cleanErrorState = function() {
818  this.button.removeClass('do-add2cart-error');
819
820  this._unFreezeBox();
821
822  return true;
823}
824
825// Widget :: submit form withour background request
826ajax.widgets.add2cart.obj.prototype.submitForm = function(isError) {
827  if (!this.isReady())
828    return false;
829
830  if (isError && !this.form.get(0).elements.namedItem('ajax_error')) {
831    var inp = document.createElement('INPUT');
832    inp.type = 'hidden';
833    inp.name = 'ajax_error';
834    inp.value = 'Y';
835
836    this.form.append(inp);
837  }
838
839  this.form.get(0).submit();
840
841  return true;
842}
843
844/* Private methods */
845
846// Widget :: prepare widget
847ajax.widgets.add2cart.obj.prototype._prepareWidget = function() {
848
849  if (this.form.length == 0)
850    return false;
851
852  // Get mode: do add to cart if mode == 'add', else cancel
853  var m = this.form.get(0).elements.namedItem('mode');
854  if (m && m.value != 'add') {
855    return false;
856  }
857
858  // Get box
859  this.box = this.form.parents().filter('.details,.product-cell');
860
861  // Get button
862  this.button = $('.add-to-cart-button', this.form).eq(0);
863
864  // Get productid
865  var p = this.form.get(0).elements.namedItem('productid');
866  if (p) {
867    this.productid = parseInt(p.value);
868    if (isNaN(this.productid) || this.productid < 1)
869      this.productid = false;
870  }
871
872  return true;
873}
874
875// Widget :: updateBuyNowBlock event listener
876ajax.widgets.add2cart.obj.prototype._callbackUpdateBuyNowBlock = function(data) {
877  this.savedData = {};
878  return true;
879}
880
881// Widget :: freeze button width
882ajax.widgets.add2cart.obj.prototype._freezeBox = function() {
883  if (this.savedData.box)
884    this.savedData.box.width(this.savedData.width);
885
886  return true;
887}
888
889// Widget :: unfreeze button width
890ajax.widgets.add2cart.obj.prototype._unFreezeBox = function() {
891  if (this.savedData.box)
892    this.savedData.box.width('auto');
893
894  return true;
895}
896
897/* vim: set ts=2 sw=2 sts=2 et: */
898/**
899 * Ajax product widget
900 * 
901 * @category   X-Cart
902 * @package    X-Cart
903 * @subpackage JS Library
904 * @author     Ruslan R. Fazlyev <[email protected]> 
905 * @version    ec2ca39cb71eff2cf859558b4f67f561a1b9efe4, v2 (xcart_4_4_0_beta_2), 2010-05-27 13:43:06, ajax.product.js, igoryan
906 * @link       http://www.x-cart.com/
907 * @see        ____file_see____
908 */
909
910// Widget :: factory
911ajax.widgets.product = function(elm) {
912  if (!elm)
913    return false;
914
915  if (elm.constructor == Array) {
916    if (!elm[0].productWidget)
917      new ajax.widgets.product.obj(elm);
918
919  } else if (elm.tagName) {
920    if (!elm.productWidget)
921      new ajax.widgets.product.obj(elm);
922
923  } else {
924    return false;
925  }
926    
927  return true;
928}
929
930// Widget :: object
931ajax.widgets.product.obj = function(elm) {
932  this.elm = $(elm);
933
934  var s = this;
935
936  this.elm.each(
937    function() {
938      this.productWidget = s;
939    }
940  );
941
942  this._prepareElement();
943
944  if (isNaN(this.productid) || this.productid < 1)
945    this.productid = false;
946
947  $(ajax.messages).bind(
948    'cartChanged',
949    function(e, data) {
950      return s._add2cartListener(data);
951    }
952  );
953
954  this._callbackGPI = function(state, a, b, c) {
955    return s.callbackGPI(state, a, b, c);
956  }
957  this._callbackBNB = function(responseText, textStatus, XMLHttpRequest) {
958    return s.callbackBNB(responseText, textStatus, XMLHttpRequest);
959  }
960  this._callbackPDB = function(responseText, textStatus, XMLHttpRequest) {
961    return s.callbackPDB(responseText, textStatus, XMLHttpRequest);
962  }
963
964}
965
966ajax.widgets.product.obj.prototype.elm = false;
967
968ajax.widgets.product.obj.prototype.type = false;
969ajax.widgets.product.obj.prototype.productid = false;
970
971// Widget :: check object status
972ajax.widgets.product.obj.prototype.isReady = function() {
973  return this.type && this.productid;
974}
975
976// Widget :: update product info
977ajax.widgets.product.obj.prototype.updateBuyNowBlock = function() {
978  if (!this.isReady())
979    return false;
980
981  var o = this;
982  var f = function() {
983    return ajax.core.loadBlock(
984      $('.buy-now', o.elm),
985      'buy_now',
986      {
987        productid: o.productid,
988        is_featured_product: o.is_featured_product,
989        type: o.type
990      },
991      o._callbackBNB
992    );
993  }
994
995  return this._checkBlockButton(f);
996}
997
998// Widget :: update product details block
999ajax.widgets.product.obj.prototype.updateProductDetailsBlock = function() {
1000  if (!this.isReady())
1001    return false;
1002
1003  data = {
1004    productid: this.productid
1005  };
1006  var form = $('form', this.elm).get(0);
1007  if (form) {
1008    for (var i = 0; i < form.elements.length; i++) {
1009      if (form.elements[i].name) {
1010        var m = form.elements[i].name.match(/^product_options\[(\d+)\]$/);
1011        if (m) {
1012          data['options[' + m[1] + ']'] = form.elements[i].value;
1013        }
1014      }
1015    }
1016  }
1017
1018  var m = (self.location + '').match(/&wishlistid=(\d+)/);
1019  if (m)
1020    data['wishlistid'] = m[1];
1021
1022  var m = (self.location + '').match(/&pconf=(\d+)/);
1023  if (m)
1024    data['pconf'] = m[1];
1025
1026  var m = (self.location + '').match(/&slot=(\d+)/);
1027  if (m)
1028    data['slot'] = m[1];
1029
1030  var o = this;
1031  var f = function() {
1032    ajax.core.loadBlock(
1033      $('.details', o.elm).eq(0),
1034      'product_details',
1035      data,
1036      o._callbackPDB
1037    );
1038  }
1039
1040  return this._checkBlockButton(f);
1041}
1042
1043// Widget :: ajax callback (buy now block update)
1044ajax.widgets.product.obj.prototype.callbackBNB = function(responseText, textStatus, XMLHttpRequest) {
1045  if (XMLHttpRequest.status == 200) {
1046    ajax.core.trigger(
1047      'updateBuyNowBlock',
1048      {
1049        productid: this.productid,
1050        element: this.elm
1051      }
1052    );
1053
1054    $('div.dropout-container div.drop-out-button').not('.activated-widget').each(initDropOutButton);
1055  }
1056
1057  return true;
1058}
1059
1060// Widget :: ajax callback (product details block update)
1061ajax.widgets.product.obj.prototype.callbackPDB = function(responseText, textStatus, XMLHttpRequest) {
1062  if (XMLHttpRequest.status == 200) {
1063    ajax.core.trigger(
1064      'updateProductDetailsBlock',
1065      {
1066        productid: this.productid,
1067        element: this.elm
1068      }
1069    );
1070
1071    $('div.dropout-container div.drop-out-button').not('.activated-widget').each(initDropOutButton);
1072  }
1073
1074  return true;
1075}
1076
1077// Widget :: prepare element
1078ajax.widgets.product.obj.prototype._prepareElement = function() {
1079  this.productid = false;
1080  this.type = false;
1081  this.is_free_product = false;
1082  this.is_featured_product = false;
1083
1084  var form_elements = $('form', this.elm);
1085  if (form_elements.length > 0) {
1086    tmp = form_elements.get(0).elements.namedItem('productid');
1087    if (tmp)
1088      this.productid = parseInt(tmp.value);
1089
1090    if (isNaN(this.productid) || this.productid < 1)
1091      this.productid = false;
1092
1093    tmp = form_elements.get(0).elements.namedItem('is_free_product');
1094    if (tmp)
1095      this.is_free_product = parseInt(tmp.value);
1096
1097    if (isNaN(this.is_free_product))
1098      this.is_free_product = false;
1099
1100    tmp = form_elements.get(0).elements.namedItem('is_featured_product');
1101    if (tmp)
1102      this.is_featured_product = tmp.value;
1103  }
1104
1105  if (this.elm.is('div.item')) {
1106    this.type = 'list';
1107
1108  } else if (this.elm.filter('td').length == this.elm.length) {
1109    this.type = 'matrix';
1110
1111  } else if (this.elm.is('.product-details')) {
1112    this.type = 'details';
1113  }
1114
1115  return true;
1116}
1117
1118/* Private */
1119
1120// Widget :: add2cart message listener
1121ajax.widgets.product.obj.prototype._add2cartListener = function(data) {
1122  if (data.status == 1 && data.changes) {
1123    for (var i in data.changes) {
1124      if (hasOwnProperty(data.changes, i) && data.changes[i].productid == this.productid && data.changes[i].changed != 0) {
1125
1126        switch (this.type) {
1127          case 'list':
1128          case 'matrix':
1129            this.updateBuyNowBlock();
1130            break;
1131
1132          case 'details':
1133            this.updateProductDetailsBlock();
1134            break;
1135        }
1136        break;
1137      }
1138    }
1139  }
1140
1141  return true;
1142}
1143
1144ajax.widgets.product.obj.prototype._checkBlockButton = function(f) {
1145  if ($('.do-add2cart-wait, .do-add2cart-success', this.elm).length > 0) {
1146    var o = this;
1147    return setTimeout(
1148      function() {
1149        return o._checkBlockButton(f);
1150      },
1151      1000
1152    );
1153
1154  } else {
1155    return f();
1156  }
1157}
1158
1159/* vim: set ts=2 sw=2 sts=2 et: */
1160/**
1161 * Ajax Products list widget
1162 * 
1163 * @category   X-Cart
1164 * @package    X-Cart
1165 * @subpackage JS Library
1166 * @author     Ruslan R. Fazlyev <[email protected]> 
1167 * @version    ec2ca39cb71eff2cf859558b4f67f561a1b9efe4, v2 (xcart_4_4_0_beta_2), 2010-05-27 13:43:06, ajax.products.js, igoryan
1168 * @link       http://www.x-cart.com/
1169 * @see        ____file_see____
1170 */
1171
1172ajax.widgets.products = function(elm) {
1173  if (!elm) {
1174    elm = $('.products');
1175
1176  } else {
1177    elm = $(elm);
1178  }
1179
1180  elm.each(
1181    function() {
1182      if (!this.productsWidget)
1183        new ajax.widgets.products.obj(this);
1184    }
1185  );
1186
1187  return true;
1188}
1189
1190ajax.widgets.products.obj = function(elm) {
1191  this.elm = elm;
1192  this.elm$ = $(elm);
1193
1194  elm.productsWidget = this;
1195
1196  this.type = false;
1197
1198  if (this.elm$.hasClass('products-list')) {
1199    this.type = 'list';
1200
1201  } else if (this.elm$.hasClass('products-table')) {
1202    this.type = 'matrix';
1203
1204  }
1205
1206  this._getProducts();
1207}
1208
1209ajax.widgets.products.obj.prototype.elm = false;
1210ajax.widgets.products.obj.prototype.products = [];
1211ajax.widgets.products.obj.prototype.type = false;
1212
1213ajax.widgets.products.obj.prototype.isReady = function() {
1214  return this.type && this.products.length > 0 && this.checkElement();
1215}
1216
1217ajax.widgets.products.obj.prototype.checkElement = function(elm) {
1218  if (!elm)
1219    elm = this.elm;
1220
1221  return typeof(elm) != 'undefiend' && elm.tagName && $(elm).hasClass('products');
1222}
1223
1224/* Private */
1225
1226// Widget :: get products
1227ajax.widgets.products.obj.prototype._getProducts = function() {
1228  if (!ajax.widgets.product)
1229    return false;
1230
1231  this.products = [];
1232
1233  var arr = [];
1234
1235  if (this.type == 'list') {
1236
1237    // Plain list
1238    arr = this.elm$.children('.item').get();
1239
1240  } else if (this.type == 'matrix') {
1241
1242    // Matrix
1243    var vSize = -1;
1244    for (var i = 1; i < this.elm.rows.length && vSize < 0; i++) {
1245      if ($(this.elm.rows[i]).hasClass('product-name-row'))
1246        vSize = i;
1247    }
1248
1249    if (vSize < 0)
1250      vSize = this.elm.rows.length;
1251
1252    var hSize = this.elm.rows[0].cells.length;
1253    var size = vSize * hSize;
1254
1255    for (var r = 0; r < this.elm.rows.length; r++) {
1256      for (var c = 0; c < this.elm.rows[r].cells.length; c++) {
1257        var pn = Math.floor(r / vSize) * vSize + c;
1258        if (!arr[pn])
1259          arr[pn] = [];
1260
1261        arr[pn][arr[pn].length] = this.elm.rows[r].cells[c];
1262      }
1263    } 
1264
1265  }
1266
1267  for (var i = 0; i < arr.length; i++) {
1268    var p = new ajax.widgets.product(arr[i]);
1269    this.products[this.products.length] = p;
1270  }
1271
1272  return this.products.length > 0;
1273}
1274
1275
1276// onload handler
1277$(ajax).bind(
1278  'load',
1279  function() {
1280    return ajax.widgets.products();
1281  }
1282);
1283
1284/* vim: set ts=2 sw=2 sts=2 et: */
1285/**
1286 * Next-Previous products
1287 *
1288 * @category   X-Cart
1289 * @package    X-Cart
1290 * @subpackage JS Library
1291 * @author     Ruslan R. Fazlyev <[email protected]>
1292 * @version    a8caf1146a82c7e25bc23adbf5c4c2eea754bed1, v1 (xcart_4_6_0), 2013-05-24 14:56:30, np_products.js, random
1293 * @link       http://www.x-cart.com/
1294 * @see        ____file_see____
1295 */
1296$('.np-products ul li a').hover(
1297  function() {
1298    what = $(this).attr('class');
1299    if (!npProducts[what]['loaded']) {
1300      npProducts[what]['loaded'] = true;
1301      ajax.core.loadBlock(
1302        $('#np-popup-'+what),
1303        'np_product',
1304        {productid: npProducts[what]['id']}
1305      );
1306    }
1307    $('#np-popup-'+what).stop(true, true).fadeIn(100);
1308  },
1309  function() {
1310    $('#np-popup-'+$(this).attr('class')).delay(100).fadeOut(100);
1311  }
1312);
1313$('.np-products .popup').hover(
1314  function() {
1315    $(this).stop(true, true).show();
1316  },
1317  function() {
1318    $(this).delay(100).fadeOut(100);
1319  }
1320);
1321
1322/* vim: set ts=2 sw=2 sts=2 et: */
1323/**
1324 * Rating bar widget
1325 * 
1326 * @category   X-Cart
1327 * @package    X-Cart
1328 * @subpackage JS Library
1329 * @author     Ruslan R. Fazlyev <[email protected]> 
1330 * @version    $Id: ajax.rating.js,v 1.2.2.1 2010/11/22 10:27:34 aim Exp $
1331 * @link       http://www.x-cart.com/
1332 * @see        ____file_see____
1333 */
1334
1335ajax.widgets.rating = function(elm) {
1336  if (!elm) {
1337    elm = $('.creviews-rating-box');
1338
1339  } else {
1340    elm = $(elm);
1341  }
1342
1343  elm.each(
1344    function() {
1345      if (!this.ratingWidget)
1346        new ajax.widgets.rating.obj(this);
1347    }
1348  );
1349
1350  return true;
1351}
1352
1353ajax.widgets.rating.obj = function(elm) {
1354  this.elm = elm;
1355  this.elm$ = $(elm);
1356
1357  elm.ratingWidget = this;
1358
1359  var s = this;
1360
1361  this._rate = function() {
1362    return !s.rate(this);
1363  }
1364
1365  this._callbackUB = function(responseText, textStatus, XMLHttpRequest) {
1366    return s._callbackUpdateBar(responseText, textStatus, XMLHttpRequest);
1367  }
1368
1369  this._callbackR = function(state, a, b, c, d) {
1370    return s._callbackRate(state, a, b, c, d);
1371  }
1372
1373  this._prepareWidget();
1374
1375  this.state = 1;
1376}
1377
1378// Options
1379ajax.widgets.rating.obj.prototype.ttl = 3000;
1380
1381// Property
1382ajax.widgets.rating.obj.prototype.elm = false;
1383
1384ajax.widgets.rating.obj.prototype.productid = false;
1385
1386ajax.widgets.rating.obj.prototype.state = false;
1387ajax.widgets.rating.obj.prototype.isRated = false;
1388
1389// Widget :: check widget status
1390ajax.widgets.rating.obj.prototype.isReady = function() {
1391  return this.productid;
1392}
1393
1394// Widget :: do rate
1395ajax.widgets.rating.obj.prototype.rate = function(item) {
1396  if (!item || !this.isReady() || this.isRated)
1397    return false;
1398
1399  this.changeState(2);
1400
1401  var s = this;
1402  return ajax.query.add(
1403    {
1404      type: 'POST',
1405      data: '',
1406      url: $(item).attr('href'),
1407      success: function(a, b, c, d) {
1408        return s._callbackR(true, a, b, c, d);
1409      },
1410      error: function(a, b, c, d) {
1411        return s._callbackR(false, a, b, c, d);
1412      }
1413    }
1414  ) !== false;
1415}
1416
1417// Widget :: update bar
1418ajax.widgets.rating.obj.prototype.updateBar = function() {
1419  if (!this.isReady())
1420    return false;
1421
1422  if (this.state == 1)
1423    this.changeState(2);
1424
1425  if (typeof(window.creviews_hover_loaded) && creviews_hover_loaded)
1426    creviews_hover_loaded = false;
1427
1428  var data = {
1429    productid: this.productid
1430  };
1431  if (this.pconf)
1432    data.pconf = this.pconf;
1433
1434  return ajax.core.loadBlock(this.elm$, 'rating_bar', data, this._callbackUB);
1435}
1436
1437// Widget :: changes widget state
1438//  1 - idle
1439//  2 - wait
1440//  3 - success rated
1441//  4 - error
1442//  5 - cancel rate: already rated
1443ajax.widgets.rating.obj.prototype.changeState = function(state, msg) {
1444  if (this.state == state)
1445    return true;
1446
1447  var res = false;
1448
1449  switch (this.state) {
1450    case 2:
1451      res = this._cleanWaitState();
1452      break;
1453
1454    case 3:
1455      res = this._cleanRatedState();
1456      break;
1457
1458    case 4:
1459      res = this._cleanErrorState();
1460      break;
1461
1462    case 5:
1463      res = this._cleanCancelState();
1464      break;
1465
1466    default:
1467      res = this._cleanIdleState();
1468  }
1469
1470  if (!res)
1471    return false;
1472
1473  this.state = state;
1474  var o = this;
1475
1476  switch (state) {
1477    case 2:
1478      res = this._doWaitState();
1479      break;
1480
1481    case 3:
1482      res = this._doRatedState();
1483      break;
1484
1485    case 4:
1486      res = this._doErrorState();
1487      setTimeout(
1488        function() {
1489          return o.changeState(1);
1490        },
1491        this.ttl
1492      );
1493      break;
1494
1495    case 5:
1496      res = this._doCancelState();
1497      break;
1498
1499    default:
1500      res = this._doIdleState();
1501  }
1502
1503  return res;
1504}
1505
1506/* Private */
1507
1508// Widget :: prepare widget
1509ajax.widgets.rating.obj.prototype._prepareWidget = function() {
1510
1511  // Check stars
1512  var links = $('.creviews-vote-bar a', this.elm$);
1513  if (links.length == 0)
1514    return false;
1515
1516  // Detect productid
1517  var m = links.get(0).href.match(/productid=(\d+)/)
1518  if (!m)
1519    return false;
1520
1521  this.productid = parseInt(m[1]);
1522  if (isNaN(this.productid) || this.productid < 1) {
1523    this.productid = false;
1524    return false;
1525  }
1526
1527  // Detect Product Configurator properties
1528  m = links.get(0).href.match(/pconf=(\d+)/)
1529  if (m) {
1530    this.pconf = parseInt(m[1]);
1531    if (isNaN(this.pconf) || this.pconf < 1)
1532      this.pconf = false;
1533  }
1534
1535  links.click(this._rate);
1536
1537  return true;
1538}
1539
1540// Widget :: callback rate action
1541ajax.widgets.rating.obj.prototype._callbackRate = function(state, a, b, c, d) {
1542  var s = 0;
1543
1544  if (state && c.messages) {
1545    for (var i = 0; i < c.messages.length; i++) {
1546      if (c.messages[i].name == 'addVote' && c.messages[i].params.productid == this.productid) {
1547        s = parseInt(c.messages[i].params.status);
1548      }
1549    }
1550  }
1551
1552  var o = this;
1553  switch (s) {
1554    case 1:
1555      this.changeState(3);
1556      setTimeout(
1557        function() {
1558          return o.updateBar();
1559        },
1560        this.ttl
1561      );
1562      break;
1563
1564    case 2:
1565      this.changeState(5);
1566      setTimeout(
1567        function() {
1568          return o.updateBar();
1569        },
1570        this.ttl
1571      );
1572      break;
1573
1574    default:
1575      if (!state && a.status == 0) {
1576        this.changeState(1);
1577      } else
1578        this.changeState(4);
1579  }
1580
1581  return true;
1582}
1583
1584// Widget :: callback update bar
1585ajax.widgets.rating.obj.prototype._callbackUpdateBar = function(responseText, textStatus, XMLHttpRequest) {
1586  if (XMLHttpRequest.status == 200) {
1587    this.savedElm = false;
1588    this.changeState(1);
1589
1590  } else {
1591    this.changeState(4);
1592  }
1593
1594  return true;
1595}
1596
1597ajax.widgets.rating.obj.prototype._doIdleState = function() {
1598  if (this.savedElm) {
1599    var s = this;
1600    this.savedElm.children().each(
1601      function() {
1602        s.elm$.append(this);
1603      }
1604    );
1605
1606    this.savedElm = false;
1607  }
1608
1609  this.elm$.width('auto');
1610
1611  return true;
1612}
1613
1614ajax.widgets.rating.obj.prototype._cleanIdleState = function() {
1615  this.savedWidth = $('li:last', this.elm$).offset().left - $('li:first', this.elm$).offset().left + $('li:last', this.elm$).width();
1616  var pl = parseInt($('li:last', this.elm$).css('padding-left'));
1617  if (!isNaN(pl))
1618    this.savedWidth += pl;
1619
1620  var pr = parseInt($('li:last', this.elm$).css('padding-right'));
1621  if (!isNaN(pr))
1622    this.savedWidth += pr;
1623
1624  this.savedElm = this.elm$.clone();
1625
1626  this.elm$.empty();
1627
1628  return true;
1629}
1630
1631ajax.widgets.rating.obj.prototype._doWaitState = function() {
1632  var block = document.createElement('SPAN');
1633  block.className = 'progress';
1634
1635  this.elm$
1636    .width(this.savedWidth)
1637    .empty()
1638    .addClass('wait')
1639    .append(block);
1640
1641  return true;
1642}
1643
1644ajax.widgets.rating.obj.prototype._cleanWaitState = function() {
1645  if (this.elm$.children().length == 1)
1646    this.elm$.empty();
1647
1648  this.elm$.removeClass('wait');
1649
1650  return true;
1651}
1652
1653ajax.widgets.rating.obj.prototype._doRatedState = function() {
1654  var block = document.createElement('SPAN');
1655  block.innerHTML = lbl_rated;
1656
1657  this.elm$
1658    .width(this.savedWidth)
1659    .empty()
1660    .addClass('message')
1661    .addClass('rated')
1662    .append(block);
1663
1664  return true;
1665}
1666
1667ajax.widgets.rating.obj.prototype._cleanRatedState = function() {
1668  if (this.elm$.children().length == 1)
1669    this.elm$.empty();
1670
1671  this.elm$
1672    .removeClass('message')
1673    .removeClass('rated');
1674
1675  return true;
1676}
1677
1678ajax.widgets.rating.obj.prototype._doErrorState = function() {
1679  var block = document.createElement('SPAN');
1680  block.innerHTML = lbl_error;
1681
1682  this.elm$
1683    .width(this.savedWidth)
1684    .empty()
1685    .addClass('message')
1686    .addClass('error')
1687    .append(block);
1688
1689  return true;
1690}
1691
1692ajax.widgets.rating.obj.prototype._cleanErrorState = function() {
1693  if (this.elm$.children().length == 1)
1694    this.elm$.empty();
1695
1696  this.elm$
1697    .removeClass('message')
1698    .removeClass('error');
1699
1700  return true;
1701}
1702
1703ajax.widgets.rating.obj.prototype._doCancelState = function() {
1704  var block = document.createElement('SPAN');
1705  block.innerHTML = lbl_cancel_vote;
1706
1707  this.elm$
1708    .width(this.savedWidth)
1709    .empty()
1710    .addClass('message')
1711    .addClass('cancel')
1712    .append(block);
1713
1714  return true;
1715}
1716
1717ajax.widgets.rating.obj.prototype._cleanCancelState = function() {
1718  if (this.elm$.children().length == 1)
1719    this.elm$.empty();
1720
1721  this.elm$
1722    .removeClass('message')
1723    .removeClass('cancel');
1724
1725  return true;
1726}
1727
1728// onload handler
1729$(ajax).bind(
1730  'load',
1731  function() {
1732    return ajax.widgets.rating();
1733  }
1734);
1735
1736/* vim: set ts=2 sw=2 sts=2 et: */
1737/**
1738 * Voting widget
1739 * 
1740 * @category   X-Cart
1741 * @package    X-Cart
1742 * @subpackage JS Library
1743 * @author     Ruslan R. Fazlyev <[email protected]> 
1744 * @version    $Id: vote_bar.js,v 1.2 2010/05/27 14:09:39 igoryan Exp $
1745 * @link       http://www.x-cart.com/
1746 * @see        ____file_see____
1747 */
1748
1749var creviews_hover_loaded;
1750if ($.browser.msie && !creviews_hover_loaded && parseInt($.browser.version) < 7) {
1751  creviews_hover_loaded = true;
1752
1753  $(document).ready(
1754    function() {
1755      $('.creviews-rating-box .allow-add-rate li a').hover(
1756        function() {
1757          if (!this._parents)
1758            this._parents = $(this).parents('li').children('a');
1759
1760          this._parents.addClass('over');
1761        },
1762        function() {
1763          if (!this._parents)
1764            this._parents = $(this).parents('li').children('a');
1765
1766          this._parents.removeClass('over');
1767        }
1768      );
1769
1770      return true;
1771    }
1772  );
1773}
1774
1775/* vim: set ts=2 sw=2 sts=2 et: */
1776/**
1777 * Ajax minicart widget
1778 * 
1779 * @category   X-Cart
1780 * @package    X-Cart
1781 * @subpackage JS Library
1782 * @author     Ruslan R. Fazlyev <[email protected]> 
1783 * @version    ec2ca39cb71eff2cf859558b4f67f561a1b9efe4, v2 (xcart_4_4_0_beta_2), 2010-05-27 13:43:06, ajax.minicart.js, igoryan
1784 * @link       http://www.x-cart.com/
1785 * @see        ____file_see____
1786 */
1787
1788// Facntory
1789ajax.widgets.minicart = function(elm) {
1790  if (!elm) {
1791    elm = $('.menu-minicart');
1792
1793  } else {
1794    elm = $(elm);
1795  }
1796
1797  elm.each(
1798    function() {
1799      if (!this.minicartWidget)
1800        new ajax.widgets.minicart.obj(this);
1801    }
1802  );
1803
1804  return true;
1805}
1806
1807// Class
1808ajax.widgets.minicart.obj = function(elm) {
1809  this.elm = $(elm);
1810
1811  elm.minicartWidget = this;
1812
1813  this.msie6 = $.browser.msie && parseInt($.browser.version) < 7;
1814
1815  var s = this;
1816
1817  $(ajax.messages).bind(
1818    'cartChanged',
1819    function(e, data) {
1820      return s._add2cartListener(data);
1821    }
1822  );
1823
1824  this._minicartReposition = function(e) {
1825    return s.minicartReposition(e);
1826  }
1827
1828  this._callbackMB = function(e) {
1829    s.click2Minicart = true;
1830    return s.minicartVisible ? s.hideMinicart() : s.showMinicart();
1831  }
1832
1833  this._callbackUM = function(responseText, textStatus, XMLHttpRequest) {
1834    return s._callbackUpdateMinicart(responseText, textStatus, XMLHttpRequest);
1835  }
1836
1837  this._deleteItem = function(e) {
1838    return !s.deleteItem(this, e);
1839  }
1840
1841  this._updateCart = function(e) {
1842    return !s.updateCart(this, e);
1843  }
1844
1845  this._clearCart = function() {
1846    return !s.clearCart();
1847  }
1848
1849  this._showCheckoutPopup = function(e) {
1850    return s.checkoutPopupVisible ? !s.hideCheckoutPopup(this, e) : !s.showCheckoutPopup(this, e);
1851  }
1852
1853  if (this.elm.hasClass('ajax-minicart')) {
1854    this._constructMinicartButton();
1855  }
1856
1857  $('body').click(
1858    function() {
1859      if (!s.click2Minicart)
1860        s.hideMinicart();
1861
1862      s.click2Minicart = false;
1863    }
1864  );
1865
1866}
1867
1868// Options
1869ajax.widgets.minicart.obj.prototype.errorTTL = 3000;
1870ajax.widgets.minicart.obj.prototype.minicartBorder = 0;
1871
1872// Properties
1873ajax.widgets.minicart.obj.prototype.elm = false;
1874ajax.widgets.minicart.obj.prototype.minicart = false;
1875ajax.widgets.minicart.obj.prototype.minicartButton = false;
1876
1877ajax.widgets.minicart.obj.prototype.minicartState = false;
1878ajax.widgets.minicart.obj.prototype.minicartVisible = false;
1879ajax.widgets.minicart.obj.prototype.minicartChanged = false;
1880ajax.widgets.minicart.obj.prototype.checkoutPopupVisible = false;
1881
1882// Widget :: check widget status
1883ajax.widgets.minicart.obj.prototype.isReady = function() {
1884  return this.minicart.length > 0 && this.checkElement();
1885}
1886
1887// Widget :: check element
1888ajax.widgets.minicart.obj.prototype.checkElement = function(elm) {
1889  if (!elm)
1890    elm = this.elm;
1891
1892  return elm && elm.hasClass('menu-minicart');
1893}
1894
1895// Widget :: update cart total block
1896ajax.widgets.minicart.obj.prototype.updateTotal = function() {
1897  return this.checkElement() && ajax.core.loadBlock($('div.minicart, span.minicart', this.elm), 'minicart_total');
1898}
1899
1900// Widget :: update cart/checkout links block
1901ajax.widgets.minicart.obj.prototype.updateCartLinks = function() {
1902  return this.checkElement() && ajax.core.loadBlock($('div.cart-checkout-links', this.elm), 'minicart_links');
1903}
1904
1905// Widget :: update minicart block
1906ajax.widgets.minicart.obj.prototype.updateMinicart = function() {
1907  if (!this.isReady())
1908    return false;
1909
1910  this._markMinicartBoxAsLoaded();
1911
1912  return ajax.core.loadBlock(this.minicart, 'minicart', {}, this._callbackUM);
1913}
1914
1915// Widget :: show minicart
1916ajax.widgets.minicart.obj.prototype.showMinicart = function() {
1917  this._constructMinicartBox();
1918
1919  if (this.minicartVisible)
1920    return false;
1921
1922  this.minicartButton.addClass('minicart-button-show');
1923
1924  if (this.minicartState == 1 || this.minicartChanged) {
1925    this._markMinicartBoxAsLoaded();
1926    this.updateMinicart();
1927  }
1928
1929  if (this._iframe) {
1930    this._iframe.show();
1931  }
1932
1933  this.minicart.show();
1934
1935  this.minicartVisible = true;
1936
1937  this.minicartReposition();
1938
1939  return true;
1940}
1941
1942// Widget :: hide minicart
1943ajax.widgets.minicart.obj.prototype.hideMinicart = function() {
1944  if (!this.minicart || !this.minicartVisible)
1945    return false;
1946
1947  this.minicartButton.removeClass('minicart-button-show');
1948
1949  if (this.checkoutPopupVisible)
1950    this.hideCheckoutPopup();
1951
1952  this.minicart.hide();
1953
1954  if (this._iframe) {
1955    this._iframe.hide();
1956  }
1957
1958  this.minicartVisible = false;
1959
1960  return true;
1961}
1962
1963// Widget :: minicart reposition
1964ajax.widgets.minicart.obj.prototype.minicartReposition = function() {
1965  if (!this.isReady() || !this.minicartVisible)
1966    return false;
1967
1968  if (this.elm.parents().filter('#left-bar').length > 0 ||  this.elm.hasClass('left-dir-minicart')) {
1969    var l = $('.ajax-minicart-icon', this.elm).position().left;
1970    var ml = $('.ajax-minicart-icon', this.elm).css('margin-left');
1971    if (ml) {
1972      ml = parseInt(ml);
1973      if (isNaN(ml))
1974        ml = 0;
1975    }
1976    l += ml;
1977
1978    this.minicart.css('left', l - this.minicartBorder);
1979
1980  } else if (this.elm.parents().filter('#right-bar').length > 0 || this.elm.hasClass('right-dir-minicart')) {
1981    var rb = $('.ajax-minicart-icon', this.elm).width() + $('.ajax-minicart-icon', this.elm).position().left;
1982    var ml = $('.ajax-minicart-icon', this.elm).css('margin-left');
1983    if (ml) {
1984      ml = parseInt(ml);
1985      if (isNaN(ml))
1986        ml = 0;
1987    }
1988    rb += ml;
1989
1990    var pw = $('.ajax-minicart-icon', this.elm).parents().eq(0).width();
1991
1992    this.minicart.css('right', pw - rb - this.minicartBorder);
1993  }
1994
1995  this._iframeReposition();
1996
1997  return true;
1998}
1999
2000// Widget :: delete cart item
2001ajax.widgets.minicart.obj.prototype.deleteItem = function(item, e) {
2002  if (!this.isReady() || !item || !item.href)
2003    return false;
2004
2005  this._markMinicartBoxAsLoaded();
2006
2007  return ajax.query.add({ url: item.href }) !== false;
2008}
2009
2010// Widget :: update cart
2011ajax.widgets.minicart.obj.prototype.updateCart = function(item, e) {
2012  if (!this.isReady() || !item || !item.form)
2013    return false;
2014
2015  this._markMinicartBoxAsLoaded();
2016
2017  return ajax.query.add(
2018    {
2019      type: 'POST',
2020      url: xcart_web_dir + '/cart.php',
2021      data: $(item.form).serialize()
2022    }
2023  ) !== false;
2024}
2025
2026// Widget :: clear cart
2027ajax.widgets.minicart.obj.prototype.clearCart = function() {
2028  if (!this.isReady())
2029    return false;
2030
2031  this._markMinicartBoxAsLoaded();
2032
2033  return ajax.query.add({ url: xcart_web_dir + '/cart.php?mode=clear_cart' }) !== false;
2034}
2035
2036// Widget :: show checkout popup
2037ajax.widgets.minicart.obj.prototype.showCheckoutPopup = function(item, e) {
2038  var p = $('.checkout-popup-link .buttons-box', this.minicart);
2039  if (this.checkoutPopupVisible || p.length == 0)
2040    return false;
2041
2042  $('.checkout-popup-link', this.minicart).children('a').addClass('show');
2043
2044  if (this._iframe_checkout)
2045    this._iframe_checkout.show();
2046
2047  p.show();
2048
2049  this.checkoutPopupVisible = true;
2050
2051  return true;
2052}
2053
2054// Widget :: hide checkout popup
2055ajax.widgets.minicart.obj.prototype.hideCheckoutPopup = function(item, e) {
2056  var p = $('.checkout-popup-link .buttons-box', this.minicart);
2057  if (!this.checkoutPopupVisible || p.length == 0)
2058    return false;
2059
2060  $('.checkout-popup-link', this.minicart).children('a').removeClass('show');
2061  p.hide();
2062
2063  if (this._iframe_checkout)
2064    this._iframe_checkout.hide();
2065
2066  this.checkoutPopupVisible = false;
2067
2068  return true;
2069}
2070
2071
2072/* Private */
2073
2074// Widget :: add2cart message listener
2075ajax.widgets.minicart.obj.prototype._add2cartListener = function(data) {
2076  if (data.status == 1) {
2077    this._constructMinicartButton();
2078    this.updateTotal();
2079    this.updateCartLinks();
2080
2081    if (data.isEmpty) {
2082
2083      // Cart is empty
2084      this._cartIsEmpty();
2085
2086    } else if (this.minicart && this.minicartVisible) {
2087
2088      // Update minicart
2089      this._constructMinicartBox();
2090      this.updateMinicart();
2091
2092    } else {
2093
2094      // Save cart changed status
2095      this.minicartChanged = true;
2096    }
2097  }
2098
2099  return true;
2100}
2101
2102// Widget :: empty is cart
2103ajax.widgets.minicart.obj.prototype._cartIsEmpty = function() {
2104  this.hideMinicart();
2105  this._destructMinicartButton();
2106
2107  $('.ajax-minicart-icon', this.elm).eq(0)
2108    .removeClass('full').addClass('empty')
2109    .parents('.full').removeClass('full').addClass('empty');
2110
2111  ajax.core.trigger('cartCleaned');
2112
2113  return true;
2114}
2115
2116// Widget :: construct minicart box
2117ajax.widgets.minicart.obj.prototype._constructMinicartBox = function() {
2118  if (this.minicart)
2119    return false;
2120
2121  var p = $('.ajax-minicart-icon', this.elm).get(0).parentNode;
2122
2123  if (this.msie6) {
2124    this._iframe = document.createElement('IFRAME');
2125    this._iframe.className = 'minicart-bg';
2126    this._iframe = $(p.appendChild(this._iframe));
2127
2128    this._iframe_checkout = document.createElement('IFRAME');
2129    this._iframe_checkout.className = 'minicart-checkout-bg';
2130    this._iframe_checkout = $(p.appendChild(this._iframe_checkout));
2131  }
2132
2133  this.minicart = $(p.appendChild(document.createElement('DIV')));
2134  this.minicart.addClass('minicart-box');
2135
2136  $(window).resize(this._minicartReposition);
2137
2138  var s = this;
2139  this.minicart.click(
2140    function(e) {
2141      if (!s.click2CheckoutPopup)
2142        s.hideCheckoutPopup();
2143
2144      s.click2CheckoutPopup = false;
2145      s.click2Minicart = true;
2146      s.showMinicart();
2147      return true;
2148    }
2149  );
2150
2151  this.minicartState = 1;
2152  this.minicartVisible = false;
2153
2154  return true;
2155}
2156
2157// Widget :: mark minicart box as loaded
2158ajax.widgets.minicart.obj.prototype._markMinicartBoxAsLoaded = function() {
2159  if (this.minicart.hasClass('wait'))
2160    return false;
2161
2162  var block = document.createElement('DIV');
2163  block.className = 'progress';
2164
2165  this.minicart.empty().addClass('wait').append(block);
2166
2167  this._iframeReposition();
2168
2169  return true;
2170}
2171
2172// Widget :: unmark minicart box as loaded
2173ajax.widgets.minicart.obj.prototype._unmarkMinicartBoxAsLoaded = function() {
2174  this.minicart.removeClass('wait').children('.progress').remove();
2175
2176  this._iframeReposition();
2177
2178  return true;
2179}
2180
2181// Widget :: prepare minicart box
2182ajax.widgets.minicart.obj.prototype._prepareMinicart = function() {
2183  var s = this;
2184
2185  $('.delete', this.minicart).click(this._deleteItem);
2186
2187  $('.update-cart', this.minicart).click(this._updateCart);
2188
2189  if ($('.clear-cart a', this.minicart).length > 0) {
2190    $('.clear-cart', this.minicart).click(
2191      function() {
2192        return false;
2193      }
2194    );
2195    $('.clear-cart a', this.minicart).click(this._clearCart);
2196
2197  } else {
2198    $('.clear-cart', this.minicart).click(this._clearCart);
2199  }
2200
2201  if ($('.checkout-popup-link .buttons-box', this.minicart).length > 0) {
2202    $('.checkout-popup-link a.link', this.minicart).click(this._showCheckoutPopup);
2203    $('.checkout-popup-link .buttons-box', this.minicart).click(
2204      function() {
2205        s.click2CheckoutPopup = true;
2206      }
2207    );
2208  }
2209
2210  return true;
2211}
2212
2213// Widget :: display error message
2214ajax.widgets.minicart.obj.prototype._displayMinicartError = function() {
2215  this.minicart.empty().html(lbl_error).addClass('error');
2216
2217  return true;
2218}
2219
2220// Widget :: construct minicart button
2221ajax.widgets.minicart.obj.prototype._constructMinicartButton = function() {
2222  if (this.minicartButton)
2223    return false;
2224
2225  this.minicartButton = $('.ajax-minicart-icon', this.elm);
2226  if (this.minicartButton.length == 0)
2227    return false;
2228
2229  this.elm.addClass('ajax-minicart');
2230
2231  this.minicartButton
2232    .addClass('minicart-button')
2233    .click(this._callbackMB);
2234
2235  return true;  
2236}
2237
2238// Widget :: destruct minicart button
2239ajax.widgets.minicart.obj.prototype._destructMinicartButton = function() {
2240  if (!this.minicartButton)
2241    return false;
2242
2243  this.elm.removeClass('ajax-minicart full-mini-cart');
2244
2245  this.minicartButton
2246    .removeClass('minicart-button')
2247    .unbind('click', this._callbackMB);
2248
2249  this.minicartButton = false;
2250
2251  return true;
2252}
2253
2254// Widget :: update minicart listener
2255ajax.widgets.minicart.obj.prototype._callbackUpdateMinicart = function(responseText, textStatus, XMLHttpRequest) {
2256  this._unmarkMinicartBoxAsLoaded();
2257
2258  if (this.minicartState == 1) {
2259
2260    // Minicart exists as empty box
2261    if (XMLHttpRequest.status == 200) {
2262      this.minicartState = 2;
2263
2264    } else {
2265      this._displayMinicartError();
2266      var s = this;
2267      setTimeout(
2268        function() {
2269          s.hideMinicart();
2270          s._destructMinicartButton();
2271        },
2272        this.errorTTL
2273      );
2274    }
2275  }
2276
2277  if (XMLHttpRequest.status == 200) {
2278
2279    // Display new content
2280    this.minicartChanged = false;
2281    this._prepareMinicart();
2282
2283  } else if (XMLHttpRequest.getResponseHeader('X-Request-Error-Code') == 1) {
2284
2285    // Cart is empty
2286    this._cartIsEmpty();
2287
2288  } else {
2289
2290    // Error
2291    this._displayMinicartError();
2292    var s = this;
2293    setTimeout(
2294      function() {
2295        s.hideMinicart();
2296        s._destructMinicartButton();
2297      },
2298      this.errorTTL
2299    );
2300  }
2301
2302  return true;
2303}
2304
2305// Widget :: iframe reposition
2306ajax.widgets.minicart.obj.prototype._iframeReposition = function() {
2307  if (!this._iframe)
2308    return false;
2309
2310  var pos = this.minicart.position();
2311  this._iframe
2312    .css({ top: pos.top + 'px', left: pos.left + 'px' })
2313    .width(this.minicart.width())
2314    .height(this.minicart.height());
2315
2316  var box = $('.checkout-popup-link .buttons-box', this.minicart);
2317  if (box.length > 0) {
2318    pos = box.position();
2319    this._iframe_checkout
2320      .css({ top: pos.top + 'px', left: pos.left + 'px' })
2321      .width(box.width())
2322      .height(box.height());
2323  }
2324
2325  return true;
2326}
2327
2328// onload handler
2329$(ajax).bind(
2330  'load',
2331  function() {
2332    return ajax.widgets.minicart();
2333  }
2334);
2335

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.