/* Copyright (c) 2007-2010 SPIL GAMES.  DO NOT COPY THIS CODE. */
;(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return!!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return!!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return+new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return!o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return-1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return!!T.firstChild},empty:function(T){return!T.firstChild},has:function(V,U,T){return!!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex"in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return!F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();;(function($){$.extend({manageAjax:function(o){o=$.extend({manageType:'normal',maxReq:0,blockSameRequest:false,global:true},o);return new $.ajaxManager(o);},ajaxManager:function(o){this.opt=o;this.queue=[];}});$.extend($.ajaxManager.prototype,{add:function(o){var quLen=this.queue.length,s=this.opt,q=this.queue,self=this,i,j;o=$.extend({},s,o);var cD=(o.data&&typeof o.data!="string")?$.param(o.data):o.data;if(s.blockSameRequest){var toPrevent=false;for(i=0;i<quLen;i++){if(q[i]&&q[i].data===cD&&q[i].url===o.url&&q[i].type===o.type){toPrevent=true;break;}}
if(toPrevent){return false;}}
q[quLen]={fnError:o.error,fnSuccess:o.success,fnComplete:o.complete,fnAbort:o.abort,error:[],success:[],complete:[],done:false,queued:false,data:cD,url:o.url,type:o.type,xhr:null};o.error=function(){if(q[quLen]){q[quLen].error=arguments;}};o.success=function(){if(q[quLen]){q[quLen].success=arguments;}};o.abort=function(){if(q[quLen]){q[quLen].abort=arguments;}};function startCallbacks(num,opts){if(q[num].fnError&&q[num].error.length){q[num].fnError.apply(opts||$,q[num].error);}
if(q[num].fnSuccess&&!q[num].error.length){q[num].fnSuccess.apply(opts||$,q[num].success);}
if(q[num].fnComplete){q[num].fnComplete.apply(opts||$,q[num].complete);}
self.abort(num,true);}
o.complete=function(){if(!q[quLen]){return;}
q[quLen].complete=arguments;q[quLen].done=true;switch(s.manageType){case'sync':if(quLen===0||!q[quLen-1]){var curQLen=q.length;for(i=quLen;i<curQLen;i++){if(q[i]){if(q[i].done){startCallbacks(i,this);}
else{break;}}}}
break;case'queue':if(quLen===0||!q[quLen-1]){var curQLen=q.length;for(i=0,j=0;i<curQLen;i++){if(q[i]&&q[i].queued){q[i].xhr=jQuery.__ajax(q[i].xhr);q[i].queued=false;break;}}}
startCallbacks(quLen,this);break;case'abortOld':startCallbacks(quLen,this);for(i=quLen;i>=0;i--){if(q[i]){self.abort(i);}}
break;default:startCallbacks(quLen,this);break;}};if(s.maxReq){if(s.manageType!='queue'){for(i=quLen,j=0;i>=0;i--){if(j>=s.maxReq){this.abort(i);}
if(q[i]){j++;}}}
else{for(i=0,j=0;i<=quLen&&!q[quLen].queued;i++){if(q[i]&&!q[i].queued)
j++;if(j>s.maxReq)
q[quLen].queued=true;}}}
q[quLen].xhr=(q[quLen].queued)?o:jQuery.__ajax(o);return quLen;},cleanUp:function(){this.queue=[];},abort:function(num,completed){var qLen=this.queue.length,s=this.opt,q=this.queue,self=this,i;function del(num){if(!q[num]){return;}
((!completed&&q[num].fnAbort)&&q[num].fnAbort.apply($,[num]));if(!q[num]){return;}
if(q[num].xhr){if(typeof q[num].xhr.abort!='undefined'){q[num].xhr.abort();}
if(typeof q[num].xhr.close!='undefined'){q[num].xhr.close();}
q[num].xhr=null;}
if(s.global&&$.active&&!--$.active){$.event.trigger("ajaxStop");}
q[num]=null;}
if(!num&&num!==0){for(i=0;i<qLen;i++){del(i);}
this.cleanUp();}
else{del(num);var allowCleaning=true;for(i=qLen;i>=0;i--){if(q[i]){allowCleaning=false;break;}}
if(allowCleaning){this.cleanUp();}}}});})(jQuery);;(function($){var getBrowserMaxRequests=function(){var maxRequests=6;if($.browser.msie&&parseInt($.browser.version)<8){maxRequests=2;}
return maxRequests;};var queueSettings={name:'global',global:false,cache:false,cacheRespons:false,manageType:'queue',maxReq:getBrowserMaxRequests()};var globalAjaxManager=$.manageAjax(queueSettings);$.__ajax=$.ajax;$.spiajax=function(ajaxParams,useManager){var settings={debug:true},ajaxSettings={};$.extend(true,ajaxSettings,$.ajaxSettings,ajaxParams);if(useManager===false){$.__ajax(ajaxSettings);return;}
globalAjaxManager.add(ajaxSettings);return;};$.ajax=$.spiajax;})(jQuery);;(function($){simplePngFix=function(options){options=$.extend({},simplePngFix.defaults,options);var ie6=$.browser.msie&&$.browser.version==6;if(ie6){$('img[src$=.png].'+options.markerClass).each(function(){this.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.src+"',sizingMethod='scale')";this.src=options.replacementImg;});$('.'+options.markerClass).each(function(){var bgImg=$(this).css('background-image');if(!/^url\(\".+\.png\"\)$/.test(bgImg)){return;}
bgImg=bgImg.split('url("')[1].split('")')[0];$(this).css('background-image','none');this.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bgImg+"',sizingMethod='scale')";});}};simplePngFix.defaults={replacementImg:'/img/_/layout/simplepngfix.png',markerClass:'simplePngFix'};})(jQuery);$(function(){simplePngFix();});;(function($){jQuery.fn.pngFix=function(settings){settings=jQuery.extend({blankgif:'/img/clear.gif'},settings);var ie55=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 5.5")!=-1);var ie6=(navigator.appName=="Microsoft Internet Explorer"&&parseInt(navigator.appVersion)==4&&navigator.appVersion.indexOf("MSIE 6.0")!=-1);if(jQuery.browser.msie&&(ie55||ie6)){jQuery(this).find("img[src$=.png]").each(function(){jQuery(this).attr('width',jQuery(this).width());jQuery(this).attr('height',jQuery(this).height());var prevStyle='';var strNewHTML='';var imgId=(jQuery(this).attr('id'))?'id="'+jQuery(this).attr('id')+'" ':'';var imgClass=(jQuery(this).attr('class'))?'class="'+jQuery(this).attr('class')+'" ':'';var imgTitle=(jQuery(this).attr('title'))?'title="'+jQuery(this).attr('title')+'" ':'';var imgAlt=(jQuery(this).attr('alt'))?'alt="'+jQuery(this).attr('alt')+'" ':'';var imgAlign=(jQuery(this).attr('align'))?'float:'+jQuery(this).attr('align')+';':'';var imgHand=(jQuery(this).parent().attr('href'))?'cursor:hand;':'';if(this.style.border){prevStyle+='border:'+this.style.border+';';this.style.border='';}
if(this.style.padding){prevStyle+='padding:'+this.style.padding+';';this.style.padding='';}
if(this.style.margin){prevStyle+='margin:'+this.style.margin+';';this.style.margin='';}
var imgStyle=(this.style.cssText);strNewHTML+='<span '+imgId+imgClass+imgTitle+imgAlt;strNewHTML+='style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;strNewHTML+='width:'+jQuery(this).width()+'px;'+'height:'+jQuery(this).height()+'px;';strNewHTML+='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader'+'(src=\''+jQuery(this).attr('src')+'\', sizingMethod=\'scale\');';strNewHTML+=imgStyle+'"></span>';if(prevStyle!=''){strNewHTML='<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:'+jQuery(this).width()+'px;'+'height:'+jQuery(this).height()+'px;'+'">'+strNewHTML+'</span>';}
jQuery(this).hide();jQuery(this).after(strNewHTML);});jQuery(this).find("*").not('.nofix').each(function(){var bgIMG=jQuery(this).css('background-image');if(bgIMG.indexOf(".png")!=-1){var iebg=bgIMG.split('url("')[1].split('")')[0];jQuery(this).css('background-image','none');jQuery(this).get(0).runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+iebg+"',sizingMethod='scale')";}});jQuery(this).find("input[src$=.png]").each(function(){var bgIMG=jQuery(this).attr('src');jQuery(this).get(0).runtimeStyle.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader'+'(src=\''+bgIMG+'\', sizingMethod=\'scale\');';jQuery(this).attr('src',settings.blankgif)});}
return jQuery;};})(jQuery);;;if(!window.console){console={log:function(){}};};if(!n)
var n={settings:{debug:true},log:function(p){if(this.settings.debug){if(window.console){console.log(p);}else{alert(''+p);}}},str_repeat:function(i,m){for(var o=[];m>0;o[--m]=i);return(o.join(''));},sprintf:function(){var i=0,a,f=arguments[i++],o=[],m,p,c,x;while(f){if(m=/^[^\x25]+/.exec(f))o.push(m[0]);else if(m=/^\x25{2}/.exec(f))o.push('%');else if(m=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f)){if(((a=arguments[m[1]||i++])==null)||(a==undefined))throw("Too few arguments.");if(/[^s]/.test(m[7])&&(typeof(a)!='number'))throw("Expecting number but found "+typeof(a));switch(m[7]){case'b':a=a.toString(2);break;case'c':a=String.fromCharCode(a);break;case'd':a=parseInt(a);break;case'e':a=m[6]?a.toExponential(m[6]):a.toExponential();break;case'f':a=m[6]?parseFloat(a).toFixed(m[6]):parseFloat(a);break;case'o':a=a.toString(8);break;case's':a=((a=String(a))&&m[6]?a.substring(0,m[6]):a);break;case'u':a=Math.abs(a);break;case'x':a=a.toString(16);break;case'X':a=a.toString(16).toUpperCase();break;}
a=(/[def]/.test(m[7])&&m[2]&&a>0?'+'+a:a);c=m[3]?m[3]=='0'?'0':m[3].charAt(1):' ';x=m[5]-String(a).length;p=m[5]?this.str_repeat(c,x):'';o.push(m[4]?a+p:p+a);}else throw("Huh ?!");f=f.substring(m[0].length);}
return o.join('');},parseInt:function(a,b){if(!b){b=10;}
return parseInt(a,b);},addslashes:function(c){return c.replace(/('|"|\\)/g,"\\$1")},number_format:function(number,decimals,dec_point,thousands_sep){var n=number,prec=decimals;var toFixedFix=function(n,prec){var k=Math.pow(10,prec);return(Math.round(n*k)/k).toString();};n=!isFinite(+n)?0:+n;prec=!isFinite(+prec)?0:Math.abs(prec);var sep=(typeof thousands_sep==='undefined')?',':thousands_sep;var dec=(typeof dec_point==='undefined')?'.':dec_point;var s=(prec>0)?toFixedFix(n,prec):toFixedFix(Math.round(n),prec);var abs=toFixedFix(Math.abs(n),prec);var _,i;if(abs>=1000){_=abs.split(/\D/);i=_[0].length%3||3;_[0]=s.slice(0,i+(n<0))+
_[0].slice(i).replace(/(\d{3})/g,sep+'$1');s=_.join(dec);}else{s=s.replace('.',dec);}
var decPos=s.indexOf(dec);if(prec>=1&&decPos!==-1&&(s.length-decPos-1)<prec){s+=new Array(prec-(s.length-decPos-1)).join(0)+'0';}
else if(prec>=1&&decPos===-1){s+=dec+new Array(prec).join(0)+'0';}
return s;},getURLparam:function(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);return(results==null)?'':results[1];},typeOf:function(value){var s=typeof value;if(s==='object'){if(value){if(typeof value.length==='number'&&!(value.propertyIsEnumerable('length'))&&typeof value.splice==='function'){s='array';}}else{s='null';}}
return s;},escape:function(string){return jQuery('<div/>').text(string).html();},paginatorString:function(totalRes,curPage,elemPerPage,surround,handler,manualCenter,extraparam){curPage=curPage||1;elemPerPage=elemPerPage||20;surround=surround||9;extra=extraparam||false;var totalPages=Math.ceil(totalRes/elemPerPage);if(totalPages<=1){return'';}
var ret='';var naviStart=Math.min(curPage-Math.floor(surround/2),Math.ceil(totalRes/elemPerPage-surround));var naviStart=Math.max(naviStart,1);if(curPage>1){ret+='<span class="paginer_prev"><a href="#'+(Math.max(1,curPage-1))+'">&nbsp;</a></span>';}
if(naviStart>1){ret+='<span class="paginer_ellipsis">...</span>';}
for(var i=naviStart;i<=totalPages&&i<=surround+naviStart;i++){if(i==curPage){ret+='<span class="paginer_current">'+i+'</span>';}else{ret+='<span class="paginer_page"><a href="#'+i+'">'+i+'</a></span>';}}
if(surround+naviStart<totalPages){ret+='<span class="paginer_ellipsis">...</span>';}
if(curPage<totalPages){ret+='<span class="paginer_next"><a href="#'+(Math.min(curPage+1,totalPages))+'">&nbsp;</a></span>';}
if(manualCenter){if(curPage==1){ret='<span class="paginer_empty"></span>'+ret;}
if(curPage<=parseInt(surround/2)+1){ret='<span class="paginer_empty"></span>'+ret;}
if(extra===true){if(totalPages<surround){var emptySpans='';for(var i=0;i<parseInt((surround-totalPages)/2);i++){emptySpans+='<span class="paginer_empty"></span>';}
ret=emptySpans+ret;}}else{if(totalPages<9){var magicno;if(totalPages<=4)magicno=7;else if(totalPages==5||totalPages==6)magicno=8;else magicno=9;for(var i=1;i<(magicno-totalPages);i++){ret='<span class="paginer_empty"></span>'+ret;}}else if(curPage<=4){ret='<span class="paginer_empty"></span>'+ret;}}}
if(handler){ret=$(ret);$('a',ret).bind('click',function(){handler.call(this,parseInt($(this).attr('href').replace(/[^\#]*#/,'')));return false;});}
return ret;},cutStringPlease:function(string,limit,specialchars,ending){var limit=limit||0;var specialchars=specialchars||false;var ending=ending||'...';if(limit==0){return string;}
if(specialchars==true){string=this.escape(string);}
if(string.length>limit){string=string.substring(0,limit-1)+''+ending;}
return string;}};;jQuery.nTooltipEnabled=true;;(function(){jQuery.fn.nTooltip=function(settings){var self={};var tooltipText='',url='';self.settings=settings;self.coords=['bottom','left'];self.top=0;self.draw=true;return this.each(function(){this.settings=jQuery.extend(true,{author:"nez",version:"1.1",id:'ntooltip',top:20,left:15,track:true,extraClass:'',fixPNG:true,fancyEnabled:false,onTop:true,showBody:'',showURL:false,prependItem:false,appendItem:false,turnHorizontal:false,fancyImages:{basePath:'',topLeft:'',topRight:'',bottomLeft:'',bottomRight:'',preloadFancy:true}},self.settings);this.clear=function(){$('#'+this.settings.id).empty();};this.checkPosition=function(tip,view){if(this.settings.onTop===true){self.coords[0]='bottom';if(tip.top-(this.settings.top+tip.height)<view.scrollHeight){self.top=tip.top+this.settings.top;self.coords[0]='top';}}else{self.coords[0]='top';if(tip.top+(this.settings.top+tip.height)>view.scrollHeight+view.windowHeight){self.top=tip.top-(this.settings.top+tip.height);self.coords[0]='bottom';}}
self.coords[1]='left';if(this.settings.turnHorizontal==true&&this.settings.left>-tip.width/2&&(tip.left+this.settings.left+tip.width)>view.windowWidth){left=tip.left-this.settings.left-tip.width;self.coords[1]='right';}};this.update=function(event){if(event){this.show();var toolTip=$('#'+this.settings.id);var view=this.viewport();var tip={left:event.pageX,top:event.pageY,height:toolTip.height(),width:toolTip.width(),fullheight:toolTip.height()+this.settings.top}
if(this.settings.onTop===true){self.top=event.pageY-(toolTip[0].offsetHeight+this.settings.top);}else{self.top=event.pageY+this.settings.top;}
left=event.pageX+this.settings.left;this.checkPosition(tip,view);toolTip.removeClass('bottomLeft bottomRight topLeft topRight');if(this.settings.fancyEnabled===true){if(self.coords.length>0){coordsCheck=self.coords.join('-');}
switch(coordsCheck){case'bottom-left':toolTip.addClass('bottomLeft');if(this.settings.fancyImages.bottomLeft!=''){$('div.top',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.bottomLeft.top+") no-repeat bottom"});$('div.bottom',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.bottomLeft.bottom+") no-repeat"});$('div.middle',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.bottomLeft.middle+") repeat-y"});}
break;case'bottom-right':toolTip.addClass('bottomRight');if(this.settings.fancyImages.bottomRight!=''){$('div.top',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.bottomRight.top+") no-repeat bottom"});$('div.bottom',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.bottomRight.bottom+") no-repeat"});$('div.middle',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.bottomRight.middle+") repeat-y"});}
break;case'top-left':toolTip.addClass("topLeft");if(this.settings.fancyImages.topLeft!=''){$('div.top',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.topLeft.top+") no-repeat bottom"});$('div.middle',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.topLeft.middle+") repeat-y"});$('div.bottom',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.topLeft.bottom+") no-repeat"});}
break;case'top-right':toolTip.addClass('topRight');if(this.settings.fancyImages.topRight!=''){$('div.top',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.topRight.top+") no-repeat bottom"});$('div.bottom',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.topRight.bottom+") no-repeat"});$('div.middle',toolTip).css({"background":"url("+this.settings.fancyImages.basePath+this.settings.fancyImages.topRight.middle+") repeat-y"});}
break;}
$('div.middle',toolTip).css('height',$('div.middle',toolTip).height()+'px');}
tip={left:event.pageX,top:event.pageY,height:toolTip.height(),width:toolTip.width(),fullheight:toolTip.height()+this.settings.top}
this.checkPosition(tip,view);toolTip.css({left:left,top:self.top,'z-index':99999,position:'absolute'});if(this.settings.fixPNG===true&&typeof jQuery.fn.pngFix=='function'){toolTip.pngFix();}}};this.show=function(){var image_url=$('img',$(this)).attr('onkeyup');if((typeof(image_url)!="undefined")&&(image_url!=null)&&(image_url!='')){$('img',$(this)).attr('src',image_url).removeAttr('onkeyup');};if(self.draw===true){this.clear();if(this.settings.fancyEnabled===true){$('#'+this.settings.id).append('<div class="top"></div><div class="middle"></div><div class="bottom"></div>');$('div.middle',$('#'+this.settings.id)).html('<div class="body">'+this.tooltipText+'</div>');}else{var text='<div class="body">'+this.tooltipText+'</div>';if(this.settings.showBody!=''){var temp=this.tooltipText.split(this.settings.showBody);if(temp.length>1){text='<h3>'+temp[0]+'</h3><div class="body">'+temp[1]+'</div>';}}
if(this.settings.showURL===true){text+='<div class="url">'+this.url+'</div>';}
$('#'+this.settings.id).html(text);}
if(this.settings.prependItem!=false){if($(''+this.settings.prependItem,this).length>0){$('div.body',$('#'+this.settings.id)).prepend('<div class="prepend">'+$(''+this.settings.prependItem,this).html()+'</div>');}}
if(this.settings.appendItem!=false){if($(''+this.settings.appendItem,this).length>0){$('div.body',$('#'+this.settings.id)).append('<div class="append">'+$(''+this.settings.appendItem,this).html()+'</div>');}}
$('#'+this.settings.id).show();}};this.hide=function(){self.draw=true;$('#'+this.settings.id).hide();};this.createTooltip=function(){if($('#'+this.settings.id).length==0){var tooltip=$('<div id="'+this.settings.id+'"></div>');if(this.settings.extraClass!=''){tooltip.addClass(this.settings.extraClass);}
$('body').append(tooltip.hide());}};this.viewport=function(){return{scrollWidth:$(window).scrollLeft(),scrollHeight:$(window).scrollTop(),windowWidth:$(window).width(),windowHeight:$(window).height()};};this.tooltipText=this.title||'';$(this).removeAttr('title').removeAttr('alt');$('img',$(this)).removeAttr('title').removeAttr('alt');if(this.tooltipText!=''){this.url=this.href;this.createTooltip();$(this).mouseover(function(event){if(jQuery.nTooltipEnabled){self.draw=true;this.update(event);}}).mouseout(this.hide).mousemove(function(event){if(jQuery.nTooltipEnabled){self.draw=false;if(this.settings.track===true){this.update(event);}}else{this.hide}});}})};})(jQuery);;var spiApplyTooltip=function(jqe,canTurnHorizontal){var canTurn=canTurnHorizontal==false?false:true;jqe.nTooltip({left:5,top:17,fancyEnabled:true,onTop:false,turnHorizontal:canTurn,fancyImages:{topLeft:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'},topRight:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'},bottomLeft:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'},bottomRight:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'}}});};var spiApplyImageTooltip=function(jqe,width_directory){jqe.nTooltip({id:'tooltip_thumb',prependItem:'.tipthumbnail',left:10,top:17,fancyEnabled:true,onTop:false,extraClass:'thumb_width'+tooltip_thumbnail_width,fancyImages:{topLeft:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},topRight:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},bottomLeft:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},bottomRight:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'}}});};var spiApplyTooltipRemove=function(jqe,canTurnHorizontal){var width_directory=100;var canTurn=canTurnHorizontal==false?false:true;jqe.nTooltip({left:5,top:17,id:'removeRecent',fancyEnabled:true,onTop:false,turnHorizontal:canTurn,fancyImages:{topLeft:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},topRight:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},bottomLeft:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},bottomRight:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'}}});};var spiApplyImageRPTooltip=function(jqe,width_directory){jqe.nTooltip({id:'tooltip_thumb_rp',prependItem:'.tipthumbnail',left:10,top:17,fancyEnabled:true,onTop:false,extraClass:'thumb_width120',fancyImages:{topLeft:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},topRight:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},bottomLeft:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'},bottomRight:{top:'/img/_/tooltips/thumb/'+width_directory+'/tt-top-notail-blue.png',middle:'/img/_/tooltips/thumb/'+width_directory+'/tt-middle-all-blue.png',bottom:'/img/_/tooltips/thumb/'+width_directory+'/tt-bottom-notail-blue.png'}}});};var spiApplyTooltip2=function(jqe){jqe.nTooltip({appendItem:'.time',id:'ntooltiphsbox',left:5,top:17,fancyEnabled:true,onTop:false,fancyImages:{topLeft:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'},topRight:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'},bottomLeft:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'},bottomRight:{top:'/img/_/tooltips/plain/tt-top-notail.png',middle:'/img/_/tooltips/plain/tt-middle-all.png',bottom:'/img/_/tooltips/plain/tt-bottom-notail.png'}}});};$(function(){spiApplyImageTooltip($("a.tooltipi"),tooltip_thumbnail_width);spiApplyTooltip($("a.tooltipd"));});;function trackIt(trackingPath){try{pageTracker._trackPageview(decodeURI(trackingPath.replace(/\+/g,' '))+'');}catch(e){}};var trackExtViewar=function(siteid,gameid){var i=new Image(1,1);i.src='http://api.viewar.org/vw/pb/1/add/'+siteid+'/1/'+gameid+'/1';var delay=500;i.onload=i.onerror=function(){delay=0;};var start=new Date().getTime();while(new Date().getTime()<start+delay);};function trackAllEvents(eventdata,tracker){trackIt(eventdata.path);trackEvents(eventdata,tracker);};function trackEvents(eventdata,tracker){try{var track=tracker||GA_tracker_aggregated;trackEvent({category:'portal-partner',action:eventdata.action,label:eventdata.label},track);trackEvent({category:'partner-portal',action:eventdata.label,label:eventdata.action},track);}catch(e){}}
function trackEvent(eventdata,tracker){try{tracker._trackEvent(eventdata.category,eventdata.action,eventdata.label);}catch(e){}};;var menutimeout=null;var hideMenu=function(){if(menutimeout!=null){$('li#moremenu ul').hide();$('li#moremenu iframe').hide();$('li#moremenu span').removeClass('hover');$('li#moremenu a.arrow').removeClass('hover');}};(function(){jQuery.fn.moreMenu=function(settings){var settings=$.extend({visibleWidth:500,moreText:'More',className:'more-menu',callbackBefore:false,callbackAfter:false},settings);var visibleElements=[],notvisibleElements=[];this.placeMenu=function(){var width=0;var visibleWidth=0;$('li',this).each(function(ndx,item){width=$(this).outerWidth(true);if(visibleWidth+width<settings.visibleWidth){visibleElements.push($(this));}else{notvisibleElements.push($(this));}
visibleWidth+=width;});for(var i=0;i<visibleElements.length;i++){$('div#topmenu>ul>li').eq(i).css('visibility','visible');}
if(notvisibleElements.length>0){var more=$('<li id="moremenu"><a class="arrow" href="#">'+settings.moreText+'<span></span></a><iframe style="display:none;" src="javascript:false" frameborder="0"></iframe><ul></ul></li>');for(var i=visibleElements.length+notvisibleElements.length;i>=visibleElements.length;i--){$('ul',more).prepend($('div#topmenu>ul>li').eq(i));$('li',more).css('visibility','visible');}
$('ul',more).hide();$('ul',this).append(more).css('visibility','visible');$('li#moremenu').show().css('visibility','visible');$('li#moremenu, li#moremenu a').hover(function(){$('li#moremenu span').addClass('hover');$('li#moremenu a.arrow').addClass('hover');menutimeout=null;$('li#moremenu ul').show();$('li#moremenu iframe').show();},function(){menutimeout=setTimeout('hideMenu()',500);});$('li#moremenu li').hover(function(){$('li#moremenu span').addClass('hover');$('li#moremenu a.arrow').addClass('hover');menutimeout=null;},function(){menutimeout=setTimeout('hideMenu()',500);});}};var self=this;return this.each(function(i,val){$('div#topmenu>ul>li').css('visibility','hidden');self.placeMenu();$('#moremenu iframe').width($('#moremenu ul').width()+20);$('#moremenu iframe').height($('#moremenu ul').height());});}})(jQuery);;function upFrame(contenturl,width,height,gamename){var ha=window.open('','po1234','width='+width+',height='+height+',top=0,left=0,resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no');ha.document.writeln('<html><head><title>'+gamename+'</title><style type="text/css">'+'body {padding: 0px; margin: 0px; border: 0px;}'+'</style></head><body onLoad="self.focus();">'+'<iframe src="'+contenturl+'" width="100%" height="100%" frameborder="0" scrolling="no" marginwidth="0" marginheight="0">'+'&nbsp;</iframe></body></html>');ha.document.close()};;;var hideFlashMessage=function(){var layer=$('div#flashMessage');if(layer.length>0){layer.slideUp('slow');}};$(function(){$('a[rel~=external]').attr('target','_blank');$(".pngfixme").pngFix();$('div.categorybox li a').hover(function(){$('span',this).css('text-decoration','underline');},function(){$('span',this).css('text-decoration','none');});$('div.categorybox div.top h2 a').hover(function(){$('span',this).addClass('hover');},function(){$('span',this).removeClass('hover');});$('div#searchbox div.button a').hover(function(){$('div#searchbox div.input,div#searchbox div.button').addClass('hover');},function(){$('div#searchbox div.input,div#searchbox div.button').removeClass('hover');});$('li:not(#topmenu li):not(#lets-start-box li):not(.orangebg):not(.anchor):not(#categories li):not(div.moresubcatbox li):not(#recentlyGames li)').hover(function(){$('a',this).css('text-decoration','underline');},function(){$('a',this).css('text-decoration','none');});var flashMessage=SPI.flashMessage.get();if(flashMessage.length==2&&flashMessage[0]!=''){var layer=$('div#flashMessage');if(layer.length>0){layer.empty().html('<div class="'+(flashMessage[1]=='true'?'bad':'good')+'"><div class="left">&nbsp;</div>  <div class="middle"><div class="text">'+flashMessage[0]+'</div></div>  <div class="right">&nbsp;</div></div>').show();setTimeout('hideFlashMessage()',5000);}}});var getUserPoints=function(callback){if($.cookie('_SPI_level')){callback.call(this,$.cookie('_SPI_level'));}else{SPI.highscore.init();SPI.highscore.UserLevel(callback);}};loginbarFill=function(){var leftbox=false;if($(".leftbox_myprofile").length>0){leftbox=true;SPI.achievements.init();SPI.achievements.UserAwardsCount(function(data){$('#userinfo #awardsCount, #profilecontent span.awardsCount').html(data);});};if($.cookie('_SPI_level')){fillPoints(parseInt($.cookie('_SPI_level')),false,leftbox,true);}else{SPI.highscore.init();SPI.highscore.UserLevel(function(data){fillPoints(data,true,leftbox,true);});};$('div#usernav td.username span').text($.profilar.get('username'));if($.profilar.getPref('avatar')!=''){if($.profilar.getPref('avatar')!='')$('div#usernav img.avatar').attr('src',SPI.sprintf(SPI._settings.global.avatar_url_small,$.profilar.getPref('avatar')));}else{$('div#usernav img.avatar').attr('src','/img/_/profile/dummy_small.gif');};if($('div#userinfo span.friendsCount, #profilecontent span.friendsCount').length)$.profilar.friendListAccepted($.profilar.get('username'),function(data,errors){$('div#userinfo span.friendsCount, #profilecontent span.friendsCount').html($('profilar total:first',data).text()||0);},{pagenr:1,pagesize:1});};var checkLevel=function(userLevels,userPoints){var level=0,currentLevel=0,previousLevel=0,currentPoints=0,previousPoints=0,pointsLeft=0,nextLevel=0;if(userPoints>=userLevels[userLevels.length-1]){return{'level':userLevels.length-1,'levelFrom':userLevels[userLevels.length-1],'points':userPoints,'pointsLeft':0,'nextLevel':userLevels.length-1,'nextLevelFrom':userLevels[userLevels.length-1]};}
for(var i=userLevels.length-1;i>0;i--){level=i;currentLevel=i;currentPoints=userLevels[currentLevel];previousLevel=i-1;previousPoints=userLevels[previousLevel];if(userPoints==currentPoints){userLevel=currentLevel;nextLevel=userLevel+1;pointsLeft=userLevels[nextLevel]-userPoints;if(userLevels[nextLevel]==undefined){pointsLeft=0;nextLevel=-1;}
return{'level':userLevel,'points':userPoints,'pointsLeft':pointsLeft,'nextLevel':nextLevel,'nextLevelFrom':userLevels[nextLevel]};}
if(userPoints<currentPoints&&userPoints>=previousPoints){userLevel=previousLevel;nextLevel=userLevel+1;pointsLeft=userLevels[nextLevel]-userPoints;return{'level':userLevel,'levelFrom':userLevels[userLevel],'points':userPoints,'pointsLeft':pointsLeft,'nextLevel':nextLevel,'nextLevelFrom':userLevels[nextLevel]};}}
return{'level':1,'levelFrom':0,'points':0,'pointsLeft':userLevels[2],'nextLevel':2,'nextLevelFrom':userLevels[2]};};var fillPoints=function(userPoints,storeincookie,leftbox,loginbar){if(storeincookie){var myDate=new Date();myDate.setTime(myDate.getTime()+600000);$.cookie('_SPI_level',userPoints,{path:'/',expires:myDate});};var user=checkLevel(userLevels,userPoints);var currLevelmax=user.levelFrom;var nextLevelmax=user.nextLevelFrom;var pointsLeft=user.pointsLeft;var nextLevel=user.nextLevel;var level=user.level;var percent=Math.round(100*(userPoints-currLevelmax)/(nextLevelmax-currLevelmax));if(loginbar){$('div#usernav div.logged span.points var').html(userPoints);$('div#usernav div.logged td.level').html(SPI.sprintf(SPI._langStrings.loginbar.level,level));$('div#usernav div.logged span.bar span.filled').css('width',percent+'%');if(nextLevelmax!=currLevelmax){$('div#usernav div.logged span.bar').attr('title',SPI.sprintf(SPI._langStrings.loginbar.points_left,pointsLeft,nextLevel));}else{$('div#usernav div.logged span.bar span.filled').css('width','100%');};};if(leftbox){$('#userinfo #points span').html(userPoints);$('#userinfo #level span').html(level);$('#userinfo #emptybar #fullbar').css('width',percent+'%');if(nextLevelmax!=currLevelmax){$('#userinfo #emptybar').attr('title',SPI.sprintf(SPI._langStrings.loginbar.points_left,pointsLeft,nextLevel));spiApplyTooltip($('#userinfo #emptybar'));}else{$('#userinfo #emptybar #fullbar').css('width','100%');};};if($("div#gamepointbox_pointsleft_value").length>0){$("div#gamepointbox_pointsleft_value").text(pointsLeft);};if(loginbar){spiApplyTooltip($('div#usernav div.logged span.bar'));};};var loginNotice=function(){$('div#login_notice').show();$('div#maincontent div.breadcrumb h4').text(SPI._langStrings.userprofile.breadcrumb_guest);};;if(typeof SPI=="undefined"||!SPI){var SPI={_settings:{},_langStrings:{},_templates:{},_tplCache:{}};}
SPI.log=function(msg){if(window.console&&console.log){console.log(msg);}else{alert(msg);}};SPI.get_by_id=function(id){var node=document.getElementById(id);if(!node){SPI.log("template id: "+id+" not found");}
return node;};SPI.render=function render(str,data){var fn=!/\W/.test(str)?SPI._tplCache[str]=SPI._tplCache[str]||render(SPI.get_by_id(str).innerHTML):new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};"+"with(obj){p.push('"+
str.split('<!--').join('').split('-->').join('').split("'").join("\\'").replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'").split("\\\\'").join("\\'")
+"');}return p.join('');");return data?fn(data):fn;};SPI.addslashes=function(x){return x.replace(/('|"|\\)/g,"\\$1")};SPI.str_repeat=function(i,m){for(var o=[];m>0;o[--m]=i);return(o.join(''));};SPI.sprintf=function(){var i=0,a,f=arguments[i++],o=[],m,p,c,x;while(f){if(m=/^[^\x25]+/.exec(f))o.push(m[0]);else if(m=/^\x25{2}/.exec(f))o.push('%');else if(m=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f)){if(((a=arguments[m[1]||i++])==null)||(a==undefined))throw("Too few arguments.");if(/[^s]/.test(m[7])&&(typeof(a)!='number'))
throw("Expecting number but found "+typeof(a));switch(m[7]){case'b':a=a.toString(2);break;case'c':a=String.fromCharCode(a);break;case'd':a=parseInt(a);break;case'e':a=m[6]?a.toExponential(m[6]):a.toExponential();break;case'f':a=m[6]?parseFloat(a).toFixed(m[6]):parseFloat(a);break;case'o':a=a.toString(8);break;case's':a=((a=String(a))&&m[6]?a.substring(0,m[6]):a);break;case'u':a=Math.abs(a);break;case'x':a=a.toString(16);break;case'X':a=a.toString(16).toUpperCase();break;}
a=(/[def]/.test(m[7])&&m[2]&&a>0?'+'+a:a);c=m[3]?m[3]=='0'?'0':m[3].charAt(1):' ';x=m[5]-String(a).length;p=m[5]?SPI.str_repeat(c,x):'';o.push(m[4]?a+p:p+a);}
else throw("Huh ?!");f=f.substring(m[0].length);}
return o.join('');};SPI.getAndUpdateConfig=function(app,local,update){var x=['settings','langStrings','templates'];update=update||{};for(var i in x){local[x[i]]=local[x[i]]||{};jQuery.extend(true,local[x[i]],SPI[('_'+x[i])][app]||{},update[x[i]]||{});}};SPI.escape=function(string){return jQuery('<div/>').text(string).html();};SPI.ltrim=function(str,chars){chars=chars||"\\s";return str.replace(new RegExp("^["+chars+"]+","g"),"");};SPI.rtrim=function(str,chars){chars=chars||"\\s";return str.replace(new RegExp("["+chars+"]+$","g"),"");};SPI.trim=function(str,chars){return SPI.ltrim(SPI.rtrim(str,chars),chars);};SPI.typeOf=function(value){var s=typeof value;if(s==='object'){if(value){if(typeof value.length==='number'&&!(value.propertyIsEnumerable('length'))&&typeof value.splice==='function'){s='array';}}else{s='null';}}
return s;};SPI.paginatorString=function(totalRes,curPage,elemPerPage,surround,handler,strings){curPage=curPage||1;elemPerPage=elemPerPage||20;surround=surround||7;var totalPages=Math.ceil(totalRes/elemPerPage);if(totalPages<=1){return'';}
var ret='<span class="pagine">';var naviStart=Math.min(curPage-Math.floor(surround/2),Math.ceil(totalRes/elemPerPage-surround));var naviStart=Math.max(naviStart,1);if(curPage>1){ret+='<span class="paginer_prev"><a href="#page'+(Math.max(1,curPage-1))+'">&nbsp;</a></span>';}
if(naviStart>1)ret+='<span class="paginer_ellipsis">...</span>';for(var i=naviStart;i<=totalPages&&i<=surround+naviStart;i++){if(i==curPage){ret+='<span class="paginer_current">'+i+'</span>';}else{ret+='<span class="paginer_page"><a href="#page'+i+'" name="page"'+i+'">'+i+'</a></span>';}}
if(surround+naviStart<totalPages)ret+='<span class="paginer_ellipsis">...</span>';if(curPage<totalPages){ret+='<span class="paginer_next"><a href="#page'+(Math.min(curPage+1,totalPages))+'">&nbsp;</a></span>';}
ret+='</span>';if(handler){ret=$(ret);$('a',ret).click(function(){handler.call(this,parseInt($(this).attr('href').replace(/[^\#]*#page/,'')));return false;});}
return ret;};SPI.flashMessage=(function(){var cookieName='_profilar_fmessage';var that={};that.get=function(){var cookieValue=$.cookie(cookieName)||'';that.clear();return(cookieValue.split('|'));};that.set=function(message,error){that.clear();var isError=error||false;$.cookie(cookieName,message+'|'+isError);};that.clear=function(){$.cookie(cookieName,null);};return that;})();SPI.number_format=function(number,decimals,dec_point,thousands_sep){var decimals=decimals||0;var dec_point=dec_point||SPI._settings.global.number_format_decimalseparator;var thousands_sep=thousands_sep||SPI._settings.global.number_format_thousandsseparator;var n=number,prec=decimals;var toFixedFix=function(n,prec){var k=Math.pow(10,prec);return(Math.round(n*k)/k).toString();};n=!isFinite(+n)?0:+n;prec=!isFinite(+prec)?0:Math.abs(prec);var sep=(typeof thousands_sep==='undefined')?',':thousands_sep;var dec=(typeof dec_point==='undefined')?'.':dec_point;var s=(prec>0)?toFixedFix(n,prec):toFixedFix(Math.round(n),prec);var abs=toFixedFix(Math.abs(n),prec);var _,i;if(abs>=1000){_=abs.split(/\D/);i=_[0].length%3||3;_[0]=s.slice(0,i+(n<0))+
_[0].slice(i).replace(/(\d{3})/g,sep+'$1');s=_.join(dec);}else{s=s.replace('.',dec);}
var decPos=s.indexOf(dec);if(prec>=1&&decPos!==-1&&(s.length-decPos-1)<prec){s+=new Array(prec-(s.length-decPos-1)).join(0)+'0';}
else if(prec>=1&&decPos===-1){s+=dec+new Array(prec).join(0)+'0';}
return s;};SPI.formatDate=function(date,langStrings,day){var s=langStrings||SPI._langStrings.relative_date;var lowestIsDay=day||false;var diff=((new Date()).getTime()/1000-date),day_diff=Math.floor(diff/86400);if(isNaN(day_diff))return'';if(lowestIsDay===true){if(diff<86400||day_diff<1)return s[13];}
if(diff<0||day_diff<0)return s[0];if(day_diff>=730)return SPI.sprintf(s[12],Math.ceil(day_diff/365));if(day_diff==0)return diff<60&&s[0]||diff<120&&s[1]||diff<3600&&SPI.sprintf(s[2],Math.floor(diff/60))||diff<7200&&s[3]||diff<86400&&SPI.sprintf(s[4],Math.floor(diff/3600));return day_diff==1&&s[5]||day_diff<7&&SPI.sprintf(s[6],day_diff)||day_diff<14&&s[7]||day_diff<31&&SPI.sprintf(s[8],Math.ceil(day_diff/7))||day_diff<60&&s[9]||day_diff<365&&SPI.sprintf(s[10],Math.ceil(day_diff/30))||day_diff<730&&s[11];};SPI.formatAbsDate=function(date,isTimestamp,template){isTimestamp=isTimestamp===undefined?true:isTimestamp;template=template===undefined?SPI._langStrings.formatabsdate:template;var day,month,year;if(isTimestamp){var tmp=new Date()
tmp.setTime(parseInt(date)*1000);day=tmp.getDate();month=tmp.getMonth()+1;year=tmp.getFullYear();}else{day=date.substr(6,2);month=date.substr(4,2);year=date.substr(0,4);}
return SPI.sprintf(template,year,month,day);};SPI.cutString=function(string,limit,specialchars,ending){var limit=limit||0;var specialchars=specialchars||false;var ending=ending||'...';if(limit==0){return string;}
if(specialchars==true){string=this.escape(string);}
if(string.length>limit){string=string.substring(0,limit-1)+''+ending;}
return string;};SPI.cutStringPlease=function(string,limit,specialchars,ending){return SPI.cutString(string,limit,specialchars,ending);};SPI.openAnchor=function(anchor){return anchor.slice(0,anchor.length-1);};SPI.getURLparam=function(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null){if(name=='username'){var uRegexp=new RegExp("https?:\/\/[^\/]+\/[^\/]+\/([a-zA-Z0-9_-]+).*");var results2=uRegexp.exec(window.location.href);return(results2==null)?'':results2[1];}else{return'';}}else{return results[1];}};SPI.reloadSite=function(url,extraparam){var url=url||SPI.getURLparam('r')||SPI._settings.global.static_domain||'/';extraparam=extraparam||'';if(extraparam!=''){url+=(/\?/.test(url)?'&':'?')+extraparam;}
try{window.top.location.href=url;}catch(e){};};SPI.handlers=(function(){var that={};var callbacks={};that.clear=function(bucket){if(bucket===undefined){callbacks={};}else{delete callbacks[bucket];}};that.add=function(bucket,callback){if(callbacks[bucket]===undefined){callbacks[bucket]=[];}
callbacks[bucket].push(callback);};that.run=function(bucket,_arguments,clearme,debug){clearme=clearme===undefined?true:clearme;if(callbacks[bucket]===undefined){return;}
for(var i in callbacks[bucket]){try{callbacks[bucket][i].apply(this,_arguments===undefined?[]:_arguments);}catch(e){if(debug===true)throw e;}}
if(clearme!=false){that.clear(bucket)};};return that;})();SPI.switchObjects=function(showOrHide,elements){var elements=elements||$('object:visible, #flashobj_mc');var show=showOrHide||'show';if($(elements).length>0){switch(show.toLowerCase()){default:case'show':$(elements).each(function(){$(this).css('visibility','visible')});break;case'hide':$(elements).each(function(){$(this).css('visibility','hidden')});break;}}};String.prototype.wordWrap=function(m,b,c){var i,j,s,r=this.split("\n");if(m>0)for(i in r){for(s=r[i],r[i]="";s.length>m;j=c?m:(j=s.substr(0,m).match(/\S*$/)).input.length-j[0].length||m,r[i]+=s.substr(0,j)+((s=s.substr(j)).length?b:""));r[i]+=s;}
return r.join("\n");};SPI.wordWrap=function(word,count,separator){count=count||20;separator=separator||' ';if(word.length>0){if(navigator&&navigator.userAgent){var matches=navigator.userAgent.match(/Firefox\/(\d\.\d)/i);if(matches!=null&&parseFloat(matches[1])<3.5){return''+word.wordWrap(count,separator,true);}}}
return word;};;jQuery.cookie=function(b,j,m){if(typeof j!="undefined"){m=m||{};if(j===null){j="";m.expires=-1}var e="";if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString)){var f;if(typeof m.expires=="number"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e="; expires="+f.toUTCString()}var l=m.path?"; path="+(m.path):"";var g=m.domain?"; domain="+(m.domain):"";var a=m.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var k=document.cookie.split(";");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};;var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";String.prototype.encodeBase64=function(utf8encode){utf8encode=(typeof utf8encode=='undefined')?false:utf8encode;var o1,o2,o3,bits,h1,h2,h3,h4,e=[],pad='',c,plain,coded;plain=utf8encode?this.encodeUTF8():this;c=plain.length%3;if(c>0){while(c++<3){pad+='=';plain+='\0';}}
for(c=0;c<plain.length;c+=3){o1=plain.charCodeAt(c);o2=plain.charCodeAt(c+1);o3=plain.charCodeAt(c+2);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;e[c/3]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}
coded=e.join('');coded=coded.slice(0,coded.length-pad.length)+pad;return coded;}
String.prototype.decodeBase64=function(utf8decode){utf8decode=(typeof utf8decode=='undefined')?false:utf8decode;var o1,o2,o3,h1,h2,h3,h4,bits,d=[],plain,coded;coded=utf8decode?this.decodeUTF8():this;for(var c=0;c<coded.length;c+=4){h1=b64.indexOf(coded.charAt(c));h2=b64.indexOf(coded.charAt(c+1));h3=b64.indexOf(coded.charAt(c+2));h4=b64.indexOf(coded.charAt(c+3));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>>16&0xff;o2=bits>>>8&0xff;o3=bits&0xff;d[c/4]=String.fromCharCode(o1,o2,o3);if(h4==0x40)d[c/4]=String.fromCharCode(o1,o2);if(h3==0x40)d[c/4]=String.fromCharCode(o1);}
plain=d.join('');return utf8decode?plain.decodeUTF8():plain;}
String.prototype.encodeUTF8=function(){var str=this.replace(/[\u0080-\u07ff]/g,function(c){var cc=c.charCodeAt(0);return String.fromCharCode(0xc0|cc>>6,0x80|cc&0x3f);});str=str.replace(/[\u0800-\uffff]/g,function(c){var cc=c.charCodeAt(0);return String.fromCharCode(0xe0|cc>>12,0x80|cc>>6&0x3F,0x80|cc&0x3f);});return str;}
String.prototype.decodeUTF8=function(){var str=this.replace(/[\u00c0-\u00df][\u0080-\u00bf]/g,function(c){var cc=(c.charCodeAt(0)&0x1f)<<6|c.charCodeAt(1)&0x3f;return String.fromCharCode(cc);});str=str.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g,function(c){var cc=((c.charCodeAt(0)&0x0f)<<12)|((c.charCodeAt(1)&0x3f)<<6)|(c.charCodeAt(2)&0x3f);return String.fromCharCode(cc);});return str;};bpe=0;mask=0;radix=mask+1;digitsStr='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\\'\"+-';for(bpe=0;(1<<(bpe+1))>(1<<bpe);bpe++);bpe>>=1;mask=(1<<bpe)-1;radix=mask+1;one=int2bigInt(1,1,1);t=new Array(0);ss=t;s0=t;s1=t;s2=t;s3=t;s4=t;s5=t;s6=t;s7=t;T=t;sa=t;mr_x1=t;mr_r=t;mr_a=t;eg_v=t;eg_u=t;eg_A=t;eg_B=t;eg_C=t;eg_D=t;md_q1=t;md_q2=t;md_q3=t;md_r=t;md_r1=t;md_r2=t;md_tt=t;primes=t;pows=t;s_i=t;s_i2=t;s_R=t;s_rm=t;s_q=t;s_n1=t;s_a=t;s_r2=t;s_n=t;s_b=t;s_d=t;s_x1=t;s_x2=t,s_aa=t;function findPrimes(n){var i,s,p,ans;s=new Array(n);for(i=0;i<n;i++)
s[i]=0;s[0]=2;p=0;for(;s[p]<n;){for(i=s[p]*s[p];i<n;i+=s[p])
s[i]=1;p++;s[p]=s[p-1]+1;for(;s[p]<n&&s[s[p]];s[p]++);}
ans=new Array(p);for(i=0;i<p;i++)
ans[i]=s[i];return ans;}
function millerRabin(x,b){var i,j,k,s;if(mr_x1.length!=x.length){mr_x1=dup(x);mr_r=dup(x);mr_a=dup(x);}
copyInt_(mr_a,b);copy_(mr_r,x);copy_(mr_x1,x);addInt_(mr_r,-1);addInt_(mr_x1,-1);k=0;for(i=0;i<mr_r.length;i++)
for(j=1;j<mask;j<<=1)
if(x[i]&j){s=(k<mr_r.length+bpe?k:0);i=mr_r.length;j=mask;}else
k++;if(s)
rightShift_(mr_r,s);powMod_(mr_a,mr_r,x);if(!equalsInt(mr_a,1)&&!equals(mr_a,mr_x1)){j=1;while(j<=s-1&&!equals(mr_a,mr_x1)){squareMod_(mr_a,x);if(equalsInt(mr_a,1)){return 0;}
j++;}
if(!equals(mr_a,mr_x1)){return 0;}}
return 1;}
function bitSize(x){var j,z,w;for(j=x.length-1;(x[j]==0)&&(j>0);j--);for(z=0,w=x[j];w;(w>>=1),z++);z+=bpe*j;return z;}
function expand(x,n){var ans=int2bigInt(0,(x.length>n?x.length:n)*bpe,0);copy_(ans,x);return ans;}
function randTruePrime(k){var ans=int2bigInt(0,k,0);randTruePrime_(ans,k);return trim(ans,1);}
function mod(x,n){var ans=dup(x);mod_(ans,n);return trim(ans,1);}
function addInt(x,n){var ans=expand(x,x.length+1);addInt_(ans,n);return trim(ans,1);}
function mult(x,y){var ans=expand(x,x.length+y.length);mult_(ans,y);return trim(ans,1);}
function powMod(x,y,n){var ans=expand(x,n.length);powMod_(ans,trim(y,2),trim(n,2),0);return trim(ans,1);}
function sub(x,y){var ans=expand(x,(x.length>y.length?x.length+1:y.length+1));sub_(ans,y);return trim(ans,1);}
function add(x,y){var ans=expand(x,(x.length>y.length?x.length+1:y.length+1));add_(ans,y);return trim(ans,1);}
function inverseMod(x,n){var ans=expand(x,n.length);var s;s=inverseMod_(ans,n);return s?trim(ans,1):null;}
function multMod(x,y,n){var ans=expand(x,n.length);multMod_(ans,y,n);return trim(ans,1);}
function randTruePrime_(ans,k){var c,m,pm,dd,j,r,B,divisible,z,zz,recSize;if(primes.length==0)
primes=findPrimes(30000);if(pows.length==0){pows=new Array(512);for(j=0;j<512;j++){pows[j]=Math.pow(2,j/511.-1.);}}
c=0.1;m=20;recLimit=20;if(s_i2.length!=ans.length){s_i2=dup(ans);s_R=dup(ans);s_n1=dup(ans);s_r2=dup(ans);s_d=dup(ans);s_x1=dup(ans);s_x2=dup(ans);s_b=dup(ans);s_n=dup(ans);s_i=dup(ans);s_rm=dup(ans);s_q=dup(ans);s_a=dup(ans);s_aa=dup(ans);}
if(k<=recLimit){pm=(1<<((k+2)>>1))-1;copyInt_(ans,0);for(dd=1;dd;){dd=0;ans[0]=1|(1<<(k-1))|Math.floor(Math.random()*(1<<k));for(j=1;(j<primes.length)&&((primes[j]&pm)==primes[j]);j++){if(0==(ans[0]%primes[j])){dd=1;break;}}}
carry_(ans);return;}
B=c*k*k;if(k>2*m)
for(r=1;k-k*r<=m;)
r=pows[Math.floor(Math.random()*512)];else
r=.5;recSize=Math.floor(r*k)+1;randTruePrime_(s_q,recSize);copyInt_(s_i2,0);s_i2[Math.floor((k-2)/bpe)]|=(1<<((k-2)%bpe));divide_(s_i2,s_q,s_i,s_rm);z=bitSize(s_i);for(;;){for(;;){randBigInt_(s_R,z,0);if(greater(s_i,s_R))
break;}
addInt_(s_R,1);add_(s_R,s_i);copy_(s_n,s_q);mult_(s_n,s_R);multInt_(s_n,2);addInt_(s_n,1);copy_(s_r2,s_R);multInt_(s_r2,2);for(divisible=0,j=0;(j<primes.length)&&(primes[j]<B);j++)
if(modInt(s_n,primes[j])==0){divisible=1;break;}
if(!divisible)
if(!millerRabin(s_n,2))
divisible=1;if(!divisible){addInt_(s_n,-3);for(j=s_n.length-1;(s_n[j]==0)&&(j>0);j--);for(zz=0,w=s_n[j];w;(w>>=1),zz++);zz+=bpe*j;for(;;){randBigInt_(s_a,zz,0);if(greater(s_n,s_a))
break;}
addInt_(s_n,3);addInt_(s_a,2);copy_(s_b,s_a);copy_(s_n1,s_n);addInt_(s_n1,-1);powMod_(s_b,s_n1,s_n);addInt_(s_b,-1);if(isZero(s_b)){copy_(s_b,s_a);powMod_(s_b,s_r2,s_n);addInt_(s_b,-1);copy_(s_aa,s_n);copy_(s_d,s_b);GCD_(s_d,s_n);if(equalsInt(s_d,1)){copy_(ans,s_aa);return;}}}}}
function randBigInt(n,s){var a,b;a=Math.floor((n-1)/bpe)+2;b=int2bigInt(0,0,a);randBigInt_(b,n,s);return b;}
function randBigInt_(b,n,s){var i,a;for(i=0;i<b.length;i++)
b[i]=0;a=Math.floor((n-1)/bpe)+1;for(i=0;i<a;i++){b[i]=Math.floor(Math.random()*(1<<(bpe-1)));}
b[a-1]&=(2<<((n-1)%bpe))-1;if(s==1)
b[a-1]|=(1<<((n-1)%bpe));}
function GCD(x,y){var xc,yc;xc=dup(x);yc=dup(y);GCD_(xc,yc);return xc;}
function GCD_(x,y){var i,xp,yp,A,B,C,D,q,sing;if(T.length!=x.length)
T=dup(x);sing=1;while(sing){sing=0;for(i=1;i<y.length;i++)
if(y[i]){sing=1;break;}
if(!sing)break;for(i=x.length;!x[i]&&i>=0;i--);xp=x[i];yp=y[i];A=1;B=0;C=0;D=1;while((yp+C)&&(yp+D)){q=Math.floor((xp+A)/(yp+C));qp=Math.floor((xp+B)/(yp+D));if(q!=qp)
break;t=A-q*C;A=C;C=t;t=B-q*D;B=D;D=t;t=xp-q*yp;xp=yp;yp=t;}
if(B){copy_(T,x);linComb_(x,y,A,B);linComb_(y,T,D,C);}else{mod_(x,y);copy_(T,x);copy_(x,y);copy_(y,T);}}
if(y[0]==0)
return;t=modInt(x,y[0]);copyInt_(x,y[0]);y[0]=t;while(y[0]){x[0]%=y[0];t=x[0];x[0]=y[0];y[0]=t;}}
function inverseMod_(x,n){var k=1+2*Math.max(x.length,n.length);if(!(x[0]&1)&&!(n[0]&1)){copyInt_(x,0);return 0;}
if(eg_u.length!=k){eg_u=new Array(k);eg_v=new Array(k);eg_A=new Array(k);eg_B=new Array(k);eg_C=new Array(k);eg_D=new Array(k);}
copy_(eg_u,x);copy_(eg_v,n);copyInt_(eg_A,1);copyInt_(eg_B,0);copyInt_(eg_C,0);copyInt_(eg_D,1);for(;;){while(!(eg_u[0]&1)){halve_(eg_u);if(!(eg_A[0]&1)&&!(eg_B[0]&1)){halve_(eg_A);halve_(eg_B);}else{add_(eg_A,n);halve_(eg_A);sub_(eg_B,x);halve_(eg_B);}}
while(!(eg_v[0]&1)){halve_(eg_v);if(!(eg_C[0]&1)&&!(eg_D[0]&1)){halve_(eg_C);halve_(eg_D);}else{add_(eg_C,n);halve_(eg_C);sub_(eg_D,x);halve_(eg_D);}}
if(!greater(eg_v,eg_u)){sub_(eg_u,eg_v);sub_(eg_A,eg_C);sub_(eg_B,eg_D);}else{sub_(eg_v,eg_u);sub_(eg_C,eg_A);sub_(eg_D,eg_B);}
if(equalsInt(eg_u,0)){if(negative(eg_C))
add_(eg_C,n);copy_(x,eg_C);if(!equalsInt(eg_v,1)){copyInt_(x,0);return 0;}
return 1;}}}
function inverseModInt(x,n){var a=1,b=0,t;for(;;){if(x==1)return a;if(x==0)return 0;b-=a*Math.floor(n/x);n%=x;if(n==1)return b;if(n==0)return 0;a-=b*Math.floor(x/n);x%=n;}}
function inverseModInt_(x,n){return inverseModInt(x,n);}
function eGCD_(x,y,v,a,b){var g=0;var k=Math.max(x.length,y.length);if(eg_u.length!=k){eg_u=new Array(k);eg_A=new Array(k);eg_B=new Array(k);eg_C=new Array(k);eg_D=new Array(k);}
while(!(x[0]&1)&&!(y[0]&1)){halve_(x);halve_(y);g++;}
copy_(eg_u,x);copy_(v,y);copyInt_(eg_A,1);copyInt_(eg_B,0);copyInt_(eg_C,0);copyInt_(eg_D,1);for(;;){while(!(eg_u[0]&1)){halve_(eg_u);if(!(eg_A[0]&1)&&!(eg_B[0]&1)){halve_(eg_A);halve_(eg_B);}else{add_(eg_A,y);halve_(eg_A);sub_(eg_B,x);halve_(eg_B);}}
while(!(v[0]&1)){halve_(v);if(!(eg_C[0]&1)&&!(eg_D[0]&1)){halve_(eg_C);halve_(eg_D);}else{add_(eg_C,y);halve_(eg_C);sub_(eg_D,x);halve_(eg_D);}}
if(!greater(v,eg_u)){sub_(eg_u,v);sub_(eg_A,eg_C);sub_(eg_B,eg_D);}else{sub_(v,eg_u);sub_(eg_C,eg_A);sub_(eg_D,eg_B);}
if(equalsInt(eg_u,0)){if(negative(eg_C)){add_(eg_C,y);sub_(eg_D,x);}
multInt_(eg_D,-1);copy_(a,eg_C);copy_(b,eg_D);leftShift_(v,g);return;}}}
function negative(x){return((x[x.length-1]>>(bpe-1))&1);}
function greaterShift(x,y,shift){var kx=x.length,ky=y.length;k=((kx+shift)<ky)?(kx+shift):ky;for(i=ky-1-shift;i<kx&&i>=0;i++)
if(x[i]>0)
return 1;for(i=kx-1+shift;i<ky;i++)
if(y[i]>0)
return 0;for(i=k-1;i>=shift;i--)
if(x[i-shift]>y[i])return 1;else if(x[i-shift]<y[i])return 0;return 0;}
function greater(x,y){var i;var k=(x.length<y.length)?x.length:y.length;for(i=x.length;i<y.length;i++)
if(y[i])
return 0;for(i=y.length;i<x.length;i++)
if(x[i])
return 1;for(i=k-1;i>=0;i--)
if(x[i]>y[i])
return 1;else if(x[i]<y[i])
return 0;return 0;}
function divide_(x,y,q,r){var kx,ky;var i,j,y1,y2,c,a,b;copy_(r,x);for(ky=y.length;y[ky-1]==0;ky--);b=y[ky-1];for(a=0;b;a++)
b>>=1;a=bpe-a;leftShift_(y,a);leftShift_(r,a);for(kx=r.length;r[kx-1]==0&&kx>ky;kx--);copyInt_(q,0);while(!greaterShift(y,r,kx-ky)){subShift_(r,y,kx-ky);q[kx-ky]++;}
for(i=kx-1;i>=ky;i--){if(r[i]==y[ky-1])
q[i-ky]=mask;else
q[i-ky]=Math.floor((r[i]*radix+r[i-1])/y[ky-1]);for(;;){y2=(ky>1?y[ky-2]:0)*q[i-ky];c=y2>>bpe;y2=y2&mask;y1=c+q[i-ky]*y[ky-1];c=y1>>bpe;y1=y1&mask;if(c==r[i]?y1==r[i-1]?y2>(i>1?r[i-2]:0):y1>r[i-1]:c>r[i])
q[i-ky]--;else
break;}
linCombShift_(r,y,-q[i-ky],i-ky);if(negative(r)){addShift_(r,y,i-ky);q[i-ky]--;}}
rightShift_(y,a);rightShift_(r,a);}
function carry_(x){var i,k,c,b;k=x.length;c=0;for(i=0;i<k;i++){c+=x[i];b=0;if(c<0){b=-(c>>bpe);c+=b*radix;}
x[i]=c&mask;c=(c>>bpe)-b;}}
function modInt(x,n){var i,c=0;for(i=x.length-1;i>=0;i--)
c=(c*radix+x[i])%n;return c;}
function int2bigInt(t,bits,minSize){var i,k;k=Math.ceil(bits/bpe)+1;k=minSize>k?minSize:k;buff=new Array(k);copyInt_(buff,t);return buff;}
function str2bigInt(s,base,minSize){var d,i,j,x,y,kk;var k=s.length;if(base==-1){x=new Array(0);for(;;){y=new Array(x.length+1);for(i=0;i<x.length;i++)
y[i+1]=x[i];y[0]=parseInt(s,10);x=y;d=s.indexOf(',',0);if(d<1)
break;s=s.substring(d+1);if(s.length==0)
break;}
if(x.length<minSize){y=new Array(minSize);copy_(y,x);return y;}
return x;}
x=int2bigInt(0,base*k,0);for(i=0;i<k;i++){d=digitsStr.indexOf(s.substring(i,i+1),0);if(base<=36&&d>=36)
d-=26;if(d<base&&d>=0){multInt_(x,base);addInt_(x,d);}}
for(k=x.length;k>0&&!x[k-1];k--);k=minSize>k+1?minSize:k+1;y=new Array(k);kk=k<x.length?k:x.length;for(i=0;i<kk;i++)
y[i]=x[i];for(;i<k;i++)
y[i]=0;return y;}
function equalsInt(x,y){var i;if(x[0]!=y)
return 0;for(i=1;i<x.length;i++)
if(x[i])
return 0;return 1;}
function equals(x,y){var i;var k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++)
if(x[i]!=y[i])
return 0;if(x.length>y.length){for(;i<x.length;i++)
if(x[i])
return 0;}else{for(;i<y.length;i++)
if(y[i])
return 0;}
return 1;}
function isZero(x){var i;for(i=0;i<x.length;i++)
if(x[i])
return 0;return 1;}
function bigInt2str(x,base){var i,t,s="";if(s6.length!=x.length)
s6=dup(x);else
copy_(s6,x);if(base==-1){for(i=x.length-1;i>0;i--)
s+=x[i]+',';s+=x[0];}
else{while(!isZero(s6)){t=divInt_(s6,base);s=digitsStr.substring(t,t+1)+s;}}
if(s.length==0)
s="0";return s;}
function dup(x){var i;buff=new Array(x.length);copy_(buff,x);return buff;}
function copy_(x,y){var i;var k=x.length<y.length?x.length:y.length;for(i=0;i<k;i++)
x[i]=y[i];for(i=k;i<x.length;i++)
x[i]=0;}
function copyInt_(x,n){var i,c;for(c=n,i=0;i<x.length;i++){x[i]=c&mask;c>>=bpe;}}
function addInt_(x,n){var i,k,c,b;x[0]+=n;k=x.length;c=0;for(i=0;i<k;i++){c+=x[i];b=0;if(c<0){b=-(c>>bpe);c+=b*radix;}
x[i]=c&mask;c=(c>>bpe)-b;if(!c)return;}}
function rightShift_(x,n){var i;var k=Math.floor(n/bpe);if(k){for(i=0;i<x.length-k;i++)
x[i]=x[i+k];for(;i<x.length;i++)
x[i]=0;n%=bpe;}
for(i=0;i<x.length-1;i++){x[i]=mask&((x[i+1]<<(bpe-n))|(x[i]>>n));}
x[i]>>=n;}
function halve_(x){var i;for(i=0;i<x.length-1;i++){x[i]=mask&((x[i+1]<<(bpe-1))|(x[i]>>1));}
x[i]=(x[i]>>1)|(x[i]&(radix>>1));}
function leftShift_(x,n){var i;var k=Math.floor(n/bpe);if(k){for(i=x.length;i>=k;i--)
x[i]=x[i-k];for(;i>=0;i--)
x[i]=0;n%=bpe;}
if(!n)
return;for(i=x.length-1;i>0;i--){x[i]=mask&((x[i]<<n)|(x[i-1]>>(bpe-n)));}
x[i]=mask&(x[i]<<n);}
function multInt_(x,n){var i,k,c,b;if(!n)
return;k=x.length;c=0;for(i=0;i<k;i++){c+=x[i]*n;b=0;if(c<0){b=-(c>>bpe);c+=b*radix;}
x[i]=c&mask;c=(c>>bpe)-b;}}
function divInt_(x,n){var i,r=0,s;for(i=x.length-1;i>=0;i--){s=r*radix+x[i];x[i]=Math.floor(s/n);r=s%n;}
return r;}
function linComb_(x,y,a,b){var i,c,k,kk;k=x.length<y.length?x.length:y.length;kk=x.length;for(c=0,i=0;i<k;i++){c+=a*x[i]+b*y[i];x[i]=c&mask;c>>=bpe;}
for(i=k;i<kk;i++){c+=a*x[i];x[i]=c&mask;c>>=bpe;}}
function linCombShift_(x,y,b,ys){var i,c,k,kk;k=x.length<ys+y.length?x.length:ys+y.length;kk=x.length;for(c=0,i=ys;i<k;i++){c+=x[i]+b*y[i-ys];x[i]=c&mask;c>>=bpe;}
for(i=k;c&&i<kk;i++){c+=x[i];x[i]=c&mask;c>>=bpe;}}
function addShift_(x,y,ys){var i,c,k,kk;k=x.length<ys+y.length?x.length:ys+y.length;kk=x.length;for(c=0,i=ys;i<k;i++){c+=x[i]+y[i-ys];x[i]=c&mask;c>>=bpe;}
for(i=k;c&&i<kk;i++){c+=x[i];x[i]=c&mask;c>>=bpe;}}
function subShift_(x,y,ys){var i,c,k,kk;k=x.length<ys+y.length?x.length:ys+y.length;kk=x.length;for(c=0,i=ys;i<k;i++){c+=x[i]-y[i-ys];x[i]=c&mask;c>>=bpe;}
for(i=k;c&&i<kk;i++){c+=x[i];x[i]=c&mask;c>>=bpe;}}
function sub_(x,y){var i,c,k,kk;k=x.length<y.length?x.length:y.length;for(c=0,i=0;i<k;i++){c+=x[i]-y[i];x[i]=c&mask;c>>=bpe;}
for(i=k;c&&i<x.length;i++){c+=x[i];x[i]=c&mask;c>>=bpe;}}
function add_(x,y){var i,c,k,kk;k=x.length<y.length?x.length:y.length;for(c=0,i=0;i<k;i++){c+=x[i]+y[i];x[i]=c&mask;c>>=bpe;}
for(i=k;c&&i<x.length;i++){c+=x[i];x[i]=c&mask;c>>=bpe;}}
function mult_(x,y){var i;if(ss.length!=2*x.length)
ss=new Array(2*x.length);copyInt_(ss,0);for(i=0;i<y.length;i++)
if(y[i])
linCombShift_(ss,x,y[i],i);copy_(x,ss);}
function mod_(x,n){if(s4.length!=x.length)
s4=dup(x);else
copy_(s4,x);if(s5.length!=x.length)
s5=dup(x);divide_(s4,n,s5,x);}
function multMod_(x,y,n){var i;if(s0.length!=2*x.length)
s0=new Array(2*x.length);copyInt_(s0,0);for(i=0;i<y.length;i++)
if(y[i])
linCombShift_(s0,x,y[i],i);mod_(s0,n);copy_(x,s0);}
function squareMod_(x,n){var i,j,d,c,kx,kn,k;for(kx=x.length;kx>0&&!x[kx-1];kx--);k=kx>n.length?2*kx:2*n.length;if(s0.length!=k)
s0=new Array(k);copyInt_(s0,0);for(i=0;i<kx;i++){c=s0[2*i]+x[i]*x[i];s0[2*i]=c&mask;c>>=bpe;for(j=i+1;j<kx;j++){c=s0[i+j]+2*x[i]*x[j]+c;s0[i+j]=(c&mask);c>>=bpe;}
s0[i+kx]=c;}
mod_(s0,n);copy_(x,s0);}
function trim(x,k){var i,y;for(i=x.length;i>0&&!x[i-1];i--);y=new Array(i+k);copy_(y,x);return y;}
function powMod_(x,y,n){var k1,k2,kn,np;if(s7.length!=n.length)
s7=dup(n);if((n[0]&1)==0){copy_(s7,x);copyInt_(x,1);while(!equalsInt(y,0)){if(y[0]&1)
multMod_(x,s7,n);divInt_(y,2);squareMod_(s7,n);}
return;}
copyInt_(s7,0);for(kn=n.length;kn>0&&!n[kn-1];kn--);np=radix-inverseModInt(modInt(n,radix),radix);s7[kn]=1;multMod_(x,s7,n);if(s3.length!=x.length)
s3=dup(x);else
copy_(s3,x);for(k1=y.length-1;k1>0&!y[k1];k1--);if(y[k1]==0){copyInt_(x,1);return;}
for(k2=1<<(bpe-1);k2&&!(y[k1]&k2);k2>>=1);for(;;){if(!(k2>>=1)){k1--;if(k1<0){mont_(x,one,n,np);return;}
k2=1<<(bpe-1);}
mont_(x,x,n,np);if(k2&y[k1])
mont_(x,s3,n,np);}}
function mont_(x,y,n,np){var i,j,c,ui,t;var kn=n.length;var ky=y.length;if(sa.length!=kn)
sa=new Array(kn);for(;kn>0&&n[kn-1]==0;kn--);copyInt_(sa,0);for(i=0;i<kn;i++){t=sa[0]+x[i]*y[0];ui=((t&mask)*np)&mask;c=(t+ui*n[0])>>bpe;t=x[i];for(j=1;j<ky;j++){c+=sa[j]+t*y[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;}
for(;j<kn;j++){c+=sa[j]+ui*n[j];sa[j-1]=c&mask;c>>=bpe;}
sa[j-1]=c&mask;}
if(!greater(n,sa))
sub_(sa,n);copy_(x,sa);};function generateNonce(c){var f=new Array(c);var e=Math.floor(Math.random()*18446744073709552000);var d=Math.floor(e/4294967296);var a=e%4294967296;for(var b=0;b<4;b++){f[b]=(d>>>b*8)&255}
for(var b=0;b<4;b++){f[b+4]=(a>>>b*8)&255}
return f}
function Cipher(e,a){var d=4;var h=a.length/d-1;var g=[[],[],[],[]];for(var f=0;f<4*d;f++){g[f%4][Math.floor(f/4)]=e[f]}
g=AddRoundKey(g,a,0,d);for(var c=1;c<h;c++){g=SubBytes(g,d);g=ShiftRows(g,d);g=MixColumns(g,d);g=AddRoundKey(g,a,c,d)}
g=SubBytes(g,d);g=ShiftRows(g,d);g=AddRoundKey(g,a,h,d);var b=new Array(4*d);for(var f=0;f<4*d;f++){b[f]=g[f%4][Math.floor(f/4)]}
return b}
function SubBytes(b,a){for(var d=0;d<4;d++){for(var e=0;e<a;e++){b[d][e]=Sbox[b[d][e]]}}
return b}
function ShiftRows(d,a){var b=new Array(4);for(var e=1;e<4;e++){for(var f=0;f<4;f++){b[f]=d[e][(f+e)%a]}
for(var f=0;f<4;f++){d[e][f]=b[f]}}
return d}
function MixColumns(h,f){for(var j=0;j<4;j++){var e=new Array(4);var d=new Array(4);for(var g=0;g<4;g++){e[g]=h[g][j];d[g]=h[g][j]&128?h[g][j]<<1^283:h[g][j]<<1}
h[0][j]=d[0]^e[1]^d[1]^e[2]^e[3];h[1][j]=e[0]^d[1]^e[2]^d[2]^e[3];h[2][j]=e[0]^e[1]^d[2]^e[3]^d[3];h[3][j]=e[0]^d[0]^e[1]^e[2]^d[3]}
return h}
function AddRoundKey(f,a,d,b){for(var e=0;e<4;e++){for(var g=0;g<b;g++){f[e][g]^=a[d*4+g][e]}}
return f}
function KeyExpansion(f){var d=4;var b=f.length/4;var g=b+6;var e=new Array(d*(g+1));var h=new Array(4);for(var c=0;c<b;c++){var a=[f[4*c],f[4*c+1],f[4*c+2],f[4*c+3]];e[c]=a}
for(var c=b;c<(d*(g+1));c++){e[c]=new Array(4);for(var j=0;j<4;j++){h[j]=e[c-1][j]}
if(c%b==0){h=SubWord(RotWord(h));for(var j=0;j<4;j++){h[j]^=Rcon[c/b][j]}}else{if(b>6&&c%b==4){h=SubWord(h)}}
for(var j=0;j<4;j++){e[c][j]=e[c-b][j]^h[j]}}
return e}
function SubWord(a){for(var b=0;b<4;b++){a[b]=Sbox[a[b]]}
return a}
function RotWord(a){var c=a[0];for(var b=0;b<3;b++){a[b]=a[b+1]}
a[3]=c;return a}
var Sbox=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22];var Rcon=[[0,0,0,0],[1,0,0,0],[2,0,0,0],[4,0,0,0],[8,0,0,0],[16,0,0,0],[32,0,0,0],[64,0,0,0],[128,0,0,0],[27,0,0,0],[54,0,0,0]];function AESEncryptCtr(d,u,q){var o=16;if(!(q==128||q==192||q==256)){return""}
d=d.encodeUTF8();var e=8;var j=generateNonce(o);var a=String.fromCharCode(e+8);for(var l=0;l<e;l++){a+=String.fromCharCode(j[l])}
for(var l=0;l<8;l++){a+=String.fromCharCode(0)}
var f=KeyExpansion(u);var v=Math.ceil(d.length/o);var n=new Array(v);for(var r=0;r<v;r++){for(var p=0;p<4;p++){j[15-p]=(r>>>p*8)&255}
for(var p=0;p<4;p++){j[15-p-4]=(r/4294967296>>>p*8)}
var m=Cipher(j,f);var h=r<v-1?o:(d.length-1)%o+1;var s=new Array(h);for(var l=0;l<h;l++){s[l]=m[l]^d.charCodeAt(r*o+l);s[l]=String.fromCharCode(s[l])}
n[r]=s.join("")}
var g=a+n.join("");g=g.encodeBase64();return g}
function AESGetKey(a,d){if(!(d==128||d==192||d==256)){return""}
a=a.encodeUTF8();var f=d/8;var e=new Array(f);for(var c=0;c<f;c++){e[c]=isNaN(a.charCodeAt(c))?0:a.charCodeAt(c)}
var b=Cipher(e,KeyExpansion(e));b=b.concat(b.slice(0,f-16));return b}
function AESBigKey(e,d){if(!(d==128||d==192||d==256)){return""}
var g=d/8;var c=new Array(g);var f=bigInt2str(e,16);for(var b=Math.ceil(f.length/2);b>0;b--){var a=f.substring(f.length-2,f.length);c[b-1]=parseInt(a,16);f=f.substring(0,f.length-2)}
if(e.length>g){c=c.slice(0,g-1)}else{if(e.length<g){for(b=e.length;b<g;b++){c[b]=0}}}
var f="";for(b=0;b<c.length;b++){f+=c[b]+", "}
return c};jQuery.profilar=(function($){var DHExchange=(function(){var _that={};var sieveSize=4000;var sieve0=(-1*sieveSize);var sieve=[];var lastPrime=0;var primes;var Primes=[3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021];var _p=0,_q=0,_c=0,_z=0,_d=0,sharedKey=0;var forUser='';_that.reset=function(){_p=0;_q=0;_c=0;_z=0;_d=0;sharedKey=0;forUser='';}
var nextPrime=function(c){var d;if(c==Primes[lastPrime]&&lastPrime<Primes.length-1){return Primes[++lastPrime];}
if(c<Primes[Primes.length-1]){for(d=Primes.length-2;d>0;d--){if(Primes[d]<=c){lastPrime=d+1;return Primes[d+1];}}}
var b,a;c++;if((c&1)==0){c++;}
for(;;){if(c-sieve0>sieveSize||c<sieve0){for(d=sieveSize-1;d>=0;d--){sieve[d]=0;}
sieve0=c;primes=Primes.concat();}
if(sieve[c-sieve0]==0){for(d=0;d<primes.length;d++){if((b=primes[d])&&c%b==0){for(a=c-sieve0;a<sieveSize;a+=b){sieve[a]=b;}
c+=2;primes[d]=0;break;}}
if(d>=primes.length){return c;}}else{c+=2;}}};var generatePrime=function(){var prime=0;do{prime=nextPrime(Math.floor(Math.random()*1000000));}while(prime<16385);return int2bigInt(prime,128,2);};_that.initialized=function(user){return sharedKey!=0&&forUser==user;}
_that.initKey=function(){_that.reset();_p=generatePrime();_q=generatePrime();_c=generatePrime();_d=powMod(_p,_c,_q);return{p:bigInt2str(_p,10),q:bigInt2str(_q,10),d:bigInt2str(_d,10)};};_that.generateSharedKey=function(z){_z=str2bigInt(z,-1,8*bpe);sharedKey=powMod(_z,_c,_q);};_that.encryptMessage=function(text){return AESEncryptCtr(new String(text),AESBigKey(sharedKey,128),128);};return _that;})();var RW_FIELDS=['gender','givenname','surname','streetaddress','postcode','city','state','country','dob','email','language','fbc_id','gfc_id','parentemail'];var RO_FIELDS=RW_FIELDS.concat(['ip','siteid','channel','username','regdate','lastlogin','age','activated','deleted','banned']);var WR_FIELDS=RW_FIELDS.concat(['password']);var RO_PUB_FIELDS=['username','channel','siteid','gender','city','state','country','age','language','regdate','lastlogin','givenname','surname'];var RW_PREFS=['avatar','privacy','mygames','myrecent','privacy_msg'];var that=this;var settings={url:'/pr/pb/1/',cookieName:'_profilar',cookieLevel:'_SPI_level',cookieDomain:null,cookieExpire:30,sessionCookie:'_profilarS',sessionCookieExpire:10,autoLogin:false,asyncTimeout:5000,session_cache:[],prefs_cache:[],siteId:null,channelId:null,fbcApiKey:null,gfcApiKey:null,prefsLevel:'site',friendsLevel:'channel',debug:false};var userData={};var userPref={};var userName='';var provider='';var authKey='';var initHandlers=[],loginHandlers=[],logoutHandlers=[];var escapeForXML=function(string){return $('<div/>').text(string).html();};var packagetoXml=function(data){return'<?xml version="1.0" encoding="UTF-8"?><profilar>'+data+"</profilar>";};var counter=0;var ajaxPost=function(data,success,error){$.ajax({type:'POST',global:false,timeout:settings.asyncTimeout,dataType:'xml',url:settings.url,contentType:"text/xml;charset=UTF-8",data:packagetoXml(data),success:success,error:error});};var convertError=function(errorObj){var fields=errorObj.find('*'),ret={};for(var i=0;i<fields.length;++i){if(fields[i].tagName.toLowerCase()=='suggestions'){ret[fields[i].tagName.toLowerCase()]=[];$('username',fields[i]).each(function(){ret[fields[i].tagName.toLowerCase()].push($(this).text());});}else{ret[fields[i].tagName.toLowerCase()]=$(fields[i]).text();}}
return ret;};var getPrefLevelXml=function(level){level=level!==undefined?level:settings.prefsLevel;if(level=='global')return'';if(level=='channel')return"<channel>"+settings.channelId+"</channel>";if(level=='site')return"<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel>";throw new Error("Not valid preference access level");};that.getFbcUserId=function(){return $.cookie(settings.fbcApiKey+'_user');};that.isGfcAuthorized=function(){return $.cookie('fcauth'+settings.gfcApiKey)?true:false;};that.getGfcUserId=function(callback){var gfcHash=$.cookie('fcauth'+settings.gfcApiKey);if(gfcHash){$.ajax({url:'/people/@viewer/@self',dataType:'data',success:function(data){callback.call(this,data[0].id);},error:function(){callback.call(this,null);}});}else{callback.call(this,null);}};that.set=function(key,value){if(value===undefined){userData=key;}else{userData[key]=value;}};that.get=function(key){if(key=='username')return userName;return key!==undefined?(userData[key]===undefined?'':userData[key]):userData;};that.setPref=function(key,value){if(value===undefined){userPref=key;}else{userPref[key]=value;}};that.getPref=function(key){return key!==undefined?(userPref[key]===undefined?'':userPref[key]):userPref;};var createProfilarCookie=function(){var tmp=[userName.encodeBase64(true),authKey,that.autoLogin()?'1':'0'];if(provider!=''){tmp.push(provider);}
if(settings.debug&&window.console!==undefined)console.log(tmp);$.cookie(settings.cookieName,tmp.join('|').encodeBase64(),{path:'/',expires:that.autoLogin()?settings.cookieExpire:null,domain:settings.cookieDomain});};var updateHashIfNeeded=function(data){if(!authKey)return;var newAuthKey=$('authenticate',data).text();if(newAuthKey&&newAuthKey!=authKey){authKey=newAuthKey;createProfilarCookie();}};that.customMessage=function(msg,callback){ajaxPost(msg,function(data){updateHashIfNeeded(data);var errors=[];$('error',data).each(function(){errors.push(convertError($(this)));});if(errors.length>0){callback.call(this,data,errors);}else{callback.call(this,data,null);}},function(){callback.call(this,null,[{code:'500'}]);});};that.customSafeMessage=function(msg,callback,_userName){_userName=_userName?_userName:userName;if(settings.debug&&window.console!==undefined)console.log(msg);var _fun=function(){that.customMessage('<username>'+escapeForXML(_userName)+"</username><ciphertext>"+DHExchange.encryptMessage(packagetoXml(msg))+"</ciphertext>",callback);};if(!DHExchange.initialized(_userName)){var keys=DHExchange.initKey(),z=0;ajaxPost('<keyexchange><username>'+escapeForXML(_userName)+"</username><p>"+keys.p+"</p><q>"+keys.q+"</q><d>"+keys.d+'</d></keyexchange>',function(data){var z=$('z',data).text();if(z){DHExchange.generateSharedKey(z);_fun();}else{callback.call(this,null,[{code:'500'}]);}},function(){callback.call(this,null,[{code:'500'}]);});}else{_fun();}};var createSessionCookie=function(){var data=[userName.encodeBase64(true)];for(var c in settings.session_cache){var tmp=userData[settings.session_cache[c]];data.push(tmp?tmp.encodeBase64(true):'');}
for(var c in settings.prefs_cache){var tmp=userPref[settings.prefs_cache[c]];data.push(tmp?tmp.encodeBase64(true):'');}
var expires;if(settings.sessionCookieExpire){expires=new Date();expires.setTime(expires.getTime()+settings.sessionCookieExpire*60000);}else{expires=null;}
$.cookie(settings.sessionCookie,data.join('|').encodeBase64(),{path:'/',expires:expires});};that.clearSessionCache=function(){$.cookie(settings.sessionCookie,null,{path:'/',expires:-1});};that.clearAll=function(runLogout){if(typeof runLogout=='undefined')runLogout=true;var loggedoutUser=that.forService().username;that.clearSessionCache();$.cookie(settings.cookieName,null,{path:'/',expires:-1,domain:settings.cookieDomain});$.cookie(settings.cookieLevel,null,{path:'/',expires:-1});authKey='';userName='';provider='';userData={};userPref={};if(runLogout){runLogoutHandlers(loggedoutUser);}};var loggedInCheck=function(_userName,_authKey,callback,fromInit){var cookie=$.cookie(settings.sessionCookie);if(cookie){try{var cookieData=cookie.decodeBase64().split('|');var tmpUserName=cookieData.shift().decodeBase64(true);if(_userName.toLowerCase()!=tmpUserName.toLowerCase()){throw new Error("Usernames do not match");}
userName=_userName;authKey=_authKey;for(var c in settings.session_cache){if(cookieData[c]!=''){that.set(settings.session_cache[c],cookieData[c].decodeBase64(true));}}
for(var c in settings.prefs_cache){if(cookieData[parseInt(c)+settings.session_cache.length]!=''){that.setPref(settings.prefs_cache[c],cookieData[parseInt(c)+settings.session_cache.length].decodeBase64(true));}}
if(callback)callback.call(this,true);if(fromInit===true){runInitHandlers(true);}else if(fromInit===false){runLoginHandlers();}
return;}catch(e){if(settings.debug&&window.console!==undefined)console.log(e);}}
var prefsXml=settings.prefs_cache.length?('<'+settings.prefs_cache.join('/><')+'/>'):'';if(prefsXml){prefsXml='<getprefs>'+getPrefLevelXml()+prefsXml+'</getprefs>';}
ajaxPost('<authenticate><hash>'+_authKey+'</hash></authenticate><request><username/><'+settings.session_cache.join('/><')+'/></request>'+prefsXml,function(data){if($('request username',data).text().toLowerCase()==_userName.toLowerCase()){userName=_userName;authKey=_authKey;$('profilar request',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.set(tag,$(this).text());}});$('profilar getprefs',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.setPref(tag,$(this).text());}});createSessionCookie();if(callback)callback.call(this,true);if(fromInit===true){runInitHandlers(true);}}else{that.clearAll();if(callback)callback.call(this,false);if(fromInit===true){runInitHandlers(false);}}},function(){that.clearAll();});};that.loggedIn=function(callback){if(callback){loggedInCheck(userName,authKey,callback);}else{return userName!==''&&authKey!=='';}};that.autoLogin=function(enabled){if(enabled===undefined){return settings.autoLogin;}
settings.autoLogin=enabled;};that.addInitHandler=function(callback){initHandlers.push(callback);};that.addLoginHandler=function(callback){loginHandlers.push(callback);};that.addLogoutHandler=function(callback){logoutHandlers.push(callback);};var runInitHandlers=function(logged){for(var i in initHandlers){try{initHandlers[i].call(this,logged);}catch(e){if(settings.debug)throw e;}}};var runLoginHandlers=function(errors){for(var i in loginHandlers){try{loginHandlers[i].call(this,errors);}catch(e){if(settings.debug)throw e;}}};var runLogoutHandlers=function(errors){for(var i in logoutHandlers){try{logoutHandlers[i].call(this,errors);}catch(e){if(settings.debug)throw e;}}};that.init=function(options,callback){$.extend(settings,options);if(settings.siteId==null||settings.channelId==null){throw new Error('You have to set siteId and channelId in the init() call!');}
var cookie=$.cookie(settings.cookieName);if(!cookie){that.clearSessionCache();$.cookie(settings.cookieLevel,null,{path:'/',expires:-1});if(callback)callback.call(this,false);runInitHandlers(false);return;}
try{var cookieData=cookie.decodeBase64().split('|');if(cookieData.length==3||cookieData.length==4){that.autoLogin(cookieData[2]==='1');if(cookieData.length==4){provider=cookieData[3];}else{provider='';}
loggedInCheck(cookieData[0].decodeBase64(true),cookieData[1],callback,true);}else{throw new Error('Three or four elements expected!');}}catch(e){that.clearAll();if(callback)callback.call(this,false);runInitHandlers(false);}};that.login=function(login,password,autoLogin,callback,strict){if(strict){strictXml="<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel><strict>1</strict>";}else{strictXml='';}
var prefsXml=settings.prefs_cache.length?('<'+settings.prefs_cache.join('/><')+'/>'):'';if(prefsXml){prefsXml='<getprefs>'+getPrefLevelXml()+prefsXml+'</getprefs>';}
that.customSafeMessage('<authenticate><username>'+escapeForXML(login)+"</username><password>"+escapeForXML(password)+"</password>"+strictXml+"</authenticate><request><"+settings.session_cache.join('/><')+'/></request>'+prefsXml,function(data,errors){if(!errors){authKey=$('authenticate',data).text();if(!authKey){if(callback)callback.call(this,[{code:'500'}]);runLoginHandlers([{code:'500'}]);}
userName=login;that.autoLogin(autoLogin);createProfilarCookie();$('profilar request',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.set(tag,$(this).text());}});$('profilar getprefs',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.setPref(tag,$(this).text());}});createSessionCookie();that.setPref('presence',1);that.submitPref(function(){if(callback)callback.call(this);runLoginHandlers();},['presence'],'site');}else{if(callback)callback.call(this,errors);runLoginHandlers(errors);}},login);};that.loginActivated=function(login,password,autoLogin,confirmationAge,callback,strict){that.login(login,password,autoLogin,function(errors){if(errors){callback.call(this,errors);return;}
that.load(function(errors){if(errors){that.clearAll();callback.call(this,errors);return;}
var age=$.profilar.get('age');var activated=$.profilar.get('activated');if(parseInt(age)<=parseInt(confirmationAge)&&!activated){that.clearAll(false);callback.call(this,[{code:'401',message:'Unauthorized',username:login,operation:'authenticate',element:'activated'}]);return false;}
callback.call(this);},['age','activated']);},strict);};that.loginUsingHash=function(login,hash,autoLogin,callback){userName=login;authKey=hash;that.autoLogin(autoLogin);createProfilarCookie();loggedInCheck(login,hash,callback,false);};that.loginUsingRelaying=function(_provider,autoLogin,callback,strict){if(strict){strictXml="<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel><strict>1</strict>";}else{strictXml='';}
var prefsXml=settings.prefs_cache.length?('<'+settings.prefs_cache.join('/><')+'/>'):'';if(prefsXml){prefsXml='<getprefs>'+getPrefLevelXml()+prefsXml+'</getprefs>';}
var providerXml;if(_provider=='fbc'){providerXml='<fbc_api_key>'+settings.fbcApiKey+'</fbc_api_key>';}else if(_provider=='gfc'){providerXml='<gfc_api_key>'+settings.gfcApiKey+'</gfc_api_key>';}else{throw new Error('Unsupported provider!');}
that.customMessage('<authenticate>'+providerXml+strictXml+"</authenticate><request><"+settings.session_cache.join('/><')+'/></request>'+prefsXml,function(data,errors){if(!errors){authKey=$('authenticate',data).text();provider=_provider;if(!authKey){if(callback)callback.call(this,[{code:'500'}]);runLoginHandlers([{code:'500'}]);}
$('profilar request',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.set(tag,$(this).text());}else{userName=$(this).text();}});$('profilar getprefs',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.setPref(tag,$(this).text());}});that.autoLogin(autoLogin);createProfilarCookie();createSessionCookie();if(callback)callback.call(this);runLoginHandlers();}else{if(callback)callback.call(this,errors);runLoginHandlers(errors);}});};that.isUsernameAvailable=function(login,callback,dummyEmail){dummyEmail=dummyEmail?dummyEmail:'nmvdsjfsjkfh39df'+parseInt(Math.random()*1000000)+'@spilgames.com';that.customMessage('<register><simulate>1</simulate><username>'+escapeForXML(login)+"</username><siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel><email>"+dummyEmail+"</email></register>",function(data,errors){if(!errors){callback.call(this,true);}else if(errors[0].code=='409'){callback.call(this,errors[0].suggestions);}else if(errors[0].code=='406'){callback.call(this,[]);}else{callback.call(this,errors);}});};that.isEmailAvailable=function(email,callback,dummyLogin){dummyLogin=dummyLogin?dummyLogin:'asce'+parseInt(Math.random()*1000000);that.customMessage('<register><simulate>1</simulate><username>'+escapeForXML(dummyLogin)+"</username><siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel><email>"+email+"</email></register>",function(data,errors){if(!errors){callback.call(this,true);}else if(errors[0].code=='409'||errors[0].code=='406'){callback.call(this,false);}else{callback.call(this,errors);}});};that.register=function(login,password,email,callback,profileData,options){options=options===undefined?{}:options;var encFields='';for(var c in profileData){encFields+="<"+c+">"+escapeForXML(profileData[c])+"</"+c+">";}
var providerXml;if(options.provider=='fbc'){providerXml='<fbc_api_key>'+settings.fbcApiKey+'</fbc_api_key>';}else if(options.provider=='gfc'){providerXml='<gfc_api_key>'+settings.gfcApiKey+'</gfc_api_key>';}else{providerXml="<password>"+escapeForXML(password)+"</password>";}
that.customSafeMessage('<register><username>'+escapeForXML(login)+"</username>"+providerXml+"<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel><email>"+escapeForXML(email)+"</email>"+encFields+"</register>"
+'<authenticate>'+(options.provider?'':('<username>'+escapeForXML(login)+"</username>"))+providerXml+"</authenticate>",function(data,errors){if(!errors){_authKey=$('authenticate',data).text();if($('register',data).text()==login&&_authKey){if(!options.notLoginAfterReg){authKey=_authKey;userName=login;provider=options.provider;that.autoLogin(false);that.set(profileData);createProfilarCookie();createSessionCookie();if(callback)callback.call(this);runLoginHandlers();}else{if(callback)callback.call(this);}}else{if(callback)callback.call(this,[{code:'500'}]);if(!options.notLoginAfterReg)runLoginHandlers([{code:'500'}]);}}else{if(callback)callback.call(this,errors);if(!options.notLoginAfterReg)runLoginHandlers(errors);}},login);};that.unregister=function(login,password,callback){that.customSafeMessage('<deregister><username>'+escapeForXML(login)+"</username><password>"+escapeForXML(password)+"</password></deregister>",function(data,errors){if(!errors){if($('deregister',data).text()==login){that.clearAll();DHExchange.reset();if(callback)callback.call(this);}else{if(callback)callback.call(this,errors);}}else{if(callback)callback.call(this,errors);}},login);};that.submit=function(password,callback,include){include=include?include:WR_FIELDS;var encFields='';for(var c in include){var val=that.get(include[c]);if(userData[include[c]]===undefined)continue;encFields+="<"+include[c]+">"+escapeForXML(val)+"</"+include[c]+">";}
var providerXml;if(provider=='fbc'){providerXml='<fbc_api_key>'+settings.fbcApiKey+'</fbc_api_key>';}else if(provider=='gfc'){providerXml='<gfc_api_key>'+settings.gfcApiKey+'</gfc_api_key>';}else{providerXml="<password>"+escapeForXML(password)+"</password>";}
that.customSafeMessage('<authenticate><hash>'+authKey+"</hash>"+providerXml+"</authenticate><modify>"+encFields+'</modify>',function(data,errors){if(!errors){createSessionCookie();if(callback)callback.call(this);}else{if(callback)callback.call(this,errors);}});};that.submitPref=function(callback,include,level){include=include?include:RW_PREFS;var encFields='';for(var c in include){var val=that.getPref(include[c]);if(userPref[include[c]]===undefined)continue;encFields+="<"+include[c]+">"+escapeForXML(val)+"</"+include[c]+">";}
that.customMessage('<authenticate><hash>'+authKey+"</hash></authenticate><setprefs>"+getPrefLevelXml(level)+encFields+'</setprefs>',function(data,errors){if(!errors){createSessionCookie();if(callback)callback.call(this);}else{if(callback)callback.call(this,errors);}});};that.load=function(callback,include){include=include?include:RO_FIELDS;that.customMessage('<authenticate><hash>'+authKey+'</hash></authenticate><request><'+include.join('/><')+"/></request>",function(data,errors){if(!errors){$('profilar request',data).children().each(function(){that.set(this.tagName.toLowerCase(),$(this).text());});if(callback)callback.call(this);}else{if(callback)callback.call(this,errors);}});};that.loadPref=function(callback,include,level){include=include?include:RW_PREFS;that.customMessage('<authenticate><hash>'+authKey+'</hash></authenticate><getprefs>'+getPrefLevelXml(level)+'<'+include.join('/><')+"/></getprefs>",function(data,errors){if(!errors){$('profilar getprefs',data).children().each(function(){that.setPref(this.tagName.toLowerCase(),$(this).text());});if(callback)callback.call(this);}else{if(callback)callback.call(this,errors);}});};that.loadExternalProfiles=function(usernames,callback,include,level,auth){auth=auth===undefined?true:auth
include=include?include:RO_PUB_FIELDS;var includeXml='<'+include.join('/><')+"/>";var levelXml=getPrefLevelXml(level);var requestXml=[];if(that.loggedIn()&&auth){requestXml.push('<authenticate><hash>'+authKey+'</hash></authenticate>');}
for(var u in usernames){requestXml.push('<request>'+levelXml+'<username>'+escapeForXML(usernames[u])+'</username><'+include.join('/><')+"/></request>");}
that.customMessage(requestXml.join(''),function(data,errors){var parsedData=[];$('profilar request',data).each(function(){var tmpData={};$(this).children().each(function(){tmpData[this.tagName.toLowerCase()]=$(this).text();});parsedData.push(tmpData);});callback.call(this,parsedData,errors);});};that.loadExternalPrefs=function(usernames,callback,include,level,friendsLevel,friendcheck){friendsLevel=friendsLevel===undefined?settings.friendsLevel:friendsLevel;include=include?include:RW_PREFS;var includeXml='<'+include.join('/><')+"/>";var levelXml=getPrefLevelXml(level);friendcheck=friendcheck===undefined?true:friendcheck;if($.inArray('privacy',include)==-1)friendcheck=false;var requestXml=[];if(that.loggedIn()&&friendcheck){requestXml.push('<authenticate><hash>'+authKey+'</hash></authenticate>');}
for(var u in usernames){requestXml.push('<getprefs>'+levelXml+'<username>'+escapeForXML(usernames[u])+'</username><'+include.join('/><')+"/></getprefs>");if(that.loggedIn()&&friendcheck){requestXml.push('<friendcheck><username>'+escapeForXML(usernames[u])+'</username><siteid>'+settings.siteId+'</siteid><channel>'+settings.channelId+'</channel><binding>'+friendsLevel+'</binding></friendcheck>');};}
that.customMessage(requestXml.join(''),function(data,errors){var parsedData=[];$('profilar getprefs',data).each(function(){var tmpData={};$(this).children().each(function(){tmpData[this.tagName.toLowerCase()]=$(this).text();});if(friendcheck&&$.inArray($('friendstatus',$(this).next()).text(),['accepted','received'])>-1)tmpData['privacy']=0;parsedData.push(tmpData);});callback.call(this,parsedData,errors);});};that.triggerEvent=function(options,callback,withFriendRefer){options=$.extend({cheetah_ebm:{},cheetah_sub:{},email:that.get('email'),userName:userName,safe:false,fields:[],modify:null,level:null,emptyEmail:false},options);withFriendRefer=withFriendRefer||false;var encFields='';for(var c in options.fields){encFields+="<"+options.fields[c].name+">"+(options.fields[c].intern?('<'+options.fields[c].value+'/>'):escapeForXML(options.fields[c].value))+"</"+options.fields[c].name+">";}
var cheetahSub='';for(var c in options.cheetah_sub){cheetahSub+="<"+c+">"+escapeForXML(options.cheetah_sub[c])+"</"+c+">";}
var cheetahEbm='';for(var c in options.cheetah_ebm){cheetahEbm+="<"+c+">"+escapeForXML(options.cheetah_ebm[c])+"</"+c+">";}
var encModify='';if(options.modify){encModify="<modify><"+options.modify.join("/><")+"/></modify>";}
var _fun=function(data,errors){if(!errors){var eventId=$('trigger',data).text();if(callback){if(eventId){callback.call(this,eventId);}else{callback.call(this,null,[{code:'500'}]);}}}else{if(callback)callback.call(this,null,errors);}};if(options.emptyEmail){options.email='';}
var _msg2=(options.emptyEmail||withFriendRefer)?'<authenticate><hash>'+authKey+"</hash></authenticate>":'';var _msg='';if(typeof options.email=='string'){_msg+='<trigger>';_msg+=options.userName?('<username>'+escapeForXML(options.userName)+"</username>"):'';_msg+=options.email||options.emptyEmail?("<email>"+escapeForXML(options.email)+"</email>"):'';_msg+=options.level===null?'':getPrefLevelXml(options.level);_msg+=cheetahEbm?("<cheetah_ebm>"+cheetahEbm+"</cheetah_ebm>"):'';_msg+=cheetahSub?("<cheetah_sub>"+cheetahSub+"</cheetah_sub>"):'';_msg+=encFields?"<fields>"+encFields+"</fields>":'';_msg+=encModify+"</trigger>";if(withFriendRefer&&options.email!=''){_msg2+=_prepareRefer(options.email);};}else if(withFriendRefer&&typeof options.email=='object'){for(var i=0;i<options.email.length;i++){var _email=options.email[i].email||options.email[i];_msg+='<trigger>';_msg+=options.userName?('<username>'+escapeForXML(options.userName)+"</username>"):'';_msg+="<email>"+escapeForXML(_email)+"</email>";_msg+=options.level===null?'':getPrefLevelXml(options.level);_msg+=cheetahEbm?("<cheetah_ebm>"+cheetahEbm+"</cheetah_ebm>"):'';_msg+=cheetahSub?("<cheetah_sub>"+cheetahSub+"</cheetah_sub>"):'';_msg+=encFields?"<fields>"+encFields+"</fields>":'';_msg+=encModify+"</trigger>";_msg2+=_prepareRefer(_email);};};if(options.safe){that.customSafeMessage(_msg2+_msg,_fun,options.userName);}else{that.customMessage(_msg2+_msg,_fun);}};that.eventFollowUp=function(_eventId,_userName,callback,_eventKey,modify){_userName=_userName?_userName:userName;modify=modify===undefined?{}:modify;var encModify='';for(var c in modify){encModify+="<"+c+">"+escapeForXML(modify[c])+"</"+c+">";}
that.customSafeMessage('<followup><username>'+escapeForXML(_userName)+"</username><eventid>"+escapeForXML(_eventId)+"</eventid>"+(_eventKey?("<eventkey>"+escapeForXML(_eventKey)+"</eventkey>"):'')+(encModify?("<modify>"+encModify+"</modify>"):'')+"</followup>",function(data,errors){if(!errors){var eventId=$('followup',data).text();if(callback){if(eventId){callback.call(this,eventId);}else{callback.call(this,null,[{code:'500'}]);}}}else{if(callback)callback.call(this,null,errors);}},_userName);};that.forService=function(){if(that.loggedIn()){return{username:userName,hash:authKey};}else{return{username:'',hash:''};}};that.submitFriends=function(username,friendMethod,callback,level){username=username||'';if(username=='')return;friendMethod=friendMethod.toLowerCase();level=level===undefined?settings.friendsLevel:level;that.customMessage('<authenticate><hash>'+authKey+"</hash></authenticate><"+friendMethod+">"+"<username>"+escapeForXML(username)+"</username>"+"<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel>"+'<binding>'+level+'</binding></'+friendMethod+'>',function(data,errors){if(!errors){var tmpData={};$('profilar '+friendMethod+':first',data).each(function(){$(this).children().each(function(){tmpData[this.tagName.toLowerCase()]=$(this).text();});});if(callback)callback.call(this,tmpData,errors);}else{if(settings.debug&&window.console!==undefined)console.log('ERRORS: ',errors);if(callback)callback.call(this,null,errors);}});};that.checkFriends=function(usernames,callback,level){level=level===undefined?settings.friendsLevel:level;var levelXml="<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel>"+'<binding>'+level+'</binding>';var requestXml=['<authenticate><hash>'+authKey+"</hash></authenticate>"];for(var u in usernames){requestXml.push('<friendcheck>'+levelXml+'<username>'+escapeForXML(usernames[u])+'</username></friendcheck>');}
that.customMessage(requestXml.join(''),function(data,errors){var parsedData=[];$('profilar friendcheck',data).each(function(){var tmpData={};$(this).children().each(function(){tmpData[this.tagName.toLowerCase()]=$(this).text();});if(tmpData.username.toLowerCase()==userName.toLowerCase()){tmpData.friendstatus='self';}
parsedData.push(tmpData);});callback.call(this,parsedData,errors);});};that.friendList=function(username,callback,auth,friendstatus,options){var listOptions=$.extend({pagenr:1,pagesize:0,sortby:'username',order:1,include:[],includePref:['avatar'],level:settings.friendsLevel,prefsLevel:settings.prefsLevel},options);auth=auth||false;friendstatus=friendstatus||'accepted';username=username||'';if(username=='')return;var profile=listOptions.include.length>0?'<request><'+listOptions.include.join('/><')+"/></request>":'';var prefs=listOptions.includePref.length>0?'<getprefs>'+getPrefLevelXml(listOptions.prefsLevel)+'<'+listOptions.includePref.join('/><')+"/></getprefs>":'';var requestSettings='<friendstatus>'+friendstatus+'</friendstatus><pagenr>'+listOptions.pagenr+'</pagenr><pagesize>'+listOptions.pagesize+'</pagesize><sortby>'+listOptions.sortby+'</sortby><order>'+listOptions.order+'</order>';that.customMessage((auth==true?'<authenticate><hash>'+authKey+'</hash></authenticate>':'')+'<friendlist><username>'+username+'</username>'+"<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel>"+'<binding>'+listOptions.level+'</binding>'+requestSettings+profile+prefs+'</friendlist>',function(data,errors){if($.inArray('privacy',listOptions.includePref)>-1){$('profilar friendlist result friendstatus',data).each(function(){if($.inArray($(this).text(),['accepted','received'])>-1){if(!$(this).nextAll('getprefs').find('privacy').length){var node=data.createElement("privacy");node.appendChild(data.createTextNode("0"));$(this).nextAll('getprefs')[0].appendChild(node);}
$(this).nextAll('getprefs').find('privacy').text('0');};});};if(callback)callback.call(this,data,errors);});};that.friendListReceived=function(callback,settings){that.friendList(userName,callback,true,'received',settings);};that.friendListSent=function(callback,settings){that.friendList(userName,callback,true,'sent',settings);};that.friendListDeclined=function(callback,settings){that.friendList(userName,callback,true,'declined',settings);};that.friendListDeleted=function(callback,settings){that.friendList(userName,callback,true,'deleted',settings);};that.friendListAccepted=function(username,callback,settings){username=username||userName;that.friendList(username,callback,false,'accepted',settings);};that.friendCheck=function(targetusername,callback,level){that.checkFriends([targetusername],function(data,errors){if(data!==null&&data.length==1){data=data[0];}
callback.call(this,data,errors)},level);};that.friendInvite=function(targetusername,callback){that.submitFriends(targetusername,'friendinvite',callback);};that.friendDelete=function(targetusername,callback){that.submitFriends(targetusername,'frienddelete',callback);};that.friendAccept=function(targetusername,callback){that.submitFriends(targetusername,'friendaccept',function(data,errors){if(!errors){SPI.friends.friendshipAcceptedEmail(targetusername);};callback.call(this,data,errors);});};that.friendDecline=function(targetusername,callback){that.submitFriends(targetusername,'frienddecline',callback);};var _prepareRefer=function(email,level){level=level||settings.friendsLevel;return('<friendrefer><email>'+email+'</email>'+"<siteid>"+settings.siteId+"</siteid><channel>"+settings.channelId+"</channel>"+'<binding>'+level+'</binding></friendrefer>');}
that.friendrefer=function(email,callback,options){var listOptions=$.extend({level:settings.friendsLevel},options);email=email||'';var _friendRefer='',_email='';if(email=='')return;if(typeof email=='string'){_friendRefer=_prepareRefer(email,listOptions.level);}if(typeof email=='object'){for(var i=0;i<email.length;i++){_email='';if(typeof email[i]=='string')_email=email[i];if(typeof email[i]=='object')try{_email=email[i].email||email[i].Email||'';}catch(ex){_email=''};_friendRefer+=_prepareRefer(_email,listOptions.level);};};that.customMessage('<authenticate><hash>'+authKey+'</hash></authenticate>'+
_friendRefer,function(data,errors){if(callback)callback.call(this,data,errors);});};that.packToXml=function(data){rtn='';if(typeof(data.channel)!='undefined')rtn+='<channel>'+SPI.escape(data.channel)+'</channel>';if(typeof(data.siteid)!='undefined')rtn+='<siteid>'+SPI.escape(data.siteid)+'</siteid>';if(typeof(data.pagesize)!='undefined')rtn+='<pagesize>'+SPI.escape(data.pagesize)+'</pagesize>';if(typeof(data.pagenr)!='undefined')rtn+='<pagenr>'+SPI.escape(data.pagenr)+'</pagenr>';if(typeof(data.username)!='undefined')rtn+='<username>'+SPI.escape(data.username)+'</username>';if(typeof(data.givenname)!='undefined')rtn+='<givenname>'+SPI.escape(data.givenname)+'</givenname>';if(typeof(data.surname)!='undefined')rtn+='<surname>'+SPI.escape(data.surname)+'</surname>';if(typeof(data.gender)!='undefined')rtn+='<gender>'+SPI.escape(data.gender)+'</gender>';return rtn;};that.userSearch=function(options,callback){that.customMessage('<search>'+packToXml(options)+'</search>',function(data,errors){var parsedData=[];$('profilar search',data).each(function(){var tmpData={username:[]};$(this).children().each(function(){if(this.tagName.toLowerCase()=='username'){tmpData.username.push($(this).text());}else{tmpData[this.tagName.toLowerCase()]=$(this).text();};});parsedData.push(tmpData);});callback.call(this,parsedData,errors);});}
return that;})(jQuery);;var objectstohide;loginboxraise=function(){var myWidth=0,myHeight=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;myHeight=document.body.clientHeight;}
if(!$.profilar.loggedIn()){newmargin=Math.round((parseInt(myHeight)-274)/2);if(newmargin<0)newmargin=0;objectstohide=$('object:visible').add('#flashobj_mc').add('#gameiframe_js');$(objectstohide).each(function(){$(this).css('visibility','hidden')});$('div.loginboxWrapper').css('margin-top',newmargin+'px');var loginBoxText=SPI._langStrings.loginbox_popup.username_default;var passwordBoxText=SPI._langStrings.loginbox_popup.password_default;if(loginBoxText.length>0){$('div#loginBoxPopup input#f_login_lb').val(loginBoxText);}
if(passwordBoxText.length>0){$('div#loginBoxPopup input#f_password_lb').hide();$('div#loginBoxPopup input#f_fake_password').val(passwordBoxText).show();}else{$('div#loginBoxPopup input#f_fake_password').hide();$('div#loginBoxPopup input#f_password_lb').show();}
$('div#loginBoxPopup input[name=username]').add('div#loginBoxPopup input[name=password]').removeAttr('disabled');$('div#loginBoxPopup a#logmein').unbind('click').click(clickActionLoginBox);$('div#loginBoxPopup .loginslogan').css('display','block');$('div#loginBoxPopup .loginsalert').css('display','none')
$('div#shadow').css('display','block');$('.innershadowCenter').height($('#loginBoxPopup').height()-48)};};loginboxclose=function(){$('div#shadow').css('display','none');$('#loginBoxPopup input').val('');$('div#loginBoxPopup .loginslogan').css('display','block');$('div#loginBoxPopup .loginsalert').css('display','none');$(objectstohide).each(function(){$(this).css('visibility','visible')});objectstohide=[];};;SPI.highscore=(function($){var config={settings:{timeout:3000,ajaxCacheGeneral:true,ajaxCacheUser:true,ajaxCacheUserHighscore:true,highscorebox_title_length:20,usernameLenght:14,anonymousIcon:'/img/_/layout/ha/anonymous_icon.gif'}};var that={};var currentView;var userScores=[];var currentScore={};var canClick=true;var maxItemsToShow=10;var lastGeneralCopy={};var calculateFarPosition=function(score){var position=0;for(var i in lastGeneralCopy){if(parseInt(score)>parseInt(lastGeneralCopy[i].score)){position=parseInt(lastGeneralCopy[i].position);break;}else if(parseInt(score)==parseInt(lastGeneralCopy[i].score)){position=parseInt(lastGeneralCopy[i].position)+1;if(lastGeneralCopy[i+1]!==undefined&&parseInt(score)!=parseInt(lastGeneralCopy[i].score))break;}}
if(position<=maxItemsToShow){if(lastGeneralCopy.length<=maxItemsToShow){position=maxItemsToShow+1;}else{position=parseInt(lastGeneralCopy[lastGeneralCopy.length-1].position)+1;}}
if(position>100){position=''+position+'+';}
return position;};var updateLoginBarAndMaxToShow=function(kind){var loginBar=$('#highscore_box div.loginbar');loginBar.empty();switch(kind){case'normal_logged':maxItemsToShow=10;break;case'unlock_logged':maxItemsToShow=10;break;case'normal_guest':maxItemsToShow=8;loginBar.append('<p id="ha_hs_normal_guest">'+config.langStrings.not_logged_in_info+'</p>');var login=$(SPI.render(config.templates.login_trigger,{above_text:config.langStrings.not_logged_info,did:'ha_highscore_login'}));$('a.login',login).hover(function(){$(this).next().addClass('hover');},function(){$(this).next().removeClass('hover');});loginBar.append(login);break;case'unlock_guest':maxItemsToShow=9;var login=$(SPI.render(config.templates.login_trigger,{above_text:config.langStrings.not_logged_warning,did:'ha_highscore_login'}));$('a.login',login).hover(function(){$(this).next().addClass('hover');},function(){$(this).next().removeClass('hover');});loginBar.append(login);break;}};var calculateFinalArray=function(general,user,callback){var users=[],items=[],skip11=false;if(general.hyscor[currentView]!==undefined&&general.hyscor[currentView].result){lastGeneralCopy=general.hyscor[currentView].result.concat();}else{lastGeneralCopy={};}
if(general.hyscor&&general.hyscor[currentView]&&general.hyscor[currentView].result.length>0){items=general.hyscor[currentView].result.splice(0,maxItemsToShow);for(var i in items){items[i].avatar_url=config.settings.noimage;items[i].current=false;if(items[i].authenticated=='1'){users.push(items[i].username);}}}
if(users.length>0){$.profilar.loadExternalPrefs(users,function(data,errors){for(var j in items){for(var k in data){if(data[k].username&&data[k].username.toLowerCase()==items[j].username.toLowerCase()&&data[k].avatar&&data[k].avatar!=''&&data[k].avatar!=undefined){items[j].avatar_url=SPI.sprintf(SPI._settings.global.avatar_url_small,data[k].avatar)||config.settings.noimage;}
items[j].current=($.profilar.forService().username.toLowerCase()==items[j].username.toLowerCase());if(items[j].current){skip11=true;}}}
if(skip11==false&&user&&user.hyscor&&user.hyscor[currentView]&&user.hyscor[currentView].result.length>0){var currentUser=user.hyscor[currentView].result[0];currentUser.current=true;var useravatar=$.profilar.getPref('avatar');if(useravatar!=''){useravatar=SPI.sprintf(SPI._settings.global.avatar_url_small,useravatar);}else{useravatar=config.settings.noimage;}
currentUser.avatar_url=useravatar;items.push(currentUser);}
if(items.length>maxItemsToShow+1){items=items.splice(0,maxItemsToShow+1);}
var myitems=items.concat();var timestampUser=0;var timestampServer=0;var timeDelta=0;if(userScores.length>0){var userScoresCopy=userScores.concat();for(var i in myitems){timestampServer=parseInt(myitems[i].timestamp);if(myitems[i].current==true){var currentScore=myitems[i];for(var j in userScoresCopy){timestampUser=parseInt(userScoresCopy[j].timestamp);timeDelta=Math.abs(timestampUser-timestampServer);if(currentScore.score==userScoresCopy[j].score&&timeDelta<=10){userScoresCopy.splice(j,1);}}}}
if(userScoresCopy.length>0){for(var k in userScoresCopy){myitems.push(userScoresCopy[k]);}
myitems.sort(sortByScore);updatePositions(myitems);myitems=myitems.splice(0,maxItemsToShow+1);if(myitems.length>maxItemsToShow&&myitems[maxItemsToShow].current!=true){myitems.pop();}else{if(myitems.length>maxItemsToShow){for(i=0;i<maxItemsToShow;i++){if(myitems[i].current==true){myitems.pop();break;}}}}}}
myitems.sort(sortByScore);updatePositions(myitems);callback.call(this,myitems);},['avatar']);}else{if(user&&user.hyscor&&user.hyscor[currentView]&&user.hyscor[currentView].result.length>0){var currentUser=user.hyscor[currentView].result[0];currentUser.current=true;currentUser.avatar_url=SPI.sprintf(SPI._settings.global.avatar_url_small,$.profilar.getPref('avatar'))||config.settings.noimage;items.push(currentUser);}
var myitems=items.concat();var timestampUser=0;var timestampServer=0;var timeDelta=0;if(userScores.length>0){var userScoresCopy=userScores.concat();for(var i in myitems){timestampServer=parseInt(myitems[i].timestamp);if(myitems[i].current==true){var currentScore=myitems[i];for(var j in userScoresCopy){timestampUser=parseInt(userScoresCopy[j].timestamp);timeDelta=Math.abs(timestampUser-timestampServer);if(currentScore.score==userScoresCopy[j].score&&timeDelta<=10){userScoresCopy.splice(j,1);}}}}
if(userScoresCopy.length>0){for(var k in userScoresCopy){myitems.push(userScoresCopy[k]);}
myitems.sort(sortByScore);updatePositions(myitems);myitems=myitems.splice(0,maxItemsToShow+1);if(myitems.length>maxItemsToShow&&myitems[maxItemsToShow].current!=true){myitems.pop();}else{if(myitems.length>maxItemsToShow){for(i=0;i<maxItemsToShow;i++){if(myitems[i].current==true){myitems.pop();break;}}}}}}
myitems.sort(sortByScore);updatePositions(myitems);callback.call(this,myitems);}};var handleResponseGeneral=function(data,mesg){config.settings.ajaxCacheGeneral=true;if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":[]};}
this.after_call(data);};var getGeneralHighscores=function(callback){$.ajax({global:false,cache:config.settings.ajaxCacheGeneral,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,config.settings.gameId),type:'GET',dataType:'json',success:handleResponseGeneral,error:function(xml,mesg,error){if(mesg=='timeout'){that.renderHighScores();}else{handleResponseGeneral.call(this,{"hyscor":[]},'');}},after_call:callback,data:{group:currentView,order:config.settings.order,authenticated:'1',outputtype:'json'}});};var handleResponseUser=function(data,mesg){config.settings.ajaxCacheUser=true;if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":[]};}
this.after_call(data);};var getUserHighscore=function(callback){$.ajax({global:false,cache:config.settings.ajaxCacheUser,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,config.settings.gameId),type:'GET',dataType:'json',success:handleResponseUser,error:function(xml,mesg,error){handleResponseUser.call(this,{"hyscor":[]},'');},after_call:callback,data:{group:currentView,order:config.settings.order,authenticated:'1',outputtype:'json',username:$.profilar.forService().username,hash:$.profilar.forService().hash}});};that.getUserLevel=function(callback,targetUser){var getData={outputtype:'json'};if(targetUser){getData.targetuser=targetUser;}else{getData.username=$.profilar.forService().username;getData.hash=$.profilar.forService().hash;}
$.ajax({global:false,cache:config.settings.ajaxCacheUser,timeout:config.settings.timeout,url:config.settings.gamelevelurl,type:'GET',dataType:'json',success:function(data){callback.call(this,data)},error:function(xml,mesg,error){handleResponseUser.call(this,{"hyscor":[]},'');},after_call:callback,data:getData});};that.init=function(settings){SPI.getAndUpdateConfig('highscore',config,settings);currentView=config.settings.defaultView;$('div#highscore_box div.viewbar a').live('click',function(){if(canClick===true){canClick=false;currentView=''+$(this).attr('href').replace(/[^#]*#/g,'');$('div#highscore_box div.viewbar a').removeClass('active');$('div#highscore_box div.viewbar a').unbind('click');that.renderHighScores();}
return false;});};var saveUserScore=function(userscore,timestamp){if(userscore>0){var uavatar=$.profilar.getPref('avatar')!=''?SPI.sprintf(SPI._settings.global.avatar_url_small,$.profilar.getPref('avatar')):config.settings.noimage;var score={'notLogged':false,'position':1,'timestamp':timestamp+'','username':$.profilar.get('username'),'current':true,'authenticated':1,'score':userscore,'gamelevel':'','country':'','avatar_url':uavatar};currentScore=score;userScores.push(score);userScores.sort(sortByScore);}};var saveNotLoggedScore=function(userscore,timestamp){if(userscore>0){var uavatar=config.settings.anonymousIcon;var score={'notLogged':true,'position':1,'timestamp':timestamp+'','username':config.langStrings.guest,'current':true,'authenticated':1,'score':userscore,'gamelevel':'','country':'','avatar_url':uavatar};currentScore=score;userScores.push(score);userScores.sort(sortByScore);}};var sortByScore=function(a,b){var x=parseInt(a.score);var y=parseInt(b.score);return(y-x);};var updatePositions=function(resultsRef){if(resultsRef.length>0){for(i=0;i<resultsRef.length;i++){resultsRef[i].position=i+1;}}};var handleNewScore=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){return;}
saveUserScore(this.score,data.hyscor.time);that.renderHighScores(true);};var handleNotLoggedScore=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){return;}
saveNotLoggedScore(this.score,data.hyscor.time);that.renderHighScores(true);};that.newScoreCallback=function(score){currentView='daily';if(score>0){$.ajax({cache:false,timeout:3000,url:config.settings.timeurl,type:'GET',dataType:'json',success:handleNewScore,error:function(xml,mesg,error){handleNewScore.call(this,{"hyscor":[]},'');},data:{outputtype:'json'},'score':score});}};that.notLoggedScoreCallback=function(score){currentView='daily';if(score>0){$.ajax({cache:false,timeout:3000,url:config.settings.timeurl,type:'GET',dataType:'json',success:handleNotLoggedScore,error:function(xml,mesg,error){handleNewScore.call(this,{"hyscor":[]},'');},data:{outputtype:'json'},'score':score});}};that.drawHighscores=function(scores,unlock){$('div#highscore_box div.highscore_box_content').removeClass('highscore_indicator').empty();$('div#highscore_box div.viewbar a.'+currentView).addClass('active');var noresults=false;if(scores.length>0){$('#highscore_box div.highscore_box_content').append('<ol></ol>');var li='',userscore='';var alreadyOrange=false;var j=1;var cuser='';var scoreCheck=true;for(var i in scores){cuser='';if(scoreCheck===true&&scores[i].current==true&&currentScore.score&&currentScore.score>0&&scores[i].score==currentScore.score){cuser=' cuser="1"';scoreCheck=false;}
if(scores[i].current==true&&!alreadyOrange){extraClass=' class="current"';alreadyOrange=true;}else{extraClass='';}
if(i==maxItemsToShow){liData={extra:cuser,positionText:SPI.sprintf(config.langStrings.your_position,calculateFarPosition(scores[i].score)),highscoreText:cuser?config.langStrings.new_highscore:config.langStrings.my_highscore,userLink:(scores[i].notLogged!=true&&scores[i].authenticated==1?SPI.sprintf(config.settings.userprofile_link,scores[i].username):''),avatarUrl:scores[i].avatar_url,score:scores[i].score};$('#highscore_box ol li:last').remove();$('#highscore_box div.highscore_box_content').append(SPI.render(config.templates.game_my_highscore,liData));$('#ha_hs_bottom').addClass('bottom_small_orange');$('#highscore_box').addClass('hs_orange_bottom');}else{liData={liExtra:extraClass+cuser,position:scores[i].position||'',userLink:(scores[i].notLogged!=true&&scores[i].authenticated==1?SPI.sprintf(config.settings.userprofile_link,scores[i].username):''),avatarUrl:scores[i].avatar_url,username:scores[i].username,userNameCutted:SPI.cutStringPlease(scores[i].username,config.settings.usernameLenght),score:scores[i].score};$('#highscore_box ol').append(SPI.render(config.templates.game_highscore_li,liData));}
j++;}
$('#highscore_box ol li:even').addClass('odd');$('#highscore_box ol li:odd').addClass('even');}else{noresults=true;};if(noresults){var ecl='';if(!$.profilar.loggedIn()){ecl=' not_logged';}
$('#highscore_box div.highscore_box_content').append('<div class="noitems'+ecl+'">'+config.langStrings.no_results+'</div>');}
that.animateCurrentScore(unlock);canClick=true;};that.renderHighScores=function(unlock){$('div#highscore_box div.viewbar a').removeClass('active');$('div#highscore_box div.highscore_box_content').html('&nbsp;').addClass('highscore_indicator');$('#ha_hs_bottom').removeClass('bottom_small_orange');$('#highscore_box').removeClass('hs_orange_bottom');if($.profilar.loggedIn()){if(unlock){updateLoginBarAndMaxToShow('unlock_logged');}else{updateLoginBarAndMaxToShow('normal_logged');}}else{if(unlock){updateLoginBarAndMaxToShow('unlock_guest');}else{updateLoginBarAndMaxToShow('normal_guest');}}
getGeneralHighscores(function(general){if($.profilar.loggedIn()){getUserHighscore(function(user){calculateFinalArray(general,user,function(items){that.drawHighscores(items,unlock);});});}else{calculateFinalArray(general,null,function(items){that.drawHighscores(items,unlock);});}});};that.animateCurrentScore=function(unlock){if($('#highscore_box .my_highscore_top[cuser=1]').length>0){$('#highscore_box .my_highscore_top[cuser=1]').addClass('my_highscore_top_anim').animate({opacity:0.2},150).animate({opacity:1},100).animate({opacity:0.2},100).animate({opacity:1},100).animate({opacity:0.2},100).animate({opacity:1},100).animate({opacity:0.2},100).animate({opacity:1},100).animate({opacity:0.2},350,function(){$('#highscore_box .my_highscore_top[cuser=1]').removeClass('my_highscore_top_anim').css('opacity','');});}else{if($('#highscore_box ol li[cuser=1]').hasClass('current')){$('#highscore_box ol li[cuser=1]').animate({opacity:0.5},150).animate({opacity:1},100).animate({opacity:0.5},100).animate({opacity:1},100).animate({opacity:0.5},100).animate({opacity:1},100).animate({opacity:0.5},100).animate({opacity:1},350,function(){$('#highscore_box ol li[cuser=1]').css('opacity','');});}else{$('#highscore_box ol li[cuser=1]').addClass('current').animate({opacity:0.5},150).animate({opacity:1},100).animate({opacity:0.5},100).animate({opacity:1},100).animate({opacity:0.5},100).animate({opacity:1},100).animate({opacity:0.5},100).animate({opacity:1},100).animate({opacity:0.2},350,function(){$('#highscore_box ol li[cuser=1]').removeClass('current').css('opacity','');});}}
currentScore={};};that.UserLevel=function(callback){if($.profilar.loggedIn()){that.getUserLevel(function(data){try{tmp=data.hyscor.level||0;}catch(e){tmp=0;}
callback.call(this,tmp);});}else{callback.call(this,0);}};var handleResponseUserHighscores=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":[]};}
this.after_call(data);};var getAllUserHighscores=function(username,callback){var targetusername=username||$.profilar.forService().username;$.ajax({global:false,cache:config.settings.ajaxCacheUserHighscore,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.userhighscoresurl,SPI._settings.global.site_id),type:'GET',dataType:'json',success:handleResponseUserHighscores,error:function(xml,mesg,error){handleResponseUserHighscores.call(this,{"hyscor":[]},'');},after_call:callback,data:{outputtype:'json',targetuser:targetusername,pagesize:50}});};var drawHighscoresItems=function(aitems){var temp=[];try{temp=aitems.hyscor.resultset.result;}catch(e){}
var items=temp.concat();var myitems=[];if(items.length>0){$('div#highscores div.noresults').hide();$('div#highscores div.results').empty().show();$('div#highscores div.results').append('<ul></ul>');var tempdiv='';for(var i in items){tempdiv='';$('div#highscores div.results ul').append('<li id="hsid_'+i+'" class="noresult indicator'+(i%2==0?' even':' odd')+'">'+tempdiv+'</li>');myitems.push({loggedIn:items[i].loggedIn,game_id:items[i].itemid,score:items[i].score,timestamp:items[i].timestamp});}
var listlength=7;if(items.length<listlength){listlength=5;var emptycontent='<div class="image noresult"></div>'+'<div class="infotext">'+SPI._langStrings.highscore.hsbox_nohighscoresyet+'</div>';for(var z=items.length;z<listlength;z++){$('div#highscores div.results ul').append('<li id="hsid_'+z+'" class="noresult'+(z%2==0?' even':' odd')+'">'+emptycontent+'</li>');}}}else{$('div#highscores div.results').empty().hide();$('div#highscores div.hrlike').empty().hide();$('div#highscores div.noresults').show();}
if(myitems.length>0){for(var j in myitems){getGameForHighscore(j,myitems[j]);}}};var getGameForHighscore=function(li_id,item){SPI.gameCache.getGame(item.game_id,function(data){handleBoxHighscore(data,li_id,item);});};var handleBoxHighscore=function(game,li_id,item){$('div#highscores div.results ul li[id=hsid_'+li_id+']').removeClass('indicator').removeClass('noresult');if(game==null){return;}
var tooltipinfo=SPI.escape(game.description);var tooltipinfo2='<span class="time" style="display:none;">'+'<span class="highscoresbox_time">'+
SPI.formatDate(item.timestamp,SPI._langStrings.relative_date_plain,true)+'</span>'+'</span>';var div='';div='<div class="image" title="'+tooltipinfo+'" style="position: relative;">'+
game.url+'<span class="cropper">'+'<img src="'+game.thumbnail+'" width="43" height="32" alt="'+SPI.escape(game.title+'')+'" />'+'<span class="rounder">&nbsp;</span>'+'</span>'+'</a>'+
tooltipinfo2+'</div>'+'<div class="infotext" title="'+tooltipinfo+'">'+'<span class="gametitle">'+
game.url+
SPI.escape(SPI.cutStringPlease(game.title,config.settings.highscorebox_title_length))+'</a>'+'</span>'+'<div class="gamescore">'+SPI.number_format(item.score,0,SPI._settings.global.number_format_decimalseparator,SPI._settings.global.number_format_thousandsseparator)+'</div>'+
tooltipinfo2+'</div>'+'';$('div#highscores div.results ul li[id=hsid_'+li_id+']').empty().append(div);var classname=li_id%2==0?'even':'odd';$('div#highscores div.results ul li[id=hsid_'+li_id+']').addClass(classname);spiApplyTooltip2($('div#highscores div.results ul li[id=hsid_'+li_id+'] div.infotext'),'| ');spiApplyTooltip2($('div#highscores div.results ul li[id=hsid_'+li_id+'] div.image'),'| ');};that.renderHighScoresBox=function(user){var username=user||null;getAllUserHighscores(username,function(items){drawHighscoresItems(items)});};return that;})(jQuery);;SPI.achievements=(function($){var config={settings:{timeout:7000,awardsbox_gametitle_length:30,awardsbox_awardtitle_length:75,achievementItemsPerPage:21,gamerPointsOverviewItemsPerPage:5,unachieved_limit:9,latest_limit:8,animationCycleTime:250,unachieved_li:'unachid_',latest_li:'latawa_',unachieved_div:'#unachieved_awards'}};var that={};var userAwards=[];var userAwardsCount=0;var allAwardsCount=0;var achievementUsername=null;that.init=function(settings){SPI.getAndUpdateConfig('achievement',config,settings);};that.renderAchievements=function(){$('div#achievement_box div.achievement_box_content').empty();getAchievements(function(general){if($.profilar.loggedIn()){getUserAchievements(function(user){calculateFinalArray(general,user,function(items){that.drawAchievements(items);allAwardsCount=items.length;userAwardsCount=userAwards.length;updateViewBar('normal_logged');});});}else{calculateFinalArray(general,null,function(items){that.drawAchievements(items);updateViewBar('normal_guest');});}});};var updateViewBar=function(kind){var viewBar=$('div#achievement_box div.viewbar');viewBar.empty();switch(kind){case'normal_logged':viewBar.append('<p id="ha_award_normal_logged">'+SPI.sprintf(config.langStrings.logged_info,userAwardsCount,allAwardsCount)+'</p>');viewBar.append('<div class="ha_gray"></div>');break;case'unlock_logged':viewBar.append('<p id="ha_award_unlock_logged1">'+SPI.sprintf(config.langStrings.logged_info,userAwardsCount,allAwardsCount)+'</p>');viewBar.append('<div id="ha_award_unlock_logged2"><p>'+config.langStrings.unlock_info+'</p><div class="ha_orange_full"></div></div>');break;case'normal_guest':viewBar.append('<p id="ha_award_normal_guest1">'+config.langStrings.not_logged_info+'</p>');var login=$(SPI.render(config.templates.login_trigger,{above_text:config.langStrings.not_logged_in_info,did:'ha_award_normal_guest2'}));$('a.login',login).hover(function(){$(this).next().addClass('hover');},function(){$(this).next().removeClass('hover');});viewBar.append(login);viewBar.append('<div class="ha_gray"></div>');break;case'unlock_guest':var login=$(SPI.render(config.templates.login_trigger,{above_text:config.langStrings.not_logged_warning,did:'ha_award_unlock_guest1'}));$('a.login',login).hover(function(){$(this).next().addClass('hover');},function(){$(this).next().removeClass('hover');});viewBar.append(login);viewBar.append('<div id="ha_award_unlock_guest2"><p>'+config.langStrings.unlock_info+'</p><div class="ha_orange_full"></div></div>');break;}};var handleResponse=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":[]};}
if(data.hyscor.resultset&&data.hyscor.resultset.result&&data.hyscor.resultset.result.length>5){data.hyscor.resultset.result=data.hyscor.resultset.result.splice(0,5);}
this.after_call(data);};var getAchievements=function(callback){$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,0,config.settings.gameId),type:'GET',dataType:'json',success:handleResponse,error:function(xml,mesg,error){if(mesg=='timeout'){that.renderAchievements();}else{handleResponse.call(this,{"hyscor":[]},'');}},after_call:callback,data:{outputtype:'json',locale:SPI._settings.global.lang_id}});};var handleResponseUser=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":[]};}
this.after_call(data);};var getUserAchievements=function(callback){$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,config.settings.gameId),type:'GET',dataType:'json',success:handleResponseUser,error:function(xml,mesg,error){handleResponseUser.call(this,{"hyscor":[]},'');},after_call:callback,data:{outputtype:'json',username:$.profilar.forService().username,hash:$.profilar.forService().hash,locale:SPI._settings.global.lang_id}});};that.getAchievementsCountForUser=function(callback,targetUser){var getData={outputtype:'json',pagesize:'1',pagenr:'1',outputtype:'json'};if(targetUser){getData.targetuser=targetUser;}else{getData.username=$.profilar.forService().username;getData.hash=$.profilar.forService().hash;}
$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,0),type:'GET',dataType:'json',success:handleResponseUser,error:function(xml,mesg,error){handleResponse.call(this,{"hyscor":[]},'');},after_call:callback,data:getData});};var calculateFinalArray=function(general,user,callback){var items=[];if(general.hyscor&&general.hyscor.resultset&&general.hyscor.resultset.result&&general.hyscor.resultset.result.length>0){items=general.hyscor.resultset.result.splice(0,5);}
if(items.length>1){for(var i=items.length-2;i>=0;i--){for(var j=0;j<=i;j++){if(parseInt(items[j+1].difficulty)<parseInt(items[j].difficulty)){var tempValue=items[j];items[j]=items[j+1];items[j+1]=tempValue;}}}}
if(user!=null){if(user.hyscor&&user.hyscor.resultset&&user.hyscor.resultset.result&&user.hyscor.resultset.result.length>0){for(var i in user.hyscor.resultset.result){for(var z in items){if(items[z].tag==user.hyscor.resultset.result[i].tag){userAwards.push(user.hyscor.resultset.result[i].tag);}}}}}
callback.call(this,items);};var getDifficulty=function(difficulty_level,points){var usePointsString=points!=undefined;var retVal='';var difficulty={'_0':config.langStrings.difficulty_easy,'_5':config.langStrings.difficulty_medium,'_10':config.langStrings.difficulty_hard};if(usePointsString){retVal=SPI.sprintf(config.langStrings.difficultyPoints,difficulty['_'+difficulty_level],points)}else{retVal=SPI.sprintf(config.langStrings.difficulty,difficulty['_'+difficulty_level])}
return retVal;};var getPoints=function(points,difficulty){var useDifficultyString=difficulty!==undefined;var _difficulty={'_0':config.langStrings.difficulty_easy,'_5':config.langStrings.difficulty_medium,'_10':config.langStrings.difficulty_hard};if(useDifficultyString){return SPI.sprintf(config.langStrings.points_with_difficulty,points,_difficulty['_'+difficulty]);}else{return SPI.sprintf(config.langStrings.points,points);}};var isAchieved=function(awardTag){if(userAwards.length>0){for(var j in userAwards){if(userAwards[j].toLowerCase()==awardTag.toLowerCase()){return true;}}}
return false;};that.drawAchievements=function(achievements){if(achievements.length>0){$('div#achievement_box div.achievement_box_content').append('<ul></ul>');var li,liData;for(var i in achievements){liData={};liData.thumbPath=SPI.sprintf(config.settings.thumb_template,achievements[i].awardid);liData.unlocked=isAchieved(achievements[i].tag);liData.pointsString=getPoints(achievements[i].raise);liData.pointsWithDifficultyString=getPoints(achievements[i].raise,achievements[i].difficulty);liData.title=SPI.cutStringPlease(achievements[i].title,25);liData.desc=achievements[i].description;liData.tag=achievements[i].tag;liData.raise=achievements[i].raise;liData.difficultyImg=achievements[i].difficulty==0?'easy':(achievements[i].difficulty==5?'medium':'hard');li=$(SPI.render(config.templates.game_award_li,liData));spiApplyTooltip(li,false);$('div#achievement_box ul').append(li);}}};that.newAchievementCallback=function(tage){if(userAwardsCount<allAwardsCount){userAwardsCount++;};if($.cookie('_SPI_level')){tmp=parseInt($.cookie('_SPI_level'))+parseInt($('#achievement_box ul li[tag=tag_'+tage+'] input').val());fillPoints(tmp,true,false,true);}else{SPI.highscore.init();SPI.highscore.UserLevel((function(_tage){return function(data){fillPoints(parseInt(data),true,false,true);}})(tage));};updateViewBar('unlock_logged');$('div#achievement_box ul li[tag=tag_'+tage+']').addClass('active').removeClass('locked').prev().find('.ha_gray, .ha_orange, .ha_orange_full').css('visibility','hidden');$('div#achievement_box ul li[tag=tag_'+tage+']').animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime,function(){updateViewBar('normal_logged');$('div#achievement_box ul li[tag=tag_'+tage+']').css('opacity','').addClass('unlocked').removeClass('active').prev().find('.ha_gray, .ha_orange, .ha_orange_full').css('visibility','visible');});};that.notLoggedAchievementCallback=function(tage){if(userAwardsCount<allAwardsCount){userAwardsCount++;};updateViewBar('unlock_guest');$('div#achievement_box ul li[tag=tag_'+tage+']').addClass('active').removeClass('locked').prev().find('.ha_gray, .ha_orange, .ha_orange_full').css('visibility','hidden');$('div#achievement_box ul li[tag=tag_'+tage+']').animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime).animate({opacity:1},config.settings.animationCycleTime).animate({opacity:0.5},config.settings.animationCycleTime,function(){updateViewBar('normal_guest');$('div#achievement_box ul li[tag=tag_'+tage+']').css('opacity','').addClass('unlocked').removeClass('active').prev().find('.ha_gray, .ha_orange, .ha_orange_full').css('visibility','visible');});};that.UserAwardsCount=function(callback){if($.profilar.loggedIn()){that.getAchievementsCountForUser(function(data){try{tmp=data.hyscor.resultset.total||0;}catch(e){tmp=0;}
callback.call(this,tmp);},$.profilar.forService().username);}else{callback.call(this,0);}};var handleResponseUserAchievements=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":[]};}
this.after_call(data,this.page);};var getAllUserAchievements=function(callback,page){var sendData={};if(achievementUsername==null){sendData={pagesize:config.settings.achievementItemsPerPage,pagenr:page,locale:SPI._settings.global.lang_id,outputtype:'json',username:$.profilar.forService().username,hash:$.profilar.forService().hash};}else{sendData={pagesize:config.settings.achievementItemsPerPage,pagenr:page,locale:SPI._settings.global.lang_id,outputtype:'json',targetuser:achievementUsername};}
$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,0),type:'GET',dataType:'json',success:handleResponseUserAchievements,error:function(xml,mesg,error){handleResponseUserAchievements.call(this,{"hyscor":[]},'');},after_call:callback,data:sendData,'page':page});};var drawAchievementsItems=function(aitems,page){var temp=[];try{temp=aitems.hyscor.resultset.result;}catch(e){temp=[];}
var items=temp.concat();var page=page||1;if(items.length==0){$('div#myawards_content div.noresults').show();$('div#myawards_content div.results').empty().hide();return;}
var sitesQuantity=Math.ceil(that.userAchievementsLength/config.settings.achievementItemsPerPage);$('div#myawards_content div.noresults').hide();$('div#myawards_content div.results').empty();$("#paging_center1>span, #paging_center2>span").empty().parent().hide();var columns=3;var uls=Math.ceil(items.length/columns);for(i=0;i<uls;i++){$('div#myawards_content div.results').append('<ul id="aul_'+i+'" class="'+(i%2==0?'even':'')+'"></ul>')}
var selectedUl=0;var insertString='';for(var i=(page*config.settings.achievementItemsPerPage)-config.settings.achievementItemsPerPage,j=0;i<(page*config.settings.achievementItemsPerPage)&&i<that.userAchievementsLength;i++,j++){if(j%columns==0&&j!=0){selectedUl++;}
insertString='<li id="awid_'+i+'" class="indicator"></li>';$('div#myawards_content div.results ul[id=aul_'+selectedUl+']').append(insertString);getGameForAchievement(i,items[j]);}
var paging=n.paginatorString(that.userAchievementsLength,page,config.settings.achievementItemsPerPage,config.settings.maxPages,function(page){getAllUserAchievements(function(items,page){drawAchievementsItems(items,page);},page);},true);$("#paging_center1>span, #paging_center2>span").empty();if(paging!=''){$("#paging_center1>span").append(paging).parent().show();$("#paging_center2>span").append(paging.clone(true)).parent().show();}};var drawAchievementsBoxItems=function(aitems,page){var temp=[];var total=0;try{temp=aitems.hyscor.resultset.result;total=aitems.hyscor.resultset.total;}catch(e){temp=[];}
var items=temp.concat();var page=page||1;if(items.length==0){$('div#myawards_content div.noresults').show();$('div#myawards_content div.results, .latestBottomLinks, #latestawards div.hrlike').hide();return;}
$('.myAllAwards').html(SPI.sprintf($('.myAllAwards').html(),total));var sitesQuantity=Math.ceil(that.userAchievementsLength/config.settings.achievementItemsPerPage);$('div#myawards_content div.noresults').hide();$('div#myawards_content div.results').empty();var columns=2;var uls=Math.ceil(config.settings.latest_limit/columns);for(i=0;i<uls;i++){$('div#myawards_content div.results').append('<ul id="aul_'+i+'"></ul>')};var selectedUl=0;var insertString='';for(var i=(page*config.settings.achievementItemsPerPage)-config.settings.achievementItemsPerPage,j=0;i<(page*config.settings.latest_limit)&&i<that.userAchievementsLength;i++,j++){if(j%columns==0&&j!=0){selectedUl++;}
insertString='<li id="awid_'+i+'" class="indicator"></li>';$('div#myawards_content div.results ul[id=aul_'+selectedUl+']').append(insertString);getGameForAchievement(i,items[j]);};if(i<config.settings.latest_limit){emptyItem='<li id="awid_%d"><div class="thumb"><img height="38" width="38" src="/img/_/layout/ha/award_small_white.gif"/></div><span class="noaward">%s</span></li>';for(i,j;i<=config.settings.latest_limit;i++,j++){if(j%columns==0&&j!=0){selectedUl++;}
insertString=SPI.sprintf(emptyItem,i,config.langStrings.emptyaward);$('div#myawards_content div.results ul[id=aul_'+selectedUl+']').append(insertString);};};};var getGameForAchievement=function(li_id,item){SPI.gameCache.getGame(item.itemid,function(data){handleBoxAchievement(data,li_id,item);});};var handleBoxAchievement=function(game,li_id,item){var li,li_content,liData={};li=$('#myawards_content div.results li[id=awid_'+li_id+']');li.removeClass('indicator');if(game==null){return;}
liData.thumbPath=SPI.sprintf(config.settings.thumb_template,item.awardid);liData.pointsWithDifficultyString=getPoints(item.raise,item.difficulty);liData.awardTitle=SPI.cutStringPlease(item.title,22);liData.gameTitle=SPI.cutStringPlease(game.title,22);liData.gameUrl=game.url.slice(0,game.url.length-1);liData.desc=item.description;liData.difficultyImg=item.difficulty==0?'easy':(item.difficulty==5?'medium':'hard');liData.difficultyImgBackground=li.parent().hasClass('even')?'blue':'white';li_content=$(SPI.render(config.templates.myawards_li,liData));li.append(li_content).attr('title',liData.desc);spiApplyTooltip(li);};that.renderUserAchievements=function(user){achievementUsername=user||null;getAllUserAchievements(function(items){that.userAchievementsLength=0;try{that.userAchievementsLength=items.hyscor.resultset.total;}catch(e){};drawAchievementsItems(items);},1);};that.renderUserAwardsBox=function(user){achievementUsername=user||null;getAllUserAchievements(function(items){that.userAchievementsLength=0;try{that.userAchievementsLength=items.hyscor.resultset.total;}catch(e){};drawAchievementsBoxItems(items);},1);};var renderUnachievedRow=function(row,game,i){row.thumbPath=SPI.sprintf(config.settings.thumb_template,row.awardid);row.pointsWithDifficultyString=getPoints(row.raise,row.difficulty);row.awardTitle=SPI.cutStringPlease(row.title,22);row.gameTitle=SPI.cutStringPlease(game.title,22);row.gameUrl=game.url.slice(0,game.url.length-1);row.difficultyImg=row.difficulty==0?'easy':(row.difficulty==5?'medium':'hard');row.difficultyImgBackground=(parseInt(i/3)%2)?'blue':'white';row.i=i+1;var ed=$(SPI.render(config.templates.unachieved_li,row));return ed;};var handleUnachievedResponse2=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":{resultset:{result:[]}}};}
var all=data.hyscor.resultset.result,user=this.userData.hyscor.resultset.result;var unachieved=[],push;for(var i=0;i<all.length;++i){push=true;for(var j=0;j<user.length;j++){if(all[i].awardid==user[j].awardid){push=false;break;}}
if(push){unachieved.push(all[i]);}
if(unachieved.length>=config.settings.unachieved_limit){break;}}
if(unachieved.length==0){$(config.settings.unachieved_div+' div.noresults').show();$(config.settings.unachieved_div+' div.results').hide();$(config.settings.unachieved_div+' div.unachievedmorelink').hide();return;}
var i,ed,row;for(i=0;i<unachieved.length;++i){$('#'+config.settings.unachieved_li+i).addClass("indicator");SPI.gameCache.getGame(unachieved[i].itemid,function(_row,_i,_liid){return function(game){if(game){$('#'+_liid).removeClass('indicator').empty().append(renderUnachievedRow(_row,game,_i)).hover(function(){$(this).addClass('hover');},function(){$(this).removeClass('hover');}).attr('title',_row.description);spiApplyTooltip($('#'+_liid));}}}(unachieved[i],i,config.settings.unachieved_li+i));}
$('li[id^='+config.settings.unachieved_li+']:not(.indicator) span.noaward').text(config.langStrings.emptyaward);};var handleUnachievedResponse1=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":{resultset:{result:[]}}};}
$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,0,0),type:'GET',dataType:'json',success:handleUnachievedResponse2,error:function(xml,mesg,error){handleUnachievedResponse2.call(this,{"hyscor":{resultset:{result:[]}}},'');},data:{outputtype:'json',locale:SPI._settings.global.lang_id},userData:data});};that.renderUnachieved=function(){var box=$(config.settings.unachieved_div+' div.results');var columns=3;var uls=Math.ceil(config.settings.unachieved_limit/columns);for(i=0;i<uls;i++){box.append('<ul id="uaul_'+i+'" class="'+(i%2==0?'':'even')+'"></ul>');}
var i;var selectedUl=0;for(i=0;i<config.settings.unachieved_limit;++i){if(i%columns==0&&i!=0){selectedUl++;}
$('ul[id=uaul_'+selectedUl+']',box).append('<li id="'+config.settings.unachieved_li+i+'"></li>');$('#'+config.settings.unachieved_li+i).append(SPI.render(config.templates.unachieved_li_empty,{}));}
$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,0),type:'GET',dataType:'json',success:handleUnachievedResponse1,error:function(xml,mesg,error){handleUnachievedResponse1.call(this,{"hyscor":{resultset:{result:[]}}},'');},data:{outputtype:'json',username:$.profilar.forService().username,hash:$.profilar.forService().hash,locale:SPI._settings.global.lang_id}});};var renderLatestRow=function(row,game,i){row.gameurl=game.url;row.gamename=SPI.cutStringPlease(game.title,config.settings.awardsbox_gametitle_length);row.thumbnail=SPI.sprintf(config.settings.thumb_template,row.awardid);row.awardtitle=SPI.cutStringPlease(row.title,config.settings.awardsbox_awardtitle_length);row.diff=getDifficulty(row.difficulty,row.raise);row.i=i+1;var ed=$(SPI.render(config.templates.latest_li,row));$('a, span',ed).ntooltip({extraClass:'pretty',showBody:'| ',fancyImages:SPI._settings.tooltipFancyImagesArray});return ed;};var handleLatestAwards=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){data={"hyscor":{resultset:{result:[]}}};}
var latest=data.hyscor.resultset.result.splice(0,config.settings.latest_limit);if(latest.length==0){$('#'+config.settings.latest_li+'0'+' div.info').append('<p class="nogames_title">'+config.langStrings.no_achieved_award+'</p><p class="nogames_text">'+config.langStrings.start_playing_now+'</p>');$(config.settings.latest_div+' div.latestawardsmorelink').hide();return;}
var i,ed,row;for(i=0;i<latest.length;++i){$('#'+config.settings.latest_li+i).addClass("indicator");SPI.gameCache.getGame(latest[i].itemid,function(_row,_i,_liid){return function(game){if(game){$('#'+_liid).removeClass('indicator').empty().append(renderLatestRow(_row,game,_i));}}}(latest[i],i,config.settings.latest_li+i));}};that.renderLatestsAwards=function(targetUser){var box=$(config.settings.latest_div+' div.results');var columns=2;var uls=Math.ceil(config.settings.latest_limit/columns);for(i=0;i<uls;i++){box.append('<ul id="laul_'+i+'" class="'+(i%2==0?'even':'')+'"></ul>');}
var i;var selectedUl=0;for(i=0;i<config.settings.latest_limit;++i){if(i%columns==0&&i!=0){selectedUl++;}
$('ul[id=laul_'+selectedUl+']',box).append('<li id="'+config.settings.latest_li+i+'"></li>');$('#'+config.settings.latest_li+i).append(SPI.render(config.templates.latest_li_empty,{}));}
var getData={pagesize:config.settings.achievementItemsPerPage,pagenr:1,locale:SPI._settings.global.lang_id,outputtype:'json'};if(targetUser){getData.targetuser=targetUser;}else{getData.username=$.profilar.forService().username;getData.hash=$.profilar.forService().hash;}
$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,0),type:'GET',dataType:'json',success:handleLatestAwards,error:function(xml,mesg,error){handleLatestAwards.call(this,{"hyscor":{resultset:{result:[]}}},'');},data:getData});};var getTargetuserAchievements=function(_username,_callback,_pagenumber){var targetusername=_username||$.profilar.forService().username;var page=(_pagenumber>0)?_pagenumber:0;var getData={locale:SPI._settings.global.lang_id,outputtype:'json',targetuser:targetusername,pagesize:config.settings.gamerPointsOverviewItemsPerPage,pagenr:page};$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,0),type:'GET',dataType:'json',success:handleResponseUserAchievements,error:function(xml,mesg,error){handleResponseUserAchievements.call(this,{"hyscor":[]},'');},after_call:_callback,page:page,data:getData});};var fillGamePointBox=function(game,li_id,item){$('div#gamepointbox div.results ul li[id=awid_'+li_id+']').removeClass('indicator');if(game==null){return;}
var div='';var row={date:SPI.formatAbsDate(item.timestamp),gamename:game.url+SPI.cutStringPlease(game.title,config.settings.awardsbox_gametitle_length),gameurl:game.url.slice(0,game.url.length-1),gamedesc:SPI.escape(item.description+''),gametitle:SPI.addslashes(game.title+''),awardtitle:SPI.cutStringPlease(item.title,config.settings.awardsbox_awardtitle_length),awarddesc:item.description,points:item.raise,thumbnail:thumbPath=SPI.sprintf(config.settings.thumb_template,item.awardid),diff:getDifficulty(item.difficulty)}
var div=$(SPI.render(config.templates.gamepoint_li,row));$('div#gamepointbox div.results ul li[id=awid_'+li_id+']').append(div);};var loadGamePointsOverview=function(li_id,item){SPI.gameCache.getGame(item.itemid,function(data){fillGamePointBox(data,li_id,item);});};return that;})(jQuery);;SPI.gamesCookieProxy=function(settings){if(settings==undefined){settings={};}
this.settings=jQuery.extend({maxGames:100,cookieExpire:365,allowMultiple:false,splitter:'.',cookiePath:'/'},settings);this.loadGames=function(){var cookieData=jQuery.cookie(this.settings.cookieName);try{if(cookieData==null||cookieData==''){cookieData=new Array();}else{cookieData=cookieData.split(this.settings.splitter);for(var i=0;i<cookieData.length;++i){cookieData[i]=parseInt(cookieData[i]);}}}catch(e){cookieData=new Array();}
return cookieData;};this.resetGames=function(){jQuery.cookie(this.settings.cookieName,'',{expires:-1,path:this.settings.cookiePath});};this.saveGames=function(games){if(games.length>this.settings.maxGames){games=games.slice(0,this.settings.maxGames);}
var saveData=games.join(this.settings.splitter);if(games.length==0){saveData='';}
jQuery.cookie(this.settings.cookieName,saveData,{expires:this.settings.cookieExpire,path:this.settings.cookiePath});};this.addGame=function(gameId){var games=this.loadGames();if(!this.settings.allowMultiple){var index=jQuery.inArray(gameId,games);if(index!=-1){games.splice(index,1);}}
var newLength=games.unshift(gameId);this.saveGames(games);return newLength;};this.removeGame=function(gameId){var games=this.loadGames();var index=jQuery.inArray(gameId,games);while(index!=-1){games.splice(index,1);if(!this.settings.allowMultiple){break;}
var index=jQuery.inArray(gameId,games);}
this.saveGames(games);return games.length;};};;SPI.gameCache=(function($){var settings={gamedata_url:'/gamedata/%s.json',timeout:7000};var that={};var searchAjaxManagerGame=$.manageAjax({manageType:'queue',maxReq:2,global:false,blockSameRequest:true});var gamesCache=[];var callbackCache={};var getGameFromCache=function(game_id){for(var i=0;i<gamesCache.length;i++){if(gamesCache[i].gid==game_id)return gamesCache[i];}
return false;};var runCallbacks=function(game_id,data){if(callbackCache['_'+game_id]!==undefined){for(var i=0;i<callbackCache['_'+game_id].length;++i){callbackCache['_'+game_id][i](data);}
delete callbackCache['_'+game_id];}};var handleGameResponse=function(data,mesg){if(data.gid!==undefined){gamesCache.push(data);}
this.after_call(data);runCallbacks(this.game_id,data);};var handleGameError=function(xml,mesg,error){if(xml.status=='404'){this.failure_call(xml.status);}else{this.after_call(null);runCallbacks(this.game_id,null);}};that.getGame=function(game_id,callback,failurecallback){var game=getGameFromCache(game_id);if(game!==false){callback.call(this,game);}else{if(searchAjaxManagerGame.add({global:false,type:'GET',cache:true,dataType:'json',success:handleGameResponse,error:handleGameError,timeout:settings.timeout,url:SPI.sprintf(settings.gamedata_url,game_id),after_call:callback,failure_call:failurecallback||function(){},game_id:game_id})===false){if(callbackCache['_'+game_id]===undefined){callbackCache['_'+game_id]=[];}
callbackCache['_'+game_id].push(callback);}}};return that;})(jQuery);;;SPI.geoip=(function(){var config={settings:{url:'/lc/pb/1/country',geoiprule_url:'/geoip/%1$s.json',timeout:7000,cookieName:'_SPI_geoip',cookieDisplayedName:'_SPI_geoip_displayed',cookieRules:{path:'/',expires:365}}};var that={};var redirectTo='-1';var ruleDomain=null;var getRedirectCookie=function(){redirectTo=$.cookie(config.settings.cookieName)||null;return redirectTo;};var canPop=function(){return!(getRedirectCookie()||$.cookie(config.settings.cookieDisplayedName));};that.init=function(){try{if(canPop()===true){checkUserLocation(function(data){if(data&&data.locatar){checkRules(data.locatar.country_code,function(data){if(data.domain&&data.domain!=''){ruleDomain=data.domain;showGeoIpBox(data);}});}});}else if(redirectTo&&redirectTo!='-1'){SPI.geoip.redirectMe(redirectTo);}}catch(e){}};var setRedirectCookie=function(value){$.cookie(config.settings.cookieName,value,config.settings.cookieRules);};that.dontAskAgain=function(){setRedirectCookie('-1');};that.setDisplayed=function(){$.cookie(config.settings.cookieDisplayedName,1,{path:'/'});};var checkRules=function(country_code,callback){$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:SPI.sprintf(config.settings.geoiprule_url,country_code),type:'GET',dataType:'json',success:handleRuleResponse,error:function(xml,mesg,error){handleRuleResponse.call(this,{},'');},after_call:callback});};var handleRuleResponse=function(data,mesg){this.after_call(data);};that.redirectMe=function(domain,set_cookie){if(domain!=null){window.top.location.href=domain;}else{if(set_cookie){setRedirectCookie(ruleDomain);}
window.top.location.href=ruleDomain;}};var checkUserLocation=function(callback){$.ajax({global:false,cache:true,timeout:config.settings.timeout,url:config.settings.url,type:'GET',dataType:'json',success:handleResponse,error:function(xml,mesg,error){handleResponse.call(this,{"locatar":{}},'');},after_call:callback,data:{outputtype:'json'}});};var handleResponse=function(data,mesg){if(data.locatar&&data.locatar.errorcode!==undefined){data={"locatar":{}};}
this.after_call(data);};return that;})();;;(function($){$.fn.extend({autocomplete:function(urlOrData,options){var isUrl=typeof urlOrData=="string";options=$.extend({},$.Autocompleter.defaults,{url:isUrl?urlOrData:null,data:isUrl?null:urlOrData,delay:isUrl?$.Autocompleter.defaults.delay:10,max:options&&!options.scroll?10:150},options);options.highlight=options.highlight||function(value){return value;};options.formatMatch=options.formatMatch||options.formatItem;return this.each(function(){new $.Autocompleter(this,options);});},result:function(handler){return this.bind("result",handler);},search:function(handler){return this.trigger("search",[handler]);},flushCache:function(){return this.trigger("flushCache");},setOptions:function(options){return this.trigger("setOptions",[options]);},unautocomplete:function(){return this.trigger("unautocomplete");}});$.Autocompleter=function(input,options){var KEY={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);var timeout;var previousValue="";var cache=$.Autocompleter.Cache(options);var hasFocus=0;var lastKeyPressCode;var config={mouseDownOnSelect:false};var select=$.Autocompleter.Select(options,input,selectCurrent,config);var blockSubmit;$.browser.opera&&$(input.form).bind("submit.autocomplete",function(){if(blockSubmit){blockSubmit=false;return false;}});$input.bind(($.browser.opera?"keypress":"keydown")+".autocomplete",function(event){lastKeyPressCode=event.keyCode;switch(event.keyCode){case KEY.UP:event.preventDefault();if(select.visible()){select.prev();}else{onChange(0,true);}
break;case KEY.DOWN:event.preventDefault();if(select.visible()){select.next();}else{onChange(0,true);}
break;case KEY.PAGEUP:event.preventDefault();if(select.visible()){select.pageUp();}else{onChange(0,true);}
break;case KEY.PAGEDOWN:event.preventDefault();if(select.visible()){select.pageDown();}else{onChange(0,true);}
break;case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:case KEY.TAB:case KEY.RETURN:if(selectCurrent()){event.preventDefault();blockSubmit=true;return false;}
break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).focus(function(){hasFocus++;}).blur(function(){hasFocus=0;if(!config.mouseDownOnSelect){hideResults();}}).click(function(){if(hasFocus++>1&&!select.visible()){onChange(0,true);}}).bind("search",function(){var fn=(arguments.length>1)?arguments[1]:null;function findValueCallback(q,data){var result;if(data&&data.length){for(var i=0;i<data.length;i++){if(data[i].result.toLowerCase()==q.toLowerCase()){result=data[i];break;}}}
if(typeof fn=="function")fn(result);else $input.trigger("result",result&&[result.data,result.value]);}
$.each(trimWords($input.val()),function(i,value){request(value,findValueCallback,findValueCallback);});}).bind("flushCache",function(){cache.flush();}).bind("setOptions",function(){$.extend(options,arguments[1]);if("data"in arguments[1])
cache.populate();}).bind("unautocomplete",function(){select.unbind();$input.unbind();$(input.form).unbind(".autocomplete");});function selectCurrent(){var selected=select.selected();if(!selected)
return false;var v=selected.result;previousValue=v;if(options.multiple){var words=trimWords($input.val());if(words.length>1){v=words.slice(0,words.length-1).join(options.multipleSeparator)+options.multipleSeparator+v;}
v+=options.multipleSeparator;}
$input.val(v);hideResultsNow();$input.trigger("result",[selected.data,selected.value]);return true;}
function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){select.hide();return;}
var currentValue=$input.val();if(!skipPrevCheck&&currentValue==previousValue)
return;previousValue=currentValue;currentValue=lastWord(currentValue);if(currentValue.length>=options.minChars){$input.addClass(options.loadingClass);if(!options.matchCase)
currentValue=currentValue.toLowerCase();request(currentValue,receiveData,hideResultsNow);}else{stopLoading();select.hide();}};function trimWords(value){if(!value){return[""];}
var words=value.split(options.multipleSeparator);var result=[];$.each(words,function(i,value){if($.trim(value))
result[i]=$.trim(value);});return result;}
function lastWord(value){if(!options.multiple)
return value;var words=trimWords(value);return words[words.length-1];}
function autoFill(q,sValue){if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){$input.val($input.val()+sValue.substring(lastWord(previousValue).length));$.Autocompleter.Selection(input,previousValue.length,previousValue.length+sValue.length);}};function hideResults(){clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){var wasVisible=select.visible();select.hide();clearTimeout(timeout);stopLoading();if(options.mustMatch){$input.search(function(result){if(!result){if(options.multiple){var words=trimWords($input.val()).slice(0,-1);$input.val(words.join(options.multipleSeparator)+(words.length?options.multipleSeparator:""));}
else
$input.val("");}});}
if(wasVisible)
$.Autocompleter.Selection(input,input.value.length,input.value.length);};function receiveData(q,data){if(data&&data.length&&hasFocus){stopLoading();select.display(data,q);autoFill(q,data[0].value);select.show();}else{hideResultsNow();}};function request(term,success,failure){if(!options.matchCase)
term=term.toLowerCase();var data=cache.load(term);if(data&&data.length){success(term,data);}else if((typeof options.url=="string")&&(options.url.length>0)){var extraParams={};$.each(options.extraParams,function(key,param){extraParams[key]=typeof param=="function"?param():param;});$.ajax({mode:"abort",port:"autocomplete"+input.name,dataType:options.dataType,url:options.url,data:extraParams,cache:true,success:function(data){var parsed=options.parse&&options.parse(data)||parse(data);cache.add(term,parsed);success(term,parsed);}});}else{select.emptyList();failure(term);}};function parse(data){var parsed=[];var rows=data.split("\n");for(var i=0;i<rows.length;i++){var row=$.trim(rows[i]);if(row){row=row.split("|");parsed[parsed.length]={data:row,value:row[0],result:options.formatResult&&options.formatResult(row,row[0])||row[0]};}}
return parsed;};function stopLoading(){$input.removeClass(options.loadingClass);};};$.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row){return row[0];},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value,term){return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>");},scroll:true,scrollHeight:180};$.Autocompleter.Cache=function(options){var data={};var length=0;function matchSubset(s,sub){if(!options.matchCase)
s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};function add(q,value){if(length>options.cacheLength){flush();}
if(!data[q]){length++;}
data[q]=value;}
function populate(){if(!options.data)return false;var stMatchSets={},nullData=0;if(!options.url)options.cacheLength=1;stMatchSets[""]=[];for(var i=0,ol=options.data.length;i<ol;i++){var rawValue=options.data[i];rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;var value=options.formatMatch(rawValue,i+1,options.data.length);if(value===false)
continue;var firstChar=value.charAt(0).toLowerCase();if(!stMatchSets[firstChar])
stMatchSets[firstChar]=[];var row={value:value,data:rawValue,result:options.formatResult&&options.formatResult(rawValue)||value};stMatchSets[firstChar].push(row);if(nullData++<options.max){stMatchSets[""].push(row);}};$.each(stMatchSets,function(i,value){options.cacheLength++;add(i,value);});}
setTimeout(populate,25);function flush(){data={};length=0;}
return{flush:flush,add:add,populate:populate,load:function(q){if(!options.cacheLength||!length)
return null;if(!options.url&&options.matchContains){var csub=[];for(var k in data){if(k.length>0){var c=data[k];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub.push(x);}});}}
return csub;}else
if(data[q]){return data[q];}else
if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var c=data[q.substr(0,i)];if(c){var csub=[];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub[csub.length]=x;}});return csub;}}}
return null;}};};$.Autocompleter.Select=function(options,input,select,config){var CLASSES={ACTIVE:"ac_over"};var listItems,active=-1,data,term="",needsInit=true,element,list;function init(){if(!needsInit)
return;element=$("<div/>").hide().addClass(options.resultsClass).css("position","absolute").appendTo(document.body);list=$("<ul/>").appendTo(element).mouseover(function(event){if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE);}}).click(function(event){$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false;}).mousedown(function(){config.mouseDownOnSelect=true;}).mouseup(function(){config.mouseDownOnSelect=false;});if(options.width>0)
element.css("width",options.width);needsInit=false;}
function target(event){var element=event.target;while(element&&element.tagName!="LI")
element=element.parentNode;if(!element)
return[];return element;}
function moveSelect(step){listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);if(options.scroll){var offset=0;listItems.slice(0,active).each(function(){offset+=this.offsetHeight;});if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight());}else if(offset<list.scrollTop()){list.scrollTop(offset);}}};function movePosition(step){active+=step;if(active<0){active=listItems.size()-1;}else if(active>=listItems.size()){active=0;}}
function limitNumberOfItems(available){return options.max&&options.max<available?options.max:available;}
function fillList(){list.empty();var max=limitNumberOfItems(data.length);for(var i=0;i<max;i++){if(!data[i])
continue;var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);if(formatted===false)
continue;var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];$.data(li,"ac_data",data[i]);}
listItems=list.find("li");if(options.selectFirst){listItems.slice(0,1).addClass(CLASSES.ACTIVE);active=0;}
if($.fn.bgiframe)
list.bgiframe();}
return{display:function(d,q){init();data=d;term=q;fillList();},next:function(){moveSelect(1);},prev:function(){moveSelect(-1);},pageUp:function(){if(active!=0&&active-8<0){moveSelect(-active);}else{moveSelect(-8);}},pageDown:function(){if(active!=listItems.size()-1&&active+8>listItems.size()){moveSelect(listItems.size()-1-active);}else{moveSelect(8);}},hide:function(){element&&element.hide();listItems&&listItems.removeClass(CLASSES.ACTIVE);active=-1;},visible:function(){return element&&element.is(":visible");},current:function(){return this.visible()&&(listItems.filter("."+CLASSES.ACTIVE)[0]||options.selectFirst&&listItems[0]);},show:function(){var offset=$(input).offset();element.css({width:typeof options.width=="string"||options.width>0?options.width:$(input).width(),top:offset.top+input.offsetHeight,left:offset.left}).show();if(options.scroll){list.scrollTop(0);list.css({maxHeight:options.scrollHeight,overflow:'auto'});if($.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var listHeight=0;listItems.each(function(){listHeight+=this.offsetHeight;});var scrollbarsVisible=listHeight>options.scrollHeight;list.css('height',scrollbarsVisible?options.scrollHeight:listHeight);if(!scrollbarsVisible){listItems.width(list.width()-parseInt(listItems.css("padding-left"))-parseInt(listItems.css("padding-right")));}}}},selected:function(){var selected=listItems&&listItems.filter("."+CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);return selected&&selected.length&&$.data(selected[0],"ac_data");},emptyList:function(){list&&list.empty();},unbind:function(){element&&element.remove();}};};$.Autocompleter.Selection=function(field,start,end){if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
field.focus();};})(jQuery);$.Autocompleter.defaults.parse=function(data){eval("var results ="+data);parsed=[];try{$.each(results.searchar.resultset.result,function(){parsed.push({data:[this.suggestion],value:this.suggestion,result:this.suggestion});})}catch(e){}
return parsed};$.Autocompleter.defaults.getPhrase=function(){return $('#searchinput_top').val();};;SPI.popup=(function(){var config={settings:{shadowClass:'popup_shadow',shadowfillClass:'popup_shadowFill',emptyPlaceholderClass:'popup_container',contentPlaceholder:'popup_content_body',timeout:10000}};var that={},defaults={},flashElementsToHide=[],_width=0,_height=0;var _timeout=false;var hideFlash=function(){flashElementsToHide=$('object:visible, #flashobj_mc, #gameiframe_js, #headertop .leaderboard');$(flashElementsToHide).each(function(){$(this).css('visibility','hidden')});};var showFlash=function(){$(flashElementsToHide).each(function(){$(this).css('visibility','visible')});flashElementsToHide=[];};var beforeRaise=function(){$('.popup_container').remove();_calculateDimm();hideFlash();$('.'+config.settings.shadowClass).show();};var afterRaise=function(_options,popup){var margin=0;margin=Math.round((_height-parseInt($('.'+config.settings.emptyPlaceholderClass).height()))/2);if(margin>0)$('.'+config.settings.emptyPlaceholderClass).css('margin-top',margin+'px');else $('.'+config.settings._popup_placeholder).css('margin-top','0px');if(typeof _options.afterRiseCallback=='function')_options.afterRiseCallback.call(this,popup);};var beforeClose=function(){if(_timeout){clearTimeout(_timeout);_timeout=false;};};var afterClose=function(){showFlash();};var _calculateDimm=function(){if(typeof window.innerWidth=='number'){_width=window.innerWidth;_height=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){_width=document.documentElement.clientWidth;_height=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){_width=document.body.clientWidth;_height=document.body.clientHeight;};return;};var _displayPopup=function(){$('.'+config.settings.shadowClass).show();};var _hidePopup=function(){$('.'+config.settings.shadowClass).hide();};that.show=function(content,callback,options){var _options=$.extend({content:content},defaults,options);beforeRaise();if(_options.close)_options.closelink=SPI.render(config.templates.closelink,_options);else _options.closelink='';$('.'+config.settings.shadowClass,'body').append(SPI.render(config.templates.emptyPlaceholder,_options));var _popupContainer=$('.'+config.settings.shadowClass+' .'+config.settings.emptyPlaceholderClass,'body');var _popupBottom=$(SPI.render(config.templates['type_'+_options.type],_options));$('.popup_content_body',_popupContainer).append(_options.content);$('.popup_blue_button',_popupContainer);if(_options.type=='alert'){if(typeof callback=='function'){$('.popup_blue_button',_popupBottom).click(function(){callback.call(this);if(_options.autoClose)that.close();return false;});};}else{if(typeof callback=='object'){if(typeof callback._ok!='undefined'&&typeof callback._cancel!='undefined'){$('.popup_blue_button',_popupBottom).click(function(){callback._ok.call(this);if(_options.autoClose){that.close()};return false;});$('.popup_bottom_button',_popupBottom).click(function(){callback._cancel.call(this);if(_options.autoClose){that.close()};return false;});}else{if(typeof callback._ok!='undefined')$('.popup_blue_button',_popupBottom).click(function(){callback._ok.call(this);if(_options.autoClose){that.close()};return false;});$('.popup_bottom_button',_popupBottom).click(function(){that.close();return false;});};}else if(typeof callback=='function'){$('.popup_blue_button',_popupBottom).click(function(){callback.call(this);if(_options.autoClose){that.close()};return false;});$('.popup_bottom_button',_popupBottom).click(function(){that.close();return false;});};};if(_options.close)$('.popup_closelink',_popupContainer).click(function(){if(typeof _options.beforeCloseCallback=='function')_options.beforeCloseCallback.call(this);that.close();return false;});$('.popup_content',_popupContainer).append(_popupBottom);clearTimeout(_timeout);_timeout=false;if(_options.closeAfterTimeout){_timeout=setTimeout(that.close,config.settings.timeout);}
afterRaise(_options,_popupContainer);};that.close=function(){beforeClose();_hidePopup();afterClose();};that.init=function(){defaults={close:true,autoClose:true,preventHide:false,title:'',titleIcon:'',type:'alert',hideAfterClose:true,blueButtonText:SPI._langStrings.popup.close,bottomLinkText:'',timeout:config.settings.timeout,closeAfterTimeout:false,afterCallback:false};SPI.getAndUpdateConfig('popup',config);$('body').append('<div class="'+config.settings.shadowClass+'"><div class="'+config.settings.shadowfillClass+'"></div></div>');};return that;})();;SPI.report=(function(){var config={settings:{reportarUrl:'/rp/pb/1/add/%d/%d/%d/%d',reportweight:{avatar:1,username:1,aboutme:1,chat:1,comment:1,ugc:1},itemtypes:{avatar:10,username:12,comment:11}}};var that={};that.initialised=false;that.reportProfile=function(obj){report('profile',obj);};that.reportGameComment=function(obj){report('gamecomment',obj);};that.reportGameCommentExtended=function(obj){report('gamecommentextended',obj);};var _handleSuccess=function(data,callback){if($('reportar result reportid',data).length)callback.ok.call(this);else callback.fail.call(this);};var _handleError=function(callback){callback.fail.call(this);};var _submitReport=function(type,itemtype,itemid,reportedUser,reason,callback){var _postData={}
if($.inArray(type,['avatar','username','aboutme','chat','comment','ugc'])==-1)return false;if(reportedUser===undefined||isNaN(parseInt(itemtype))||(isNaN(parseInt(itemid))&&type=='avatar')||itemid===undefined)return false;if(type=='comment'&&itemid==-1)return false;_postData.reporteduser=reportedUser;_postData.reporttype=type;_postData.reason=SPI.escape(reason).slice(0,254)||'';_postData.reportweight=config.settings.reportweight[type]||1;if(type=='username'){_postData.itemname=itemid;itemid=0;};if($.profilar.forService().username!=''){_postData.username=$.profilar.forService().username;_postData.hash=$.profilar.forService().hash;};$.ajax({type:'POST',url:SPI.sprintf(config.settings.reportarUrl,parseInt(SPI._settings.global.channel_id),parseInt(SPI._settings.global.site_id),parseInt(itemtype),parseInt(itemid)),data:_postData,success:function(data){_handleSuccess(data,callback)},error:function(data){_handleError(callback)},dataType:'xml'});};var report=function(reportType,obj){init();var _obj=obj;var _content='';var _success='';var _error='';var _blueButtonText='';var _bottomLinkText='';switch(reportType){case'profile':_content=SPI.render(config.templates.report_profile,{highlightclass:''});_success=SPI.render(SPI._templates.popup.content_doublelined,{header:config.langStrings.report_profile.success_header,info:config.langStrings.report_profile.success_info,highlightclass:'popup_ok_highlight'});_error=SPI.render(SPI._templates.popup.content_doublelined,{header:config.langStrings.report_profile.error_header,info:config.langStrings.report_profile.error_info,highlightclass:'popup_bad_highlight'});_blueButtonText=config.langStrings.report_profile.send;_bottomLinkText=config.langStrings.report_profile.cancel;_title=config.langStrings.report_profile.title;break;case'gamecomment':_content=SPI.render(config.templates.report_gamecomment,{highlightclass:''});_success=SPI.render(SPI._templates.popup.content_doublelined,{header:config.langStrings.report_gamecomment.success_header,info:config.langStrings.report_gamecomment.success_info,highlightclass:'popup_ok_highlight'});_error=SPI.render(SPI._templates.popup.content_doublelined,{header:config.langStrings.report_gamecomment.error_header,info:config.langStrings.report_gamecomment.error_info,highlightclass:'popup_bad_highlight'});_blueButtonText=config.langStrings.report_gamecomment.send;_bottomLinkText=config.langStrings.report_gamecomment.cancel;_title=config.langStrings.report_gamecomment.title;break;case'gamecommentextended':_content=SPI.render(config.templates.report_gamecomment_extended,{highlightclass:''});_success=SPI.render(SPI._templates.popup.content_doublelined,{header:config.langStrings.report_gamecommentextended.success_header,info:config.langStrings.report_gamecommentextended.success_info,highlightclass:'popup_ok_highlight'});_error=SPI.render(SPI._templates.popup.content_doublelined,{header:config.langStrings.report_gamecommentextended.error_header,info:config.langStrings.report_gamecommentextended.error_info,highlightclass:'popup_bad_highlight'});_blueButtonText=config.langStrings.report_gamecommentextended.send;_bottomLinkText=config.langStrings.report_gamecommentextended.cancel;_title=config.langStrings.report_gamecommentextended.title;break;};var successFunction=function(){SPI.popup.show(_success,function(){},{type:'alert',title:_title,titleIcon:'popup_report',closeAfterTimeout:true,close:true});};var errorFunction=function(){SPI.popup.show(_error,function(){},{type:'alert',title:config.langStrings.report_profile.title,titleIcon:'popup_report',closeAfterTimeout:true,close:true});};SPI.popup.show(_content,function(){var _reportType=$('select[name=reason]').val();var _comment=$('form.reportThis textarea[name=comment]').val();if(_comment==config.langStrings.defaultreporttext)_comment='';if(!_submitReport(_reportType,config.settings.itemtypes[_reportType],$(_obj).data(_reportType),$(_obj).data('username'),_comment,{ok:function(){return successFunction()},fail:function(){return errorFunction()}}))successFunction();},{type:'confirm',title:_title,titleIcon:'popup_report',blueButtonText:_blueButtonText,bottomLinkText:_bottomLinkText,close:true,autoClose:false,afterRiseCallback:function(popupbody){$('textarea',popupbody).keyup(function(event){if($(this).val().length>254)$(this).val($(this).val().slice(0,254));}).focus(function(){$(this).addClass('reportBlack');if($(this).val()==config.langStrings.defaultreporttext)$(this).val('');}).blur(function(){if($(this).val()==config.langStrings.defaultreporttext||$(this).val()=='')$(this).val(config.langStrings.defaultreporttext).removeClass('reportBlack');});}});};var init=function(){if(!that.initialised){SPI.getAndUpdateConfig('reports',config);that.initialised=true;}};return that;})();;;SPI.cheetach=(function($,SPI){var config={settings:{level:'channel'}};var that={initialised:false};var _pteQue=[];var _pteAdd=function(_aid,_eid,_username,_email,_fields,_callback,_externalEmail){_pteQue.push({aid:_aid,eid:_eid,username:_username,email:_email,fields:_fields,callback:_callback,externalEmail:_externalEmail});};var _ptePopAndSend=function(){if(_pteQue.length){var tmp=_pteQue.pop();var cheetachParams={cheetah_ebm:{aid:tmp.aid,eid:tmp.eid},level:config.settings.level,fields:tmp.fields};if(tmp.username!==undefined&&tmp.username!=''){cheetachParams.email='';cheetachParams.userName=tmp.username;cheetachParams.emptyEmail=true;}else{cheetachParams.email=tmp.email||'';cheetachParams.userName=false;cheetachParams.emptyEmail=false;};$.profilar.triggerEvent(cheetachParams,function(eventId,errors){_ptePopAndSend();if(typeof tmp.callback=='function')tmp.callback.call(this,eventId,errors);},tmp.externalEmail);};};that.send=function(emailtype,recipients,fields,callback,externalEmail){_init();externalEmail=externalEmail||false;if(recipients===undefined||config.settings.emailTypes[emailtype].aid===undefined)return false;if(typeof recipients=='object'){for(var i=0;i<recipients.length;i++){if(i+1==recipients.length)_pteAdd(config.settings.emailTypes[emailtype].aid,config.settings.emailTypes[emailtype].eid,recipients[i].username,recipients[i].email,fields,callback,externalEmail);else _pteAdd(config.settings.emailTypes[emailtype].aid,config.settings.emailTypes[emailtype].eid,recipients[i].username,recipients[i].email,fields,undefined,externalEmail)};}else if(typeof recipients=='string'){_pteAdd(config.settings.emailTypes[emailtype].aid,config.settings.emailTypes[emailtype].eid,recipients,undefined,fields,callback,externalEmail)};_ptePopAndSend();};that.sendBulk=function(emailtype,recipients,fields,callback,externalEmail){_init();externalEmail=externalEmail||false;if(recipients===undefined||config.settings.emailTypes[emailtype].aid===undefined)return false;_pteAdd(config.settings.emailTypes[emailtype].aid,config.settings.emailTypes[emailtype].eid,undefined,recipients,fields,callback,externalEmail);_ptePopAndSend();};var _init=function(force){if(!that.initialised||force===true){SPI.getAndUpdateConfig('cheetach',config);_pteQue=[];that.initialised=true;};};return that;})(jQuery,SPI);
