/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-2.0.3.min.map
*/
(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ot.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t)
};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*\s*$/g,ct={option:[1,""],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1>$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1>$2>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("").css("cssText","display:block !important")).appendTo(t.documentElement),t=(xt[0].contentWindow||xt[0].contentDocument).document,t.write(""),t.close(),n=Mt(e,t),xt.detach()),Nt[e]=n),n}function Mt(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,t){x.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&bt.test(x.css(e,"display"))?x.swap(e,Et,function(){return Pt(e,t,r)}):Pt(e,t,r):undefined},set:function(e,n,r){var i=r&&qt(e);return Ot(e,n,r?Ft(e,t,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,t){return t?x.swap(e,{display:"inline-block"},vt,[e,"marginRight"]):undefined}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,t){x.cssHooks[t]={get:function(e,n){return n?(n=vt(e,t),Ct.test(n)?x(e).position()[t]+"px":n):undefined}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+jt[r]+t]=o[r]||o[r-2]||o[0];return i}},wt.test(e)||(x.cssHooks[e+t].set=Ot)});var Wt=/%20/g,$t=/\[\]$/,Bt=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!ot.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(Bt,"\r\n")}}):{name:t.name,value:n.replace(Bt,"\r\n")}}).get()}}),x.param=function(e,t){var n,r=[],i=function(e,t){t=x.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(t===undefined&&(t=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){i(this.name,this.value)});else for(n in e)_t(n,e[n],t,i);return r.join("&").replace(Wt,"+")};function _t(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||$t.test(e)?r(e,i):_t(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)_t(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)
},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Xt,Ut,Yt=x.now(),Vt=/\?/,Gt=/#.*$/,Jt=/([?&])_=[^&]*/,Qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Kt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Zt=/^(?:GET|HEAD)$/,en=/^\/\//,tn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,nn=x.fn.load,rn={},on={},sn="*/".concat("*");try{Ut=i.href}catch(an){Ut=o.createElement("a"),Ut.href="",Ut=Ut.href}Xt=tn.exec(Ut.toLowerCase())||[];function un(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function ln(e,t,n,r){var i={},o=e===on;function s(a){var u;return i[a]=!0,x.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):undefined:(t.dataTypes.unshift(l),s(l),!1)}),u}return s(t.dataTypes[0])||!i["*"]&&s("*")}function cn(e,t){var n,r,i=x.ajaxSettings.flatOptions||{};for(n in t)t[n]!==undefined&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,t,n){if("string"!=typeof e&&nn)return nn.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=e.slice(a),e=e.slice(0,a)),x.isFunction(t)?(n=t,t=undefined):t&&"object"==typeof t&&(i="POST"),s.length>0&&x.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?x("").append(x.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ut,type:"GET",isLocal:Kt.test(Xt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":sn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?cn(cn(e,x.ajaxSettings),t):cn(x.ajaxSettings,e)},ajaxPrefilter:un(rn),ajaxTransport:un(on),ajax:function(e,t){"object"==typeof e&&(t=e,e=undefined),t=t||{};var n,r,i,o,s,a,u,l,c=x.ajaxSetup({},t),p=c.context||c,f=c.context&&(p.nodeType||p.jquery)?x(p):x.event,h=x.Deferred(),d=x.Callbacks("once memory"),g=c.statusCode||{},m={},y={},v=0,b="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===v){if(!o){o={};while(t=Qt.exec(i))o[t[1].toLowerCase()]=t[2]}t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===v?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,m[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)g[t]=[g[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),k(0,t),this}};if(h.promise(T).complete=d.add,T.success=T.done,T.error=T.fail,c.url=((e||c.url||Ut)+"").replace(Gt,"").replace(en,Xt[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=x.trim(c.dataType||"*").toLowerCase().match(w)||[""],null==c.crossDomain&&(a=tn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===Xt[1]&&a[2]===Xt[2]&&(a[3]||("http:"===a[1]?"80":"443"))===(Xt[3]||("http:"===Xt[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=x.param(c.data,c.traditional)),ln(rn,c,t,T),2===v)return T;u=c.global,u&&0===x.active++&&x.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!Zt.test(c.type),r=c.url,c.hasContent||(c.data&&(r=c.url+=(Vt.test(r)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=Jt.test(r)?r.replace(Jt,"$1_="+Yt++):r+(Vt.test(r)?"&":"?")+"_="+Yt++)),c.ifModified&&(x.lastModified[r]&&T.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&T.setRequestHeader("If-None-Match",x.etag[r])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&T.setRequestHeader("Content-Type",c.contentType),T.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+sn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)T.setRequestHeader(l,c.headers[l]);if(c.beforeSend&&(c.beforeSend.call(p,T,c)===!1||2===v))return T.abort();b="abort";for(l in{success:1,error:1,complete:1})T[l](c[l]);if(n=ln(on,c,t,T)){T.readyState=1,u&&f.trigger("ajaxSend",[T,c]),c.async&&c.timeout>0&&(s=setTimeout(function(){T.abort("timeout")},c.timeout));try{v=1,n.send(m,k)}catch(C){if(!(2>v))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,t,o,a){var l,m,y,b,w,C=t;2!==v&&(v=2,s&&clearTimeout(s),n=undefined,i=a||"",T.readyState=e>0?4:0,l=e>=200&&300>e||304===e,o&&(b=pn(c,T,o)),b=fn(c,b,T,l),l?(c.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(x.lastModified[r]=w),w=T.getResponseHeader("etag"),w&&(x.etag[r]=w)),204===e||"HEAD"===c.type?C="nocontent":304===e?C="notmodified":(C=b.state,m=b.data,y=b.error,l=!y)):(y=C,(e||!C)&&(C="error",0>e&&(e=0))),T.status=e,T.statusText=(t||C)+"",l?h.resolveWith(p,[m,C,T]):h.rejectWith(p,[T,C,y]),T.statusCode(g),g=undefined,u&&f.trigger(l?"ajaxSuccess":"ajaxError",[T,c,l?m:y]),d.fireWith(p,[T,C]),u&&(f.trigger("ajaxComplete",[T,c]),--x.active||x.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,undefined,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return x.isFunction(n)&&(i=i||r,r=n,n=undefined),x.ajax({url:e,type:t,dataType:i,data:n,success:r})}});function pn(e,t,n){var r,i,o,s,a=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):undefined}function fn(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(p){return{state:"parsererror",error:s?p:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=x("');
$box.html($commentsBox);
var $comments_label = $('#comments');
if(boxdata.recirculation && $comments_label.length){
$comments_label.before('');
$comments_label.before('
');
}
if(!auser){
if(window.SPOTIM && window.SPOTIM.logout){
window.SPOTIM.logout();
}else{
document.addEventListener('spot-im-api-ready', function(){
window.SPOTIM.logout();
}, false);
}
var stop_dbl_click = true;
$(document).one('spot-im-login-start', function(){
if(stop_dbl_click){
stop_dbl_click = false;
pagesFn.showRegisterPopup();
setTimeout(function(){
stop_dbl_click = true;
},1000);
}
});
}else{
if(window.SPOTIM && window.SPOTIM.startSSO){
startSSO();
}else{
document.addEventListener('spot-im-api-ready', startSSO, false);
}
function startSSO(){
var callback = function(codeA, completeSSOCallback){
$.ajax({
method: 'POST',
url: '/spotim-sso/',
data: {
'code_a': codeA
},
success : function(response){
if(response && response.constructor === Object && response.status && response.code_b){
completeSSOCallback(response.code_b);
}
}
});
}
window.SPOTIM.startSSO(callback);
}
}
}
return;
}
var boxData = $box.data(),
//service = ['us', 'en', 'uk', 'in', 'au', 'ca'].indexOf($(document.body).data('edtn')) !== -1 ? 'livefyre' : 'disqus',
service = 'disqus',
time = new Date(),
id = time.getTime(),
fragment = document.location.hash.replace(/[^a-zA-Z_0-9-]/g, '');
if(boxData.url && boxData.cid){
var $i = $('');
$box.html($i);
var $preloader = $('
' + (i18n.m1019 || 'Loading') + '...
').prependTo($box);
$i.on('load', function(){
$box.data('loaded', true);
$preloader.remove();
if(onload && typeof onload == 'function'){
onload.call($box, $i);
}
});
}
}
},
livefyreCommentsVisibleInit: function(id, onload){
var windowHeight = document.documentElement.clientHeight,
box = document.getElementById(id);
if(box && box.ready == undefined){
var box_rect = box.getBoundingClientRect();
if(box_rect.top < windowHeight){
this.livefyreComments($(box), onload);
box.ready = 1;
}
}
},
asideWidgetRepeater: function(widgets, contentEl, sidebarEl, stopheight){
var windowHeight = document.documentElement.clientHeight,
sidebar = document.getElementById(sidebarEl),
content = document.getElementById(contentEl);
if(widgets.length && sidebar && content){
var $sidebar = $(sidebar),
sidebarData = $sidebar.data();
var asideBoxesNumber = sidebarData.asideBoxesNumber || 0,
asideNumber = sidebarData.asideNumber || 100,
sidebar_rect = sidebar.getBoundingClientRect(),
content_rect = content.getBoundingClientRect();
var stopRec = false;
if(sidebar_rect.height < content_rect.height && sidebar_rect.bottom - windowHeight <= 10){
if(stopRec && sidebar_rect.height == 0){
return null;
}
if(!stopRec){
stopRec = true;
}
var $widget = $(widgets[asideBoxesNumber]);
var $box = $widget.clone();
if(stopheight){
var boxData = $box.data();
if(boxData.height && boxData.height > content_rect.height - sidebar_rect.height){
return 'stop';
}
}
$sidebar.append($box);
if(stopheight){
var boxHeight = $box.height();
if(content_rect.height - sidebar_rect.height < boxHeight){
$box.remove();
$widget.attr('data-height', boxHeight).data('height', boxHeight);
return 'remove';
}
}
var type = $box.data('type');
if(type == 'content'){
$box.jplDateFormat(layoutConfig.dateFormat);
}
/*if(type == 'recommendations'){
var url = $box.data('url');
if(url){
$.ajax({
url: url,
success: function(response){
if(response && response.constructor === Object && response.status && response.html){
$box.html(response.html);
$box.jplDateFormat(layoutConfig.dateFormat);
}
}
});
}
}*/
if(type == 'ad'){
$box.find('.ap').data('number', asideNumber).attr('data-number', asideNumber);
utils.banners($box);
}
if(asideBoxesNumber < widgets.length - 1){
asideBoxesNumber++;
$sidebar.data('asideBoxesNumber', asideBoxesNumber);
}else{
$sidebar.data('asideBoxesNumber', 0);
}
asideNumber++;
$sidebar.data('asideNumber', asideNumber);
return this.asideWidgetRepeater(widgets, contentEl, sidebarEl, stopheight);
}
return 'keepon';
}
return null;
},
listMorePage: function(contentEl, buttonEl){
var windowHeight = document.documentElement.clientHeight,
content = document.getElementById(contentEl);
if(content){
var content_rect = content.getBoundingClientRect();
if(content_rect.bottom - windowHeight <= 200){
$(buttonEl).trigger('click');
}
}
},
calculateTruncation: function($box, $textbox, endText, crop){
/*var $textbox = $textbox != undefined && $textbox.length ? $textbox : $box,
dataText = $textbox.data('text'),
text = false;
if(dataText == undefined){
text = $.trim($textbox.html());
if(text.length){
$textbox.data('text', text);
}
}else{
$textbox.html(dataText);
text = true;
}
if(text){
var el = $box[0];
var ntext, n = 0;
while(el.clientHeight < el.scrollHeight) {
ntext = $textbox[0].innerHTML.trim();
if(ntext.split(' ').length <= 1) {
break;
}
$textbox[0].innerHTML = ntext.replace(/\W*\s(\S)*$/, endText || '...');
n++;
}
if(crop >= 1 && n > crop){
while(crop) {
ntext = $textbox[0].innerHTML.trim();
if(ntext.split(' ').length <= 1) {
break;
}
$textbox[0].innerHTML = ntext.replace(/\W*\s(\S)*$/, endText || '...');
crop--;
}
}
}*/
},
dateCalendar: function(box, options){
var $box = $(box);
if($box.length){
var $startDate = $box.find('.startDate'),
$endDate = $box.find('.endDate'),
$calendar = $box.find('.dateCalendar'),
range = $calendar.data('range');
/*$box.find('.showDate').on('keydown', function(event){
event.preventDefault();
switch(event.keyCode){
case 13:
case 32:
case 40:
$(this).trigger('click');
break;
}
});*/
if(range){
this.dateCalendarSetValue(range, $box, $calendar, $startDate, $endDate, options);
}else{
this.dateCalendarSetValue(range, $box, $calendar, $startDate, false, options);
}
}
},
dateCalendarClear: function(data, element){
var $box = $(element).parent('.dateCalendarBox'),
$calendar = $box.find('.dateCalendar'),
toDay = new Date,
range = [toDay];
if($calendar.data('range')){
range = [toDay, toDay]
}
$calendar.data('start-date', '').data('end-date', '').trigger('jplcalendar:updated', range);
$box.find('.showDate').val('');
$box.find('.startDate').val('');
$box.find('.endDate').val('');
},
dateCalendarRange: function($box, $calendar, options){
var options = options || {};
options.render = false;
options.onRangeSelect = function(dateStart, dateEnd) {
$box.find('[data-calendar-target="' + $(this).data('value') + '"]').trigger('click');
//$box.find('.showDate').focus();
}
$calendar.jplCalendar(options);
},
dateCalendarSingle: function($box, $calendar, options){
var options = options || {};
options.render = false;
options.onSingleSelect = function(dateStart, dateEnd) {
$box.find('[data-calendar-target="' + $(this).data('value') + '"]').trigger('click');
//$box.find('.showDate').focus();
}
$calendar.jplCalendar(options);
},
dateCalendarSetValue: function(range, $box, $calendar, $startDate, $endDate, options){
if($startDate.length){
var startDateVal = $startDate.val();
if(startDateVal){
var d = startDateVal.split(/[^0-9]/);
startDateVal = [d[0],d[1],d[2]].join('/');
var startDate = new Date(startDateVal);
if(!isNaN(startDate)){
$calendar.data('start-date', startDateVal);
if(range){
if($endDate.length){
var endDateVal = $endDate.val();
if(endDateVal){
d = endDateVal.split(/[^0-9]/);
endDateVal = [d[0],d[1],d[2]].join('/');
var endDate = new Date(endDateVal);
if(!isNaN(endDate)){
$calendar.data('end-date', endDateVal);
}else{
$calendar.data('end-date', startDateVal);
}
}else{
$calendar.data('end-date', startDateVal);
}
}else{
$calendar.data('end-date', startDateVal);
}
this.dateCalendarRange($box, $calendar, options);
}else{
this.dateCalendarSingle($box, $calendar, options);
}
$calendar.trigger('jplcalendar:updated');
}else{
$calendar.data('renderValues', false);
if(range){
this.dateCalendarRange($box, $calendar, options);
}else{
this.dateCalendarSingle($box, $calendar, options);
}
$calendar.trigger('jplcalendar:updated');
}
}else{
$calendar.data('renderValues', false);
if(range){
this.dateCalendarRange($box, $calendar, options);
}else{
this.dateCalendarSingle($box, $calendar, options);
}
$calendar.trigger('jplcalendar:updated');
}
}
},
movieDirection: function(sX, sY, eX, eY){
var angle = 0,
X = sX-eX,
Y = eY-sY,
Z = Math.round(Math.sqrt(Math.pow(X,2)+Math.pow(Y,2))), //the distance - rounded - in pixels
r = Math.atan2(Y,X); //angle in radians (Cartesian system)
angle = Math.round(r*180/Math.PI); //angle in degrees
if(angle < 0){
angle = 360 - Math.abs(angle);
}
if((angle <= 45) && (angle >= 0)){
direction = 'left';
distance = sX - eX;
}else if((angle <= 360) && (angle >= 315)){
direction = 'left';
distance = sX - eX;
}else if((angle >= 135) && (angle <= 225)) {
direction = 'right';
distance = eX - sX;
}else if((angle > 45) && (angle < 135)) {
direction = 'down';
distance = eY - sY;
}else{
direction = 'up';
distance = sY - eY;
}
return {direction:direction, distance:distance};
},
googlemaps: {
setMarkers: function(map, locations) {
for (var i = 0; i < locations.length; i++) {
var location = locations[i];
var myLatlng = new google.maps.LatLng(location[1], location[2]);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:location[0]
});
}
},
zoomMap: function(map, lat, lng, zoom) {
var myLatlng = new google.maps.LatLng(lat, lng);
map.setZoom(zoom || 3);
map.setCenter(myLatlng);
}
},
crc32: function (str) {
var a_table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D";
var b_table = a_table.split(' ').map(function(s){ return parseInt(s,16) });
var crc = crc ^ (-1);
for(var i=0, iTop=str.length; i
>> 8 ) ^ b_table[( crc ^ str.charCodeAt( i ) ) & 0xFF];
}
return (crc ^ (-1)) >>> 0;
},
adSkinsFlags: {
phone: true,
pad: true,
desktop: true
},
adSkinsInit: function(params){
if(params && typeof params == 'object'){
var _out = [],
bodyClass = false;
_out.push('');
if(bodyClass){
// var $page_skin_top = $('#ms_skins_top_box');
// if(!$page_skin_top.length){
// return;
// }
var $page = $('[data-role="page"]').first();
$page.addClass(bodyClass);
if(params.CLICK_URL){
var $pageAdSkinUrl = $('.takeOverAdLink');
$pageAdSkinUrl.attr('href', params.CLICK_URL);
if(params.CLICK_URL_TARGET){
$pageAdSkinUrl.attr('target', params.CLICK_URL_TARGET);
}else{
$pageAdSkinUrl.attr('target', '_blank');
}
}
$page.append(_out.join(''));
// console.log(_out.join(''));
// console.log('adSkins', params);
}
}
},
adOverlayFooterInit: function(params){
if(params && typeof params == 'object'){
//console.log(params);
function boxes(settings, type, width, height, small){
var box = [];
if(settings.IMAGE){
box.push('');
}
return box;
}
var box = [];
var box_small = [];
if(params.PHONE){
box = box.concat(boxes(params.PHONE, 'phone', 320, 90));
box_small = box_small.concat(boxes(params.PHONE, 'phone', 320, 40, 1));
}
if(params.PAD){
box = box.concat(boxes(params.PAD, 'pad', 728, 90));
box_small = box_small.concat(boxes(params.PAD, 'pad', 728, 40, 1));
}
if(params.DESKTOP){
box = box.concat(boxes(params.DESKTOP, 'desktop', 970, 90));
box_small = box_small.concat(boxes(params.DESKTOP, 'desktop', 970, 40, 1));
}
var $overlayAd = $('.overlayAd');
if(box.length){
var $box = $('' + box.join('') + '
').appendTo($overlayAd);
setTimeout(function(){
$overlayAd.attr('data-ovft', 0);
},100)
$box.find('.boxClose').on('click', function(){
$overlayAd.remove();
});
}
if(box_small.length){
var $box_small = $('' + box_small.join('') + '
').appendTo($overlayAd);
$box_small.on('mouseenter', function(){
$overlayAd.attr('data-ovft', 0);
});
$box_small.find('.boxClose').on('click', function(){
$overlayAd.remove();
});
}
}
},
adOverlayInit: function(params){
if(params && typeof params == 'object'){
//console.log(params);
function popup($content){
var $adOverlayPopup = $('.adOverlayPopup');
if(!$adOverlayPopup.length){
$adOverlayPopup = $('')
}else{
$adOverlayPopup.html('');
}
var $adOverlayPopupBox = $('');
$adOverlayPopupBox.appendTo($adOverlayPopup);
var $adOverlayPopupClose = $('').appendTo($adOverlayPopupBox);
$content.appendTo($adOverlayPopupBox);
$adOverlayPopup.appendTo(document.body);
$adOverlayPopupClose.on('click', function(){
$adOverlayPopup.remove();
});
}
if(params.IMAGE){
var image = new Image();
image.src = params.IMAGE;
$(image).on('load', function(){
var $adOverlayPopupImage = $('');
$(this).appendTo($adOverlayPopupImage);
popup($adOverlayPopupImage);
});
}
}
}
};
var fn = {
adSkins: function(params){
try{
utils.adSkinsInit(params);
} catch(e) {
if('console' in window){
console.log('Skin init: ' + e);
}
}
},
adOverlay: function(params){
try{
utils.adOverlayInit(params);
} catch(e) {
if('console' in window){
console.log('Overlay init: ' + e);
}
}
},
adOverlayFooter: function(params){
try{
utils.adOverlayFooterInit(params);
} catch(e) {
if('console' in window){
console.log('Overlay init: ' + e);
}
}
}
}
$.fn.broadcast = function(params) {
var $wrapper = this,
$statusWrapper = $wrapper.find('.statusWrapper'),
$connectionsCount = $wrapper.find('.usersCount span'),
$messagesWrapper = $wrapper.find('.broadcastMessages'),
checkStateInterval = params.interval || 30000,
reconnectInterval = params.reconnectInterval || 10000,
checkStateTimout,
restartOnConnectionLost = true,
api = {},
tabReactivated = false,
ws;
$wrapper.find('.embed-item').each(function(index, item) {
var $el = $(item),
code = $el.data('embed-code');
$el.html(unescape(code));
});
var $broadcastItems = $messagesWrapper.children('.broadcastItem'),
broadcastItemsCount = $broadcastItems.length,
broadcastBannerTpl = window.broadcastBannerTpl,
bannerEveryNth = 20;
// delete window.broadcastBannerTpl;
$broadcastItems.each(function(index, item) {
var $item = $(item),
$date = $item.find('.date'),
data = $date.data('data'),
date = new Date(data);
if (data && date) {
$date.html(date.format('HH:MM'));
}
});
var state = 0,
wsStates = {
// id: [title, class]
0: [i18n.m3464, 'planned'],
1: [i18n.m3465, 'live'],
2: [i18n.m3466, 'paused'],
3: [i18n.m3467, 'finished'],
4: [i18n.m3880, 'message'],
5: [i18n.m3881, 'message']
};
function getBroadcastStatus() {
$.post('/live-text/get-status/', {
broadcastId: params.broadcastId
}, function(response) {
if (response && response.status) {
switch (response.broadcast_status) {
// on open connection or reconnect
case '1':
// if planned, disconnected or connecting, try to establish connection
if ([0, 4, 5].indexOf(state) !== -1) {
setState(5);
establishConnection(params.wsUri);
}
break;
// on close connection
case '3':
if (ws) {
setState(3);
}
break;
}
}
if (response.broadcast_status === '0') {
checkStateTimout = setTimeout(function() {
getBroadcastStatus();
}, checkStateInterval);
}
}).fail(function() {
checkStateTimout = setTimeout(function() {
getBroadcastStatus();
}, checkStateInterval);
});
}
getBroadcastStatus();
function detectTabChange() {
var hidden, visState, visibilityChange;
if (typeof document.hidden !== "undefined") {
hidden = "hidden";
visibilityChange = "visibilitychange";
visState = "visibilityState";
} else if (typeof document.mozHidden !== "undefined") {
hidden = "mozHidden";
visibilityChange = "mozvisibilitychange";
visState = "mozVisibilityState";
} else if (typeof document.msHidden !== "undefined") {
hidden = "msHidden";
visibilityChange = "msvisibilitychange";
visState = "msVisibilityState";
} else if (typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
visState = "webkitVisibilityState";
}
// we need to reconnect to websocket if tab returns to visible visState
// this solves the issue on mobile devices where they lost connection to websocket
// after going to sleep (Mobile Safari has this problem)
document.addEventListener(visibilityChange, function() {
var tabState = document[visState];
if (tabState !== hidden) {
tabReactivated = true;
if (ws) {
ws.close();
state = 4;
}
}
}, false);
}
detectTabChange();
function setState(newState, error) {
if (!tabReactivated && wsStates[newState]) {
state = newState;
if (newState == 3 && ws) {
restartOnConnectionLost = false;
ws.close();
}
$wrapper.trigger('statuschange', newState);
$statusWrapper.html(''+ wsStates[state][0] + (error ? error : '') + '');
}
}
function getState() {
return state;
}
function closeWebSocket() {
clearTimeout(checkStateTimout);
restartOnConnectionLost = false;
if (ws) {
ws.close();
}
}
var getElementMarkup = (function() {
var sharesTwitterMarkup = [
'',
'',
''
].join('');
var sharesMarkup = [
'',
''
].join('');
return function(message) {
var params = message.params,
isTweet = params.message.indexOf('twitter-tweet') !== -1,
$el = $([
''
].join(''));
return $el;
};
})();
function establishConnection(wsUri) {
if (!ws) {
ws = new WebSocket(wsUri);
ws.onopen = function(ev) {
tabReactivated = false;
setState(1);
};
ws.onerror = function(ev) {
if (ws) {
ws.close();
}
};
ws.onclose = function(ev) {
ws = null;
if (!restartOnConnectionLost) {
restartOnConnectionLost = true;
return;
}
setState(4);
setTimeout(function() {
getBroadcastStatus();
// establishConnection(wsUri);
}, reconnectInterval);
};
ws.onmessage = function(ev) {
var msg = JSON.parse(ev.data),
$el,
$date,
date;
switch (parseInt(msg.message_action, 10)) {
// on close socket connection
case -1:
if (ws && ws.readyState !== 2 && ws.readyState !== 3) {
setState(3);
}
break;
// create
case 1:
broadcastItemsCount++;
$el = getElementMarkup(msg.message);
$el.addClass("newMsg");
$date = $el.find('.date');
date = new Date($date.data('data'));
$date.html(date.format('HH:MM'));
if (broadcastItemsCount % bannerEveryNth === 1) {
$messagesWrapper.prepend(broadcastBannerTpl);
}
$messagesWrapper.prepend($el);
$el.find('.embed-item').each(function(index, item) {
var $el = $(item),
code = $el.data('embed-code');
$el.html(unescape(code));
});
utils.banners($messagesWrapper);
setTimeout(function(){
$el.removeClass("newMsg");
}, 1000);
break;
// update
case 2:
$el = getElementMarkup(msg.message);
$el.addClass("newMsg");
$date = $el.find('.date');
date = new Date($date.data('data'));
$date.html(date.format('HH:MM'));
$messagesWrapper.find('#message_' + msg.broadcast_message_id).replaceWith($el);
$el.find('.embed-item').each(function(index, item) {
var $el = $(item),
code = $el.data('embed-code');
$el.html(unescape(code));
});
setTimeout(function(){
$el.removeClass("newMsg");
}, 1000);
break;
// delete
case 3:
$el = $messagesWrapper.find('#message_' + msg.broadcast_message_id);
$el.fadeOut(500, function() {
$el.remove();
});
break;
// users count
case 4:
// skip if not admin
if (!$connectionsCount.length) return;
$connectionsCount.text(msg.users_count);
break;
// update message id on successful save
case 5:
$messagesWrapper
.find('#message_' + msg.message.fake_broadcast_message_id)
.attr('id', 'message_' + msg.message.broadcast_message_id);
break;
}
};
}
}
api = {
getState: getState,
close: closeWebSocket
};
$wrapper.data('api', api);
return api;
};
// configVars.analytics.cxense = {};
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
var pageBuildFn = [];
//var _gaq = _gaq || [];
var _qevents = _qevents || [];
var _fbq = _fbq || [];
var cX = cX || {}; cX.callQueue = cX.callQueue || [];
var pageReferer = '';
var touchesPageX = 0,
touchesPageY = 0;
var isCookieSupported = false;
var preventBodyScroll = false;
$(function(){
var stDelay = null;
utils.scaleFix();
$(document.body).addClass(("ontouchstart" in window) ? ' touch' : ' no-touch');
/* start coockie supported */
var testCookie = $.cookie('cookie_supported');
if (!testCookie) {
$.cookie('cookie_supported', 1, {expires: 1, path: '/'});
}
isCookieSupported = parseInt($.cookie('cookie_supported'), 10) === 1;
/* end coockie supported */
$(window).on('beforeunload', function(){
var $page = ajaxNavigationBuildPopup.status ? ajaxNavigationBuildPopup.$getPupup() : ajaxNavigation.$getPage();
//var $page = ajaxNavigation.$getPage();
pagesFn.managePagesForTimeSpent($page);
});
$(document).on('touchmove', function(event){
if(preventBodyScroll){
event.preventDefault();
}
})
.on('touchstart', function(event){
var touches = event.originalEvent.changedTouches[0];
touchesPageX = touches.pageX;
touchesPageY = touches.pageY;
})
.on('touchend', function(event){
preventBodyScroll = false;
});
$(document).on('touchmove', '.isolateScrolling', function(event){
var $this = $(this),
pageY = event.originalEvent.changedTouches[0].pageY,
sHeight = this.scrollHeight,
height = $this.outerHeight();
if(sHeight <= height || (pageY > touchesPageY && this.scrollTop == 0) || ((pageY < touchesPageY) && this.scrollTop >= sHeight - height)){
preventBodyScroll = true;
}else{
event.stopPropagation();
}
})
.on('click', '[data-role="popup"]', function(event){
if(event.target == this){
$(this).find('.popupClose').trigger('click');
event.preventDefault();
}
})
.on('mousewheel touchmove', '[data-role="popup"]', function(event){
if(event.target == this){
event.preventDefault();
}
})
.on('mousewheel', function(event){
if(preventBodyScroll){
event.stopPropagation();
event.preventDefault();
preventBodyScroll = false;
}
})
.on('mousewheel', '.isolateScrolling', function(event){
var rect = this.getBoundingClientRect();
if(event.deltaY > 0 && this.scrollTop == 0 || event.deltaY < 0 && this.scrollHeight - this.scrollTop - 1 <= parseInt(rect.height)){
preventBodyScroll = true;
}else{
event.stopPropagation();
}
});
$(document.body)
.on('click', 'a[href^="#"]',function(event){
var hash = $(this).attr('href');
if(hash){
hash = hash.replace('#','');
if(hash){
var $el = $("#" + hash);
if($el.length){
//event.preventDefault();
$('html, body').animate({
scrollTop: $el.offset().top - 70
}, 400);
}
}
}
});
$('.root')
.on('mouseenter', '.thumb', function(event){
if(document.documentElement.clientWidth <= 1024){
return;
}
var $this = $(this);
var data = $this.data();
if(data.timeout){
clearTimeout(data.timeout);
}
$this.data('timeout', setTimeout(function(){
var rect = $this[0].getBoundingClientRect();
$this.width(rect.width);
$this.height(rect.height);
$this.addClass('thumbZoom');
}, 100));
})
.on('mouseleave', '.thumb', function(){
if(document.documentElement.clientWidth <= 1024){
return;
}
var $this = $(this);
var data = $this.data();
if(data.timeout){
clearTimeout(data.timeout);
}
if(!$this.is('.thumbZoom')){
return;
}
$this.removeClass('thumbZoom');
$this.data('timeout', setTimeout(function(){
$this.removeAttr('style');
}, 300));
});
cmpTrayAlert.init({insert:1});
cmpDialog.init({
buttonOk: i18n.m1021,
buttonCancel: i18n.m1022,
buttonClose: i18n.m1020
});
var preventBuildAction = $(document.body).data('pba');
ajaxNavigation.init({
preventBuildAction: preventBuildAction,
reloadingScript: true,
stopPage: function($element, data, href){
pageReferer = window.location.href.replace(window.location.protocol + '//' + window.location.host, '');
if(data && data.confirmMessage !== undefined){
var ready = data.ready
if(!ready){
cmpDialog.confirm(data.confirmMessage || 'Are you sure?', null, function(value){
if(value){
$element.data('ready', 1);
$element.trigger('click');
}
});
return false;
}
$element.data('ready', 0);
}
},
requestBeforeSend: function(build, href, options, jqXHR){
if(build == 'popstate'){
var $part = $('[data-page-target="' + utils.crc32(href) + '"]');
if($part.length){
//$(document).scrollTop($part.offset().top - 60);
$("html, body").stop(true, true).animate({ scrollTop: parseInt($part.offset().top) - 60 }, 500, 'swing');
return false;
}
}
var $page = build == 'popup' ? ajaxNavigationBuildPopup.$getPupup() : this.$getPage();
pagesFn.managePagesForTimeSpent($page);
return true;
},
receivedAsJSON: function(pageId, buildType, href, options, jqXHR){
var json = $.parseJSON(jqXHR.responseText);
if(json.error){
cmpTrayAlert.show(json.error.message || i18n.m1034, 'error', 30);
}else{
cmpTrayAlert.show(json.message || i18n.m1034, json.status ? 'message' : 'error', json.status ? 10 : 30);
}
},
beforePageBuild: function(oldPageId, buildType, href){
//if you need to cleanse previous page
if((buildType == 'build' || buildType == 'popstate') && pages.remove[oldPageId] && typeof pages.remove[oldPageId] == 'function'){
pages.remove[oldPageId].call(this, oldPageId, buildType, href);
}
// removes footer scroll listener which is added for each page
// except articles detail
$(window).off('scroll.register_footer');
},
afterPageBuild: function(oldPageId, newPageId, buildType, href){
var loginLimitCookie;
//init page
//console.log(newPageId, href);
if(buildType == 'rebuild'){
ajaxNavigationBuildPopup.clear();
if(pages.rebuild[newPageId] && typeof pages.rebuild[newPageId] == 'function'){
pages.rebuild[newPageId].call(this, oldPageId, newPageId, buildType, href);
}
}else if(buildType == 'popup'){
if(pages.popup[newPageId] && typeof pages.popup[newPageId] == 'function'){
pages.popup[newPageId].call(this, oldPageId, newPageId, buildType, href);
}
$(document).on('keydown.popup_close', function(event){
if(event.keyCode == 27){
ajaxNavigationBuildPopup.clear(true);
}
});
}else{
loginLimitCookie = $.cookie('limit_logout');
if (loginLimitCookie) {
$.removeCookie('limit_logout', {
path: '/'
});
cmpTrayAlert.show(i18n.m4680, 'error', 30);
}
ajaxNavigationBuildPopup.clear();
cmpButtons.groupName = false;
cmpBubbles.groupName = false;
utils.adSkinsFlags.phone = true;
utils.adSkinsFlags.pad = true;
utils.adSkinsFlags.desktop = true;
var $body = $(document.body);
clearTimeout(stDelay);
$body.removeClass('st-delay');
stDelay = setTimeout(function(){
$body.addClass('st-delay');
}, 600);
mainSecondMenuStick = 0;
if(pages.init[newPageId] && typeof pages.init[newPageId] == 'function'){
pages.init[newPageId].call(this, oldPageId, newPageId, buildType, href);
}
$(window).trigger('resize.menusItems', 1);
$('#search_form').validate({
showErrors: function(errorMap, errorList) {
//cmpTrayAlert.show(errorList[0]['message'], 'error', 10);
}
});
// show register footer if user is not signed in
/*
(function() {
var $window = $(window),
$page = $('#' + newPageId),
preventForPages,
preventRegister,
registerLightBox = $.cookie('reglb'),
registerFooter = $.cookie('regft');
preventForPages = [
'page_join',
'page_join_prime',
'page_login',
'page_articles_detail',
'page_index_index_sweepstakes'
];
preventRegister = preventForPages.indexOf($page.attr('id')) !== -1;
if (preventRegister) return;
if (!window.isAuthorized && isCookieSupported) {
// footer once per session
if (!registerFooter) {
$window.on('scroll.register_footer', function() {
var scrollTop = $window.scrollTop();
if (scrollTop < 700) return;
$window.off('scroll.register_footer');
showRegisterFooter();
});
}
}
})();
*/
}
utils.banners();
$('.root').jplDateFormat(layoutConfig.dateFormat);
// track Giorgio Piola's content
(function() {
var gpPage = $.cookie('gpiola_page');
// if it's not a GP topic page
if (!gpPage) return;
gaTrackGP(gpPage, window.location.href);
$.removeCookie('gpiola_page', {
path: '/'
});
})();
var trackUrl = $('#' + (buildType == 'popup' ? 'track_url' : 'current_series')).data('trackUrl') || href;
if(!utils.preventGA){
gaTrack(trackUrl);
}
utils.preventGA = false;
if(!utils.preventQC){
qcTrack();
}
utils.preventQC = false;
if(!utils.preventFBQ){
fbqTrack(trackUrl);
}
utils.preventFBQ = false;
if(!utils.preventGAdWordsConversion){
gAdWordsConversion();
}
utils.preventGAdWordsConversion = false;
if(!utils.preventComscoreTrack){
comscoreTrack();
}
utils.preventComscoreTrack = false;
if(!utils.preventCaptifyTrack){
captifyTrack();
}
utils.preventCaptifyTrack = false;
if(!utils.preventCxenseTrack){
cxenseTrack();
}
utils.preventCxenseTrack = false;
if(pageBuildFn.length){
for(var i = 0, c = pageBuildFn.length; i < c; i++){
if(typeof pageBuildFn[0] == 'function'){
pageBuildFn[i].call(this, trackUrl, pageReferer, ajaxNavigation.page.firstBoot, newPageId, buildType);
}
}
}
},
requestError: function(buildType, href, options, jqXHR){
if(jqXHR.status == 403){
var json = $.parseJSON(jqXHR.responseText);
cmpTrayAlert.show(json.message || i18n.m1034, json.status ? 'message' : 'error', json.status ? 10 : 30);
}else{
cmpTrayAlert.show(i18n.m1034, 'error', 30);
}
},
errorPageBuild: function(oldPageId, build, href, options, jqXHR){
cmpTrayAlert.show(i18n.m1034, 'error', 10);
}/*,
receivedStatus404: function(buildType, href, options, jqXHR){
}*/
});
ajaxNavigationCtrl.init();
ajaxNavigationBuildPopup.init({remove: function(pageId){
if(pages.removePopup[pageId] && typeof pages.removePopup[pageId] == 'function'){
pages.removePopup[pageId].call(this, pageId);
}
$(document).off('keydown.popup_close');
}});
cmpButtons.init({
buttons: buttons,
error: function(data, element, response, textStatus, jqXHR){
cmpTrayAlert.show(jqXHR.responseJSON && jqXHR.responseJSON.constructor === Object && jqXHR.responseJSON.message ? jqXHR.responseJSON.message : i18n.m1034, 'error', 30);
}
});
cmpButtonsToggle.init();
// cmpButtonsCurrent.init();
cmpBubbles.init({
minWidth: 640,
error: function(data, element, response, textStatus, jqXHR){
cmpTrayAlert.show(jqXHR.responseJSON && jqXHR.responseJSON.constructor === Object && jqXHR.responseJSON.message ? jqXHR.responseJSON.message : i18n.m1034, 'error', 30);
}
});
setInterval(function(){
$('.root').jplDateFormat(layoutConfig.dateFormat);
}, 60000);
var bannerTimeout = null;
$(window).on('resize', function(){
clearTimeout(bannerTimeout);
bannerTimeout = setTimeout(function(){
utils.banners();
},500);
$('.thumbZoom').removeAttr("style").removeClass("thumbZoom");
});
utils.preventGA = false;
utils.preventQC = false;
utils.preventFBQ = false;
utils.preventGAdWordsConversion = false;
utils.preventComscoreTrack = false;
utils.preventCaptifyTrack = false;
utils.preventCxenseTrack = false;
utils.thirdPartyServices = [
//[('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js', configVars.analytics.google.load],
['//www.google-analytics.com/analytics.js', configVars.analytics.google.load],
[(document.location.protocol == "https:" ? "https://secure" : "http://edge") + '.quantserve.com/quant.js', configVars.analytics.quantcast.load],
['//connect.facebook.net/en_US/fbds.js', configVars.analytics.facebook.load, function(){_fbq.loaded = true;}],
['//script.crazyegg.com/pages/scripts/0049/9618.js?' + Math.floor(new Date().getTime()/3600000), configVars.analytics.crazyegg.load],
['//www.googletagservices.com/tag/js/gpt.js', 1, utils.dfpScriptLoad],
['//www.googleadservices.com/pagead/conversion_async.js', configVars.analytics.google_conversion.load, gAdWordsConversion],
['http'+('https:'===location.protocol?'s://s':'://')+'cdn.cxense.com/tms/cx_lgr.js', configVars.analytics.cxense.load],
[(document.location.protocol == "https:" ? "https://sb" : "http://b") + '.scorecardresearch.com/beacon.js', configVars.analytics.comscore.load, comscoreTrack],
];
utils.connectThirdPartyServices(utils.thirdPartyServices);
function showRegisterFooter() {
var $footer = $('#register_footer_wrapper'),
$closeBtn = $footer.find('.close'),
$form = $footer.find('form'),
$emailField = $form.find('input[type="email"]'),
registerFormLoading = false;
$footer.addClass('visible');
$form.validate({
errorPlacement: function(error, element) {
element.attr('title', error.text());
},
submitHandler: function() {
if (registerFormLoading) return;
registerFormLoading = true;
hideRegisterFooter();
goToUrl('/join/', 'popup', {data: {params: {
is_popup: 1,
user_email: $emailField.val()
}}});
}
});
$closeBtn.on('click', hideRegisterFooter);
function hideRegisterFooter() {
$closeBtn.off('click');
$.cookie('regft', 1, {path: '/'});
$footer.fadeOut(function() {
$footer.remove();
});
}
}
});
dateFormat.i18n = {
dayNames: [
i18n.m1043 || 'Sun', i18n.m1044 || 'Mon', i18n.m1045 || 'Tue', i18n.m1046 || 'Wed', i18n.m1047 || 'Thu', i18n.m1048 || 'Fri', i18n.m1049 || 'Sat',
i18n.m1050 || 'Sunday', i18n.m1051 || 'Monday', i18n.m1052 || 'Tuesday', i18n.m1053 || 'Wednesday', i18n.m1054 || 'Thursday', i18n.m1055 || 'Friday', i18n.m1056 || 'Saturday'
],
monthNames: [
i18n.m1057 || 'Jan', i18n.m1058 || 'Feb', i18n.m1059 || 'Mar', i18n.m1060 || 'Apr', i18n.m1061 || 'May', i18n.m1062 || 'Jun', i18n.m1063 || 'Jul', i18n.m1064 || 'Aug', i18n.m1065 || 'Sep', i18n.m1066 || 'Oct', i18n.m1067 || 'Nov', i18n.m1068 || 'Dec',
i18n.m1069 || 'January', i18n.m1070 || 'February', i18n.m1071 || 'March', i18n.m1072 || 'April', i18n.m1073 || 'May', i18n.m1074 || 'June', i18n.m1075 || 'July', i18n.m1076 || 'August', i18n.m1077 || 'September', i18n.m1078 || 'October', i18n.m1079 || 'November', i18n.m1080 || 'December'
]
};
jplCalendarLangs = {
monthTitles: [i18n.m1069 || 'January', i18n.m1070 || 'February', i18n.m1071 || 'March', i18n.m1072 || 'April', i18n.m1073 || 'May', i18n.m1074 || 'June', i18n.m1075 || 'July', i18n.m1076 || 'August', i18n.m1077 || 'September', i18n.m1078 || 'October', i18n.m1079 || 'November', i18n.m1080 || 'December'],
from: i18n.m1089 || 'from',
to: i18n.m1090 || 'to',
today: i18n.m1091 || 'Today',
rangesBefore: [i18n.m1092 || 'Last 7 days', i18n.m1093 || 'Last 15 days', i18n.m1094 || 'Last 30 days', i18n.m1095 || 'Last 90 days', i18n.m1096 || 'This week', i18n.m1097 || 'This month'],
rangesAfter: [i18n.m1098 || 'Next 7 days', i18n.m1099 || 'Next 15 days', i18n.m1100 || 'Next 30 days', i18n.m1101 || 'Next 90 days', i18n.m1096 || 'This week', i18n.m1097 || 'This month'],
dayTitles: {
mondayBased: [i18n.m1044 || 'Mon', i18n.m1045 || 'Tue', i18n.m1046 || 'Wed', i18n.m1047 || 'Thu', i18n.m1048 || 'Fri', i18n.m1049 || 'Sat', i18n.m1043 || 'Sun'],
sundayBased: [i18n.m1043 || 'Sun', i18n.m1044 || 'Mon', i18n.m1045 || 'Tue', i18n.m1046 || 'Wed', i18n.m1047 || 'Thu', i18n.m1048 || 'Fri', i18n.m1049 || 'Sat']
},
mondayBased: false
};
cmpUploaderLangs = {
maxItemsSimultaneously : i18n.m3161 || "You can\'t upload more than {0} files simultaneously.",
validExtensions : i18n.m3160 || "No valid files were found. Valid extensions are: {0}",
maxItemsPerUload : i18n.m1018 || "The maximum number of files allowed to be uploaded simultaneously has been exceeded. Upload no more than {0} files at a time!",
pauseBtnText : i18n.m3996 || "Pause",
resumeBtnText : i18n.m3997 || "Resume",
cancelBtnText : i18n.m1022 || "Cancel",
deleteBtnText : i18n.m2657 || "Delete",
selectAllItemsBtnText : i18n.m3176 || "Select All",
deselectAllItemsBtnText : i18n.m3180 || "Deselect All",
resumeSelectedText : i18n.m3998 || "Resume Selected",
resumeAllText : i18n.m3213 || "Resume All",
pauseSelectedBtnText : i18n.m3215 || "Pause Selected",
pauseAllBtnText : i18n.m3178 || "Pause All",
removeSelectedMsg : i18n.m3188 || "Remove selected items?",
areYouSure : i18n.m2720 || "Are you sure?",
leavePageWarningText : i18n.m3156 || "If you leave this page now your items will not be uploaded.",
leavePageWarningTitle : i18n.m3158 || "Leave this page?",
addItemBtnText : i18n.m3999 || "Add new item",
fileProcessError : i18n.m4000 || "Some files hasn't been processed successfully"
};
var layoutConfig = {
dateFormat: {
lang: i18n.m1111 || 'en',
ago: i18n.m1041 || 'ago',
there: i18n.m1087 || '',
hour: i18n.m1038 || 'hour',
minute: i18n.m1039 || 'minute',
second: i18n.m1040 || 'second',
fewSecondsAgo: i18n.m1081 || 'Few seconds ago',
yesterday: i18n.m1042 || 'Yesterday',
at: i18n.m1037 || 'at',
of: i18n.m1086 || 'of'
}
};
/*####### cmpStylizedInputFile - v1.1 - 14.11.2011 #######*/
$.fn.cmpStylizedInputFile = function(options){
var options = $.extend({
cls: false
}, options);
var $this = $(this);
$this.wrap('');
var $fileButton = $this.parent('.fileButton'),
$fileText = $('').attr('title',$this.val()).text(utils.fileName($this.val()));
$this.addClass('fileInput').css({
opacity: 0
}).show();
$fileButton.append('' + options.buttonTitle + '');
$fileButton.wrap('');
$fileButton.after($fileText);
$this.on('change', function(){
var $this = $(this),
$fileText = $this.parent('.fileButton').next('.fileText');
if (this.files && 'object' == typeof this.files && $this.val() != '') {
$fileText.attr('title',$this.val()).text(utils.fileNameMultiple(this));
} else {
$fileText.attr('title',$this.val()).text(utils.fileName($this.val()));
}
});
return this;
};
$.fn.simpleProgressBar = function(params){
var options = $.extend({
cls: ''
},params);
var $box = $('')
.addClass('cmpProgressBar')
.width(options.width)
.appendTo(this);
var $track = $('').appendTo($box),
$runner = $('').appendTo($box);
this
.on('progressBarUpdate', function(event, data){
if(data && data.meter > 0){
if(data.meter < 100){
$runner
.stop(true, true)
.animate({
width: data.meter + '%'
});
} else {
$runner
.stop(true, true)
.width('100%');
}
}
})
.on('progressBarComplete', function(){
$runner.stop(true, true).width('100%');
})
.on('progressBarShow progressBarReset', function(){
$runner.stop(true, true).width(0);
})
.on('progressBarHide', function(){
$(this).hide();
});
return this;
};
window.ga = window.ga || function(){(ga.q=ga.q||[]).push(arguments)}; ga.l=+new Date;
if(configVars.analytics.google.load){
ga('create', {
trackingId: configVars.analytics.google.id,
cookieDomain: 'auto',
name: 'MSTracker'
});
ga('MSTracker.require', 'linkid');
// ga('create', {
// trackingId: 'UA-100718017-1',
// cookieDomain: 'auto',
// name: 'MSNTracker',
// allowLinker: true
// });
// ga('MSNTracker.require', 'linker');
// ga('MSNTracker.linker:autoLink', ['motorsport.com,motor1.com,motorstore.com']);
}
function gaTrack(url){
if(configVars.analytics.google.load){
// _gaq.push(['_require', 'inpage_linkid', '//www.google-analytics.com/plugins/ga/inpage_linkid.js']);
// _gaq.push(['_setDomainName', 'motorsport.com']);
// _gaq.push(['_setAccount', configVars.analytics.google.id], ['_trackPageview', url]);
ga('MSTracker.send', {
hitType: 'pageview',
page: url,
dimension1: $(document.body).data('edtn') || 'none'
});
// ga('MSNTracker.send', {
// hitType: 'pageview',
// page: url,
// dimension1: $(document.body).data('edtn') || 'none'
// });
}
}
function gaTrackSocial(network, action, url) {
if(configVars.analytics.google.load){
ga('MSTracker.send', {
hitType: 'social',
socialNetwork: network,
socialAction: action,
socialTarget: url,
dimension1: $(document.body).data('edtn') || 'none'
});
}
}
function gaArticleSubmit(action, url) {
if(configVars.analytics.google.load){
ga('MSTracker.send', {
hitType: 'event',
eventCategory: 'articleSubmit',
eventAction: action,
eventLabel: url,
dimension1: $(document.body).data('edtn') || 'none'
});
}
}
function gaArticleEmailSubscription(action, url) {
if(configVars.analytics.google.load){
ga('MSTracker.send', {
hitType: 'event',
eventCategory: 'emailFromArticleSubmit',
eventAction: action,
eventLabel: url,
dimension1: $(document.body).data('edtn') || 'none'
});
}
}
function gaTrackGP(action, url) {
if(configVars.analytics.google.load){
ga('MSTracker.send', {
hitType: 'event',
eventCategory: 'Giorgio Piola',
eventAction: action,
eventLabel: url,
dimension1: $(document.body).data('edtn') || 'none'
});
}
}
function gaTrackEvent(category, action, label, value, opt){
if(configVars.analytics.google.load){
//_gaq.push(['_trackEvent', category, action, label, value, opt]);
}
}
function gaTrackPrime(type, packageName) {
var action;
if(configVars.analytics.google.load){
switch (type) {
case '0':
action = packageName + '-Signup';
break;
case '1':
action = 'UpgradeTo-' + packageName + '-Signup';
break;
case '2':
action = packageName + '-Extended';
break;
}
if (action) {
ga('MSTracker.send', {
hitType: 'event',
eventCategory: 'Prime',
eventAction: action,
dimension1: $(document.body).data('edtn') || 'none'
});
}
}
}
function gAdWordsConversion(){
if(configVars.analytics.google_conversion.load && 'google_trackConversion' in window){
window.google_trackConversion({
google_conversion_id: configVars.analytics.google_conversion.id,
google_custom_params: window.google_tag_params,
google_remarketing_only: true
});
window.google_trackConversion({
google_conversion_id: 858029425,
google_custom_params: window.google_tag_params,
google_remarketing_only: true
});
// Added by John Nguyen request for Autosport campaings
window.google_trackConversion({
google_conversion_id: 856527196,
google_custom_params: window.google_tag_params,
google_remarketing_only: true
});
}
}
function comscoreTrack(){
if(configVars.analytics.comscore.load && 'COMSCORE' in window){
COMSCORE.beacon({ c1: "2", c2: configVars.analytics.comscore.id});
}
}
function qcTrack(){
if(configVars.analytics.quantcast.load){
var opt = {qacct:configVars.analytics.quantcast.id};
if(!ajaxNavigation.page.firstBoot){
opt.event = 'refresh';
}
_qevents.push(opt);
}
}
function fbqTrack(url){
if(configVars.analytics.facebook.load){
if(ajaxNavigation.page.firstBoot){
_fbq.push(['addPixelId', configVars.analytics.facebook.id]);
_fbq.push(['track', 'PixelInitialized']);
}
_fbq.push(['track', 'ViewPage', {url: url}]);
}
}
function captifyTrack(){
//var captify_kw_query_11878 = "";
if(configVars.analytics.captify.load){
$.getScript('https://p.cpx.to/p/' + configVars.analytics.captify.id + '/px.js');
}
}
function cxenseTrack(){
if(configVars.analytics.cxense.load){
if(ajaxNavigation.page.firstBoot){
cX.callQueue.push(['setSiteId', configVars.analytics.cxense.id]);
}
cX.callQueue.push(['sendPageViewEvent']);
}
}
$(function(){
var isTouch = ("ontouchstart" in window);
//$(document.body).addClass(isTouch ? ' touch' : ' no-touch');
var isTextRtl = $(document.body).is('.textRtl');
var _mobileMQMaxWidth = 1023;
var tempScrollTop = 0,
scrollDir = 1,
menusItemsTimeout = null,
menusItemsResize = false,
headerStickTimeout = null,
docCurrentWidth = 0,
scroll_stop_timeout = null,
scroll_stop_count = 0,
is_cookie_accept = $.cookie('cookie_accept') || false;
$(window).on('resize.menusItems', function(event, force){
if(document.documentElement.clientWidth <= _mobileMQMaxWidth){
return;
}
var docNewtWidth = document.documentElement.clientWidth;
if(force === undefined && docCurrentWidth == docNewtWidth){
return;
}
docCurrentWidth = document.documentElement.clientWidth;
var delay = (force === 2 ? 10 : 200);
clearInterval(menusItemsTimeout);
menusItemsTimeout = setTimeout(function(){
if(force !== 2){
var $eContentMenu = $('.eContentMenu').first();
var $currentEContentMenuItem = $eContentMenu.find('>li.current'),
$moreItemEContentMenu = $eContentMenu.find('>li.more'),
itemsEContentMenuWidth = 0,
$itemsEContentMenu = $().add(),
eContentMenuWidth = parseInt($eContentMenu.width() - ($moreItemEContentMenu.length ? $moreItemEContentMenu.width() : 0)- ($currentEContentMenuItem.length ? $currentEContentMenuItem.width() : 0));
$eContentMenu.find('>li:not(.more):not(.current)').removeClass('vhidden').each(function(i){
var $this = $(this),
thisWidth = parseInt($this.width());
itemsEContentMenuWidth += thisWidth;
if(itemsEContentMenuWidth >= eContentMenuWidth){
var $thisCopy = $this.clone(true,true);
$thisCopy.find('ul').remove();
$itemsEContentMenu = $itemsEContentMenu.add($thisCopy);
$this.find('> ul > li').each(function(){
$itemsEContentMenu = $itemsEContentMenu.add($(this).clone(true,true));
});
$this.addClass('hidden');
}
});
var $moreItemEContentMenuUL = $moreItemEContentMenu.removeClass('vhidden').find('ul').empty();
if($itemsEContentMenu.length){
$itemsEContentMenu.appendTo($moreItemEContentMenuUL);
}else{
$moreItemEContentMenu.addClass('hidden');
}
$eContentMenu.addClass('ready');
}
if(force === true){
menusItemsResize = false;
return;
}
var $eMainMenu = $('.eMainMenu.visible').first();
var $currentEMainMenuItem = $eMainMenu.find('>li.current:not(.all-series)'),
$moreItemEMainMenu = $eMainMenu.find('>li.more'),
itemsEMainMenuWidth = 0,
moreItemColumns = 0,
$itemsEMainMenu = $().add(),
eMainMenuWidth = parseInt($eMainMenu.width() - ($moreItemEMainMenu.length ? $moreItemEMainMenu.width() : 0)- ($currentEMainMenuItem.length ? $currentEMainMenuItem.width() : 0));
var incr = 0;
$eMainMenu.find('>li:not(.more):not(.current):not(.all-series)').removeClass('vhidden').each(function(i){
var $this = $(this),
thisWidth = parseInt($this.width());
itemsEMainMenuWidth += thisWidth;
if(itemsEMainMenuWidth >= eMainMenuWidth){
$this.find('> ul > li').each(function(){
var $thisCopy = $(this).clone(true,true);
$thisCopy.find('ul').remove();
$itemsEMainMenu = $itemsEMainMenu.add($thisCopy);
if(incr%(document.documentElement.clientWidth/document.documentElement.clientHeight < 1 ? 15 : 10) == 0){
moreItemColumns++;
}
incr++;
});
$this.addClass('hidden');
}
});
var $moreItemEMainMenuUL = $moreItemEMainMenu.removeClass('vhidden').find('ul').empty();
if($itemsEMainMenu.length){
$moreItemEMainMenu.removeClass('cur');
$itemsEMainMenu.appendTo($moreItemEMainMenuUL);
if($moreItemEMainMenuUL.find('>li.current').length){
$moreItemEMainMenu.addClass('cur');
}
//$moreItemEMainMenu.removeClass('hidden');
}else{
$moreItemEMainMenu.addClass('hidden');
}
if(document.documentElement.clientWidth < 1024 && moreItemColumns > 3){
moreItemColumns = 3;
}
$moreItemEMainMenu.attr('data-columns', moreItemColumns > 4 ? 4 : moreItemColumns);
moreItemColumns = 0;
$eMainMenu.addClass('ready');
menusItemsResize = false;
},delay);
if(!menusItemsResize){
menusItemsResize = true;
if(force !== true){
var $eMainMenu = $('.eMainMenu.visible').first();
$eMainMenu.find('>li.more').addClass('hidden');
$eMainMenu.find('>li.hidden').removeClass('hidden').addClass('vhidden');
$eMainMenu.removeClass('ready');
}
if(force !== 2){
var $eContentMenu = $('.eContentMenu').first();
$eContentMenu.find('>li.more').addClass('hidden');
$eContentMenu.find('>li.hidden').removeClass('hidden').addClass('vhidden');
$eContentMenu.removeClass('ready');
}
}
})
.on('scroll.header', function(){
if(scroll_stop_timeout !== null) {
clearTimeout(scroll_stop_timeout);
}
if(!is_cookie_accept && $('#cookie_accept_button').length){
if(scroll_stop_count == 5){
is_cookie_accept = true;
$('#cookie_accept_button').trigger('click');
}
scroll_stop_timeout = setTimeout(function() {
scroll_stop_count ++;
}, 150);
}
var scrollTop = window.scrollY || window.pageYOffset || 0;
//$('#console').html(scrollTop + ' ' + (document.body.scrollHeight - document.documentElement.clientHeight));
if((scrollTop + 100) > (document.body.scrollHeight - document.documentElement.clientHeight)){
return;
}
if(scrollTop <= 0){
$('body').removeClass('headerStick');
}
if(scrollTop < 120){
return;
}
if (tempScrollTop > scrollTop) {
if(scrollDir == 0 ){
var $body = $('body');
$body.addClass('footerStick');
clearTimeout(headerStickTimeout);
headerStickTimeout = setTimeout(function() {
$body.removeClass('headerStick');
$(window).trigger('resize.menusItems', true);
}, 500);
}
scrollDir = 1;
}else if (tempScrollTop < scrollTop){
if(scrollDir == 1){
var $body = $('body');
$body.removeClass('footerStick');
clearTimeout(headerStickTimeout);
headerStickTimeout = setTimeout(function() {
$body.addClass('headerStick');
var $overlayAd= $('.overlayAd[data-ovft]');
if($overlayAd.length){
$overlayAd.attr('data-ovft', 1);
}
$(window).trigger('resize.menusItems', true);
}, 500);
}
scrollDir = 0;
}
tempScrollTop = scrollTop;
})
.trigger('resize.menusItems');
$(document.body)
.on('mouseenter','.eMainMenu > li, .eContentMenu > li',function(){if(document.documentElement.clientWidth <= _mobileMQMaxWidth){return;}$(this).parent().addClass('active');})
.on('mouseleave','.eMainMenu > li, .eContentMenu > li',function(){if(document.documentElement.clientWidth <= _mobileMQMaxWidth){return;}$(this).parent().removeClass('active');})
.on('click','.eContentMenu > li > a, .eUserMenu > li > a',function(event){
if(document.documentElement.clientWidth <= _mobileMQMaxWidth || !isTouch){
return;
}
var $this = $(this);
if($this.next('ul').length){
event.preventDefault();
}
})
.on('click', '.eSearchForm', function(event){event.stopPropagation();})
.on('click', '.eMainMenu, .eContentMenu', function(event){
event.stopPropagation();
});
$('.root')
.on('mousedown', '.eContentMenu > li:first-child', function(event){
if(document.documentElement.clientWidth > _mobileMQMaxWidth){return;}
var $ul = $(this).parent('ul');
if($ul.is('.closed')){
$ul.removeClass('closed');
}else{
$ul.addClass('closed');
}
})
.on('mousedown', '.eMainMenu > li', function(event){
if(document.documentElement.clientWidth > _mobileMQMaxWidth){return;}
var $this = $(this);
if($this.is('.open')){
$this.removeClass('open');
}else{
$this.addClass('open');
}
})
.on('mousedown', '.eMainMenu a, .eContentMenu a', function(event){
event.stopPropagation();
});
$(document)
.on('touchmove', '.eHeaderBoxWrapper', function(event){
if(document.documentElement.clientWidth > _mobileMQMaxWidth){
return;
}
var changedTouches = event.originalEvent.changedTouches[0];
var t = utils.movieDirection(touchesPageX, touchesPageY, changedTouches.pageX, changedTouches.pageY);
var $targetElement = $(event.target);
var $scroledElement = $targetElement.parents('.stick-box');
var scroledElement = this;
if($targetElement.is('.stick-box')){
scroledElement = $targetElement[0];
}else if($scroledElement.length){
scroledElement = $scroledElement[0];
}
if(t.direction == 'down' && scroledElement.scrollTop == 0){
preventBodyScroll = true;
}else if(t.direction == 'up' && scroledElement.scrollTop >= scroledElement.scrollHeight - $(scroledElement).outerHeight()){
preventBodyScroll = true;
}
})
.on('touchmove', '#center_overlay', function(event){
if(document.documentElement.clientWidth > _mobileMQMaxWidth){
return;
}
preventBodyScroll = true;
})
.on('touchend', '.eHeaderBoxWrapper', function(event){
if(document.documentElement.clientWidth > _mobileMQMaxWidth){
return;
}
var changedTouches = event.originalEvent.changedTouches[0];
var t = utils.movieDirection(touchesPageX, touchesPageY, changedTouches.pageX, changedTouches.pageY);
var dir = isTextRtl ? 'right' : 'left';
var $targetElement = $(event.target);
if($targetElement.is('.stick-box') || $targetElement.parents('.stick-box').length){
dir = isTextRtl ? 'left' : 'right';
}
if(t.direction == dir && t.distance > 30){
$('body').trigger('click');
event.preventDefault();
}
});
});
/*
* BlockAdBlock 3.2.1
* Copyright (c) 2015 Valentin Allaire
* Released under the MIT license
* https://github.com/sitexw/BlockAdBlock
*/
(function(window) {
var BlockAdBlock = function(options) {
this._options = {
checkOnLoad: false,
resetOnEnd: false,
loopCheckTime: 50,
loopMaxNumber: 5,
baitClass: 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links',
baitStyle: 'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;',
debug: false
};
this._var = {
version: '3.2.1',
bait: null,
checking: false,
loop: null,
loopNumber: 0,
event: { detected: [], notDetected: [] }
};
if(options !== undefined) {
this.setOption(options);
}
var self = this;
var eventCallback = function() {
setTimeout(function() {
if(self._options.checkOnLoad === true) {
if(self._options.debug === true) {
self._log('onload->eventCallback', 'A check loading is launched');
}
if(self._var.bait === null) {
self._creatBait();
}
setTimeout(function() {
self.check();
}, 1);
}
}, 1);
};
if(window.addEventListener !== undefined) {
window.addEventListener('load', eventCallback, false);
} else {
window.attachEvent('onload', eventCallback);
}
};
BlockAdBlock.prototype._options = null;
BlockAdBlock.prototype._var = null;
BlockAdBlock.prototype._bait = null;
BlockAdBlock.prototype._log = function(method, message) {
console.log('[BlockAdBlock]['+method+'] '+message);
};
BlockAdBlock.prototype.setOption = function(options, value) {
if(value !== undefined) {
var key = options;
options = {};
options[key] = value;
}
for(var option in options) {
this._options[option] = options[option];
if(this._options.debug === true) {
this._log('setOption', 'The option "'+option+'" he was assigned to "'+options[option]+'"');
}
}
return this;
};
BlockAdBlock.prototype._creatBait = function() {
var bait = document.createElement('div');
bait.setAttribute('class', this._options.baitClass);
bait.setAttribute('style', this._options.baitStyle);
this._var.bait = window.document.body.appendChild(bait);
this._var.bait.offsetParent;
this._var.bait.offsetHeight;
this._var.bait.offsetLeft;
this._var.bait.offsetTop;
this._var.bait.offsetWidth;
this._var.bait.clientHeight;
this._var.bait.clientWidth;
if(this._options.debug === true) {
this._log('_creatBait', 'Bait has been created');
}
};
BlockAdBlock.prototype._destroyBait = function() {
window.document.body.removeChild(this._var.bait);
this._var.bait = null;
if(this._options.debug === true) {
this._log('_destroyBait', 'Bait has been removed');
}
};
BlockAdBlock.prototype.check = function(loop) {
if(loop === undefined) {
loop = true;
}
if(this._options.debug === true) {
this._log('check', 'An audit was requested '+(loop===true?'with a':'without')+' loop');
}
if(this._var.checking === true) {
if(this._options.debug === true) {
this._log('check', 'A check was canceled because there is already an ongoing');
}
return false;
}
this._var.checking = true;
if(this._var.bait === null) {
this._creatBait();
}
var self = this;
this._var.loopNumber = 0;
if(loop === true) {
this._var.loop = setInterval(function() {
self._checkBait(loop);
}, this._options.loopCheckTime);
}
setTimeout(function() {
self._checkBait(loop);
}, 1);
if(this._options.debug === true) {
this._log('check', 'A check is in progress ...');
}
return true;
};
BlockAdBlock.prototype._checkBait = function(loop) {
var detected = false;
if(this._var.bait === null) {
this._creatBait();
}
if(window.document.body.getAttribute('abp') !== null
|| this._var.bait.offsetParent === null
|| this._var.bait.offsetHeight == 0
|| this._var.bait.offsetLeft == 0
|| this._var.bait.offsetTop == 0
|| this._var.bait.offsetWidth == 0
|| this._var.bait.clientHeight == 0
|| this._var.bait.clientWidth == 0) {
detected = true;
}
if(window.getComputedStyle !== undefined) {
var baitTemp = window.getComputedStyle(this._var.bait, null);
if(baitTemp && (baitTemp.getPropertyValue('display') == 'none' || baitTemp.getPropertyValue('visibility') == 'hidden')) {
detected = true;
}
}
if(this._options.debug === true) {
this._log('_checkBait', 'A check ('+(this._var.loopNumber+1)+'/'+this._options.loopMaxNumber+' ~'+(1+this._var.loopNumber*this._options.loopCheckTime)+'ms) was conducted and detection is '+(detected===true?'positive':'negative'));
}
if(loop === true) {
this._var.loopNumber++;
if(this._var.loopNumber >= this._options.loopMaxNumber) {
this._stopLoop();
}
}
if(detected === true) {
this._stopLoop();
this._destroyBait();
this.emitEvent(true);
if(loop === true) {
this._var.checking = false;
}
} else if(this._var.loop === null || loop === false) {
this._destroyBait();
this.emitEvent(false);
if(loop === true) {
this._var.checking = false;
}
}
};
BlockAdBlock.prototype._stopLoop = function(detected) {
clearInterval(this._var.loop);
this._var.loop = null;
this._var.loopNumber = 0;
if(this._options.debug === true) {
this._log('_stopLoop', 'A loop has been stopped');
}
};
BlockAdBlock.prototype.emitEvent = function(detected) {
if(this._options.debug === true) {
this._log('emitEvent', 'An event with a '+(detected===true?'positive':'negative')+' detection was called');
}
var fns = this._var.event[(detected===true?'detected':'notDetected')];
for(var i in fns) {
if(this._options.debug === true) {
this._log('emitEvent', 'Call function '+(parseInt(i)+1)+'/'+fns.length);
}
if(fns.hasOwnProperty(i)) {
fns[i]();
}
}
if(this._options.resetOnEnd === true) {
this.clearEvent();
}
return this;
};
BlockAdBlock.prototype.clearEvent = function() {
this._var.event.detected = [];
this._var.event.notDetected = [];
if(this._options.debug === true) {
this._log('clearEvent', 'The event list has been cleared');
}
};
BlockAdBlock.prototype.on = function(detected, fn) {
this._var.event[(detected===true?'detected':'notDetected')].push(fn);
if(this._options.debug === true) {
this._log('on', 'A type of event "'+(detected===true?'detected':'notDetected')+'" was added');
}
return this;
};
BlockAdBlock.prototype.onDetected = function(fn) {
return this.on(true, fn);
};
BlockAdBlock.prototype.onNotDetected = function(fn) {
return this.on(false, fn);
};
window.BlockAdBlock = BlockAdBlock;
if(window.blockAdBlock === undefined) {
window.blockAdBlock = new BlockAdBlock({
checkOnLoad: true,
resetOnEnd: true
});
}
})(window);
page = {};
pages = {
page_featured_timeout: null,
timespent: {
page_articles_detail: {
time: 0,
id: 0
},
page_photos_detail: {
time: 0,
id: 0
},
page_videos_detail: {
time: 0,
id: 0
}
},
init: {
page_prime_magazine_detail: function (oldPageId, newPageId, buildType) {
// console.log('page_prime_magazine_detail');
if ('primeMagazine' in window) {
// console.log('run magazine');
window.primeMagazine.init();
}
},
page_featured_simple: function (oldPageId, newPageId, buildType) {
utils.spotimCountsToShareBox('#articles_data, #videos_data');
},
page_featured: function (oldPageId, newPageId, buildType) {
if(ajaxNavigation.page.firstBoot){
$(document).scrollTop(0);
}
pagesFn.features.initSection1(buildType);
pagesFn.features.initScroll('features');
if('page_featured' == newPageId){
if(configVars.engine.loaderTimeout > 60000){
pages.page_featured_timeout = setTimeout(function(){
goToUrl(window.location.href);
},configVars.engine.loaderTimeout);
}
}
},
page_driver_detail: function (oldPageId, newPageId, buildType) {
pagesFn.dotdotdotBox(buildType, '#bio_box', 'page_driver_detail', 500);
},
page_team_detail: function (oldPageId, newPageId, buildType) {
pagesFn.dotdotdotBox(buildType, '#history_box', 'page_team_detail', 500);
},
page_track_detail: function (oldPageId, newPageId, buildType) {
pagesFn.dotdotdotBox(buildType, '#history_box', 'page_track_detail', 500);
},
page_photos_browse: function(oldPageId, newPageId, buildType, href){
$('#filters_form').validate();
utils.inputRadioOnLabelUnselect('#filters_form .period');
function clearCalendar(){
if($('#filters_form #dt_calendar').val()){
utils.dateCalendarClear({}, '#filters_form #dt_calendar');
}
}
$('#filters_form').on('click', '.periodRange', function(){
$('#filters_form .periodYear').val('');
clearCalendar();
});
$('#filters_form #dt_calendar').on('focus', function(){
$('#filters_form .periodYear').val('');
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
});
$('#filters_form .periodYear').on('change', function(){
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
clearCalendar();
});
utils.dateCalendar('#dt_calendar_box', {showRangeSelect: true});
//pagesFn.scrollPageToPart('#photos_list', href);
$('#filters_form').on('click', '.column.driver .alphabetList > span', function(){
var $this = $(this),
value = $this.data('value');
if($this.is('.disabled') || $this.is('.current')){
return;
}
$this.parent().find('.current').removeClass('current');
$this.addClass('current');
var $driverList = $this.parent().next('.driverList');
$driverList.find('.letter.current').removeClass('current');
$driverList.find('.letter[data-value="' + value + '"]').addClass('current');
});
utils.inputRadioOnLabelUnselect('#filters_form .photographer');
utils.inputRadioOnLabelUnselect('#filters_form .driver');
$('#filters_form').on('mousedown', '.photographer label, .driver label', function(){
var $this = $(this),
$input = $this.prev('input[type="radio"]'),
$column = $this.parents('.column'),
url = $column.data('url'),
name = $column.is('.driver') ? 'd' : 'ph',
$box = $column.parent('.filtersContentWrapper'),
params = {};
if(!$input.is(':checked')){
params[name] = $input.val();
}
var $check = $box.find('.column.' + (name == 'd' ? 'photographer' : 'driver') + ' input[type="radio"]:checked');
if($check.length){
params[name == 'd' ? 'ph' : 'd'] = $check.val();
}
if(name == 'd'){
var $dl = $box.find('.column.driver .alphabetList .current');
if($dl.length){
var dl = $dl.data('value');
if(dl){
params['dl'] = dl;
}
}
}
$.ajax({
url: url,
data: params,
success: function(response){
if(response && response.constructor === Object && response.html){
var $html = $('').append(response.html);
if($html.length && $box.length){
var $ph = $html.find('.column.photographer'),
$dr = $html.find('.column.driver');
if($ph.length && $dr.length){
$box.find('.column.photographer').hide().after($ph).remove();
$box.find('.column.driver').hide().after($dr).remove();
}
}
$html.remove();
}
}
});
});
var stopScroll = ajaxNavigation.page.firstBoot || buildType == 'popstate' ? true : false;
if(stopScroll){
$(document).scrollTop(0);
}
var scrollTimeout = null;
$(window).on('scroll.page_photos_browse', function(event){
clearTimeout(scrollTimeout);
if(ajaxNavigationBuildPopup.status){
return true;
}
scrollTimeout = setTimeout(function(){
if(stopScroll){
stopScroll = false;
return true;
}
if(!ajaxNavigation.stoped){
utils.listMorePage('photos_list', '#pager .more');
}
}, 300);
});
},
'page_about-us': function(oldPageId, newPageId, buildType, href) {
var $page = $('#' + newPageId),
$window = $(window),
$flagsContainer = $page.find('.editionBox'),
$flags = $flagsContainer.find('.item'),
count = $flags.length,
flagsVisible = false;
var step = (2*Math.PI) / $flags.length,
offsetX = 20,
offsetY = 40;
function rearangeFlagIcons() {
var angle = Math.PI * 3 / 2,
height = $flagsContainer.height() - offsetY,
width = $flagsContainer.width() - offsetX,
halfHeight = height / 2,
halfWidth = width / 2;
if (height < 50) {
setTimeout(function() {
rearangeFlagIcons();
}, 50);
} else if (!flagsVisible) {
flagsVisible = true;
$flags.fadeIn();
}
$flags.each(function(index, el) {
var x = Math.round(halfWidth + halfWidth * Math.cos(angle) - $(this).width()/2) + offsetX / 2,
y = Math.round(halfHeight + halfHeight * Math.sin(angle) - $(this).height()/2) + offsetY / 2;
$(this).css({
left: x + 'px',
top: y + 'px'
});
if (index == 0) {
angle += step + (step / 8);
} else {
angle += step - step / 64;
}
});
}
$window.on('resize', rearangeFlagIcons);
rearangeFlagIcons();
// $flags.each(function(index, el) {
// var $el = $(this);
// setTimeout(function() {
// $el.fadeIn();
// }, 100 * index);
// });
},
page_digest_detail: function(oldPageId, newPageId, buildType, href){
setTimeout(function(){
$('#livefyre_comments_box .showCommentsBtn').trigger('click');
},500);
},
page_articles_detail: function(oldPageId, newPageId, buildType, href){
var d = new Date(),
$page = $('#article_detail'),
$body = $(document.body),
edition = $body.data('edtn'),
$window = $(window),
$articlePhoto = $('.articleWrapper .articlePhoto img'),
mainPhotoLoadInterval,
$articleBox = $('.articleTextBox'),
$sliderViewBtn = $articleBox.find('.btnImageSliderView'),
$articleContent = $articleBox.find('.content');
// there is a porblem with flaot, so if player is inserted it breaks floated text
// also width of player will be different if it floats something
// showAdInEditions = ['en', 'me', 'lat', 'it', 'in', 'uk', 'au', 'de', 'nl', 'cn', 'ru', 'fr', 'br'];
var showAdInEditions = [];
var $graph = $('#shares_speed_graph'),
$path = $('#shares_line'),
lineData = pagesFn.getSharesGraphPoints($graph, $graph.data('shares'));
if (lineData.length) {
var lineFunction = d3.svg.line()
.x(function(d) { return d.x; })
.y(function(d) { return $graph.height() - d.y; })
.interpolate("monotone");
$path.attr('d', lineFunction(lineData));
}
$('.embed-item').each(function(index, item) {
var $el = $(item),
code = $el.data('embed-code');
$el.html(unescape(code));
});
pages.timespent.page_articles_detail.time = d.getTime();
pages.timespent.page_articles_detail.id = $('#page_articles_detail_info').data('id') || 0;
var $livefyre_comments_box = $('#livefyre_comments_box');
var widgets = $('#article_sidebar [data-widget]').detach();
var scrollTimeout = null;
$window.on('scroll.page_article_detail', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
var r = utils.asideWidgetRepeater(widgets, 'article_detail', 'article_sidebar', true);
}
// utils.livefyreCommentsVisibleInit('livefyre_comments_box', function(){
// if(document.documentElement.clientWidth >= 900){
// $window.trigger('scroll.page_article_detail');
// }
// });
}, 300);
}).trigger('scroll.page_article_detail');
pagesFn.features.initScroll('features');
setTimeout(function(){
$('#livefyre_comments_box .showCommentsBtn').trigger('click');
},500);
//
// var $misspellWraper = $('#misspell_report');
// if($misspellWraper.length){
// var userAgent = navigator.platform.toLowerCase(),
// isMac = userAgent.indexOf('mac') >= 0,
// isTouchDevice = !!('ontouchstart' in window);
// if (!isTouchDevice) {
// $misspellWraper.html(''+ i18n.m3681.replace('%s', isMac ? 'Cmd' : 'Ctrl' ) + '
');
// }
// }
$window.on('keydown.mistake', function(event) {
if ((event.keyCode == 10 || event.keyCode == 13) && (event.ctrlKey || event.metaKey)) {
pagesFn.showMistakeWindow();
}
});
var $contentImages = $articleContent.find('.image .thumb[href^="/"]');
if($contentImages.length){
$contentImages.attr('data-build', 'popup');
$contentImages.attr('data-extra-params', 'is_popup:1');
}
// show insider block
(function() {
var $articleParagraphs = $articleContent.children('p'),
paragraphsCount = $articleParagraphs.length,
$insiderForm = $('#motorsport_insider_form'),
middle;
// show register form only when register pop-up already shown
// should be disabled if there is no register pop-up
// var registerLightBox = $.cookie('reglb');
// if (isCookieSupported && !registerLightBox) return;
// if (!$insiderForm.length || paragraphsCount < 10) return;
middle = Math.floor(paragraphsCount / 2);
$articleParagraphs.eq(middle - 1).after($insiderForm);
$insiderForm.show();
$insiderForm.validate();
/*
$insiderForm.validate({
submitHandler: function(form) {
var $form = $(form),
$emailField = $form.find('input[type="email"]');
console.log(form);
// goToUrl('/join/', 'popup', {data: {params: {
// is_popup: 1,
// user_email: $emailField.val()
// }}});
pagesFn.showRegisterPopup({
email: $emailField.val()
});
//add here send email to server for subscription
// console.log($emailField.val());
gaArticleEmailSubscription('articleEmailSubscription', window.location.href);
}
});
*/
})();
// show register popup if user not registered
(function() {
var registerLightBox = $.cookie('reglb'),
isPrimeEdition = $body.hasClass('primeEdition');
// disable register pop-up for all editions
// don't forget to update logic for insider block
return;
// show register popup only in editions which have premium version
if (!isPrimeEdition) {
return;
}
// lightbox every 3 days
if (!window.isAuthorized && isCookieSupported && !registerLightBox) {
/*
var registerTimeout = setTimeout(function() {
$.cookie('reglb', 1, {expires: 3, path: '/'});
goToUrl('/join/', 'popup', {data: {params: {
is_popup: 1
}}});
}, 5000);
*/
var registerTimeout = setTimeout(pagesFn.showRegisterPopup, 5000);
$page.data('register-timeout', registerTimeout);
}
})();
// show ad video
/* Skip advertisement if article has slider gallery */
if ($sliderViewBtn.length !== 1 && (showAdInEditions.indexOf(edition) !== -1)) {
mainPhotoLoadInterval = setInterval(function() {
if ($articlePhoto.height() === 0) return;
clearInterval(mainPhotoLoadInterval);
var $articleParagraphs = $articleContent.children('p'),
paragraphsCount = $articleParagraphs.length,
middle = Math.floor(paragraphsCount / 2),
showAds = $articleContent.data('show-ads'),
$video = $([
''
].join('')),
windowHeight = $window.innerHeight(),
videoHeight,
videoOffset;
if (!showAds) return;
if (paragraphsCount < 5) {
$articleParagraphs.eq(paragraphsCount - 1).after($video);
} else {
$articleParagraphs.eq(middle - 1).after($video);
}
videoOffset = $video.offset();
videoHeight = $video.height();
$video.css({
height: 0,
margin: 0
});
$video.on('adFinished', function(event) {
$video.slideUp(1000, function() {
$video.remove();
});
});
$window
.on('resize.articleVideoAd', function() {
$video.css({
height: 'auto'
});
videoOffset = $video.offset();
videoHeight = $video.height();
$video.height(0);
windowHeight = $window.innerHeight();
})
.on('scroll.articleVideoAd', function() {
var scrollTop = $window.scrollTop();
if (scrollTop + windowHeight - videoHeight / 2 > videoOffset.top && scrollTop - videoHeight / 2 < videoOffset.top) {
$window
.off('resize.articleVideoAd')
.off('scroll.articleVideoAd');
$video.append('');
$video.on('adStart', function() {
$video.animate({height: videoHeight}, 500);
});
}
}).trigger('scroll.articleVideoAd');
}, 100);
}
/* */
var $slider = $('#article_fw_gallery');
if($slider.length){
var $items = $slider.find('.item');
if($items.length > 1){
function getCurrent(){
return $items.filter('.current').first();
}
var hash = decodeURIComponent(document.location.hash);
if(/^#image-/.test(hash)){
var alias = hash.substr(7),
$newCurrent = $items.filter('[data-name="' + alias + '"]');
if($newCurrent.length){
$items.removeClass('current');
$newCurrent.addClass('current');
}
}
var $currentItem = getCurrent();
function detectNextPrev($current){
return [$current.next('.item'), $current.prev('.item')];
}
function initControls(){
$slider.find('.sliderCntrl .btn.nextPhoto, .sliderCntrl .btn.prevPhoto').removeClass('disabled');
}
initControls();
var adsTimeout = null;
$slider.on('click', '.fullWidthSlider .sliderCntrl .btn', function(event){
event.stopPropagation();
event.preventDefault();
var $this = $(this),
$current = getCurrent(),
next_prev = detectNextPrev($current);
if($this.is('.disabled')){
return false;
} else if($this.is('.nextPhoto')){
if(next_prev[0].length){
$items.removeClass('current');
$current = next_prev[0].addClass('current');
}else{
$items.removeClass('current');
$current = $items.first().addClass('current');
}
}else if($this.is('.prevPhoto')){
if(next_prev[1].length){
$items.removeClass('current');
$current = next_prev[1].addClass('current');
}else{
$items.removeClass('current');
$current = $items.last().addClass('current');
}
}
document.location.hash = 'image-' + $current.data('name');
var trackUrl = $('#current_series').data('track-url');
if(trackUrl){
gaTrack(trackUrl);
}
var $adsBox = $('#article_sidebar [data-type="ad"][data-widget]').first(),
$ads = $adsBox.find('.ap');
if($ads.length){
clearTimeout(adsTimeout);
adsTimeout = setTimeout(function(){
$ads.data('ready', false).attr('data-ready', false).find('>div').empty();
utils.banners($adsBox);
},1000);
}
})
.on('click', '.fullWidthSlider .item .thumb', function(event){
event.stopPropagation();
event.preventDefault();
$('.fullWidthSlider').find('.sliderControlsGen.sliderCntrl .btn.nextPhoto').trigger('click');
}).on('touchend', '.fullWidthSlider .item .thumb', function(event){
var changedTouches = event.originalEvent.changedTouches[0];
var t = utils.movieDirection(touchesPageX, touchesPageY, changedTouches.pageX, changedTouches.pageY);
if(t.direction == 'left' && t.distance > 30){
$('.fullWidthSlider').find('.sliderControlsGen.sliderCntrl .btn.nextPhoto').trigger('click');
}else if(t.direction == 'right' && t.distance > 30){
$('.fullWidthSlider').find('.sliderControlsGen.sliderCntrl .btn.prevPhoto').trigger('click');
}
});
}
}
$body.on('keydown.page-article-detail-key-navigation', function(event){
if('ajaxNavigationBuildPopup' in window && ajaxNavigationBuildPopup.status){
return;
}
if(event.altKey || event.ctrlKey || event.shiftKey){
return true;
}
var prevCodes = [37,100],
nextCodes = [39,102];
if($.inArray(event.keyCode, prevCodes) >= 0){
//$('.articleDetail .contentNavigSmall').first().find('.prev').trigger('click');
$('.fullWidthSlider').find('.sliderControlsGen.sliderCntrl .btn.prevPhoto').trigger('click');
} else if($.inArray(event.keyCode, nextCodes) >= 0){
//$('.articleDetail .contentNavigSmall').first().find('.next').trigger('click');
$('.fullWidthSlider').find('.sliderControlsGen.sliderCntrl .btn.nextPhoto').trigger('click');
}
});
// Floating share box
(function() {
var $articleDetail = $('#article_detail'),
$shareBox = $articleDetail.find('.shareBox').eq(0).clone(true),
isRtl = $body.hasClass('textRtl'),
$centerSharesBlock = $('#center_shares_block');
var $relatedPage = $('#related_page');
$centerSharesBlock.addClass('hidden');
$shareBox.attr('class', '').addClass('shareBox share-box-icon-list').appendTo($centerSharesBlock);
$centerSharesBlock.append('');
$centerSharesBlock.append('');
setTimeout(function() {
$centerSharesBlock.removeClass('hidden');
setTimeout(function() {
$centerSharesBlock.addClass('initialized');
}, 1000);
}, 5000);
$centerSharesBlock
.on('click', 'a', function(event) {
var isHidden = parseInt($centerSharesBlock.css(isRtl ? 'right' : 'left'), 10) !== 0;
if (isHidden) {
event.preventDefault();
event.stopPropagation();
}
})
.on('click', '.collapseBtn', function() {
$centerSharesBlock.addClass('collapsed');
})
.on('click', '.expandBtn', function() {
$centerSharesBlock.removeClass('collapsed');
});
$window.on('scroll.share_widget', function() {
var scrollTop = window.scrollY || window.pageYOffset || 0,
relatedPageTop = $relatedPage.offset().top;
if (scrollTop + window.innerHeight > relatedPageTop) {
$centerSharesBlock.fadeOut();
} else {
$centerSharesBlock.fadeIn();
}
});
})();
/*
(function() {
var userMenuHeight = $('#user_menu').height(),
headerHeight = $('#header_box').height(),
mainMenuHeight = headerHeight - userMenuHeight,
$articleDetail = $('#article_detail'),
$shareBox = $articleDetail.find('.shareBox').eq(0).clone(true),
$articleStart = $articleDetail.find('.articlePhoto'),
$articleAbout = $articleDetail.find('.aboutInfo'),
$stickSideCenter = $('#stick_side_center'),
innerHeight = window.innerHeight,
sharesVisible = false;
if(!$shareBox.length || !$stickSideCenter.length || !$articleAbout.length) return;
if (!$articleStart.length) {
if (!$slider.length) return;
$articleStart = $articleDetail.find('.articleContent');
}
$shareBox.attr('class', '').addClass('shareBox share-box-icon-list').appendTo($stickSideCenter);
$window
.on('resize.share_box', function() {
innerHeight = window.innerHeight;
})
.on('scroll.share_box', function(event) {
var articleStartBbox = $articleStart[0].getBoundingClientRect(),
articleAboutBbox = $articleAbout[0].getBoundingClientRect();
if (articleStartBbox.top - mainMenuHeight < 0 && innerHeight < articleAboutBbox.bottom) {
if (sharesVisible) return;
sharesVisible = true;
$stickSideCenter.addClass('show-info');
} else {
sharesVisible = false;
$stickSideCenter.removeClass('show-info');
}
}).trigger('scroll.share_box');
})();
*/
var $outbtain_box = $('.OUTBRAIN');
if($outbtain_box.length){
$outbtain_box.after('');
}
var $ligatus_box = $('#ligatus_box');
if($ligatus_box.length){
$ligatus_box.html('');
}
var $smi2ru_box = $('#smi2ru_box');
if($smi2ru_box.length){
$smi2ru_box.html('');
}
var $sharethrough_box = $('#sharethrough_box');
if($sharethrough_box.length){
$sharethrough_box.after('');
}
},
page_team: function(oldPageId, newPageId, buildType, href) {
var $this = $(this),
$window = $(window),
$pageTeamCenterBlock = $('.pageTeamCenterBlock'),
$overlayContentWrapper = $('[data-role="popup"]');
$pageTeamCenterBlock.on('click', '.personsWithDetailInfo .person', function(event) {
var $this = $(this);
if ($this.hasClass('noDetails')) return;
if ($(event.target).is('a')) {
return;
}
var html = [
'',
'',
$this.html(),
'
'
];
$window.on('keyup.team-overlay click', function (event) {
if (event.keyCode === 27) {
$overlayContentWrapper.find('.popupClose').trigger('click');
}
});
$overlayContentWrapper
.on('click.team-overlay', function() {
$overlayContentWrapper.find('.popupClose').trigger('click');
})
.on('click.team-overlay', '.personInfoWrapper', function(event) {
event.stopPropagation();
})
.on('click.team-overlay', '.popupClose', function(event) {
$overlayContentWrapper
.removeClass("enabled")
.addClass("disabled")
.empty();
$overlayContentWrapper.off('click.team-overlay');
$window.off('keyup.team-overlay');
});
$overlayContentWrapper
.addClass('enabled')
.removeClass('disabled')
.html(html.join(''));
});
},
page_videos_detail: function(oldPageId, newPageId, buildType, href){
var d = new Date();
pages.timespent.page_videos_detail.time = d.getTime();
pages.timespent.page_videos_detail.id = $('#page_videos_detail_info').data('id') || 0;
var $livefyre_comments_box = $('#livefyre_comments_box');
var widgets = $('#video_sidebar [data-widget]').detach();
var scrollTimeout = null;
$(window).on('scroll.page_videos_detail', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
var r = utils.asideWidgetRepeater(widgets, 'video_detail', 'video_sidebar', true);
}
// utils.livefyreCommentsVisibleInit('livefyre_comments_box', function(){
// if(document.documentElement.clientWidth >= 900){
// $(window).trigger('scroll.page_videos_detail');
// }
// });
}, 300);
}).trigger('scroll.page_videos_detail');
pagesFn.features.initScroll('features');
setTimeout(function(){
$('#livefyre_comments_box .showCommentsBtn').trigger('click');
},500);
},
page_tvshow_episode_detail: function(oldPageId, newPageId, buildType, href){
var d = new Date();
pages.timespent.page_videos_detail.time = d.getTime();
pages.timespent.page_videos_detail.id = $('#page_videos_detail_info').data('id') || 0;
var $livefyre_comments_box = $('#livefyre_comments_box');
var widgets = $('#video_sidebar [data-widget]').detach();
var scrollTimeout = null;
$(window).on('scroll.page_tvshow_episode_detail', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
var r = utils.asideWidgetRepeater(widgets, 'video_detail', 'video_sidebar', true);
}
// utils.livefyreCommentsVisibleInit('livefyre_comments_box', function(){
// if(document.documentElement.clientWidth >= 900){
// $(window).trigger('scroll.page_tvshow_episode_detail');
// }
// });
}, 300);
}).trigger('scroll.page_tvshow_episode_detail');
setTimeout(function(){
$('#livefyre_comments_box .showCommentsBtn').trigger('click');
},500);
},
page_topic_detail_bio: function(oldPageId, newPageId, buildType, href){
pagesFn.asideWidgetDetailScroll('page_topic_detail_bio', 'topic_detail_bio', 'topic_bio_sidebar');
},
page_driver_detail_bio: function(oldPageId, newPageId, buildType, href){
pagesFn.asideWidgetDetailScroll('page_driver_detail_bio', 'driver_detail_bio', 'driver_bio_sidebar');
},
page_team_detail_history: function(oldPageId, newPageId, buildType, href){
pagesFn.asideWidgetDetailScroll('page_team_detail_history', 'team_detail_history', 'team_history_sidebar');
},
page_track_detail_history: function(oldPageId, newPageId, buildType, href){
pagesFn.asideWidgetDetailScroll('page_track_detail_history', 'track_detail_history', 'track_history_sidebar');
},
page_photos_detail: function(oldPageId, newPageId, buildType, href){
var d = new Date();
pages.timespent.page_photos_detail.time = d.getTime();
pages.timespent.page_photos_detail.id = $('#page_photos_detail_info').data('id') || 0;
if('photosDetail' in page){
page.photosDetail.pageInit();
page.photosDetail.keyNavigationInit();
}
var $livefyre_comments_box = $('#livefyre_comments_box');
var widgets = $('#photos_sidebar [data-widget]').detach();
var scrollTimeout = null;
$(window).on('scroll.page_photos_detail', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
var r = utils.asideWidgetRepeater(widgets, 'photos_box', 'photos_sidebar', true);
//console.log(r);
// if(r != 'keepon' && parseInt(document.getElementById('page_photos_detail').getBoundingClientRect().bottom) <= document.documentElement.clientHeight){
// if($livefyre_comments_box.data('loaded')){
// console.log('loading new content');
// }
// }
}
// utils.livefyreCommentsVisibleInit('livefyre_comments_box', function(){
// if(document.documentElement.clientWidth >= 900){
// $(window).trigger('scroll.page_photos_detail');
// }
// });
}, 300);
}).trigger('scroll.page_photos_detail');
pagesFn.features.initScroll('features');
setTimeout(function(){
$('#livefyre_comments_box .showCommentsBtn').trigger('click');
},500);
},
page_news_browse: function(oldPageId, newPageId, buildType, href){
$('#filters_form').validate();
utils.inputRadioOnLabelUnselect('#filters_form .period');
function clearCalendar(){
if($('#filters_form #dt_calendar').val()){
utils.dateCalendarClear({}, '#filters_form #dt_calendar');
}
}
$('#filters_form').on('click', '.periodRange', function(){
$('#filters_form .periodYear').val('');
clearCalendar();
});
$('#filters_form #dt_calendar').on('focus', function(){
$('#filters_form .periodYear').val('');
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
});
$('#filters_form .periodYear').on('change', function(){
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
clearCalendar();
});
utils.dateCalendar('#dt_calendar_box', {showRangeSelect: true});
pagesFn.asideWidgetMoreScroll('page_news_browse', 'news_list', 'news_sidebar');
utils.spotimCountsToShareBox('#news_list #news_list_wrapper');
},
page_digest_browse: function(oldPageId, newPageId, buildType, href){
pagesFn.asideWidgetDefaultScroll('page_digest_browse', 'digest_list', 'digest_sidebar');
},
page_videos_browse: function(oldPageId, newPageId, buildType, href){
$('#filters_form').validate();
utils.inputRadioOnLabelUnselect('#filters_form .period');
utils.inputRadioOnLabelUnselect('#filters_form .topics');
function clearCalendar(){
if($('#filters_form #dt_calendar').val()){
utils.dateCalendarClear({}, '#filters_form #dt_calendar');
}
}
$('#filters_form').on('click', '.periodRange', function(){
$('#filters_form .periodYear').val('');
clearCalendar();
});
$('#filters_form #dt_calendar').on('focus', function(){
$('#filters_form .periodYear').val('');
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
});
$('#filters_form .periodYear').on('change', function(){
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
clearCalendar();
});
utils.dateCalendar('#dt_calendar_box', {showRangeSelect: true});
pagesFn.asideWidgetMoreScroll('page_videos_browse', 'videos_list', 'videos_sidebar');
},
page_broadcasts_browse: function(oldPageId, newPageId, buildType, href) {
var $page = $('#' + newPageId),
$dates = $page.find('[data-future-date]');
$dates.each(function(index, el) {
var $el = $(el),
date;
if ($el.data('ready')) return;
date = new Date($el.data('future-date') * 1000);
$el.data('ready', true);
$el.html('' + date.format('yyyy-mm-dd HH:MM:ss') + '');
});
pagesFn.asideWidgetMoreScroll('page_broadcasts_browse', 'live_texts_list', 'live_texts_sidebar');
},
page_broadcast: function(oldPageId, newPageId, buildType, href) {
var $window = $(window),
$page = $('#' + newPageId),
$statusIcon = $page.find('#article_detail h1 img'),
$broadcastWrapper = $('#broadcast_wrapper'),
$connectionsCountWrapper = $broadcastWrapper.find('.usersCount'),
broadcastData = $broadcastWrapper.data(),
$commentsWrapper = $page.find('.commentsWrapper'),
$liveTextPlanned = $page.find('.liveTextPlanned'),
$yourDate = $liveTextPlanned.find('.yourDate'),
$localDate = $liveTextPlanned.find('.localDate'),
$liveTextDateCtrl = $liveTextPlanned.find('.liveTextDateControl'),
$liveTextDates = $liveTextPlanned.find('.livetextDate'),
broadcastApi,
twitterVia = broadcastData.via.split("/").pop() || 'motorsport',
date = new Date();
$liveTextDates.addClass('hidden').eq(0).removeClass('hidden');
$liveTextDateCtrl.eq(0).addClass('active');
$liveTextDateCtrl.on('click', function(el) {
var $this = $(this),
index = $liveTextDateCtrl.index($this);
$liveTextDateCtrl.removeClass('active');
$this.addClass('active');
$liveTextDates.addClass('hidden');
$liveTextDates.eq(index).removeClass('hidden');
});
if ($yourDate.length) {
date = new Date(parseInt($yourDate.data('future-date'), 10) * 1000 + date.getTimezoneOffset());
$yourDate.text(dateFormat(date, 'yyyy-mm-dd HH:MM'));
}
broadcastApi = $broadcastWrapper.broadcast({
startTime: broadcastData.startTime,
wsUri: broadcastData.wsUri,
wsState: broadcastData.wsState,
broadcastId: broadcastData.broadcastId,
via: twitterVia
});
$broadcastWrapper.on('statuschange', function(event, status) {
if (status === 1) {
$statusIcon.removeClass('hidden');
$commentsWrapper.removeClass('hidden');
$connectionsCountWrapper.show();
$liveTextPlanned.remove();
$window.on('beforeunload.page_broadcast', function() {
return i18n.m4369;
});
} else {
$statusIcon.addClass('hidden');
$connectionsCountWrapper.hide();
$window.off('beforeunload.page_broadcast');
}
});
var $livefyre_comments_box = $('#livefyre_comments_box');
var widgets = $('#article_sidebar [data-widget]').detach();
var scrollTimeout = null;
var bannersInitialized = false;
var bannerAndGaInterval = 300000; // 5 min
$window.on('scroll.page_broadcast', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(window.innerWidth > 1024) {
var r = utils.asideWidgetRepeater(widgets, 'article_detail', 'article_sidebar', true);
}
if(!bannersInitialized && configVars.engine.loaderTimeout > 60000) {
initBannerReloader();
bannersInitialized = true;
}
utils.livefyreCommentsVisibleInit('livefyre_comments_box', function(){
if(window.innerWidth > 1024) {
$window.trigger('scroll.page_broadcast');
}
});
}, 300);
}).trigger('scroll.page_broadcast');
// reload banner and send page view
function initBannerReloader() {
function refreshBannersAndPageView() {
var $topBanner = $('.topAp .ap'),
$leftBanner = $('.sidebar .ap').eq(0),
scrollTop = $window.scrollTop(),
trackUrl = broadcastData.trackUrl;
if(window.innerWidth > 747 && scrollTop < 165){
$topBanner.each(function(index, el) {
var $el = $(el);
$el.empty();
$el.removeAttr('data-ready');
utils.banners($el.parent());
});
}
if(window.innerWidth > 1024 && scrollTop < 510){
$leftBanner.empty();
$leftBanner.removeAttr('data-ready');
utils.banners($leftBanner.parent());
}
gaTrack(trackUrl);
pages.page_broadcast_timeout = setTimeout(refreshBannersAndPageView, bannerAndGaInterval);
}
pages.page_broadcast_timeout = setTimeout(refreshBannersAndPageView, bannerAndGaInterval);
}
},
page_login: function(){
$('#login-form').validate();
},
page_info_join: function() {
var $body = $(document.body),
$vacancies = $('#table_vacancies'),
hash = window.location.hash.replace('#', ''),
$vacancyHeader;
if (hash) {
$vacancyHeader = $vacancies.find('[data-value="'+ hash +'"]');
$vacancyHeader.addClass('active').attr('data-toggle', 1);
$vacancies.find('[data-button-target="'+ hash +'"]').addClass('enabled').removeClass('disabled');
setTimeout(function() {
$body.stop().animate({scrollTop: $vacancyHeader.offset().top - 60}, 500);
}, 500);
}
$(".joinForm").each(function(index, el) {
$(el).validate();
});
},
page_join: function() {
$("#join-form").validate({
rules: {
login: {
remote: {
type: 'POST',
url: '/join/standalone-validate/'
}
},
email: {
remote: {
type: 'POST',
url: '/join/standalone-validate/'
}
}
}
});
},
page_join_prime: function() {
$("#join-form").validate({
rules: {
login: {
remote: {
type: 'POST',
url: '/join/standalone-validate/'
}
},
email: {
remote: {
type: 'POST',
url: '/join/standalone-validate/'
}
}
}
});
},
recovery_password: function(){
$('#recovery-password-form').validate();
},
reset_password: function(){
$('#change-password-form').validate();
},
page_albums_browse: function(oldPageId, newPageId, buildType, href) {
var timer = setTimeout(initUploader, 50);
function initUploader() {
if( 'initPhotoUploader' in pagesFn && page.cmpUploader && typeof page.cmpUploader.ChunkUploader === "function" ) {
pagesFn.initPhotoUploader();
} else {
setTimeout(initUploader, 100);
}
}
var widgets = $('#albums_sidebar [data-widget]').detach();
var stopScroll = ajaxNavigation.page.firstBoot || buildType == 'popstate' ? true : false;
if(stopScroll){
$(document).scrollTop(0);
}
var scrollTimeout = null;
$(window).on('scroll.page_albums_browse', function(){
var $moreBtn = $('#pager .more');
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
utils.asideWidgetRepeater(widgets, 'albums_grid', 'albums_sidebar', true);
}
if(stopScroll){
stopScroll = false;
return true;
}
if ($('#album_edit_wrapper').is(":visible") || $moreBtn.is(".disabled")) {
return false;
}
if(!ajaxNavigation.stoped){
utils.listMorePage('albums_grid', '#pager .more');
}
}, 300);
}).trigger('scroll.page_albums_browse');
},
page_video_add: function(oldPageId, newPageId, buildType, href) {
if( 'initVideoUploader' in pagesFn && page.cmpUploader && typeof page.cmpUploader.ChunkUploader === "function" ) {
pagesFn.initVideoUploader();
} else {
setTimeout(pages.init.page_video_add, 50);
}
},
page_results: function(){
$('.pageResults .filtersBox .filterSelectAction').on('change', function(){
goToUrl($(this).find(':selected').val());
});
var widgets = $('#results_sidebar [data-widget]').detach();
var scrollTimeout = null;
$(window).on('scroll.page_results', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
utils.asideWidgetRepeater(widgets, 'results_box', 'results_sidebar', true);
}
}, 300);
}).trigger('scroll.page_results');
if ( $('#page_results').is('.pageResultsWrc') ) {
var $tableWithFlags = $('.results'),
$racesTitleWrapepr = $('.filterSelectAction').eq(1).find('option'),
$tableTh;
if( $tableWithFlags.length ){
$tableTh = $tableWithFlags.find('th').not('.c0, .c1, .cz').not(':last-child');
$tableTh.each(function(pos, el){
var $item = $(el),
$linkItem = $racesTitleWrapepr.eq((pos + 1)),
href = $linkItem.attr('value');
$item.find('a').attr('href', href);
});
}
}
},
page_content_filter: function(oldPageId, newPageId, buildType, href){
var isEventPage = $('.root').is('.pageFilterEvent');
var widgets = $('#filter_sidebar [data-widget]').detach();
var stopScroll = false;
if(isEventPage){
$('#filters_form').validate();
utils.inputRadioOnLabelUnselect('#filters_form .period');
function clearCalendar(){
if($('#filters_form #dt_calendar').val()){
utils.dateCalendarClear({}, '#filters_form #dt_calendar');
}
}
$('#filters_form').on('click', '.periodRange', function(){
$('#filters_form .periodYear').val('');
clearCalendar();
});
$('#filters_form #dt_calendar').on('focus', function(){
$('#filters_form .periodYear').val('');
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
});
$('#filters_form .periodYear').on('change', function(){
$('#filters_form .period input[type="radio"]:checked').prop('checked', false);
clearCalendar();
});
utils.dateCalendar('#dt_calendar_box', {showRangeSelect: true});
stopScroll = ajaxNavigation.page.firstBoot || buildType == 'popstate' ? true : false;
if(stopScroll){
$(document).scrollTop(0);
}
}
var scrollTimeout = null;
$(window).on('scroll.page_content_filter', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
utils.asideWidgetRepeater(widgets, 'filter_list', 'filter_sidebar', true/*!isEventPage*/);
}
if(isEventPage){
if(stopScroll){
stopScroll = false;
return true;
}
if(!ajaxNavigation.stoped){
utils.listMorePage('filter_list', '#pager .more');
}
}
}, 300);
}).trigger('scroll.page_content_filter');
},
page_profile : function(){
function prepareForm (form) {
if(form.length) {
form.validate();
return form;
}
}
var $account = prepareForm($('#form_update_account')),
$password = prepareForm($('#form_change_password')),
$notifi = prepareForm($('#form_email_options')),
$email = prepareForm($('#form_change_email')),
$delete = prepareForm($('#form_delete_account')),
$album = prepareForm($('#form_change_album')),
$subs = $('#form_update_subs'),
$pageSkin = prepareForm($('#form_change_page_skin')),
$btn_Delete = $('#delete_album', $album).hide(),
$album_name = $('#album_name', $album),
$albumSave = $('[type="submit"]', $album),
$photo_albums = $('#form_add_photo_albums'),
$change_image_form = prepareForm($('#change-image-form')),
$crop_image_form = $('#crop_image_form'),
$crop_image_button = $('#crop_image_button'),
$change_image_input = $('#change_image_input'),
$newsletter_series = $("#motorsport_newsletter_series-element");
var $message = $('.fullWidthMsgWrapper');
if ($message.length) {
if (!$message.hasClass('persist')) {
setTimeout(function() {
hideMessage($message);
}, 10000);
}
}
$message.on('click', '.close', function() {
var $this = $(this),
$message = $this.closest('.fullWidthMsgWrapper');
if ($message.hasClass('removing')) return;
$message.addClass('removing');
hideMessage($message);
});
function hideMessage() {
$message.slideUp(1000, function() {
$message.remove();
});
}
if( $change_image_input && $change_image_input.length) {
$change_image_input.on('change', function(){
$('#change_image').trigger('click');
});
}
if( $album && $album.length) {
$album.find('[type="reset"]').on('click', function(){
$album.attr('action', $album.data('create-album'));
$btn_Delete.hide();
$albumSave.val(i18n.m1032);
});
$album.on('change', '#form_add_photo_albums', function(event){
var $this = $(this),
$selected = $this.find(':selected');
if ( $selected.val() && $selected.val() != '') {
$btn_Delete.show();
$album_name.val($selected.attr('label'));
$albumSave.val(i18n.m2792);
$album.attr('action', $album.data('update-album'));
$btn_Delete.data('extra-params', 'album_id: ' + $selected.val() + '')
} else {
$btn_Delete.hide();
$album_name.val('');
$albumSave.val(i18n.m1032);
$album.attr('action', $album.data('create-album'));
}
});
}
if ($pageSkin && $pageSkin.length) {
$pageSkin.find('#page_skin_tablet_title_color').on('change', function() {
$('#page_skin_tablet_title_color_x2').val($(this).val());
});
$pageSkin.find('#page_skin_phone_title_color').on('change', function() {
$('#page_skin_phone_title_color_x2').val($(this).val());
});
}
if ($notifi) {
$notifi.find('#motorsport_newsletter_form_email_options_daily').on('click', function() {
var $this = $(this),
isChecked = $this.is(":checked");
if (isChecked) {
$newsletter_series.removeAttr('disabled').show();
} else {
$newsletter_series.attr('disabled', 'disabled').hide();
}
});
}
// track user subscription information
(function() {
var type = $.cookie('prime_upgrade_type'),
packageName = $.cookie('prime_package_name');
if (!type || !packageName) return;
gaTrackPrime(type, packageName);
$.removeCookie("prime_upgrade_type", { path: '/' });
$.removeCookie("prime_package_name", { path: '/' });
})();
},
page_members_browse: function(oldPageId, newPageId, buildType, href){
pagesFn.asideWidgetMoreScroll('page_members_browse', 'members_list', 'members_sidebar');
},
page_feedback: function(){
$('#feedback_form').validate();
},
page_feed: function(){
var $feedBtn = $('#feed_button'),
$feedBtnCount = $feedBtn.find('> a');
$feedBtnCount.attr('data-feed-count', '');
$.cookie('feed_count', 0, {
path: '/'
});
$feedBtn.addClass('hidden');
pagesFn.asideWidgetMoreScroll('page_feed', 'feeds_list', 'feeds_sidebar');
},
page_corporate_info: function(oldPageId, newPageId, buildType ){
pagesFn.asideWidgetDefaultScroll('page_corporate_info', 'article_detail', 'article_sidebar');
},
page_mediawall: function(oldPageId, newPageId, buildType ){
var widgets = $('#mediawall_sidebar [data-widget]').detach();
var stopScroll = ajaxNavigation.page.firstBoot || buildType == 'popstate' ? true : false;
if(stopScroll){
$(document).scrollTop(0);
}
var scrollTimeout = null;
$(window).on('scroll.page_mediawall', function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= 900){
utils.asideWidgetRepeater(widgets, 'mediawall_list', 'mediawall_sidebar', true);
}
if(stopScroll){
stopScroll = false;
return true;
}
if(!ajaxNavigation.stoped){
utils.listMorePage('mediawall_list', '#pager .more');
}
}, 300);
}).trigger('scroll.page_mediawall');
var $list = $('#mediawall_list');
var delay = 60000;
function getNewPosts(){
var data = $list.data(),
sdata = {dt: data.dt};
if('category' in data){
sdata.category = data.category;
}
if('raceType' in data){
sdata.raceType = data.raceType;
}
$.ajax({
type: "POST",
url: "/socialwall/np/",
data: sdata,
success: function(response){
if(response && response.constructor === Object){
if(response.status && response.message){
var newcount = response.count || 0;
var oldcount = data.count == undefined ? 0 : data.count;
if(newcount > oldcount){
cmpTrayAlert.show(response.message, null, false, null, 'mediawall-new-posts');
$list.data('count', newcount);
}
}
$list.data('getnew', setTimeout(getNewPosts, delay));
}
}
});
}
//$list.data('getnew', setTimeout(getNewPosts, delay));
},
page_corporate_press: function( oldPageId, newPageId, buildType ){
//pagesFn.asideWidgetDefaultScroll('page_corporate_press', 'news_list', 'news_sidebar');
},
page_search : function( oldPageId, newPageId, buildType ){
pagesFn.asideWidgetDefaultScroll('page_search', 'search_list_box', 'search_sidebar');
},
page_drivers_browse: function( oldPageId, newPageId, buildType ){
pagesFn.asideWidgetDefaultScroll('page_drivers_browse', 'drivers_list', 'drivers_sidebar');
},
page_teams_browse: function( oldPageId, newPageId, buildType ){
pagesFn.asideWidgetDefaultScroll('page_teams_browse', 'teams_list', 'teams_sidebar');
},
page_track_browse: function( oldPageId, newPageId, buildType ){
pagesFn.googleMapsBox('#map-canvas', '#track_list');
pagesFn.asideWidgetDefaultScroll('page_track_browse', 'track_list', 'track_sidebar');
},
page_schedule_browse: function( oldPageId, newPageId, buildType ){
$('#filters_form').validate();
pagesFn.googleMapsBox('#map-canvas', '#events_list');
pagesFn.asideWidgetDefaultScroll('page_schedule_browse', 'schedule_list', 'schedule_sidebar');
},
page_tvshow_episodes_browse: function( oldPageId, newPageId, buildType ){
pagesFn.asideWidgetMoreScroll('page_tvshow_episodes_browse', 'videos_list');
},
page_tvshow_allepisodes_browse: function( oldPageId, newPageId, buildType ){
pagesFn.asideWidgetMoreScroll('page_tvshow_allepisodes_browse', 'videos_list');
},
page_subscription: function(){
var $form = $('#subscription_form'),
$newsletterSeries = $("#motorsport_newsletter_series-element");
$form.validate();
$form.find('#motorsport_newsletter_form_email_options_daily').on('click', function() {
var $this = $(this),
isChecked = $this.is(":checked");
if (isChecked) {
$newsletterSeries.removeAttr('disabled').show();
} else {
$newsletterSeries.attr('disabled', 'disabled').hide();
}
});
},
page_index_index_sweepstakes: function() {
var $form = $('#sweepstake-form');
$form.validate();
}
},
rebuild: {
page_broadcasts_browse: function(oldPageId, newPageId, buildType, href) {
var $page = $('#' + newPageId),
$dates = $page.find('[data-future-date]');
$dates.each(function(index, el) {
var $el = $(el),
date;
if ($el.data('ready')) return;
date = new Date($el.data('future-date') * 1000);
$el.data('ready', true);
$el.html('' + date.format('yyyy-mm-dd HH:MM:ss') + '');
});
},
page_news_browse: function(oldPageId, newPageId, buildType, href){
utils.spotimCountsToShareBox('#news_list #news_list_wrapper');
}
},
remove: {
page_prime_magazine_detail: function () {
// console.log('page_prime_magazine_detail remove');
$(window).off('resize.page_prime_magazine_detail');
$(document)
.off('keydown.page_prime_magazine_detail')
.off('fullscreenchange.page_prime_magazine_detail');
},
page_news_browse: function () {
$(window).off('scroll.page_news_browse');
},
page_digest_browse: function () {
$(window).off('scroll.page_digest_browse');
},
page_photos_browse: function () {
$(window).off('scroll.page_photos_browse');
},
page_results: function () {
$(window).off('scroll.page_results');
},
page_content_filter: function () {
$(window).off('scroll.page_content_filter');
},
page_videos_browse: function () {
$(window).off('scroll.page_videos_browse');
},
page_tvshow_episodes_browse: function () {
$(window).off('scroll.page_tvshow_episodes_browse');
},
page_videos_detail: function () {
$(window).off('scroll.page_videos_detail').off('resize.page_featured').off('scroll.page_featured');
},
page_tvshow_episode_detail: function () {
$(window).off('scroll.page_tvshow_episode_detail');
},
page_driver_detail_bio: function () {
$(window).off('scroll.page_driver_detail_bio');
},
page_team_detail_history: function () {
$(window).off('scroll.page_team_detail_history');
},
page_team_detail: function () {
$(window).off('resize.page_team_detail');
},
page_track_detail_history: function () {
$(window).off('scroll.page_track_detail_history');
},
page_track_detail: function () {
$(window).off('resize.page_track_detail');
},
page_photos_detail: function () {
$(window).off('scroll.page_photos_detail').off('resize.page_featured').off('scroll.page_featured');
if('photosDetail' in page){
page.photosDetail.keyNavigationDestroy();
}
},
page_featured: function(){
clearTimeout(pages.page_featured_timeout);
$(window).off('resize.page_featured').off('scroll.page_featured');
},
page_driver_detail: function(){
$(window).off('resize.page_driver_detail');
},
page_articles_detail: function(){
var $page = $('#article_detail');
$(window)
.off('scroll.page_article_detail')
.off('resize.page_featured')
.off('keydown.mistake')
.off('scroll.page_featured')
.off('resize.articleVideoAd')
.off('scroll.articleVideoAd')
.off('resize.share_box')
.off('scroll.share_box');
window.mistakewindowVisible = null;
clearTimeout($page.data('register-timeout'));
$(document.body).off('keydown.page-article-detail-key-navigation');
},
page_profile: function(){
$(window).off('scroll.page_profile');
},
page_members_browse: function(){
$(window).off('scroll.page_members_browse');
},
page_corporate_info: function(){
$(window).off('scroll.page_corporate_info');
},
page_search: function(){
$(window).off('scroll.page_search');
},
page_drivers_browse: function(){
$(window).off('scroll.page_drivers_browse');
},
page_teams_browse: function(){
$(window).off('scroll.page_teams_browse');
},
page_track_browse: function(){
$(window).off('scroll.page_track_browse');
},
page_schedule_browse: function(){
$(window).off('scroll.page_schedule_browse');
},
page_albums_browse: function(){
$(window).off('scroll.page_albums_browse');
},
page_corporate_press: function(){
$(window).off('scroll.page_corporate_press');
},
page_mediawall: function(){
clearTimeout($('#mediawall_list').data('getnew'));
$(window).off('scroll.page_mediawall');
$(document.body).off('keydown.page-mediawall-popup-detail-key-navigation');
},
page_broadcast: function() {
var $broadcastWrapper = $('#broadcast_wrapper'),
broadcastApi = $broadcastWrapper.data('api'),
$window = $(window);
broadcastApi.close();
$window.off('scroll.page_broadcast');
$window.off('beforeunload.page_broadcast');
clearTimeout(pages.page_broadcast_timeout);
}
},
popup: {
popup_photos_detail: function(oldPageId, newPageId, buildType, href){
if('photosDetail' in page){
var d = new Date();
pages.timespent.page_photos_detail.time = d.getTime();
pages.timespent.page_photos_detail.id = $('#page_photos_detail_info').data('id') || 0;
page.photosDetail.popupInit();
page.photosDetail.keyNavigationInit(true);
page.photosDetail.slideShowInit();
$('.popup.photoDetail').jplDateFormat(layoutConfig.dateFormat);
if(!page.photosDetail.slideShow){
//if(document.documentElement.clientWidth >= 1230){
if($('#livefyre_comments_btn').data('on')){
utils.livefyreComments($('.popup.photoDetail #livefyre_comments_box'));
}
//}
}
}
},
popup_feedback: function(oldPageId, newPageId, buildType, href) {
$('#feedback_form').validate();
},
popup_registration: function(oldPageId, newPageId, buildType, href) {
var popup = this,
$popup = $('#' + newPageId),
$form = $('#join-form');
utils.preventGA = true;
$form.validate();
$form.on('registered', function() {
$popup.addClass('registered');
});
}
},
removePopup: {
popup_photos_detail: function(pageId){
if('photosDetail' in page){
pagesFn.setPagesTimeSpent('photo', 'page_photos_detail');
page.photosDetail.keyNavigationDestroy();
page.photosDetail.slideShowDestroy();
}
},
popup_feedback: function(pageId) {
window.mistakewindowVisible = null;
},
popup_registration: function(pageId) {
var $popup = $('#' + pageId),
$form = $('#join-form');
$form.off('registered');
if ($popup.hasClass('registered')) {
// wait a bit so popup restores original url
setTimeout(function() {
window.location.reload();
}, 100);
}
}
}
};
forms = {
config: {
'join-form': {
//preventAlert: true
},
'motorsport_insider_form': {
beforeSubmit: function() {
// console.log('form submit');
// status false
// cmpTrayAlert.show(i18n.m1002, 'error', 10);
// status true
// cmpDialog.show(i18n.m1034, '', 10);
// on submit event
gaArticleEmailSubscription('in-article-email-subscription', window.location.href);
}
}
},
statusFalse: {
'login-form': function($form, validator, response){
if(response.reload){
goToUrl('/login/');
}
},
'join-form': function($form, validator, response){
if(response.reload){
$('#captcha_reload').trigger('click');
$('[name="captcha_input"]').val('');
}
}
},
statusTrue: {
'motorsport_insider_form': function($form, validator, response){
$form[0].reset();
var $popupMarkup = $('#hiddenSucccessMessage');
gaArticleEmailSubscription('in-article-email-subscription-success', window.location.href);
cmpDialog.content($popupMarkup.html(), null, function() {}, 'registerDialog', function afterVisible() {
var dialog = this,
$container = dialog.$contayner;
$container.on('click', '.popupClose, a', function() {
dialog.remove();
});
});
},
'form_edit_subscribe_popup': function($form, validator, response) {
var alertId = $form.find('[name="alert_id"]').val(),
$deletableBox = $('[data-alert-id="' + alertId + '"]');
var checkedValues = $form.find('[name="types[]"]:checked').map(function() {
return Number(this.value);
}).get();
$deletableBox.data('checked', checkedValues);
var $dialog = $form.closest('.cmpDialog'),
$overlay = $dialog.find('.overlay');
$overlay.trigger('click');
},
'form_subscribe_popup': function($form, validator, response) {
var $dialog = $form.closest('.cmpDialog'),
$overlay = $dialog.find('.overlay');
$overlay.trigger('click');
},
'login-form': function($form, validator, response) {
if (response.relogin) {
cmpDialog.alert(response.notification, null, function() {
goToUrl(response.url || response.redirect, false);
});
} else if (!response.message) {
goToUrl(response.url || response.redirect, false);
}
},
'sweepstake-form': function($form, validator, response) {
if (response && response.status) {
$form.closest('[data-role="page"]').addClass('registered');
}
},
'join-form': function($form, validator, response){
var isPopup = $form.data('popup');
$form.closest('[data-role="page"]').addClass('registered');
if (isPopup) {
$form.trigger('registered');
return;
}
goToUrl(response.url || '/', false);
/*
cmpDialog.alert(response.text, response.title, function(value){
if(value){
goToUrl(response.url || '/', false);
}
});
*/
},
'submit-vacancy': function($form, validator, response) {
if(response.reload){
goToUrl('/info/join/');
}
},
'recovery-password-form': function($form, validator, response) {
goToUrl(response.url || '/');
},
'change-image-form' : function($form, validator, response){
$('#current_user_pic').attr('src', response.image);
$('#current_user_pic_small').attr('src', response.image_small);
},
'feedback_form': function($form, validator, response) {
var $popupClose;
if (response && response.status) {
$popupClose = $('.popup.feedbackPopup .popupClose');
if ($popupClose.length) {
$popupClose.trigger("click");
}
}
},
form_delete_account: function($form, validator, response){
goToUrl(response.url || '/', false);
},
form_edit_photo: function($form, validator, response){
$form.remove();
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
},
form_edit_video: function($form, validator, response){
$form.remove();
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
},
// START user info edit popups
form_update_account_popup: function($form, validator, response) {
var $dialog = $form.closest('.cmpDialog'),
$overlay = $dialog.find('.overlay');
$overlay.trigger('click');
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
},
form_change_password_popup: function($form, validator, response) {
var $dialog = $form.closest('.cmpDialog'),
$overlay = $dialog.find('.overlay');
$overlay.trigger('click');
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
},
form_change_album_popup: function($form, validator, response) {
var $dialog = $form.closest('.cmpDialog'),
$overlay = $dialog.find('.overlay');
$overlay.trigger('click');
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
},
form_delete_account_popup: function($form, validator, response) {
var $dialog = $form.closest('.cmpDialog'),
$overlay = $dialog.find('.overlay');
$overlay.trigger('click');
goToUrl('/', null, {data: {preventScrolling: ""}});
}
// END user info edit popups
}
};
buttons = {
request: cmpButtonsUtils.buttons.request,
requestC: cmpButtonsUtils.buttons.requestC,
requestM: cmpButtonsUtils.buttons.requestM,
//requestMC: cmpButtonsUtils.buttons.requestMC,
select: cmpButtonsUtils.buttons.select,
//selectAll: cmpButtonsUtils.buttons.selectAll,
toggleBox: cmpButtonsUtils.buttons.toggleBox,
dateCalendarClear: utils.dateCalendarClear,
contentDialog: function(data){
if(data.contentId){
var $content = $('#' + data.contentId);
if($content.length){
cmpDialog.alert($content.html(), "Admin info");
}
}
},
toggleRowActivity: function(data, element) {
var $row = $(element).parents('tr');
if($row.length){
if($row.is('.active')){
$row.removeClass('active');
}else{
$row.addClass('active');
}
}
},
toggleTimeWRaceWidget: function(data, element) {
this.toggleButtons(element);
if(data.button && data.value !== undefined){
var $box = $('#weekend_race_widget');
if($box.length){
$.cookie(data.button, data.value, { expires: 365, path: "/"});
var $times = $box.find('[data-gmt]');
if($times.length){
$times.each(function(){
var $this = $(this),
itdata = $this.data(),
gmt = $this.data('gmt'),
local = itdata.localTime || false,
d = false;
if(data.value == 1){
if(local){
d = local;
}else{
var dt = new Date();
dt.setTime(gmt + '000');
d = dt.format('HH:MM', true);
}
}else if(data.value == 2){
var dt = new Date();
dt.setTime(gmt + '000');
d = dt.format('HH:MM', false);
}
if(d){
$this.html(d);
}
});
}
}
}
},
toggleBoxVacancies: function(data, element) {
if (data.toggle) {
window.location.hash = '';
} else {
window.location.hash = data.value;
}
cmpButtonsUtils.buttons.toggleBox.click.call(this, data, element);
},
goToHref: function(data, element){
window.location.href = data.href;
},
goToUrl: function(data, element){
goToUrl(data.href);
},
documentScrollToTop: function(){
$(document).scrollTop(0);
},
closeTryAlert: function(data, element){
$(element).parents('.item').find('.close').trigger('click');
},
share: {
beforeSend: function(data, element, jqXHR){
window.open(element.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=' + data.height + ',width=' + data.width);
gaTrackSocial(data.shareNetwork, 'share', data.shareUrl);
if(!data.value){
return false;
}
if(!data.extraParams){
return false;
}
}
},
shareLiveText: function(data, element) {
var $item = $(element).closest('.broadcastItem'),
width = data.width || 600,
height = data.height || 450,
$message = $item.find('.message-text'),
$images = $message.find('img'),
$videos = $message.find('.video'),
text = $message[0].innerText.trim(),
baseUrl = window.location.protocol + '//' + window.location.host,
href,
urls = [],
$articleBoxInfo = $('#center_box .articleBox'),
twitterUrl = $articleBoxInfo.data("social-twitter-edition").split("/").pop() || 'motorsport',
facebookUrl = $articleBoxInfo.data("social-facebook-edition") || 'motorsport',
via = twitterUrl || data.via || 'motorsport',
twitterMessage,
lengthURLForTwitter,
message;
$images.each(function(index, el) {
var $el = $(el),
$a = $el.parent();
if (!$a.is('a')) return;
urls.push(baseUrl+ $a.attr('href'));
});
$videos.each(function(index, el) {
var $iframe = $(el).find('iframe'),
src;
if (!$iframe) return;
src = $iframe.attr('src');
urls.push(baseUrl + '/all/video/?id=' + src.split('/')[4]);
});
lengthURLForTwitter = window.location.href.length;
message = text + " \n " + (urls.length ? ' ' + urls.join(' ') : '');
twitterMessage = message;
if(text.length + lengthURLForTwitter > 164) {
twitterMessage = text.substr(0, 164 - lengthURLForTwitter) + "\n" + "... " + window.location.href + '\n ' + (urls.length ? ' ' + urls.join(' ') : '');
}
switch (data.network) {
case 'Twitter':
href = "https://twitter.com/intent/tweet?via=" + via + "&text=" + twitterMessage;
break;
case 'Facebook':
href = "https://www.facebook.com/sharer/sharer.php?u=" + window.location.href + '"e=' + message;
break;
}
if (!href) {
cmpTrayAlert.show(i18n.m1034, 'error', 10);
return;
}
window.open(href, '', 'menubar=no,toolbar=no,width='+ width +',height=' + height);
gaTrackSocial(data.network, 'share message', window.location.href);
},
tweetLiveText: function(data, element) {
var href,
width = data.width || 600,
height = data.height || 450,
tweetId,
$item = $(element).closest('.broadcastItem'),
$embedItem = $item.find('.message .embed-item'),
$tempEl = $(''),
embedCode,
$lastLink,
lastLinkHrefSplit,
twitterMaxLength = 140;
if (!$embedItem) {
cmpTrayAlert.show(i18n.m1034, 'error', 10);
return;
}
embedCode = unescape($embedItem.data('embed-code'));
$tempEl.html(embedCode);
$lastLink = $tempEl.find('a').last();
if (!$lastLink) {
cmpTrayAlert.show(i18n.m1034, 'error', 10);
return;
}
lastLinkHrefSplit = $lastLink.attr('href').split('/');
tweetId = lastLinkHrefSplit[lastLinkHrefSplit.length - 1];
if (!tweetId) {
cmpTrayAlert.show(i18n.m1034, 'error', 10);
return;
}
switch (data.action) {
case 'reply':
href = 'https://twitter.com/intent/tweet?in_reply_to=' + tweetId;
break;
case 'retweet':
href = 'https://twitter.com/intent/retweet?tweet_id=' + tweetId;
break;
case 'like':
href = 'https://twitter.com/intent/like?tweet_id=' + tweetId;
break;
}
window.open(href, '', 'menubar=no,toolbar=no,width='+ width +',height=' + height);
gaTrackSocial('Twitter', data.action, 'tweetId=' + tweetId);
},
layoutViewButtons: function(data, element){
this.toggleButtons(element, data);
if(this.options.target && data.on && data.off){
$target = $('.' + this.options.target);
if($target.length){
$target.removeClass(data.off).addClass(data.on);
if(data.button && data.value !== undefined){
$.cookie(data.button, data.value, { expires: 365, path: "/"});
}
}
}
},
buttonToggleLiveText: function(data, element, response){
this.toggleButtons(element, data);
if (response.constructor === Object && response.status && response.message) {
cmpTrayAlert.show(response.message);
}
},
buttonResendConfirmEmail: function(data, element, response){
this.toggleButtons(element, data);
if (response.constructor === Object && response.message) {
cmpTrayAlert.show(response.message, response.status ? 'message' : 'error');
}
},
cookieAccept: function(data, element){
var $cookie_accept = $('#cookie_accept');
if($cookie_accept.length){
$cookie_accept.addClass('hide');
setTimeout(function(){
$('#cookie_accept').remove();
},500);
$.cookie('cookie_accept', 1, { expires: 365, path: "/"});
var url = $(element).attr('data-href');
if(url){
goToUrl(url);
}
}
},
privacyAccept: function(data, element){
var $privacy_accept = $('#privacy_accept');
if($privacy_accept.length){
$privacy_accept.addClass('hide');
setTimeout(function(){
$('#privacy_accept').remove();
},500);
$.cookie('privacy_accept', 1, { expires: 365, path: "/"});
var url = $(element).attr('data-href');
if(url){
goToUrl(url);
}
}
},
toggleBoxCookie: function(data, element){
cmpButtonsUtils.buttons.toggleBox.click.call(this, data, element);
var aData = $(element).data();
if(aData.cookie && aData.toggle !== undefined){
$.cookie(aData.cookie, aData.toggle ? 1 : 0, { expires: 365, path: "/"});
}
},
toggleMtMainMenu: function(data, element){
cmpButtonsUtils.buttons.toggleBox.click.call(this, data, element);
var $ser_sw_ntlt = $('#ser_sw_ntlt');
if($ser_sw_ntlt.length){
$ser_sw_ntlt.fadeOut();
$.cookie('ser_sw_ntlt', 1, { expires: 365, path: "/"});
}
var aData = $(element).data();
if(aData.hasseries){
$('.eMtMainMenu').find('.eMainMenu').toggleClass('visible');
}
$('.eContentMenu').addClass('closed');
$(window).trigger('resize.menusItems', 2);
if(aData.toggle !== undefined){
if(aData.hasseries){
$.cookie('mupfs', aData.toggle ? 1 : 0, { expires: 365, path: "/"});
}
if(aData.toggle){
if(aData.dashboard){
if(aData.hasseries){
goToUrl('/feeds/');
} else {
goToUrl(aData.dashboard);
}
} else {
goToUrl('/prime/', false);
}
} else {
goToUrl('/');
}
}
},
searchBox: function(data, element){
//if(document.documentElement.clientWidth <= 1024){
cmpButtonsUtils.buttons.toggleBox.click.call(this, data, element);
if(data.toggle){
$('#search').focus();
}
// }else{
// if(!data.toggle || data.close){
// cmpButtonsUtils.buttons.toggleBox.click.call(this, data, element);
// $.removeData(element,'close');
// }
// $('#search').focus();
// }
},
popupClose: function(data){
var back = data.back == undefined ? true : data.back;
ajaxNavigationBuildPopup.clear(back);
},
popupMediawallClose: function(data){
ajaxNavigationBuildPopup.clear(false);
$(document.body).off('keydown.page-mediawall-popup-detail-key-navigation');
},
photosSlideShow: function(data, element){
clearTimeout(page.photosDetail.slideShowDelay);
if(page.photosDetail.slideShow){
page.photosDetail.slideShow = false;
}else{
page.photosDetail.slideShow = true;
}
page.photosDetail.slideShowInit();
},
photosHighRes: function(data, element) {
page.photosDetail.highResToggle();
},
photosFullScreen: function(data, element) {
page.photosDetail.galleryFullScreen();
},
livefyreCommentsAppend: function(data, element){
utils.livefyreComments($(element).parent('#livefyre_comments_box'));
},
livefyreCommentsToggle: function(data, element){
var aData = $(element).data();
if(aData.cookie && aData.on !== undefined){
var $box = $(element).next('#livefyre_comments_box')
if(aData.on == 0){
utils.livefyreComments($box);
$(element).data('on',1).attr('data-on',1);
$.cookie(aData.cookie, 1, { expires: 365, path: "/"});
}else if(aData.on == 1){
$box.hide();
$(element).data('on',2).attr('data-on',2);
$.cookie(aData.cookie, 0, { expires: 365, path: "/"});
}else if(aData.on == 2){
$box.show();
$(element).data('on',1).attr('data-on',1);
$.cookie(aData.cookie, 1, { expires: 365, path: "/"});
}
}
},
broadcastLoadMore: {
statusTrue: function(data, element, response) {
var $broadcastWidget = $('.broadcastWidget'),
$messagesWrapper = $broadcastWidget.find('.broadcastMessages'),
$pager = $broadcastWidget.find('.pagerBox .more'),
$newContent,
$newMessages,
count;
if (response.status) {
response.html += window.broadcastBannerTpl;
$newContent = $(response.html);
$newMessages = $newContent.filter('.broadcastItem');
count = $newMessages.length;
$newMessages.each(function(index, item) {
var $date = $(item).find('.date'),
date = new Date($date.data('data'));
$date.html(date.format('HH:MM'));
});
$messagesWrapper.append($newContent);
$newContent.find('.embed-item').each(function(index, item) {
var $el = $(item),
code = $el.data('embed-code');
$el.html(unescape(code));
});
utils.banners($messagesWrapper);
if (count !== 20) {
$pager.addClass('disabled');
} else {
$pager.data('value', response.message_id);
}
}
}
},
mediawallPopup:{
statusTrue: function(data, element, response){
if('ajaxNavigationBuildPopup' in window){
ajaxNavigationBuildPopup.clear();
var $popup = ajaxNavigationBuildPopup.$getPupup();
if($popup.length && response.html){
ajaxNavigationBuildPopup.status = true;
$popup.removeClass('disabled').addClass('mediawallDetail enabled').html(response.html);
$popup.jplDateFormat(layoutConfig.dateFormat);
utils.banners($popup);
$popup.find('.photoControls').on('click', '.btn', function(event){
event.preventDefault();
var $this = $(this),
$pic = $popup.find('.photoPicture img');
if($pic.length){
var data = $pic.data(),
urls = data.urls;
if(urls){
urls = urls.split(',');
if(urls.length > 1){
var index = data.index == undefined ? 0 : data.index;
var newIndex = index + 1;
if($this.is('.prevPhoto')){
newIndex = index - 1;
newIndex = newIndex < 0 ? (urls.length - 1) : newIndex;
}else{
newIndex = (newIndex == urls.length ? 0 : newIndex);
}
var $newPic = $('
').attr('src', urls[newIndex]);
$newPic.on('load', function(){
$pic.attr('src', urls[newIndex]);
$newPic.remove();
});
$pic.data('index', newIndex);
}
}
}
});
$(document.body).on('keydown.page-mediawall-popup-detail-key-navigation', function(event){
if(event.keyCode == 27){
buttons.popupMediawallClose();
return;
}
if(event.altKey || event.shiftKey){
return true;
}
var prevCodes = [37,100],
nextCodes = [39,102],
disableCodes = [38,104,40,98,33,34];
if(event.ctrlKey){
if($.inArray(event.keyCode, prevCodes) >= 0){
$popup.find('.photoControls .prevPhoto').trigger('click');
} else if($.inArray(event.keyCode, nextCodes) >= 0){
$popup.find('.photoControls .nextPhoto').trigger('click');
}
return true;
}
if($.inArray(event.keyCode, prevCodes) >= 0){
$popup.find('.postBox .postNavig .prev').trigger('click');
} else if($.inArray(event.keyCode, nextCodes) >= 0){
$popup.find('.postBox .postNavig .next').trigger('click');
} else if($.inArray(event.keyCode, disableCodes) >= 0){
event.preventDefault();
}
});
$popup.on('mousewheel', function(event){
var $scroll = [];
if(document.documentElement.clientWidth < 1024){
$scroll = $(event.target).parents('.postBox');
}else{
$scroll = $(event.target).parents('.postInfoWrapper');
}
if($scroll.length){
var scroll = $scroll[0];
var rect = scroll.getBoundingClientRect();
if(event.deltaY == 1 && scroll.scrollTop == 0 || event.deltaY == -1 && scroll.scrollHeight - scroll.scrollTop - 1 <= parseInt(rect.height)){
event.stopPropagation();
event.preventDefault();
}
}else{
event.preventDefault();
}
});
}
}
},
statusFalse: function(data, element){
var $postLink = $(element).parent().find('.postLink');
if($postLink.length){
var href = $postLink.attr('href');
if(href){
window.open(href);
}
}
}
},
crop_image_button: function(data, element, response, textStatus){
if ( !response || (response && !response.status) ) {
if(response.message) {
cmpTrayAlert.show(response.message, 'error');
}
return false;
}
var urlImage = response.image,
$crop_image_form = $('#crop_image_form'),
$image = $('
').prependTo($crop_image_form),
$upload_crop = $('#upload_crop'),
$cancel_crop = $('#cancel_crop'),
$user_info_block = $('#user_info_block'),
$current_user_pic = $('#current_user_pic'),
user_src = $current_user_pic.attr('src'),
jcrop_api,
width = 0,
heght = 0,
resizeTimeout = null;
$(window).on('resize.page_profile', function(event){
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function(){
var $testImage = $crop_image_form.find('img');
if( $testImage && $testImage.length && jcrop_api ) {
jcrop_api.destroy();
$image.attr('style', '');
$image.Jcrop({
minSize: [200, 200],
setSelect: [ 0, 0, 200, 200 ],
allowSelect: false,
aspectRatio: 1,
trueSize: [width, height],
onChange: changeCoords,
onSelect: changeCoords
}, function(){
jcrop_api = this;
});
}
}, 500);
});
$cancel_crop.on('click', function(){
$current_user_pic.attr('src', user_src);
$image.trigger('close');
});
$image
.on('close', function() {
jcrop_api.destroy();
$user_info_block.removeClass('loadedImage');
$crop_image_form.find('img').remove();
$current_user_pic.attr('style', '');
})
.on('load', function(){
$user_info_block.addClass('loadedImage');
width = $image.width();
height = $image.height();
$image
.attr('width', '100%')
.Jcrop({
minSize: [200, 200],
setSelect: [ 0, 0, 200, 200 ],
allowSelect: false,
aspectRatio: 1,
trueSize: [width, height],
onChange: changeCoords,
onSelect: changeCoords
}, function(){
jcrop_api = this;
});
$current_user_pic.attr('src', urlImage)
})
.attr('src', urlImage);
function changeCoords(c) {
var rx = 100 / c.w;
var ry = 100 / c.h;
$current_user_pic.css({
width: Math.round( rx * width * 2) + 'px',
height: Math.round( ry * height * 2) + 'px',
marginLeft: '-' + Math.round(rx * c.x * 2) + 'px',
marginTop: '-' + Math.round(ry * c.y * 2) + 'px'
});
$upload_crop.data('extra-params', '{x1:' + c.x + ', x2:' + c.x2 + ', y1:' + c.y + ', y2:' + c.y2 + ', w: ' + c.w + ', h:' + c.h + '}');
}
},
upload_crop: function(data, element, response, textStatus){
if(response) {
if( response.src_s1 ) {
$('#crop_image_form img').trigger('close');
$('#current_user_pic').attr('src', response.src_s1);
} else {
cmpTrayAlert.show(response.message, 'error');
}
}
},
captcha_reload: function(data, element, response, textStatus){
var $button = $(element),
$form = $button.parents('form'),
$image = $form.find('img'),
$input = $form.find('#captcha_id');
if(response) {
$image.attr('src', response.src);
$input.prop('value', response.captcha_id);
}
},
editPhoto: {
beforeSend: function(data, element){
return !$('[data-target="' + data.id + '"]').contents().length;
},
statusTrue: function(data, element, response){
if(response.html){
var $box = $('[data-target="' + data.id + '"]'),
$form = $(response.html);
$box.html($form);
$form.validate();
var $events = $form.find('select[name="events"]');
if($events.find('option').length > 1){
$events.removeAttr('disabled');
}else{
$events.attr('disabled', 'disabled');
}
$form.on('click', '.cancel', function(){
$form.remove();
})
.on('change', 'select[name="series"], select[name="years"]', function(){
var $series = $form.find('select[name="series"]'),
$year = $form.find('select[name="years"]'),
$events = $form.find('select[name="events"]'),
url = $form.data('event-url');
$.ajax({
type: "POST",
url: url,
data: {
series_id: $series.val(),
year: $year.val()
},
success: function(response){
if(response.html){
$events.html(response.html);
if($events.find('option').length > 1){
$events.removeAttr('disabled');
}else{
$events.attr('disabled', 'disabled');
}
}
}
});
});
}
}
},
editVideo: {
beforeSend: function(data, element){
return !$('[data-target="' + data.id + '"]').contents().length;
},
statusTrue: function(data, element, response){
if(response.html){
var $box = $('[data-target="' + data.id + '"]'),
$form = $(response.html);
$box.html($form);
$form.validate();
var $events = $form.find('select[name="event"]');
if($events.find('option').length > 1){
$events.removeAttr('disabled');
}else{
$events.attr('disabled', 'disabled');
}
$form.on('click', '.cancel', function(){
$form.remove();
})
.on('change', 'select[name="series"], select[name="year"]', function(){
var $series = $form.find('select[name="series"]'),
$year = $form.find('select[name="year"]'),
$events = $form.find('select[name="event"]'),
url = $form.data('event-url');
$.ajax({
type: "POST",
url: url,
data: {
series_id: $series.val(),
year: $year.val()
},
success: function(response){
if(response.html){
$events.html(response.html);
if($events.find('option').length > 1){
$events.removeAttr('disabled');
}else{
$events.attr('disabled', 'disabled');
}
}
}
});
});
}
}
},
removeAlbum: {
statusTrue: function(data, element, response) {
if (response && response.message) {
cmpTrayAlert.show(response.message);
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
cmpDialog.remove();
}
},
statusFalse: function(data, element, response) {
cmpTrayAlert.show(response.message || i18n.m1034, 'error', 10);
}
},
dashboardContinueSubscription: {
statusTrue: function(data, element, response) {
if (response && response.message) {
cmpTrayAlert.show(response.message);
}
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
},
statusFalse: function(data, element, response) {
cmpTrayAlert.show(response.message || i18n.m1034, 'error', 10);
}
},
dashboardCancelSubscription: {
beforeSendAsync: function(data, element, callback) {
cmpDialog.confirm(i18n.m4872, i18n.m2720, function(result) {
if (result && callback && typeof callback == 'function') {
callback();
}
});
},
statusTrue: function(data, element, response) {
if (response && response.message) {
cmpTrayAlert.show(response.message);
}
goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
},
statusFalse: function(data, element, response) {
cmpTrayAlert.show(response.message || i18n.m1034, 'error', 10);
}
},
showPopupEditUserInfo: function(data, element) {
var $form = $('#form_' + data.form),
title = $form.prev().text();
$form = $form.clone();
$form.attr('id', $form.attr('id') + '_popup');
// fix equalto fields
var $equalFields = $form.find('[data-rule-equalto]');
$equalFields.each(function(index, el) {
var $el = $(el),
origId = $el.data('rule-equalto'),
$origField = $(origId);
$origField.attr('id', $origField.attr('id') + '_popup');
$el.attr('data-rule-equalto', origId + '_popup');
});
cmpDialog.content('', title, null, 'popupEditUserInfo', function() {
var dialogCfg = this,
$container = dialogCfg.$contayner,
$content = $container.find('.content');
$content.append($form);
$form.validate();
if (data.field) {
$form.find('[name="'+ data.field +'"]').focus();
} else {
$form.find('input').first().focus();
}
});
},
showPopupRemoveUserAccount: function(data, element) {
var $form = $('#form_' + data.form),
title = $form.prev().text();
$form = $form.clone();
$form.attr('id', $form.attr('id') + '_popup');
cmpDialog.content('', title, null, 'popupRemoveUserAccount', function() {
var dialogCfg = this,
$container = dialogCfg.$contayner,
$content = $container.find('.content');
$content.append($form);
$form.validate();
$form.find('input').first().focus();
});
},
showPopupEditUserGalleries: function(data, element) {
var $form = $('#form_' + data.form),
title = $form.prev().text();
$form = $form.clone();
$form.attr('id', $form.attr('id') + '_popup');
var $btn_Delete = $('#delete_album', $form).hide(),
$album_name = $('#album_name', $form),
$formSave = $('[type="submit"]', $form);
cmpDialog.content('', title, null, 'popupEditUserInfo', function() {
var dialogCfg = this,
$container = dialogCfg.$contayner,
$content = $container.find('.content');
$content.append($form);
$form.validate();
$form.find('[type="reset"]').on('click', function(){
$form.attr('action', $form.data('create-album'));
$btn_Delete.hide();
$formSave.val(i18n.m1032);
});
$form.on('change', '#form_add_photo_albums', function(event){
var $this = $(this),
$selected = $this.find(':selected');
if ( $selected.val() && $selected.val() != '') {
$btn_Delete.show();
$album_name.val($selected.attr('label'));
$formSave.val(i18n.m2792);
$form.attr('action', $form.data('update-album'));
$btn_Delete.data('extra-params', 'album_id: ' + $selected.val() + '');
} else {
$btn_Delete.hide();
$album_name.val('');
$formSave.val(i18n.m1032);
$form.attr('action', $form.data('create-album'));
}
});
if (data.field) {
$form.find('[name="'+ data.field +'"]').focus();
} else {
$form.find('input').first().focus();
}
});
},
showPopupEditUserSeries: function() {
var $form = $('#form_update_subs'),
maxSelectedOptions = 30,
title = $form.prev().text();
$form = $form.clone();
$form.attr('id', $form.attr('id') + '_popup');
cmpDialog.content('', title, null, 'popupEditUserSeries', function() {
var dialogCfg = this,
$container = dialogCfg.$contayner,
$label,
$submitBtn,
$countWrapper = $(''),
$content = $container.find('.content');
$content.append($form);
$submitBtn = $container.find('input[type="submit"]');
$label = $container.find('label[for="series_field"]');
$label.append($countWrapper);
var $chosen = $form.find('.seriesField').chosen({
width: '100%',
max_selected_options: maxSelectedOptions,
}),
$primeCategories = $form.find('.primeCategories'),
$itemsWrapper = $chosen.next();
$chosen.on('change chosen:updated', function() {
var count = ($chosen.val() || []).length;
$countWrapper.text(count + '/' + maxSelectedOptions);
if (maxSelectedOptions < count) {
$countWrapper.addClass('error');
$submitBtn.attr('disabled', true);
} else {
$countWrapper.removeClass('error');
$submitBtn.removeAttr('disabled');
}
}).trigger('change');
$form.validate({
submitHandler: function(form, values, qwe, asd, zxc) {
var validator = this,
$submit = $(validator.submitButton),
$options = $chosen.children(),
$els = $itemsWrapper.find('.search-choice'),
$newOptions = $([]),
isBrowserSupported = $itemsWrapper.hasClass('chosen-container');
$submit.addClass('wait');
if (isBrowserSupported) {
$options.removeAttr('selected');
$els.each(function(index, el) {
var $el = $els.eq(index),
$indexHolder = $el.find('.search-choice-close'),
arrayIndex = $indexHolder.attr('data-option-array-index'),
$option = $options.eq(arrayIndex),
$optionClone = $option.clone(true);
$indexHolder.attr('data-option-array-index', index);
$newOptions = $newOptions.add($optionClone);
$option.remove();
});
$newOptions.attr('selected', 'selected');
$chosen.prepend($newOptions);
}
$(form).ajaxSubmit({
success: function(response) {
$submit.removeClass('wait');
if (response && response.status) {
if (response.message) {
cmpTrayAlert.show(response.message, 'message', 10);
}
dialogCfg.remove();
goToUrl(window.location.href, null);
// with prevent scrolling menu has wrong width on iPad
// goToUrl(window.location.href, null, {data: {preventScrolling: ""}});
} else if (response && response.message) {
cmpTrayAlert.show(response.message, 'error', 20);
}
},
error: function(jqXHR) {
$submit.removeClass('wait');
if(jqXHR.responseJSON && jqXHR.responseJSON.constructor === Object && jqXHR.responseJSON.message){
cmpTrayAlert.show(jqXHR.responseJSON.message, 'error', 30);
}
}
});
}
});
$primeCategories.on('click', '.category', function() {
var $options = $chosen.children(),
$el = $(this),
primeCategoryId = $el.data('prime-category');
$options.filter('[data-prime-category="'+ primeCategoryId +'"]').prop('selected', true);
$chosen.trigger("chosen:updated");
});
$itemsWrapper.sortable({
'placeholder' : 'ui-state-highlight',
'items' : '.search-choice',
forceHelperSize: true,
opacity: 0.75,
forcePlaceholderSize: true
});
});
},
showPopupEditSubscribe: function(data, element) {
var $form = $('#form_' + data.form),
title = $form.data('title') + data.title;
$form = $form.clone();
$form.attr('id', $form.attr('id') + '_popup');
// check fields
var frequencies = Array.isArray(data.checked) ? data.checked : [];
frequencies.forEach(function(value) {
$form.find('[type="checkbox"][value="'+ value + '"]').prop('checked', true);
});
// set other data
$form.find('[name="entity_type"]').val(data.entityType);
$form.find('[name="alert_id"]').val(data.alertId);
$form.find('[name="entity_id"]').val(data.entityId);
cmpDialog.content('', title, null, 'popupEditSubscribe', function(){
var dialogCfg = this,
$container = dialogCfg.$contayner,
$content = $container.find('.content');
$content.append($form);
$form.validate();
$form.removeClass('ms-hidden');
});
$form.on('click', '[type="submit"]', function() {
var noFrequencySelected = $form.find('[name="types[]"]:checked').length === 0;
if (noFrequencySelected) {
var $dialog = $form.closest('.cmpDialog'),
$overlay = $dialog.find('.overlay');
window.buttons.removeEmailAlert(null, element);
$overlay.trigger('click');
}
});
},
showPopupSubscribe: function(data) {
var $form = $('#form_' + data.form),
title = $form.data('title');
$form = $form.clone();
$form.attr('id', $form.attr('id') + '_popup');
cmpDialog.content('', title, null, 'popupSubscribe', function(){
var dialogCfg = this,
$container = dialogCfg.$contayner,
$content = $container.find('.content');
$content.append($form);
$form.validate();
$form.removeClass('ms-hidden');
});
},
removeEmailAlert: function(data, element) {
var $deletableBox = $(element).closest('.deletable-box'),
$form = $('#form_' + $deletableBox.data('form'));
$.ajax({
type: $form.attr('method'),
dataType: 'json',
url: $form.attr('action'),
data: {
entity_type: $deletableBox.data('entity-type'),
alert_id: $deletableBox.data('alert-id'),
entity_id: $deletableBox.data('entity-id'),
types: [0]
}
}).done(function(response) {
var $alertSection;
if (response.status) {
$alertSection = $deletableBox.closest('.alert-section');
if ($alertSection.find('.deletable-box').length === 1) {
$alertSection.remove();
} else {
$deletableBox.remove();
}
cmpTrayAlert.show(response.message, 'success', 10);
} else {
cmpTrayAlert.show(response.message, 'error', 10);
}
});
}
};
pagesFn = {
googleMapsBox: function(map_selector, list_selector){
var $map = $(map_selector);
if($map.length){
var markers = $map.data('markers');
if(markers.constructor == Array && markers.length){
loadGoogleMaps( null, 'AIzaSyCVdUjItzt4QpwSbXq0n3_yvLHU89yKlMc', i18n.m1111).done(function() {
$map.show();
var mapOptions = {
center: { lat:24.622063, lng: 15.132159},
zoom: 2
}
var map = new google.maps.Map($map[0], mapOptions);
utils.googlemaps.setMarkers(map, markers);
if(list_selector){
var $list = $(list_selector);
if($list.length){
$list.on('click', '.location', function(){
var data = $(this).data(),
lat = data.lat,
lng = data.lng;
if(lat && lng){
utils.googlemaps.zoomMap(map, lat, lng, 10);
$(document).scrollTop($map.offset().top - 70);
}
});
}
}
});
}
}
},
dotdotdotBox: function(buildType, box_selector, resize_event_name, resize_timeout, after_selector){
var $box = $(box_selector),
resize_timeout = resize_timeout || 1;
var resizeTimeout = setTimeout(function(){
$box.dotdotdot({
after: after_selector || 'a.keepReading',
wrap: $.inArray($('body').data('edtn'), ['cn']) != -1 ? 'letter' : 'word'
});
}, (buildType == 'firstBoot' ? resize_timeout : 1));
$(window).on('resize.' + resize_event_name , function(event){
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function(){
$box.trigger('update.dot');
}, resize_timeout);
});
},
features: {
initSection1: function (buildType){
pagesFn.dotdotdotBox(buildType, '#main_article_box', 'page_featured', 500);
utils.spotimCountsToShareBox('.topArticles, .mainArticle');
},
getSection: function ($section, callback){
if($section.length){
var data = $section.data();
if(data.processing){
return;
}
$section.data('processing', true);
var url = data.url,
section = data.section;
if(url && section){
$section.find('.preloaderBox').show();
return $.ajax({
url: url,
data: {
section: section
},
success: function(response){
if(response && response.constructor === Object && response.status && response.html){
if(response.simple_page){
$section.data('simple', true);
}
$section.html(response.html);
$section.data('ready', true);
if(callback && typeof callback == 'function'){
callback.call(this);
}
}else{
$section.find('.preloaderBox').hide();
}
}, error:function(){
$section.find('.preloaderBox').hide();
}
});
}
}
},
initScroll: function (id){
var $section_1 = $('#features_section_1'),
$section_2 = $('#features_section_2'),
$section_3 = $('#features_section_3');
var scrollTimeout = null;
$(window).on('scroll.page_featured', function(event){
clearTimeout(scrollTimeout);
if(ajaxNavigationBuildPopup.status){
return true;
}
scrollTimeout = setTimeout(function(){
if(!ajaxNavigation.stoped){
var windowHeight = document.documentElement.clientHeight,
content = document.getElementById(id);
if(!content){
return;
}
var section = content.section || 2;
if(content){
if(section > 2){
return;
}
var content_rect = content.getBoundingClientRect();
/*$('#console').html(content_rect.bottom - windowHeight, content_rect.bottom, windowHeight);
console.log(content_rect.bottom - windowHeight, content_rect.bottom, windowHeight);*/
if(content_rect.bottom - windowHeight <= 200){
var section1data = $section_1.data();
if($section_1.length && !section1data.ready){
pagesFn.features.getSection($section_1, function(){
if($section_1.data('simple')){
$section_1.removeClass('featuresBox');
$(window).off('scroll.page_featured');
}else{
pagesFn.features.initSection1('firstBoot');
}
utils.banners($section_1);
$section_1.jplDateFormat(layoutConfig.dateFormat);
if(section1data.url){
gaTrack(section1data.url);
}
});
}
var section2data = $section_2.data();
if(section1data.ready && $section_2.length && !section2data.ready){
pagesFn.features.getSection($section_2, function(){
var btn_time_wr_wdg = $.cookie('btn_time_wr_wdg');
if(btn_time_wr_wdg == 2){
var $weekend_race_widget = $('#weekend_race_widget .switchTimeZone .timeBtnYour');
if($weekend_race_widget.length){
$weekend_race_widget.trigger('click');
}
}
$section_2.jplDateFormat(layoutConfig.dateFormat);
utils.banners($section_2);
utils.spotimCountsToShareBox('#features_section_2 .columnArticles');
});
}
var section3data = $section_3.data();
if(section2data.ready && $section_3.length && !section3data.ready){
pagesFn.features.getSection($section_3, function(){
$section_3.jplDateFormat(layoutConfig.dateFormat);
utils.banners($section_3);
utils.spotimCountsToShareBox('#features_section_3 .contentCenterList');
if(section3data.trackUrl){
gaTrack(section3data.trackUrl);
}
$(window).off('scroll.page_featured');
});
}
}
}
}
}, 50);
}).trigger('scroll.page_featured');
}
},
showMistakeWindow: function() {
if (window.mistakewindowVisible) return;
var text = '',
maxLength = 100;
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
if (text.length) {
if (text.length > maxLength) {
cmpTrayAlert.show(i18n.m3680.replace('%s', maxLength), 'error');
return;
}
ajaxNavigation.stoped = false;
goToUrl('/info/feedback', 'popup', {data: {params: {
type: 2,
is_popup: 1,
mistake: text,
url: window.location.href
}}});
window.mistakewindowVisible = true;
}
},
asideWidgetDefaultScroll: function(page_id, list_id, sidebar_id, client_width, stop_scroll){
var widgets = $('#' + sidebar_id + ' [data-widget]').detach();
var stopScroll = ajaxNavigation.page.firstBoot;
if(stop_scroll && stopScroll){
$(document).scrollTop(0);
}
var scrollTimeout = null;
$(window).on('scroll.' + page_id, function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= (client_width || 900)){
utils.asideWidgetRepeater(widgets, list_id, sidebar_id, true);
}
if(stopScroll){
stopScroll = false;
}
}, 300);
}).trigger('scroll.' + page_id);
},
asideWidgetDetailScroll: function(page_id, list_id, sidebar_id, client_width){
var $livefyre_comments_box = $('#livefyre_comments_box');
var widgets = $('#' + sidebar_id + ' [data-widget]').detach();
var scrollTimeout = null;
$(window).on('scroll.' + page_id, function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= (client_width || 900)){
utils.asideWidgetRepeater(widgets, list_id, sidebar_id, true);
}
utils.livefyreCommentsVisibleInit('livefyre_comments_box', function(){
if(document.documentElement.clientWidth >= 900){
$(window).trigger('scroll.' + page_id);
}
});
}, 300);
}).trigger('scroll.' + page_id);
},
asideWidgetMoreScroll: function(page_id, list_id, sidebar_id, client_width){
var widgets = $('#' + sidebar_id + ' [data-widget]').detach();
var stopScroll = ajaxNavigation.page.firstBoot;
if(stopScroll){
$(document).scrollTop(0);
}
var scrollTimeout = null;
$(window).on('scroll.' + page_id, function(){
clearTimeout(scrollTimeout);
scrollTimeout = setTimeout(function(){
if(document.documentElement.clientWidth >= (client_width || 900)){
utils.asideWidgetRepeater(widgets, list_id, sidebar_id, true);
}
if(stopScroll){
stopScroll = false;
return true;
}
if(!ajaxNavigation.stoped){
utils.listMorePage(list_id, '#pager .more');
}
}, 300);
}).trigger('scroll.' + page_id);
},
setPagesTimeSpent: function(type, page_id){
if(pages.timespent[page_id]){
var start_time = pages.timespent[page_id].time,
content_id = pages.timespent[page_id].id;
if(start_time && content_id){
var d = new Date(),
end_time = d.getTime(),
time = Math.round((end_time - start_time)/1000);
//console.log(type, content_id, time);
var lvc = [
'{',
'"' + type + 's":{',
'"' + type + '_id":' + content_id,
',"time_spent":' + time,
'}',
'}'
].join('');
$.cookie('lvc', lvc, { path: '/' }); //, expires: 365
}
}
},
managePagesForTimeSpent: function($page){
if($page.length){
var page_id = $page.attr('id') || 0;
switch(page_id){
case 'page_articles_detail':
pagesFn.setPagesTimeSpent('article', page_id);
break;
case 'page_photos_detail':
pagesFn.setPagesTimeSpent('photo', page_id);
break;
case 'popup_photos_detail':
pagesFn.setPagesTimeSpent('photo', 'page_photos_detail');
break;
case 'page_videos_detail':
pagesFn.setPagesTimeSpent('video', page_id);
break;
}
}
},
scrollPageToPart: function(selector, href){
if(selector){
var $list = $(selector),
$parts = $list.find('[data-part]');
if($parts.length > 1){
$parts.each(function(){
var $this = $(this);
if($this.data('part') == href){
//setTimeout(function(){
$(document).scrollTop($this.offset().top - 10);
//},1000);
}
});
}
}
},
getSharesGraphPoints: function(svg, shares) {
var res = [],
lineThickness = 2,
x = lineThickness,
width = svg.width() - lineThickness,
height = svg.height() - lineThickness * 2,
sharesCount,
step,
maxVal = 0,
koef;
if (!shares) return res;
sharesCount = shares.length;
step = width / (sharesCount - 1);
shares.forEach(function (v, k) {
var p = (v / shares[sharesCount - 1]) * 1000,
pl = k > 0 ? (shares[k - 1] / shares[sharesCount - 1]) * 1000 : 0,
val = (k > 0 ? p - pl : 0);
res.push({
x: x,
y: val
});
x += step;
});
res.forEach(function (v, k) {
res[k].y = (k > 0 && k < res.length - 1 ? (res[k - 1].y + res[k].y + res[k + 1].y) / 3 : res[k].y); // middle
if (maxVal < res[k].y) {
maxVal = res[k].y;
}
});
koef = height / maxVal;
res.forEach(function (v, k) {
res[k].y = res[k].y ? res[k].y * koef - lineThickness : 0;
res[k].x -= lineThickness / 2;
});
return res;
},
uploaderMethods: {
setEventField: function(series, year, $event, format, getEventUrl) {
// var $dropDownSelectBoxTitle = $event.parent().find(".title");
if(format === "option"){
$event.find('option').first().empty().text(i18n.m1019);
} else if(format === "li"){
// $dropDownSelectBoxTitle.text(i18n.m1019);
}
$.ajax({
type: 'POST',
cache: false,
url: getEventUrl,
data: {
'series_id': series,
'year': year
},
success: function(data){
if(format === "option"){
$event.prop('disabled', 'disabled');
if (data && data.status) {
$event.empty().html(data.html);
if( data.html.length && $(data.html).filter('option').length > 1){
$event.prop('disabled', '');
}
}
} else if (format === "li"){
var html = [],
$jspContainer = $event.find(".jspContainer"),
$jspPane = $event.find(".jspPane");
for(var key in data.data){
if(key === "") continue;
html.push(''+ data.data[key] +'');
}
html = html.length ? html.join("") : "";
// $dropDownSelectBoxTitle.text(i18n.m2037);
$event.data("options-html", data.html);
// api.getContentPane().html(html);
// Make dropdown select list dynamic height
$event.show();
if(html.length){
$jspContainer.css("height", $jspPane.outerHeight(true));
} else {
$jspContainer.css("height", 0);
}
$event.hide();
}
}
});
}
},
showRegisterPopup: function(params) {
$.post('/join/popup/', function(response) {
$.cookie('reglb', 1, {expires: 3, path: '/'});
cmpDialog.content(response.html, null, function onClose() {
var dialog = this;
if (!dialog.isUserRegistered) return;
window.location.reload();
}, 'registerDialog', function afterVisible() {
var dialog = this,
$container = dialog.$contayner,
$form = $container.find('form');
if (params && params.email) {
$form.find('input[name="email"]').val(params.email);
}
$form.validate();
$container.on('click', '.popupClose, a', function() {
dialog.remove();
});
$form.on('registered', function() {
$container.addClass('registered');
gaArticleSubmit('articleRegistration', window.location.href);
dialog.isUserRegistered = true;
});
});
});
},
adBlockDetected: function() {
var alreadySent = $.cookie('adblock_ga');
if (!isCookieSupported || alreadySent) return;
$.cookie('adblock_ga', 1, {expires: 1});
if (configVars.analytics.google.load) {
ga('MSTracker.send', {
hitType: 'event',
eventCategory: 'AdBlock',
eventAction: 'ad-block-detected',
nonInteraction: 1
});
}
}
};
// Recommended audit because AdBlock lock the file 'blockadblock.js'
// If the file is not called, the variable does not exist 'blockAdBlock'
// This means that AdBlock is present
if(typeof blockAdBlock === 'undefined') {
pagesFn.adBlockDetected();
} else {
blockAdBlock.on(true, pagesFn.adBlockDetected);
}