var fi_type=null;var fi_weights=null;var fi_weightsFactor;var fi_nExtraCols;var fi_gemScores;var fi_filters={items:[{id:1,name:"sepgeneral"},{id:131,name:"addedinwotlk",type:"yn"},{id:110,name:"addedinbc",type:"yn"},{id:82,name:"addedinp24",type:"yn"},{id:2,name:"bindonpickup",type:"yn"},{id:3,name:"bindonequip",type:"yn"},{id:4,name:"bindonuse",type:"yn"},{id:133,name:"bindtoaccount",type:"yn"},{id:9,name:"conjureditem",type:"yn"},{id:8,name:"disenchantable",type:"yn"},{id:107,name:"effecttext",type:"str"},{id:81,name:"fitsgemslot",type:"gem"},{id:104,name:"flavortext",type:"str"},{id:132,name:"glyphtype",type:"glyphtype"},{id:7,name:"hasflavortext",type:"yn"},{id:80,name:"hassockets",type:"gem"},{id:10,name:"locked",type:"yn"},{id:100,name:"nsockets",type:"num"},{id:85,name:"objectivequest",type:"side"},{id:11,name:"openable",type:"yn"},{id:12,name:"partofset",type:"yn"},{id:98,name:"partyloot",type:"yn"},{id:89,name:"prospectable",type:"yn"},{id:124,name:"randomenchants",type:"str"},{id:13,name:"randomlyenchanted",type:"yn"},{id:14,name:"readable",type:"yn"},{id:5,name:"questitem",type:"yn"},{id:87,name:"reagentforability",type:"profession"},{id:125,name:"reqarenartng",type:"num"},{id:111,name:"reqskillrank",type:"num"},{id:99,name:"requiresprof",type:"profession"},{id:66,name:"requiresprofspec",type:"profession"},{id:17,name:"requiresrepwith",type:"faction-any+none"},{id:6,name:"statsquest",type:"side"},{id:91,name:"tool",type:"totemcategory"},{id:15,name:"unique",type:"yn"},{id:83,name:"uniqueequipped",type:"yn"},{id:19,name:"sepbasestats"},{id:21,name:"agi",type:"num"},{id:23,name:"int",type:"num"},{id:22,name:"sta",type:"num"},{id:24,name:"spi",type:"num"},{id:20,name:"str",type:"num"},{id:115,name:"health",type:"num"},{id:116,name:"mana",type:"num"},{id:121,name:"sepresistances"},{id:25,name:"arcres",type:"num"},{id:26,name:"firres",type:"num"},{id:28,name:"frores",type:"num"},{id:30,name:"holres",type:"num"},{id:27,name:"natres",type:"num"},{id:29,name:"shares",type:"num"},{id:122,name:"sepweaponstats"},{id:32,name:"dps",type:"num"},{id:35,name:"damagetype",type:"resistance"},{id:33,name:"dmgmin1",type:"num"},{id:34,name:"dmgmax1",type:"num"},{id:36,name:"speed",type:"num"},{id:31,name:"sepphysicalcombat"},{id:114,name:"armorpen",type:"num"},{id:117,name:"exprtng",type:"num"},{id:37,name:"mleatkpwr",type:"num"},{id:97,name:"feratkpwr",type:"num"},{id:84,name:"mlecritstrkrtng",type:"num"},{id:78,name:"mlehastertng",type:"num"},{id:95,name:"mlehitrtng",type:"num"},{id:38,name:"rgdatkpwr",type:"num"},{id:40,name:"rgdcritstrkrtng",type:"num"},{id:101,name:"rgdhastertng",type:"num"},{id:39,name:"rgdhitrtng",type:"num"},{id:120,name:"sepdefense"},{id:41,name:"armor",type:"num"},{id:109,name:"armorbonus",type:"num"},{id:43,name:"block",type:"num"},{id:42,name:"defrtng",type:"num"},{id:45,name:"dodgertng",type:"num"},{id:46,name:"parryrtng",type:"num"},{id:79,name:"resirtng",type:"num"},{id:44,name:"blockrtng",type:"num"},{id:47,name:"sepspells"},{id:51,name:"spldmg",type:"num"},{id:52,name:"arcspldmg",type:"num"},{id:53,name:"firspldmg",type:"num"},{id:54,name:"frospldmg",type:"num"},{id:55,name:"holspldmg",type:"num"},{id:56,name:"natspldmg",type:"num"},{id:57,name:"shaspldmg",type:"num"},{id:49,name:"splcritstrkrtng",type:"num"},{id:102,name:"splhastertng",type:"num"},{id:48,name:"splhitrtng",type:"num"},{id:94,name:"splpen",type:"num"},{id:58,name:"sepmisc"},{id:60,name:"healthrgn",type:"num"},{id:61,name:"manargn",type:"num"},{id:59,name:"dura",type:"num"},{id:62,name:"cooldown",type:"num"},{id:63,name:"buyprice",type:"num"},{id:64,name:"sellprice",type:"num"},{id:90,name:"avgbuyout",type:"num"},{id:65,name:"avgmoney",type:"num"},{id:127,name:"notavailable",type:"yn"},{id:67,name:"sepsource"},{id:86,name:"craftedprof",type:"profession"},{id:16,name:"dropsin",type:"zone"},{id:105,name:"dropsinnormal",type:"heroiczone-any"},{id:106,name:"dropsinheroic",type:"heroiczone-any"},{id:68,name:"otdisenchanting",type:"yn"},{id:69,name:"otfishing",type:"yn"},{id:70,name:"otherbgathering",type:"yn"},{id:71,name:"otitemopening",type:"yn"},{id:72,name:"otlooting",type:"yn"},{id:73,name:"otmining",type:"yn"},{id:74,name:"otobjectopening",type:"yn"},{id:75,name:"otpickpocketing",type:"yn"},{id:88,name:"otprospecting",type:"yn"},{id:93,name:"otpvp",type:"pvp"},{id:76,name:"otskinning",type:"yn"},{id:118,name:"purchasablewith",type:"currency-any"},{id:18,name:"rewardedbyfactionquest",type:"side"},{id:126,name:"rewardedbyquestin",type:"zone-any"},{id:92,name:"soldbyvendor",type:"yn"},{id:129,name:"soldbynpc",type:"str-small"},{id:128,name:"sepsource",type:"itemsource"},{id:112,name:"sepcommunity"},{id:130,name:"hascomments",type:"yn"},{id:113,name:"hasscreenshots",type:"yn"}],npcs:[{id:4,name:"sepgeneral"},{id:36,name:"addedinwotlk",type:"yn"},{id:26,name:"addedinbc",type:"yn"},{id:13,name:"addedinp24",type:"yn"},{id:5,name:"canrepair",type:"yn"},{id:3,name:"faction",type:"faction"},{id:6,name:"foundin",type:"zone"},{id:1,name:"health",type:"num"},{id:2,name:"mana",type:"num"},{id:32,name:"instanceboss",type:"yn"},{id:7,name:"startsquest",type:"side"},{id:8,name:"endsquest",type:"side"},{id:34,name:"usemodel",type:"str-small"},{id:35,name:"useskin",type:"str"},{id:14,name:"seploot"},{id:12,name:"averagemoneydropped",type:"num"},{id:15,name:"gatherable",type:"yn"},{id:9,name:"lootable",type:"yn"},{id:16,name:"minable",type:"yn"},{id:11,name:"pickpocketable",type:"yn"},{id:10,name:"skinnable",type:"yn"},{id:17,name:"sepgossipoptions"},{id:18,name:"auctioneer",type:"yn"},{id:19,name:"banker",type:"yn"},{id:20,name:"battlemaster",type:"yn"},{id:21,name:"flightmaster",type:"yn"},{id:22,name:"guildmaster",type:"yn"},{id:23,name:"innkeeper",type:"yn"},{id:24,name:"talentunlearner",type:"yn"},{id:25,name:"tabardvendor",type:"yn"},{id:27,name:"stablemaster",type:"yn"},{id:28,name:"trainer",type:"yn"},{id:29,name:"vendor",type:"yn"},{id:30,name:"sepcommunity"},{id:33,name:"hascomments",type:"yn"},{id:31,name:"hasscreenshots",type:"yn"}],objects:[{id:8,name:"sepgeneral"},{id:14,name:"addedinwotlk",type:"yn"},{id:12,name:"addedinbc",type:"yn"},{id:6,name:"addedinp24",type:"yn"},{id:1,name:"foundin",type:"zone"},{id:7,name:"requiredskilllevel",type:"num"},{id:2,name:"startsquest",type:"side"},{id:3,name:"endsquest",type:"side"},{id:9,name:"seploot"},{id:5,name:"averagemoneycontained",type:"num"},{id:4,name:"openable",type:"yn"},{id:10,name:"sepcommunity"},{id:13,name:"hascomments",type:"yn"},{id:11,name:"hasscreenshots",type:"yn"}],quests:[{id:12,name:"sepgeneral"},{id:26,name:"addedinwotlk",type:"yn"},{id:20,name:"addedinbc",type:"yn"},{id:8,name:"addedinp24",type:"yn"},{id:9,name:"objectiveearnrepwith",type:"faction-any+none"},{id:5,name:"sharable",type:"yn"},{id:19,name:"startsfrom",type:"queststart"},{id:21,name:"endsat",type:"questend"},{id:11,name:"suggestedplayers",type:"num"},{id:6,name:"timer",type:"num"},{id:13,name:"sepgainsrewards"},{id:2,name:"experiencegained",type:"num"},{id:23,name:"itemchoices",type:"num"},{id:22,name:"itemrewards",type:"num"},{id:3,name:"moneyrewarded",type:"num"},{id:4,name:"spellrewarded",type:"yn"},{id:1,name:"increasesrepwith",type:"faction"},{id:10,name:"decreasesrepwith",type:"faction"},{id:14,name:"sepseries"},{id:7,name:"firstquestseries",type:"yn"},{id:15,name:"lastquestseries",type:"yn"},{id:16,name:"partseries",type:"yn"},{id:17,name:"sepcommunity"},{id:25,name:"hascomments",type:"yn"},{id:18,name:"hasscreenshots",type:"yn"},{id:24,name:"lacksstartend",type:"yn"}],spells:[{id:6,name:"sepgeneral"},{id:2,name:"prcntbasemanarequired",type:"num"},{id:10,name:"firstrank",type:"yn"},{id:12,name:"lastrank",type:"yn"},{id:13,name:"rankno",type:"num"},{id:1,name:"manaenergyragecost",type:"num"},{id:3,name:"requiresnearbyobject",type:"yn"},{id:5,name:"requiresprofspec",type:"yn"},{id:9,name:"source",type:"spellsource"},{id:4,name:"trainingcost",type:"num"},{id:7,name:"sepcommunity"},{id:11,name:"hascomments",type:"yn"},{id:8,name:"hasscreenshots",type:"yn"}],achievements:[{id:1,name:"sepgeneral"},{id:2,name:"givesreward",type:"yn"},{id:3,name:"rewardtext",type:"str"},{id:4,name:"location",type:"zone"},{id:8,name:"sepseries"},{id:5,name:"firstseries",type:"yn"},{id:6,name:"lastseries",type:"yn"},{id:7,name:"partseries",type:"yn"}]};function fi_Toggle(){var B=ge("fi");var A=g_toggleDisplay(B),D;var C=ge("fi_toggle");if(A){C.firstChild.nodeValue=LANG.fihide;B=gE(B,"form")[0];B=B.elements.na?B.elements.na:B.elements.ti;B.focus();B.select()}else{C.firstChild.nodeValue=LANG.fishow}C.className="disclosure-"+(A?"on":"off");return false}function fi_Submit(D){var C=0;var A=D.elements;for(var B=0;B<A.length;++B){switch(A[B].nodeName){case"INPUT":switch(A[B].type){case"text":if(trim(A[B].value).length>0){++C}break;case"checkbox":if(A[B].value=="ja"&&A[B].checked){++C}break}break;case"SELECT":if(A[B].name!="cr[]"&&A[B].name!="gm"&&A[B].selectedIndex!=-1&&A[B].options[A[B].selectedIndex].value){++C}break}}if(C==0){alert(LANG.message_fillsomecriteria);return false}return true}function fi_InitWeightedListview(){this._scoreMode=0;if(this.sort[0]==-this.columns.length){this.applySort()}}function fi_Reset(C){fi_ResetCriterion(ge("fi_criteria"));fi_ResetCriterion(ge("fi_weight"));var A=ge("sdkgnsdkn436");if(A){A.parentNode.style.display="none";while(A.firstChild){de(A.firstChild)}ae(A,ce("option"))}A=C.elements;for(var B=0;B<A.length;++B){switch(A[B].nodeName){case"INPUT":if(A[B].type=="text"){A[B].value=""}else{if(A[B].type=="checkbox"){A[B].checked=false}else{if(A[B].type=="radio"&&A[B].value.length==0){A[B].checked=true}}}break;case"SELECT":A[B].selectedIndex=A[B].multiple?-1:0;if(A[B].i){A[B].i=A[B].selectedIndex}break}}return false}function fi_ResetCriterion(B){if(B!=null){var A;while(B.childNodes.length>1){A=B.childNodes[1];while(A.childNodes.length>1){A.removeChild(A.childNodes[1])}B.removeChild(A)}A=B.childNodes[0];while(A.childNodes.length>1){A.removeChild(A.childNodes[1])}A.firstChild.i=null;A.firstChild.selectedIndex=0;if(B.nextSibling.firstChild){B.nextSibling.firstChild.style.display=B.style.display}}}function fi_AddCriterion(H,E){var B=ge(H.id.replace("add",""));if(B.childNodes.length>=14||(H.id.indexOf("criteria")>0&&B.childNodes.length>=8)){H.style.display="none"}var A=B.childNodes[0].lastChild;if(A.nodeName!="A"){fi_AppendRemoveLink(B.childNodes[0])}else{A.firstChild.nodeValue=LANG.firemove;A.onmouseup=fi_RemoveCriterion}var F=ce("div"),G=B.childNodes[0].childNodes[0].cloneNode(true);G.onchange=G.onkeyup=fi_CriterionChange.bind(0,G);G.i=null;if(E!=null){var D=G.getElementsByTagName("option");for(var C=0;C<D.length;++C){if(D[C].value==E){D[C].selected=true;break}}}else{G.firstChild.selected=true}F.appendChild(G);fi_AppendRemoveLink(F);B.appendChild(F);return G}function fi_RemoveCriterion(){var B,C=this.parentNode,E=C.parentNode,D=(C.firstChild.name=="wt[]");E.removeChild(C);if(E.childNodes.length==1){B=E.firstChild;if(B.firstChild.selectedIndex>0){var A=B.lastChild;A.firstChild.nodeValue=LANG.ficlear;A.onmouseup=fi_ClearCriterion}else{B.removeChild(B.lastChild);B.removeChild(B.lastChild)}}if(E.nextSibling.firstChild){E.nextSibling.firstChild.style.display=""}if(D){B=ge("sdkgnsdkn436");B.selectedIndex=0;B.i=0;fi_PresetMatch()}}function fi_ClearCriterion(){var A=this.parentNode;A.firstChild.selectedIndex=0;fi_CriterionChange(A.firstChild)}function fi_AppendRemoveLink(B){B.appendChild(ct(String.fromCharCode(160,160)));var A=ce("a");A.href="javascript:;";A.appendChild(ct(LANG.firemove));A.onmouseup=fi_RemoveCriterion;A.onmousedown=A.onclick=rf;B.appendChild(A)}function fi_AppendClearLink(B){B.appendChild(ct(String.fromCharCode(160,160)));var A=ce("a");A.href="javascript:;";A.appendChild(ct(LANG.ficlear));A.onmouseup=fi_ClearCriterion;A.onmousedown=A.onclick=rf;B.appendChild(A)}function fi_Lookup(F,C){var G;if(C==null){C=fi_type}if(fi_Lookup.cache==null){fi_Lookup.cache={}}if(fi_Lookup.cache[C]==null){G={};for(var B=0,A=fi_filters[C].length;B<A;++B){var E=fi_filters[C][B];G[E.id]=E;G[E.name]=E}fi_Lookup.cache[C]=G}else{G=fi_Lookup.cache[C]}if(F&&typeof F=="string"){var D=F.charCodeAt(0);if(D>="0".charCodeAt(0)&&D<="9".charCodeAt(0)){F=parseInt(F)}}return G[F]}function fi_CriterionChange(H,O,K){var N;if(H.selectedIndex!=H.i){var B=H.options[H.selectedIndex],J=H.parentNode;if(J.childNodes.length>1){if(H.selectedIndex>0&&H.i>0){var M=fi_Lookup(B.value);var L=fi_Lookup(H.options[H.i].value);if(M.type==L.type){return }}while(J.childNodes.length>1){J.removeChild(J.childNodes[1])}}if(H.selectedIndex>0){var A=fi_Lookup(B.value);var E=A.type.split("-");var P=E[0];var G=E[1]||"";if(LANG.fidropdowns[P]!=null){if(H.name=="cr[]"){var I=LANG.fidropdowns[P];N=ce("select");N.name="crs[]";if(G.indexOf("any")!=-1){var D=ce("option");D.value="-2323";D.appendChild(ct(LANG.fiany));N.appendChild(D);if(O!=null&&O=="-2323"){D.selected=true}}for(var F=0;F<I.length;++F){var D=ce("option");D.value=I[F][0];D.appendChild(ct(I[F][1]));N.appendChild(D);if(O!=null&&O==I[F][0]){D.selected=true}}if(G.indexOf("none")!=-1){var D=ce("option");D.value="-2324";D.appendChild(ct(LANG.finone));N.appendChild(D);if(O!=null&&O=="-2324"){D.selected=true}}J.appendChild(ct(" "));J.appendChild(N)}var C=(P=="num");if(C){J.appendChild(ct(" "))}N=ce("input");N.type="text";if(K!=null){N.value=K.toString()}else{N.value="0"}if(H.name=="cr[]"){N.name="crv[]"}else{N.name="wtv[]";N.onchange=fi_ChangeWeight.bind(0,N)}if(C){N.maxLength=7;N.style.textAlign="center";N.style.width="4.5em"}else{N.type="hidden"}N.setAttribute("autocomplete","off");J.appendChild(N);if(H.name=="wt[]"){fi_SortWeight(N)}}else{if(P=="str"){N=ce("input");N.name="crs[]";N.type="hidden";N.value="0";J.appendChild(N);N=ce("input");N.type="text";if(G.indexOf("small")!=-1){N.maxLength=7;N.style.textAlign="center";N.style.width="4.5em"}else{N.maxLength=50;N.style.width="9em"}N.name="crv[]";if(K!=null){N.value=K}J.appendChild(ct(" "));J.appendChild(N)}}}if(J.parentNode.childNodes.length==1){if(H.selectedIndex>0){fi_AppendClearLink(J)}}else{if(J.parentNode.childNodes.length>1){fi_AppendRemoveLink(J)}}H.i=H.selectedIndex}}function fi_SetCriteria(E,B,G){var C=ge("fi_criteria");var D,F=C.childNodes[0].childNodes[0];C=F.getElementsByTagName("option");for(D=0;D<C.length;++D){if(C[D].value==E[0]){C[D].selected=true;break}}fi_CriterionChange(F,B[0],G[0]);var A=ge("fi_addcriteria");for(D=1;D<E.length;++D){fi_CriterionChange(fi_AddCriterion(A,E[D]),B[D],G[D])}}function fi_SetWeights(I,H,B){if(B){var F=I[0],D=I[1],I={};for(var E=0;E<F.length;++E){var J=fi_Lookup(F[E]);if(J.type=="num"&&LANG.traits[J.name]){I[J.name]=D[E]}}}var L=ge("fi_weight");if(fi_weights==null){fi_weights=[I]}var J=ge("fi_addweight"),G=L.childNodes[0].childNodes[0];var E=0;for(var K in I){if(!LANG.traits[K]){continue}if(E++>0){G=fi_AddCriterion(J,K)}var A=G.getElementsByTagName("option");for(var C=0;C<A.length;++C){if(A[C].value&&K==fi_Lookup(A[C].value).name){A[C].selected=true;break}}fi_CriterionChange(G,0,I[K])}fi_weightsFactor=fi_ConvertWeights(I,true);ge("fi_weight_toggle").className="disclosure-on";ge("fi_weight").parentNode.style.display="";if(!H){if(!fi_PresetMatch(I)){fi_PresetDetails()}}}function fi_ChangeWeight(B){var A=ge("sdkgnsdkn436");A.selectedIndex=0;A.i=0;fi_SortWeight(B);fi_PresetMatch()}function fi_SortWeight(E){var D,C=ge("fi_weight"),B=Number(E.value);E=E.parentNode;n=0;for(D=0;D<C.childNodes.length;++D){var A=C.childNodes[D];if(A.childNodes.length==5){n++;if(A.childNodes[2].nodeName=="INPUT"&&B>Number(A.childNodes[2].value)){C.insertBefore(E,A);return }}}C.insertBefore(E,C.childNodes[n])}function fi_ConvertWeights(D,F){var E=0,B=0;for(var C in D){if(!LANG.traits[C]){continue}E+=Math.abs(D[C]);if(Number(D[C])>B){B=Number(D[C])}}if(F){return E}var A={};for(var C in D){A[C]=(LANG.traits[C]?Math.round(1000*D[C]/E)/1000:D[C])}return A}function fi_ConvertScore(B,A,C){if(A==1){return parseInt(B*fi_weightsFactor)}else{if(A==2){return((B/C)*100).toFixed(1)+"%"}else{return B.toFixed(2)}}}function fi_UpdateScores(){if(++this._scoreMode>2){this._scoreMode=0}for(var B=0;B<this.data.length;++B){if(this.data[B].__tr){var A=this.data[B].__tr.lastChild;A.firstChild.firstChild.nodeValue=fi_ConvertScore(this.data[B].score,this._scoreMode,this._maxScore)}}}function fi_PresetClass(D){if(D.selectedIndex!=D.i){var C,A,F=D.options[D.selectedIndex],E=D.parentNode,J=LANG.presets;fi_ResetCriterion(I);var I=ge("sdkgnsdkn436");I.parentNode.style.display="none";if(D.form.ub.selectedIndex==0||D.form.ub.selectedIndex==D.i){D.form.ub.selectedIndex=D.selectedIndex}while(I.firstChild){de(I.firstChild)}ae(I,ce("option"));if(D.selectedIndex>0){for(A in F._presets){var G=F._presets[A];var H=ce("optgroup");H.label=J[A];for(C=0;C<G.length;++C){var B=ce("option");B._weights=G[C];ae(B,ct(J[G[C].name]));ae(H,B)}if(H&&H.childNodes.length>0){ae(I,H)}}if(I.childNodes.length>1){I.parentNode.style.display=""}}fi_PresetChange(I);D.i=D.selectedIndex}}function fi_PresetChange(B){if(B.selectedIndex!=B.i){fi_ResetCriterion(ge("fi_weight"));var A=B.options[B.selectedIndex];if(B.selectedIndex>0){fi_ResetCriterion(ge("fi_weight"));fi_SetWeights(A._weights,1,0)}B.i=B.selectedIndex}}function fi_PresetDetails(){var B=ge("fi_weight"),D=ge("fi_detail"),C=ge("fi_addweight");var A=g_toggleDisplay(B);C.style.display="none";if(A){D.firstChild.nodeValue=LANG.fihidedetails;if(B.childNodes.length<14){C.style.display=""}}else{D.firstChild.nodeValue=LANG.fishowdetails}return false}function fi_PresetMatch(I){if(!I){I={};var K=ge("fi_weight");for(var E=0;E<K.childNodes.length;++E){if(K.childNodes[E].childNodes.length==5){if(K.childNodes[E].childNodes[0].nodeName=="SELECT"&&K.childNodes[E].childNodes[2].nodeName=="INPUT"){var C=K.childNodes[E].childNodes[0].options[K.childNodes[E].childNodes[0].selectedIndex];if(C.value){I[fi_Lookup(C.value)]=Number(K.childNodes[E].childNodes[2].value)}}}}}var K=ge("fi_presets");var L=K.getElementsByTagName("select");if(L.length!=2){return false}var B=fi_ConvertWeights(I);for(var H in wt_presets){H=wt_presets[H];for(var G in H.presets){for(var A in H.presets[G]){A=fi_ConvertWeights(H.presets[G][A]);var F=true;for(var J in A){if(!LANG.traits[J]){continue}if(!B[J]||A[J]!=B[J]){F=false;break}}if(F){for(var D=0;D<L[0].options.length;++D){if(H.id==L[0].options[D].value){L[0].options[D].selected=true;fi_PresetClass(L[0]);break}}for(D=0;D<L[1].options.length;++D){if(L[1].options[D]._weights&&A.name==L[1].options[D]._weights.name){L[1].options[D].selected=true;fi_PresetChange(L[1]);break}}return true}}}}return false}function fi_ScoreSockets(M){if(fi_gemScores!=null){var G=0,D=0,B=0;var A=[],N=[];var J=[],I=[];var K=false;for(var F=1;F<=3;++F){var C=M["socket"+F];if(C&&fi_gemScores[C]){for(var E=0;E<fi_gemScores[C].length;++E){var L=fi_gemScores[C][E];if(L.uniqEquip==0||in_array(J,L.id)<0){G+=L.score;A.push(L.id);if(L.uniqEquip==1){J.push(L.id)}break}}C=(C==1?1:0);for(var E=0;E<fi_gemScores[C].length;++E){var L=fi_gemScores[C][E];if(L.uniqEquip==0||in_array(I,L.id)<0){D+=L.score;N.push(L.id);if(L.uniqEquip==1){I.push(L.id)}break}}}else{if(C){K=true}}}if(M.socketbonusstat&&fi_weights&&fi_weightsFactor!=0){for(var F=0;F<fi_weights[0].length;++F){var H=fi_Lookup(fi_weights[0][F]);if(M.socketbonusstat[H.name]){B+=M.socketbonusstat[H.name]*fi_weights[1][F]/fi_weightsFactor}}}M.scoreBest=D;M.scoreMatch=G+B;M.scoreSocket=B;M.matchSockets=(M.scoreMatch>=M.scoreBest&&!K);if(M.matchSockets){M.gemGain=M.scoreMatch;M.gems=A}else{M.gemGain=M.scoreBest;M.gems=N}M.score+=M.gemGain}if(M.score>this._maxScore||!this._maxScore){this._maxScore=M.score}}function fi_DropdownSync(A){if(A.selectedIndex>=0){A.className=A.options[A.selectedIndex].className}}function fi_Init(B){fi_type=B;var A;if(g_initPath.lastIt&&g_initPath.lastIt[3]){A=ge("fi_subcat");if(A){A.menu=g_initPath.lastIt[3];A.menuappend="&filter";A.onmouseover=Menu.show;A.onmouseout=Menu.hide}}fi_InitCriterion(ge("fi_criteria"),"cr[]",B);if(B=="items"){var D=ge("fi_presets");if(D){fi_InitPresets(ge("fi_presets"));fi_InitCriterion(ge("fi_weight"),"wt[]",B)}}var C=ge("ma-0");if(C.getAttribute("checked")){C.checked=true}}function fi_InitCriterion(G,B,H){var A=G.firstChild;var J=ce("select");J.name=B;J.onchange=J.onkeyup=fi_CriterionChange.bind(0,J);ae(J,ce("option"));var I=null;var K=LANG["fi"+H];for(var E=0,F=fi_filters[H].length;E<F;++E){var C=fi_filters[H][E];if(!C.type){if(I&&I.childNodes.length>0){ae(J,I)}I=ce("optgroup");I.label=(LANG.traits[C.name]?LANG.traits[C.name]:K[C.name])}else{if(B!="wt[]"||C.type=="num"){var D=ce("option");D.value=C.id;ae(D,ct(LANG.traits[C.name]?LANG.traits[C.name][0]:K[C.name]));ae(I,D)}}}if(I&&I.childNodes.length>0){ae(J,I)}ae(A,J)}function fi_InitPresets(G){var B,D=ce("select");D.onchange=D.onkeyup=fi_PresetClass.bind(0,D);ae(D,ce("option"));for(B in wt_presets){var E=ce("option"),F=wt_presets[B];E.value=F.id;E._presets=F.presets;ae(E,ct(g_chr_classes[F.id]));ae(D,E)}ae(G,D);var C=ce("span");C.style.display="none";var D=ce("select");D.id="sdkgnsdkn436";D.onchange=D.onkeyup=fi_PresetChange.bind(0,D);ae(D,ce("option"));ae(C,ct(" "));ae(C,D);ae(G,C);ae(G,ct(String.fromCharCode(160,160)));var A=ce("a");A.href="javascript:;";A.id="fi_detail";A.appendChild(ct(LANG.fishowdetails));A.onclick=fi_PresetDetails;A.onmousedown=rf;ae(G,A)}function fi_GetExtraCols(B,H){if(!B.length){return }var E=[],F=LANG.fiitems;var G=(fi_weightsFactor?(H?8:9):10);for(var D=0;D<B.length&&D<G;++D){var C=fi_Lookup(B[D]);if(C&&C.name&&C.type=="num"){var A={id:C.name,value:C.name,name:(LANG.traits[C.name]?LANG.traits[C.name][2]:F[C.name]),tooltip:(LANG.traits[C.name]?LANG.traits[C.name][0]:F[C.name]),before:"source"};E.push(A)}}if(fi_weightsFactor){if(H){E.push({id:"gems",name:LANG.gems,getValue:function(I){return I.gems.length},compute:function(K,M){Listview.funcBox.createCenteredIcons(K.gems,M);if(K.matchSockets&&K.scoreSocket>0){var L=ce("div"),I=0;L.style.paddingTop="4px";for(var J in K.socketbonusstat){if(LANG.traits[J]){if(I++>0){ae(L,ct(", "))}ae(L,ct("+"+K.socketbonusstat[J]+" "+LANG.traits[J][2]))}}ae(M,L)}},sortFunc:function(J,I,K){return strcmp((J.gems?J.gems.length:0),(I.gems?I.gems.length:0))}})}E.push({id:"score",name:LANG.score,width:"7%",value:"score",compute:function(J,K){var I=ce("a");I.href="javascript:;";I.onclick=fi_UpdateScores.bind(this);I.className=(J.gemGain>0?"q2":"q1");ae(I,ct(fi_ConvertScore(J.score,this._scoreMode,this._maxScore)));ae(K,I)}})}fi_nExtraCols=E.length;return E};