/* Copyright (c) 2007-2011 SPIL GAMES.  DO NOT COPY THIS CODE. */
;function domain_pool(){this.pimg_pool_array=[];this.cimg_pool_array=[];this.thumbnails_pool_array=[];}
domain_pool.setPimgDomainArray=function(pool_array){this.pimg_pool_array=pool_array;};domain_pool.setCimgDomainArray=function(pool_array){this.cimg_pool_array=pool_array;};domain_pool.setThumbnailDomainArray=function(pool_array){this.thumbnails_pool_array=pool_array;};domain_pool.crc32=function(str){function Utf8Encode(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;};str=Utf8Encode(str);var table="00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D";if(typeof(crc)=="undefined"){crc=0;}
var x=0;var y=0;crc=crc^(-1);for(var i=0,iTop=str.length;i<iTop;i++){y=(crc^str.charCodeAt(i))&0xFF;x="0x"+table.substr(y*9,8);crc=(crc>>>8)^x;}
return crc^(-1);};domain_pool.parseUri=function(str){var o=this.parseUri.options,m=o.parser[o.strictMode?"strict":"loose"].exec(str),uri={},i=14;while(i--)uri[o.key[i]]=m[i]||"";uri[o.q.name]={};uri[o.key[12]].replace(o.q.parser,function($0,$1,$2){if($1)uri[o.q.name][$1]=$2;});return uri;};domain_pool.parseUri.options={strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};domain_pool.format_url=function(url){var new_url=this.parseUri(url);var tmp_url="";if(url==new_url.authority){new_url.authority="";new_url.file=url;}
if(new_url.authority.charAt(0)=='.'||new_url.authority.split(".").length==1){new_url.directory=new_url.authority+new_url.directory;new_url.authority="";}
if(new_url.authority==""&&new_url.directory.charAt(0)!='/'){var current_url=this.parseUri(window.location.href);tmp_url=current_url.directory;if(tmp_url.charAt(tmp_url.lenght-1)!='/')
tmp_url+="/";}
tmp_url+=new_url.directory+new_url.file;var tmp_url_parts=tmp_url.split("/");var final_url="";for(var i=0;i<tmp_url_parts.length;i++){if(tmp_url_parts[i]=="."||tmp_url_parts[i]==".."||tmp_url_parts[i]=="")
continue;if(tmp_url_parts[i+1]!="..")
final_url+="/"+tmp_url_parts[i];}
return final_url;};domain_pool.getURL=function(url,pool_type){if(typeof(pool_type)=="undefined")
pool_type="pimg";url_formated=this.format_url(url);var crc=this.crc32(url_formated);switch(pool_type){case"pimg":var pool=this.pimg_pool_array;break;case"cimg":var pool=this.cimg_pool_array;break;case"thumbnail":var pool=this.thumbnails_pool_array;}
if(typeof(pool)=="undefined")
return url;var index=Math.abs(crc%pool.length);return(pool[index].substring(pool[index].length-1)=="/")?pool[index]+url_formated.substring(1):pool[index]+url_formated;};if(typeof(cimg_domain_pool_array)!="undefined"){domain_pool.setCimgDomainArray(cimg_domain_pool_array);}
if(typeof(pimg_domain_pool_array)!="undefined"){domain_pool.setPimgDomainArray(pimg_domain_pool_array);}
if(typeof(thumbnail_domain_pool_array)!="undefined"){domain_pool.setThumbnailDomainArray(thumbnail_domain_pool_array);};(function(window,undefined){var document=window.document;var jQuery=(function(){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context);},_jQuery=window.jQuery,_$=window.$,rootjQuery,quickExpr=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,isSimple=/^.[^:#\[\.,]*$/,rnotwhite=/\S/,rwhite=/\s/,trimLeft=/^\s+/,trimRight=/\s+$/,rnonword=/\W/,rdigit=/\d/,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,rvalidchars=/^[\],:{}\s]*$/,rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rwebkit=/(webkit)[ \/]([\w.]+)/,ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,rmsie=/(msie) ([\w.]+)/,rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,userAgent=navigator.userAgent,browserMatch,readyBound=false,readyList=[],DOMContentLoaded,toString=Object.prototype.toString,hasOwn=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,trim=String.prototype.trim,indexOf=Array.prototype.indexOf,class2type={};jQuery.fn=jQuery.prototype={init:function(selector,context){var match,elem,ret,doc;if(!selector){return this;}
if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this;}
if(selector==="body"&&!context&&document.body){this.context=document;this[0]=document.body;this.selector="body";this.length=1;return this;}
if(typeof selector==="string"){match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1]){doc=(context?context.ownerDocument||context:document);ret=rsingleTag.exec(selector);if(ret){if(jQuery.isPlainObject(context)){selector=[document.createElement(ret[1])];jQuery.fn.attr.call(selector,context,true);}else{selector=[doc.createElement(ret[1])];}}else{ret=jQuery.buildFragment([match[1]],[doc]);selector=(ret.cacheable?ret.fragment.cloneNode(true):ret.fragment).childNodes;}
return jQuery.merge(this,selector);}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){if(elem.id!==match[2]){return rootjQuery.find(selector);}
this.length=1;this[0]=elem;}
this.context=document;this.selector=selector;return this;}}else if(!context&&!rnonword.test(selector)){this.selector=selector;this.context=document;selector=document.getElementsByTagName(selector);return jQuery.merge(this,selector);}else if(!context||context.jquery){return(context||rootjQuery).find(selector);}else{return jQuery(context).find(selector);}}else if(jQuery.isFunction(selector)){return rootjQuery.ready(selector);}
if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context;}
return jQuery.makeArray(selector,this);},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length;},toArray:function(){return slice.call(this,0);},get:function(num){return num==null?this.toArray():(num<0?this.slice(num)[0]:this[num]);},pushStack:function(elems,name,selector){var ret=jQuery();if(jQuery.isArray(elems)){push.apply(ret,elems);}else{jQuery.merge(ret,elems);}
ret.prevObject=this;ret.context=this.context;if(name==="find"){ret.selector=this.selector+(this.selector?" ":"")+selector;}else if(name){ret.selector=this.selector+"."+name+"("+selector+")";}
return ret;},each:function(callback,args){return jQuery.each(this,callback,args);},ready:function(fn){jQuery.bindReady();if(jQuery.isReady){fn.call(document,jQuery);}else if(readyList){readyList.push(fn);}
return this;},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1);},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},slice:function(){return this.pushStack(slice.apply(this,arguments),"slice",slice.call(arguments).join(","));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},end:function(){return this.prevObject||jQuery(null);},push:push,sort:[].sort,splice:[].splice};jQuery.fn.init.prototype=jQuery.fn;jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};}
if(length===i){target=this;--i;}
for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue;}
if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[];}else{clone=src&&jQuery.isPlainObject(src)?src:{};}
target[name]=jQuery.extend(deep,clone,copy);}else if(copy!==undefined){target[name]=copy;}}}}
return target;};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep){window.jQuery=_jQuery;}
return jQuery;},isReady:false,readyWait:1,ready:function(wait){if(wait===true){jQuery.readyWait--;}
if(!jQuery.readyWait||(wait!==true&&!jQuery.isReady)){if(!document.body){return setTimeout(jQuery.ready,1);}
jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return;}
if(readyList){var fn,i=0,ready=readyList;readyList=null;while((fn=ready[i++])){fn.call(document,jQuery);}
if(jQuery.fn.trigger){jQuery(document).trigger("ready").unbind("ready");}}}},bindReady:function(){if(readyBound){return;}
readyBound=true;if(document.readyState==="complete"){return setTimeout(jQuery.ready,1);}
if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",jQuery.ready,false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",jQuery.ready);var toplevel=false;try{toplevel=window.frameElement==null;}catch(e){}
if(document.documentElement.doScroll&&toplevel){doScrollCheck();}}},isFunction:function(obj){return jQuery.type(obj)==="function";},isArray:Array.isArray||function(obj){return jQuery.type(obj)==="array";},isWindow:function(obj){return obj&&typeof obj==="object"&&"setInterval"in obj;},isNaN:function(obj){return obj==null||!rdigit.test(obj)||isNaN(obj);},type:function(obj){return obj==null?String(obj):class2type[toString.call(obj)]||"object";},isPlainObject:function(obj){if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false;}
if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false;}
var key;for(key in obj){}
return key===undefined||hasOwn.call(obj,key);},isEmptyObject:function(obj){for(var name in obj){return false;}
return true;},error:function(msg){throw msg;},parseJSON:function(data){if(typeof data!=="string"||!data){return null;}
data=jQuery.trim(data);if(rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,""))){return window.JSON&&window.JSON.parse?window.JSON.parse(data):(new Function("return "+data))();}else{jQuery.error("Invalid JSON: "+data);}},noop:function(){},globalEval:function(data){if(data&&rnotwhite.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval){script.appendChild(document.createTextNode(data));}else{script.text=data;}
head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()===name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length,isObj=length===undefined||jQuery.isFunction(object);if(args){if(isObj){for(name in object){if(callback.apply(object[name],args)===false){break;}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break;}}}}else{if(isObj){for(name in object){if(callback.call(object[name],name,object[name])===false){break;}}}else{for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}}
return object;},trim:trim?function(text){return text==null?"":trim.call(text);}:function(text){return text==null?"":text.toString().replace(trimLeft,"").replace(trimRight,"");},makeArray:function(array,results){var ret=results||[];if(array!=null){var type=jQuery.type(array);if(array.length==null||type==="string"||type==="function"||type==="regexp"||jQuery.isWindow(array)){push.call(ret,array);}else{jQuery.merge(ret,array);}}
return ret;},inArray:function(elem,array){if(array.indexOf){return array.indexOf(elem);}
for(var i=0,length=array.length;i<length;i++){if(array[i]===elem){return i;}}
return-1;},merge:function(first,second){var i=first.length,j=0;if(typeof second.length==="number"){for(var l=second.length;j<l;j++){first[i++]=second[j];}}else{while(second[j]!==undefined){first[i++]=second[j++];}}
first.length=i;return first;},grep:function(elems,callback,inv){var ret=[],retVal;inv=!!inv;for(var i=0,length=elems.length;i<length;i++){retVal=!!callback(elems[i],i);if(inv!==retVal){ret.push(elems[i]);}}
return ret;},map:function(elems,callback,arg){var ret=[],value;for(var i=0,length=elems.length;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret[ret.length]=value;}}
return ret.concat.apply([],ret);},guid:1,proxy:function(fn,proxy,thisObject){if(arguments.length===2){if(typeof proxy==="string"){thisObject=fn;fn=thisObject[proxy];proxy=undefined;}else if(proxy&&!jQuery.isFunction(proxy)){thisObject=proxy;proxy=undefined;}}
if(!proxy&&fn){proxy=function(){return fn.apply(thisObject||this,arguments);};}
if(fn){proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++;}
return proxy;},access:function(elems,key,value,exec,fn,pass){var length=elems.length;if(typeof key==="object"){for(var k in key){jQuery.access(elems,k,key[k],exec,fn,value);}
return elems;}
if(value!==undefined){exec=!pass&&exec&&jQuery.isFunction(value);for(var i=0;i<length;i++){fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass);}
return elems;}
return length?fn(elems[0],key):undefined;},now:function(){return(new Date()).getTime();},uaMatch:function(ua){ua=ua.toLowerCase();var match=rwebkit.exec(ua)||ropera.exec(ua)||rmsie.exec(ua)||ua.indexOf("compatible")<0&&rmozilla.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"};},browser:{}});jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase();});browserMatch=jQuery.uaMatch(userAgent);if(browserMatch.browser){jQuery.browser[browserMatch.browser]=true;jQuery.browser.version=browserMatch.version;}
if(jQuery.browser.webkit){jQuery.browser.safari=true;}
if(indexOf){jQuery.inArray=function(elem,array){return indexOf.call(array,elem);};}
if(!rwhite.test("\xA0")){trimLeft=/^[\s\xA0]+/;trimRight=/[\s\xA0]+$/;}
rootjQuery=jQuery(document);if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);jQuery.ready();};}else if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);jQuery.ready();}};}
function doScrollCheck(){if(jQuery.isReady){return;}
try{document.documentElement.doScroll("left");}catch(e){setTimeout(doScrollCheck,1);return;}
jQuery.ready();}
return(window.jQuery=window.$=jQuery);})();(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+jQuery.now();div.style.display="none";div.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0],select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));if(!all||!all.length||!a){return;}
jQuery.support={leadingWhitespace:div.firstChild.nodeType===3,tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:/^0.55$/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:div.getElementsByTagName("input")[0].value==="on",optSelected:opt.selected,deleteExpando:true,optDisabled:false,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};select.disabled=true;jQuery.support.optDisabled=!opt.disabled;script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
try{delete script.test;}catch(e){jQuery.support.deleteExpando=false;}
root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function click(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",click);});div.cloneNode(true).fireEvent("onclick");}
div=document.createElement("div");div.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var fragment=document.createDocumentFragment();fragment.appendChild(div.firstChild);jQuery.support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked;jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;if("zoom"in div.style){div.style.display="inline";div.style.zoom=1;jQuery.support.inlineBlockNeedsLayout=div.offsetWidth===2;div.style.display="";div.innerHTML="<div style='width:4px;'></div>";jQuery.support.shrinkWrapBlocks=div.offsetWidth!==2;}
div.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var tds=div.getElementsByTagName("td");jQuery.support.reliableHiddenOffsets=tds[0].offsetHeight===0;tds[0].style.display="";tds[1].style.display="none";jQuery.support.reliableHiddenOffsets=jQuery.support.reliableHiddenOffsets&&tds[0].offsetHeight===0;div.innerHTML="";document.body.removeChild(div).style.display="none";div=tds=null;});var eventSupported=function(eventName){var el=document.createElement("div");eventName="on"+eventName;var isSupported=(eventName in el);if(!isSupported){el.setAttribute(eventName,"return;");isSupported=typeof el[eventName]==="function";}
el=null;return isSupported;};jQuery.support.submitBubbles=eventSupported("submit");jQuery.support.changeBubbles=eventSupported("change");root=script=div=all=a=null;})();var windowData={},rbrace=/^(?:\{.*\}|\[.*\])$/;jQuery.extend({cache:{},uuid:0,expando:"jQuery"+jQuery.now(),noData:{"embed":true,"object":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000","applet":true},data:function(elem,name,data){if(!jQuery.acceptData(elem)){return;}
elem=elem==window?windowData:elem;var isNode=elem.nodeType,id=isNode?elem[jQuery.expando]:null,cache=jQuery.cache,thisCache;if(isNode&&!id&&typeof name==="string"&&data===undefined){return;}
if(!isNode){cache=elem;}else if(!id){elem[jQuery.expando]=id=++jQuery.uuid;}
if(typeof name==="object"){if(isNode){cache[id]=jQuery.extend(cache[id],name);}else{jQuery.extend(cache,name);}}else if(isNode&&!cache[id]){cache[id]={};}
thisCache=isNode?cache[id]:cache;if(data!==undefined){thisCache[name]=data;}
return typeof name==="string"?thisCache[name]:thisCache;},removeData:function(elem,name){if(!jQuery.acceptData(elem)){return;}
elem=elem==window?windowData:elem;var isNode=elem.nodeType,id=isNode?elem[jQuery.expando]:elem,cache=jQuery.cache,thisCache=isNode?cache[id]:id;if(name){if(thisCache){delete thisCache[name];if(isNode&&jQuery.isEmptyObject(thisCache)){jQuery.removeData(elem);}}}else{if(isNode&&jQuery.support.deleteExpando){delete elem[jQuery.expando];}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando);}else if(isNode){delete cache[id];}else{for(var n in elem){delete elem[n];}}}},acceptData:function(elem){if(elem.nodeName){var match=jQuery.noData[elem.nodeName.toLowerCase()];if(match){return!(match===true||elem.getAttribute("classid")!==match);}}
return true;}});jQuery.fn.extend({data:function(key,value){var data=null;if(typeof key==="undefined"){if(this.length){var attr=this[0].attributes,name;data=jQuery.data(this[0]);for(var i=0,l=attr.length;i<l;i++){name=attr[i].name;if(name.indexOf("data-")===0){name=name.substr(5);dataAttr(this[0],name,data[name]);}}}
return data;}else if(typeof key==="object"){return this.each(function(){jQuery.data(this,key);});}
var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length){data=jQuery.data(this[0],key);data=dataAttr(this[0],key,data);}
return data===undefined&&parts[1]?this.data(parts[0]):data;}else{return this.each(function(){var $this=jQuery(this),args=[parts[0],value];$this.triggerHandler("setData"+parts[1]+"!",args);jQuery.data(this,key,value);$this.triggerHandler("changeData"+parts[1]+"!",args);});}},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});}});function dataAttr(elem,key,data){if(data===undefined&&elem.nodeType===1){data=elem.getAttribute("data-"+key);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:!jQuery.isNaN(data)?parseFloat(data):rbrace.test(data)?jQuery.parseJSON(data):data;}catch(e){}
jQuery.data(elem,key,data);}else{data=undefined;}}
return data;}
jQuery.extend({queue:function(elem,type,data){if(!elem){return;}
type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!data){return q||[];}
if(!q||jQuery.isArray(data)){q=jQuery.data(elem,type,jQuery.makeArray(data));}else{q.push(data);}
return q;},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift();if(fn==="inprogress"){fn=queue.shift();}
if(fn){if(type==="fx"){queue.unshift("inprogress");}
fn.call(elem,function(){jQuery.dequeue(elem,type);});}}});jQuery.fn.extend({queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
if(data===undefined){return jQuery.queue(this[0],type);}
return this.each(function(i){var queue=jQuery.queue(this,type,data);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});},delay:function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(){var elem=this;setTimeout(function(){jQuery.dequeue(elem,type);},time);});},clearQueue:function(type){return this.queue(type||"fx",[]);}});var rclass=/[\n\t]/g,rspaces=/\s+/,rreturn=/\r/g,rspecialurl=/^(?:href|src|style)$/,rtype=/^(?:button|input)$/i,rfocusable=/^(?:button|input|object|select|textarea)$/i,rclickable=/^a(?:rea)?$/i,rradiocheck=/^(?:radio|checkbox)$/i;jQuery.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};jQuery.fn.extend({attr:function(name,value){return jQuery.access(this,name,value,true,jQuery.attr);},removeAttr:function(name,fn){return this.each(function(){jQuery.attr(this,name,"");if(this.nodeType===1){this.removeAttribute(name);}});},addClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.addClass(value.call(this,i,self.attr("class")));});}
if(value&&typeof value==="string"){var classNames=(value||"").split(rspaces);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1){if(!elem.className){elem.className=value;}else{var className=" "+elem.className+" ",setClass=elem.className;for(var c=0,cl=classNames.length;c<cl;c++){if(className.indexOf(" "+classNames[c]+" ")<0){setClass+=" "+classNames[c];}}
elem.className=jQuery.trim(setClass);}}}}
return this;},removeClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.removeClass(value.call(this,i,self.attr("class")));});}
if((value&&typeof value==="string")||value===undefined){var classNames=(value||"").split(rspaces);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1&&elem.className){if(value){var className=(" "+elem.className+" ").replace(rclass," ");for(var c=0,cl=classNames.length;c<cl;c++){className=className.replace(" "+classNames[c]+" "," ");}
elem.className=jQuery.trim(className);}else{elem.className="";}}}}
return this;},toggleClass:function(value,stateVal){var type=typeof value,isBool=typeof stateVal==="boolean";if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.toggleClass(value.call(this,i,self.attr("class"),stateVal),stateVal);});}
return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),state=stateVal,classNames=value.split(rspaces);while((className=classNames[i++])){state=isBool?state:!self.hasClass(className);self[state?"addClass":"removeClass"](className);}}else if(type==="undefined"||type==="boolean"){if(this.className){jQuery.data(this,"__className__",this.className);}
this.className=this.className||value===false?"":jQuery.data(this,"__className__")||"";}});},hasClass:function(selector){var className=" "+selector+" ";for(var i=0,l=this.length;i<l;i++){if((" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){return true;}}
return false;},val:function(value){if(!arguments.length){var elem=this[0];if(elem){if(jQuery.nodeName(elem,"option")){var val=elem.attributes.value;return!val||val.specified?elem.value:elem.text;}
if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type==="select-one";if(index<0){return null;}
for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected&&(jQuery.support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value;}
values.push(value);}}
return values;}
if(rradiocheck.test(elem.type)&&!jQuery.support.checkOn){return elem.getAttribute("value")===null?"on":elem.value;}
return(elem.value||"").replace(rreturn,"");}
return undefined;}
var isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val=value;if(this.nodeType!==1){return;}
if(isFunction){val=value.call(this,i,self.val());}
if(val==null){val="";}else if(typeof val==="number"){val+="";}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+"";});}
if(jQuery.isArray(val)&&rradiocheck.test(this.type)){this.checked=jQuery.inArray(self.val(),val)>=0;}else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(val);jQuery("option",this).each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0;});if(!values.length){this.selectedIndex=-1;}}else{this.value=val;}});}});jQuery.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(elem,name,value,pass){if(!elem||elem.nodeType===3||elem.nodeType===8){return undefined;}
if(pass&&name in jQuery.attrFn){return jQuery(elem)[name](value);}
var notxml=elem.nodeType!==1||!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;var special=rspecialurl.test(name);if(name==="selected"&&!jQuery.support.optSelected){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex;}}}
if((name in elem||elem[name]!==undefined)&&notxml&&!special){if(set){if(name==="type"&&rtype.test(elem.nodeName)&&elem.parentNode){jQuery.error("type property can't be changed");}
if(value===null){if(elem.nodeType===1){elem.removeAttribute(name);}}else{elem[name]=value;}}
if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name)){return elem.getAttributeNode(name).nodeValue;}
if(name==="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined;}
return elem[name];}
if(!jQuery.support.style&&notxml&&name==="style"){if(set){elem.style.cssText=""+value;}
return elem.style.cssText;}
if(set){elem.setAttribute(name,""+value);}
if(!elem.attributes[name]&&(elem.hasAttribute&&!elem.hasAttribute(name))){return undefined;}
var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}});var rnamespaces=/\.(.*)$/,rformElems=/^(?:textarea|input|select)$/i,rperiod=/\./g,rspace=/ /g,rescape=/[^\w\s.|`]/g,fcleanup=function(nm){return nm.replace(rescape,"\\$&");},focusCounts={focusin:0,focusout:0};jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType===3||elem.nodeType===8){return;}
if(jQuery.isWindow(elem)&&(elem!==window&&!elem.frameElement)){elem=window;}
if(handler===false){handler=returnFalse;}else if(!handler){return;}
var handleObjIn,handleObj;if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;}
if(!handler.guid){handler.guid=jQuery.guid++;}
var elemData=jQuery.data(elem);if(!elemData){return;}
var eventKey=elem.nodeType?"events":"__events__",events=elemData[eventKey],eventHandle=elemData.handle;if(typeof events==="function"){eventHandle=events.handle;events=events.events;}else if(!events){if(!elem.nodeType){elemData[eventKey]=elemData=function(){};}
elemData.events=events={};}
if(!eventHandle){elemData.handle=eventHandle=function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(eventHandle.elem,arguments):undefined;};}
eventHandle.elem=elem;types=types.split(" ");var type,i=0,namespaces;while((type=types[i++])){handleObj=handleObjIn?jQuery.extend({},handleObjIn):{handler:handler,data:data};if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();handleObj.namespace=namespaces.slice(0).sort().join(".");}else{namespaces=[];handleObj.namespace="";}
handleObj.type=type;if(!handleObj.guid){handleObj.guid=handler.guid;}
var handlers=events[type],special=jQuery.event.special[type]||{};if(!handlers){handlers=events[type]=[];if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false);}else if(elem.attachEvent){elem.attachEvent("on"+type,eventHandle);}}}
if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid;}}
handlers.push(handleObj);jQuery.event.global[type]=true;}
elem=null;},global:{},remove:function(elem,types,handler,pos){if(elem.nodeType===3||elem.nodeType===8){return;}
if(handler===false){handler=returnFalse;}
var ret,type,fn,j,i=0,all,namespaces,namespace,special,eventType,handleObj,origType,eventKey=elem.nodeType?"events":"__events__",elemData=jQuery.data(elem),events=elemData&&elemData[eventKey];if(!elemData||!events){return;}
if(typeof events==="function"){elemData=events;events=events.events;}
if(types&&types.type){handler=types.handler;types=types.type;}
if(!types||typeof types==="string"&&types.charAt(0)==="."){types=types||"";for(type in events){jQuery.event.remove(elem,type+types);}
return;}
types=types.split(" ");while((type=types[i++])){origType=type;handleObj=null;all=type.indexOf(".")<0;namespaces=[];if(!all){namespaces=type.split(".");type=namespaces.shift();namespace=new RegExp("(^|\\.)"+
jQuery.map(namespaces.slice(0).sort(),fcleanup).join("\\.(?:.*\\.)?")+"(\\.|$)");}
eventType=events[type];if(!eventType){continue;}
if(!handler){for(j=0;j<eventType.length;j++){handleObj=eventType[j];if(all||namespace.test(handleObj.namespace)){jQuery.event.remove(elem,origType,handleObj.handler,j);eventType.splice(j--,1);}}
continue;}
special=jQuery.event.special[type]||{};for(j=pos||0;j<eventType.length;j++){handleObj=eventType[j];if(handler.guid===handleObj.guid){if(all||namespace.test(handleObj.namespace)){if(pos==null){eventType.splice(j--,1);}
if(special.remove){special.remove.call(elem,handleObj);}}
if(pos!=null){break;}}}
if(eventType.length===0||pos!=null&&eventType.length===1){if(!special.teardown||special.teardown.call(elem,namespaces)===false){jQuery.removeEvent(elem,type,elemData.handle);}
ret=null;delete events[type];}}
if(jQuery.isEmptyObject(events)){var handle=elemData.handle;if(handle){handle.elem=null;}
delete elemData.events;delete elemData.handle;if(typeof elemData==="function"){jQuery.removeData(elem,eventKey);}else if(jQuery.isEmptyObject(elemData)){jQuery.removeData(elem);}}},trigger:function(event,data,elem){var type=event.type||event,bubbling=arguments[3];if(!bubbling){event=typeof event==="object"?event[jQuery.expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
if(!elem){event.stopPropagation();if(jQuery.event.global[type]){jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type]){jQuery.event.trigger(event,data,this.handle.elem);}});}}
if(!elem||elem.nodeType===3||elem.nodeType===8){return undefined;}
event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
event.currentTarget=elem;var handle=elem.nodeType?jQuery.data(elem,"handle"):(jQuery.data(elem,"__events__")||{}).handle;if(handle){handle.apply(elem,data);}
var parent=elem.parentNode||elem.ownerDocument;try{if(!(elem&&elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()])){if(elem["on"+type]&&elem["on"+type].apply(elem,data)===false){event.result=false;event.preventDefault();}}}catch(inlineError){}
if(!event.isPropagationStopped()&&parent){jQuery.event.trigger(event,data,parent,true);}else if(!event.isDefaultPrevented()){var old,target=event.target,targetType=type.replace(rnamespaces,""),isClick=jQuery.nodeName(target,"a")&&targetType==="click",special=jQuery.event.special[targetType]||{};if((!special._default||special._default.call(elem,event)===false)&&!isClick&&!(target&&target.nodeName&&jQuery.noData[target.nodeName.toLowerCase()])){try{if(target[targetType]){old=target["on"+targetType];if(old){target["on"+targetType]=null;}
jQuery.event.triggered=true;target[targetType]();}}catch(triggerError){}
if(old){target["on"+targetType]=old;}
jQuery.event.triggered=false;}}},handle:function(event){var all,handlers,namespaces,namespace_re,events,namespace_sort=[],args=jQuery.makeArray(arguments);event=args[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;all=event.type.indexOf(".")<0&&!event.exclusive;if(!all){namespaces=event.type.split(".");event.type=namespaces.shift();namespace_sort=namespaces.slice(0).sort();namespace_re=new RegExp("(^|\\.)"+namespace_sort.join("\\.(?:.*\\.)?")+"(\\.|$)");}
event.namespace=event.namespace||namespace_sort.join(".");events=jQuery.data(this,this.nodeType?"events":"__events__");if(typeof events==="function"){events=events.events;}
handlers=(events||{})[event.type];if(events&&handlers){handlers=handlers.slice(0);for(var j=0,l=handlers.length;j<l;j++){var handleObj=handlers[j];if(all||namespace_re.test(handleObj.namespace)){event.handler=handleObj.handler;event.data=handleObj.data;event.handleObj=handleObj;var ret=handleObj.handler.apply(this,args);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
if(event.isImmediatePropagationStopped()){break;}}}}
return event.result;},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[jQuery.expando]){return event;}
var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
if(!event.target){event.target=event.srcElement||document;}
if(event.target.nodeType===3){event.target=event.target.parentNode;}
if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement;}
if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0);}
if(event.which==null&&(event.charCode!=null||event.keyCode!=null)){event.which=event.charCode!=null?event.charCode:event.keyCode;}
if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey;}
if(!event.which&&event.button!==undefined){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));}
return event;},guid:1E8,proxy:jQuery.proxy,special:{ready:{setup:jQuery.bindReady,teardown:jQuery.noop},live:{add:function(handleObj){jQuery.event.add(this,liveConvert(handleObj.origType,handleObj.selector),jQuery.extend({},handleObj,{handler:liveHandler,guid:handleObj.handler.guid}));},remove:function(handleObj){jQuery.event.remove(this,liveConvert(handleObj.origType,handleObj.selector),handleObj);}},beforeunload:{setup:function(data,namespaces,eventHandle){if(jQuery.isWindow(this)){this.onbeforeunload=eventHandle;}},teardown:function(namespaces,eventHandle){if(this.onbeforeunload===eventHandle){this.onbeforeunload=null;}}}}};jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false);}}:function(elem,type,handle){if(elem.detachEvent){elem.detachEvent("on"+type,handle);}};jQuery.Event=function(src){if(!this.preventDefault){return new jQuery.Event(src);}
if(src&&src.type){this.originalEvent=src;this.type=src.type;}else{this.type=src;}
this.timeStamp=jQuery.now();this[jQuery.expando]=true;};function returnFalse(){return false;}
function returnTrue(){return true;}
jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return;}
if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return;}
if(e.stopPropagation){e.stopPropagation();}
e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;try{while(parent&&parent!==this){parent=parent.parentNode;}
if(parent!==this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}}catch(e){}},delegate=function(event){event.type=event.data;jQuery.event.handle.apply(this,arguments);};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={setup:function(data){jQuery.event.add(this,fix,data&&data.selector?delegate:withinElement,orig);},teardown:function(data){jQuery.event.remove(this,fix,data&&data.selector?delegate:withinElement);}};});if(!jQuery.support.submitBubbles){jQuery.event.special.submit={setup:function(data,namespaces){if(this.nodeName.toLowerCase()!=="form"){jQuery.event.add(this,"click.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="submit"||type==="image")&&jQuery(elem).closest("form").length){e.liveFired=undefined;return trigger("submit",this,arguments);}});jQuery.event.add(this,"keypress.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="text"||type==="password")&&jQuery(elem).closest("form").length&&e.keyCode===13){e.liveFired=undefined;return trigger("submit",this,arguments);}});}else{return false;}},teardown:function(namespaces){jQuery.event.remove(this,".specialSubmit");}};}
if(!jQuery.support.changeBubbles){var changeFilters,getVal=function(elem){var type=elem.type,val=elem.value;if(type==="radio"||type==="checkbox"){val=elem.checked;}else if(type==="select-multiple"){val=elem.selectedIndex>-1?jQuery.map(elem.options,function(elem){return elem.selected;}).join("-"):"";}else if(elem.nodeName.toLowerCase()==="select"){val=elem.selectedIndex;}
return val;},testChange=function testChange(e){var elem=e.target,data,val;if(!rformElems.test(elem.nodeName)||elem.readOnly){return;}
data=jQuery.data(elem,"_change_data");val=getVal(elem);if(e.type!=="focusout"||elem.type!=="radio"){jQuery.data(elem,"_change_data",val);}
if(data===undefined||val===data){return;}
if(data!=null||val){e.type="change";e.liveFired=undefined;return jQuery.event.trigger(e,arguments[1],elem);}};jQuery.event.special.change={filters:{focusout:testChange,beforedeactivate:testChange,click:function(e){var elem=e.target,type=elem.type;if(type==="radio"||type==="checkbox"||elem.nodeName.toLowerCase()==="select"){return testChange.call(this,e);}},keydown:function(e){var elem=e.target,type=elem.type;if((e.keyCode===13&&elem.nodeName.toLowerCase()!=="textarea")||(e.keyCode===32&&(type==="checkbox"||type==="radio"))||type==="select-multiple"){return testChange.call(this,e);}},beforeactivate:function(e){var elem=e.target;jQuery.data(elem,"_change_data",getVal(elem));}},setup:function(data,namespaces){if(this.type==="file"){return false;}
for(var type in changeFilters){jQuery.event.add(this,type+".specialChange",changeFilters[type]);}
return rformElems.test(this.nodeName);},teardown:function(namespaces){jQuery.event.remove(this,".specialChange");return rformElems.test(this.nodeName);}};changeFilters=jQuery.event.special.change.filters;changeFilters.focus=changeFilters.beforeactivate;}
function trigger(type,elem,args){args[0].type=type;return jQuery.event.handle.apply(elem,args);}
if(document.addEventListener){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){jQuery.event.special[fix]={setup:function(){if(focusCounts[fix]++===0){document.addEventListener(orig,handler,true);}},teardown:function(){if(--focusCounts[fix]===0){document.removeEventListener(orig,handler,true);}}};function handler(e){e=jQuery.event.fix(e);e.type=fix;return jQuery.event.trigger(e,null,e.target);}});}
jQuery.each(["bind","one"],function(i,name){jQuery.fn[name]=function(type,data,fn){if(typeof type==="object"){for(var key in type){this[name](key,data,type[key],fn);}
return this;}
if(jQuery.isFunction(data)||data===false){fn=data;data=undefined;}
var handler=name==="one"?jQuery.proxy(fn,function(event){jQuery(this).unbind(event,handler);return fn.apply(this,arguments);}):fn;if(type==="unload"&&name!=="one"){this.one(type,data,fn);}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.add(this[i],type,handler,data);}}
return this;};});jQuery.fn.extend({unbind:function(type,fn){if(typeof type==="object"&&!type.preventDefault){for(var key in type){this.unbind(key,type[key]);}}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.remove(this[i],type,fn);}}
return this;},delegate:function(selector,types,data,fn){return this.live(types,data,fn,selector);},undelegate:function(selector,types,fn){if(arguments.length===0){return this.unbind("live");}else{return this.die(types,null,fn,selector);}},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length){jQuery.proxy(fn,args[i++]);}
return this.click(jQuery.proxy(fn,function(event){var lastToggle=(jQuery.data(this,"lastToggle"+fn.guid)||0)%i;jQuery.data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);}});var liveMap={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};jQuery.each(["live","die"],function(i,name){jQuery.fn[name]=function(types,data,fn,origSelector){var type,i=0,match,namespaces,preType,selector=origSelector||this.selector,context=origSelector?this:jQuery(this.context);if(typeof types==="object"&&!types.preventDefault){for(var key in types){context[name](key,data,types[key],selector);}
return this;}
if(jQuery.isFunction(data)){fn=data;data=undefined;}
types=(types||"").split(" ");while((type=types[i++])!=null){match=rnamespaces.exec(type);namespaces="";if(match){namespaces=match[0];type=type.replace(rnamespaces,"");}
if(type==="hover"){types.push("mouseenter"+namespaces,"mouseleave"+namespaces);continue;}
preType=type;if(type==="focus"||type==="blur"){types.push(liveMap[type]+namespaces);type=type+namespaces;}else{type=(liveMap[type]||type)+namespaces;}
if(name==="live"){for(var j=0,l=context.length;j<l;j++){jQuery.event.add(context[j],"live."+liveConvert(type,selector),{data:data,selector:selector,handler:fn,origType:type,origHandler:fn,preType:preType});}}else{context.unbind("live."+liveConvert(type,selector),fn);}}
return this;};});function liveHandler(event){var stop,maxLevel,related,match,handleObj,elem,j,i,l,data,close,namespace,ret,elems=[],selectors=[],events=jQuery.data(this,this.nodeType?"events":"__events__");if(typeof events==="function"){events=events.events;}
if(event.liveFired===this||!events||!events.live||event.button&&event.type==="click"){return;}
if(event.namespace){namespace=new RegExp("(^|\\.)"+event.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");}
event.liveFired=this;var live=events.live.slice(0);for(j=0;j<live.length;j++){handleObj=live[j];if(handleObj.origType.replace(rnamespaces,"")===event.type){selectors.push(handleObj.selector);}else{live.splice(j--,1);}}
match=jQuery(event.target).closest(selectors,event.currentTarget);for(i=0,l=match.length;i<l;i++){close=match[i];for(j=0;j<live.length;j++){handleObj=live[j];if(close.selector===handleObj.selector&&(!namespace||namespace.test(handleObj.namespace))){elem=close.elem;related=null;if(handleObj.preType==="mouseenter"||handleObj.preType==="mouseleave"){event.type=handleObj.preType;related=jQuery(event.relatedTarget).closest(handleObj.selector)[0];}
if(!related||related!==elem){elems.push({elem:elem,handleObj:handleObj,level:close.level});}}}}
for(i=0,l=elems.length;i<l;i++){match=elems[i];if(maxLevel&&match.level>maxLevel){break;}
event.currentTarget=match.elem;event.data=match.handleObj.data;event.handleObj=match.handleObj;ret=match.handleObj.origHandler.apply(match.elem,arguments);if(ret===false||event.isPropagationStopped()){maxLevel=match.level;if(ret===false){stop=false;}
if(event.isImmediatePropagationStopped()){break;}}}
return stop;}
function liveConvert(type,selector){return(type&&type!=="*"?type+".":"")+selector.replace(rperiod,"`").replace(rspace,"&");}
jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){if(fn==null){fn=data;data=null;}
return arguments.length>0?this.bind(name,data,fn):this.trigger(name);};if(jQuery.attrFn){jQuery.attrFn[name]=true;}});if(window.attachEvent&&!window.addEventListener){jQuery(window).bind("unload",function(){for(var id in jQuery.cache){if(jQuery.cache[id].handle){try{jQuery.event.remove(jQuery.cache[id].handle.elem);}catch(e){}}}});}
(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true;[0,0].sort(function(){baseHasDuplicate=false;return 0;});var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;var origContext=context;if(context.nodeType!==1&&context.nodeType!==9){return[];}
if(!selector||typeof selector!=="string"){return results;}
var m,set,checkSet,extra,ret,cur,pop,i,prune=true,contextXML=Sizzle.isXML(context),parts=[],soFar=selector;do{chunker.exec("");m=chunker.exec(soFar);if(m){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break;}}}while(m);if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift();}
set=posProcess(selector,set);}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0];}
if(context){ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
while(parts.length){cur=parts.pop();pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
if(pop==null){pop=context;}
Expr.relative[cur](checkSet,pop,contextXML);}}else{checkSet=parts=[];}}
if(!checkSet){checkSet=set;}
if(!checkSet){Sizzle.error(cur||selector);}
if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context&&context.nodeType===1){for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results);}
return results;};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}
return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0;};Sizzle.find=function(expr,context,isXML){var set;if(!expr){return[];}
for(var i=0,l=Expr.order.length;i<l;i++){var match,type=Expr.order[i];if((match=Expr.leftMatch[type].exec(expr))){var left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
if(!set){set=context.getElementsByTagName("*");}
return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var match,anyFound,old=expr,result=[],curLoop=set,isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){var found,item,filter=Expr.filter[type],left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue;}
if(curLoop===result){result=[];}
if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
if(found!==undefined){if(!inplace){curLoop=result;}
expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
break;}}}
if(expr===old){if(anyFound==null){Sizzle.error(expr);}else{break;}}
old=expr;}
return curLoop;};Sizzle.error=function(msg){throw"Syntax error, unrecognized expression: "+msg;};var Expr=Sizzle.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\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase();}
for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part;}}
if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part){var elem,isPartStr=typeof part==="string",i=0,l=checkSet.length;if(isPartStr&&!/\W/.test(part)){part=part.toLowerCase();for(;i<l;i++){elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false;}}}else{for(;i<l;i++){elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!/\W/.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m&&m.parentNode?[m]:[];}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem);}}else if(inplace){curLoop[i]=false;}}}
return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){return match[1].toLowerCase();},CHILD:function(match){if(match[1]==="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
if(match[2]==="~="){match[4]=" "+match[4]+" ";}
return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return(/h\d/i).test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toLowerCase()==="button";},input:function(elem){return(/input|select|textarea|button/i).test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0===i;},eq:function(elem,i,match){return match[3]-0===i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||Sizzle.getText([elem])||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var j=0,l=not.length;j<l;j++){if(not[j]===elem){return false;}}
return true;}else{Sizzle.error("Syntax error, unrecognized expression: "+name);}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case"only":case"first":while((node=node.previousSibling)){if(node.nodeType===1){return false;}}
if(type==="first"){return true;}
node=elem;case"last":while((node=node.nextSibling)){if(node.nodeType===1){return false;}}
return true;case"nth":var first=match[2],last=match[3];if(first===1&&last===0){return true;}
var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
parent.sizcache=doneName;}
var diff=elem.nodeIndex-last;if(first===0){return diff===0;}else{return(diff%first===0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS,fescape=function(all,num){return"\\"+(num-0+1);};for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+(/(?![^\[]*\])(?![^\(]*\))/.source));Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape));}
var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results;}
return array;};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType;}catch(e){makeArray=function(array,results){var i=0,ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var l=array.length;i<l;i++){ret.push(array[i]);}}else{for(;array[i];i++){ret.push(array[i]);}}}
return ret;};}
var sortOrder,siblingCheck;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0;}
if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1;}
return a.compareDocumentPosition(b)&4?-1:1;};}else{sortOrder=function(a,b){var al,bl,ap=[],bp=[],aup=a.parentNode,bup=b.parentNode,cur=aup;if(a===b){hasDuplicate=true;return 0;}else if(aup===bup){return siblingCheck(a,b);}else if(!aup){return-1;}else if(!bup){return 1;}
while(cur){ap.unshift(cur);cur=cur.parentNode;}
cur=bup;while(cur){bp.unshift(cur);cur=cur.parentNode;}
al=ap.length;bl=bp.length;for(var i=0;i<al&&i<bl;i++){if(ap[i]!==bp[i]){return siblingCheck(ap[i],bp[i]);}}
return i===al?siblingCheck(a,bp[i],-1):siblingCheck(ap[i],b,1);};siblingCheck=function(a,b,ret){if(a===b){return ret;}
var cur=a.nextSibling;while(cur){if(cur===b){return-1;}
cur=cur.nextSibling;}
return 1;};}
Sizzle.getText=function(elems){var ret="",elem;for(var i=0;elems[i];i++){elem=elems[i];if(elem.nodeType===3||elem.nodeType===4){ret+=elem.nodeValue;}else if(elem.nodeType!==8){ret+=Sizzle.getText(elem.childNodes);}}
return ret;};(function(){var form=document.createElement("div"),id="script"+(new Date()).getTime(),root=document.documentElement;form.innerHTML="<a name='"+id+"'/>";root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
root.removeChild(form);root=form=null;})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
results=tmp;}
return results;};}
div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}
div=null;})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div"),id="__sizzle__";div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
Sizzle=function(query,context,extra,seed){context=context||document;query=query.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!seed&&!Sizzle.isXML(context)){if(context.nodeType===9){try{return makeArray(context.querySelectorAll(query),extra);}catch(qsaError){}}else if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){var old=context.getAttribute("id"),nid=old||id;if(!old){context.setAttribute("id",nid);}
try{return makeArray(context.querySelectorAll("#"+nid+" "+query),extra);}catch(pseudoError){}finally{if(!old){context.removeAttribute("id");}}}}
return oldSizzle(query,context,extra,seed);};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop];}
div=null;})();}
(function(){var html=document.documentElement,matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector,pseudoWorks=false;try{matches.call(document.documentElement,"[test!='']:sizzle");}catch(pseudoError){pseudoWorks=true;}
if(matches){Sizzle.matchesSelector=function(node,expr){expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Sizzle.isXML(node)){try{if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){return matches.call(node,expr);}}catch(e){}}
return Sizzle(expr,null,null,[node]).length>0;};}})();(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return;}
div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return;}
Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};div=null;})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(elem.nodeName.toLowerCase()===cur){match=elem;break;}
elem=elem[dir];}
checkSet[i]=match;}}}
function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
elem=elem[dir];}
checkSet[i]=match;}}}
if(document.documentElement.contains){Sizzle.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true);};}else if(document.documentElement.compareDocumentPosition){Sizzle.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16);};}else{Sizzle.contains=function(){return false;};}
Sizzle.isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};var posProcess=function(selector,context){var match,tmpSet=[],later="",root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,isSimple=/^.[^:#\[\.,]*$/,slice=Array.prototype.slice,POS=jQuery.expr.match.POS;jQuery.fn.extend({find:function(selector){var ret=this.pushStack("","find",selector),length=0;for(var i=0,l=this.length;i<l;i++){length=ret.length;jQuery.find(selector,this[i],ret);if(i>0){for(var n=length;n<ret.length;n++){for(var r=0;r<length;r++){if(ret[r]===ret[n]){ret.splice(n--,1);break;}}}}}
return ret;},has:function(target){var targets=jQuery(target);return this.filter(function(){for(var i=0,l=targets.length;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},not:function(selector){return this.pushStack(winnow(this,selector,false),"not",selector);},filter:function(selector){return this.pushStack(winnow(this,selector,true),"filter",selector);},is:function(selector){return!!selector&&jQuery.filter(selector,this).length>0;},closest:function(selectors,context){var ret=[],i,l,cur=this[0];if(jQuery.isArray(selectors)){var match,selector,matches={},level=1;if(cur&&selectors.length){for(i=0,l=selectors.length;i<l;i++){selector=selectors[i];if(!matches[selector]){matches[selector]=jQuery.expr.match.POS.test(selector)?jQuery(selector,context||this.context):selector;}}
while(cur&&cur.ownerDocument&&cur!==context){for(selector in matches){match=matches[selector];if(match.jquery?match.index(cur)>-1:jQuery(cur).is(match)){ret.push({selector:selector,elem:cur,level:level});}}
cur=cur.parentNode;level++;}}
return ret;}
var pos=POS.test(selectors)?jQuery(selectors,context||this.context):null;for(i=0,l=this.length;i<l;i++){cur=this[i];while(cur){if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){ret.push(cur);break;}else{cur=cur.parentNode;if(!cur||!cur.ownerDocument||cur===context){break;}}}}
ret=ret.length>1?jQuery.unique(ret):ret;return this.pushStack(ret,"closest",selectors);},index:function(elem){if(!elem||typeof elem==="string"){return jQuery.inArray(this[0],elem?jQuery(elem):this.parent().children());}
return jQuery.inArray(elem.jquery?elem[0]:elem,this);},add:function(selector,context){var set=typeof selector==="string"?jQuery(selector,context||this.context):jQuery.makeArray(selector),all=jQuery.merge(this.get(),set);return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?all:jQuery.unique(all));},andSelf:function(){return this.add(this.prevObject);}});function isDisconnected(node){return!node||!node.parentNode||node.parentNode.nodeType===11;}
jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function(elem){return jQuery.dir(elem,"parentNode");},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until);},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until);},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until);},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until);if(!runtil.test(name)){selector=until;}
if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret);}
ret=this.length>1?jQuery.unique(ret):ret;if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){ret=ret.reverse();}
return this.pushStack(ret,name,slice.call(arguments).join(","));};});jQuery.extend({filter:function(expr,elems,not){if(not){expr=":not("+expr+")";}
return elems.length===1?jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:jQuery.find.matches(expr,elems);},dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur);}
cur=cur[dir];}
return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType===1&&++num===result){break;}}
return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n);}}
return r;}});function winnow(elements,qualifier,keep){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){var retVal=!!qualifier.call(elem,i,elem);return retVal===keep;});}else if(qualifier.nodeType){return jQuery.grep(elements,function(elem,i){return(elem===qualifier)===keep;});}else if(typeof qualifier==="string"){var filtered=jQuery.grep(elements,function(elem){return elem.nodeType===1;});if(isSimple.test(qualifier)){return jQuery.filter(qualifier,filtered,!keep);}else{qualifier=jQuery.filter(qualifier,filtered);}}
return jQuery.grep(elements,function(elem,i){return(jQuery.inArray(elem,qualifier)>=0)===keep;});}
var rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnocache=/<(?:script|object|embed|option|style)/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,raction=/\=([^="'>\s]+\/)>/g,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;if(!jQuery.support.htmlSerialize){wrapMap._default=[1,"div<div>","</div>"];}
jQuery.fn.extend({text:function(text){if(jQuery.isFunction(text)){return this.each(function(i){var self=jQuery(this);self.text(text.call(this,i,self.text()));});}
if(typeof text!=="object"&&text!==undefined){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));}
return jQuery.text(this);},wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i));});}
if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);}
wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild;}
return elem;}).append(this);}
return this;},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i));});}
return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes);}}).end();},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.appendChild(elem);}});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.insertBefore(elem,this.firstChild);}});},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});}else if(arguments.length){var set=jQuery(arguments[0]);set.push.apply(set,this.toArray());return this.pushStack(set,"before",arguments);}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});}else if(arguments.length){var set=this.pushStack(this,"after",arguments);set.push.apply(set,jQuery(arguments[0]).toArray());return set;}},remove:function(selector,keepData){for(var i=0,elem;(elem=this[i])!=null;i++){if(!selector||jQuery.filter(selector,[elem]).length){if(!keepData&&elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));jQuery.cleanData([elem]);}
if(elem.parentNode){elem.parentNode.removeChild(elem);}}}
return this;},empty:function(){for(var i=0,elem;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));}
while(elem.firstChild){elem.removeChild(elem.firstChild);}}
return this;},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML,ownerDocument=this.ownerDocument;if(!html){var div=ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
return jQuery.clean([html.replace(rinlinejQuery,"").replace(raction,'="$1">').replace(rleadingWhitespace,"")],ownerDocument)[0];}else{return this.cloneNode(true);}});if(events===true){cloneCopyEvent(this,ret);cloneCopyEvent(this.find("*"),ret.find("*"));}
return ret;},html:function(value){if(value===undefined){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(rinlinejQuery,""):null;}else if(typeof value==="string"&&!rnocache.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(var i=0,l=this.length;i<l;i++){if(this[i].nodeType===1){jQuery.cleanData(this[i].getElementsByTagName("*"));this[i].innerHTML=value;}}}catch(e){this.empty().append(value);}}else if(jQuery.isFunction(value)){this.each(function(i){var self=jQuery(this);self.html(value.call(this,i,self.html()));});}else{this.empty().append(value);}
return this;},replaceWith:function(value){if(this[0]&&this[0].parentNode){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this),old=self.html();self.replaceWith(value.call(this,i,old));});}
if(typeof value!=="string"){value=jQuery(value).detach();}
return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove();if(next){jQuery(next).before(value);}else{jQuery(parent).append(value);}});}else{return this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value);}},detach:function(selector){return this.remove(selector,true);},domManip:function(args,table,callback){var results,first,fragment,parent,value=args[0],scripts=[];if(!jQuery.support.checkClone&&arguments.length===3&&typeof value==="string"&&rchecked.test(value)){return this.each(function(){jQuery(this).domManip(args,table,callback,true);});}
if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);args[0]=value.call(this,i,table?self.html():undefined);self.domManip(args,table,callback);});}
if(this[0]){parent=value&&value.parentNode;if(jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length){results={fragment:parent};}else{results=jQuery.buildFragment(args,this,scripts);}
fragment=results.fragment;if(fragment.childNodes.length===1){first=fragment=fragment.firstChild;}else{first=fragment.firstChild;}
if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length;i<l;i++){callback.call(table?root(this[i],first):this[i],i>0||results.cacheable||this.length>1?fragment.cloneNode(true):fragment);}}
if(scripts.length){jQuery.each(scripts,evalScript);}}
return this;}});function root(elem,cur){return jQuery.nodeName(elem,"table")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}
function cloneCopyEvent(orig,ret){var i=0;ret.each(function(){if(this.nodeName!==(orig[i]&&orig[i].nodeName)){return;}
var oldData=jQuery.data(orig[i++]),curData=jQuery.data(this,oldData),events=oldData&&oldData.events;if(events){delete curData.handle;curData.events={};for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}}});}
jQuery.buildFragment=function(args,nodes,scripts){var fragment,cacheable,cacheresults,doc=(nodes&&nodes[0]?nodes[0].ownerDocument||nodes[0]:document);if(args.length===1&&typeof args[0]==="string"&&args[0].length<512&&doc===document&&!rnocache.test(args[0])&&(jQuery.support.checkClone||!rchecked.test(args[0]))){cacheable=true;cacheresults=jQuery.fragments[args[0]];if(cacheresults){if(cacheresults!==1){fragment=cacheresults;}}}
if(!fragment){fragment=doc.createDocumentFragment();jQuery.clean(args,doc,fragment,scripts);}
if(cacheable){jQuery.fragments[args[0]]=cacheresults?fragment:1;}
return{fragment:fragment,cacheable:cacheable};};jQuery.fragments={};jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector),parent=this.length===1&&this[0].parentNode;if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){insert[original](this[0]);return this;}else{for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery(insert[i])[original](elems);ret=ret.concat(elems);}
return this.pushStack(ret,name,insert.selector);}};});jQuery.extend({clean:function(elems,context,fragment,scripts){context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;}
var ret=[];for(var i=0,elem;(elem=elems[i])!=null;i++){if(typeof elem==="number"){elem+="";}
if(!elem){continue;}
if(typeof elem==="string"&&!rhtml.test(elem)){elem=context.createTextNode(elem);}else if(typeof elem==="string"){elem=elem.replace(rxhtmlTag,"<$1></$2>");var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,depth=wrap[0],div=context.createElement("div");div.innerHTML=wrap[1]+elem+wrap[2];while(depth--){div=div.lastChild;}
if(!jQuery.support.tbody){var hasBody=rtbody.test(elem),tbody=tag==="table"&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]==="<table>"&&!hasBody?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j]);}}}
if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)){div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild);}
elem=div.childNodes;}
if(elem.nodeType){ret.push(elem);}else{ret=jQuery.merge(ret,elem);}}
if(fragment){for(i=0;ret[i];i++){if(scripts&&jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1){ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));}
fragment.appendChild(ret[i]);}}}
return ret;},cleanData:function(elems){var data,id,cache=jQuery.cache,special=jQuery.event.special,deleteExpando=jQuery.support.deleteExpando;for(var i=0,elem;(elem=elems[i])!=null;i++){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){continue;}
id=elem[jQuery.expando];if(id){data=cache[id];if(data&&data.events){for(var type in data.events){if(special[type]){jQuery.event.remove(elem,type);}else{jQuery.removeEvent(elem,type,data.handle);}}}
if(deleteExpando){delete elem[jQuery.expando];}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando);}
delete cache[id];}}}});function evalScript(i,elem){if(elem.src){jQuery.ajax({url:elem.src,async:false,dataType:"script"});}else{jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");}
if(elem.parentNode){elem.parentNode.removeChild(elem);}}
var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity=([^)]*)/,rdashAlpha=/-([a-z])/ig,rupper=/([A-Z])/g,rnumpx=/^-?\d+(?:px)?$/i,rnum=/^-?\d/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssWidth=["Left","Right"],cssHeight=["Top","Bottom"],curCSS,getComputedStyle,currentStyle,fcamelCase=function(all,letter){return letter.toUpperCase();};jQuery.fn.css=function(name,value){if(arguments.length===2&&value===undefined){return this;}
return jQuery.access(this,name,value,true,function(elem,name,value){return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name);});};jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity","opacity");return ret===""?"1":ret;}else{return elem.style.opacity;}}}},cssNumber:{"zIndex":true,"fontWeight":true,"opacity":true,"zoom":true,"lineHeight":true},cssProps:{"float":jQuery.support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return;}
var ret,origName=jQuery.camelCase(name),style=elem.style,hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(value!==undefined){if(typeof value==="number"&&isNaN(value)||value==null){return;}
if(typeof value==="number"&&!jQuery.cssNumber[origName]){value+="px";}
if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value))!==undefined){try{style[name]=value;}catch(e){}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret;}
return style[name];}},css:function(elem,name,extra){var ret,origName=jQuery.camelCase(name),hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(hooks&&"get"in hooks&&(ret=hooks.get(elem,true,extra))!==undefined){return ret;}else if(curCSS){return curCSS(elem,name,origName);}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
callback.call(elem);for(name in options){elem.style[name]=old[name];}},camelCase:function(string){return string.replace(rdashAlpha,fcamelCase);}});jQuery.curCSS=jQuery.css;jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){var val;if(computed){if(elem.offsetWidth!==0){val=getWH(elem,name,extra);}else{jQuery.swap(elem,cssShow,function(){val=getWH(elem,name,extra);});}
if(val<=0){val=curCSS(elem,name,name);if(val==="0px"&&currentStyle){val=currentStyle(elem,name,name);}
if(val!=null){return val===""||val==="auto"?"0px":val;}}
if(val<0||val==null){val=elem.style[name];return val===""||val==="auto"?"0px":val;}
return typeof val==="string"?val:val+"px";}},set:function(elem,value){if(rnumpx.test(value)){value=parseFloat(value);if(value>=0){return value+"px";}}else{return value;}}};});if(!jQuery.support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":computed?"1":"";},set:function(elem,value){var style=elem.style;style.zoom=1;var opacity=jQuery.isNaN(value)?"":"alpha(opacity="+value*100+")",filter=style.filter||"";style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):style.filter+' '+opacity;}};}
if(document.defaultView&&document.defaultView.getComputedStyle){getComputedStyle=function(elem,newName,name){var ret,defaultView,computedStyle;name=name.replace(rupper,"-$1").toLowerCase();if(!(defaultView=elem.ownerDocument.defaultView)){return undefined;}
if((computedStyle=defaultView.getComputedStyle(elem,null))){ret=computedStyle.getPropertyValue(name);if(ret===""&&!jQuery.contains(elem.ownerDocument.documentElement,elem)){ret=jQuery.style(elem,name);}}
return ret;};}
if(document.documentElement.currentStyle){currentStyle=function(elem,name){var left,rsLeft,ret=elem.currentStyle&&elem.currentStyle[name],style=elem.style;if(!rnumpx.test(ret)&&rnum.test(ret)){left=style.left;rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=name==="fontSize"?"1em":(ret||0);ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}
return ret===""?"auto":ret;};}
curCSS=getComputedStyle||currentStyle;function getWH(elem,name,extra){var which=name==="width"?cssWidth:cssHeight,val=name==="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border"){return val;}
jQuery.each(which,function(){if(!extra){val-=parseFloat(jQuery.css(elem,"padding"+this))||0;}
if(extra==="margin"){val+=parseFloat(jQuery.css(elem,"margin"+this))||0;}else{val-=parseFloat(jQuery.css(elem,"border"+this+"Width"))||0;}});return val;}
if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight;return(width===0&&height===0)||(!jQuery.support.reliableHiddenOffsets&&(elem.style.display||jQuery.css(elem,"display"))==="none");};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem);};}
var jsc=jQuery.now(),rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,rselectTextarea=/^(?:select|textarea)/i,rinput=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,rnoContent=/^(?:GET|HEAD)$/,rbracket=/\[\]$/,jsre=/\=\?(&|$)/,rquery=/\?/,rts=/([?&])_=[^&]*/,rurl=/^(\w+:)?\/\/([^\/?#]+)/,r20=/%20/g,rhash=/#.*$/,_load=jQuery.fn.load;jQuery.fn.extend({load:function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments);}else if(!this.length){return this;}
var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params,jQuery.ajaxSettings.traditional);type="POST";}}
var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status==="success"||status==="notmodified"){self.html(selector?jQuery("<div>").append(res.responseText.replace(rscript,"")).find(selector):res.responseText);}
if(callback){self.each(callback,[res.responseText,status,res]);}}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||rselectTextarea.test(this.nodeName)||rinput.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=null;}
return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data={};}
return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new window.XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(origSettings){var s=jQuery.extend(true,{},jQuery.ajaxSettings,origSettings),jsonp,status,data,type=s.type.toUpperCase(),noContent=rnoContent.test(type);s.url=s.url.replace(rhash,"");s.context=origSettings&&origSettings.context!=null?origSettings.context:s;if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);}
if(s.dataType==="jsonp"){if(type==="GET"){if(!jsre.test(s.url)){s.url+=(rquery.test(s.url)?"&":"?")+(s.jsonp||"callback")+"=?";}}else if(!s.data||!jsre.test(s.data)){s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";}
s.dataType="json";}
if(s.dataType==="json"&&(s.data&&jsre.test(s.data)||jsre.test(s.url))){jsonp=s.jsonpCallback||("jsonp"+jsc++);if(s.data){s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");}
s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";var customJsonp=window[jsonp];window[jsonp]=function(tmp){if(jQuery.isFunction(customJsonp)){customJsonp(tmp);}else{window[jsonp]=undefined;try{delete window[jsonp];}catch(jsonpError){}}
data=tmp;jQuery.handleSuccess(s,xhr,status,data);jQuery.handleComplete(s,xhr,status,data);if(head){head.removeChild(script);}};}
if(s.dataType==="script"&&s.cache===null){s.cache=false;}
if(s.cache===false&&noContent){var ts=jQuery.now();var ret=s.url.replace(rts,"$1_="+ts);s.url=ret+((ret===s.url)?(rquery.test(s.url)?"&":"?")+"_="+ts:"");}
if(s.data&&noContent){s.url+=(rquery.test(s.url)?"&":"?")+s.data;}
if(s.global&&jQuery.active++===0){jQuery.event.trigger("ajaxStart");}
var parts=rurl.exec(s.url),remote=parts&&(parts[1]&&parts[1].toLowerCase()!==location.protocol||parts[2].toLowerCase()!==location.host);if(s.dataType==="script"&&type==="GET"&&remote){var head=document.getElementsByTagName("head")[0]||document.documentElement;var script=document.createElement("script");if(s.scriptCharset){script.charset=s.scriptCharset;}
script.src=s.url;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){done=true;jQuery.handleSuccess(s,xhr,status,data);jQuery.handleComplete(s,xhr,status,data);script.onload=script.onreadystatechange=null;if(head&&script.parentNode){head.removeChild(script);}}};}
head.insertBefore(script,head.firstChild);return undefined;}
var requestDone=false;var xhr=s.xhr();if(!xhr){return;}
if(s.username){xhr.open(type,s.url,s.async,s.username,s.password);}else{xhr.open(type,s.url,s.async);}
try{if((s.data!=null&&!noContent)||(origSettings&&origSettings.contentType)){xhr.setRequestHeader("Content-Type",s.contentType);}
if(s.ifModified){if(jQuery.lastModified[s.url]){xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]);}
if(jQuery.etag[s.url]){xhr.setRequestHeader("If-None-Match",jQuery.etag[s.url]);}}
if(!remote){xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");}
xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*; q=0.01":s.accepts._default);}catch(headerError){}
if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){if(s.global&&jQuery.active--===1){jQuery.event.trigger("ajaxStop");}
xhr.abort();return false;}
if(s.global){jQuery.triggerGlobal(s,"ajaxSend",[xhr,s]);}
var onreadystatechange=xhr.onreadystatechange=function(isTimeout){if(!xhr||xhr.readyState===0||isTimeout==="abort"){if(!requestDone){jQuery.handleComplete(s,xhr,status,data);}
requestDone=true;if(xhr){xhr.onreadystatechange=jQuery.noop;}}else if(!requestDone&&xhr&&(xhr.readyState===4||isTimeout==="timeout")){requestDone=true;xhr.onreadystatechange=jQuery.noop;status=isTimeout==="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";var errMsg;if(status==="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(parserError){status="parsererror";errMsg=parserError;}}
if(status==="success"||status==="notmodified"){if(!jsonp){jQuery.handleSuccess(s,xhr,status,data);}}else{jQuery.handleError(s,xhr,status,errMsg);}
if(!jsonp){jQuery.handleComplete(s,xhr,status,data);}
if(isTimeout==="timeout"){xhr.abort();}
if(s.async){xhr=null;}}};try{var oldAbort=xhr.abort;xhr.abort=function(){if(xhr){Function.prototype.call.call(oldAbort,xhr);}
onreadystatechange("abort");};}catch(abortError){}
if(s.async&&s.timeout>0){setTimeout(function(){if(xhr&&!requestDone){onreadystatechange("timeout");}},s.timeout);}
try{xhr.send(noContent||s.data==null?null:s.data);}catch(sendError){jQuery.handleError(s,xhr,null,sendError);jQuery.handleComplete(s,xhr,status,data);}
if(!s.async){onreadystatechange();}
return xhr;},param:function(a,traditional){var s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);};if(traditional===undefined){traditional=jQuery.ajaxSettings.traditional;}
if(jQuery.isArray(a)||a.jquery){jQuery.each(a,function(){add(this.name,this.value);});}else{for(var prefix in a){buildParams(prefix,a[prefix],traditional,add);}}
return s.join("&").replace(r20,"+");}});function buildParams(prefix,obj,traditional,add){if(jQuery.isArray(obj)&&obj.length){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v);}else{buildParams(prefix+"["+(typeof v==="object"||jQuery.isArray(v)?i:"")+"]",v,traditional,add);}});}else if(!traditional&&obj!=null&&typeof obj==="object"){if(jQuery.isEmptyObject(obj)){add(prefix,"");}else{jQuery.each(obj,function(k,v){buildParams(prefix+"["+k+"]",v,traditional,add);});}}else{add(prefix,obj);}}
jQuery.extend({active:0,lastModified:{},etag:{},handleError:function(s,xhr,status,e){if(s.error){s.error.call(s.context,xhr,status,e);}
if(s.global){jQuery.triggerGlobal(s,"ajaxError",[xhr,s,e]);}},handleSuccess:function(s,xhr,status,data){if(s.success){s.success.call(s.context,data,status,xhr);}
if(s.global){jQuery.triggerGlobal(s,"ajaxSuccess",[xhr,s]);}},handleComplete:function(s,xhr,status){if(s.complete){s.complete.call(s.context,xhr,status);}
if(s.global){jQuery.triggerGlobal(s,"ajaxComplete",[xhr,s]);}
if(s.global&&jQuery.active--===1){jQuery.event.trigger("ajaxStop");}},triggerGlobal:function(s,type,args){(s.context&&s.context.url==null?jQuery(s.context):jQuery.event).trigger(type,args);},httpSuccess:function(xhr){try{return!xhr.status&&location.protocol==="file:"||xhr.status>=200&&xhr.status<300||xhr.status===304||xhr.status===1223;}catch(e){}
return false;},httpNotModified:function(xhr,url){var lastModified=xhr.getResponseHeader("Last-Modified"),etag=xhr.getResponseHeader("Etag");if(lastModified){jQuery.lastModified[url]=lastModified;}
if(etag){jQuery.etag[url]=etag;}
return xhr.status===304;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type")||"",xml=type==="xml"||!type&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.nodeName==="parsererror"){jQuery.error("parsererror");}
if(s&&s.dataFilter){data=s.dataFilter(data,type);}
if(typeof data==="string"){if(type==="json"||!type&&ct.indexOf("json")>=0){data=jQuery.parseJSON(data);}else if(type==="script"||!type&&ct.indexOf("javascript")>=0){jQuery.globalEval(data);}}
return data;}});if(window.ActiveXObject){jQuery.ajaxSettings.xhr=function(){if(window.location.protocol!=="file:"){try{return new window.XMLHttpRequest();}catch(xhrError){}}
try{return new window.ActiveXObject("Microsoft.XMLHTTP");}catch(activeError){}};}
jQuery.support.ajax=!!jQuery.ajaxSettings.xhr();var elemdisplay={},rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=/^([+\-]=)?([\d+.\-]+)(.*)$/,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];jQuery.fn.extend({show:function(speed,easing,callback){var elem,display;if(speed||speed===0){return this.animate(genFx("show",3),speed,easing,callback);}else{for(var i=0,j=this.length;i<j;i++){elem=this[i];display=elem.style.display;if(!jQuery.data(elem,"olddisplay")&&display==="none"){display=elem.style.display="";}
if(display===""&&jQuery.css(elem,"display")==="none"){jQuery.data(elem,"olddisplay",defaultDisplay(elem.nodeName));}}
for(i=0;i<j;i++){elem=this[i];display=elem.style.display;if(display===""||display==="none"){elem.style.display=jQuery.data(elem,"olddisplay")||"";}}
return this;}},hide:function(speed,easing,callback){if(speed||speed===0){return this.animate(genFx("hide",3),speed,easing,callback);}else{for(var i=0,j=this.length;i<j;i++){var display=jQuery.css(this[i],"display");if(display!=="none"){jQuery.data(this[i],"olddisplay",display);}}
for(i=0;i<j;i++){this[i].style.display="none";}
return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2,callback){var bool=typeof fn==="boolean";if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){this._toggle.apply(this,arguments);}else if(fn==null||bool){this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();});}else{this.animate(genFx("toggle",3),fn,fn2,callback);}
return this;},fadeTo:function(speed,to,easing,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,easing,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop)){return this.each(optall.complete);}
return this[optall.queue===false?"each":"queue"](function(){var opt=jQuery.extend({},optall),p,isElement=this.nodeType===1,hidden=isElement&&jQuery(this).is(":hidden"),self=this;for(p in prop){var name=jQuery.camelCase(p);if(p!==name){prop[name]=prop[p];delete prop[p];p=name;}
if(prop[p]==="hide"&&hidden||prop[p]==="show"&&!hidden){return opt.complete.call(this);}
if(isElement&&(p==="height"||p==="width")){opt.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(jQuery.css(this,"display")==="inline"&&jQuery.css(this,"float")==="none"){if(!jQuery.support.inlineBlockNeedsLayout){this.style.display="inline-block";}else{var display=defaultDisplay(this.nodeName);if(display==="inline"){this.style.display="inline-block";}else{this.style.display="inline";this.style.zoom=1;}}}}
if(jQuery.isArray(prop[p])){(opt.specialEasing=opt.specialEasing||{})[p]=prop[p][1];prop[p]=prop[p][0];}}
if(opt.overflow!=null){this.style.overflow="hidden";}
opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(rfxtypes.test(val)){e[val==="toggle"?hidden?"show":"hide":val](prop);}else{var parts=rfxnum.exec(val),start=e.cur()||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!=="px"){jQuery.style(self,name,(end||1)+unit);start=((end||1)/e.cur())*start;jQuery.style(self,name,start+unit);}
if(parts[1]){end=((parts[1]==="-="?-1:1)*end)+start;}
e.custom(start,end,unit);}else{e.custom(start,val,"");}}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue){this.queue([]);}
this.each(function(){for(var i=timers.length-1;i>=0;i--){if(timers[i].elem===this){if(gotoEnd){timers[i](true);}
timers.splice(i,1);}}});if(!gotoEnd){this.dequeue();}
return this;}});function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false){jQuery(this).dequeue();}
if(jQuery.isFunction(opt.old)){opt.old.call(this);}};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig){options.orig={};}}});jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this);}
(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop];}
var r=parseFloat(jQuery.css(this.elem,this.prop));return r&&r>-10000?r:0;},custom:function(from,to,unit){var self=this,fx=jQuery.fx;this.startTime=jQuery.now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;function t(gotoEnd){return self.step(gotoEnd);}
t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(fx.tick,fx.interval);}},show:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=jQuery.now(),done=true;if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var i in this.options.curAnim){if(this.options.curAnim[i]!==true){done=false;}}
if(done){if(this.options.overflow!=null&&!jQuery.support.shrinkWrapBlocks){var elem=this.elem,options=this.options;jQuery.each(["","X","Y"],function(index,value){elem.style["overflow"+value]=options.overflow[index];});}
if(this.options.hide){jQuery(this.elem).hide();}
if(this.options.hide||this.options.show){for(var p in this.options.curAnim){jQuery.style(this.elem,p,this.options.orig[p]);}}
this.options.complete.call(this.elem);}
return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;var specialEasing=this.options.specialEasing&&this.options.specialEasing[this.prop];var defaultEasing=this.options.easing||(jQuery.easing.swing?"swing":"linear");this.pos=jQuery.easing[specialEasing||defaultEasing](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}
return true;}};jQuery.extend(jQuery.fx,{tick:function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++){if(!timers[i]()){timers.splice(i--,1);}}
if(!timers.length){jQuery.fx.stop();}},interval:13,stop:function(){clearInterval(timerId);timerId=null;},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.style(fx.elem,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=(fx.prop==="width"||fx.prop==="height"?Math.max(0,fx.now):fx.now)+fx.unit;}else{fx.elem[fx.prop]=fx.now;}}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};}
function defaultDisplay(nodeName){if(!elemdisplay[nodeName]){var elem=jQuery("<"+nodeName+">").appendTo("body"),display=elem.css("display");elem.remove();if(display==="none"||display===""){display="block";}
elemdisplay[nodeName]=display;}
return elemdisplay[nodeName];}
var rtable=/^t(?:able|d|h)$/i,rroot=/^(?:body|html)$/i;if("getBoundingClientRect"in document.documentElement){jQuery.fn.offset=function(options){var elem=this[0],box;if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(!elem||!elem.ownerDocument){return null;}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
try{box=elem.getBoundingClientRect();}catch(e){}
var doc=elem.ownerDocument,docElem=doc.documentElement;if(!box||!jQuery.contains(docElem,elem)){return box||{top:0,left:0};}
var body=doc.body,win=getWindow(doc),clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,scrollTop=(win.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop),scrollLeft=(win.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft),top=box.top+scrollTop-clientTop,left=box.left+scrollLeft-clientLeft;return{top:top,left:left};};}else{jQuery.fn.offset=function(options){var elem=this[0];if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(!elem||!elem.ownerDocument){return null;}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
jQuery.offset.initialize();var computedStyle,offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){break;}
computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;top-=elem.scrollTop;left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop;left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&rtable.test(elem.nodeName))){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevOffsetParent=offsetParent;offsetParent=elem.offsetParent;}
if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevComputedStyle=computedStyle;}
if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop;left+=body.offsetLeft;}
if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop);left+=Math.max(docElem.scrollLeft,body.scrollLeft);}
return{top:top,left:left};};}
jQuery.offset={initialize:function(){var body=document.body,container=document.createElement("div"),innerDiv,checkDiv,table,td,bodyMarginTop=parseFloat(jQuery.css(body,"marginTop"))||0,html="<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>";jQuery.extend(container.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild;checkDiv=innerDiv.firstChild;td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);checkDiv.style.position="fixed";checkDiv.style.top="20px";this.supportsFixedPosition=(checkDiv.offsetTop===20||checkDiv.offsetTop===15);checkDiv.style.position=checkDiv.style.top="";innerDiv.style.overflow="hidden";innerDiv.style.position="relative";this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(body.offsetTop!==bodyMarginTop);body.removeChild(container);body=container=innerDiv=checkDiv=table=td=null;jQuery.offset.initialize=jQuery.noop;},bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;jQuery.offset.initialize();if(jQuery.offset.doesNotIncludeMarginInBodyOffset){top+=parseFloat(jQuery.css(body,"marginTop"))||0;left+=parseFloat(jQuery.css(body,"marginLeft"))||0;}
return{top:top,left:left};},setOffset:function(elem,options,i){var position=jQuery.css(elem,"position");if(position==="static"){elem.style.position="relative";}
var curElem=jQuery(elem),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=(position==="absolute"&&jQuery.inArray('auto',[curCSSTop,curCSSLeft])>-1),props={},curPosition={},curTop,curLeft;if(calculatePosition){curPosition=curElem.position();}
curTop=calculatePosition?curPosition.top:parseInt(curCSSTop,10)||0;curLeft=calculatePosition?curPosition.left:parseInt(curCSSLeft,10)||0;if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset);}
if(options.top!=null){props.top=(options.top-curOffset.top)+curTop;}
if(options.left!=null){props.left=(options.left-curOffset.left)+curLeft;}
if("using"in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({position:function(){if(!this[0]){return null;}
var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=rroot.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.css(elem,"marginTop"))||0;offset.left-=parseFloat(jQuery.css(elem,"marginLeft"))||0;parentOffset.top+=parseFloat(jQuery.css(offsetParent[0],"borderTopWidth"))||0;parentOffset.left+=parseFloat(jQuery.css(offsetParent[0],"borderLeftWidth"))||0;return{top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||document.body;while(offsetParent&&(!rroot.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent;}
return offsetParent;});}});jQuery.each(["Left","Top"],function(i,name){var method="scroll"+name;jQuery.fn[method]=function(val){var elem=this[0],win;if(!elem){return null;}
if(val!==undefined){return this.each(function(){win=getWindow(this);if(win){win.scrollTo(!i?val:jQuery(win).scrollLeft(),i?val:jQuery(win).scrollTop());}else{this[method]=val;}});}else{win=getWindow(elem);return win?("pageXOffset"in win)?win[i?"pageYOffset":"pageXOffset"]:jQuery.support.boxModel&&win.document.documentElement[method]||win.document.body[method]:elem[method];}};});function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false;}
jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?parseFloat(jQuery.css(this[0],type,"padding")):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?parseFloat(jQuery.css(this[0],type,margin?"margin":"border")):null;};jQuery.fn[type]=function(size){var elem=this[0];if(!elem){return size==null?null:this;}
if(jQuery.isFunction(size)){return this.each(function(i){var self=jQuery(this);self[type](size.call(this,i,self[type]()));});}
if(jQuery.isWindow(elem)){return elem.document.compatMode==="CSS1Compat"&&elem.document.documentElement["client"+name]||elem.document.body["client"+name];}else if(elem.nodeType===9){return Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name]);}else if(size===undefined){var orig=jQuery.css(elem,type),ret=parseFloat(orig);return jQuery.isNaN(ret)?orig:ret;}else{return this.css(type,typeof size==="string"?size:size+"px");}};});})(window);;jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options=$.extend({},options);options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};;if(!this.JSON){this.JSON={};}
(function(){function f(n){return n<10?'0'+n:n;}
if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+
partial.join(',\n'+gap)+'\n'+
mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});};}
if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');};}}());;(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($){$.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:options.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);;(function($){var ajax=$.ajax;var pendingRequests={};var synced=[];var syncedData=[];$.ajax=function(settings){settings=jQuery.extend(settings,jQuery.extend({},jQuery.ajaxSettings,settings));var port=settings.port;switch(settings.mode){case"abort":if(pendingRequests[port]){pendingRequests[port].abort();}
return pendingRequests[port]=ajax.apply(this,arguments);case"queue":var _old=settings.complete;settings.complete=function(){if(_old)
_old.apply(this,arguments);jQuery([ajax]).dequeue("ajax"+port);;};jQuery([ajax]).queue("ajax"+port,function(){ajax(settings);});return;case"sync":var pos=synced.length;synced[pos]={error:settings.error,success:settings.success,complete:settings.complete,done:false};syncedData[pos]={error:[],success:[],complete:[]};settings.error=function(){syncedData[pos].error=arguments;};settings.success=function(){syncedData[pos].success=arguments;};settings.complete=function(){syncedData[pos].complete=arguments;synced[pos].done=true;if(pos==0||!synced[pos-1])
for(var i=pos;i<synced.length&&synced[i].done;i++){if(synced[i].error)synced[i].error.apply(jQuery,syncedData[i].error);if(synced[i].success)synced[i].success.apply(jQuery,syncedData[i].success);if(synced[i].complete)synced[i].complete.apply(jQuery,syncedData[i].complete);synced[i]=null;syncedData[i]=null;}};}
return ajax.apply(this,arguments);};})(jQuery);;;(function(){jQuery.fn.imgError=function(settings){var settings=$.extend({noimage:((typeof(domain_pool)!="undefined")?domain_pool.getURL('/img/noimage_small.gif'):'/img/noimage_small.gif')},settings),images=[],noimagePath=settings.noimage||'',self=this;return this.each(function(i,val){noimagePath=((typeof(domain_pool)!="undefined")?domain_pool.getURL(settings.noimage):settings.noimage);var image=new Image();$(image).error(function(){try{if(noimagePath!=''&&$('img[src="'+$(this).attr('src')+'"]').attr('src')!=noimagePath){var a=$(self).eq(i)[0].attributes;var attrs=[];var old={w:$(self).eq(i).width(),h:$(self).eq(i).height()};var newImg=$('<img src="'+noimagePath+'" />');$(a).each(function(i,val){if(val.nodeName.toLowerCase()!='src'){if(val.nodeValue!=''&&val.nodeValue!=null&&val.nodeValue!='undefined'&&val.nodeValue!==false)
$(newImg).attr(val.nodeName,val.nodeValue);}});$(self).eq(i).before(newImg).remove();}}catch(ex){};}).attr('src',$(this).attr('src'));});};})(jQuery);;if(typeof SPI=="undefined"||!SPI){var SPI={_settings:{},_langStrings:{},_templates:{},_tplCache:{}};};;;SPI.rand=function(n){return(Math.floor(Math.random()*n+1));};;;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]]||{});}};;;(function(){$.fn.dEllipsis=function(options){var target=this;var defaults={wordsInRow:1,overflowElement:'p',textElement:'p span',wordDelimiter:' ',textEnd:'...',shortSteps:false,wrapInWidth:false};var options=$.extend(defaults,options);var textLengthCheck=null;var initialize=function(){target=$.makeArray(target);$(target).each(function(){textLengthCheck=$(this).find(options.textElement+':first');if(textLengthCheck.length==0){return;}
if(textLengthCheck.text().length==0){return;}
overflowElementHeight=0;if(options.wrapInWidth){overflowElementSize=parseInt($(this).find(options.overflowElement).offset().left)
+parseInt($(this).find(options.overflowElement).width());textElementSize=parseInt($(this).find(options.textElement).offset().left)
+parseInt($(this).find(options.textElement).width());if(textElementSize>overflowElementSize){if($(this).find(options.textElement).prev().length){$(this).find(options.textElement).before('<br />');}else{while(overflowElementSize<textElementSize){$(this).find(options.textElement).text($(this).find(options.textElement).text().substring(0,$(this).find(options.textElement).text().length
-(options.textEnd.length+1))+options.textEnd);textElementSize=parseInt($(this).find(options.textElement).offset().left)+
parseInt($(this).find(options.textElement).width());}};};};if($(this).find(options.overflowElement).css('height')!='auto'){overflowElementHeight=parseInt($(this).find(options.overflowElement).css('height'));}else{overflowElementHeight=parseInt($(this).find(options.overflowElement).height());};while(overflowElementHeight<parseInt($(this).find(options.textElement).height())){var wordCount=Math.round(Math.abs(((parseInt($(this).find(options.textElement).height())-parseInt(overflowElementHeight))/parseInt($(this).find(options.textElement).css('font-size').slice(0,-2)))))*-1*options.wordsInRow;var exactWordCount=$(this).find(options.textElement).text().split(options.wordDelimiter).length;if(wordCount>-2&&exactWordCount>2&&!options.shortSteps){wordCount=-2;}
$(this).find(options.textElement).text($(this).find(options.textElement).text().split(options.wordDelimiter).slice(0,wordCount).join(options.wordDelimiter)+options.textEnd);};});};return initialize();};})(jQuery);;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.getURLparam=function(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexps={'default_':"[\\?&]"+name+"=([^&#]*)",'username':"https?:\/\/[^\/]+\/[^\/]+\/([a-zA-Z0-9_-]+).*",'gamatarid':"\/[^,]+,([0-9]+)\.html"},url=window.location.href;var re=new RegExp(regexps.default_);var results=re.exec(url),results2=null;if(results==null){if(regexps[name]){re=new RegExp(regexps[name]);results2=re.exec(url);if(results2!=null&&results2[1]){return results2[1];}}
return'';}else{return results[1];}};;_spiHBreturnHotbox=function(data,cName){var cookieName=cName||'_spiHB';var hbc=$.cookie(cookieName);try{if(hbc==null||hbc.indexOf('|')==-1){hbc=new Array();}else{hbc=hbc.split('|');for(var i=0;i<hbc.length;++i){hbc[i]=hbc[i].split('%');}}}catch(e){hbc=new Array();}
var toShow=-1;for(var i=0;i<data.length;++i){data[i].options.boxid=parseInt(data[i].options.boxid);data[i].options.capping=parseInt(data[i].options.capping);if(data[i].options.capping>0){var isInCookie=false;for(var j=0;i<hbc.length;++j){try{if(hbc[j][0]==data[i].options.boxid&&hbc[j][1]<data[i].options.capping){isInCookie=true;toShow=i;break;}else if(hbc[j][0]==data[i].options.boxid&&hbc[j][1]>=data[i].options.capping){isInCookie=true;break;}}catch(ex){break;}}
if(!isInCookie){toShow=i;break;}else if(isInCookie&&toShow!=-1){break;}}else if(data[i].options.capping==-1){toShow=i;break;}}
if(toShow==-1){toShow=0;hbc=new Array();}
var hbcp='';try{for(var i=0;i<data.length;++i){if(data[i].options.capping>0){var isInCookie=false;for(var j=0;i<hbc.length;++j){if(hbc[j][0]==data[i].options.boxid){if(toShow==i){hbc[j][1]=parseInt(hbc[j][1])+1;}
hbcp+='|'+hbc[j][0]+'%'+hbc[j][1];isInCookie=true;break;}}
if(!isInCookie){if(toShow==i){hbcp+='|'+data[i].options.boxid+'%1';}else{hbcp+='|'+data[i].options.boxid+'%0';}}}}}catch(ex){hbcp='';}
$.cookie(cookieName,hbcp.substr(1),{expires:14,path:'/'});return data[toShow];};_spiHBRenderCode=function(data){$('.hotbox .main').displayHotbox(data);};_spiHBRenderNewHotbox=function(data){$('#hotboxRotator').empty();$(data).each(function(){$('#hotboxRotator').append('<li></li>');$('#hotboxRotator li:last').displayNewHotbox(this);$('#hotboxRotator li:last img.hotboxImage').ifixpng();});$('#hotboxRotator').dcarousel({auto:5,visible:1,size:3,scroll:1,width:231});};;(function($){$.fn.displayHotbox=function(options){var sender=$(this);var options=options;var hotboxElements=[];createImg=function(element){$(sender).append('<div id="'+Math.round(Math.random()*100000)+'" class="imageContainer hb" style="position:absolute;"><img class="hotboxImage"></div>');if(element.css)for(var el in element.css){$(sender).find('div.imageContainer:last, div.imageContainer:last img').css(el,element.css[el]);};if(element.attr)for(var el in element.attr){$(sender).find('div.imageContainer:last img').attr(el,element.attr[el]);};};createText=function(element){$(sender).append('<div id="'+Math.round(Math.random()*100000)+'" class="textContainer hb" style="position:absolute;"><p class="hotboxText">'+element.value+'</p></div>');if(element.css)for(var el in element.css){$(sender).find('div.textContainer:last').css(el,element.css[el]);};};createButton=function(element){$(sender).append('<div id="'+Math.round(Math.random()*100000)+'" class="buttonContainer hb" style="position:absolute;"><img class="hotboxImage btn" src="'+domain_pool.getURL('/img/hb_play_btn.gif')+'"><p class="hotboxText btn">'+hb_play_btn+'</p></div>');if(element.css)for(var el in element.css){$(sender).find('div.buttonContainer:last').css(el,element.css[el]);};};createElements=function(){tmpElements=options.elements||null;if(options.options.type=='popup'){popupWo='window.open(\''+options.options.url+'\', \'popup\', \'width='+options.options.width+',height='+options.options.height+',top=0,left=0, resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no\')';$(sender).append('<a id="hbLink" href="#" title="'+options.options.alt+'" onclick="'+popupWo+'">&nbsp;</a>');}else{$(sender).append('<a id="hbLink" href="'+options.options.url+'" title="'+options.options.alt+'">&nbsp;</a>');if(options.options.type=='blank')$(sender).find('a#hbLink').attr('target','blank');};if(tmpElements){for(var i in tmpElements){tmpObject=tmpElements[i];switch(tmpObject.type){case'img':createImg(tmpObject);break;case'text':createText(tmpObject);break;case'button':createButton(tmpObject);break;};};};};try{createElements();}catch(e){};}})(jQuery);;(function($){$.fn.displayNewHotbox=function(options){var sender=$(this);var options=options;var hotboxElements=[];createImg=function(element){$(sender).append('<div id="'+Math.round(Math.random()*100000)+'" class="imageContainer hb" style="position:absolute;"><img class="hotboxImage"></div>');if(element.css)for(var el in element.css){$(sender).find('div.imageContainer:last').css(el,element.css[el]);};if(element.attr)for(var el in element.attr){$(sender).find('div.imageContainer:last img').attr(el,element.attr[el]);};};createText=function(element){$(sender).append('<div id="'+Math.round(Math.random()*100000)+'" class="textContainer hb" style="position:absolute;"><p class="hotboxText">'+element.value+'</p></div>');if(element.css)for(var el in element.css){$(sender).find('div.textContainer:last, div.textContainer:last p:last').css(el,element.css[el]);};};createButton=function(element){$(sender).append('<div id="'+Math.round(Math.random()*100000)+'" class="buttonContainer hb" style="position:absolute;"><img class="hotboxImage btn" src="'+domain_pool.getURL('/img/hb_play_btn.gif')+'"><p class="hotboxText btn">'+hb_play_btn+'</p></div>');if(element.css)for(var el in element.css){$(sender).find('div.buttonContainer:last').css(el,element.css[el]);};};createElements=function(){tmpElements=options.elements||null;if(options.options.type=='popup'){popupWo='window.open(\''+options.options.url+'\', \'popup\', \'width='+options.options.width+',height='+options.options.height+',top=0,left=0, resizable=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no\')';$(sender).append('<a id="hbLink" href="#" title="'+options.options.alt+'" onclick="'+popupWo+'">&nbsp;</a>');}else{$(sender).append('<a id="hbLink" href="'+options.options.url+'" title="'+options.options.alt+'" >&nbsp;</a>');if(options.options.type=='blank')$(sender).find('a#hbLink').attr('target','blank');};if(tmpElements){for(var i in tmpElements){tmpObject=tmpElements[i];switch(tmpObject.type){case'img':createImg(tmpObject);break;case'text':createText(tmpObject);break;case'button':createButton(tmpObject);break;};};};};try{createElements();}catch(e){};}})(jQuery);;(function($){$.ifixpng=function(customPixel){$.ifixpng.pixel=customPixel;};$.ifixpng.getPixel=function(){return $.ifixpng.pixel||domain_pool.getURL('/img/spacer.gif');};var hack={ltie7:$.browser.msie&&$.browser.version<7,filter:function(src){return"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale,src='"+src+"')";}};$.fn.ifixpng=hack.ltie7?function(){return this.each(function(){var $$=$(this);var base=$('base').attr('href');if(base){base=base.replace(/\/[^\/]+$/,'/');}
if($$.is('img')||$$.is('input')){if($$.attr('src')){if($$.attr('src').match(/.*\.png([?].*)?$/i)){var source=(base&&$$.attr('src').search(/^(\/|http:)/i))?base+$$.attr('src'):$$.attr('src');$$.css({filter:hack.filter(source),width:$$.width(),height:$$.height()}).attr({src:$.ifixpng.getPixel()}).positionFix();}}}else{var image=$$.css('backgroundImage');if(image.match(/^url\(["']?(.*\.png([?].*)?)["']?\)$/i)){image=RegExp.$1;image=(base&&image.substring(0,1)!='/')?base+image:image;$$.css({backgroundImage:'none',filter:hack.filter(image)}).children().children().positionFix();}}});}:function(){return this;};$.fn.iunfixpng=hack.ltie7?function(){return this.each(function(){var $$=$(this);var src=$$.css('filter');if(src.match(/src=["']?(.*\.png([?].*)?)["']?/i)){src=RegExp.$1;if($$.is('img')||$$.is('input')){$$.attr({src:src}).css({filter:''});}else{$$.css({filter:'',background:'url('+src+')'});}}});}:function(){return this;};$.fn.positionFix=function(){return this.each(function(){var $$=$(this);var position=$$.css('position');if(position!='absolute'&&position!='relative'){$$.css({position:'relative'});}});};})(jQuery);$(function(){$(".pngfix").ifixpng();});;;function markMenu(){tmp=document.location.href.split(document.domain);$('.leftNavigation ul li a[href="'+tmp[1]+'"]').addClass('currentOne');try{tmp=tmp[1].split(',');if($.isArray(tmp)){tmp2=tmp[1].split('.');$('.leftNavigation ul li a[href="'+tmp[0]+'.'+tmp2[1]+'"]').addClass('currentOne');};}catch(ex){};};;;$(function(){var clearText=function(thefield){if(thefield.defaultValue==thefield.value)thefield.value="";};$('a[rel~="external"]').attr('target','_blank');$('img.logo').ifixpng();if($.browser.msie)$('div.bookmarkButton').show();markMenu();var clearText=function(thefield){if(thefield.defaultValue==thefield.value)thefield.value="";};$('input#searchtext').focus(function(){clearText(this);$(this).addClass('search-focused');});$('div.search span').click(function(){$('form#search2').submit();return false;});$('form#search2').submit(function(){return checkSFValid(this,'search',2);});$('a#searchlink').click(function(){$('form#search2').submit();return false;});});$(window).load(function(){$("img[src*='100x75']").imgError({noimage:'/img/noimage_small.gif'});$("img[src*='100X75']").imgError({noimage:'/img/noimage_small.gif'});$("img[src*='200x120']").imgError({noimage:'/img/noimage.gif'});$("img[src*='200X120']").imgError({noimage:'/img/noimage.gif'});$("img[src*='\/cimg\/subcatthumbnails\/']").imgError({noimage:'/img/noimage.gif'});$('div.tab, img.bottomLogo').ifixpng();});CreateBookmarkLink=function(c){var d=document.location.href;if(window.sidebar&&!document.all){window.sidebar.addPanel(c,d,"")}else{if(window.external){window.external.AddFavorite(d,c)}else{if(window.opera&&window.print){return false}}}};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();};function OAS_exibiuPropaganda(id){var html=document.getElementById(id).innerHTML.toString().toUpperCase();if(html.indexOf("OBJECT")!=-1||html.indexOf("EMBED")!=-1||html.indexOf("IMG")!=-1){return(html.indexOf("DEFAULT/EMPTY.GIF")==-1)}else{return false;}};;var intCheckCookies=function(){$.cookie('_spill_tst_cookie',123);tmp=parseInt($.cookie('_spill_tst_cookie'));$.cookie('_spill_tst_cookie',null);if(tmp==123){return 1;};return 0;};var intUrlSet=function(){if(intCheckCookies()==1){$.cookie('_intSPIL',document.location.href,{expires:10,path:'/'});};};var intUrlGet=function(url){if((intCheckCookies()==1)&&($.cookie('_intSPIL')!=null)){top.location.href=$.cookie('_intSPIL');return true;}else{top.location.href=url;return true;}};;;(function(){$.fn.dTooltip=function(options){var target=this;var targetWidth=0;var targetHeight=0;var displayDiv=null;var defaults={displayDiv:'dtooltip',content:'dtooltip',track:false,displayDivHeight:123,displayDivWidth:174,position:'right',x:10,y:0,eventHandler:'li',pngFix:true,drawItemCallback:false,ellipsis:false,langStrings:{rating:'Rating:'}};var options=$.extend(defaults,options);var tooltipEventMouseEnter=function(event,displayDiv){try{$(displayDiv).show();}catch(ex){}};var tooltipEventMouseLeave=function(event,displayDiv){try{$(displayDiv).hide();}catch(ex){}};var initialize=function(){if(parseInt($('#'+options.displayDiv).length)==0){$(document.body).append('<div id="'+options.displayDiv+'"></div>');};$(target).find(options.eventHandler).mouseenter(function(event){displayDiv=$('#'+options.displayDiv);coords=$(this).offset();if(options.track==false){if(options.position=='right'){_top=Math.round(parseInt(coords.top)+(0.5*parseInt($(this).height())-(0.5*parseInt(options.displayDivHeight))))+parseInt(options.y);_left=Math.round(parseInt(coords.left)-parseInt(options.displayDivWidth))+parseInt(options.x);$(displayDiv).removeClass('dtooltipLeft').addClass('dtooltipRight');}else{_top=Math.round(parseInt(coords.top)+(0.5*parseInt($(this).height())-(0.5*parseInt(options.displayDivHeight))))+parseInt(options.y);_left=Math.round(parseInt(coords.left)+parseInt($(this).width()))+parseInt(options.x);$(displayDiv).removeClass('dtooltipRight').addClass('dtooltipLeft');}}else{$(target).find(options.eventHandler).mousemove(function(event){if(options.position=='right'){_top=event.pageY+options.y;_left=event.pageX+options.x;}else{_top=event.pageY+options.y;_left=event.pageX+options.x;};$(displayDiv).css('top',_top+'px');$(displayDiv).css('left',_left+'px');});if(options.position=='right'){_top=event.pageY+options.y;_left=event.pageX+options.x;}else{_top=event.pageY+options.y;_left=event.pageX+options.x;};};$(displayDiv).css('top',_top+'px');$(displayDiv).css('left',_left+'px');callback=eval(options.drawItemCallback);tooltipitem=callback(event,this);if(options.content!=options.displayDiv){if($(displayDiv).find(options.content).html()!=tooltipitem){$(displayDiv).find(options.content).find('*').remove();$(displayDiv).find(options.content).append(tooltipitem);};}else{if($(displayDiv).html()!=tooltipitem){$(displayDiv).find('*').remove();$(displayDiv).append(tooltipitem);}}
$(displayDiv).show();if(options.ellipsis!=false){$(displayDiv).dEllipsis(options.ellipsis);};if(options.pngFix){$('#'+options.displayDiv).ifixpng();$('#'+options.displayDiv).find('*').ifixpng();}});$(target).find(options.eventHandler).mouseleave(function(){$(displayDiv).hide();});};initialize();};})(jQuery);var drawPopularItem=function(event,eventHandler){var rating=$(eventHandler).find('span.tooltipHiddenRating').text();rating=parseInt(parseInt(rating)/10)*14;return'<div class="dtooltipwrapper"><div class="dtooltipbg"><span class="tooltipOverflow"><span class="dtooltip">'+$(eventHandler).find('a.tooltipHidden:first').text()+'</span></span><img class="dtooltip2" src="'+$(eventHandler).find('img.tooltipHidden:first').attr('src')+'" /><span class="dtooltipRating"><span class="hearts2" style="background-position: right -'+rating+'px">&nbsp;</span></span></div></div>';};var drawNeboxItem=function(event,eventHandler){var ratingText=$(eventHandler).parent().find('span.tooltipHiddenRating:first').text();var rating=$(eventHandler).parent().find('span.tooltipHiddenRating:last').text();var thisTitle=$(eventHandler).parent().find('span.gameTitle').text();rating=parseInt(parseInt(rating)/10)*14;var originalTitle=$(eventHandler).parent().find('span.tooltipHiddenOriginalTitle').text();if(originalTitle!=thisTitle&&originalTitle!=''){var response='<span class="dtooltipTitle">('+originalTitle+')</span>';}else{var response='';}
response=response+'<span class="dtooltipDescription">'+$(eventHandler).parent().find('span.tooltipHidden:first').text()+'</span><span class="dtooltip">('+$(eventHandler).parent().find('span.tooltipHidden:last').text()+')</span><span class="dtooltipRating">'+ratingText+': <span class="hearts" style="background-position: left -'+rating+'px">&nbsp;</span></span>';return response;};var drawGalleryGameItem=function(event,eventHandler){return'<span class="dtooltipTotalImages">'+$(eventHandler).parent().find('span.totalImages').text()+'</span>'+'<span class="dtooltipDescription">'+$(eventHandler).parent().find('span.description').text()+'</span>';}
var drawAchievementItem=function(event,eventHandler){var str='<span class="dtooltipAchievement_awardname">'+$(eventHandler).parent().find('span.awname:first').text()+'</span>'+'<span class="dtooltipAchievement_description">'+$(eventHandler).parent().find('span.desc:first').text()+'</span>'+'<span class="dtooltipAchievement_points">'+$(eventHandler).parent().find('span.points:first').text()+'</span>'+'<span class="dtooltipAchievement_gametitle">'+$(eventHandler).parent().find('span.game:first').html()+'</span>';return str;};var drawActivitiesAchievementItem=function(event,eventHandler){var str='<span class="dtooltipAchievement_awardname">'+$(eventHandler).find('span.awname:first').text()+'</span>'+'<span class="dtooltipAchievement_description">'+$(eventHandler).find('span.desc:first').text()+'</span>'+'<span class="dtooltipAchievement_points">'+$(eventHandler).find('span.points:first').text()+'</span>'+'<span class="dtooltipAchievement_gametitle">'+$(eventHandler).find('span.game:first').html()+'</span>';return str;};var drawVirtualItem=function(event,eventHandler){return'<span class="dtooltipDescription">'+$(eventHandler).parent().find('span.tooltipHidden:first').text()+'</span>';};var drawProfileBoxRemoveFriend=function(event,eventHandler){var tip='<span class="dtooltipDescription">'+$(eventHandler).attr('tooltip')+'</span>';$(eventHandler).removeAttr('title');return tip;};var drawProfileItem=function(event,eventHandler){var title=$(eventHandler).parent().find('span.tooltipHidden:first').text();var text=$(eventHandler).parent().find('span.tooltipHidden:last').text();var points=$(eventHandler).parent().find('span.tooltipHiddenRating:first').text();return'<span class="dtooltipDescription">'+title+'</span><span class="dtooltip">'+text+'</span><span class="dtooltipRating">'+points+'</span>';};var drawProfileGalleryGamePage=function(event,eventHandler){var avatar=$(eventHandler).parent().find('span.tooltipAvatar').html();var username=$(eventHandler).parent().find('span.tooltipUsername').text();var title=$(eventHandler).parent().find('span.tooltipTitle').text();var ratingValue=$(eventHandler).parent().find('span.tooltipRatingValue').text();ratingValue=(parseInt(ratingValue))*14;var render=''+'<span class="dtooltipAvatar dtooltipCommonUGC" style="display: block; height: 50px;">'+avatar+'</span>'+'<span class="dtooltipDescription dtooltipDescriptionUGC dtooltipCommonUGC" style="position: absolute; top: 32px; left: 66px;">'+username+'</span>'+'<span class="dtooltip dtooltipCommonUGC" style="position: absolute; top: 46px; left: 66px; width: 130px;">'+title+'</span>'+'<span class="dtooltipRating dtooltipCommonUGC">'+'<span class="hearts heartsUGC" style="background-position: left -'+ratingValue+'px">&nbsp;</span>&nbsp;</span>'+'';return render;};var drawProfileGalleryOverview=function(event,eventHandler){var description=$(eventHandler).parent().find('span.tooltipDescription').text();var title=$(eventHandler).parent().find('span.tooltipTitle').text();var ratingValue=$(eventHandler).parent().find('span.tooltipRatingValue').text();ratingValue=parseInt(ratingValue)*14;var render=''+'<span class="dtooltipDescription dtooltipDescriptionUGC dtooltipCommonUGC">'+title+'</span>'+'<span class="dtooltip dtooltipCommonUGC">'+description+'</span>'+'<span class="dtooltipRating dtooltipCommonUGC dtooltipHeartsUGC">'+'<span class="hearts heartsUGC" style="background-position: left -'+ratingValue+'px">&nbsp;</span>&nbsp;</span>'+'';return render;};var drawProfileGalleryPage=function(event,eventHandler){var title=$(eventHandler).parent().find('span.tooltipTitle').text();var ratingValue=$(eventHandler).parent().find('span.tooltipRatingValue').text();ratingValue=parseInt(ratingValue)*14;var render=''+'<span class="dtooltipDescription dtooltipDescriptionUGC dtooltipCommonUGC">'+title+'</span>'+'<span class="dtooltipRating dtooltipCommonUGC dtooltipHeartsUGC">'+'<span class="hearts heartsUGC" style="background-position: left -'+ratingValue+'px">&nbsp;</span>&nbsp;</span>'+'';return render;};var drawLevelBarItem=function(event,eventHandler){return'<span class="dtooltipDescription">'+$(eventHandler).parent().find('span.tooltipHidden:first').text()+'</span>';};var drawGamesAlbum=function(event,eventHandler){return'<span class="dtooltip-games-album">'+$(eventHandler).parent().find('span.tooltipHidden:first').text()+'</span>';};var drawProfileAlbum=function(event,eventHandler){return'<span class="dtooltip-profile-album">'+$(eventHandler).parents('li').find('span.tooltipTitle:first').text()+'</span>';};;;(function(){$.fn.dcarousel=function(options){var target=this;var timeoutObj;var position=0;var defaults={auto:1,size:1,scroll:1,width:100,beforeAnimate:'',afterAnimate:''};var options=$.extend(defaults,options);var setPos=function(_position){stopAnimate();position=_position;animate();};var resettimeout=function(){clearTimeout(timeoutObj);timeoutObj=setTimeout(function(){animate()},options.auto*1000);};var stopAnimate=function(){clearTimeout(timeoutObj);};var startAnimate=function(){timeoutObj=setTimeout(function(){animate()},options.auto*1000);};var animate=function(){if(timeoutObj)stopAnimate();if(position==options.size){position=0};$(target).find('li').find('a').unbind('mouseenter').unbind('mouseleave');$(target).find('li').eq(position).find('a').mouseenter(function(){stopAnimate();}).mouseleave(function(){startAnimate();});$('.rotatorButtons li, .rotatorButtons li a').removeClass('current');$('.rotatorButtons li').eq(position).addClass('current').find('a').addClass('current');pos(position);position++;startAnimate();};var pos=function(i){$(target).animate({'left':-1*i*options.width},500);};var initialize=function(){try{$(target).bind('animate',function(){animate()});$(target).bind('setPos',function(event,data){setPos(data)});$(target).bind('stopAnimate',function(){stopAnimate()});$(target).bind('startAnimate',function(){startAnimate()});$(target).bind('resetTimeout',function(){resetTimeout()});i=0;$('.rotatorButtons li a').each(function(){$(this).attr('No',i).click(function(){$(target).trigger('setPos',[$(this).attr('No')]);return false;});i++;});animate();}catch(ex){};};return initialize();};})(jQuery);;;function CreateBookmarkLink(url,title){if(window.sidebar&&!document.all){window.sidebar.addPanel(title,url,'');}else{if(window.external){window.external.AddFavorite(url,title);}else{if(window.opera&&window.print){return false;}}}};;$.Autocompleter.defaults.parse=function(data){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 $('#searchtext').val();};;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.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;})();;jQuery.profilar=(function($){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 PRECACHED_FIELDS=RO_FIELDS;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 PRECACHED_PREFS=RW_PREFS;var PRECACHED_EXTERNAL_FIELDS=PRECACHED_FIELDS;var PRECACHED_EXTERNAL_PREFS=PRECACHED_PREFS;var that=this;var settings={url:'/pr/pb/1/',cookieName:'_profilar',cookieAge:'_age',cookieLevel:'_SPI_level',cookieDomain:null,cookieExpire:30,sessionCookie:'_profilarS',sessionCookieExpire:10,sessionAdditionalGACookie:'_spilGacv',sessionAdditionalGACookieExpire:30,autoLogin:false,asyncTimeout:5000,session_cache:[],prefs_cache:[],siteId:null,channelId:null,facebookActive:false,fbcApiKey:null,fbcAppId:null,gfcApiKey:null,fbcReclamationHash:null,fbcReclamationUserId:null,prefsLevel:'site',friendsLevel:'channel',flushQueueAfter:200,debug:false};var loadQueueBlocked=true;var loadQueue=[];var userData={};var externalData={};var requestedExternalData={};var requestedUserData={};var userPref={};var requestedUserPrefs={};var userName='';var provider='';var authKey='';var initHandlers=[],loginHandlers=[],logoutHandlers=[];var customMessageQueue=[];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 ajaxPost=function(data,success,error,async){if(async==undefined){async=true;}
$.ajax({type:'POST',async:async,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 $.fn.facebook.getUserId();};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 dateRegexp=/^\d{4}-\d{1,2}-\d{1,2}$/;if(dateRegexp.test(userData.dob)){try{var dateValues=userData.dob.split('-');var dateOfBirth=new Date(dateValues[0],dateValues[1],dateValues[2],0,0,0,0);$.cookie(settings.cookieAge,dateOfBirth.getTime(),{path:'/',expires:that.autoLogin()?settings.cookieExpire:null,domain:settings.cookieDomain});var userBirth=dateOfBirth.getTime();var age=ga_customvars.getYears(userBirth);var Profile=ga_customvars.get_variable(age);pageTracker._setCustomVar(1,"Profile",Profile,1);pageTracker._trackEvent("Members","Login");}
catch(err){}}};var updateHashIfNeeded=function(data){if(!authKey)
return;var newAuthKey=$('authenticate',data).text();if(newAuthKey&&newAuthKey!=authKey){authKey=newAuthKey;createProfilarCookie();}};that.customMessage=function(msg,callback,async){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'}]);},async);};var resetTimer=0;var waitForCustomMessageQueueTimeout=function(){resetTimer--;if(resetTimer>0){return;}
runCustomMessageQueue();};var queueCustomMessage=function(msg,callback,async){if(window.console!=undefined&&typeof(async)!='undefined'){console.log('WARNING: async parameter is ignored (deprecated)');}
customMessageQueue.push({msg:msg,callback:callback,async:async});resetTimer++;window.setTimeout(waitForCustomMessageQueueTimeout,settings.flushQueueAfter);};var runCustomMessageQueue=function(){var for_future=[];var msg='';while(message=customMessageQueue.shift()){for_future.push({callback:message.callback,nodes_length:$('profilar',XMLdocumentFromString('<profilar>'+message.msg+'</profilar>')).children().length});msg+=message.msg;}
ajaxPost(msg,function(data){var i,j;var response_nodes=[];var doc,response_xml,errors;var cnt=0;var children=$('profilar',data).children();for(i=0;i<for_future.length;++i){response_xml='';for(j=0;j<for_future[i].nodes_length;++j){response_xml+=domElementToString(children[cnt]);cnt++;}
doc=XMLdocumentFromString('<profilar>'+response_xml+'</profilar>');updateHashIfNeeded(doc);errors=[];$('error',doc).each(function(){errors.push(convertError($(this)));});if(errors.length>0){for_future[i].callback.call(this,doc,errors);}else{for_future[i].callback.call(this,doc,null);}}},function(){callback.call(this,null,[{code:'500'}]);});};var XMLdocumentFromString=function(string){var type='text/xml';var doc;if(window.DOMParser){var parser=new window.DOMParser();doc=parser.parseFromString(string,type);}else{doc=new ActiveXObject("Microsoft.XMLDOM");doc.async="false";doc.loadXML(string);}
return doc;};var domElementToString=function(element){var string='';if(window.XMLSerializer&&!$.browser.msie){var serializer=new window.XMLSerializer();string=serializer.serializeToString(element);}else{string=element.xml;}
return string;};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});};var createAdditionalGACookie=function(action){switch(action){case'login':var cookieData=userName+'|RegisteredUser';break;case'logout':var cookieData='RegisteredUser';break;default:return;}
var expires;if(settings.sessionAdditionalGACookieExpire){expires=new Date();expires.setTime(expires.getTime()+settings.sessionAdditionalGACookieExpire*60000*60*24);}else{expires=null;}
$.cookie(settings.sessionAdditionalGACookie,cookieData,{path:'/',expires:expires});};that.clearSessionCache=function(){$.cookie(settings.sessionCookie,null,{path:'/',expires:-1});};that.clearAll=function(runLogout){var fbc_id=that.get('fbc_id');if(typeof runLogout=='undefined')
runLogout=true;var loggedoutUser=that.forService().username;that.clearSessionCache();createAdditionalGACookie('logout');$.cookie(settings.cookieName,null,{path:'/',expires:-1,domain:settings.cookieDomain});$.cookie(settings.cookieAge,null,{path:'/',expires:-1,domain:settings.cookieDomain});$.cookie(settings.cookieLevel,null,{path:'/',expires:-1});authKey='';userName='';provider='';userData={};userPref={};requestedUserData={};requestedUserPrefs={};if(settings.facebookActive&&fbc_id!=''){that.logoutFacebook(function(){if(runLogout){runLogoutHandlers(loggedoutUser);}});}
else{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;var c;for(c in settings.session_cache){if(cookieData[c]!=''){that.set(settings.session_cache[c],cookieData[c].decodeBase64(true));}}
for(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));}}
_loadUserData({attributes:PRECACHED_FIELDS,prefs:PRECACHED_PREFS,callback:function(){loadQueueBlocked=false;_executeLoadQueue();}});if(callback)
callback.call(this,that.checkActivation(true));if(fromInit===true){runInitHandlers(true);}else if(fromInit===false){runLoginHandlers();}
return;}catch(e){if(settings.debug&&window.console!==undefined)
console.log(e);}}
prefs=settings.prefs_cache.length?settings.prefs_cache:[];prefs=$.unique((prefs.concat(PRECACHED_PREFS)).sort());var prefsXml=prefs.length?('<'
+prefs.join('/><')+'/>'):'';if(prefsXml){prefsXml='<getprefs>'+getPrefLevelXml()+prefsXml
+'</getprefs>';}
var fields=$.unique((settings.session_cache.concat(PRECACHED_FIELDS)).sort());ajaxPost('<authenticate><hash>'+_authKey
+'</hash></authenticate><request><'
+fields.join('/><')+'/></request>'+prefsXml,function(data){if($('request username',data).text().toLowerCase()==_userName.toLowerCase()){userName=_userName;authKey=_authKey;setDataFromProfilarXml(data,{attributes:fields,prefs:prefs});loadQueueBlocked=false;_executeLoadQueue();createSessionCookie();if(callback)
callback.call(this,that.checkActivation(true));if(fromInit===true){runInitHandlers(true);}}else{that.clearAll();if(callback)
callback.call(this,false);if(fromInit===true){runInitHandlers(false);}}},function(){that.clearAll();});};var setDataFromProfilarXml=function(data,params){var i;params=$.extend({attributes:[],prefs:[]},params);for(i=0;i<params.attributes.length;++i){requestedUserData[params.attributes[i]]=true;}
$('profilar request',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.set(tag,$(this).text());}});for(i=0;i<params.prefs.length;++i){requestedUserPrefs[params.prefs[i]]=true;}
$('profilar getprefs',data).children().each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.setPref(tag,$(this).text());}});};that.loggedIn=function(callback){if(callback){loggedInCheck(userName,authKey,callback);}else{return that.checkActivation(userName!==''&&authKey!=='');}};that.realLoggedIn=function(){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){logged=that.checkActivation(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;}}};that.linkProfileWithFacebook=function(callback){if(!isFacebookIncluded()&&!that.getFbcUserId()){if(callback)callback.call(this,[{code:401,message:'FB not logged in'}]);return;}
var _fbcIdInternal=that.get('fbc_id');if(_fbcIdInternal&&(_fbcIdInternal!=that.getFbcUserId())){if(callback)callback.call(this,[{code:412,fbnotconnected:true,message:'FB logged in with another account'}]);return;}
that.customMessage("<authenticate><hash>"+authKey+"</hash></authenticate><link>"+settings.fbcApiKey+'</link><request><fbc_id/></request>',function(data,errors){if(!errors){$('profilar request fbc_id',data).each(function(){var tag=this.tagName.toLowerCase();if(tag!='username'){that.set(tag,$(this).text());}});that.setProvider('fbc');createSessionCookie();createProfilarCookie();if(callback)callback.call(this);}else{if(callback)callback.call(this,errors);}});};that.unlinkProfileWithFacebook=function(callback,showPopup){if(!isFacebookIncluded()&&!that.getFbcUserId()){if(callback)callback.call(this,[{code:'401'}]);return;}
that.customMessage('<authenticate><hash>'+authKey+"</hash>"+"</authenticate><unlink>"+settings.fbcApiKey+'</unlink>',function(data,errors){if(!errors){$.fn.facebook.revokeAuthorization(function(){that.set('fbc_id',null);that.resetProvider();createSessionCookie();createProfilarCookie();if(showPopup!==false)$.fn.facebook.showUnlinkPopup();if(callback)callback.call(this);});}else{if(callback)callback.call(this,errors);}});};var isFacebookIncluded=function(){if(settings.fbcApiKey&&window.FB){return true;}
return false;}
that.initFacebook=function(){if(isFacebookIncluded()){return;}
$.fn.facebook.init({appId:settings.fbcAppId,fbcCheetahEbm:settings.fbcCheetahEbm},function(){$.fn.facebook.waitUntilThenDo(function(){return($.fn.facebook.isInitialized()&&($.profilar.get('fbc_id')!=""||$.profilar.get('fbc_id')!=null));},function(){if($.fn.facebook.getUserId()==false&&$.profilar.get('fbc_id')!=""){}});});$.fn.facebook.waitUntilThenDo(function(){return($.fn.facebook.getUserId()!=false&&($.profilar.get('fbc_id')!=""||$.profilar.get('fbc_id')!=null));},function(){if(($.fn.facebook.getUserId()!=false&&$.profilar.get('fbc_id')!="")&&($.fn.facebook.getUserId()!=$.profilar.get('fbc_id'))){console.log('error connecting');}});};that.logoutFacebook=function(callback){if(isFacebookIncluded()&&that.getFbcUserId()){$.fn.facebook.logout(callback);}
else{if($.isFunction(callback)){return callback.call();}}};that.fbconnected=function(callback){if(!isFacebookIncluded()){return false;}
if(that.loggedIn()){that.linkProfileWithFacebook(callback);}else{that.loginUsingRelayingActivated('fbc',settings.autoLogin,null,callback);}}
that.isFBlinked=function(){if(that.getFbcUserId()&&(that.get('fbc_id')==that.getFbcUserId())){return true;}
return false;}
var runLogoutHandlers=function(errors){var i=0;for(i=0;i<logoutHandlers.length;++i){try{logoutHandlers[i].call(this,errors);}catch(e){if(settings.debug)
throw e;}}};that.init=function(options,callback){$.extend(settings,options);if(settings.facebookActive){that.initFacebook();}
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){loadQueueBlocked=false;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=$('profilar request username',data).text();that.autoLogin(autoLogin);$('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());}});createProfilarCookie();createSessionCookie();createAdditionalGACookie('login');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.createProviderCookie=function(){var newProvider=(provider)?provider:'spil';return that.setProviderCookie(newProvider);}
that.getProviderCookie=function(){return $.cookie('profilar_provider');}
that.setProviderCookie=function(newProvider){$.cookie('profilar_provider',newProvider,{path:'/'});}
that.resetProviderCookie=function(){$.cookie('profilar_provider',null,{path:'/',expires:-1});}
that.setProvider=function(newProvider){provider=newProvider;that.setProviderCookie(newProvider);}
that.getProvider=function(){return provider;}
that.resetProvider=function(){provider='';that.resetProviderCookie();}
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;}
callback.call(this);},['age','activated']);},strict);};that.checkActivation=function(logged){if(logged){var age=that.get('age');var activated=that.get('activated');if(age===''||activated===''){that.load(function(errors){if(errors){logged=false;}
age=$.profilar.get('age');activated=$.profilar.get('activated');if(activated==''){activated=false;}
that.set('age',age);that.set('activated',activated);},['age','activated'],false);}
if(logged){if(that.needActivation()){logged=false;}}}
return logged;};that.needActivation=function(){var maxParentsEmailAge=SPI._settings.myprofile.maxParentsEmailAge;var age=that.get('age');var activated=that.get('activated');if(age===''||activated===''){return false;}
if(parseInt(age)<parseInt(maxParentsEmailAge)&&!activated){return true;}
return false;};that.needParentsConfirmation=function(){var maxParentsEmailAge=SPI._settings.myprofile.maxParentsEmailAge;var age=that.get('age');if(parseInt(age)<parseInt(maxParentsEmailAge)){return true;}
return false;};var checkParentConfirmationBind=function(callback,confirmationAge){confirmationAge=confirmationAge||SPI._settings.global.parent_confirmation_age;return 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']);}}
that.loginUsingRelayingActivated=function(_provider,autoLogin,confirmationAge,callback,strict){that.loginUsingRelaying(_provider,autoLogin,checkParentConfirmationBind(callback,confirmationAge),strict);};that.loginUsingHash=function(login,hash,autoLogin,callback){userName=login;authKey=hash;that.autoLogin(autoLogin);createProfilarCookie();createAdditionalGACookie('login');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 if(_provider=='fbc_reclamation'){providerXml='<fbc_api_key>'+settings.fbcApiKey+'</fbc_api_key><fbc_reclamation_id>'+settings.fbcReclamationUserId+'</fbc_reclamation_id><fbc_reclamation_hash>'+settings.fbcReclamationHash+'</fbc_reclamation_hash>';}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();that.setProvider(_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();createAdditionalGACookie('login');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>";}
var setPefs='';setPrefs=((options.privacy===undefined)?'':('<setprefs>'+getPrefLevelXml()+'<privacy>'
+options.privacy+'</privacy></setprefs>'));var triggerEmails='';var _fun=function(eventId,errors){};if(options._ConfirmationEmail){triggerEmails+=triggerEvent(options._ConfirmationEmail,_fun,false,true);}
if(options._wait_email){triggerEmails+=triggerEvent(options._wait_email,_fun,false,true);}
if(options._email){triggerEmails+=triggerEvent(options._email,_fun,false,true);}
var msg_='<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>"+setPrefs+triggerEmails;that.customSafeMessage(msg_,function(data,errors){var cnt=0;if(errors){for(var i=0;i>errors.length-1;i++){if(errors[i].operation=='register')
cnt++;}}
if(cnt==0){_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);if((options.provider=='fbc')&&that.getFbcUserId()){that.set('fbc_id',that.getFbcUserId());}
createProfilarCookie();createSessionCookie();createAdditionalGACookie('login');runLoginHandlers();}
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;switch(that.getProvider()){case'fbc':providerXml='<fbc_api_key>'+settings.fbcApiKey+'</fbc_api_key>';break;case'gfc':providerXml='<gfc_api_key>'+settings.gfcApiKey+'</gfc_api_key>';break;case'fbc_reclamation':providerXml='<fbc_api_key>'+settings.fbcApiKey+'</fbc_api_key><fbc_reclamation_id>'+settings.fbcReclamationUserId+'</fbc_reclamation_id><fbc_reclamation_hash>'+settings.fbcReclamationHash+'</fbc_reclamation_hash>';break;default:providerXml="<password>"+escapeForXML(password)+"</password>";break;}
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||userPref[include[c]]==='')
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,async){return _addToLoadQueueIfBlocked({callback:callback,attributes:include,async:async});};var _removePrecached=function(keys,cache){var cleaned=[];$.each(keys,function(index,value){if(cache[value]===undefined){cleaned.push(value);}});return cleaned;};var _addToLoadQueueIfBlocked=function(params){if(loadQueueBlocked){loadQueue.push(params);}else{_loadUserData(params);}};var _executeLoadQueue=function(){for(var i=0;i<loadQueue.length;i++){_loadUserData(loadQueue[i]);}};var _loadUserData=function(params){if(typeof(params.callback)!='undefined'&&typeof(params.callback)!='function'){throw new Error("Callback must be a function!");}
params=$.extend({callback:function(errors){},async:false,attributes:RO_FIELDS,prefs:RW_PREFS,level:undefined},params);var attributesToFetch=_removePrecached(params.attributes,requestedUserData);var prefsToFetch=_removePrecached(params.prefs,requestedUserPrefs);if(!attributesToFetch.length&&!prefsToFetch.length){params.callback.call(this);return;}
var attributesToFetchXml="";var prefsToFetchXml="";if(attributesToFetch.length){attributesToFetchXml="<request><"+attributesToFetch.join('/><')
+"/></request>";}
if(prefsToFetch.length){prefsToFetchXml='<getprefs>'+getPrefLevelXml(params.level)
+'<'+prefsToFetch.join('/><')+"/></getprefs>";}
that.customMessage('<authenticate><hash>'+authKey
+'</hash></authenticate>'+attributesToFetchXml
+prefsToFetchXml,function(data,errors){if(!errors){setDataFromProfilarXml(data,{attributes:attributesToFetch,prefs:prefsToFetch});params.callback.call(this);}else{params.callback.call(this,errors);}},params.async);};that.loadPref=function(callback,include,level){return _addToLoadQueueIfBlocked({callback:callback,prefs:include,level:level});};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>");}
queueCustomMessage(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);});};var loadUsersData=function(options){if(options.callback===undefined&&typeof(options.callback)=='function'){throw new Error('callback must be a function!');};settings=$.extend({userNames:[],callback:function(){},attributes:RO_PUB_FIELDS,prefs:[],level:undefined,auth:true},options);var attributesToFetch=_removePrecached(params.attributes,requestedUserData);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>');};}
queueCustomMessage(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,returnString){options=$.extend({cheetah_ebm:{},cheetah_sub:{},email:that.get('email'),userName:userName,safe:false,fields:[],modify:null,level:null,emptyEmail:false,siteid:SPI._settings.global.site_id,channel:SPI._settings.global.channel_id},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>";}
returnString=returnString||false;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.siteid?('<siteid>'+escapeForXML(options.siteid)+"</siteid>"):'';_msg+=options.channel?('<channel>'+escapeForXML(options.channel)+"</channel>"):'';_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.siteid?('<siteid>'+escapeForXML(options.siteid)+"</siteid>"):'';_msg+=options.channel?('<channel>'+escapeForXML(options.channel)+"</channel>"):'';_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(returnString){return(_msg);}
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.realLoggedIn()){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>');}
queueCustomMessage(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>';queueCustomMessage((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(i){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);}
if(typeof(data.getElementsByTagName("privacy")[i])!='undefined'&&typeof(data.getElementsByTagName("privacy")[i].childNodes[0])!='undefined'){var xmlNode=data.getElementsByTagName("privacy")[i].childNodes[0];xmlNode.nodeValue="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){queueCustomMessage('<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);;;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._settings=jQuery.extend(SPI._settings,{global:{site_id:90,lang_id:"en-US",channel_id:3,avatar_url_big:"/gm/pb/1/rendering/%s",avatar_url_small:"/gm/pb/1/preview/%s",number_format_decimalseparator:',',number_format_thousandsseparator:'.',static_domain:"http://www.girlsgogames.com",domainname:'girlsgogames.com',comments_enabled:'1',version:'9.3.4',my_profile_page:'/profile.html',fbc_enabled:false,profanity_check_enabled:parseInt('1'),emailconfirmation_page:'/emailconfirmation.html'},models:{awards:{awardicon_url:'/hs/pb/1/awardicon/',awardlist:'/hs/pb/1/awards/{channel}/{siteid}/{itemtype}/{itemid}'},highscores:{highscorelist:'/hs/pb/1/list/{siteid}/{itemtype}/{itemid}',friendhighscorelist:'/hs/pb/1/listfriend/{channel}/{siteid}/{itemtype}/{itemid}',avatar_url:'/gm/pb/1/preview/{avatar}',userprofile_link:'/user/{username}'}},search:{list_view_max_title_length:30},avatars:{small_avatar:'/gm/pb/1/preview/%s',big_avatar:'/gm/pb/1/rendering/%s',not_logged_redirect_url:'http://www.girlsgogames.com',redirect_url:'/profile.html',min_upload_level:0,useravatars_limit:0,avatar_url_list:"/gm/pb/1/list/1/%s",avatar_url_delete:"/gm/pb/1/delete/%s",avatar_url_get:"/gm/pb/1/get/%s",report_weight:10,reportar_url:'/rp/pb/1/add/3/%s/10/%s'},myGames:{maxGames:'100'},lastPlayedGames:{maxGames:10,maxOnOverview:5,maxOnFavs:10},wall:{timeurl:'/hs/pb/1/time',textarea_min_chars:2,textarea_max_chars:255,itemsPerPage:10,maxPages:5},myGallery:{mygallery_url_list_user:"/gm/pb/1/list/2/%s",mygallery_url_list_game:"/gm/pb/1/list/2/%s/1/%s",mygallery_url_delete:"/gm/pb/1/delete/%s",mygallery_url_get:"/gm/pb/1/get/%s",mygallery_url_big:"/gm/pb/1/rendering/%s",mygallery_url_small:"/gm/pb/1/preview/%s",mygallery_url_game:"/game_album/%s.html",mygallery_url_details:"/game_album_creation,%s.html",mygallery_url_details_public:"/user/%s/album_creations_user,%s.html",mygallery_url_details_private:"/gallery_details,%s.html",mygallery_url_details_game:"/game_album_creation,%s.html",mygallery_url_onegamegallery:"/game_album/%s.html",mygallery_url_userprofile:"/user/%s/album",mygallery_url_galleryofuser:"/user/%s/album",mygallery_url_mygallery:"/myalbum.html",report_weight:10,reportar_url:'/rp/pb/1/add/3/%s/10/%s',comments_url:'/rt/pb/2/list/3/%s/10/%s',rating_add_url:'/rt/pb/2/add/3/%s/%s',maxImageAuthorLength:11,mygallery_redirect2usercreation:true},achievement:{url:'/hs/pb/1/awards/3/%s/1/%s',thumb_template:'/hs/pb/1/awardicon/%s',maxPages:4,achievementItemsPerPage:'40'},highscore:{defaultView:'daily',order:'0',userprofile_link:'/user/%s',url:'/hs/pb/1/list/%s/1/%s',gamelevelurl:'/hs/pb/1/level',timeurl:'/hs/pb/1/time',noimage:'/img/userprofile/dummy_small.gif',userhighscoresurl:'/hs/pb/1/listuser/%s/1'},gamebar:{textRotateTime:15000},myprofile:{pageurl:'/profile.html',public_pageurl:'/user/%s',profilar_newsletter_sub_aid:'2',maxParentsEmailAge:'13'},gamebar:{login_url:'javascript:showNotificationForSignIn();',register_url:'/register.html'},registration:{profile_public_by_default:false},comments:{comments_per_page:8,reported_limit:3,max_chars:140,timeurl:'/hs/pb/1/time',profile_limit:5,comments_box:"ul#commentsHolder",comments_form:"#cf_form",gameZoomUrl:'/game_album_creation,%s.html',comments_report:'p.cmnt_report a',comments_invite_container:'.friendship_status',comments_invite_class:'.friendship_status a.invite'},emoticons:{"smileys_path":'/img/emoticons/',"smileys":{":-d":{"url":"kolobok_biggrin.gif","desc":"&#58;-&#100;","display":"1"},":-)":{"url":"kolobok_smile.gif","desc":"&#58;-&#41;","display":"1"},";-)":{"url":"kolobok_wink.gif","desc":";-&#41;","display":"1"},":-(":{"url":"kolobok_sad.gif","desc":"&#58;-&#40;","display":"1"},":-o":{"url":"kolobok_surprised.gif","desc":"&#58;-&#111;","display":"1"},":-0":{"url":"kolobok_eek.gif","desc":"&#58;-0","display":"1"},":-?":{"url":"kolobok_confused.gif","desc":"&#58;-&#63;","display":"1"},"8-)":{"url":"kolobok_cool.gif","desc":"8-&#41;","display":"1"},":-x":{"url":"kolobok_mad.gif","desc":"&#58;-&#120;","display":"1"},":-p":{"url":"kolobok_razz.gif","desc":"&#58;-&#112;","display":"1"},":-|":{"url":"kolobok_neutral.gif","desc":"&#58;-&#124;","display":"1"},":d":{"url":"kolobok_biggrin.gif","desc":"&#58;&#100;","display":"0"},":)":{"url":"kolobok_smile.gif","desc":"&#58;&#41;","display":"0"},";)":{"url":"kolobok_wink.gif","desc":";&#41;","display":"0"},":(":{"url":"kolobok_sad.gif","desc":"&#58;&#40;","display":"0"},":0":{"url":"kolobok_eek.gif","desc":"&#58;0","display":"0"},":?":{"url":"kolobok_confused.gif","desc":"&#58;&#63;","display":"0"},"8)":{"url":"kolobok_cool.gif","desc":"8&#41;","display":"0"},":x":{"url":"kolobok_mad.gif","desc":"&#58;&#120;","display":"0"},":p":{"url":"kolobok_razz.gif","desc":"&#58;&#112;","display":"0"},":|":{"url":"kolobok_neutral.gif","desc":"&#58;&#124;","display":"0"},":lol:":{"url":"kolobok_lol.gif","desc":"&#58;l&#111;l&#58;","display":"1"},":oops:":{"url":"kolobok_redface.gif","desc":"&#58;&#111;&#111;&#112;s&#58;","display":"1"},":cry:":{"url":"kolobok_cry.gif","desc":"&#58;cry&#58;","display":"1"},":evil:":{"url":"kolobok_evil.gif ","desc":"&#58;evil&#58;","display":"1"},":twisted:":{"url":"kolobok_twisted.gif","desc":"&#58;twiste&#100;&#58;","display":"1"},":roll:":{"url":"kolobok_rolleyes.gif","desc":"&#58;r&#111;ll&#58;","display":"1"},":!:":{"url":"kolobok_exclaim.gif","desc":"&#58;!&#58;","display":"1"},":ask:":{"url":"kolobok_question.gif","desc":"&#58;ask&#58;","display":"1"},":idea:":{"url":"kolobok_idea.gif","desc":"&#58;i&#100;ea&#58;","display":"1"},":arrow:":{"url":"kolobok_arrow.gif ","desc":"&#58;arr&#111;w&#58;","display":"1"},":mrgreen:":{"url":"kolobok_mrgreen.gif","desc":"&#58;mrgreen&#58;","display":"1"},":geek:":{"url":"kolobok_geek.gif","desc":"&#58;geek&#58;","display":"1"},":ugeek:":{"url":"kolobok_ugeek.gif ","desc":"&#58;ugeek&#58;","display":"1"}},"max_content_length":140,"iconlist_div":"emoHolder","iframe":"#iframe_comment"},attention:{'parents_email_changed_url':'/parents_email_changed.html','parents_reminder_url':'/parents_reminder.html'},friends:{inviteMailEventId:'115026',inviteMailAid:'2078344413',inviteSiteMailEventId:'115028',inviteAcceptedMailEventId:'115007',inviteInviteeMailEventId:'',inviteSiteMinAge:13,search:{paginationStringClass:'friends_search_pagination_string',onBeforeSearchHideObj:'.my_friends_holder'},additionalUserData:{gc:true,fc:true},myFriends:{paginationStringClass:'my_friends_paginationString'},userFriends:{paginationStringClass:'friends_search_pagination_string'},calculatePaginationWidth:false,friendList:{renderNoFriends:false},requestMessage:{rejectFriend:'You have ignored {userlink}\'s friend request',becomeFriend:'You and {userLink} are now friends!',writeOnWall:''}},notice:{friendsURL:'/myfriends.html'},harvester:{popupLink:'/harvest/popup'},cheetach:{emailTypes:{friendregistration:{aid:0,eid:0},invite:{aid:'2078344413',eid:''},inviter:{aid:'2078344413',eid:'115007'},inviteFormHarvest:{aid:'2078344413',eid:'115027'},wallpostAid:'642',wallpostEid:'651',gameInviteToFriends:{aid:836,eid:1094},gameInviteToPortal:{aid:837,eid:1095},gameInviteAndPlay:{aid:835,eid:1093}}},avatarImages:{anonymousIcon:'http://static7.spilcdn.com/gl/img/userprofile/dummy_small.gif',anonymousIconSmall:'http://static6.spilcdn.com/gl/img/spacer.gif',anonymousIconBig:'http://static6.spilcdn.com/gl/img/spacer.gif',small_avatar:'http://static6.spilcdn.com/gl/gm/pb/1/preview/%s',big_avatar:'http://static6.spilcdn.com/gl/gm/pb/1/rendering/%s'},renderSettings:{decorateFriendCounter:true},customPageTitle:{myalbum:'<username>\'s album | <sitename>',myalbum_details:'<username>\'s album | <gametitle> | <sitename>',useralbum:'<username>\'s album | <sitename>',useralbum_details:'<username>\'s album | <gametitle> | <sitename>',creationgames:'<sitename> | Creation Games',gamesalbums:'<sitename> | Albums',gamealbum:'Album | <gametitle> | <sitename>',gamealbum_details:'<username> | <gametitle> | <sitename>'}});SPI._langStrings=jQuery.extend(SPI._langStrings,{relative_date:['','','','','','','','','','','','',''],relative_date_plain:["just now","1 minute ago","%d minutes ago","1 hour ago","%d hours ago","1 day ago","%d days ago","1 week ago","%d weeks ago","1 month ago","%d months ago","1 year ago","%d years ago","Today"],relative_date_friends:["just now","1 minute ago","%d minutes ago","1 hour ago","%d hours ago","1 day ago","%d days ago","1 week ago","%d weeks ago","1 month ago","%d months ago","1 year ago","%d years ago","Today"],avatars:{avatar_saved:'Cool! Your new avatar is in your profile now!',avatar_remove:'Delete this avatar.',set_as_avatar:'Want it!',error_connection:'Something went wrong with the connection. Try again.',error_notlogged:'',prev:"&laquo; Previous",next:"Next &raquo; ",separator:'&#160;',min_upload_level_message:'',user_avatars_limit_reached:'',confirm_delete:'Are you sure you wanna delete this avatar?',au_error_file_to_big:'',au_error_incorrect_file:'',au_error_connection:'',reportar_ok:'',reportar_error:''},sf_global:{have_to_sign_in:'You need to sign in to see this page.',pagination_counter:'Page <strong>%1s</strong> of <strong>%2s</strong>'},myGames:{alreadyInMyGames:'%1$s is already in your Fave Games!',addedToMyGames:'%1$s is a Fave Game!',removedFromMyGames:'This game is no longer in your Fave Games.',removeConfirmation:'Do you really want to delete this game?',prev:'&laquo; Previous',next:'Next &raquo;',gameNotFound:'This game cannot be found.',gameNotFoundDescription:'This game is no longer on the site. You should probably remove it from your Fave Games list.'},myGallery:{moreLink:'View Album',moreLinkEmpty:'View Album',moreLinkPublic:'All Creations',prev:'&laquo; Previous',next:'Next &raquo;',by:'Created by %1$s',closebutton:'Close',nrofcomments:'%1$s comments',your_rating:'What do you think?',ilikepic:'Cool!',idontlikepic:'Nothing special.',removeConfirmation:'Are you sure you want to delete this from your album?',userprofilelink:'/user/%s',gallerydetaillink:'/gallery_details,%s.html',gallerydetaillink2:'/album_creations_user.html',areyousure:'Just double-checking: are you sure this should be reported?',reportar_success:'Your report has been sent.',average_rating:'Average Rating',rating_thanks:'Thanks for rating this game!',gallery_title:'%1$s\'s Album',gamegallery_title:'%1$s Album'},lastPlayedGames:{clear_error:'An error occurred when you tried to empty your most recently played games list. Please try again later.'},achievement:{points:'%1$s points!',prev:'&laquo; Previous',next:'Next &raquo;',award_count_info:'You\'ve won %1$s of %2$s awards.',see_all_x_awards:'See all awards'},highscore:{not_logged_in_info:'',not_logged_info:'',not_logged_warning:'',your_position:'',new_highscore:'',my_highscore:'',no_results:'',guest:'',hsbox_nohighscoresyet:''},userprofile:{private_profile:'%1$s wants to keep this profile private.',validation:{too_young:'Sorry! You are still too young to play on this site without permission.',invalid_date:'That can\\\'t be right. Double-check it, and try again.'}},myprofile:{email_saved:'Email saved.',profile_saved:'Basic info saved.',password_saved:'Password saved.',months:['January','February','March','April','May','June','July','August','September','October','November','December']},gamebar:{logged:{default_achievement:'Have you seen the awards for this game yet? <a %1$s class="switch2achievement">Click here</a>!',default_highscore:'Get %1$s points to make the high score list!',default_image:'Hey %1$s, wanna make a creation for your album?',unlocked_achievement:'This award gets you %1$s points!',unlocked_highscore:'Cool! You have a new high score of %1$s (ranked %2$s).',unlocked_image:'That creation looks great in your album!',hover_achievement:'You\'ve won %1$s of %2$s awards for this game.',hover_highscore:'Your best score is %1$s (ranked %2$s).',hover_image:'You\'ve made %1$s creations in this game so far.'},guest:{guest:'',default_message:'<a %1$s>Sign up for FREE</a> to save your awards, highscores and creations!',unlocked_achievement:'This award will not be saved.',unlocked_highscore:'Congrats, you\'ve set a new high score!<span class="small">This high score will not be saved.</span>',unlocked_image:'Great! You\'ve made a new creation!<span class="small">Creation not saved.</span>',unlocked_right:'Please <a %2$s>sign in</a> or <a %1$s>become a member</a>.'}},comments:{prev:'&laquo; Previous',next:'Next &raquo;',error_comment:'A comment must contain between 1 and 140 characters.',error_submit:'An error occurred while trying to post your comment. Please try again later.',error_over_quota:'Uh-oh, too many comments at once! Please try again, but one at a time…',report_popup:'Thanks for letting us know.',report_question:'Are you sure that this should be reported?',loading_start:'Retrieving comments...',error_loading:'An error occurred while trying to retrieve your comments. Please try again later.',by_user:'from: %1$s',removed:'This comment was not acceptable, so it has been removed.',emptyinlist:'',nocomments:'Be the first to share your opinion!',charactersleft:'%1$s characters left',game_removed_from_site:'This game is no longer on the site.',comments_from_to:'&nbsp;'},attention:{'email_already_sent':'You have already sent an email. Try again tomorrow.'},reports:{report_profile:{title:'Report Sent',send:'Send',cancel:'Cancel',success_header:'Thank you for your feedback. We will look into your report and take appropriate action!',success_info:'(Window will close automatically in 10s...)',error_header:'',error_info:''},report_gamecomment:{title:'Report Sent',send:'Send',cancel:'Cancel',success_header:'Thank you for your feedback. We will look into your report and take appropriate action!',success_info:'(Window will close automatically in 10s...)',error_header:'',error_info:''},report_gamecommentextended:{title:'Report Sent',send:'Send',cancel:'Cancel',success_header:'Thank you for your feedback. We will look into your report and take appropriate action!',success_info:'(Window will close automatically in 10s...)',error_header:'',error_info:''},defaultreporttext:'Tell us below why you want to report this user.'},friends:{paginationString:'Showing <span>%d</span> – <span>%d</span> of <span>%d</span>',popup_friendship_request_send:'Friendship request sent',popup_end_friendship:'Remove a Friend',enfriend_extrastep1:'Are you sure you want to remove this user from your friends list? You won\'t be able to access their friends-only features anymore.',invitefriend_title:'You have requested to add %s to your friends list.',invitefriend_pending:'Friend request sent',endfriend_no:'No',endfriend_yes:'Yes, remove friend.',endfriend_suceess:'You have removed this user from your friends list.',indfriend_extrastep_desc:'(You can request to add this user as a friend again anytime you like.)',male:'Boy',female:'Girl',noFriends:'Want to make friends on %1$s? Let\'s start by checking if anyone you know is already on the site!',prev:'&laquo; Previous',next:'Next &raquo;',prefilled_manual_text:'Come join me on %1$s!',search:{defaultText:'Your friend\'s name or username',noSearchOptions:'',noSearchOptionsSimple:'',incorrectAsterixFormat:'Need 3+ chars. to search!',textToShort:'Need 3+ chars. to search!',userDeleted:'',userConfirmed:'',userDeclined:'',friend_finder_search_results_summary:'%d matches for "%s" found!',less:'Basic Search',more:'Advanced Search',friend_finder_search_results_summary:'%d matches for "%s" found!',friendfinder_inputfield:'Your friend\'s name or username'},userFriends:{userDeleted:'',userConfirmed:'Added as a friend',userDeclined:'Rejected as friend',userInvited:'Invitation sent'},myFriends:{userDeleted:'',friends_title_number_of_friends:'<span class="tc-friends-counter">%d</span> Friends',friends_1_friends:'You have <span class="tc-friends-counter">1</span> friend'},profilePanel:{friendsAlready:'We\'re friends',deleteFriend:'Delete friend',confirmDelete:'You have deleted %s',confirmInvite:'You have requested to add %s to your friends list.'},requestMessage:{rejectFriend:'You have ignored {userlink}\'s friend request',becomeFriend:'You and {userLink} are now friends!',writeOnWall:''}},wall:{delete_confirmation:'Are you sure you want to delete this post?',deleteall_confirmation:'Are you sure you want to delete ALL posts on this page?',delete_success:'Post removed',deleteall_success:'All posts removed',delete_error:'Error occured, try again',wallmessage_deletetitle:'Delete Message?',wallmessage_deletealltitle:'DELETE POSTS?',wallmessage_deletediscription:'Are you sure you want to delete this message?',wallmessage_deletediscriptionextra:'',wallmessage_deletealldescription:'Are you sure you want to delete all %d posts on this page?',wallmessage_deletesucces:'This message has been deleted.',wallmessage_buttondelete:'Delete',wallmessage_cancel:'Cancel',wallmessage_deletesucces_plural:'All posts on this page have been deleted.',wallmessage_delete_header:'Post deleted',wallmessage_delete_header_plural:'POSTS DELETED',advancedsearch_validation_cannot_connect:'Uh oh, something\'s wrong with the connection. Please try again later.',friend_pending:'Friend request sent',alert_post_too_short:'Message is too short (min. 5 char.)!',alert_post_too_long:'Message is too long (max. %s char.)!',prev:'&laquo; Previous',next:'Next &raquo;',wallmessage_nomessages:'There aren\'t any posts on this message board yet. Leave the first one!'},notice:{newfriendrequest:'You have a new friend request! Click <a href="%1$s">here</a> to respond.',newfriendrequests:'You have new friend requests! Click <a href="%1$s">here</a> to respond.',alreadyinvited:'You\'ve already sent a friend request to this user.',rejected:'You have ignored %s\'s friend request. This user will not be added to your friends list.',accepted:'Yay, %s has been added to your friends list!',newinvitation:'<span>%s</span>\n I would like to add you as a friend. Do you accept?',harvestingdone:'Great, your friend requests and invites have been sent!',inviteuser:'Do you want to ask this user to be friends?',error_message:'',profile_latest_activities_message_from_to:'%userlinkFrom% wrote on %userlinkTo% board.',template_element_you:'',template_element_his_her:'',template_element_your:'',template_element_your_own:'',template_element_whats_on_your_mind:'What are you up to?',template_element_write_something:''},popup:{close:'Close'},notifications:{general:{all:'All',friends:'Friend Request(s)',system:'GirlsgoGames',show:'Show:',empty:'No notifications at the moment.'},welcome:{title:'Welcome to GirlsgoGames.com!',text:'It\'s great that you\'ve become a member of GirlsgoGames.com! Now you can <a href="/avatars.html">design an avatar</a>, <a href="/myalbum.html">create an album</a>, <a href="/games/award_games.html">win awards</a>, <a href="/games/highscore_games.html">set high scores</a>, and <a href="/myfriends.html">make friends</a>! We\'re going to have SO much fun!',close:'Close',image:''},friend_request:{title:'New Friend Request(s)!',text:'You have a new friend request from {userLink}!',accept:'Accept',reject:'Ignore',becomeFriend:'***Friend {username} accepted***',rejectFriend:'***Friend {username} rejected***'},friend_request_accepted:{title:'We are now friends!',text:'{userLink} has been added to your friends list.',close:'Close'},infoString:'Showing <span>{start}</span> - <span>{stop}</span> of <span>{total}</span>'},harvester:{connect:'We\'re now checking your contacts against our members. We\'ll close this window when we\'re done.',gmail:'Gmail',yahoo:'Yahoo',live:'Windows Live',gmail_step2:'Gmail',yahoo_step2:'Yahoo!',live_step2:'Windows Live',secondDescription:'We\'ve checked all %1$s of your contacts imported from %2$s.',thirdDescription:'We\'ve checked all %1$s of your contacts imported from %2$s.',step1_pagetitle:'',step2_pagetitle:'%1$s contacts located!',step3_pagetitle:'Invite more friends!',start_importing:'Just a Minute…',friends_found_on_portal:'Contacts found on %1$s: %2$s',friends_found_on_mail:'Not yet joined: %1$s',friends_invite_harvest_step3_maxchars:'%1$s characters left',friends_invite_harvest_manualinvite_boxtitle:'Sending Invites',friends_invite_harvest_manualinvite_body:'Ask your friends to check their emails!',friends_invite_harvest_manualinvite_inprogress:'Sending...',friends_invite_harvest_step3_default_text:'Dear friend,\nI\'d like to invite you to come check out GirlsGoGames. If you become a member (for free), we can be friends and share favorite games, awards, creations, high scores, and more!\nI hope to see you there!',contacts_located:'%1$s contacts located!',invite_contacts:'Invite contacts',invite_sitecontacts:'Invite %1$s contacts'},loginbar:{points_left:'',level:''},search:{prev:'&laquo; Previous',next:'Next &raquo;'},alerts:{"functional":{"3":["Here you can see what you've been up to around the site, and what your friends have been doing too! Now you'll never miss out on the exciting stuff that's going on!","Keep up-to-date with what's going on!"],"2":["This is where we'll show you all the important notifications about using the site, like friend requests, messages from us, and more!","Here you can see your notifications."],"4":[""],"1":["Click <a href=\"\/inbox.html\">here<\/a> to see your {friend_requests_count} friend request(s)!"],"14":["You don't have an avatar yet. Create or select one <a href=\"\/avatars.html\">here<\/a>!"],"5":["Did you know you can win awards for your profile? Play some <a href=\"\/games\/awardgames.html\">award games<\/a> now and try to win some!"]},"promotional":{"5":[""],"2":[""],"4":[""]}},alert_helpers:{close_button:''},activityFeed:{friend_achieved_award:'{userName} won the {award_json_title} award in {game_json_gamelink}>{game_json_title}</a> and got <span class="bold">{points} points</span>.',friend_comment_game:'{userName} commented on the game {game_json_gamelink}>{game_json_title}</a>',friend_friendship_add:'{userName} is now friends with {friendName}.',friend_highscore_add_alltime:'{userName} got a high score of <span class="strong">{score}</span> in {game_json_gamelink}>{game_json_title}</a> ranking her <span class="strong">{rank}</span> in the all-time high scores list!',friend_highscore_add_daily:'{userName} got a high score of <span class="strong">{score}</span> in {game_json_gamelink}>{game_json_title}</a> ranking her <span class="strong">{rank}</span> in the daily high scores list!',friend_highscore_add_weekly:'{userName} got a high score of <span class="strong">{score}</span> in {game_json_gamelink}>{game_json_title}</a> ranking her <span class="strong">{rank}</span> in the weekly high scores list!',friend_register:'{userName} became a member of GirlsgoGames.com!',friend_set_avatar:'{userName} changed her avatar.',user_achieved_award:'You won the <span class="strong">{award_json_title}</span> award in {game_json_gamelink}>{game_json_title}</a> and got <span class="bold">{points}</span> points!',user_comment_game:'You commented on the game {game_json_gamelink}>{game_json_title}</a>',user_friendship_add:'You and {friendName} are now friends!',user_highscore_add_alltime:'You got a high score of <span class="strong">{score}</span> in {game_json_gamelink}>{game_json_title}</a> ranking you <span class="strong">{rank}</span> in the all-time high scores list!',user_highscore_add_daily:'You got a high score of <span class="strong">{score}</span> in {game_json_gamelink}>{game_json_title}</a> ranking you <span class="strong">{rank}</span> in the daily high scores list!',user_highscore_add_weekly:'You got a high score of <span class="strong">{score}</span> in {game_json_gamelink}>{game_json_title}</a> ranking you <span class="strong">{rank}</span> in the weekly high scores list!',user_register:'You became a member of GirlsgoGames.com!',user_set_avatar:'You changed your avatar.'},wallMessages:{delete_confirmation:'Are you sure you want to delete this post?',deleteall_confirmation:'Are you sure you want to delete ALL posts on this page?',delete_success:'Post removed',deleteall_success:'All posts removed',delete_error:'Error occured, try again',wallmessage_deletetitle:'Delete Message?',wallmessage_deletealltitle:'DELETE POSTS?',wallmessage_deletediscription:'Are you sure you want to delete this message?',wallmessage_deletediscriptionextra:'',wallmessage_deletealldescription:'Are you sure you want to delete all %d posts on this page?',wallmessage_deletesucces:'This message has been deleted.',wallmessage_buttondelete:'Delete',wallmessage_cancel:'Cancel',wallmessage_deletesucces_plural:'All posts on this page have been deleted.',wallmessage_delete_header:'Post deleted',wallmessage_delete_header_plural:'POSTS DELETED',advancedsearch_validation_cannot_connect:'Uh oh, something\'s wrong with the connection. Please try again later.',friend_pending:'Friend request sent',alert_post_too_short:'Message is too short (min. 5 char.)!',alert_post_too_long:'Message is too long (max. %s char.)!',prev:'',next:'',wallmessage_nomessages:'There aren\'t any posts on this message board yet. Leave the first one!',wallmessage_connection_error:'',yourOwnPost:'You posted a message on your own profile:',hisOwnPost:'{user1} left a post on his own profile.',herOwnPost:'{user1} left a post on her own profile.',theirOwnPost:'{user1} left a post on their own profile.',yourPost:'You posted a message on {user}\'s profile:',theirPost:'{user1} posted a message on {user2}\'s profile.',toYouPost:'{user} posted a message on your profile!',wallmessage_connection_error:''},facebook:{titles:{connect_with_facebook:'Connect with facebook',unlinked_account:'Unlinked Facebook Account',hurrayUsername:'Hurray %s',operationInProgress:'Operation in progress',fbc_oops_wrong:'Oops something went wrong',link_account:'Link account'},buttons:{sign_in:'Sign In',link_account:'Link account'},fbc_trouble_connecting:'',fbc_trouble_permissions:'You have to grant permissions in order to connect',fbc_trouble_login:'You have to log in into FB in order to connect.',facebookConnRemoved:'Facebook connection removed'}});SPI._templates=jQuery.extend(SPI._templates,{facebook:{popup_register_no_account:'<form name="registration_form" id="registerbox-form" action="" method="post">\n<input type="hidden" name="gender" id="fb_gender" value="" />\n<input type="hidden" name="age" id="fb_age" value="" />\n<input type="hidden" name="email" id="fb_email" value="" />\n    <div class="registerForm" id="register">\n        <p class="info info_name">Ey <span></span>  We\'ve got your detail from Facebook.</p>\n        <div class="dotted-line">&nbsp;</div>\n        <p class="info info_username">All we need is a username</p>\n        <ul>\n            <li class="field ttL">\n                <div class="name"><label for="fb_username">Your Username:</label></div>\n                <div class="whatIs"><a href="#">What\'s this for?</a>\n                    <span class="tooltipHidden">Your username will be visible to all users, so it\'s not a good idea to use your real name. It\'s better to make something up. Be creative!</span>\n                </div>\n                <div class="input">\n                    <input tabindex="2001" type="text" id="fb_username" name="username" class="register" maxlength="20" />\n                    <div id="validationUser" class="validation">\n                  <div id="username_validationCorrectImage" class="registration-sprites registration-sprites-validationcorrect"><div></div></div>\n                  <div id="username_validationErrorImage" class="registration-sprites registration-sprites-validationerror"><div></div></div>\n              </div>\n                    <div class="clear"></div>\n                    <div id="error-message-username-taken" class="error whatIs" style="display: none;">Someone\'s already using that name. Make up another, or try one of these: <span id="username_suggestion" class="suggestion"></span></div>\n                    <div id="error_username_too_short" class="error whatIs" style="display: none;">Your username has to be at least 3 characters long.</div>\n                    <div id="error_incorrect_username" class="error whatIs" style="display: none;">Sorry, you can\'t use that. Pick something else.</div>\n                    \n                    <div id="error_profanity_username" class="error whatIs" style="display: none;">This username contains words that we do not allow, please choose another.</div>\n                </div>\n            </li>\n        </ul>\n    <div class="privacyPolicy">\n        <input checked="checked" id="fb_policy" type="checkbox" name="acceptance" class="registration-checkbox" \n                    style="display: none;"\n        />\n        By becoming a member of GirlsGoGames, you\'re accepting the rules and terms in our <a href="/privacy_policy.html" target="_blank">Privacy Policy</a> and <a href="/disclaimer.html" target="_blank">Terms of Use</a>.    </div>\n    <div class="validation-checkbox">\n        <div class="registration-sprites registration-sprites-validationcorrect" id="fb_acceptance_validationCorrectImage" style="display: none;"><div></div></div>\n        <div class="registration-sprites registration-sprites-validationerror" id="fb_acceptance_validationErrorImage" style="display: none;"><div></div></div>\n    </div>\n    <br class="cb" />\n\n     </div>\n</form>\n<br style="clear: both" />\n<script type="text/javascript">\n    $(function() {\n        $(\'.ttL\').dTooltip({\n            eventHandler:\'a\',\n            displayDiv: \'tltleft\',\n            content:\'.tltcontent\',\n            track:true,\n            position:\'left\',\n            x: 10,\n            y: 5,\n            drawItemCallback: \'drawVirtualItem\'\n        });\n    });\n</script>',popup_register_existing_account:'<div class="info">\n    <strong>Hurray you are almost done</strong>\n        You have an account here with <span id="registered_email">testemail@ggg.com</span>. Login to Girlsgogames.com and connect your accounts or</div>\n<div class="error">\n    Oops! The username or password are incorrect.</div>\n    <form method="">\n        \n        <label class="standard-forms" for="fb_username">Your Username:</label>\n        <div class="inputwrapper-left">\n            <div class="inputwrapper-right">\n                <input class="standard-forms" type="text" id="fb_username" tabindex="1111" />\n            </div>\n        </div>\n        <label class="standard-forms" for="fb_password">Your Password:</label>\n        <div class="inputwrapper-left">\n            <div class="inputwrapper-right">\n                <input class="standard-forms" type="password" id="fb_password" tabindex="1112" />\n            </div>\n        </div>\n        <p class="forgot_password">\n            <a href="/forgotten_password.html">Forgot your password?</a>\n        </p>\n        <input type="submit" class="hidden" />\n    </form>',popup_operation_in_progress:'<div class="message">\n    Do not close this window until operation is finished.</div>',popup_unlink_account:'<div class="fbc-unlink-text">You\'ve unlinked with Facebook and you now need a password for this site to continue</div>\n<div class="fbc-dotted-separator"></div>\n<form name="popup_form_fbc_unlink" id="popup_form_fbc_unlink">\n    <div class="fb-unlink-form" id="unlink_form_content">\n        <div id="error_password_too_short" class="error-unlink error_password" style="display: none;"><span>You need a strong password with at least 6 characters</span></div>\n        <div id="error_password_confirmation" class="error-unlink error_password_repeat error_same" style="display: none;"><span>Both passwords must match and have at least 6 characters</span></div>\n\n        <ul>\n            <li class="field ttL">\n\n                <div class="name"><label for="fb_username">Your Password:</label></div>\n                <div class="input">\n                    <input tabindex="2001" type="password" id="unlink_password" name="password" class="pass-fbc-unlink" />\n                </div>\n            </li>\n            <li class="field ttL fbc-unlink-pass2">\n                <div class="name"><label for="fb_username">Retype Password:</label></div>\n                <div class="input">\n                    <input tabindex="2002" type="password" id="unlink_retype_password" name="retype_password" class="pass-fbc-unlink" />\n                </div>\n            </li>\n\n        </ul>\n    </div>\n    <div class="unlink-form-buttons">\n        <div class="dbuttonHolder"><span class="dbuttonLeft">Submit</span><span class="dbuttonRight">&nbsp;</span></div><div class="cb"></div> \n    </div>\n    <div class="unlink-form-links">\n       or <a href="#" id="unlink_popup_close">Cancel</a>    </div>\n</form>\n\n<br style="clear: both" />\n<script type="text/javascript">\n$(function(){\n    $(\'#unlink_popup_close\').click(function(){\n        SPI.popup.close();\n        });\n});\n</script>',popup_unlink_account_success:'<div class="message">\n    <span>Your account is no longer linked to Facebook and ypur new password has been saved.</span> \n</div>',popup_link_account_success:'<div class="message">\n    <span>We\'ve succesfully linked your account with the email address %s. You can now login with your Facebook</span> \n</div>',popup_account_linked_to_another_profile:'<div class="message">\n    <span></span> \n</div>'},achievement:{myawards_li:'<span class="trigger"><%=gameUrl%>><span class="awardicon"><img width="75" height="75" src="<%=thumbPath%>" alt="" /></span><span class="awardoverflow"><span class="awardname"><%=SPI.escape(awardTitle)%></span></span></a><span class="tooltipHidden awname"><%=SPI.escape(awardTitle)%></span><span class="tooltipHidden desc"><%=SPI.escape(desc)%></span><span class="tooltipHidden points"><%=SPI.escape(pointsWithDifficultyString)%></span><span class="tooltipHidden game"><%=SPI.escape(gameTitle)%></span></span>',myawards_li_empty:'<li id="awid_<%=liid%>" class="<%=extraclass%>"><span class="trigger"><span class="awardicon"><img src="http://static6.spilcdn.com/gl/img/spacer.gif" class="award_75" alt="" /></span></span></li>',latest_li:'<span class="trigger"><%=gameUrl%>><span class="awardicon"><img class="award_75" width="75" height="75" src="<%=thumbPath%>" alt="" /></span><span class="awardoverflow"><span class="awardname"><%=SPI.escape(awardTitle)%></span></span></a><span class="tooltipHidden awname"><%=SPI.escape(awardTitle)%></span><span class="tooltipHidden desc"><%=SPI.escape(desc)%></span><span class="tooltipHidden points"><%=SPI.escape(pointsWithDifficultyString)%></span><span class="tooltipHidden game"><%=gameTitle%></span></span>'},highscore:{highscorebox_profile_rowcontent:'<div class="overflowElement"><%=link%>><%=SPI.escape(title)%></a><p class="score"><%=score%></p><img class="tooltipHidden" title="<%=SPI.escape(title)%>" alt="<%=SPI.escape(title)%>" src="<%=thumbnail%>" /><a href="#" class="tooltipHidden"><%=subcategory%></a><span class="tooltipHiddenRating"><%=rating%></span></div>',highscorebox_profile_emptyrow:'<li class="<%=extraClass%>"><div class="digit"><%=index%></div><div class="gamedata">&#160;</div></li>',game_highscore_li:'<li <%=liExtra%>><span class="position"><%=position%></span><span class="avatar"><% if (userLink) { %><a href="<%=userLink%>"><% } %><img class="avatar" src="<%=avatarUrl%>" width="32" height="32" alt="<%=SPI.addslashes(username)%>" border="0" /><% if (userLink) { %></a><% } %></span><span class="username"><% if (userLink) { %><a href="<%=userLink%>"><% } %><%=userNameCutted%><% if (userLink) { %></a><% } %> <% if (userLink) { %><a class="nounderline" href="<%=userLink%>"><% } %><span class="when">(<%=date%>)</span><% if (userLink) { %></a><% } %></span><span class="score"><%=SPI.number_format(score)%></span></li>',game_my_highscore:'<li <%=liExtra%>><span class="position"><%=position%></span><span class="avatar"><% if (userLink) { %><a href="<%=userLink%>"><% } %><img class="avatar" src="<%=avatarUrl%>" width="32" height="32" alt="<%=SPI.addslashes(username)%>" border="0" /><% if (userLink) { %></a><% } %></span><span class="username"><% if (userLink) { %><a href="<%=userLink%>"><% } %><%=userNameCutted%><% if (userLink) { %></a><% } %> <% if (userLink) { %><a class="nounderline" href="<%=userLink%>"><% } %><span class="when">(<%=date%>)</span><% if (userLink) { %></a><% } %></span><span class="score"><%=SPI.number_format(score)%></span></li>'},myGames:{myprofile:'&nbsp;',myprofile_empty:'<li id="<%=li_id%>_<%=ndx%>" class="profileGameFrame <%=ttclass%>"><a class="profileGameItem" href="#"><span class="gameNew" style="background: url(http://static5.spilcdn.com/gl/img/new_90.gif) no-repeat;"></span><img alt="" class="gameThumb" src="" /><span class="gameTitleOverflow"><span class="gameTitle"></span></span></a><a class="gameDelete pngfix" href="#"></a> <span class="tooltipHidden tooltipDescription"></span><span class="tooltipHidden tooltipSubcategory"></span><span class="tooltipHiddenRating tooltipRatingLabel">Rating</span><span class="tooltipHiddenRating tooltipRatingValue"></span></li>',myprofile_error:'&nbsp;',myprofile_indicator:'<span class="indicator_fav"></span>',userprofile:'&nbsp;',userprofile_empty:'&nbsp;',userprofile_error:'&nbsp;'},lastPlayedGames:{overview_li:'<%=gamelink%>><%=SPI.cutStringPlease(title, 28)%></a>',favs_li:'<span><%=i%></span><%=gamelink%>><%=SPI.cutStringPlease(title, 20)%></a>'},comments:{li:'<li><p class="cmnt_report"><%=SPI.iff(show_report_button, "<a href=\'#\'>Report this comment.</a>", "")%></p><a class="iconlink" href="<%=SPI.sprintf("/user/%s", username)%>"><img alt="" class="icon" src="<%=SPI.escape(avatar_url)%>" /></a><div class="commentWrapper2"><div class="commentText2"><a class="commentTitle" href="<%=SPI.sprintf("/user/%s",username)%>"><%=SPI.sprintf(SPI._langStrings.comments.by_user, username)%></a><div class="commentBody<%=commentClass%>"><%=SPI.comments.fixWrap(SPI.escape(comment.replace(/\r?\n/g, " ")), "<br />")%></div></div><img alt="" src="http://static5.spilcdn.com/gl/img/comment_x.gif" /><div class="comment_time"><%=date%></div></div></li>',li_comment_invite:'<li><p class="cmnt_report"><%=SPI.iff(show_report_button, "<a href=\'#\'>Report this comment.</a>", "")%></p><a class="iconlink" href="<%=SPI.sprintf("/user/%s", username)%>"><img alt="" class="icon" src="<%=SPI.escape(avatar_url)%>" /></a><div class="commentWrapper2"><div class="commentText2"><a class="commentTitle" href="<%=SPI.sprintf("/user/%s",username)%>"><%=SPI.sprintf(SPI._langStrings.comments.by_user, username)%></a><div class="friendship_status"><a href="" rel="<%= username %>" class="invite">Add to friends</a> <span class="pending" style="display: none;">Request sent</span></div><div class="commentBody<%=commentClass%>"><%=SPI.comments.fixWrap(SPI.escape(comment.replace(/\r?\n/g, " ")), "<br />")%></div></div><img alt="" src="http://static5.spilcdn.com/gl/img/comment_x.gif" /><div class="comment_time"><%=date%></div></div></li>',li_comment_accepted:'<li><p class="cmnt_report"><%=SPI.iff(show_report_button, "<a href=\'#\'>Report this comment.</a>", "")%></p><a class="iconlink" href="<%=SPI.sprintf("/user/%s", username)%>"><img alt="" class="icon" src="<%=SPI.escape(avatar_url)%>" /></a><div class="commentWrapper2"><div class="commentText2"><a class="commentTitle" href="<%=SPI.sprintf("/user/%s",username)%>"><%=SPI.sprintf(SPI._langStrings.comments.by_user, username)%></a><div class="friendship_status"><a class="accepted" target="_blank" href="<%=SPI.sprintf("/user/%s", username)%>">Post a message</a></div><div class="commentBody<%=commentClass%>"><%=SPI.comments.fixWrap(SPI.escape(comment.replace(/\r?\n/g, " ")), "<br />")%></div></div><img alt="" src="http://static5.spilcdn.com/gl/img/comment_x.gif" /><div class="comment_time"><%=date%></div></div></li>',li_comment_pending:'<li><p class="cmnt_report"><%=SPI.iff(show_report_button, "<a href=\'#\'>Report this comment.</a>", "")%></p><a class="iconlink" href="<%=SPI.sprintf("/user/%s", username)%>"><img alt="" class="icon" src="<%=SPI.escape(avatar_url)%>" /></a><div class="commentWrapper2"><div class="commentText2"><a class="commentTitle" href="<%=SPI.sprintf("/user/%s",username)%>"><%=SPI.sprintf(SPI._langStrings.comments.by_user, username)%></a><div class="friendship_status"><span class="pending">Request sent</span></div><div class="commentBody<%=commentClass%>"><%=SPI.comments.fixWrap(SPI.escape(comment.replace(/\r?\n/g, " ")), "<br />")%></div></div><img alt="" src="http://static5.spilcdn.com/gl/img/comment_x.gif" /><div class="comment_time"><%=date%></div></div></li>',li_game_profile:'<p class="cmnt_report">&nbsp;<a href="#" class="report-icon">Report this comment.</a></p><div class="whiteWrapper"><div class="icon"><%=gameurl%> class="commentOnGame">&nbsp;</a></div><div class="commentDate">About <%=gameurl%>><%=SPI.escape(gamename)%></a><br/>(<%=date%>)</div><div class="commentWrapper"><div class="commentText"><p class="commentBody"><%=SPI.escape(comment.replace(/\r?\n/g, " "))%></p></div></div></div><div class="cb"></div>',li_game_profile_empty:'<p class="cmnt_report">&nbsp;<a href="#">Report this comment.</a></p><div class="icon"><a href="javascript:;" style="cursor: default;" class="commentOnGame">&nbsp;</a></div><div class="commentWrapper"><div class="commentText"><p class="commentDate"><%=SPI.escape(gamename)%>&nbsp;(<%=date%>)</p><p class="commentBody"><%=SPI.escape(comment.replace(/\r?\n/g, " "))%></p></div></div><div class="cb"></div>',li_ugc_profile:' <p class="cmnt_report">&nbsp;<a href="#" class="report-icon">Report this comment.</a></p><div class="whiteWrapper"><div class="icon"><a href="<%=url%>" class="commentOnUGC">&nbsp;</a></div><div class="commentDate">About <a href="<%=url%>"><%=SPI.escape(itemname)%></a><br/>(<%=date%>)</div><div class="commentWrapper"><div class="commentText"><p class="commentBody"><%=SPI.escape(comment.replace(/\r?\n/g, " "))%></p></div></div></div><div class="cb"></div>'},friends:{search:{resultHolder:'<li class="<%=extraClass%>" id="<%=i%>"><img class="friendsLoading loading_blue" src="http://static6.spilcdn.com/gl/img/_/friends/loading_blue.gif"><img class="friendsLoading loading_white" src="http://static5.spilcdn.com/gl/img/_/friends/loading_white.gif"></li>',resultBodyPrivate:'<div class="friends_search_item_holder"><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatarBig%>" alt="<%=username%>"></a></div><p class="usernameHolder"><a href="<%=userprofilelink%>"><%=username%></a></p><p class="usernameHolder searchPrivateProfile"><%=SPI.sprintf(SPI._langStrings.userprofile.private_profile, username)%></p><%=actionLink%></div>',resultBodyPublic:'<div class="friends_search_item_holder"><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatarBig%>" alt="<%=username%>"></a></div><p class="usernameHolder"><a href="<%=userprofilelink%>"><%=username%></a></p><p class="usernameHolder"><%if(givenname.length>0){%><%=SPI.escape(givenname)%><%}%><%if((""+age).length>0){%>(Age  <%=age%>)<%}%></p><p class="usernameHolder"><%=gender%></p><%=actionLink%></div>',action_self:'<p class="usernameHolder usernameHolderBlue"><span class="icon icon_points"></span><span class="text friends_points"><%=points%></span><span class="icon icon_galery"></span><span class="text friends_galery"><%=galeryCount%></span><span class="icon icon_awards"></span><span class="text friends_awards"><%=awardsCount%></span><span class="icon icon_friends"></span><span class="text friends_friends"><%=friendsCount%></span></p>',action_invite:'<div class="dbtn dbtnSendRequest dbtnleft searchResultActionLinkInvite"><a href="#" class="left friends_search_result_action">Send friend request<span class="right">&nbsp;</span></a></div>',action_delete:'<p class="usernameHolder usernameHolderBlue"><span class="icon icon_points"></span><span class="text friends_points"><%=points%></span><span class="icon icon_galery"></span><span class="text friends_galery"><%=galeryCount%></span><span class="icon icon_awards"></span><span class="text friends_awards"><%=awardsCount%></span><span class="icon icon_friends"></span><span class="text friends_friends"><%=friendsCount%></span></p><p class="userActionLink"><span class="tltHolder"><a href="<%=userprofilelink%>#reply_wall"><span class="tooltipHidden">Post a message</span></a></span><p>',action_accept:'<div class="dbtn dbtnRequestPending dbtnleft searchResultActionLink"><span class="left">Friend request sent<span class="right">&nbsp;</span></span></div>',action_pending:'<div class="dbtn dbtnRequestPending dbtnleft searchResultActionLink"><span class="left">Friend request sent<span class="right">&nbsp;</span></span></div>'},friendList:{accepted:{content:'&nbsp;',manage_accepted:'&nbsp;',manage_sent:'&nbsp;',manage_none:'&nbsp;'},received:{content:'<li><a href="<%=SPI.sprintf("/user/%s", username)%>"><img src="<%=avatar_url%>" alt="" /><%=username%></a> | <a class="accept" href="#">Accept as friend</a> | <a class="decline" href="#">Reject as friend</a></li>'},sent:{content:'<li><a href="<%=SPI.sprintf("/user/%s", username)%>"><img src="<%=avatar_url%>" alt="" /><%=username%></a></li>'},latest:{content:'<li class="<%=extraClass%>"><a href="<%=SPI.sprintf("/user/%s",username)%>"><span class="lf-avatar"><img class="avatar_36" width="36" height="36" border="0" alt="<%=username%>" src="<%=avatar_url%>"></span><span class="lf-username"><%=SPI.cutStringPlease(username, 10)%></span></a></li>',emptyrow:'<li class="<%=extraClass%>"><span class="lf-avatar"><img class="avatar_36" width="36" height="36" border="0" alt="" src="<%=avatar_url%>"></span><span class="lf-username">&#160;</span></li>',total:'<div class="total"><a href="<%=SPI.sprintf(allfriendsUrl, username)%>"><%=SPI.sprintf("See all friends", total)%></a></div><div class="latestFriendsBottomLeft"></div><div class="latestFriendsBottomMiddle"></div><div class="latestFriendsBottomRight"></div>',nofriends_public:'<div class="friends_friendlist_nofriends_public"><div class="latestFriendsNoFriendsPublic"><div class="info">This user has no friends yet.</div></div><div class="latestFriendsBottomLeft"></div><div class="latestFriendsBottomMiddle"></div><div class="latestFriendsBottomRight"></div></div>',nofriends:'<div class="friends_friendlist_nofriends"><div class="nofriends_bg"><div class="buttons"><div class="dbtn dbtnSimple dbtnleft"><a href="<%=searchfriendsUrl%>" class="left ">Look for Friends<span class="right">&nbsp;</span></a></div></div></div></div>'}},myFriends:{resultHolder:'<li class="<%=extraClass%>" id="<%=i%>"><img class="friendsLoading loading_blue" src="http://static6.spilcdn.com/gl/img/_/friends/loading_blue.gif"><img class="friendsLoading loading_white" src="http://static5.spilcdn.com/gl/img/_/friends/loading_white.gif"></li>',resultBodyPrivate:'<a class="friends_search_item_holder"><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatar%>" alt="<%=username%>"></a></div><p class="usernameHolder"><a href="<%=userprofilelink%>"><%=username%></a></p><p class="usernameHolder">&nbsp;</p><p class="usernameHolder usernameHolderPrivate">Private Profile</p><%=actionLink%></a>',resultBodyPublic:'<div class="friends_search_item_holder"><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatarBig%>" alt="<%=username%>"></a></div><p class="usernameHolder"><a href="<%=userprofilelink%>"><%=username%></a></p><p class="usernameHolder givenname"><%if(givenname.length>0){%><%=SPI.escape(givenname)%><%}%><%if((""+age).length>0){%>(Age <%=age%>)<%}%></p><p class="usernameHolder"><%=gender%></p><p class="usernameHolder usernameHolderBlue"><span class="icon icon_points"></span><span class="text friends_points"><%=points%></span><span class="icon icon_galery"></span><span class="text friends_galery"><%=galeryCount%></span><span class="icon icon_awards"></span><span class="text friends_awards"><%=awardsCount%></span><span class="icon icon_friends"></span><span class="text friends_friends"><%=friendsCount%></span></p><%=actionLink%></div>',action_delete:'<p class="userActionLink"><span class="tltHolder"><a href="<%=userprofilelink%>#reply_wall"><span class="tooltipHidden">Post a message</span></a></span><span class="tltHolder"><a class="friends_search_result_action friends_search_item_bottomlink" href="#"><span class="tooltipHidden">Remove from my friends</span></a></span></p>'},userFriends:{resultHolder:'<li class="<%=extraClass%>" id="<%=i%>"><img class="friendsLoading loading_blue" src="http://static6.spilcdn.com/gl/img/_/friends/loading_blue.gif"><img class="friendsLoading loading_white" src="http://static5.spilcdn.com/gl/img/_/friends/loading_white.gif"></li>',resultBodyPrivate:'<div class="friends_search_item_holder"><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatarBig%>" alt="<%=username%>"></a></div><p class="usernameHolder"><a href="<%=userprofilelink%>"><%=username%></a></p><p class="usernameHolder searchPrivateProfile"><%=SPI.sprintf(SPI._langStrings.userprofile.private_profile, username)%></p><%=actionLink%></div>',resultBodyPublic:'<div class="friends_search_item_holder"><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatarBig%>" alt="<%=username%>"></a></div><p class="usernameHolder"><a href="<%=userprofilelink%>"><%=username%></a></p><p class="usernameHolder"><%if(givenname.length>0){%><%=SPI.escape(givenname)%><%}%><%if((""+age).length>0){%>(Age  <%=age%>)<%}%></p><p class="usernameHolder"><%=gender%></p><%=actionLink%></div>',action_self:'<p class="usernameHolder usernameHolderBlue"><span class="icon icon_points"></span><span class="text friends_points"><%=points%></span><span class="icon icon_galery"></span><span class="text friends_galery"><%=galeryCount%></span><span class="icon icon_awards"></span><span class="text friends_awards"><%=awardsCount%></span><span class="icon icon_friends"></span><span class="text friends_friends"><%=friendsCount%></span></p>',action_invite:'<div class="dbtn dbtnSendRequest dbtnleft searchResultActionLinkInvite"><a href="#" class="left user_friends_result_action">Send friend request<span class="right">&nbsp;</span></a></div>',action_delete:'<p class="usernameHolder usernameHolderBlue"><span class="icon icon_points"></span><span class="text friends_points"><%=points%></span><span class="icon icon_galery"></span><span class="text friends_galery"><%=galeryCount%></span><span class="icon icon_awards"></span><span class="text friends_awards"><%=awardsCount%></span><span class="icon icon_friends"></span><span class="text friends_friends"><%=friendsCount%></span></p><p class="userActionLink"><span class="tltHolder"><a href="<%=userprofilelink%>#reply_wall"><span class="tooltipHidden">Post a message</span></a></span><p>',action_accept:'<div class="dbtn dbtnRequestPending dbtnleft searchResultActionLink"><span class="left">Friend request sent<span class="right">&nbsp;</span></span></div>',action_pending:'<div class="dbtn dbtnRequestPending dbtnleft searchResultActionLink"><span class="left">Friend request sent<span class="right">&nbsp;</span></span></div>'},profilePanel:{holder:'<div class="friends_profilePanel_holder"><%=acl%></div>',msgBox:'&nbsp;',actionnone:'<div class="dbtn dbtnSendRequest dbtnleft friends_profilePanel_none"><a href="#" class="left friends_profilePanel_actionlink">Send friend request<span class="right">&nbsp;</span></a></div>',actionaccepted:'<div class="dbtn dbtnRequestAccepted dbtnleft "><span class="left">We\'re friends!<span class="right">&nbsp;</span></span></div>',acctionpending:'<div class="dbtn dbtnRequestPending dbtnleft "><span class="left">Friend request sent<span class="right">&nbsp;</span></span></div>'},friends_friendlist_empty_row:'friends_friendlist_empty_row'},wall:{user_post_message:'<div class="container" style="position: relative;"><form method="post" action="" id="wall_post_new_message"><textarea name="message" rows="5" cols="70"></textarea><div class="buttons"><div class="dbtn dbtnSimple dbtnleft  "><a href="#" class="left submit">Post<span class="right">&nbsp;</span></a></div><div class="maxchars"><span>255</span> characters left</div></div><div class="comments-overlap">There aren\'t any posts on this message board yet. Leave the first one!</div></form></div>',user_noresults:'<div class="wall_nomessages"><div class="text">There aren\'t any posts on this message board yet. Leave the first one!</div></div>',loading_data:'<div class="wall_loading_data indicator">&#160;</div>',user_message:'<li><div class="avatar"><a href="<%=SPI.sprintf("/user/%s", username)%>"><img class="wall_avatar" width="36" height="36" alt="<%=username%>" src="<%=avatar_url%>" /></a></div><div class="cloud"><div class="cloud_tail"></div><%=SPI.sprintf("By <a href=\'http://www.girlsgogames.com/user/%s\'>%s</a>", username,username)%> <span class="date">(<%=date%>):</span><div class="message"><%=message%></div><div class="links"><a class="reply" href="<%=SPI.sprintf("/user/%s", username)%>#reply_wall" tooltip="Reply">&#160;</a></div></div></li>',user_message_mymessage:'<li><div class="avatar"><a href="<%=SPI.sprintf("/user/%s", username)%>"><img class="wall_avatar" width="36" height="36" alt="<%=username%>" src="<%=avatar_url%>" /></a></div><div class="cloud"><div class="cloud_tail"></div><%=SPI.sprintf("By <a href=\'http://www.girlsgogames.com/user/%s\'>%s</a>", username,username)%> <span class="date">(<%=date%>):</span><div class="message"><%=message%></div><div class="links"><a class="reply" href="/profile.html#reply_wall" tooltip="Reply">&#160;</a><a class="delete" tooltip="Delete" href="#">&#160;</a></div></div></li>',user_notlogged:'<div class="wall_user_notlogged"><div class="text"><%=SPI.sprintf("You need to be signed in to post a comment!",username)%></div><div class="buttons"><div class="dbtn dbtnSimple dbtnleft  login-item"><a href="#" class="left " onclick="showLoginPopup();return false;">Sign In<span class="right">&nbsp;</span></a></div><div class="or-item"> or <a href="/register.html">Join!</a></div></div><div class="girl">&#160;</div></div>',user_notfriends:'<div class="wall_user_notfriends"><div class="text">You can only post on friends\' message boards.</div><div class="buttons"><div class="addfriend pending"><div class="dbtn dbtnRequestPending dbtnleft dbtnRequestPendingPink"><span class="left">Friend request sent<span class="right">&nbsp;</span></span></div></div><div class="addfriend link"><div class="dbtn dbtnSendRequest dbtnleft dbtnSendRequestPink"><a href="#" class="left add">Send friend request<span class="right">&nbsp;</span></a></div></div></div><div class="girl">&#160;</div></div>',profile_message:'<li><div class="avatar"><a href="<%=SPI.sprintf("/user/%s", username)%>"><img class="wall_avatar" width="36" height="36" alt="<%=username%>" src="<%=avatar_url%>" /></a></div><div class="cloud"><div class="cloud_tail"></div><%=SPI.sprintf("By <a href=\'http://www.girlsgogames.com/user/%s\'>%s</a>", username,username)%> <span class="date">(<%=date%>):</span><div class="message"><%=message%></div><div class="links"><a class="reply" href="<%=SPI.sprintf("/user/%s", username)%>#reply_wall" tooltip="Reply">&#160;</a><a class="delete" href="#" tooltip="Delete message.">&#160;</a></div></div></li>',profile_message_mymessage:'<li><div class="avatar"><a href="<%=SPI.sprintf("/user/%s", username)%>"><img class="wall_avatar" width="36" height="36" src="<%=avatar_url%>" alt="" /></a></div><div class="cloud"><div class="cloud_tail"></div><%=SPI.sprintf("By <a href=\'http://www.girlsgogames.com/user/%s\'>%s</a>", username,username)%> <span class="date">(<%=date%>):</span><div class="message"><%=message%></div><div class="links"><a class="reply" href="#reply_wall" tooltip="Reply">&#160;</a><a class="delete" href="#" tooltip="Delete message.">&#160;</a></div></div></li>',profile_message_removed:'<li class="pending_removal"><div class="avatar">&#160;</div><div class="cloud"><div class="cloud_tail"></div><div class="message">Removing...</div></div></li>'},popup:{emptyPlaceholder:'<div class="popup_container <%=extraClass%>"><div class="popup_header"><%=closelink%></div><div class="popup_content"><div class="popup_content_body"><div class="<%=titleIcon%>"></div><span class="popup_title"><%=title%></span></div></div><div class="popup_footer">&nbsp;</div></div>',type_confirm:'<div class="popup_type_bottom"><div class="dbtn dbtnSimple dbtnleft  confirm_yes"><a href="#" class="left popup_blue_button"><%=blueButtonText%><span class="right">&nbsp;</span></a></div><div class="dbtn dbtnSimple dbtnleft  confirm_no"><a href="#" class="left popup_bottom_button"><%=bottomLinkText%><span class="right">&nbsp;</span></a></div></div><div class="cb"></div>',type_alert:'<div class="popup_type_bottom"><div class="dbtn dbtnSimple dbtnleft  "><a href="#" class="left popup_blue_button"><%=blueButtonText%><span class="right">&nbsp;</span></a></div><div class="cb"></div></div>',type_button_huge:'<div class="popup_type_bottom"><div class="dbtn dbtnSimpleHuge dbtnleft  "><a href="#" class="left popup_blue_button"><%=blueButtonText%><span class="right">&nbsp;</span></a></div><div class="cb"></div></div>',type_default:'<span></span>',closelink:'<a class="popup_closelink" href="#">Close</a>',content_simple:'<div class="popup_content_simple <%=highlightclass%>"><span class="popup_content_header"><%=header%></span></div><div class="cb"></div>',content_doublelined:'<div class="popup_content_doublelined <%=highlightclass%>"><span class="popup_content_header"><%=header%></span><span class="popup_content_info"><%=info%></span></div><div class="cb"></div>'},reports:{report_profile:'<div class="popup_content_report <%=highlightclass%>"><form method="POST" action="" id="report_profile" class="reportThis" onsubmit="return false;"><div class="popup_content_header"><h4>REPORT</h4>Does this really deserve to be reported?</div><input id="reporttype" type="hidden" value="avatar"></form></div><div class="cb"></div>',report_gamecomment_extended:'<div class="popup_content_report <%=highlightclass%>"><form method="POST" action="" id="report_gamecomment_extended" class="reportThis" onsubmit="return false;"><div class="popup_content_header"><h4>REPORT</h4>Does this really deserve to be reported?</div><input id="reporttype" type="hidden" value="comment"></form></div><div class="cb"></div>',report_gamecomment:'<div class="popup_content_report <%=highlightclass%>"><form method="POST" action="" id="report_gamecomment" class="reportThis" onsubmit="return false;"><h4>Tell us below why you want to report this user.</h4><div class="textarea"><textarea name="comment" onFocus="javascript:$(this).text(\'\')">Tell us below why you want to report this user.</textarea></div></form></div><div class="cb"></div>',report_ugc:'<div class="popup_content_report <%=highlightclass%>"><form method="POST" action="" id="report_gamecomment_extended" class="reportThis" onsubmit="return false;"><div class="popup_content_header"><h4>Report</h4>Does this really deserve to be reported?</div><input id="reporttype" type="hidden" value="ugc"></form></div><div class="cb"></div>'},harvester:{connect:'<div class="<%=accountType%> popup_harvest_mail_logo"></div><div class="popup_harvest_connecting"><p class="popup_harvest_info"><%=info%></p><span>Importing…</span></div><div class="cb"></div>',send:'<div class="popup_harvest_connecting"><p class="<%=accountType%>"></p><p class="popup_harvest_info"><%=info%></p><span>Sending...</span></div><div class="cb"></div>',registeredUser:'<li id="hrl_<%=no%>" class="<%=extraClass%>"><img class="friendsLoading loading_blue" src="http://static6.spilcdn.com/gl/img/_/friends/loading_blue.gif"><img class="friendsLoading loading_white" src="http://static5.spilcdn.com/gl/img/_/friends/loading_white.gif"></li>',registeredUserItem:'<div class="checkboxHolder"><input id="usr_<%=username%>"type="checkbox" checked="true" /></div><div class="contactHolder"><div class="borderHolder"><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatar_big%>" alt="<%=username%>" /></a></div><p class="usernameHolder username"><a href="<%=userprofilelink%>"><%=username%></a></p><p class="usernameHolder"><%=name%></p></div></div>',newUser:'<tr class="<%=extraClass%>"><td class="checkboxHolder"><input type="checkbox" checked="true"></td><td class="harvestListName"><%=name%></td><td class="harvestEmail"><%=email%></td></tr>',noContacts:'<tr><td class="harvestNoContats" wrap>You have no contacts in this email account.</td></tr>',addEmail:'<li><input type="text" /><img src="http://static6.spilcdn.com/gl/img/userprofile/validationCorrect.gif" class="harvestingEmailOk" /><div class="harvestingEmailError">This email address won\'t work. Please try again.</div></li>'},myGallery:{profile_results_empty_item:'<li class="profileImageFrame <%=extraClass%> <%=(extraClass=="last-in-row"?"ttR":"ttL")%>"><div class="profileImageItem"><span class="imageBackground"><a class="profileImageClick inactive profileImagePhoto imgWrapper" href="javascript:;"><img alt="" class="noimg_creations" src="http://static6.spilcdn.com/gl/img/spacer.gif" /></a></span><a class="imageTitleOverflow profileImageClick"><span class="imageTitle"></span></a></div><span class="tooltipHidden tooltipTitle"></span><span class="tooltipHidden tooltipDescription"></span><span class="tooltipHidden tooltipRatingLabel">Rating</span><span class="tooltipHidden tooltipRatingValue"></span><span class="tooltipHidden tooltipUsername"></span><span class="tooltipHidden tooltipAvatar"><img src="" alt="" /></span></li>',profile_results_loading_item:'mygallery_loading_item_tpl',profile_results_item:'profile_results_item_tpl',profile_results_sorting:'<div class="sorting"><span class="sortingbar"><ul><li class="anchor">Sort creations by:</li><li class="anchor"><a class="sortButton" href="javascript:;" sortby="average_rating" id="sortby_average_rating">Rating</a>|</li><li class="anchor"><a class="sortButton" href="javascript:;" sortby="date" id="sortby_date">Date</a></li></ul></span></div>',gallerydetail_top_content:'<div class="gd-top-content-left"><h2 class="gd-title"><%=title%> <a id="reportHref" href="javascript:;" class="reportButton">&nbsp;</a></h2><div class="date">(<%=dateFormatted%>)</div><div class="gd-pages"></div></div><div class="gd-top-content-right"><div class="author">Created by <br /><a href="<%=userUrl%>"><%=username%></a></div><div class="avatar"><a href="<%=userUrl%>"><img id="authoravatar" width="26" height="26" alt="" src="<%=(userAvatarUrl?userAvatarUrl:"http://static7.spilcdn.com/gl/img/userprofile/dummy_small.gif")%>" /></a></div></div>',gallerydetail_top_content_noavatar:'gallerydetails_top_content_noavatar_tpl',gallerydetail_image_content:'<a id="moveleft" class="arrow-left">&#160;</a><img class="main-picture" src="<%=bigimgsrc%>"><a id="moveright" class="arrow-right">&#160;</a>',gallerydetail_bottom_content:'&nbsp;',gallerydetail_bottom_content_myprofile:'&nbsp;',gallerydetail_bottom_content_userprofile:'&nbsp;',galleryAtGamePage:'galleryAtGamePage',profile_results_paging_tpl:'<span><div id="pagination_pages_top" class="shown-total pages pagesNew"><%=SPI.sprintf("Page <strong>%1s</strong> of <strong>%2s</strong>", ((from-1+pagesize)/pagesize), Math.ceil(total/pagesize))%></div><div id="pagination_top" class="pagination paging-numbers"></div></span>',profile_results_sorting_nojs_tpl:'profile_results_sorting_nojs_tpl',mygallery_empty_item_tpl:'<li id="<%=li_id%>" class="profileImageFrame <%=ttclass%>"><div class="profileImageItem"><span class="imageBackground"><a class="profileImageClick inactive profileImagePhoto imgWrapper" href="javascript:;"><img alt="" class="noimg_creations" src="http://static6.spilcdn.com/gl/img/spacer.gif" /></a></span><a class="imageTitleOverflow profileImageClick"><span class="imageTitle"></span></a></div><span class="tooltipHidden tooltipTitle"></span><span class="tooltipHidden tooltipDescription"></span><span class="tooltipHidden tooltipRatingLabel">Rating</span><span class="tooltipHidden tooltipRatingValue"></span><span class="tooltipHidden tooltipUsername"></span><span class="tooltipHidden tooltipAvatar"><img src="" alt="" /></span></li>',mygallery_item_tpl:'mygallery_item_tpl',pictureTitleReport:'<%=title%>&nbsp;<span class="reportButton"><img src="http://static5.spilcdn.com/gl/img/userprofile/ico_report.png" class="reportPicture" id="" alt="" /></span>'},noticeManage:{message_type_invitation_seemore:'<div id="profileInvitationsShowmore" class="dbtn dbtnArrowBottom dbtnright show-more-link"><a href="#" class="show-more">See all friend requests</a></div>',message_type_info:'<div class="message_container message_info pngfixme"><div class="mleft">&#160;</div><div class="mmid nofix"><div class="message"><%=message%></div><div class="links"><a class="wall" href="<%=SPI.sprintf("/user/%s", username)%>#reply_wall">Leave a post.</a><a class="invite" href="#invite">Send Friend Request</a><a class="close" href="#">Close</a></div></div><div class="mright">&#160;</div></div>',message_type_info_green:'<div class="message_container message_info message_info_green pngfixme"><div class="mleft">&#160;</div><div class="mmid nofix"><div class="message"><%=message%></div><div class="links"><a class="wall" href="<%=SPI.sprintf("/user/%s", username)%>#reply_wall">Leave a post.</a><a class="invite" href="#invite">Send Friend Request</a><a class="close" href="#">Close</a></div></div><div class="mright">&#160;</div></div>',message_type_pending:'<div class="message_container message_info message_pending pngfixme"><div class="mleft">&#160;</div><div class="mmid nofix"><div class="message"><%=message%></div><div class="links"><a class="wall" href="<%=SPI.sprintf("/user/%s", username)%>#reply_wall">Leave a post.</a><a class="invite" href="#invite">Send Friend Request</a><a class="close" href="#">Close</a></div></div><div class="mright">&#160;</div></div>',message_type_accepted:'<div class="message_container message_info message_accepted"><div class="cloud"><div class="message"><%=message%></div><div class="links"><a class="wall" href="<%=SPI.sprintf("/user/%s", username)%>#reply_wall">Leave a post.</a><a class="close" href="#">Close</a><div class="dbtn dbtnSimple dbtnInvitation lpBg"><a href="#" class="nofix left reject" style="display: inline;">Ignore<span class="nofix right">&#160;</span></a></div><div class="dbtn dbtnSimple dbtnInvitation lpBg"><a href="#" class="nofix left accept" style="display: inline;">Accept<span class="nofix right">&#160;</span></a></div></div></div></div>',message_type_invitation:'<div class="message_container message_invitation"><div class="avatar"><a href="<%=SPI.sprintf("/user/%s", username)%>"><img class="avatar_36" src="<%=avatar_url%>" alt="" /></a></div><div class="cloud"><div class="cloud_tail"></div><div class="message"><%=message%></div><div class="links"><div class="dbtn dbtnSimple dbtnInvitation lpBg"><a href="#" class="nofix left reject" style="display: inline;">Ignore<span class="nofix right">&#160;</span></a></div><div class="dbtn dbtnSimple dbtnInvitation lpBg"><a href="#" class="nofix left accept" style="display: inline;">Accept<span class="nofix right">&#160;</span></a></div></div></div></div>',message_type_info_profile:'<div class="message_container message_info_profile pngfixme"><div class="cloud"><div class="message"><%=message%></div><div class="links"><a class="wall" href="<%=SPI.sprintf("/user/%s", username)%>#reply_wall">Leave a post.</a><a class="close" href="#">Close</a></div></div></div>'},private_profile_tpl:'private_profile_tpl',socialgameHarvesting:{resultHolder:'<li class="<%=extraClass%>" id="<%=i%>"><img class="friendsLoading loading_blue" src="http://static6.spilcdn.com/gl/img/_/friends/loading_blue.gif"></li>',resultBodyPublic:'<div class="friends_search_item_holder"><div class="check-invite"><input type="checkbox" value="<%=username%>"></div><div class="avatar"><a href="<%=userprofilelink%>"><img class="avatar_112" width="112" height="112" border="0" src="<%=avatarBig%>" alt="<%=username%>"></a></div> <div class="userdata"><div class="usernameHolder"><a href="<%=userprofilelink%>"><%=username%></a></div><div class="givenname"><%if(givenname.length>0){%><%=SPI.escape(givenname)%><%}%> </div></div></div>',resultBodyPrivate:'&nbsp;',action_self:'&nbsp;',action_invite:'&nbsp;',action_delete:'&nbsp;',action_accept:'&nbsp;',action_pending:'&nbsp;'}});SPI._pages=jQuery.extend(SPI._pages,{page_ids:{"homepage":1,"game_page":3,"category_page":16,"subcategory_page":17,"profile_landing":4,"profile_awards":5,"profile_favorites":6,"profile_friends_overview":7,"profile_notifications":8,"profile_album":18,"avatar_builder":9,"avatar_picker":10,"other_user_public_profile_landing":11,"other_user_public_profile_awards":12,"other_user_public_profile_friends":13,"other_user_public_profile_album":19,"other_user_public_profile_fave_games":20,"other_user_private_profile_page":14,"sf_game_page":15},pages_map:{"site":{"index":"homepage"},"game":{"index":"game_page"},"category":{"index":"category_page"},"populargames":{"index":"category_page"},"newgames":{"index":"category_page"},"subcategory":{"index":"subcategory_page"},"userprofile":{"profile":"profile_landing","myawards":"profile_awards","mygames":"profile_favorites","myfriends":"profile_friends_overview","inbox":"profile_notifications","avatarbuilder":"avatar_builder","changeavatar":"avatar_picker","user":"other_user_public_profile_landing","userawards":"other_user_public_profile_awards","userfriends":"other_user_public_profile_friends","mygallery":"profile_album","usergallery":"other_user_public_profile_album","usergames":"other_user_public_profile_fave_games"}},current_page_id:null,current_controller:null,current_action:null});SPI.translations=jQuery.extend(SPI.translations,{'Awards':'Awards','SIGN UP FOR FREE':'JOIN FOR FREE','Log in!':'Sign In','All award games':'Award Games','My Awards':'My Awards','Highscores':'High Scores','Gallery images':'Game Album','Similar games':'Show More Games','Or':'Or','You have won <span class="bolder-counter">{achieved_awards_count}</span> of <span class="bolder-counter">{all_awards_count}</span> awards':'You have won <span class="bolder-counter">{achieved_awards_count}</span> of <span class="bolder-counter">{all_awards_count}</span> awards','{points} points!':'{points} points!','What are Award Games?':'What are Award Games?','Today':'Today','Week':'Week','Month':'Month','Your score:':'Your Score:','Place:':'Rank:','No highscores, yet':'No high scores yet.','Be the first one on the list!':'Play now and be the first to set one!','Show friends':'Show Friends','Show all':'Show Everyone','No creations, yet':'No creations yet.','Start playing and save your best work here!':'Play now and save your creations here!','See all my creations':'My Creations','Show more from this':'Show More Creations','Wow, you won a new award!':'Yay—you won an award!','Wow, you achieved a new highscore!':'You set a new high score!','Wow, you saved a new image!':'You made a new creation!','to save your awards, highscores and creations!':'to save your high scores, awards, and creations!','Rating':'Rating','Your latest creations':'Your latest creations!','Show more games':'Show More Games'});;;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&&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&&data.locatar&&data.locatar.errorcode!==undefined){data={"locatar":{}};}
this.after_call(data);};return that;})();;var hideFlashMessage=function(){var layer=$('div#flashMessage');if(layer.length>0){layer.fadeOut('slow');}};var showLoginPopup=function(){$('a[name="show_login_popup"]').click();};var showNotificationForSignIn=function(){$("#topBox").hide();$("#middlePinkBox").hide();$("#middleWhiteBox, .gallery-top").hide();$("#bottomLeftBox").hide();$("#bottomRightBox1").hide();$("#bottomRightBox2").hide();$("#additionalBox").hide();$(".hidenotlogged").hide();$('.profile-twocolumns').hide();$('#inboxLayout').hide();$('<div class="bad"><div class="text">'+SPI._langStrings.sf_global.have_to_sign_in+'</div></div>').appendTo("#flashMessage");$("#flashMessage").show();$('a[name="show_login_popup"]').click();};var redirectToPublicGalleryImage=function(gamatarid){window.location.href=SPI.sprintf(SPI._settings.myGallery.mygallery_url_details_game,gamatarid);};var redirectToParentsReminder=function(){window.location.href=SPI._settings.attention.parents_reminder_url;};var redirectToSelfReminder=function(){};var redirectToProfilePage=function(){window.location.href=SPI._settings.myprofile.pageurl;};var redirectToMainPage=function(){window.location.href='/';};var showPublicProfile=function(){$("#publicContainer").removeAttr('style');};var showPrivateProfile=function(){$("#publicContainer").remove();$("#privateContainer").append(SPI.render(SPI._templates.private_profile_tpl,{})).show();};var attachAvatarHovers=function(){$("div.ul_container ul li").hover(function(){$(this).addClass('hover');$(this).find('.button_group').css('display','inline-block');},function(){$(this).removeClass('hover');$(this).find('.button_group').hide();});};$(document).ready(function(){$.profilar.addInitHandler(function(){var state=$.profilar.loggedIn();changeLoginBox(state);});$('#shadow').ifixpng();$('#loginbox_top').ifixpng();$('#loginbox_content').ifixpng();$('#loginbox_bottom').ifixpng();$('#fb_loginbox_left').ifixpng();$('#fb_loginbox_right').ifixpng();$('a[name="show_login_popup"]').click(function(e){e.preventDefault();$('#flashobj').css('visibility','hidden');$('#socialgame_iframe').css('visibility','hidden');$('select').css('visibility','hidden');$('#gameiframe_js').css('visibility','hidden');$('#shadow, #login_background').css('width',$(window).width());$('#shadow, #login_background').css('height',$(document).height());setTopMarginForLoginBox();$('#shadow, #login_background').css('display','block');$("div#shadow .error").css('display','none');$("div#shadow #loginslogan").css('display','block');$('div#shadow input').removeAttr('disabled');$('div#shadow input[name=username], div#shadow input[name=password]').val('');$('div#shadow input[name=remember]').removeAttr('checked');$('div#shadow input:text:visible:first').focus();});$('.close_login_popup').click(function(e){e.preventDefault();$('#shadow, #login_background').css('display','none');$('#flashobj').css('visibility','visible');$('#socialgame_iframe').css('visibility','visible');$('select').css('visibility','visible');$('#gameiframe_js').css('visibility','visible');});changeLoginBox=function(state){$("div#user_navigation div.loading").hide();$("div#user_navigation div.loaded").show();if(state){var avatar_id=$.profilar.getPref('avatar');if(avatar_id!=''){var normal_src=SPI.sprintf(SPI._settings.avatars.small_avatar,avatar_id);$("#avatarnormal").attr('src',domain_pool.getURL(normal_src),'cimg');}else{}
$("#avatardummy").hide();$("#avatarnormal").show();$("#user_navigation .left_border").hide();$("#user_navigation .left_border_logged").show();$("#logout_links").hide();$("#login_links").show();var username=$.profilar.get('username');$("#userloggedin").text(username);$.profilar.addLogoutHandler(function(user){if(typeof redirect=='undefined'){SPI.reloadSite(window.top.location.href.split('#')[0]);}else{SPI.reloadSite(SPI.sprintf(redirect,user));}});var params={username:$.profilar.forService().username,hash:$.profilar.forService().hash,flags:'undeleted,unread',outputtype:'json'};var categoryAll=spil.adapters.babblar.notificationsCategories.all;var babblarAdapter=spil.adapters.babblar({channelId:SPI._settings.global.channel_id,siteId:SPI._settings.global.site_id,userName:$.profilar.forService().username,hash:$.profilar.forService().hash});var callback=function(result){var unreadCount=result.count;if(unreadCount>0){$('div.tabs a .un_notifications_counter').show().text(unreadCount);$('div.tabs a .un_notifications_counter_right').show();$('.un_notifications_counter').show()
var t=$('.un_notifications_counter').html();t=SPI.sprintf(t,unreadCount);$('.un_notifications_counter').html(t);$('.un_notifications_counter_right').show();}};babblarAdapter.waitUntil('countsReceived.byCategory.'+categoryAll,callback);babblarAdapter.getCountsByCategory(categoryAll);}else{$("#avatarnormal").hide();$("#avatardummy").show();$("#user_navigation .left_border").show();$("#user_navigation .left_border_logged").hide();$("#login_links").hide();$("#logout_links").show();}
adjustSize();};var adjustSize=function(){$minWidth=$("#search_bar .buttonRight").width()+
$("#search_bar .buttonLeft").width()+
$("#search_bar #searchtext").width();if($.browser.mozilla){$('#login_links').css('margin-right','50px');}
if($("#user_navigation .body").width()+63<$minWidth){$("#user_navigation .body").width($minWidth);}};var clickActionLoginBox=function(){$("div#shadow .error").css('display','none');$("div#shadow #loginslogan").css('display','block');$('div#shadow .loginIndicator').show();var username=$('div#shadow input[name=username]').removeAttr('disabled').val();var password=$('div#shadow input[name=password]').val();$('div#shadow input[name=username]').add('div#shadow input[name=password]').attr('disabled','true');$('div#shadow #logmein').unbind('click');var ok=true;if(username.length<3){ok=false;}if(password.length<6||$('input#f_password_lb').is(':hidden')){ok=false;}
if(ok){$.profilar.login(username,password,$('div#shadow input[name=remember]')[0].checked,function(errors){if(errors){var error=errors[0];$('#loginslogan').css('display','none');if(error.code==403&&error.element=='banned'){$('#loginsalert_banned').css('display','block');}else{$('#loginsalert_auth').css('display','block');}
$('div#shadow input[name=username]').add('div#shadow input[name=password]').removeAttr('disabled');$('div#shadow #logmein').click(clickActionLoginBox);$('div#shadow .loginIndicator').hide();}else{$.profilar.checkActivation(true);if($.profilar.needActivation()){if($.profilar.needParentsConfirmation()){redirectToParentsReminder();}else{redirectToSelfReminder();}}else{window.location.reload();}}});}else{$('#loginslogan').css('display','none');$('#loginsalert_auth').css('display','block');$('div#shadow input[name=username]').add('div#shadow input[name=password]').removeAttr('disabled');$('div#shadow #logmein').click(clickActionLoginBox);$('div#shadow .loginIndicator').hide();}
return false;};var checkLoginFBConnection=function(){$("div#shadow .error").css('display','none');$('div#shadow #loginslogan').show();if(SPI._settings.global.fbc_enabled){$('div#shadow #logmein').unbind('click');var username=$('div#shadow input[name=username]').removeAttr('disabled').val();$('div#shadow input[name=username]').add('div#shadow input[name=password]').attr('disabled','true');var ok=true;if(username.length<3){ok=false;$('div#shadow #logmein').click(clickActionLoginBox);}
if(ok){$.profilar.login(username,'',false,function(errors){var enableLogin=true;if(typeof(errors)=='object'&&errors){$.each(errors,function(){if(this.code==401&&this.element=='fbc'){$('div#shadow #loginsalert_fbc_only').show();$('div#shadow #loginslogan').hide();}});}
if(enableLogin){$('div#shadow #logmein').click(clickActionLoginBox);}});}
$('div#shadow input[name=username]').add('div#shadow input[name=password]').removeAttr('disabled');return false;}else{return true;}};var setTopMarginForLoginBox=function(){var boxHeight=415;var topMargin;var windowHeight;if(typeof(window.innerWidth)=='number'){windowHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){windowHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){windowHeight=document.body.clientHeight;}else{windowHeight=0;}
if(windowHeight>boxHeight){topMargin=Math.floor((windowHeight-boxHeight)/2);}else{topMargin=0;}
$("#shadow #loginbox_wrapper").attr("style","margin: "+topMargin+"px auto 0");};$('div#shadow #logmein').click(clickActionLoginBox);$("div#shadow form input").keypress(function(e){if((e.which&&e.which==13)||(e.keyCode&&e.keyCode==13)){return clickActionLoginBox();}else{return true;}});$('div#shadow #f_login_lb').change(checkLoginFBConnection);$("#logoutbtn").click(function(){$.profilar.clearAll();return false;});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="text">'+flashMessage[0]+'</div></div>').show();setTimeout('hideFlashMessage()',5000);}}});;var PluginDetect={version:"0.7.5",name:"PluginDetect",handler:function(c,b,a){return function(){c(b,a)}},isDefined:function(b){return typeof b!="undefined"},isArray:function(b){return(/array/i).test(Object.prototype.toString.call(b))},isFunc:function(b){return typeof b=="function"},isString:function(b){return typeof b=="string"},isNum:function(b){return typeof b=="number"},isStrNum:function(b){return(typeof b=="string"&&(/\d/).test(b))},getNumRegx:/[\d][\d\.\_,-]*/,splitNumRegx:/[\.\_,-]/g,getNum:function(b,c){var d=this,a=d.isStrNum(b)?(d.isDefined(c)?new RegExp(c):d.getNumRegx).exec(b):null;return a?a[0]:null},compareNums:function(h,f,d){var e=this,c,b,a,g=parseInt;if(e.isStrNum(h)&&e.isStrNum(f)){if(e.isDefined(d)&&d.compareNums){return d.compareNums(h,f)}
c=h.split(e.splitNumRegx);b=f.split(e.splitNumRegx);for(a=0;a<Math.min(c.length,b.length);a++){if(g(c[a],10)>g(b[a],10)){return 1}
if(g(c[a],10)<g(b[a],10)){return-1}}}
return 0},formatNum:function(b,c){var d=this,a,e;if(!d.isStrNum(b)){return null}
if(!d.isNum(c)){c=4}
c--;e=b.replace(/\s/g,"").split(d.splitNumRegx).concat(["0","0","0","0"]);for(a=0;a<4;a++){if(/^(0+)(.+)$/.test(e[a])){e[a]=RegExp.$2}
if(a>c||!(/\d/).test(e[a])){e[a]="0"}}
return e.slice(0,4).join(",")},$$hasMimeType:function(a){return function(d){if(!a.isIE&&d){var c,b,e,f=a.isString(d)?[d]:d;if(!f||!f.length){return null}
for(e=0;e<f.length;e++){if(/[^\s]/.test(f[e])&&(c=navigator.mimeTypes[f[e]])&&(b=c.enabledPlugin)&&(b.name||b.description)){return c}}}
return null}},findNavPlugin:function(l,e,c){var j=this,h=new RegExp(l,"i"),d=(!j.isDefined(e)||e)?/\d/:0,k=c?new RegExp(c,"i"):0,a=navigator.plugins,g="",f,b,m;for(f=0;f<a.length;f++){m=a[f].description||g;b=a[f].name||g;if((h.test(m)&&(!d||d.test(RegExp.leftContext+RegExp.rightContext)))||(h.test(b)&&(!d||d.test(RegExp.leftContext+RegExp.rightContext)))){if(!k||!(k.test(m)||k.test(b))){return a[f]}}}
return null},getMimeEnabledPlugin:function(a,f){var e=this,b,c=new RegExp(f,"i"),d="";if((b=e.hasMimeType(a))&&(b=b.enabledPlugin)&&(c.test(b.description||d)||c.test(b.name||d))){return b}
return 0},getPluginFileVersion:function(f,b){var h=this,e,d,g,a,c=-1;if(h.OS>2||!f||!f.version||!(e=h.getNum(f.version))){return b}
if(!b){return e}
e=h.formatNum(e);b=h.formatNum(b);d=b.split(h.splitNumRegx);g=e.split(h.splitNumRegx);for(a=0;a<d.length;a++){if(c>-1&&a>c&&d[a]!="0"){return b}
if(g[a]!=d[a]){if(c==-1){c=a}
if(d[a]!="0"){return b}}}
return e},AXO:window.ActiveXObject,getAXO:function(b){var f=null,d,c=this,a;;try{f=new c.AXO(b);}catch(d){}
return f},convertFuncs:function(g){var a,h,f,b=/^[\$][\$]/,d={},c=this;for(a in g){if(b.test(a)){d[a]=1}}
for(a in d){try{h=a.slice(2);if(h.length>0&&!g[h]){g[h]=g[a](g);delete g[a]}}catch(f){}}},initScript:function(){var c=this,a=navigator,e="/",i=a.userAgent||"",g=a.vendor||"",b=a.platform||"",h=a.product||"";;;;c.OS=100;if(b){var f,d=["Win",1,"Mac",2,"Linux",3,"FreeBSD",4,"iPhone",21.1,"iPod",21.2,"iPad",21.3,"Win.*CE",22.1,"Win.*Mobile",22.2,"Pocket\\s*PC",22.3,"",100];for(f=d.length-2;f>=0;f=f-2){if(d[f]&&new RegExp(d[f],"i").test(b)){c.OS=d[f+1];break}}}
c.convertFuncs(c);;c.isIE=new Function("return "+e+"*@cc_on!@*"+e+"false")();c.verIE=c.isIE&&(/MSIE\s*(\d+\.?\d*)/i).test(i)?parseFloat(RegExp.$1,10):null;c.ActiveXEnabled=false;;;if(c.isIE){var f,j=["Msxml2.XMLHTTP","Msxml2.DOMDocument","Microsoft.XMLDOM","ShockwaveFlash.ShockwaveFlash","TDCCtl.TDCCtl","Shell.UIHelper","Scripting.Dictionary","wmplayer.ocx"];for(f=0;f<j.length;f++){if(c.getAXO(j[f])){c.ActiveXEnabled=true;break}}
c.head=c.isDefined(document.getElementsByTagName)?document.getElementsByTagName("head")[0]:null}
c.isGecko=(/Gecko/i).test(h)&&(/Gecko\s*\/\s*\d/i).test(i);c.verGecko=c.isGecko?c.formatNum((/rv\s*\:\s*([\.\,\d]+)/i).test(i)?RegExp.$1:"0.9"):null;;;c.isSafari=(/Safari\s*\/\s*\d/i).test(i)&&(/Apple/i).test(g);;c.isChrome=(/Chrome\s*\/\s*(\d[\d\.]*)/i).test(i);c.verChrome=c.isChrome?c.formatNum(RegExp.$1):null;;;c.isOpera=(/Opera\s*[\/]?\s*(\d+\.?\d*)/i).test(i);c.verOpera=c.isOpera&&((/Version\s*\/\s*(\d+\.?\d*)/i).test(i)||1)?parseFloat(RegExp.$1,10):null;;;;;},init:function(c){var b=this,a,c;if(!b.isString(c)){return-3}
if(c.length==1){b.getVersionDelimiter=c;return-3}
c=c.toLowerCase().replace(/\s/g,"");a=b[c];if(!a||!a.getVersion){return-3}
b.plugin=a;if(!b.isDefined(a.installed)){a.installed=a.version=a.version0=a.getVersionDone=null;a.$=b;a.pluginName=c}
b.garbage=false;if(b.isIE&&!b.ActiveXEnabled){if(a!==b.java){return-2}}
return 1},getVersionDelimiter:",",$$getVersion:function(a){return function(g,d,c){var e=a.init(g),f,b,h;;if(e<0){return null};f=a.plugin;if(f.getVersionDone!=1){f.getVersion(null,d,c);if(f.getVersionDone===null){f.getVersionDone=1}}
a.cleanup();b=(f.version||f.version0);b=b?b.replace(a.splitNumRegx,a.getVersionDelimiter):b;;return b}},cleanup:function(){},flash:{mimeType:["application/x-shockwave-flash","application/futuresplash"],progID:"ShockwaveFlash.ShockwaveFlash",classID:"clsid:D27CDB6E-AE6D-11CF-96B8-444553540000",getVersion:function(){var b=function(i){if(!i){return null}
var e=/[\d][\d\,\.\s]*[rRdD]{0,1}[\d\,]*/.exec(i);return e?e[0].replace(/[rRdD\.]/g,",").replace(/\s/g,""):null};var d,h=this,f=h.$,j,g,k=null,c=null,a=null;if(!f.isIE){d=f.findNavPlugin("Flash");if(d&&d.description&&f.hasMimeType(h.mimeType)){k=b(d.description)}
if(k){k=f.getPluginFileVersion(d,k)}}else{for(g=15;g>2;g--){c=f.getAXO(h.progID+"."+g);if(c){a=g.toString();break}}
if(a=="6"){try{c.AllowScriptAccess="always"}catch(j){return"6,0,21,0"}}
try{k=b(c.GetVariable("$version"))}catch(j){}
if(!k&&a){k=a}}
h.installed=k?1:-1;h.version=f.formatNum(k);return true}},shockwave:{mimeType:"application/x-director",progID:"SWCtl.SWCtl",classID:"clsid:166B1BCA-3F9C-11CF-8075-444553540000",getVersion:function(){var a=null,b=null,g,f,d=this,c=d.$;if(!c.isIE){f=c.findNavPlugin("Shockwave\\s*for\\s*Director");if(f&&f.description&&c.hasMimeType(d.mimeType)){a=c.getNum(f.description)}
if(a){a=c.getPluginFileVersion(f,a)}}else{try{b=c.getAXO(d.progID).ShockwaveVersion("")}catch(g){}
if(c.isString(b)&&b.length>0){a=c.getNum(b)}else{if(c.getAXO(d.progID+".8")){a="8"}else{if(c.getAXO(d.progID+".7")){a="7"}else{if(c.getAXO(d.progID+".1")){a="6"}}}}}
d.installed=a?1:-1;d.version=c.formatNum(a)}},zz:0};PluginDetect.initScript();;checkPlugins=function(){var d='/plugin_check.html';var c=window.open(d,"cp","width=400,height=350,scrollbar=no,resizable=no");centerWindow(c,400,350)};centerWindow=function(l,p,o){var e=screen.availHeight;var m=screen.availWidth;var h=m/2-p/2;var k=e/2-o/2;try{l.moveTo(h,k)}
catch(n){}};var actShockwave_version=10;var actFlash_version=10;checkShockwave=function(){if(PluginDetect.getVersion('flash')){return true;}else{return false;}};var flashinstalled=0;var flashversion=0;MSDetect="false";checkFlash=function(){if(PluginDetect.getVersion('flash')){return true;}else{return false;}};checkJava=function(){return navigator.javaEnabled()};;;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.friends=(function($,SPI){var config={settings:{anonymousIcon:SPI._settings.avatarImages.anonymousIcon,anonymousIconBig:SPI._settings.avatarImages.anonymousIconBig,exposeGivennameMinAge:13,search:{usersLimit:10,formId:'friends_search',resultsClass:'friends_search_results',noResultsClass:'friends_search_no_results',resultsElementsId:'frsr_',paginationClass:'friends_search_pagination',paginationStringClass:SPI._settings.friends.search.paginationStringClass,paginationBlueButtons:false,type:'simple',typeSwich:'friends_search_extended_switch',extendedHolder:'friends_search_extended',externalPrefs:['avatar','username','privacy'],externalProfiles:['gender','age','givenname'],loadHigscoreData:true,loadAwardsData:true,beforeRender:null,onBeforeSearchHideObj:SPI._settings.friends.search.onBeforeSearchHideObj},additionalUserData:{gc:SPI._settings.friends.additionalUserData.gc,fc:SPI._settings.friends.additionalUserData.fc},profilePanel:{targetElement:'.profilePanelHolder'},friendList:{received:{pagesize:3,sortby:'friendtime',order:2,pagecount:3},sent:{pagesize:5,sortby:'friendtime',order:2,pagecount:3},accepted:{pagesize:5,sortby:'username',order:1,pagecount:3},latest:{pagesize:6,sortby:'friendtime',order:2,include:[],renderNoFriends:SPI._settings.friends.friendList.renderNoFriends,noFriendsCallback:''}},myFriends:{usersLimit:10,paginationClass:'my_friends_pagination',paginationStringClass:SPI._settings.friends.myFriends.paginationStringClass,paginationBlueButtons:false,resultsClass:'my_friends_results',resultsElementsId:'myfr_',loadHigscoreData:true,loadAwardsData:true,externalPrefs:['avatar','privacy'],externalProfiles:['gender','age','givenname']},userFriends:{usersLimit:10,paginationClass:'user_friends_pagination',paginationStringClass:SPI._settings.friends.userFriends.paginationStringClass,paginationBlueButtons:false,resultsClass:'user_friends_results',resultsElementsId:'usfr_',loadHigscoreData:true,loadAwardsData:true,externalPrefs:['avatar','privacy'],externalProfiles:['gender','age','givenname']},renderSettings:{decorateFriendCounter:SPI._settings.renderSettings.decorateFriendCounter}}};var that={};that.search={};that.friendList={};that.myFriends={};that.targetuser=null;function $for(obj,callback){var proto=obj.constructor.prototype,h=obj.hasOwnProperty,key;for(key in obj){if((h&&h.call(obj,key))||proto[key]!==obj[key]){a=callback(key,obj[key]);if(a=='break')break;};};};function preparePaginationString(str,page,limit,total){tmpstart=((parseInt(page)-1)*parseInt(limit))+1;tmpstop=(parseInt(page)*parseInt(limit));if(tmpstop>parseInt(total))tmpstop=parseInt(total);return SPI.sprintf(str,tmpstart,tmpstop,parseInt(total));};var _friendInviteWithMail=function(_targetUser,callback,emailtype,fields){$.profilar.friendInvite(_targetUser,function(data,errors){if(errors===null||errors.length==0){$.profilar.triggerEvent({cheetah_ebm:{aid:config.settings.inviteMailAid,eid:config.settings.inviteMailEventId},email:'',userName:_targetUser,emptyEmail:true,level:'channel',fields:fields},function(eventId,errors){callback(data,errors);});}else{callback(data,errors);}});};that.friendInviteWithMail=function(_targetUser,callback,emailtype){var fields=[{name:'username',value:_targetUser},{name:'friend_username',value:$.profilar.forService().username}];return _friendInviteWithMail(_targetUser,callback,emailtype,fields);};that.friendInviteWithMailToGame=function(_targetUser,callback,emailtype){var fields=[{name:'username',value:_targetUser},{name:'friend_username',value:$.profilar.forService().username},{name:'gametitle',value:gameTitle},{name:'gamenicename',value:gameNicename}];return _friendInviteWithMail(_targetUser,callback,emailtype,fields);};that.updateTabsBar=function(){$.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 hsDataCache={data:{},addType:function(type){hsDataCache.data[type]=[];},set:function(indata,type){hsDataCache.data[type].push(indata);},reverse:function(type){hsDataCache.data[type].reverse();},get:function(type){if(typeof(hsDataCache.data[type])!='undefined'&&this.data[type].length){hsItem=hsDataCache.data[type].pop();getAdditionalUserInfo(hsItem.user,function(data){hsItem.callback.call(this,data);hsDataCache.get(type);},hsItem.hs,hsItem.aw,hsItem.pc,hsItem.gc,hsItem.fc);};}};var getAdditionalUserInfo=function(username,callback,hs,aw,privacyCheck,gc,fc){var _hs=hs||false;var _aw=aw||false;var _gc=gc||false;var _fc=fc||false;var _privacyCheck=privacyCheck||true;var _public=false;var _rtn={};if(typeof(username)=='object'){var _username=username['username'];_rtn=username;};if(typeof(username)=='string'){var _username=username;_rtn={'username':username};};if(_privacyCheck){if(typeof(_rtn.privacy)!='undefined'&&parseInt(_rtn.privacy)==0)_public=true;};if((!_hs&&!_aw&&!_gc&&!_fc)||(!_public&&_privacyCheck))return callback.call(this,_rtn);if(_fc){$.profilar.friendListAccepted(_username,function(friendsCount){try{_rtn.friendsCount=parseInt($('total',friendsCount).text())||0;}catch(ex){_rtn.friendsCount=0;};_fc=false;if(_hs||_aw||_gc||_fc){getAdditionalUserInfo(_rtn,callback,_hs,_aw,_privacyCheck,_gc,_fc);}else{callback.call(this,_rtn);}},{pagenr:1,pagesize:1});return;};if(_hs){SPI.highscore.getUserLevel(function(highscore){try{_rtn.points=highscore.hyscor.level||0;}catch(ex){_rtn.points=0;};_hs=false;if(_hs||_aw||_gc||_fc)getAdditionalUserInfo(_rtn,callback,_hs,_aw,_privacyCheck,_gc,_fc);else callback.call(this,_rtn);},_username);return;};if(_aw){SPI.achievements.getAchievementsCountForUser(function(achievements){try{_rtn.awardsCount=achievements.hyscor.resultset.total||0;}catch(ex){_rtn.awardsCount=0;};_aw=false;if(_hs||_aw||_gc||_fc)getAdditionalUserInfo(_rtn,callback,_hs,_aw,_privacyCheck,_gc,_fc);else callback.call(this,_rtn);},_username);return;};if(_gc){SPI.myGallery.getCountForUser(_username,function(galerycount){try{_rtn.galeryCount=galerycount.gamatar.resultset.total||0;}catch(ex){_rtn.galeryCount=0;};_gc=false;if(_hs||_aw||_gc||_fc)getAdditionalUserInfo(_rtn,callback,_hs,_aw,_privacyCheck,_gc,_fc);else callback.call(this,_rtn);});return;};};that.getCountForUser=function(callback,_username){$.profilar.friendListAccepted(_username,function(data){var count=0;try{count=parseInt($('total',data).text())||0;}catch(ex){count=0;};if(typeof callback=='function')callback.call(this,count);},{pagenr:1,pagesize:1});return;};var _mergeUserData=function(userlist,callback,avatars,usersinfo,friendstatus){var displayuserlist=[];var dipslayUser={};var av={};var uv={};var fv={};var ud;for(ud in userlist.username){av={};$for(avatars,function(key,value){if(typeof(value.username)!='undefined'&&value.username.toLowerCase()==userlist.username[ud].toLowerCase()){av=value;delete(avatars[key]);return'break';};});uv={};$for(usersinfo,function(key,value){if(typeof(value.username)!='undefined'&&value.username.toLowerCase()==userlist.username[ud].toLowerCase()){uv=value;delete(usersinfo[key]);return'break';};});if(friendstatus.length){fv={};$for(friendstatus,function(key,value){if(typeof(value.username)!='undefined'&&value.username.toLowerCase()==userlist.username[ud].toLowerCase()){fv=value;delete(friendstatus[key]);return'break';};});displayuserlist.push($.extend(av,uv,fv,{username:userlist.username[ud]}));}else{displayuserlist.push($.extend(av,uv,{username:userlist.username[ud]}));};};callback.call(this,{users:displayuserlist,total:userlist.total,returned:userlist.returned});};var getBasicUserInfo=function(userlist,callback,externalProfiles,externalPrefs,withFriends){var _withFriends=withFriends||false;var _externalPrefs=externalPrefs||['avatar','username','privacy'];var _externalProfiles=externalProfiles||['gender'];var _avatars;var _usersinfo;var _friendstatus;$.profilar.loadExternalPrefs(userlist[0].username,function(avatars,errors){_avatars=avatars;doMerge();},_externalPrefs);$.profilar.loadExternalProfiles(userlist[0].username,function(usersinfo,errors){_usersinfo=usersinfo;doMerge();},_externalProfiles);if(_withFriends){$.profilar.checkFriends(userlist[0].username,function(friendstatus,errors){_friendstatus=friendstatus;doMerge();});}
var doMerge=function(){if(typeof(_avatars)=='undefined'){return;}
if(typeof(_usersinfo)=='undefined'){return;}
if(_withFriends){if(typeof(_friendstatus)!='undefined'){_mergeUserData(userlist[0],callback,_avatars,_usersinfo,_friendstatus);}
return;}else{_mergeUserData(userlist[0],callback,_avatars,_usersinfo,{});}};};that.search.options={channel:SPI._settings.global.channel_id,siteid:SPI._settings.global.site_id,pagesize:config.settings.search.usersLimit};that.search.rawSearchField='';that.search.handleErrors=function(errors){return true;};that.search.beforeSearch=function(){$('.'+config.settings.search.resultsClass).empty();$('.'+config.settings.search.paginationClass).empty();$(config.settings.search.onBeforeSearchHideObj).hide();return true;};that.search.noResults=function(){$('#'+config.settings.search.formId).data('canSubmit',true);$('.'+config.settings.search.noResultsClass).show();$('.friends_search_results_box').hide();$('.friends_search_total_holder').hide();$('.'+config.settings.search.resultsClass).hide();$('.'+config.settings.search.paginationClass).hide();$('.friends_search_pagination').empty();if(config.settings.search.paginationStringClass){$('.'+config.settings.search.paginationStringClass).hide();};return true;};that.search.formIsValid=function(){$('[name=friends_search_username]','#'+config.settings.search.formId).removeClass('searchError');if(!$('#'+config.settings.search.formId).data('canSubmit'))return false;var toRtn=true;$('.friends_search_uname_error').text('').hide();$('.friends_search_gname_error').text('').hide();$('.friends_search_sname_error').text('').hide();uname=$('[name=friends_search_username]','#'+config.settings.search.formId).val();gname=$('[name=friends_search_givenname]','#'+config.settings.search.formId).val();sname=$('[name=friends_search_surname]','#'+config.settings.search.formId).val();gender=$('[name=friends_search_gender]:checked','#'+config.settings.search.formId).val();if((config.settings.search.type=='extended'&&uname==''&&gname==''&&sname==''&&(gender==''||typeof(gender)=='undefined'))||uname==SPI._langStrings.friends.search.defaultText){$('.friends_search_uname_error').text(config.langStrings.search.textToShort).show();$('[name=friends_search_username]','#'+config.settings.search.formId).addClass('searchError');toRtn=false;}else if(config.settings.search.type=='simple'&&uname==''){$('.friends_search_uname_error').text(config.langStrings.search.textToShort).show();$('[name=friends_search_username]','#'+config.settings.search.formId).addClass('searchError');toRtn=false;};if(uname.length!=0&&((uname.indexOf('*')>=0&&(uname.length<4||uname.indexOf('*')!=uname.length-1))||uname.length<3)){if(uname.length<3){$('.friends_search_uname_error').text(config.langStrings.search.textToShort).show();}else $('.friends_search_uname_error').text(config.langStrings.search.incorrectAsterixFormat).show();$('[name=friends_search_username]','#'+config.settings.search.formId).addClass('searchError');toRtn=false;};if(config.settings.search.type=='extended'&&gname.length!=0&&(gname.indexOf('*')>=0&&(gname.length<4||gname.indexOf('*')!=gname.length-1)||gname.length<3)){if(gname.length<3){$('.friends_search_gname_error').text(config.langStrings.search.textToShort).show();}else $('.friends_search_gname_error').text(config.langStrings.search.incorrectAsterixFormat).show();$('[name=friends_search_username]','#'+config.settings.search.formId).addClass('searchError');toRtn=false;};if(config.settings.search.type=='extended'&&sname.length!=0&&(sname.indexOf('*')>=0&&(sname.length<4||sname.indexOf('*')!=sname.length-1)||sname.length<3)){if(sname.length<3){$('.friends_search_sname_error').text(config.langStrings.search.textToShort).show();}else $('.friends_search_sname_error').text(config.langStrings.search.incorrectAsterixFormat).show();$('[name=friends_search_username]','#'+config.settings.search.formId).addClass('searchError');toRtn=false;};if(toRtn)$('.friends_search_total').text('');return toRtn;};that.search.drawRow=function(searchItem){var row=that.prepareFriendsRow(searchItem);switch(searchItem.friendstatus){case'error':row.actionLink='';break;case'self':acL=SPI.render(config.templates.search.action_self,row);row.actionLink=acL;break;case'none':case'declined':case'deleted':row.actionLink=SPI.render(config.templates.search.action_invite,row);break;case'sent':row.actionLink=SPI.render(config.templates.search.action_pending,row);break;case'received':row.actionLink=SPI.render(config.templates.search.action_accept,row);break;case'accepted':acL=SPI.render(config.templates.search.action_delete,row);row.actionLink=acL;};if(typeof(searchItem.privacy)!='undefined'&&parseInt(searchItem.privacy)==0){var renderedItem=$(SPI.render(config.templates.search.resultBodyPublic,row));}else{var renderedItem=$(SPI.render(config.templates.search.resultBodyPrivate,row));}
switch(searchItem.friendstatus){case'error':case'self':case'sent':break;case'none':case'declined':case'deleted':$(renderedItem).find('a.friends_search_result_action').data('username',row.username).click(function(){var self=this;that.friendInviteWithMail($(this).data('username'),function(data,errors){SPI.popup.show(SPI.render(SPI._templates.popup.content_simple,{header:SPI.sprintf(SPI._langStrings.friends.invitefriend_title,$(self).data('username')),highlightclass:''}),function(){$(self).parent().before(SPI.render(config.templates.search.action_pending,row));$(self).parent().remove();},{title:SPI._langStrings.friends.invitefriend_pending,close:false});});return false;});break;case'received':$(renderedItem).find('.friends_search_result_action_accept').data('username',row.username).click(function(){var self=this;$.profilar.friendAccept($(this).data('username'),function(data,errors){var uname=$(self).data('username');$(self).wrap('<span class="friends_search_result_action">'+
config.langStrings.search.userConfirmed+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[],false);SPI.notice.renderMessage(uname,'accepted');that.updateTabsBar();});return false;});$(renderedItem).find('.friends_search_result_action_reject').data('username',row.username).click(function(){var self=this;$.profilar.friendDecline($(this).data('username'),function(data,errors){var uname=$(self).data('username');$(self).wrap('<span class="friends_search_result_action">'+
config.langStrings.search.userDeclined+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[],false);SPI.notice.renderMessage(uname,'rejected');});return false;});break;case'accepted':$(renderedItem).find('.friends_search_result_action').data('username',row.username).click(function(){var self=this;SPI.popup.show(SPI.render(SPI._templates.popup.content_simple,{header:SPI._langStrings.friends.enfriend_extrastep1,highlightclass:''}),{_ok:function(){SPI.popup.close();},_cancel:function(){$.profilar.friendDelete($(self).data('username'),function(data,errors){$(self).wrap('<span class="friends_search_result_action">'+
config.langStrings.search.userDeleted+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[],false);that.updateTabsBar();});SPI.popup.show(SPI.render(SPI._templates.popup.content_doublelined,{header:SPI._langStrings.friends.endfriend_suceess,highlightclass:'',info:SPI._langStrings.friends.indfriend_extrastep_desc}),function(){SPI.popup.close();},{title:SPI._langStrings.friends.popup_end_friendship,titleIcon:'popup_friends',close:true});}},{type:'confirm',title:SPI._langStrings.friends.popup_end_friendship,blueButtonText:SPI._langStrings.friends.endfriend_no,bottomLinkText:SPI._langStrings.friends.endfriend_yes,close:true,autoClose:false});return false;});break;};$('#'+config.settings.search.resultsElementsId+searchItem.no,'.'+
config.settings.search.resultsClass).empty().append(renderedItem);if(typeof config.settings.search.drawRowCallback=='function')config.settings.search.drawRowCallback.call(this,renderedItem);};that.search.renderResults=function(data){$('.'+config.settings.search.paginationClass).show();if(parseInt(data.total)>parseInt(config.settings.search.usersLimit)){if(config.settings.search.paginationBlueButtons==true){var paging=SPI.paginatorString(data.total,that.search.options.pagenr,config.settings.search.usersLimit,4,that.search.users,{next:'',prev:'',separator:config.langStrings.separator},undefined,SPI._templates.pagination);}else{var paging=SPI.paginatorString(data.total,that.search.options.pagenr,config.settings.search.usersLimit,4,that.search.users,config.langStrings);}
if(config.settings.search.paginationStringClass){$('.friends_search_pagination_string').html(preparePaginationString(SPI._langStrings.friends.paginationString,that.search.options.pagenr,config.settings.search.usersLimit,data.total));};$('.'+config.settings.search.paginationClass).each(function(){try{$(this).append(paging.clone(true));}catch(ex){}});var tmp=0;$(':visible','.'+config.settings.search.paginationClass+':first').find('span:visible').each(function(){tmp+=$(this).width()+(parseInt($(this).css('margin-left').slice(0,-2))||0)+(parseInt($(this).css('margin-right').slice(0,-2))||0);});if(SPI._settings.friends.calculatePaginationWidth)$('.'+config.settings.search.paginationClass).width(tmp);}else{$('.'+config.settings.search.paginationClass).hide();if(config.settings.search.paginationStringClass)$('.'+config.settings.search.paginationStringClass).hide();}
$('.friends_search_total_holder .friends_search_total').empty().html(SPI.sprintf(SPI._langStrings.friends.search.friend_finder_search_results_summary,parseInt(data.total),that.search.rawSearchField));if(parseInt(data.total)>0)$('.friends_search_total_holder').show();$('.'+config.settings.search.resultsClass).empty().show();var userItem;var UserList=data.users;hsDataCache.addType('search');for(userItem in UserList){hsDataCache.set({user:UserList[userItem],callback:that.search.drawRow,hs:false,aw:false,pc:false,gc:false,fc:config.settings.additionalUserData.fc},'search');hsDataCache.get('search');}
for(userItem in UserList){UserList[userItem].no=userItem;if(userItem%2)UserList[userItem].extraClass='odditem';else UserList[userItem].extraClass='evenitem';hsDataCache.set({user:UserList[userItem],callback:that.search.drawRow,hs:config.settings.search.loadHigscoreData,aw:config.settings.search.loadAwardsData,pc:config.settings.additionalUserData.pc,gc:config.settings.additionalUserData.gc,fc:config.settings.additionalUserData.fc},'search');$('.'+config.settings.search.resultsClass).append($(SPI.render(config.templates.search.resultHolder,{extraClass:UserList[userItem].extraClass,i:config.settings.search.resultsElementsId+userItem})));};hsDataCache.reverse('search');hsDataCache.get('search');$('#'+config.settings.search.formId).data('canSubmit',true);$('.'+config.settings.search.noResultsClass).hide();};that.search.usersForm=function(formId,options){$.extend(config.settings.search,options);$('#'+config.settings.search.formId).data('canSubmit',true);$('[name=friends_search_username]').focus(function(){if($(this).val()==SPI._langStrings.friends.search.friendfinder_inputfield){$(this).val('');$(this).addClass('searchBold');};}).blur(function(){if($(this).val()==''){$(this).removeClass('searchBold');$(this).val(SPI._langStrings.friends.search.friendfinder_inputfield);};});$('.friends_search_total_holder').hide();$('.'+config.settings.search.typeSwich).click(function(){return that.search.switchSearchType();});if(formId!=config.settings.search.formId&&typeof(formId)!='undefined'&&formId!=null)config.settings.search.formId=formId;if(!$('input[type=submit]','#'+config.settings.search.formId).length){$('a.submit','#'+config.settings.search.formId).click(function(){$('#'+config.settings.search.formId).submit();return false;});};$('#'+config.settings.search.formId).submit(function(){if(that.search.formIsValid()){$('.showMyFriends').css('display','block');$('#'+config.settings.search.formId).data('canSubmit',false);delete(that.search.options.username);delete(that.search.options.givenname);delete(that.search.options.surname);delete(that.search.options.gender);if($('[name=friends_search_username]','#'+config.settings.search.formId).val())that.search.options.username=$('[name=friends_search_username]','#'+config.settings.search.formId).val();that.search.rawSearchField=that.search.options.username;if(that.search.options.username.indexOf('*')==-1)that.search.options.username+='*';if(that.search.options.username.indexOf('*')!=0)that.search.options.username='*'+that.search.options.username;if(config.settings.search.type=='extended'){if($('[name=friends_search_givenname]','#'+config.settings.search.formId).val())that.search.options.givenname=$('[name=friends_search_givenname]','#'+config.settings.search.formId).val();if($('[name=friends_search_surname]','#'+config.settings.search.formId).val())that.search.options.surname=$('[name=friends_search_surname]','#'+config.settings.search.formId).val();if($('[name=friends_search_gender]:checked','#'+config.settings.search.formId).val())that.search.options.gender=$('[name=friends_search_gender]:checked','#'+config.settings.search.formId).val();};that.search.users(1);};return false;});};that.search.switchSearchType=function(){if(config.settings.search.type=='simple'){config.settings.search.type='extended';$('.'+config.settings.search.typeSwich).text(config.langStrings.search.less);$('.'+config.settings.search.extendedHolder).show();}else{config.settings.search.type='simple';$('.'+config.settings.search.typeSwich).text(config.langStrings.search.more);$('.'+config.settings.search.extendedHolder).hide();};return false;};that.search.users=function(page){if(config.settings.search.loadHigscoreData)SPI.highscore.init();if(config.settings.search.loadAwardsData)SPI.achievements.init();that.search.options.pagenr=parseInt(page)||1;that.search.beforeSearch();$.profilar.userSearch(that.search.options,function(data,errors){if(!errors){if(typeof config.settings.search.beforeRender=='function')config.settings.search.beforeRender.call(this);if(parseInt(data[0].total)){return getBasicUserInfo(data,that.search.renderResults,config.settings.search.externalProfiles,config.settings.search.externalPrefs,true);}
return that.search.noResults();}else{return that.search.noResults();};});};that.friendList=function(listtype,settings,pagenr){var settings=$.extend(config.settings.friendList[listtype],settings);if(settings.anonymousIcon){config.settings.anonymousIcon=settings.anonymousIcon;}
var forceRender=settings.forceRender||false;settings.pagenr=pagenr||1;var pagination='',listElements=[],total=0,returned=0;if(forceRender!==true&&($(settings.element).length==0||$(settings.element+':visible').length==0))return;$(settings.element).show();$(settings.element).empty();switch(listtype){case'received':$.profilar.friendListReceived(function(data){total=$('profilar friendlist total:first',data).text()||0;returned=$('profilar friendlist returned:first',data).text()||0;if(returned>0&&total>0){$(settings.element).append('<ul></ul>');$('profilar friendlist resultset result',data).each(function(){var avatarId=$('getprefs avatar:first',this).text();var avatar='';if(typeof avatarId=='undefined'||avatarId==''){avatar=config.settings.anonymousIcon;}else{avatar=SPI.sprintf(SPI._settings.avatarImages.small_avatar,avatarId);};var li=$(SPI.render(config.templates.friendList.received.content,{username:$('username:first',this).text(),avatar_url:avatar}));li.data('username',$('username:first',this).text());$('a.accept:first',li).click(function(){var targetusername=li.data('username');$.profilar.friendAccept(targetusername,function(){li.remove();SPI.notice.renderMessage(targetusername,'accepted');SPI.handlers.run('friends_changed',[],false);that.updateTabsBar();});return false;});$('a.decline:first',li).click(function(){var targetusername=li.data('username');$.profilar.friendDecline(targetusername,function(){li.remove();SPI.notice.renderMessage(targetusername,'rejected');SPI.handlers.run('friends_changed',[],false);});return false;});$('ul',settings.element).append(li);});if(config.settings.myFriends.paginationBlueButtons==true){var paging=SPI.paginatorString(total,settings.pagenr,settings.pagesize,settings.pagecount,function(page){SPI.friends.friendList(listtype,settings,page);},{next:'',prev:'',separator:config.langStrings.separator},undefined,SPI._templates.pagination);}else{var paging=SPI.paginatorString(total,settings.pagenr,settings.pagesize,settings.pagecount,function(page){SPI.friends.friendList(listtype,settings,page);},config.langStrings);}
$(settings.element).append(paging);}else{}},settings);break;case'sent':$.profilar.friendListSent(function(data){total=$('profilar friendlist total:first',data).text()||0;returned=$('profilar friendlist returned:first',data).text()||0;if(returned>0&&total>0){$(settings.element).append('<ul></ul>');$('profilar friendlist resultset result',data).each(function(){var avatarId=$('getprefs avatar:first',this).text();var avatar='';if(typeof avatarId=='undefined'||avatarId==''){avatar=config.settings.anonymousIcon;}else{avatar=SPI.sprintf(SPI._settings.avatarImages.small_avatar,avatarId);};var li=$(SPI.render(config.templates.friendList.sent.content,{username:$('username:first',this).text(),avatar_url:avatar}));li.data('username',$('username:first',this).text());$('ul',settings.element).append(li);});if(config.settings.myFriends.paginationBlueButtons==true){var paging=SPI.paginatorString(total,settings.pagenr,settings.pagesize,settings.pagecount,function(page){SPI.friends.friendList(listtype,settings,page);},{next:'',prev:'',separator:config.langStrings.separator},undefined,SPI._templates.pagination);}else{var paging=SPI.paginatorString(total,settings.pagenr,settings.pagesize,settings.pagecount,function(page){SPI.friends.friendList(listtype,settings,page);},config.langStrings);}
$(settings.element).append(paging);}else{}},settings);break;case'accepted':var username=SPI.getURLparam('username')||null;SPI.friends.init(username);$.profilar.friendCheck(username,function(data){var friendStatus=$('profilar friendcheck friendstatus',data).text();switch(friendStatus.toLowerCase()){case'accepted':var content=$(SPI.render(config.templates.friendList.accepted.manage_accepted,{}));break;case'sent':var content=$(SPI.render(config.templates.friendList.accepted.manage_sent,{}));break;default:case'none':var content=$(SPI.render(config.templates.friendList.accepted.manage_none,{}));break;}
content.data('username',$('profilar friendcheck username:first',data).text());$('a.invite:first',content).click(function(){var self=this;var targetusername=content.data('username');that.friendInviteWithMail(targetusername,function(){$(self).remove();SPI.handlers.run('friends_changed',[],false);});return false;});$('a.cancel:first',content).click(function(){var self=this;var targetusername=content.data('username');$.profilar.friendDelete(targetusername,function(){$(self).remove();SPI.handlers.run('friends_changed',[],false);});return false;});$(settings.element).prepend(content);});$.profilar.friendListAccepted(username,function(data){total=$('profilar friendlist total:first',data).text()||0;returned=$('profilar friendlist returned:first',data).text()||0;if(returned>0&&total>0){$(settings.element).append('<ul></ul>');$('profilar friendlist resultset result',data).each(function(){var avatarId=$('getprefs avatar:first',this).text();var avatar='';if(typeof avatarId=='undefined'||avatarId==''){avatar=config.settings.anonymousIcon;}else{avatar=SPI.sprintf(SPI._settings.avatarImages.small_avatar,avatarId);};var li=$(SPI.render(config.templates.friendList.accepted.content,{username:$('username:first',this).text(),avatar_url:avatar}));li.data('username',$('username:first',this).text());$('ul',settings.element).append(li);});if(config.settings.myFriends.paginationBlueButtons==true){var paging=SPI.paginatorString(total,settings.pagenr,settings.pagesize,settings.pagecount,function(page){SPI.friends.friendList(listtype,settings,page);},{next:'',prev:'',separator:config.langStrings.separator},undefined,SPI._templates.pagination);}else{var paging=SPI.paginatorString(total,settings.pagenr,settings.pagesize,settings.pagecount,function(page){SPI.friends.friendList(listtype,settings,page);},config.langStrings);}
$(settings.element).append(paging);}else{}},settings);break;case'latest':var username=SPI.getURLparam('username')||null;SPI.friends.init(username);$.profilar.friendListAccepted(username,function(data){total=$('profilar friendlist total:first',data).text()||0;returned=$('profilar friendlist returned:first',data).text()||0;if(returned>0&&total>0){$(settings.element).append('<ul></ul>');var g='',gender='',avatarId=null,avatar='',j=0,li=null;var results=$('profilar friendlist resultset result',data);for(var i=0;i<results.length;i++){$this=results[i];g=$('request gender:first',$this).text()||'';gender=(g=='m')?''+SPI._langStrings.friends.male:''+SPI._langStrings.friends.female;avatarId=$('getprefs avatar:first',$this).text();avatar=(typeof avatarId=='undefined'||avatarId=='')?config.settings.anonymousIcon:SPI.sprintf(SPI._settings.avatarImages.small_avatar,avatarId);extraClass=getExtraClass(i,j,results.length);li=$(SPI.render(config.templates.friendList.latest.content,{username:$('username:first',$this).text(),avatar_url:avatar,extraClass:extraClass,gender:gender,allfriendsUrl:settings.allfriendsUrl,searchfriendsUrl:settings.searchfriendsUrl}));li.data('username',$('username:first',$this).text());$('ul',settings.element).append(li);if(i%2)j++;};if(total<settings.pagesize&&settings.fillPagesize===true){for(var k=i;k<settings.pagesize;k++){extraClass=getExtraClass(k,j,results.length);emptyLi=$(SPI.render(config.templates.friendList.latest.emptyrow,{'extraClass':extraClass,'avatar_url':config.settings.anonymousIcon,allfriendsUrl:settings.allfriendsUrl,searchfriendsUrl:settings.searchfriendsUrl}));$('ul',settings.element).append(emptyLi);if(k%2)j++;}}}else{if(username==null){if(settings.friendList.latest.renderNoFriends==true){if(settings.friendList.latest.fillWhenEmpty===true){$(settings.element).append('<ul></ul>');fillEmptyLis($('ul',settings.element),settings.pagesize,config.templates.friendList.latest.emptyrow);}else{var avatar=config.settings.anonymousIcon;$(settings.element).append($(SPI.render(config.templates.friendList.latest.nofriends,{avatar_url:avatar,'username':username,allfriendsUrl:settings.allfriendsUrl,searchfriendsUrl:settings.searchfriendsUrl})));}}}else{if(settings.friendList.latest.renderNoFriends){if(settings.friendList.latest.fillWhenEmpty===true){$(settings.element).append('<ul></ul>');fillEmptyLis($('ul',settings.element),settings.pagesize,SPI._templates.friends.friends_friendlist_empty_row);}else{$(settings.element).append($(SPI.render(config.templates.friendList.latest.nofriends_public,{avatar_url:avatar,'username':username,allfriendsUrl:settings.allfriendsUrl,searchfriendsUrl:settings.searchfriendsUrl})));}}else{if(settings.boxelement&&$(settings.boxelement).length>0){$(settings.boxelement).remove();}}}
if(settings.friendList.latest.noFriendsCallback!=''){callback=settings.friendList.latest.noFriendsCallback;if(typeof callback=='function')callback.call();}}
if(parseInt(total)>0||settings.friendList.latest.forceShowTotal===true){var totalElement=$(SPI.render(config.templates.friendList.latest.total,{'total':total,'username':username,allfriendsUrl:settings.allfriendsUrl,searchfriendsUrl:settings.searchfriendsUrl}));$(settings.element).append(totalElement);}},settings);break;}};var getExtraClass=function(i,j,total){var extraClass=(i%2)?'even':'odd';if(j%2==0)extraClass+=' odd-every2';if(i==0)extraClass+=' first';if(i==(total-1))extraClass+=' last';return extraClass;};var fillEmptyLis=function(where,total,template){if(where.length==0)return;var emptyLi=null,index=0,index2=0,extraClass='';for(var i=0;i<total;i++){extraClass=(index%2)?'even':'odd';if(index2%2==0)extraClass+=' odd-every2';if(index==0)extraClass+=' first';if(index==(total-1))extraClass+=' last';emptyLi=$(SPI.render(''+template,{'extraClass':extraClass,'avatar_url':config.settings.anonymousIcon}));emptyLi.attr('id','lf_'+i);where.append(emptyLi);if(index%2)index2++;index++;}};that.myFriends.options={channel:SPI._settings.global.channel_id,pagesize:config.settings.myFriends.usersLimit,level:'channel',username:$.profilar.forService().username,includePref:config.settings.myFriends.externalPrefs};that.myFriends.init=function(options,cfg){$.extend(that.myFriends.options,options);if(cfg!==undefined){$.extend(true,config,cfg);}};that.myFriends.noFriends=function(){if(typeof(that.myFriends.options.noFriendsCallback)=='function'){that.myFriends.options.noFriendsCallback();}
$('.my_friends_no_friends').show();$('.my_friends_results_holder').hide();};that.myFriends.noUserFriends=function(){$('.user_friends_no_friends').show();$('.user_friends_results_holder').hide();};that.myFriends.showList=function(page,targetuser){config.settings.myFriends._targetuser=targetuser||that.targetuser||undefined;config.settings.myFriends._friendcheck=false;if(typeof config.settings.myFriends._targetuser!=='undefined')config.settings.myFriends._friendcheck=true;if((config.settings.myFriends._friendcheck)&&($('.'+config.settings.userFriends.resultsClass).length==0))return;if(config.settings.myFriends.loadHigscoreData)SPI.highscore.init();if(config.settings.myFriends.loadAwardsData)SPI.achievements.init();that.myFriends.options.pagenr=parseInt(page)||1;$.profilar.friendListAccepted(config.settings.myFriends._targetuser,function(data,errors){if(!errors){if(parseInt($('profilar friendlist total',data).text())){$('.my_friends_no_friends').hide();$('.my_friends_results_holder').show();if(config.settings.myFriends._friendcheck)return that.myFriends.renderUserList($('profilar friendlist',data));return that.myFriends.renderList($('profilar friendlist',data));}else{if(config.settings.myFriends._friendcheck)return that.myFriends.noUserFriends();return that.myFriends.noFriends();};}else{that.myFriends.showError();};},that.myFriends.options);};that.myFriends.renderList=function(data){$('.'+config.settings.myFriends.paginationClass).empty();if(config.settings.myFriends.paginationStringClass)$('.'+config.settings.myFriends.paginationStringClass).empty().html('');if(parseInt($('total',data).text())>parseInt(config.settings.myFriends.usersLimit)){if(config.settings.myFriends.paginationBlueButtons==true){var paging=SPI.paginatorString($('total',data).text(),that.myFriends.options.pagenr,config.settings.myFriends.usersLimit,4,that.myFriends.showList,{next:'',prev:'',separator:config.langStrings.separator},undefined,SPI._templates.pagination);}else{var paging=SPI.paginatorString($('total',data).text(),that.myFriends.options.pagenr,config.settings.myFriends.usersLimit,4,that.myFriends.showList,config.langStrings);}
$('.'+config.settings.myFriends.paginationClass).each(function(){try{$(this).append(paging.clone(true));}catch(ex){}});var tmp=0;$(':visible','.'+config.settings.myFriends.paginationClass+':first').find('span:visible').each(function(){tmp+=$(this).width()+(parseInt($(this).css('margin-left').slice(0,-2))||0)+(parseInt($(this).css('margin-right').slice(0,-2))||0);});if(SPI._settings.friends.calculatePaginationWidth)$('.'+config.settings.myFriends.paginationClass).width(tmp);if(config.settings.myFriends.paginationStringClass){$('.'+config.settings.myFriends.paginationStringClass).html(preparePaginationString(SPI._langStrings.friends.paginationString,that.myFriends.options.pagenr,config.settings.myFriends.usersLimit,$('total',data).text()));$('.'+config.settings.myFriends.paginationStringClass).show();};$('.'+config.settings.myFriends.paginationClass).show();}else{$('.'+config.settings.myFriends.paginationClass).hide();if(config.settings.myFriends.paginationStringClass)$('.'+config.settings.myFriends.paginationStringClass).hide();};$('.my_friends_total_extern').html(parseInt($('total',data).text()));if(parseInt($('total',data).text())>1){$('.my_friends_total_holder .my_friends_total').empty().html(SPI.sprintf(SPI._langStrings.friends.myFriends.friends_title_number_of_friends,parseInt(parseInt($('total',data).text()))));}else{$('.my_friends_total_holder .my_friends_total').empty().html(SPI._langStrings.friends.myFriends.friends_1_friends);};if(parseInt($('total',data).text())>0)$('.my_friends_total_holder').show();$('.'+config.settings.myFriends.resultsClass).empty();var myFriendsIteration=0;$('.'+config.settings.myFriends.resultsClass).empty();var userobjectList=[];var userlist={returned:$('returned',data).text(),total:$('total',data).text(),username:[]};$('resultset result',data).each(function(){var userobject={};userobject.no=myFriendsIteration;if(myFriendsIteration%2)userobject.extraClass='odditem';else userobject.extraClass='evenitem';userobject.username=$('username:first',this).text();userlist.username.push($('username:first',this).text());userobject.friendtime=$('friendtime:first',this).text()||'';userobject.friendstatus=$('friendstatus:first',this).text()||'';userobject.friendsCount=$('friendscount:first',this).text()||'';userobject.avatar=$('getprefs avatar:first',this).text()||'';userobject.privacy=$('getprefs privacy:first',this).text()||'';userobjectList.push(userobject);$('.'+config.settings.myFriends.resultsClass).append($(SPI.render(config.templates.myFriends.resultHolder,{extraClass:userobject.extraClass,i:config.settings.myFriends.resultsElementsId+myFriendsIteration})));myFriendsIteration++;});$.profilar.loadExternalProfiles(userlist.username,function(usersinfo,errors){_mergeUserData(userlist,function(mdata){if(typeof(hsDataCache.data.myFriends)=='undefined'){hsDataCache.addType('myFriends');}
var muser,_fc;for(muser in mdata.users){hsDataCache.set({user:mdata.users[muser],callback:that.myFriends.drawRow,hs:config.settings.myFriends.loadHigscoreData,aw:config.settings.myFriends.loadAwardsData,pc:false,gc:config.settings.additionalUserData.gc,fc:false},'myFriends');}
for(muser in mdata.users){_fc=(mdata.users[muser].friendsCount=='')?config.settings.additionalUserData.fc:false;hsDataCache.set({user:mdata.users[muser],callback:function(){},hs:false,aw:false,pc:false,gc:false,fc:_fc},'myFriends');hsDataCache.get('myFriends');}
hsDataCache.reverse('myFriends');hsDataCache.get('myFriends');if(typeof(that.myFriends.options.afterRenderCallback)=='function'){that.myFriends.options.afterRenderCallback();}},userobjectList,usersinfo,false);},config.settings.myFriends.externalProfiles);};that.myFriends.renderUserList=function(data){$('.'+config.settings.userFriends.resultsClass).empty();$('.'+config.settings.userFriends.paginationClass).empty();if(parseInt($('total',data).text())>parseInt(config.settings.userFriends.usersLimit)){if(config.settings.myFriends.paginationBlueButtons==true){var paging=SPI.paginatorString($('total',data).text(),that.myFriends.options.pagenr,config.settings.userFriends.usersLimit,4,that.myFriends.showList,{next:'',prev:'',separator:config.langStrings.separator},undefined,SPI._templates.pagination);}else{var paging=SPI.paginatorString($('total',data).text(),that.myFriends.options.pagenr,config.settings.userFriends.usersLimit,4,that.myFriends.showList,config.langStrings);}
$('.'+config.settings.userFriends.paginationClass).each(function(){try{$(this).append(paging.clone(true));}catch(ex){}});var tmp=0;$(':visible','.'+config.settings.userFriends.paginationClass+':first').find('span:visible').each(function(){tmp+=$(this).width()+(parseInt($(this).css('margin-left').slice(0,-2))||0)+(parseInt($(this).css('margin-right').slice(0,-2))||0);});if(SPI._settings.friends.calculatePaginationWidth)$('.'+config.settings.userFriends.paginationClass).width(tmp);if(config.settings.search.paginationStringClass){$('.friends_search_pagination_string').html(preparePaginationString(SPI._langStrings.friends.paginationString,that.myFriends.options.pagenr,config.settings.userFriends.usersLimit,$('total',data).text()));};}else{$('.'+config.settings.userFriends.paginationClass).hide();};var tmpData={total:$('total',data).text(),returned:$('returned',data).text(),username:[]};if(parseInt($('total',data).text())>1){$('.my_friends_total_holder .my_friends_total').empty().html(SPI.sprintf(SPI._langStrings.friends.myFriends.friends_title_number_of_friends,parseInt(parseInt($('total',data).text()))));}else{$('.my_friends_total_holder .my_friends_total').empty().html(SPI._langStrings.friends.myFriends.friends_1_friends);};$('resultset result',data).each(function(){tmpData.username.push($('username:first',this).text());});getBasicUserInfo([tmpData],function(data){that.myFriends.renderUserResults(data);},config.settings.myFriends.externalProfiles,config.settings.myFriends.externalPrefs,true);};that.myFriends.renderUserResults=function(data){var userItem;var UserList=data.users;hsDataCache.addType('userFriends');for(userItem in UserList){UserList[userItem].no=userItem;hsDataCache.set({user:UserList[userItem],callback:function(){},hs:false,aw:false,pc:true,fc:config.settings.additionalUserData.fc,gc:false},'userFriends');hsDataCache.get('userFriends');}
for(userItem in UserList){UserList[userItem].no=userItem;if(userItem%2){UserList[userItem].extraClass='odditem';}else{UserList[userItem].extraClass='evenitem';}
hsDataCache.set({user:UserList[userItem],callback:that.myFriends.drawUserRow,hs:config.settings.search.loadHigscoreData,aw:config.settings.search.loadAwardsData,pc:true,fc:false,gc:config.settings.additionalUserData.gc},'userFriends');$('.'+config.settings.userFriends.resultsClass).append($(SPI.render(config.templates.userFriends.resultHolder,{extraClass:UserList[userItem].extraClass,i:config.settings.userFriends.resultsElementsId+userItem})));};hsDataCache.reverse('userFriends');hsDataCache.get('userFriends');};that.prepareFriendsRow=function(friendItem){var row={no:friendItem.no,username:friendItem.username,userprofilelink:SPI.sprintf(SPI._settings.highscore.userprofile_link,friendItem.username),points:friendItem.points||0,awardsCount:friendItem.awardsCount||0,galeryCount:friendItem.galeryCount||0,friendsCount:friendItem.friendsCount||0,gender:friendItem.gender||'',age:parseInt(friendItem.age,10)||0,friendtime:friendItem.friendtime,actionLink:''};row.level=SPI.sprintf(SPI._langStrings.loginbar.level,checkLevel(userLevels,row.points).level);if(row.gender=='m')row.gender=config.langStrings.male;if(row.gender=='f')row.gender=config.langStrings.female;if(row.age>=config.settings.exposeGivennameMinAge)row.givenname=friendItem.givenname||'';else row.givenname='';if(typeof(friendItem.avatar)=='undefined'||friendItem.avatar==''){row.avatar=config.settings.anonymousIcon;row.avatarBig=config.settings.anonymousIconBig;}else{row.avatar=SPI.sprintf(SPI._settings.avatarImages.small_avatar,friendItem.avatar);row.avatarBig=SPI.sprintf(SPI._settings.avatarImages.big_avatar,friendItem.avatar);};return row;};that.myFriends.drawUserRow=function(friendItem){var row=that.prepareFriendsRow(friendItem);switch(friendItem.friendstatus){case'error':row.actionLink='';break;case'self':acL=SPI.render(config.templates.userFriends.action_self,row);row.actionLink=acL;break;case'none':case'declined':case'deleted':row.actionLink=SPI.render(config.templates.userFriends.action_invite,row);break;case'sent':row.actionLink=SPI.render(config.templates.userFriends.action_pending,row);break;case'received':row.actionLink=SPI.render(config.templates.userFriends.action_accept,row);break;case'accepted':acL=SPI.render(config.templates.userFriends.action_delete,row);row.actionLink=acL;};if(typeof(friendItem.privacy)!='undefined'&&parseInt(friendItem.privacy)==0){var renderedItem=$(SPI.render(config.templates.userFriends.resultBodyPublic,row));}else{var renderedItem=$(SPI.render(config.templates.userFriends.resultBodyPrivate,row));};switch(friendItem.friendstatus){case'error':case'self':case'sent':break;case'none':case'declined':case'deleted':$(renderedItem).find('a.user_friends_result_action').data('username',row.username).click(function(){var self=this;that.friendInviteWithMail($(this).data('username'),function(data,errors){SPI.popup.show(SPI.render(SPI._templates.popup.content_simple,{header:SPI.sprintf(SPI._langStrings.friends.invitefriend_title,$(self).data('username')),highlightclass:''}),function(){$(self).wrap('<span class="user_friends_result_action">'+config.langStrings.userFriends.userInvited+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[{pagenr:SPI.friends.myFriends.options.pagenr}],false);},{title:SPI._langStrings.friends.popup_friendship_request_send,titleIcon:'',close:false});});return false;});break;case'received':$(renderedItem).find('.user_friends_result_action_accept').data('username',row.username).click(function(){var self=this;$.profilar.friendAccept($(this).data('username'),function(data,errors){var uname=$(self).data('username');$(self).wrap('<span class="user_friends_result_action">'+config.langStrings.userFriends.userConfirmed+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[],false);SPI.notice.renderMessage(uname,'accepted');that.updateTabsBar();});return false;});$(renderedItem).find('.user_friends_result_action_reject').data('username',row.username).click(function(){var self=this;$.profilar.friendDecline($(this).data('username'),function(data,errors){var uname=$(self).data('username');$(self).wrap('<span class="user_friends_result_action">'+config.langStrings.userFriends.userDeclined+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[],false);SPI.notice.renderMessage(uname,'rejected');});return false;});break;case'accepted':$(renderedItem).find('.user_friends_result_action').data('username',row.username).click(function(){var self=this;SPI.popup.show(SPI.render(SPI._templates.popup.content_simple,{header:SPI._langStrings.friends.enfriend_extrastep1,highlightclass:''}),{_ok:function(){SPI.popup.close();},_cancel:function(){$.profilar.friendDelete($(self).data('username'),function(data,errors){$(self).wrap('<span class="friends_search_result_action">'+config.langStrings.search.userDeleted+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[],false);that.updateTabsBar();});SPI.popup.show(SPI.render(SPI._templates.popup.content_doublelined,{header:SPI._langStrings.friends.endfriend_suceess,highlightclass:'popup_ok_highlight',info:SPI._langStrings.friends.indfriend_extrastep_desc}),function(){SPI.popup.close();},{title:SPI._langStrings.friends.popup_end_friendship,titleIcon:'popup_friends',close:true});}},{type:'confirm',title:SPI._langStrings.friends.popup_end_friendship,titleIcon:'popup_friends',blueButtonText:SPI._langStrings.friends.endfriend_no,bottomLinkText:SPI._langStrings.friends.endfriend_yes,close:true,autoClose:false});return false;});break;};$('#'+config.settings.userFriends.resultsElementsId+friendItem.no,'.'+config.settings.userFriends.resultsClass).empty().append(renderedItem);if(typeof that.myFriends.options.drawRowCallback=='function')that.myFriends.options.drawRowCallback.call(this,renderedItem);};that.myFriends.drawRow=function(friendItem){var row=that.prepareFriendsRow(friendItem);row.actionLink=SPI.render(config.templates.myFriends.action_delete,row);if(typeof(friendItem.privacy)!='undefined'&&parseInt(friendItem.privacy)==0){var renderedItem=$(SPI.render(config.templates.myFriends.resultBodyPublic,row));}else{var renderedItem=$(SPI.render(config.templates.myFriends.resultBodyPrivate,row));};$(renderedItem).find('a.friends_search_result_action').data('username',row.username).click(function(){var self=this;SPI.popup.show(SPI.render(SPI._templates.popup.content_simple,{header:SPI._langStrings.friends.enfriend_extrastep1,highlightclass:''}),{_ok:function(){SPI.popup.close();},_cancel:function(){$.profilar.friendDelete($(self).data('username'),function(data,errors){$(self).wrap('<span class="friends_search_result_action">'+
config.langStrings.search.userDeleted+'</span>');$(self).remove();SPI.handlers.run('friends_changed',[],false);that.updateTabsBar();});SPI.popup.show(SPI.render(SPI._templates.popup.content_doublelined,{header:SPI._langStrings.friends.endfriend_suceess,highlightclass:'',info:SPI._langStrings.friends.indfriend_extrastep_desc}),function(){SPI.popup.close();},{title:SPI._langStrings.friends.popup_end_friendship,titleIcon:'',close:false});}},{type:'confirm',title:SPI._langStrings.friends.popup_end_friendship,titleIcon:'',blueButtonText:SPI._langStrings.friends.endfriend_no,bottomLinkText:SPI._langStrings.friends.endfriend_yes,close:false,autoClose:false});return false;});$('#'+config.settings.myFriends.resultsElementsId+friendItem.no,'.'+
config.settings.myFriends.resultsClass).empty().append(renderedItem);if(typeof that.myFriends.options.drawRowCallback=='function')that.myFriends.options.drawRowCallback.call(this,renderedItem);};that.myFriends.showError=function(){return;};var showMessage=function(message){alert(''+message);};that.profilePanel={};that.profilePanel.options={};that.profilePanel.render=function(data){switch(data.friendstatus){case'error':case'self':break;case'none':case'declined':case'deleted':var panel=$(SPI.render(config.templates.profilePanel.holder,{acl:SPI.render(config.templates.profilePanel.actionnone,{})}));panel.append(SPI.render(config.templates.profilePanel.msgBox,{message:SPI.sprintf(config.langStrings.profilePanel.confirmInvite,that.targetuser)}));panel.find('a.friends_profilePanel_closelink').click(function(){return SPI.friends.profilePanel.hideMsg();});var actionLink=panel.find('a.friends_profilePanel_actionlink');$(actionLink).data('canClick',true).data('username',that.targetuser).click(function(){if($(actionLink).data('canClick')==true)$(actionLink).data('canClick',false);else return false;var self=this;that.friendInviteWithMail($(actionLink).data('username'),function(data,errors){SPI.handlers.run('friends_changed',[{'ommitPanel':true}],false);$('.friends_profilePanel_msgBox').show();$(panel).find('.friends_profilePanel_header').remove();$(panel).find('.friends_profilePanel_none').before(SPI.render(config.templates.profilePanel.acctionpending,{})).remove();$(panel2).find('.friends_profilePanel_header').remove();$(panel2).find('.friends_profilePanel_none').remove();});return false;});var panel2=$(SPI.render(config.templates.profilePanel.holder,{acl:SPI.render(config.templates.profilePanel.actionnone,{})}));panel2.find('a.friends_profilePanel_actionlink').click(function(){if($(actionLink).data('canClick')==true)$(actionLink).data('canClick',false);else return false;var self=this;that.friendInviteWithMail($(actionLink).data('username'),function(data,errors){SPI.handlers.run('friends_changed',[{'ommitPanel':true}],false);$('.friends_profilePanel_msgBox').show();$(panel).find('.friends_profilePanel_header').remove();$(panel).find('.friends_profilePanel_none').before(SPI.render(config.templates.profilePanel.acctionpending,{})).remove();$(panel2).find('.friends_profilePanel_header').remove();$(panel2).find('.friends_profilePanel_none').remove();});return false;});break;case'sent':case'received':var panel=$(SPI.render(config.templates.profilePanel.holder,{acl:SPI.render(config.templates.profilePanel.acctionpending,{})}));break;case'accepted':$('.userinfo-box h2 span.tltHolder').dTooltip({eventHandler:'a',displayDiv:'tltright',content:'.tltcontent',track:true,position:'right',x:-216,y:5,drawItemCallback:'drawVirtualItem'});$('a.delete-friend-user-profile-button').css('display','inline-block');var panel=$(SPI.render(config.templates.profilePanel.holder,{acl:SPI.render(config.templates.profilePanel.actionaccepted,{})}));panel.append(SPI.render(config.templates.profilePanel.msgBox,{message:SPI.sprintf(config.langStrings.profilePanel.confirmDelete,that.targetuser)}));panel.find('a.friends_profilePanel_closelink').click(function(){return SPI.friends.profilePanel.hideMsg();});var clickHandler=function(){if($(this).data('canClick')==true)$(this).data('canClick',false);else return false;if($(this).data('titleIcon')==undefined)$(this).data('titleIcon','popup_friends');var self=this;SPI.popup.show(SPI.render(SPI._templates.popup.content_simple,{header:SPI._langStrings.friends.enfriend_extrastep1,highlightclass:''}),{_ok:function(){SPI.popup.close();$(self).data('canClick',true);},_cancel:function(){$.profilar.friendDelete($(self).data('username'),function(data,errors){return SPI.reloadSite(window.top.location.href);});SPI.popup.show(SPI.render(SPI._templates.popup.content_doublelined,{header:SPI._langStrings.friends.endfriend_suceess,highlightclass:'popup_ok_highlight',info:SPI._langStrings.friends.indfriend_extrastep_desc}),function(){SPI.popup.close();},{title:SPI._langStrings.friends.popup_end_friendship,titleIcon:$(self).data('titleIcon'),close:true});}},{type:'confirm',title:SPI._langStrings.friends.popup_end_friendship,titleIcon:'',blueButtonText:SPI._langStrings.friends.endfriend_no,bottomLinkText:SPI._langStrings.friends.endfriend_yes,close:true,beforeCloseCallback:function(){$(self).data('canClick',true);},autoClose:false});return false;};$('a.delete-friend-user-profile-button').data('canClick',true).data('username',that.targetuser).data('titleIcon','').click(clickHandler);panel.find('a.friends_profilePanel_actionlink').data('canClick',true).data('username',that.targetuser).click(clickHandler);break;};$(config.settings.profilePanel.targetElement).append(panel);if(typeof that.profilePanel.options.afterRender=='function'){that.profilePanel.options.afterRender.call(this,panel);that.profilePanel.options.afterRender.call(this,panel2);}};that.profilePanel.show=function(targetuser,options){if(typeof options!='undefined')$.extend(that.profilePanel.options,options);$('.friends_profilePanel_holder').remove();that.targetuser=targetuser||that.targetuser;if(typeof(that.targetuser)=='undefined'||that.targetuser==null)return false;if($.profilar.forService().username!=''){$.profilar.friendCheck(that.targetuser,function(data,errors){if(typeof that.profilePanel.options.beforeRender=='function')that.profilePanel.options.beforeRender.call(this);if(!errors)that.profilePanel.render(data);});};};that.profilePanel.hideMsg=function(){$('.friends_profilePanel_msgBox').hide();return false;};that.sendSiteInvitation=function(friendemail,friendname,message){if(friendemail===undefined){return false;};var givenname='';var surname='';var parsedmessage='';if(message!==undefined||message!=''){parsedmessage=''+SPI.escape(message)+'';};if(friendname===undefined||friendname==''){friendname=friendemail;};var minAge=config.settings.inviteSiteMinAge;if($.profilar.get('age')>minAge){givenname=$.profilar.get('givenname')+' ('+$.profilar.forService().username+')';};if(givenname==''){givenname=$.profilar.forService().username;};$.profilar.triggerEvent({cheetah_ebm:{aid:config.settings.inviteMailAid,eid:config.settings.inviteSiteMailEventId},email:friendemail,userName:false,emptyEmail:false,level:'channel',fields:[{name:'givenname',value:givenname},{name:'friendname',value:friendname},{name:'message',value:parsedmessage}]});};that.friendshipAcceptedEmail=function(friend_username){if(friend_username===undefined){return false;};var _targetuser=$.profilar.forService().username;var minAge=config.settings.inviteSiteMinAge;var inviteeUsername=$.profilar.forService().username,inviteeGivenname=$.profilar.get('givenname'),inviteeDisplayname=inviteeUsername;if($.profilar.get('age')>minAge&&inviteeGivenname!==undefined&&inviteeUsername!=inviteeGivenname){inviteeDisplayname=SPI.sprintf('%1$s (%2$s)',inviteeGivenname,inviteeUsername);}
getBasicUserInfo([{username:[friend_username]}],function(data){var inviterUsername=friend_username,inviterGivenname=data.users[0].givenname,inviterDisplayname=inviterUsername;if(inviterGivenname!==undefined&&inviterGivenname!=''){inviterDisplayname=inviterGivenname;}
$.profilar.triggerEvent({cheetah_ebm:{aid:config.settings.inviteMailAid,eid:config.settings.inviteAcceptedMailEventId},email:'',userName:friend_username,emptyEmail:true,level:'channel',fields:[{name:'username',value:inviterUsername},{name:'displayname',value:inviterDisplayname},{name:'friend_username',value:inviteeUsername},{name:'friend_displayname',value:inviteeDisplayname}]});},['givenname','age'],['avatar'],true);};that.updateFriendsCounter=function(opts){var options=$.extend({full:'.un_friendscounter',plain:'.un_friendscounter_plain'},opts);var fullExists=options.full&&$(options.full).length>0,plainExists=options.plain&&$(options.plain).length>0;if(fullExists||plainExists){$.profilar.friendListReceived(function(data,errors){var count=parseInt($('profilar friendlist total',data).text());if(count>0){var counterText='+'+count,counterTextPlain=''+count;if(fullExists){$(options.full).text(counterText).show();if(config.settings.renderSettings.decorateFriendCounter){$(options.full).append('<span class="right">&nbsp;</span>');}}
if(plainExists)$(options.plain).text(counterTextPlain).show();}else{if(fullExists)$(options.full).text('').hide();if(plainExists)$(options.plain).text('0');}},{pagenr:1,pagesize:1});}};that.init=function(targetuser,new_config){new_config=new_config||{};SPI.getAndUpdateConfig('friends',config);config=$.extend(true,config,new_config);that.targetuser=targetuser||that.targetuser||null;};return that;})(jQuery,SPI);;(function($){var initializing=false,fnTest=/xyz/.test(function(){xyz;})?/\b_super\b/:/.*/,inheritProps=function(newProps,oldProps,addTo){addTo=addTo||newProps
for(var name in newProps){addTo[name]=typeof newProps[name]=="function"&&typeof oldProps[name]=="function"&&fnTest.test(newProps[name])?(function(name,fn){return function(){var tmp=this._super,ret;this._super=oldProps[name];ret=fn.apply(this,arguments);this._super=tmp;return ret;};})(name,newProps[name]):newProps[name];}};jQuery.Class=function(){if(arguments.length){jQuery.Class.extend.apply(jQuery.Class,arguments);}};$.extend($.Class,{callback:function(funcs){var args=jQuery.makeArray(arguments),self;funcs=args.shift();if(!jQuery.isArray(funcs)){funcs=[funcs];}
self=this;return function class_cb(){var cur=args.concat(jQuery.makeArray(arguments)),isString,length=funcs.length,f=0,func;for(;f<length;f++){func=funcs[f];if(!func){continue;}
isString=typeof func=="string";if(isString&&self._set_called){self.called=func;}
cur=(isString?self[func]:func).apply(self,cur||[]);if(f<length-1){cur=!jQuery.isArray(cur)||cur._use_call?[cur]:cur}}
return cur;}},getObject:function(objectName,current){var current=current||window,parts=objectName?objectName.split(/\./):[],i=0;for(;i<parts.length;i++){current=current[parts[i]]||(current[parts[i]]={})}
return current;},newInstance:function(){var inst=this.rawInstance(),args;if(inst.setup){args=inst.setup.apply(inst,arguments);}
if(inst.init){inst.init.apply(inst,$.isArray(args)?args:arguments);}
return inst;},setup:function(oldClass,fullName){this.defaults=$.extend(true,{},oldClass.defaults,this.defaults);return arguments;},rawInstance:function(){initializing=true;var inst=new this();initializing=false;return inst;},extend:function(fullName,klass,proto){if(typeof fullName!='string'){proto=klass;klass=fullName;fullName=null;}
if(!proto){proto=klass;klass=null;}
proto=proto||{};var _super_class=this,_super=this.prototype,name,shortName,namespace,prototype;initializing=true;prototype=new this();initializing=false;inheritProps(proto,_super,prototype);function Class(){if(initializing)return;if(this.constructor!==Class&&arguments.length){return arguments.callee.extend.apply(arguments.callee,arguments)}else{return this.Class.newInstance.apply(this.Class,arguments)}}
for(name in this){if(this.hasOwnProperty(name)&&$.inArray(name,['prototype','defaults','getObject'])==-1){Class[name]=this[name];}}
inheritProps(klass,this,Class);if(fullName){var parts=fullName.split(/\./),shortName=parts.pop(),current=$.Class.getObject(parts.join('.')),namespace=current;current[shortName]=Class;}
$.extend(Class,{prototype:prototype,namespace:namespace,shortName:shortName,constructor:Class,fullName:fullName});Class.prototype.Class=Class.prototype.constructor=Class;var args=Class.setup.apply(Class,[_super_class].concat($.makeArray(arguments)));if(Class.init){Class.init.apply(Class,args||[]);}
return Class;}})
jQuery.Class.prototype.callback=jQuery.Class.callback;})(jQuery);(function($){var regs={undHash:/_|-/,colons:/::/,words:/([A-Z]+)([A-Z][a-z])/g,lowerUpper:/([a-z\d])([A-Z])/g,dash:/([a-z\d])([A-Z])/g,replacer:/\{([^\}]+)\}/g},getObject=function(objectName,current,remove){var current=current||window,parts=objectName?objectName.split(/\./):[],ret,i=0;for(;i<parts.length-1&&current;i++){current=current[parts[i]]}
ret=current[parts[i]];if(remove){delete current[parts[i]];}
return ret;};var str=($.String={strip:function(string){return string.replace(/^\s+/,'').replace(/\s+$/,'');},capitalize:function(s,cache){return s.charAt(0).toUpperCase()+s.substr(1);},endsWith:function(s,pattern){var d=s.length-pattern.length;return d>=0&&s.lastIndexOf(pattern)===d;},camelize:function(s){var parts=s.split(regs.undHash),i=1;parts[0]=parts[0].charAt(0).toLowerCase()+parts[0].substr(1);for(;i<parts.length;i++){parts[i]=str.capitalize(parts[i]);}
return parts.join('');},classize:function(s){var parts=s.split(regs.undHash),i=0;for(;i<parts.length;i++){parts[i]=str.capitalize(parts[i]);}
return parts.join('');},niceName:function(s){var parts=s.split(regs.undHash),i=0;for(;i<parts.length;i++){parts[i]=str.capitalize(parts[i]);}
return parts.join(' ');},underscore:function(s){return s.replace(regs.colons,'/').replace(regs.words,'$1_$2').replace(regs.lowerUpper,'$1_$2').replace(regs.dash,'_').toLowerCase();},sub:function(s,data,remove){return s.replace(regs.replacer,function(whole,inside){return getObject(inside,data,remove).toString();})}});})(jQuery);(function($){var oldClean=jQuery.cleanData;$.cleanData=function(elems){for(var i=0,elem;(elem=elems[i])!==undefined;i++){$(elem).triggerHandler("destroyed");}
oldClean(elems);};})(jQuery);(function($){var bind=function(el,ev,callback){var wrappedCallback;if(ev.indexOf(">")===0){ev=ev.substr(1);wrappedCallback=function(event){if(event.target===el){callback.apply(this,arguments);}else{event.handled=null;}};}
$(el).bind(ev,wrappedCallback||callback);return function(){$(el).unbind(ev,wrappedCallback||callback);el=ev=callback=wrappedCallback=null;};},delegate=function(el,selector,ev,callback){$(el).delegate(selector,ev,callback);return function(){$(el).undelegate(selector,ev,callback);el=ev=callback=selector=null;};},binder=function(el,ev,callback,selector){return selector?delegate(el,selector,ev,callback):bind(el,ev,callback);},shifter=function shifter(cb){return function(){return cb.apply(null,[$(this)].concat(Array.prototype.slice.call(arguments,0)));};},dotsReg=/\./g,controllersReg=/_?controllers?/ig,underscoreAndRemoveController=function(className){return $.String.underscore(className.replace("jQuery.","").replace(dotsReg,'_').replace(controllersReg,""));},actionMatcher=/[^\w]/,eventCleaner=/^(>?default\.)|(>)/,parameterReplacer=/\{([^\}]+)\}/g,breaker=/^(?:(.*?)\s)?([\w\.\:>]+)$/,basicProcessor;$.Class.extend("jQuery.Controller",{init:function(){if(!this.shortName||this.fullName=="jQuery.Controller"){return;}
this._fullName=underscoreAndRemoveController(this.fullName);this._shortName=underscoreAndRemoveController(this.shortName);var controller=this,pluginname=this.pluginName||this._fullName,funcName,forLint;if(!$.fn[pluginname]){$.fn[pluginname]=function(options){var args=$.makeArray(arguments),isMethod=typeof options=="string"&&$.isFunction(controller.prototype[options]),meth=args[0];this.each(function(){var controllers=$.data(this,"controllers"),plugin=controllers&&controllers[pluginname];if(plugin){if(isMethod){plugin[meth].apply(plugin,args.slice(1));}else{plugin.update.apply(plugin,args);}}else{controller.newInstance.apply(controller,[this].concat(args));}});return this;};}
this.actions={};for(funcName in this.prototype){if(!$.isFunction(this.prototype[funcName])){continue;}
if(this._isAction(funcName)){this.actions[funcName]=this._getAction(funcName);}}
if(this.onDocument){forLint=new controller(document.documentElement);}},hookup:function(el){return new this(el);},_isAction:function(methodName){if(actionMatcher.test(methodName)){return true;}else{var cleanedEvent=methodName.replace(eventCleaner,"");return $.inArray(cleanedEvent,this.listensTo)>-1||$.event.special[cleanedEvent]||$.Controller.processors[cleanedEvent];}},_getAction:function(methodName,options){parameterReplacer.lastIndex=0;if(!options&&parameterReplacer.test(methodName)){return null;}
var convertedName=options?$.String.sub(methodName,options):methodName,parts=convertedName.match(breaker),event=parts[2],processor=this.processors[event]||basicProcessor;return{processor:processor,parts:parts};},processors:{},listensTo:[],defaults:{}},{setup:function(element,options){var funcName,ready,cls=this.Class;element=element.jquery?element[0]:element;this.element=$(element).addClass(cls._fullName);($.data(element,"controllers")||$.data(element,"controllers",{}))[cls._fullName]=this;this._bindings=[];this.options=$.extend($.extend(true,{},cls.defaults),options);for(funcName in cls.actions){ready=cls.actions[funcName]||cls._getAction(funcName,this.options);this._bindings.push(ready.processor(element,ready.parts[2],ready.parts[1],this.callback(funcName),this));}
this.called="init";var destroyCB=shifter(this.callback("destroy"));this.element.bind("destroyed",destroyCB);this._bindings.push(function(el){destroyCB.removed=true;$(element).unbind("destroyed",destroyCB);});return this.element;},bind:function(el,eventName,func){if(typeof el=='string'){func=eventName;eventName=el;el=this.element;}
return this._binder(el,eventName,func);},_binder:function(el,eventName,func,selector){if(typeof func=='string'){func=shifter(this.callback(func));}
this._bindings.push(binder(el,eventName,func,selector));return this._bindings.length;},delegate:function(element,selector,eventName,func){if(typeof element=='string'){func=eventName;eventName=selector;selector=element;element=this.element;}
return this._binder(element,eventName,func,selector);},update:function(options){$.extend(this.options,options);},destroy:function(){if(this._destroyed){throw this.Class.shortName+" controller instance has been deleted";}
var self=this,fname=this.Class._fullName;this._destroyed=true;this.element.removeClass(fname);$.each(this._bindings,function(key,value){if($.isFunction(value)){value(self.element[0]);}});delete this._actions;var controllers=this.element.data("controllers");if(controllers&&controllers[fname]){delete controllers[fname];}
$(this).triggerHandler("destroyed");this.element=null;},find:function(selector){return this.element.find(selector);},_set_called:true});basicProcessor=function(el,event,selector,cb,controller){var c=controller.Class;if(c.onDocument&&!/^Main(Controller)?$/.test(c.shortName)){selector=selector?"#"+c._shortName+" "+selector:"#"+c._shortName;}
return binder(el,event,shifter(cb),selector);};var processors=$.Controller.processors,windowEvent=function(el,event,selector,cb){return binder(window,event.replace(/window/,""),shifter(cb));};$.each("change click contextmenu dblclick keydown keyup keypress mousedown mousemove mouseout mouseover mouseup reset windowresize resize windowscroll scroll select submit dblclick focusin focusout load unload ready hashchange mouseenter mouseleave".split(" "),function(i,v){processors[v]=basicProcessor;});$.each(["windowresize","windowscroll","load","ready","unload","hashchange"],function(i,v){processors[v]=windowEvent;});processors.ready=function(el,event,selector,cb){$(shifter(cb));};$.fn.mixin=function(){var controllers=$.makeArray(arguments),forLint;return this.each(function(){for(var i=0;i<controllers.length;i++){forLint=new controllers[i](this);}});};var isAControllerOf=function(instance,controllers){for(var i=0;i<controllers.length;i++){if(typeof controllers[i]=='string'?instance.Class._shortName==controllers[i]:instance instanceof controllers[i]){return true;}}
return false;};$.fn.controllers=function(){var controllerNames=$.makeArray(arguments),instances=[],controllers;this.each(function(){controllers=$.data(this,"controllers");if(!controllers){return;}
for(var cname in controllers){var c=controllers[cname];if(!controllerNames.length||isAControllerOf(c,controllerNames)){instances.push(c);}}});return instances;};$.fn.controller=function(controller){return this.controllers.apply(this,arguments)[0];};})(jQuery);(function(){var underscore=$.String.underscore,classize=$.String.classize,ajax=function(str,attrs,success,error,fixture,type){attrs=$.extend({},attrs)
var url=$.String.sub(str,attrs,true)
$.ajax({url:url,data:attrs,success:success,error:error,type:type||"post",dataType:"json",fixture:fixture});},fixture=function(){return"//"+$.String.underscore(this.fullName).replace(/\.models\..*/,"").replace(/\./g,"/")+"/fixtures/"+$.String.underscore(this.shortName)},addId=function(attrs,id){attrs=attrs||{};if(attrs[this.id]){attrs["new"+$.String.capitalize(this.id)]=attrs[this.id];delete attrs[this.id];}
attrs[this.id]=id;return attrs;},ajaxMethods={create:function(str){return function(attrs,success,error){ajax(str,attrs,success,error,"-restCreate")};},update:function(str){return function(id,attrs,success,error){ajax(str,addId.call(this,attrs,id),success,error,"-restUpdate")}},destroy:function(str){return function(id,success,error){var attrs={};attrs[this.id]=id;ajax(str,attrs,success,error,"-restDestroy")}},findAll:function(str){return function(params,success,error){ajax(str,params,this.callback(['wrapMany',success]),error,fixture.call(this)+"s.json","get");};},findOne:function(str){return function(params,success,error){ajax(str,params,this.callback(['wrap',success]),error,fixture.call(this)+".json","get");};}};jQuery.Class.extend("jQuery.Model",{setup:function(superClass,stat,proto){if(!this.attributes||superClass.attributes===this.attributes){this.attributes={};}
if(!this.associations||superClass.associations===this.associations){this.associations={};}
if(!this.validations||superClass.validations===this.validations){this.validations={};}
if(superClass.convert!=this.convert){this.convert=$.extend(superClass.convert,this.convert);}
this._fullName=underscore(this.fullName.replace(/\./g,"_"));if(this.fullName.substr(0,7)=="jQuery."){return;}
jQuery.Model.models[this._fullName]=this;if(this.listType){this.list=new this.listType([]);}
for(var name in ajaxMethods){if(typeof this[name]==='string'){this[name]=ajaxMethods[name](this[name]);}}},attributes:{},defaults:{},wrap:function(attributes){if(!attributes){return null;}
return new this(attributes[this.singularName]||attributes.data||attributes.attributes||attributes);},wrapMany:function(instancesRawData){if(!instancesRawData){return null;}
var listType=this.List||$.Model.List||Array,res=new listType(),arr=$.isArray(instancesRawData),raw=arr?instancesRawData:instancesRawData.data,length=raw.length,i=0;res._use_call=true;for(;i<length;i++){res.push(this.wrap(raw[i]));}
if(!arr){for(var prop in instancesRawData){if(prop!=='data'){res[prop]=instancesRawData[prop];}}}
return res;},id:'id',addAttr:function(property,type){var stub;if(this.associations[property]){return;}
stub=this.attributes[property]||(this.attributes[property]=type);return type;},models:{},publish:function(event,data){if(window.OpenAjax){OpenAjax.hub.publish(underscore(this.shortName)+"."+event,data);}},guessType:function(object){if(typeof object!='string'){if(object===null){return typeof object;}
if(object.constructor==Date){return'date';}
if($.isArray(object)){return'array';}
return typeof object;}
if(object===""){return'string';}
if(object=='true'||object=='false'){return'boolean';}
if(!isNaN(object)&&isFinite(+object)){return'number';}
return typeof object;},convert:{"date":function(str){return typeof str==="string"?(isNaN(Date.parse(str))?null:Date.parse(str)):str;},"number":function(val){return parseFloat(val);},"boolean":function(val){return Boolean(val);}}},{setup:function(attributes){var stub;this._initializing=true;stub=this.Class.defaults&&this.attrs(this.Class.defaults);this.attrs(attributes);delete this._initializing;},update:function(attrs,success,error){this.attrs(attrs);return this.save(success,error);},errors:function(attrs){if(attrs){attrs=$.isArray(attrs)?attrs:$.makeArray(arguments);}
var errors={},self=this,addErrors=function(attr,funcs){$.each(funcs,function(i,func){var res=func.call(self);if(res){if(!errors.hasOwnProperty(attr)){errors[attr]=[];}
errors[attr].push(res);}});};$.each(attrs||this.Class.validations||{},function(attr,funcs){if(typeof attr=='number'){attr=funcs;funcs=self.Class.validations[attr];}
addErrors(attr,funcs||[]);});for(var attr in errors){if(errors.hasOwnProperty(attr)){return errors;}}
return null;},attr:function(attribute,value,success,error){var cap=classize(attribute),get="get"+cap;if(value!==undefined){this._setProperty(attribute,value,success,error,cap);return this;}
return this[get]?this[get]():this[attribute];},bind:function(eventType,handler){var wrapped=$(this);wrapped.bind.apply(wrapped,arguments);return this;},unbind:function(eventType,handler){var wrapped=$(this);wrapped.unbind.apply(wrapped,arguments);return this;},_setProperty:function(property,value,success,error,capitalized){var setName="set"+capitalized,old=this[property],self=this,errorCallback=function(errors){var stub;stub=error&&error.call(self,errors);$(self).triggerHandler("error."+property,errors);};if(this[setName]&&(value=this[setName](value,this.callback('_updateProperty',property,value,old,success,errorCallback),errorCallback))===undefined){return;}
this._updateProperty(property,value,old,success,errorCallback);},_updateProperty:function(property,value,old,success,errorCallback){var Class=this.Class,val,type=Class.attributes[property]||Class.addAttr(property,Class.guessType(value)),converter=Class.convert[type],errors=null,stub;val=this[property]=(value===null?null:(converter?converter.call(Class,value):value));if(!this._initializing){errors=this.errors(property);}
if(errors){errorCallback(errors);}else{if(old!==val&&!this._initializing){$(this).triggerHandler(property,val);}
stub=success&&success(this);}
if(property==Class.id&&val!==null&&Class.list){if(!old){Class.list.push(this);}else if(old!=val){Class.list.remove(old);Class.list.push(this);}}},attrs:function(attributes){var key;if(!attributes){attributes={};for(key in this.Class.attributes){if(this.Class.attributes.hasOwnProperty(key)){attributes[key]=this.attr(key);}}}else{var idName=this.Class.id;for(key in attributes){if(key!=idName){this.attr(key,attributes[key]);}}
if(idName in attributes){this.attr(idName,attributes[idName]);}}
return attributes;},isNew:function(){var id=this[this.Class.id];return(id===undefined||id===null);},save:function(success,error){var stub;if(this.errors()){return false;}
stub=this.isNew()?this.Class.create(this.attrs(),this.callback(['created',success]),error):this.Class.update(this[this.Class.id],this.attrs(),this.callback(['updated',success]),error);return true;},destroy:function(success,error){this.Class.destroy(this[this.Class.id],this.callback(["destroyed",success]),error);},identity:function(){var id=this[this.Class.id];return this.Class._fullName+'_'+(this.Class.escapeIdentity?encodeURIComponent(id):id);},elements:function(context){return $("."+this.identity(),context);},publish:function(event,data){this.Class.publish(event,data||this);},hookup:function(el){var shortName=underscore(this.Class.shortName),models=$.data(el,"models")||$.data(el,"models",{});$(el).addClass(shortName+" "+this.identity());models[shortName]=this;}});$.each(["created","updated","destroyed"],function(i,funcName){$.Model.prototype[funcName]=function(attrs){var stub;if(funcName==='destroyed'&&this.Class.list){this.Class.list.remove(this[this.Class.id]);}
$(this).triggerHandler(funcName);stub=attrs&&typeof attrs=='object'&&this.attrs(attrs.attrs?attrs.attrs():attrs);this.publish(funcName,this);return[this].concat($.makeArray(arguments));};});$.fn.models=function(type){var collection=[],kind,ret,retType;this.each(function(){$.each($.data(this,"models")||{},function(name,instance){kind=kind===undefined?instance.Class.List||null:(instance.Class.List===kind?kind:null);collection.push(instance);});});retType=kind||$.Model.List||Array;ret=new retType();ret.push.apply(ret,$.unique(collection));return ret;};$.fn.model=function(type){if(type&&type instanceof $.Model){type.hookup(this[0]);return this;}else{return this.models.apply(this,arguments)[0];}};})(jQuery);(function($){var add=function(data,inst){var id=inst.Class.id;data[inst[id]]=inst;},getArgs=function(args){if(args[0]!==undefined&&args[0].length&&typeof args[0]!='string'){return args[0]}else{return $.makeArray(args)}}
$.Class.extend("jQuery.Model.List",{init:function(instances){this.length=0;this._data={};this.push.apply(this,$.makeArray(instances||[]));},slice:function(){return new this.Class(Array.prototype.slice.apply(this,arguments));},match:function(property,value){return this.grep(function(inst){return inst[property]==value;});},grep:function(callback,args){return new this.Class($.grep(this,callback,args));},_makeData:function(){var data=this._data={};this.each(function(i,inst){data[inst[inst.Class.id]]=inst;})},get:function(){if(!this.length){return new this.Class([]);}
if(this._changed){this._makeData();}
var list=[],underscored=this[0].Class._fullName,idName=this[0].Class.id,test=new RegExp(underscored+"_([^ ]+)"),matches,val,args=getArgs(arguments);for(var i=0;i<args.length;i++){if(args[i].nodeName&&(matches=args[i].className.match(test))){val=this._data[matches[1]]}else{val=this._data[typeof args[i]=='string'||typeof args[i]=='number'?args[i]:args[i][idName]]}
val&&list.push(val)}
return new this.Class(list)},remove:function(args){if(!this.length){return[];}
var list=[],underscored=this[0].Class._fullName,idName=this[0].Class.id,test=new RegExp(underscored+"_([^ ]+)"),matches,val;args=getArgs(arguments)
var i=0;while(i<this.length){var inst=this[i],found=false
for(var a=0;a<args.length;a++){var id=(args[a].nodeName&&(matches=args[a].className.match(test))&&matches[1])||(typeof args[a]=='string'||typeof args[a]=='number'?args[a]:args[a][idName]);if(inst[idName]==id){list.push.apply(list,this.splice(i,1));args.splice(a,1);found=true;break;}}
if(!found){i++;}}
return new this.Class(list);},publish:function(name,data){OpenAjax.hub.publish(this.Class.shortName+"."+name,data)},elements:function(context){var jq=$();this.each(function(){jq.add("."+this.identity(),context)})
return jq;}});var modifiers={push:[].push,pop:[].pop,shift:[].shift,unshift:[].unshift,splice:[].splice,sort:[].sort}
$.each(modifiers,function(name,func){$.Model.List.prototype[name]=function(){this._changed=true;return func.apply(this,arguments);}})
$.each(['each','map'],function(i,name){$.Model.List.prototype[name]=function(callback,args){return $[name](this,callback,args);}})})(jQuery);(function($){var toId=function(src){return src.replace(/^\/\//,"").replace(/[\/\.]/g,"_");},id=1;var $view,render,checkText,get;$view=$.View=function(view,data,helpers,callback){var suffix=view.match(/\.[\w\d]+$/),type,el,id,renderer,url=view;if(typeof helpers==='function'){callback=helpers;helpers=undefined;}
if(!suffix){suffix=$.View.ext;url=url+$.View.ext;}
id=toId(url);if(url.match(/^\/\//)){url=steal.root.join(url.substr(2));}
type=$.View.types[suffix];renderer=$.View.cached[id]?$.View.cached[id]:((el=document.getElementById(view))?type.renderer(id,el.innerHTML):get(type,id,url,data,helpers,callback));return renderer&&render(renderer,type,id,data,helpers,callback);};render=function(renderer,type,id,data,helpers,callback){var res,stub;if($.View.cache){$.View.cached[id]=renderer;}
res=renderer.call(type,data,helpers);stub=callback&&callback(res);return res;};checkText=function(text,url){if(!text.match(/[^\s]/)){throw"$.View ERROR: There is no template or an empty template at "+url;}};get=function(type,id,url,data,helpers,callback){if(callback){$.ajax({url:url,dataType:"text",error:function(){checkText("",url);},success:function(text){checkText(text,url);render(type.renderer(id,text),type,id,data,helpers,callback);}});}else{var text=$.ajax({async:false,url:url,dataType:"text",error:function(){checkText("",url);}}).responseText;checkText(text,url);return type.renderer(id,text);}};$.extend($.View,{hookups:{},hookup:function(cb){var myid=++id;$view.hookups[myid]=cb;return myid;},cached:{},cache:true,register:function(info){this.types["."+info.suffix]=info;},types:{},ext:".ejs",registerScript:function(type,id,src){return"$.View.preload('"+id+"',"+$.View.types["."+type].script(id,src)+");";},preload:function(id,renderer){$.View.cached[id]=function(data,helpers){return renderer.call(data,data,helpers);};}});var convert,modify,isTemplate,getCallback,hookupView,funcs;convert=function(func_name){var old=$.fn[func_name];$.fn[func_name]=function(){var args=$.makeArray(arguments),callbackNum,callback,self=this;if(isTemplate(args)){if((callbackNum=getCallback(args))){callback=args[callbackNum];args[callbackNum]=function(result){modify.call(self,[result],old);callback.call(self,result);};$.View.apply($.View,args);return this;}
args=[$.View.apply($.View,args)];}
return modify.call(this,args,old);};};modify=function(args,old){var res,stub,hooks;for(var hasHookups in jQuery.View.hookups){break;}
if(hasHookups){hooks=$.View.hookups;$.View.hookups={};args[0]=$(args[0]);}
res=old.apply(this,args);if(hasHookups){hookupView(args[0],hooks);}
return res;};isTemplate=function(args){var secArgType=typeof args[1];return typeof args[0]=="string"&&(secArgType=='object'||secArgType=='function')&&!args[1].nodeType&&!args[1].jquery;};getCallback=function(args){return typeof args[3]==='function'?3:typeof args[2]==='function'&&2;};hookupView=function(els,hooks){var hookupEls,len,i=0,id,func;els=els.filter(function(){return this.nodeType!=3;})
hookupEls=els.add("[data-view-id]",els);len=hookupEls.length;for(;i<len;i++){if(hookupEls[i].getAttribute&&(id=hookupEls[i].getAttribute('data-view-id'))&&(func=hooks[id])){func(hookupEls[i],id);delete hooks[id];hookupEls[i].removeAttribute('data-view-id');}}
$.extend($.View.hookups,hooks);};funcs=["prepend","append","after","before","replace","text","html","replaceWith"];for(var i=0;i<funcs.length;i++){convert(funcs[i]);}})(jQuery);;(function($){var initializing=false,fnTest=/xyz/.test(function(){xyz;})?/\b_super\b/:/.*/,inheritProps=function(newProps,oldProps,addTo){addTo=addTo||newProps
for(var name in newProps){addTo[name]=typeof newProps[name]=="function"&&typeof oldProps[name]=="function"&&fnTest.test(newProps[name])?(function(name,fn){return function(){var tmp=this._super,ret;this._super=oldProps[name];ret=fn.apply(this,arguments);this._super=tmp;return ret;};})(name,newProps[name]):newProps[name];}};jQuery.Class=function(){if(arguments.length){jQuery.Class.extend.apply(jQuery.Class,arguments);}};$.extend($.Class,{callback:function(funcs){var args=jQuery.makeArray(arguments),self;funcs=args.shift();if(!jQuery.isArray(funcs)){funcs=[funcs];}
self=this;return function class_cb(){var cur=args.concat(jQuery.makeArray(arguments)),isString,length=funcs.length,f=0,func;for(;f<length;f++){func=funcs[f];if(!func){continue;}
isString=typeof func=="string";if(isString&&self._set_called){self.called=func;}
cur=(isString?self[func]:func).apply(self,cur||[]);if(f<length-1){cur=!jQuery.isArray(cur)||cur._use_call?[cur]:cur}}
return cur;}},getObject:function(objectName,current){var current=current||window,parts=objectName?objectName.split(/\./):[],i=0;for(;i<parts.length;i++){current=current[parts[i]]||(current[parts[i]]={})}
return current;},newInstance:function(){var inst=this.rawInstance(),args;if(inst.setup){args=inst.setup.apply(inst,arguments);}
if(inst.init){inst.init.apply(inst,$.isArray(args)?args:arguments);}
return inst;},setup:function(oldClass,fullName){this.defaults=$.extend(true,{},oldClass.defaults,this.defaults);return arguments;},rawInstance:function(){initializing=true;var inst=new this();initializing=false;return inst;},extend:function(fullName,klass,proto){if(typeof fullName!='string'){proto=klass;klass=fullName;fullName=null;}
if(!proto){proto=klass;klass=null;}
proto=proto||{};var _super_class=this,_super=this.prototype,name,shortName,namespace,prototype;initializing=true;prototype=new this();initializing=false;inheritProps(proto,_super,prototype);function Class(){if(initializing)return;if(this.constructor!==Class&&arguments.length){return arguments.callee.extend.apply(arguments.callee,arguments)}else{return this.Class.newInstance.apply(this.Class,arguments)}}
for(name in this){if(this.hasOwnProperty(name)&&$.inArray(name,['prototype','defaults','getObject'])==-1){Class[name]=this[name];}}
inheritProps(klass,this,Class);if(fullName){var parts=fullName.split(/\./),shortName=parts.pop(),current=$.Class.getObject(parts.join('.')),namespace=current;current[shortName]=Class;}
$.extend(Class,{prototype:prototype,namespace:namespace,shortName:shortName,constructor:Class,fullName:fullName});Class.prototype.Class=Class.prototype.constructor=Class;var args=Class.setup.apply(Class,[_super_class].concat($.makeArray(arguments)));if(Class.init){Class.init.apply(Class,args||[]);}
return Class;}})
jQuery.Class.prototype.callback=jQuery.Class.callback;})(jQuery);;(function($){var bind=function(el,ev,callback){var wrappedCallback;if(ev.indexOf(">")===0){ev=ev.substr(1);wrappedCallback=function(event){if(event.target===el){callback.apply(this,arguments);}else{event.handled=null;}};}
$(el).bind(ev,wrappedCallback||callback);return function(){$(el).unbind(ev,wrappedCallback||callback);el=ev=callback=wrappedCallback=null;};},delegate=function(el,selector,ev,callback){$(el).delegate(selector,ev,callback);return function(){$(el).undelegate(selector,ev,callback);el=ev=callback=selector=null;};},binder=function(el,ev,callback,selector){return selector?delegate(el,selector,ev,callback):bind(el,ev,callback);},shifter=function shifter(cb){return function(){return cb.apply(null,[$(this)].concat(Array.prototype.slice.call(arguments,0)));};},dotsReg=/\./g,controllersReg=/_?controllers?/ig,underscoreAndRemoveController=function(className){return $.String.underscore(className.replace("jQuery.","").replace(dotsReg,'_').replace(controllersReg,""));},actionMatcher=/[^\w]/,eventCleaner=/^(>?default\.)|(>)/,parameterReplacer=/\{([^\}]+)\}/g,breaker=/^(?:(.*?)\s)?([\w\.\:>]+)$/,basicProcessor;$.Class.extend("jQuery.Controller",{init:function(){if(!this.shortName||this.fullName=="jQuery.Controller"){return;}
this._fullName=underscoreAndRemoveController(this.fullName);this._shortName=underscoreAndRemoveController(this.shortName);var controller=this,pluginname=this.pluginName||this._fullName,funcName,forLint;if(!$.fn[pluginname]){$.fn[pluginname]=function(options){var args=$.makeArray(arguments),isMethod=typeof options=="string"&&$.isFunction(controller.prototype[options]),meth=args[0];this.each(function(){var controllers=$.data(this,"controllers"),plugin=controllers&&controllers[pluginname];if(plugin){if(isMethod){plugin[meth].apply(plugin,args.slice(1));}else{plugin.update.apply(plugin,args);}}else{controller.newInstance.apply(controller,[this].concat(args));}});return this;};}
this.actions={};for(funcName in this.prototype){if(!$.isFunction(this.prototype[funcName])){continue;}
if(this._isAction(funcName)){this.actions[funcName]=this._getAction(funcName);}}
if(this.onDocument){forLint=new controller(document.documentElement);}},hookup:function(el){return new this(el);},_isAction:function(methodName){if(actionMatcher.test(methodName)){return true;}else{var cleanedEvent=methodName.replace(eventCleaner,"");return $.inArray(cleanedEvent,this.listensTo)>-1||$.event.special[cleanedEvent]||$.Controller.processors[cleanedEvent];}},_getAction:function(methodName,options){parameterReplacer.lastIndex=0;if(!options&&parameterReplacer.test(methodName)){return null;}
var convertedName=options?$.String.sub(methodName,options):methodName,parts=convertedName.match(breaker),event=parts[2],processor=this.processors[event]||basicProcessor;return{processor:processor,parts:parts};},processors:{},listensTo:[],defaults:{}},{setup:function(element,options){var funcName,ready,cls=this.Class;element=element.jquery?element[0]:element;this.element=$(element).addClass(cls._fullName);($.data(element,"controllers")||$.data(element,"controllers",{}))[cls._fullName]=this;this._bindings=[];this.options=$.extend($.extend(true,{},cls.defaults),options);for(funcName in cls.actions){ready=cls.actions[funcName]||cls._getAction(funcName,this.options);this._bindings.push(ready.processor(element,ready.parts[2],ready.parts[1],this.callback(funcName),this));}
this.called="init";var destroyCB=shifter(this.callback("destroy"));this.element.bind("destroyed",destroyCB);this._bindings.push(function(el){destroyCB.removed=true;$(element).unbind("destroyed",destroyCB);});return this.element;},bind:function(el,eventName,func){if(typeof el=='string'){func=eventName;eventName=el;el=this.element;}
return this._binder(el,eventName,func);},_binder:function(el,eventName,func,selector){if(typeof func=='string'){func=shifter(this.callback(func));}
this._bindings.push(binder(el,eventName,func,selector));return this._bindings.length;},delegate:function(element,selector,eventName,func){if(typeof element=='string'){func=eventName;eventName=selector;selector=element;element=this.element;}
return this._binder(element,eventName,func,selector);},update:function(options){$.extend(this.options,options);},destroy:function(){if(this._destroyed){throw this.Class.shortName+" controller instance has been deleted";}
var self=this,fname=this.Class._fullName;this._destroyed=true;this.element.removeClass(fname);$.each(this._bindings,function(key,value){if($.isFunction(value)){value(self.element[0]);}});delete this._actions;var controllers=this.element.data("controllers");if(controllers&&controllers[fname]){delete controllers[fname];}
$(this).triggerHandler("destroyed");this.element=null;},find:function(selector){return this.element.find(selector);},_set_called:true});basicProcessor=function(el,event,selector,cb,controller){var c=controller.Class;if(c.onDocument&&!/^Main(Controller)?$/.test(c.shortName)){selector=selector?"#"+c._shortName+" "+selector:"#"+c._shortName;}
return binder(el,event,shifter(cb),selector);};var processors=$.Controller.processors,windowEvent=function(el,event,selector,cb){return binder(window,event.replace(/window/,""),shifter(cb));};$.each("change click contextmenu dblclick keydown keyup keypress mousedown mousemove mouseout mouseover mouseup reset windowresize resize windowscroll scroll select submit dblclick focusin focusout load unload ready hashchange mouseenter mouseleave".split(" "),function(i,v){processors[v]=basicProcessor;});$.each(["windowresize","windowscroll","load","ready","unload","hashchange"],function(i,v){processors[v]=windowEvent;});processors.ready=function(el,event,selector,cb){$(shifter(cb));};$.fn.mixin=function(){var controllers=$.makeArray(arguments),forLint;return this.each(function(){for(var i=0;i<controllers.length;i++){forLint=new controllers[i](this);}});};var isAControllerOf=function(instance,controllers){for(var i=0;i<controllers.length;i++){if(typeof controllers[i]=='string'?instance.Class._shortName==controllers[i]:instance instanceof controllers[i]){return true;}}
return false;};$.fn.controllers=function(){var controllerNames=$.makeArray(arguments),instances=[],controllers;this.each(function(){controllers=$.data(this,"controllers");if(!controllers){return;}
for(var cname in controllers){var c=controllers[cname];if(!controllerNames.length||isAControllerOf(c,controllerNames)){instances.push(c);}}});return instances;};$.fn.controller=function(controller){return this.controllers.apply(this,arguments)[0];};})(jQuery);;(function($){var oldClean=jQuery.cleanData;$.cleanData=function(elems){for(var i=0,elem;(elem=elems[i])!==undefined;i++){$(elem).triggerHandler("destroyed");}
oldClean(elems);};})(jQuery);;(function($){var regs={undHash:/_|-/,colons:/::/,words:/([A-Z]+)([A-Z][a-z])/g,lowerUpper:/([a-z\d])([A-Z])/g,dash:/([a-z\d])([A-Z])/g,replacer:/\{([^\}]+)\}/g},getObject=function(objectName,current,remove){var current=current||window,parts=objectName?objectName.split(/\./):[],ret,i=0;for(;i<parts.length-1&&current;i++){current=current[parts[i]]}
ret=current[parts[i]];if(remove){delete current[parts[i]];}
return ret;};var str=($.String={strip:function(string){return string.replace(/^\s+/,'').replace(/\s+$/,'');},capitalize:function(s,cache){return s.charAt(0).toUpperCase()+s.substr(1);},endsWith:function(s,pattern){var d=s.length-pattern.length;return d>=0&&s.lastIndexOf(pattern)===d;},camelize:function(s){var parts=s.split(regs.undHash),i=1;parts[0]=parts[0].charAt(0).toLowerCase()+parts[0].substr(1);for(;i<parts.length;i++){parts[i]=str.capitalize(parts[i]);}
return parts.join('');},classize:function(s){var parts=s.split(regs.undHash),i=0;for(;i<parts.length;i++){parts[i]=str.capitalize(parts[i]);}
return parts.join('');},niceName:function(s){var parts=s.split(regs.undHash),i=0;for(;i<parts.length;i++){parts[i]=str.capitalize(parts[i]);}
return parts.join(' ');},underscore:function(s){return s.replace(regs.colons,'/').replace(regs.words,'$1_$2').replace(regs.lowerUpper,'$1_$2').replace(regs.dash,'_').toLowerCase();},sub:function(s,data,remove){return s.replace(regs.replacer,function(whole,inside){return getObject(inside,data,remove).toString();})}});})(jQuery);;(function($){$.String.rsplit=function(string,regex){var result=regex.exec(string),retArr=[],first_idx,last_idx;while(result!==null){first_idx=result.index;last_idx=regex.lastIndex;if(first_idx!==0){retArr.push(string.substring(0,first_idx));string=string.slice(first_idx);}
retArr.push(result[0]);string=string.slice(result[0].length);result=regex.exec(string);}
if(string!==''){retArr.push(string);}
return retArr;};})(jQuery);;(function(){var underscore=$.String.underscore,classize=$.String.classize,ajax=function(str,attrs,success,error,fixture,type){attrs=$.extend({},attrs)
var url=$.String.sub(str,attrs,true)
$.ajax({url:url,data:attrs,success:success,error:error,type:type||"post",dataType:"json",fixture:fixture});},fixture=function(){return"//"+$.String.underscore(this.fullName).replace(/\.models\..*/,"").replace(/\./g,"/")+"/fixtures/"+$.String.underscore(this.shortName)},addId=function(attrs,id){attrs=attrs||{};if(attrs[this.id]){attrs["new"+$.String.capitalize(this.id)]=attrs[this.id];delete attrs[this.id];}
attrs[this.id]=id;return attrs;},ajaxMethods={create:function(str){return function(attrs,success,error){ajax(str,attrs,success,error,"-restCreate")};},update:function(str){return function(id,attrs,success,error){ajax(str,addId.call(this,attrs,id),success,error,"-restUpdate")}},destroy:function(str){return function(id,success,error){var attrs={};attrs[this.id]=id;ajax(str,attrs,success,error,"-restDestroy")}},findAll:function(str){return function(params,success,error){ajax(str,params,this.callback(['wrapMany',success]),error,fixture.call(this)+"s.json","get");};},findOne:function(str){return function(params,success,error){ajax(str,params,this.callback(['wrap',success]),error,fixture.call(this)+".json","get");};}};jQuery.Class.extend("jQuery.Model",{setup:function(superClass,stat,proto){if(!this.attributes||superClass.attributes===this.attributes){this.attributes={};}
if(!this.associations||superClass.associations===this.associations){this.associations={};}
if(!this.validations||superClass.validations===this.validations){this.validations={};}
if(superClass.convert!=this.convert){this.convert=$.extend(superClass.convert,this.convert);}
this._fullName=underscore(this.fullName.replace(/\./g,"_"));if(this.fullName.substr(0,7)=="jQuery."){return;}
jQuery.Model.models[this._fullName]=this;if(this.listType){this.list=new this.listType([]);}
for(var name in ajaxMethods){if(typeof this[name]==='string'){this[name]=ajaxMethods[name](this[name]);}}},attributes:{},defaults:{},wrap:function(attributes){if(!attributes){return null;}
return new this(attributes[this.singularName]||attributes.data||attributes.attributes||attributes);},wrapMany:function(instancesRawData){if(!instancesRawData){return null;}
var listType=this.List||$.Model.List||Array,res=new listType(),arr=$.isArray(instancesRawData),raw=arr?instancesRawData:instancesRawData.data,length=raw.length,i=0;res._use_call=true;for(;i<length;i++){res.push(this.wrap(raw[i]));}
if(!arr){for(var prop in instancesRawData){if(prop!=='data'){res[prop]=instancesRawData[prop];}}}
return res;},id:'id',addAttr:function(property,type){var stub;if(this.associations[property]){return;}
stub=this.attributes[property]||(this.attributes[property]=type);return type;},models:{},publish:function(event,data){if(window.OpenAjax){OpenAjax.hub.publish(underscore(this.shortName)+"."+event,data);}},guessType:function(object){if(typeof object!='string'){if(object===null){return typeof object;}
if(object.constructor==Date){return'date';}
if($.isArray(object)){return'array';}
return typeof object;}
if(object===""){return'string';}
if(object=='true'||object=='false'){return'boolean';}
if(!isNaN(object)&&isFinite(+object)){return'number';}
return typeof object;},convert:{"date":function(str){return typeof str==="string"?(isNaN(Date.parse(str))?null:Date.parse(str)):str;},"number":function(val){return parseFloat(val);},"boolean":function(val){return Boolean(val);}}},{setup:function(attributes){var stub;this._initializing=true;stub=this.Class.defaults&&this.attrs(this.Class.defaults);this.attrs(attributes);delete this._initializing;},update:function(attrs,success,error){this.attrs(attrs);return this.save(success,error);},errors:function(attrs){if(attrs){attrs=$.isArray(attrs)?attrs:$.makeArray(arguments);}
var errors={},self=this,addErrors=function(attr,funcs){$.each(funcs,function(i,func){var res=func.call(self);if(res){if(!errors.hasOwnProperty(attr)){errors[attr]=[];}
errors[attr].push(res);}});};$.each(attrs||this.Class.validations||{},function(attr,funcs){if(typeof attr=='number'){attr=funcs;funcs=self.Class.validations[attr];}
addErrors(attr,funcs||[]);});for(var attr in errors){if(errors.hasOwnProperty(attr)){return errors;}}
return null;},attr:function(attribute,value,success,error){var cap=classize(attribute),get="get"+cap;if(value!==undefined){this._setProperty(attribute,value,success,error,cap);return this;}
return this[get]?this[get]():this[attribute];},bind:function(eventType,handler){var wrapped=$(this);wrapped.bind.apply(wrapped,arguments);return this;},unbind:function(eventType,handler){var wrapped=$(this);wrapped.unbind.apply(wrapped,arguments);return this;},_setProperty:function(property,value,success,error,capitalized){var setName="set"+capitalized,old=this[property],self=this,errorCallback=function(errors){var stub;stub=error&&error.call(self,errors);$(self).triggerHandler("error."+property,errors);};if(this[setName]&&(value=this[setName](value,this.callback('_updateProperty',property,value,old,success,errorCallback),errorCallback))===undefined){return;}
this._updateProperty(property,value,old,success,errorCallback);},_updateProperty:function(property,value,old,success,errorCallback){var Class=this.Class,val,type=Class.attributes[property]||Class.addAttr(property,Class.guessType(value)),converter=Class.convert[type],errors=null,stub;val=this[property]=(value===null?null:(converter?converter.call(Class,value):value));if(!this._initializing){errors=this.errors(property);}
if(errors){errorCallback(errors);}else{if(old!==val&&!this._initializing){$(this).triggerHandler(property,val);}
stub=success&&success(this);}
if(property==Class.id&&val!==null&&Class.list){if(!old){Class.list.push(this);}else if(old!=val){Class.list.remove(old);Class.list.push(this);}}},attrs:function(attributes){var key;if(!attributes){attributes={};for(key in this.Class.attributes){if(this.Class.attributes.hasOwnProperty(key)){attributes[key]=this.attr(key);}}}else{var idName=this.Class.id;for(key in attributes){if(key!=idName){this.attr(key,attributes[key]);}}
if(idName in attributes){this.attr(idName,attributes[idName]);}}
return attributes;},isNew:function(){var id=this[this.Class.id];return(id===undefined||id===null);},save:function(success,error){var stub;if(this.errors()){return false;}
stub=this.isNew()?this.Class.create(this.attrs(),this.callback(['created',success]),error):this.Class.update(this[this.Class.id],this.attrs(),this.callback(['updated',success]),error);return true;},destroy:function(success,error){this.Class.destroy(this[this.Class.id],this.callback(["destroyed",success]),error);},identity:function(){var id=this[this.Class.id];return this.Class._fullName+'_'+(this.Class.escapeIdentity?encodeURIComponent(id):id);},elements:function(context){return $("."+this.identity(),context);},publish:function(event,data){this.Class.publish(event,data||this);},hookup:function(el){var shortName=underscore(this.Class.shortName),models=$.data(el,"models")||$.data(el,"models",{});$(el).addClass(shortName+" "+this.identity());models[shortName]=this;}});$.each(["created","updated","destroyed"],function(i,funcName){$.Model.prototype[funcName]=function(attrs){var stub;if(funcName==='destroyed'&&this.Class.list){this.Class.list.remove(this[this.Class.id]);}
$(this).triggerHandler(funcName);stub=attrs&&typeof attrs=='object'&&this.attrs(attrs.attrs?attrs.attrs():attrs);this.publish(funcName,this);return[this].concat($.makeArray(arguments));};});$.fn.models=function(type){var collection=[],kind,ret,retType;this.each(function(){$.each($.data(this,"models")||{},function(name,instance){kind=kind===undefined?instance.Class.List||null:(instance.Class.List===kind?kind:null);collection.push(instance);});});retType=kind||$.Model.List||Array;ret=new retType();ret.push.apply(ret,$.unique(collection));return ret;};$.fn.model=function(type){if(type&&type instanceof $.Model){type.hookup(this[0]);return this;}else{return this.models.apply(this,arguments)[0];}};})(jQuery);;(function($){var add=function(data,inst){var id=inst.Class.id;data[inst[id]]=inst;},getArgs=function(args){if(args[0]!==undefined&&args[0].length&&typeof args[0]!='string'){return args[0]}else{return $.makeArray(args)}}
$.Class.extend("jQuery.Model.List",{init:function(instances){this.length=0;this._data={};this.push.apply(this,$.makeArray(instances||[]));},slice:function(){return new this.Class(Array.prototype.slice.apply(this,arguments));},match:function(property,value){return this.grep(function(inst){return inst[property]==value;});},grep:function(callback,args){return new this.Class($.grep(this,callback,args));},_makeData:function(){var data=this._data={};this.each(function(i,inst){data[inst[inst.Class.id]]=inst;})},get:function(){if(!this.length){return new this.Class([]);}
if(this._changed){this._makeData();}
var list=[],underscored=this[0].Class._fullName,idName=this[0].Class.id,test=new RegExp(underscored+"_([^ ]+)"),matches,val,args=getArgs(arguments);for(var i=0;i<args.length;i++){if(args[i].nodeName&&(matches=args[i].className.match(test))){val=this._data[matches[1]]}else{val=this._data[typeof args[i]=='string'||typeof args[i]=='number'?args[i]:args[i][idName]]}
val&&list.push(val)}
return new this.Class(list)},remove:function(args){if(!this.length){return[];}
var list=[],underscored=this[0].Class._fullName,idName=this[0].Class.id,test=new RegExp(underscored+"_([^ ]+)"),matches,val;args=getArgs(arguments)
var i=0;while(i<this.length){var inst=this[i],found=false
for(var a=0;a<args.length;a++){var id=(args[a].nodeName&&(matches=args[a].className.match(test))&&matches[1])||(typeof args[a]=='string'||typeof args[a]=='number'?args[a]:args[a][idName]);if(inst[idName]==id){list.push.apply(list,this.splice(i,1));args.splice(a,1);found=true;break;}}
if(!found){i++;}}
return new this.Class(list);},publish:function(name,data){OpenAjax.hub.publish(this.Class.shortName+"."+name,data)},elements:function(context){var jq=$();this.each(function(){jq.add("."+this.identity(),context)})
return jq;}});var modifiers={push:[].push,pop:[].pop,shift:[].shift,unshift:[].unshift,splice:[].splice,sort:[].sort}
$.each(modifiers,function(name,func){$.Model.List.prototype[name]=function(){this._changed=true;return func.apply(this,arguments);}})
$.each(['each','map'],function(i,name){$.Model.List.prototype[name]=function(callback,args){return $[name](this,callback,args);}})})(jQuery);;(function($){var toId=function(src){return src.replace(/^\/\//,"").replace(/[\/\.]/g,"_");},id=1;var $view,render,checkText,get;$view=$.View=function(view,data,helpers,callback){var suffix=view.match(/\.[\w\d]+$/),type,el,id,renderer,url=view;if(typeof helpers==='function'){callback=helpers;helpers=undefined;}
if(!suffix){suffix=$.View.ext;url=url+$.View.ext;}
id=toId(url);if(url.match(/^\/\//)){url=steal.root.join(url.substr(2));}
type=$.View.types[suffix];renderer=$.View.cached[id]?$.View.cached[id]:((el=document.getElementById(view))?type.renderer(id,el.innerHTML):get(type,id,url,data,helpers,callback));return renderer&&render(renderer,type,id,data,helpers,callback);};render=function(renderer,type,id,data,helpers,callback){var res,stub;if($.View.cache){$.View.cached[id]=renderer;}
res=renderer.call(type,data,helpers);stub=callback&&callback(res);return res;};checkText=function(text,url){if(!text.match(/[^\s]/)){throw"$.View ERROR: There is no template or an empty template at "+url;}};get=function(type,id,url,data,helpers,callback){if(callback){$.ajax({url:url,dataType:"text",error:function(){checkText("",url);},success:function(text){checkText(text,url);render(type.renderer(id,text),type,id,data,helpers,callback);}});}else{var text=$.ajax({async:false,url:url,dataType:"text",error:function(){checkText("",url);}}).responseText;checkText(text,url);return type.renderer(id,text);}};$.extend($.View,{hookups:{},hookup:function(cb){var myid=++id;$view.hookups[myid]=cb;return myid;},cached:{},cache:true,register:function(info){this.types["."+info.suffix]=info;},types:{},ext:".ejs",registerScript:function(type,id,src){return"$.View.preload('"+id+"',"+$.View.types["."+type].script(id,src)+");";},preload:function(id,renderer){$.View.cached[id]=function(data,helpers){return renderer.call(data,data,helpers);};}});var convert,modify,isTemplate,getCallback,hookupView,funcs;convert=function(func_name){var old=$.fn[func_name];$.fn[func_name]=function(){var args=$.makeArray(arguments),callbackNum,callback,self=this;if(isTemplate(args)){if((callbackNum=getCallback(args))){callback=args[callbackNum];args[callbackNum]=function(result){modify.call(self,[result],old);callback.call(self,result);};$.View.apply($.View,args);return this;}
args=[$.View.apply($.View,args)];}
return modify.call(this,args,old);};};modify=function(args,old){var res,stub,hooks;for(var hasHookups in jQuery.View.hookups){break;}
if(hasHookups){hooks=$.View.hookups;$.View.hookups={};args[0]=$(args[0]);}
res=old.apply(this,args);if(hasHookups){hookupView(args[0],hooks);}
return res;};isTemplate=function(args){var secArgType=typeof args[1];return typeof args[0]=="string"&&(secArgType=='object'||secArgType=='function')&&!args[1].nodeType&&!args[1].jquery;};getCallback=function(args){return typeof args[3]==='function'?3:typeof args[2]==='function'&&2;};hookupView=function(els,hooks){var hookupEls,len,i=0,id,func;els=els.filter(function(){return this.nodeType!=3;})
hookupEls=els.add("[data-view-id]",els);len=hookupEls.length;for(;i<len;i++){if(hookupEls[i].getAttribute&&(id=hookupEls[i].getAttribute('data-view-id'))&&(func=hooks[id])){func(hookupEls[i],id);delete hooks[id];hookupEls[i].removeAttribute('data-view-id');}}
$.extend($.View.hookups,hooks);};funcs=["prepend","append","after","before","replace","text","html","replaceWith"];for(var i=0;i<funcs.length;i++){convert(funcs[i]);}})(jQuery);;(function($){var myEval=function(script){eval(script);}
var chop=function(string){return string.substr(0,string.length-1);},extend=$.extend,isArray=$.isArray,EJS=function(options){if(this.constructor!=EJS){var ejs=new EJS(options);return function(data,helpers){return ejs.render(data,helpers);};}
if(typeof options=="function"){this.template={};this.template.process=options;return;}
$.extend(this,EJS.options,options);var template=new EJS.Compiler(this.text,this.type);template.compile(options,this.name);this.template=template;},defaultSplitter=/(\[%%)|(%%\])|(\[%=)|(\[%#)|(\[%)|(%\]\n)|(%\])|(\n)/;$.EJS=EJS;EJS.prototype={constructor:EJS,render:function(object,extraHelpers){object=object||{};this._extra_helpers=extraHelpers;var v=new EJS.Helpers(object,extraHelpers||{});return this.template.process.call(object,object,v);},out:function(){return this.template.out;}};EJS.text=function(input){if(typeof input=='string'){return input;}
var myid;if(input===null||input===undefined){return'';}
if(input instanceof Date){return input.toDateString();}
if(input.hookup){myid=$.View.hookup(function(el,id){input.hookup.call(input,el,id);});return"data-view-id='"+myid+"'";}
if(typeof input=='function'){return"data-view-id='"+$.View.hookup(input)+"'";}
if(isArray(input)){myid=$.View.hookup(function(el,id){for(var i=0;i<input.length;i++){var stub;stub=input[i].hookup?input[i].hookup(el,id):input[i](el,id);}});return"data-view-id='"+myid+"'";}
if(input.nodeName||input.jQuery){throw"elements in views are not supported";}
if(input.toString){return myid?input.toString(myid):input.toString();}
return'';};EJS.Scanner=function(source,left,right){extend(this,{leftDelimiter:left+'%',rightDelimiter:'%'+right,doubleLeft:left+'%%',doubleRight:'%%'+right,leftEqual:left+'%=',leftComment:left+'%#'});this.splitRegexp=(left=='['?defaultSplitter:new RegExp("("+[this.doubleLeft,this.doubleRight,this.leftEqual,this.leftComment,this.leftDelimiter,this.rightDelimiter+'\n',this.rightDelimiter,'\n'].join(")|(")+")"));this.source=source;this.lines=0;};EJS.Scanner.prototype={scan:function(block){var regex=this.splitRegexp;if(this.source){var source_split=$.String.rsplit(this.source,/\n/);for(var i=0;i<source_split.length;i++){var item=source_split[i];this.scanline(item,regex,block);}}},scanline:function(line,regex,block){this.lines++;var line_split=$.String.rsplit(line,regex),token;for(var i=0;i<line_split.length;i++){token=line_split[i];if(token!==null){try{block(token,this);}catch(e){throw{type:'jQuery.EJS.Scanner',line:this.lines};}}}}};EJS.Buffer=function(pre_cmd,post_cmd){this.line=[];this.script=[];this.post_cmd=post_cmd;this.push.apply(this,pre_cmd);};EJS.Buffer.prototype={push:function(){this.line.push.apply(this.line,arguments);},cr:function(){this.script.push(this.line.join(''),"\n");this.line=[];},close:function(){var stub;if(this.line.length>0){this.script.push(this.line.join(''));this.line=[];}
stub=this.post_cmd.length&&this.push.apply(this,this.post_cmd);this.script.push(";");return this.script.join("");}};EJS.Compiler=function(source,left){this.source=source.replace(/\r\n/g,"\n").replace(/\r/g,"\n");left=left||'<';var right='>';switch(left){case'[':right=']';break;case'<':break;default:throw left+' is not a supported deliminator';}
this.scanner=new EJS.Scanner(this.source,left,right);this.out='';};EJS.Compiler.prototype={compile:function(options,name){options=options||{};this.out='';var put_cmd="___v1ew.push(",insert_cmd=put_cmd,buff=new EJS.Buffer(['var ___v1ew = [];'],[]),content='',clean=function(content){return content.replace(/\\/g,'\\\\').replace(/\n/g,'\\n').replace(/"/g,'\\"');},put=function(content){buff.push(put_cmd,'"',clean(content),'");');},startTag=null;this.scanner.scan(function(token,scanner){if(startTag===null){switch(token){case'\n':content=content+"\n";put(content);buff.cr();content='';break;case scanner.leftDelimiter:case scanner.leftEqual:case scanner.leftComment:startTag=token;if(content.length>0){put(content);}
content='';break;case scanner.doubleLeft:content=content+scanner.leftDelimiter;break;default:content=content+token;break;}}
else{switch(token){case scanner.rightDelimiter:switch(startTag){case scanner.leftDelimiter:if(content[content.length-1]=='\n'){content=chop(content);buff.push(content,";");buff.cr();}
else{buff.push(content,";");}
break;case scanner.leftEqual:buff.push(insert_cmd,"(jQuery.EJS.text(",content,")));");break;}
startTag=null;content='';break;case scanner.doubleRight:content=content+scanner.rightDelimiter;break;default:content=content+token;break;}}});if(content.length>0){buff.push(put_cmd,'"',clean(content)+'");');}
var template=buff.close();this.out='try { with(_VIEW) { with (_CONTEXT) {'+template+" return ___v1ew.join('');}}}catch(e){e.lineNumber=null;throw e;}";myEval.call(this,'this.process = (function(_CONTEXT,_VIEW){'+this.out+'});\r\n//@ sourceURL='+name+".js")}};EJS.options={cache:true,type:'<',ext:'.ejs'};EJS.Helpers=function(data,extras){this._data=data;this._extras=extras;extend(this,extras);};EJS.Helpers.prototype={plugin:function(name){var args=$.makeArray(arguments),widget=args.shift();return function(el){var jq=$(el);jq[widget].apply(jq,args);};},view:function(url,data,helpers){helpers=helpers||this._extras;data=data||this._data;return $.View(url,data,helpers);}};$.View.register({suffix:"ejs",script:function(id,src){return"jQuery.EJS(function(_CONTEXT,_VIEW) { "+new EJS({text:src}).out()+" })";},renderer:function(id,text){var ejs=new EJS({text:text,name:id});return function(data,helpers){return ejs.render.call(ejs,data,helpers);};}});})(jQuery);;$(function(){var defaults={outputtype:'json',channel:SPI._settings.global.channel_id,siteid:SPI._settings.global.site_id,itemtype:1,itemid:0,pagesize:0,pagenr:1},settings={awards:{awardicon_url:'/hs/pb/1/awardicon/',awardlist:'/hs/pb/1/awards/{channel}/{siteid}/{itemtype}/{itemid}'},highscores:{highscorelist:'/hs/pb/1/list/{siteid}/{itemtype}/{itemid}',friendhighscorelist:'/hs/pb/1/listfriend/{channel}/{siteid}/{itemtype}/{itemid}',avatar_url:'/gm/pb/1/preview/{avatar}',userprofile_link:'/user/{username}'}},responseHandler=function(success,error){return function(data){if(!data.invalid){success.call(this,data,error);}else{error.call(this,data.data);}};},ajax=function(str,attrs,success,error,fixture,type){var url=$.String.sub(str,$.extend({},attrs),true);$.ajax({url:url,data:attrs,success:success,error:error,type:type||"post",dataType:"json",fixture:fixture});},fixture=function(){return"//"+$.String.underscore(this.fullName).replace(/\.models\..*/,"").replace(/\./g,"/")+"/fixtures/"+$.String.underscore(this.shortName);};settings=$.extend(true,settings,SPI._settings.models);$.Model.extend('Award',{findAll:settings.awards.awardlist,findAwards:function(params,success,error){return this.findAll($.extend({},defaults,params),responseHandler(success,error),error);},findMyAwards:function(params,success,error){return this.findAwards($.extend({},defaults,params,{targetuser:$.profilar.forService()['username'],itemid:0}),success,error);},wrapMany:function(data){var ret;try{ret=$.Model.wrapMany.call(this,data.hyscor.resultset.result);ret.total=function(){return data.hyscor.resultset.total;};}catch(e){try{if(data.hyscor.errorcode==404){ret=$.Model.wrapMany.call(this,[]);ret.total=function(){return 0;};}else{ret={invalid:true,data:data};}}catch(e){ret={invalid:true,data:data};}};return ret;}},{awardIcon:function(){return settings.awards.awardicon_url+this.awardid;}});$.Model.extend('Highscore',{findAll:settings.highscores.highscorelist,findHighscores:function(params,success,error){params=$.extend({},defaults,params);delete params.pagenr;delete params.channel;return this.findAll(params,responseHandler(success,error),error);},findFriendHighscores:function(params,success,error){params=$.extend({},params,{outputtype:defaults.outputtype},$.profilar.forService());var url=$.String.sub(settings.highscores.friendhighscorelist,$.extend({},defaults,params),true);delete params.itemid;ajax(url,params,this.callback(['wrapMany',success]),error,fixture.call(this)+'s.json',"GET");},findMyHighscores:function(params,success,error){return this.findHighscores($.extend({},defaults,params,{targetuser:$.profilar.forService()['username'],itemid:0}),success,error);return this.findHighscores(params,success,error);},wrapMany:function(data){var ret;var that=this;var addNewScore=function(score,limit){var sortByScore=function(a,b){var x=parseInt(a.score);var y=parseInt(b.score);return(y-x);};var isUserOnList=function(userlist,user){var i=0;for(;i<userlist.length;++i){if(userlist[i]==user){return true;}}
return false;};$.each(ret,function(i,list){var obj=$.Model.wrap.call(that,$.extend({current:function(){return true;}},score)),userlist=[];obj.logged=function(){return!this.notLogged;};$.each(list,function(i,hiscore){hiscore.current=function(){return false;};userlist.push(hiscore.username);});$.each(list,function(i,hiscore){if(!hiscore.isTop()){if(hiscore.score<=obj.score){hiscore.current=obj.current;if(obj.score>hiscore.lowest){hiscore.isTop=function(){return true;};}
hiscore.score=obj.score;hiscore.timestamp=obj.timestamp;}
return false;}
if(hiscore.score<obj.score){list.push(obj);list.sort(sortByScore);if(list.length>limit){list.pop();}
return false;}
if(hiscore.username==obj.username&&hiscore.score==obj.score){list[i]=obj;return false;}
if(i==list.length-1&&!isUserOnList(userlist,obj.username)){if(list.length==limit){obj.lowest=list.pop().score;obj.isTop=function(){return false;};}
list.push(obj);}});if(list.length==0){list.push(obj);}
$.each(list,function(index,item){item.position=index+1;});});};var updateAvatars=function(userData,avatarUrl){var url=avatarUrl||settings.highscores.avatar_url;$.each(this,function(index,highscore){highscore.avatarUrl=SPI._settings.avatarImages.anonymousIcon;$.each(userData,function(indexData,itemData){if(itemData.username&&itemData.username.toLowerCase()==highscore.username.toLowerCase()&&itemData.avatar&&itemData.avatar!=''&&itemData.avatar!=undefined){if(itemData.avatar){highscore.avatarUrl=$.String.sub(url,itemData);};}});});};try{ret={};if(!!(parseInt(data.hyscor.length)+1)&&data.hyscor.length==0){ret.weekly=$.Model.wrapMany.call(this,[]);$.extend(ret.weekly,{addNewScore:addNewScore,updateAvatars:updateAvatars});ret.daily=$.Model.wrapMany.call(this,[]);$.extend(ret.daily,{addNewScore:addNewScore,updateAvatars:updateAvatars});ret.monthly=$.Model.wrapMany.call(this,[]);$.extend(ret.monthly,{addNewScore:addNewScore,updateAvatars:updateAvatars});}else{if(!data.hyscor.weekly&&!data.hyscor.monthly&&!data.hyscor.daily){throw"Invalid response";}
ret.daily=$.Model.wrapMany.call(this,[]);ret.weekly=$.Model.wrapMany.call(this,[]);ret.monthly=$.Model.wrapMany.call(this,[]);if(data.hyscor.weekly){ret.weekly=$.Model.wrapMany.call(this,data.hyscor.weekly.result);}
if(data.hyscor.monthly){ret.monthly=$.Model.wrapMany.call(this,data.hyscor.monthly.result);}
if(data.hyscor.daily){ret.daily=$.Model.wrapMany.call(this,data.hyscor.daily.result);}
$.extend(ret.daily,{addNewScore:addNewScore,updateAvatars:updateAvatars});$.extend(ret.weekly,{addNewScore:addNewScore,updateAvatars:updateAvatars});$.extend(ret.monthly,{addNewScore:addNewScore,updateAvatars:updateAvatars});}}catch(e){ret={invalid:true,data:data};}
return ret;}},{userLink:function(){return $.String.sub(settings.highscores.userprofile_link,this);},current:function(){return false;},logged:function(){return true;},isTop:function(){return true;}});});$(function(){var defaults={siteId:SPI._settings.global.site_id,itemType:0,itemId:0,order:2,outputtype:'json'},responseHandler=function(success,error){return function(data){if(!data.invalid){success.call(this,data,error);}else{error.call(this,data.data);}};};$.Model.extend('GalleryImage',{findAll:'/gm/pb/1/list/2/{siteId}/{itemType}/{itemId}',findImages:function(params,success,error){return this.findAll($.extend({},defaults,params),responseHandler(success,error),error);},wrapMany:function(data){var ret;try{ret=$.Model.wrapMany.call(this,data.gamatar.resultset.result);ret.total=function(){return data.hyscor.resultset.total;};}catch(e){try{if(typeof(data.gamatar.resultset)!='undefined'&&typeof(data.gamatar.resultset.total)!='undefined'&&typeof(data.gamatar.resultset.returned)!='undefined'&&data.gamatar.resultset.returned===0&&data.gamatar.resultset.total===0)
{ret=$.Model.wrapMany.call(this,[]);ret.total=function(){return 0;};}else{ret={invalid:true,data:data};}}catch(e){ret={invalid:true,data:data};}};return ret;}},{thumbURL:function(){return'/gm/pb/1/preview/'+this.id;},detailsURL:function(){return SPI.sprintf(SPI._langStrings.myGallery.gallerydetaillink,this.id);}});});$(function(){var defaults={request_params:{data:{body:'',outputtype:'json'}},request_data:{httpheaders:{Accept:'application/json; charset=utf-8','User-Agent':navigator.userAgent},serverenv:{REMOTE_ADDR:'',REQUEST_METHOD:'',REQUEST_URI:'',SERVER_PROTOCOL:'',HTTP_USER_AGENT:''},field:{name:'username',text:'',languagecode:SPI._settings.global.lang_id,channel:SPI._settings.global.channel_id,siteid:SPI._settings.global.site_id,spamcheck:1,profanitycheck:1,blacklistcheck:1,badbehaviorcheck:1}}},responseHandler=function(success,error){return function(data){if(!data.invalid){success.call(this,data,error);}else{error.call(this,data.data);}};};$.Model.extend('Filtar',{findAll:function(params,success,error){$.ajax({url:'/fl/pb/1/check',type:'post',dataType:'json',data:params,success:this.callback(['wrapMany',success]),error:error})},checkUsername:function(data,success,error){defaults.request_data.field=$.extend({},defaults.request_data.field,data);defaults.request_params.data.body=this.buildXML(defaults.request_data);return this.findAll(defaults.request_params.data,responseHandler(success,error),error);},wrapMany:function(data){var ret;try{ret=$.Model.wrapMany.call(this,data.filtar.field);}catch(e){try{if(typeof(data.filtar.field)=='undefined')
ret={invalid:true,data:data};}catch(e){ret={invalid:true,data:data};}};return ret;},buildXML:function(params){var baseXml='<?xml version="1.0" encoding="UTF-8"?><filtar><httpheaders>%s</httpheaders><serverenv>%s</serverenv><field>%s</field></filtar>';var data=[];var items='';for(var itemsList in params){items='';for(var item in params[itemsList])
items+='<'+item+'>'+params[itemsList][item]+'</'+item+'>';data.push(items);}
return SPI.sprintf(baseXml,data[0],data[1],data[2]);}},{isUsernameProfanity:function(){return this.profanityscore!=undefined?(this.profanityscore>0?true:false):false;}});});

