K.sets={};K.packs={};K.units={};K.glyphs={};K.specialPowers={};K.createSet=function(ad,ae){var af=new V(ad,ae);this.sets[ad]=af;return af;};K.createUnit=function(ad,ae){var af=new W(ad,ae);this.units[ad]=af;return af;};K.createSpecialPower=function(ad,ae){var af=new aa(ad,ae);this.specialPowers[ad]=af;return af;};S.prototype.name="A Heroscape Army";S.prototype.getUnitQty=function(ad){var ae=this.entries["units"];if(ae==null)return 0;var af=ae[ad];return (af||0);};S.prototype.setUnitQty=function(ad,ae){var af=this.entries["units"];if(af==null)this.entries["units"]=af={};af[ad]=ae;};S.prototype.addOneUnit=function(ad){this.setUnitQty(ad,this.getUnitQty(ad)+1);};S.prototype.removeOneUnit=function(ad){var ae=this.getUnitQty(ad);if(ae>0)this.setUnitQty(ad,ae-1);};function V(ad,ae){this.id=ad;this.name=ae;this.packs=[];}V.prototype=new N();V.prototype.objectType="Set";V.prototype.isCollectible=true;V.prototype.createPack=function(ad,ae){var af=new Z(this,ad,ae);this.packs.push(af);K.packs[ad]=af;return af;};V.prototype.countUnits=function(){var ad=0;this.packs.foreach(function(ae){ad+=ae.units.length;});return ad;};function Z(ad,ae,af){this.set=ad;this.id=ae;this.name=af;this.units=[];this.glyphs=[];}Z.prototype=new N();Z.prototype.objectType="Pack";Z.prototype.isCollectible=true;function W(ad,ae){this.id=ad;this.name=ae;}W.prototype=new N();W.prototype.objectType="Unit";W.prototype.isCollectible=true;W.prototype.isEnlistable=true;function aa(ad,ae){this.id=ad;this.name=ae;}aa.prototype=new L();var System=new function(){var ad;var ae=new af();var ag=new ah();var ai=new aj();var ak=new al();var am=Infinity;var an=Infinity;var ao;var ap;var aq={};aq.gameId="Heroscape";aq.gameName="Heroscape";return new System(aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI);function ar(aR){ad=aR;aJ(System.roster);var aS=document.getElementById("-rosterStats-");var aT=p(aS,[ "Points", "Maximum (<span style='color: Blue'>click to change</span>)", "Remaining" ]);var aU=p(aS,[ "Spaces", "Maximum (<span style='color: Blue'>click to change</span>)", "Remaining", "Single-Space Figures", "Double-Space Figures", "Multi-Space Figures" ]);var aV=p(aS,[ "Figures", "Unique Hero", "Unique Squad", "Uncommon Hero", "Uncommon Squad", "Common Hero", "Common Squad" ]);var aW=p(aS,[ "Army Cards", "Unique Hero", "Unique Squad", "Uncommon Hero", "Uncommon Squad", "Common Hero", "Common Squad" ]);var aX=p(aS,[ "Min / Avg / Max", "Life", "Move", "Range", "Attack", "Defense", "Points", "Height", "Squad Size" ]);aX[0].value.innerHTML="";aX[1].row.title="For all figures";aX[2].row.title="For all figures";aX[3].row.title="For all figures";aX[4].row.title="For all figures";aX[5].row.title="For all figures";aX[6].row.title="For all army cards";aX[7].row.title="For all figures";aX[8].row.title="For all Squad army cards";var aY=aR.rosterStats={};aY.points=aT[0].value;aY.pointsMax=aT[1].value;aY.pointsLeft=aT[2].value;aY.spaces=aU[0].value;aY.spacesMax=aU[1].value;aY.spacesLeft=aU[2].value;aY.spacesSgl=aU[3].value;aY.spacesDbl=aU[4].value;aY.spacesMul=aU[5].value;aY.figures=aV[0].value;aY.figuresUH=aV[1].value;aY.figuresUS=aV[2].value;aY.figuresRH=aV[3].value;aY.figuresRS=aV[4].value;aY.figuresCH=aV[5].value;aY.figuresCS=aV[6].value;aY.cards=aW[0].value;aY.cardsUH=aW[1].value;aY.cardsUS=aW[2].value;aY.cardsRH=aW[3].value;aY.cardsRS=aW[4].value;aY.cardsCH=aW[5].value;aY.cardsCS=aW[6].value;aY.minMaxLife=aX[1].value;aY.minMaxMove=aX[2].value;aY.minMaxRange=aX[3].value;aY.minMaxAttack=aX[4].value;aY.minMaxDefense=aX[5].value;aY.minMaxPoints=aX[6].value;aY.minMaxHeight=aX[7].value;aY.minMaxSquadSize=aX[8].value;var aZ=aR.balloon;aZ.name=document.getElementById("balloon-unitName");aZ.general=document.getElementById("balloon-general");aZ.type1=document.getElementById("balloon-type1");aZ.type2=document.getElementById("balloon-type2");aZ.species=document.getElementById("balloon-species");aZ.planet=document.getElementById("balloon-planet");aZ.clazz=document.getElementById("balloon-class");aZ.personality=document.getElementById("balloon-personality");aZ.size=document.getElementById("balloon-size");aZ.masterLife=document.getElementById("balloon-masterLife");aZ.masterMove=document.getElementById("balloon-masterMove");aZ.masterRange=document.getElementById("balloon-masterRange");aZ.masterAttack=document.getElementById("balloon-masterAttack");aZ.masterDefense=document.getElementById("balloon-masterDefense");aZ.masterPoints=document.getElementById("balloon-masterPoints");aZ.masterPowers=document.getElementById("balloon-masterPowers");aZ.photo=document.getElementById("balloon-photo");aZ.inCollection=document.getElementById("balloon-inCollection");aZ.inRoster=document.getElementById("balloon-inRoster");var ba=aY.pointsMax.parentNode;ba.style.cursor="pointer";ba.onclick=aL;var bb=aY.spacesMax.parentNode;bb.style.cursor="pointer";bb.onclick=aM;ae.initialize();ag.initialize();ai.initialize();ak.initialize();}function as(aR){var aS=aR["set-list"];aS&&aS.foreach(function(aT){var aU=aT[0];var aV=aT[1];var aW=K.createSet(aU,aV);aW.universe=aT[2];aW.type=aT[3];aW.figures=aT[4];aW.order=Number(aT[5]);});var aS=aR["pack-list"];aS&&aS.foreach(function(aT){var aU=aT[0];var aV=aT[1];var aW=aT[2];var aX=K.sets[aV];if(!aX)return;aX.createPack(aU,aW);});var aS=aR["unit-list"];aS&&aS.foreach(function(aT){var aU=aT[0];var aV=aT[1];var aW=K.createUnit(aU,aV);aW.packs=aT[2];aW.general=aT[3];aW.species=aT[4];aW.planet=aT[5];aW.type=aT[6];aW.clazz=aT[7];aW.personality=aT[8];aW.size=aT[9];aW.height=Number(aT[10]);aW.spaces=Number(aT[11]);aW.sex=aT[12];aW.figures=Number(aT[13]);aW.basicMove=Number(aT[14]);aW.basicRange=Number(aT[15]);aW.basicAttack=Number(aT[16]);aW.basicDefense=Number(aT[17]);aW.masterLife=Number(aT[18]);aW.masterMove=Number(aT[19]);aW.masterRange=Number(aT[20]);aW.masterAttack=Number(aT[21]);aW.masterDefense=Number(aT[22]);aW.masterPoints=Number(aT[23]);aW.specialPowers=aT[24].split(",");aW.photo=aT[25];aW.photoLink=aW.photo;aW.notices=aT[26].split(",");aW.packs=(aW.packs?aW.packs.split(","):[]);aW.packs.foreach(function(aX){K.packs[aX].units.push(aW);});});var aS=aR["unit-details"];aS&&aS.foreach(function(aT){var aU=aT["id"];if(!aU)return;var aV=K.units[aU];if(!aV)return;aV.loaded=true;aV.basicImage="img/!comingSoon.jpg";aV.basicImageLink="javascript:void(0)";aV.masterImage="img/!comingSoon.jpg";aV.masterImageLink="javascript:void(0)";aV.qty=[];aV.figureNumbers=[ [ "-" ] ];aV.bio="";aV.links=[];var aW=aT["nameArticle"];aV.nameArticle=aW||"";var aW=aT["pluralName"];if(aW!=null)aV.pluralName=aW;var aW=aT["pluralNameShort"];if(aW!=null)aV.pluralNameShort=aW;var aW=aT["singularName"];if(aW!=null)aV.singularName=aW;var aW=aT["singularNameShort"];if(aW!=null)aV.singularNameShort=aW;var aW=aT["alwaysUseShortName"];if(aW)aV.alwaysUseShortName=true;var aW=aT["basicImage"];if(aW!=null){aV.basicImage=aW;aV.basicImageLink=aW;}var aW=aT["masterImage"];if(aW!=null){aV.masterImage=aW;aV.masterImageLink=aW;}var aW=aT["bio"];if(aW!=null)aV.bio=aW;var aW=aT["packs"];if(aW){aV.figureNumbers=[];aW.foreach(function(aX){aV.qty.push(aX[1]);aV.figureNumbers.push(aX[2].split(","));});}var aW=aT["links"];if(aW)aV.links=aW;});var aS=aR["power-list"];aS&&aS.foreach(function(aT){var aU=aT[0];var aV=aT[1];K.createSpecialPower(aU,aV);});var aS=aR["power-details"];aS&&aS.foreach(function(aT){if(!aT)return;var aU=aT["id"];if(!aU)return;var aV=K.specialPowers[aU];if(!aV)return;var aW=aT["forHero"];if(aW!=null)aV.heroDescription=aW;var aW=aT["forSquad"];if(aW!=null){if(aW=="")aV.squadDescription=aV.heroDescription;else aV.squadDescription=aW;}aV.loaded=true;});}function aA(aR,aS){switch(aS){case "collection.qty":return (System.collection?(System.collection.items[aR.id]||0):Infinity);case "army.qty":return System.roster.getUnitQty(aR.id);case "army.remainingPoints":return ao;case "army.remainingSpaces":return ap;case "name":return aR.name;case "species":return aR.species;case "type":return aR.type;case "size":return aR.size;case "height":return aR.height;case "baseSize":return aR.spaces;case "spaces":return aR.spaces*aR.figures;case "masterLife":return aR.masterLife;case "masterMove":return aR.masterMove;case "masterRange":return aR.masterRange;case "masterAttack":return aR.masterAttack;case "masterDefense":return aR.masterDefense;case "masterPoints":return aR.masterPoints;case "canAddToArmy":return (av(aR,System.roster)?1:0);case "set.id":return aR.pack.set.id;case "set.name":return aR.pack.set.name;case "pack.id":return aR.pack.id;case "pack.name":return aR.pack.name;}return null;}function aB(aR,aS){switch(aR){case "":return D(aS,[ K.units, K.glyphs, K.sets, K.packs ]);case "Unit":return K.units[aS];case "Glyph":return K.glyphs[aS];case "Set":return K.sets[aS];case "Pack":return K.packs[aS];}return null;}function aC(aR){switch(aR.objectType){case "Unit":case "Glyph":case "Set":case "Pack":return aR.id;default:return aR.objectType+"/"+aR.id;}}function aD(aR){switch(System.focus.objectType){case "Glyph":ae.populateDossier();break;case "Pack":ag.populateDossier();break;case "Set":ai.populateDossier();break;case "Unit":ak.populateDossier();break;}}function aE(){if(ad.dossier.frame.done_unit){var aR=(System.collection?(System.collection.items[System.focus.id]||0):Infinity);var aS=System.roster.getUnitQty(System.focus.id);if(aS>aR){ad.dossier.inCollection.innerHTML="<span class='warn'>"+aR+"</span>";ad.dossier.inRoster.innerHTML="<span class='warn'>"+aS+"</span>";}else {if(aR==Infinity)aR="&#x221E;";ad.dossier.inCollection.innerHTML=aR;ad.dossier.inRoster.innerHTML=aS;}}}function aF(aR){ak.activateDossierTab(aR);}function aG(){z();}function at(aR){var aS=new s(aR);aR.list=aS;var aT=aS.addDivider(null,null,"note");aT.cellA.innerHTML="You do not have any units in your army.";aS.note=aT;}function au(aR,aS){var aT=aR.list;var aU=aN();var aV={};var aW=aT.getNextDescendent(null,null,function(bg){return (bg.type=="I");});while(aW != null){aV[aW.value.id]=aW;aW=aT.getNextSibling(aW,function(bg){return (bg.type=="I");});}var aX=aS.entries["units"];var aY=false;for(var aZ in aX){var ba=K.units[aZ];var bb=aS.getUnitQty(aZ);if(!ba||!bb)continue;var aW=aV[aZ];delete aV[aZ];aY=true;if(!aW){aW=ad.setupListRowWithBalloon(aT.addItem(),{id:aZ,qty:0},function(bg){return K.units[bg.id];},true);aW.info=aT.addInfo(aW);var bc=aT.getNextDescendent(null,null,function(bg){return (bg.type=="I");});while(bc != null){var bd=K.units[bc.value.id];if(aP(ba,bd)<0){bc.parentNode.insertBefore(aW,bc);bc.parentNode.insertBefore(aW.info,bc);break;}bc=aT.getNextSibling(bc,function(bg){return (bg.type=="I");});}aW.cellA.innerHTML=ba.name;aW.total=h(aW.cellB,"span");var be=av(ba,aS);var bf=h(aW.cellB,"img");bf.src="../res/o.gif";bf.alt="+";bf.row=aW;if(!be){bf.title="";bf.className="add disabled";bf.onclick=function(bg){if(!bg){bg=this.ownerDocument.window.event;bg.stopPropagation=function(){this.cancelBubble=true;};}bg.stopPropagation();};}else {if(be==-1){bf.className="add inapt";bf.title="Add one (against game rules)";}else {bf.className="add";bf.title="Add one";}bf.onclick=function(bg){if(!bg){bg=this.ownerDocument.window.event;bg.stopPropagation=function(){this.cancelBubble=true;};}var bh=K.units[this.row.value.id];ax(bh,aS);bg.stopPropagation();};}var bf=h(aW.cellB,"img");bf.src="../res/o.gif";bf.alt="-";bf.title="Remove one";bf.className="remove";bf.row=aW;bf.onclick=function(bg){if(!bg){bg=this.ownerDocument.window.event;bg.stopPropagation=function(){this.cancelBubble=true;};}var bh=K.units[this.row.value.id];ay(bh,aS);bg.stopPropagation();};}if(bb!=aW.value.qty){aW.value.qty=bb;aW.total.innerHTML=bb*ba.masterPoints;if(bb==1){aW.info.style.display="none";aW.info.cellA.innerHTML="";}else {aW.info.style.display="";aW.info.cellA.innerHTML=bb+" × "+ba.masterPoints;}}if(ba===System.focus)aT.setClass(aW,"focus");else aT.setClass(aW);aU.add(ba,bb);}for(var aZ in aV){var aW=aV[aZ];aW.parentNode.removeChild(aW.info);aW.parentNode.removeChild(aW);delete aV[aZ];}aT.note.style.display=(aY?"none":"");aU.update();}function av(aR,aS){var aT=aS.getUnitQty(aR.id);if(aT>0&&aR.type.startsWith("Unique"))return -1;return 1;}function aw(aR,aS){var aT=aS.getUnitQty(aR.id);return (aT>0?1:0);}function ax(aR,aS){if(!av(aR,aS))return false;aS.addOneUnit(aR.id);aK(aS);ad.updateAll();}function ay(aR,aS){aS.removeOneUnit(aR.id);aK(aS);ad.updateAll();}function az(aR){aR.clear();g(aq.gameId+"-army");ad.updateAll();}function aJ(aR){var aS=e(aq.gameId+"-army");if(aS!=null){var aT=aS.split(",");aT.foreach(function(aU){aR.addOneUnit(aU);});}}function aK(aR){var aS=aR.entries["units"];var aT=[];for(var aU in aS){if(aU!=""){for(var aV=0,qty=aS[aU];aV<qty;aV++)aT.push(aU);}}aT=aT.join(",");f(aq.gameId+"-army",aT,30);}function aL(){var aR=am;if(aR==Infinity)aR="";var aS=prompt("What is the maximum point size for the army you're building?\n(Leave empty for no maximum.)",aR);if(aS==null)return;var aR=Number(aS);if(isNaN(aR))return;aR=Math.floor(aR);if(aR>100000){alert("An army size of "+aR+" points?!? Now that's just ridiculous!");return;}if(aR<=0)aR=Infinity;else  if(aR%5!=0)aR+=5-aR%5;am=aR;ad.updateAll();}function aM(){var aR=an;if(aR==Infinity)aR="";var aS=prompt("What is the maximum number of starting spaces for the army you're building?\n(Leave empty for no maximum.)",aR);if(aS==null)return;var aR=Number(aS);if(isNaN(aR))return;aR=Math.floor(aR);if(aR>1000){alert("Are you telling me you have a map that has a starting zone of "+aR+" spaces?!? I don't belive it.");return;}if(aR<=0)aR=Infinity;an=aR;ad.updateAll();}function aN(){var aR=0;var aS=0;var aT=0;var aU=0;var aV=0;var aW=0;var aX=0;var aY=0;var aZ=0;var ba=0;var bb=0;var bc=0;var bd=0;var be=0;var bf=0;var bg=0;var bh=0;var bi=0;var bj=0;var bk=0;var bl=0;var bm=0;var bn=0;var bo=0;var bp=0;var bq=0;var br=0;var bs=0;var bt=0;var bu=0;var bv=Infinity;var bw=0;var bx=Infinity;var by=0;var bz=Infinity;var bA=0;var bB=Infinity;var bC=0;var bD=Infinity;var bE=0;var bF=Infinity;var bG=0;var bH=Infinity;var bI=0;var bJ=Infinity;var bK=0;return {add:bL,update:bM};function bL(bN,bO){var bP=bN.figures*bO;switch(bN.type){case "Unique Hero":bb+=bO;bc++;aV+=bP;break;case "Unique Squad":bd+=bO;be++;aW+=bP;break;case "Uncommon Hero":bf+=bO;bg+=bO;aX+=bP;break;case "Uncommon Squad":bh+=bO;bi+=bO;aY+=bP;break;case "Common Hero":bj+=bO;bk++;aZ+=bP;break;case "Common Squad":bl+=bO;bm++;ba+=bP;break;}aR+=bN.spaces*bP;switch(bN.spaces){case 1:aS+=bP;break;case 2:aT+=bP;break;default:aU+=bP;break;}bn+=bN.masterLife*bP;bo+=bN.masterMove*bP;bp+=bN.masterRange*bP;bq+=bN.masterAttack*bP;br+=bN.masterDefense*bP;bt+=bN.height*bP;bs+=bN.masterPoints*bO;bv=(bN.masterLife<bv?bN.masterLife:bv);bx=(bN.masterMove<bx?bN.masterMove:bx);bz=(bN.masterRange<bz?bN.masterRange:bz);bB=(bN.masterAttack<bB?bN.masterAttack:bB);bD=(bN.masterDefense<bD?bN.masterDefense:bD);bF=(bN.masterPoints<bF?bN.masterPoints:bF);bH=(bN.height<bH?bN.height:bH);bw=(bN.masterLife>bw?bN.masterLife:bw);by=(bN.masterMove>by?bN.masterMove:by);bA=(bN.masterRange>bA?bN.masterRange:bA);bC=(bN.masterAttack>bC?bN.masterAttack:bC);bE=(bN.masterDefense>bE?bN.masterDefense:bE);bG=(bN.masterPoints>bG?bN.masterPoints:bG);bI=(bN.height>bI?bN.height:bI);if(bN.figures>1){bu+=bP;bJ=(bN.figures<bJ?bN.figures:bJ);bK=(bN.figures>bK?bN.figures:bK);}}function bM(){var bN=ad.rosterStats;bN.points.innerHTML=bs;if(am==Infinity){ao=Infinity;bN.points.className="";bN.pointsMax.innerHTML="&#x221E;";bN.pointsLeft.className="";bN.pointsLeft.innerHTML="&#x221E;";}else {ao=am-bs;bN.points.className=(ao<0?"warn":"");bN.pointsMax.innerHTML=am;bN.pointsLeft.className=(ao<0?"warn":"");bN.pointsLeft.innerHTML=ao;}bN.spaces.innerHTML=aR;if(an==Infinity){ap=Infinity;bN.spaces.className="";bN.spacesMax.innerHTML="&#x221E;";bN.spacesLeft.className="";bN.spacesLeft.innerHTML="&#x221E;";}else {ap=an-aR;bN.spaces.className=(ap<0?"warn":"");bN.spacesMax.innerHTML=an;bN.spacesLeft.className=(ap<0?"warn":"");bN.spacesLeft.innerHTML=ap;}bN.spacesSgl.innerHTML=aS;bN.spacesDbl.innerHTML=aT;bN.spacesMul.innerHTML=aU;bN.cards.innerHTML=(bc+bk+bg+bi+be+bm);bN.cardsUH.innerHTML=bc;bN.cardsUS.innerHTML=be;bN.cardsRH.innerHTML=bg;bN.cardsRS.innerHTML=bi;bN.cardsCH.innerHTML=bk;bN.cardsCS.innerHTML=bm;var bO=aV+aW+aX+aY+aZ+ba;bN.figures.innerHTML=bO;bN.figuresUH.innerHTML=aV;bN.figuresUS.innerHTML=aW;bN.figuresRH.innerHTML=aX;bN.figuresRS.innerHTML=aY;bN.figuresCH.innerHTML=aZ;bN.figuresCS.innerHTML=ba;var bP=bd+bh+bl;var bQ=bb+bj+bP;if(bQ>0){bN.minMaxLife.innerHTML=bv+" / "+Number((bn/bO).toFixed(2))+" / "+bw;bN.minMaxMove.innerHTML=bx+" / "+Number((bo/bO).toFixed(2))+" / "+by;bN.minMaxRange.innerHTML=bz+" / "+Number((bp/bO).toFixed(2))+" / "+bA;bN.minMaxAttack.innerHTML=bB+" / "+Number((bq/bO).toFixed(2))+" / "+bC;bN.minMaxDefense.innerHTML=bD+" / "+Number((br/bO).toFixed(2))+" / "+bE;bN.minMaxPoints.innerHTML=bF+" / "+Number((bs/bQ).toFixed(2))+" / "+bG;bN.minMaxHeight.innerHTML=bH+" / "+Number((bt/bO).toFixed(2))+" / "+bI;}else {bN.minMaxLife.innerHTML="- / - / -";bN.minMaxMove.innerHTML="- / - / -";bN.minMaxRange.innerHTML="- / - / -";bN.minMaxAttack.innerHTML="- / - / -";bN.minMaxDefense.innerHTML="- / - / -";bN.minMaxPoints.innerHTML="- / - / -";bN.minMaxHeight.innerHTML="- / - / -";}if(bP>0)bN.minMaxSquadSize.innerHTML=bJ+" / "+Number((bu/bP).toFixed(2))+" / "+bK;else bN.minMaxSquadSize.innerHTML="- / - / -";}}function aI(aR){var aS=aR.document;var aT=System.roster;var aU=aS.getElementById("rosterCost");var aV=ad.rosterStats;aS.getElementById("cards").innerHTML=aV.cards.innerHTML;aS.getElementById("cards-uh").innerHTML=aV.cardsUH.innerHTML;aS.getElementById("cards-us").innerHTML=aV.cardsUS.innerHTML;aS.getElementById("cards-ch").innerHTML=aV.cardsCH.innerHTML;aS.getElementById("cards-cs").innerHTML=aV.cardsCS.innerHTML;aS.getElementById("figs").innerHTML=aV.figures.innerHTML;aS.getElementById("figs-uh").innerHTML=aV.figuresUH.innerHTML;aS.getElementById("figs-us").innerHTML=aV.figuresUS.innerHTML;aS.getElementById("figs-ch").innerHTML=aV.figuresCH.innerHTML;aS.getElementById("figs-cs").innerHTML=aV.figuresCS.innerHTML;aS.getElementById("spcs").innerHTML=aV.spaces.innerHTML;aS.getElementById("spcs-sgl").innerHTML=aV.spacesSgl.innerHTML;aS.getElementById("spcs-dbl").innerHTML=aV.spacesDbl.innerHTML;aS.getElementById("spcs-mul").innerHTML=aV.spacesMul.innerHTML;aS.getElementById("avg-lif").innerHTML=aV.minMaxLife.innerHTML;aS.getElementById("avg-mov").innerHTML=aV.minMaxMove.innerHTML;aS.getElementById("avg-rng").innerHTML=aV.minMaxRange.innerHTML;aS.getElementById("avg-atk").innerHTML=aV.minMaxAttack.innerHTML;aS.getElementById("avg-def").innerHTML=aV.minMaxDefense.innerHTML;aS.getElementById("avg-pts").innerHTML=aV.minMaxPoints.innerHTML;aS.getElementById("avg-hgt").innerHTML=aV.minMaxHeight.innerHTML;aS.getElementById("avg-sqd").innerHTML=aV.minMaxSquadSize.innerHTML;var aW=aS.getElementById("row");var aX=aS.getElementById("crest");var aY=aS.getElementById("name");var aZ=aS.getElementById("powers");var ba=aS.getElementById("stats");var bb=aS.getElementById("points");var bc=aS.getElementById("qty");var bd=aS.getElementById("cost");var be=0;var bf=aW.nextSibling;var bg=[];var bh=aT.entries["units"];for(var bi in bh){var bj=bh[bi];if(bi&&bj&&K.units[bi])bg.push(bi);}bg.sort(bk);bg.foreach(function(bl,bm){var bn=K.units[bl];var bo=aT.getUnitQty(bl);var bp=(bn.masterPoints*bo);be+=bp;var bq=bn.general.toLowerCase();if(!bq)bq="none";aX.src="res/"+bq+".png";aX.alt=bn.general;var br=(bn.figures>1?" ("+bn.figures+")":"");var bs="<nobr><b>Life</b> "+bn.masterLife+" &#183;</nobr> "+"<nobr><b>Move</b> "+bn.masterMove+" &#183; <b>Range</b> "+bn.masterRange+" &#183;</nobr> "+"<nobr><b>Attack</b> "+bn.masterAttack+" &#183; <b>Defense</b> "+bn.masterDefense+"</nobr>";var bt="<nobr>"+bn.type+br+" &#183;</nobr> <nobr>"+bn.species+" &#183;</nobr> <nobr>"+bn.clazz+" &#183;</nobr> "+"<nobr>"+bn.personality+" &#183;</nobr> <nobr>"+bn.size+" "+bn.height+"</nobr>";var bu="";bn.specialPowers.foreach(function(bw){var bx=K.specialPowers[bw];bu+=bx.name+", ";});bu=bu.substring(0,bu.length-2);aY.innerHTML="<b>"+bn.name+"</b>";ba.innerHTML=bt;aZ.innerHTML=bs+"<br />"+bu;bb.innerHTML=bn.masterPoints;bc.innerHTML=bo;bd.innerHTML=bp;var bv=aW.cloneNode(true);bv.className=(bm==0?"first":(bm==bg.length-1?"last":""));bv.style.display="";k(bv);aW.parentNode.insertBefore(bv,bf);});aU.innerHTML=be+" points";function bk(bl,bm){var bn=K.units[bl];var bo=K.units[bm];var bp=bn.name;var bq=bo.name;return (bp<bq?-1:(bp>bq?1:0));}}function aH(aR,aS){switch(aS.objectType){case "Unit":aO(aR,aS);break;}}function aO(aR,aS){var aT=aS.type.split(" ");aR.unit=aS;aR.name.innerHTML=aS.name;aR.general.innerHTML=(aS.general||"<i>None</i>");aR.type1.innerHTML=aT[0]+" ";aR.type2.innerHTML=aT[1];aR.species.innerHTML=aS.species;aR.clazz.innerHTML=aS.clazz;aR.personality.innerHTML=aS.personality;aR.size.innerHTML=aS.size+" "+aS.height;aR.masterLife.innerHTML=aS.masterLife;aR.masterMove.innerHTML=aS.masterMove;aR.masterRange.innerHTML=aS.masterRange;aR.masterAttack.innerHTML=aS.masterAttack;aR.masterDefense.innerHTML=aS.masterDefense;aR.masterPoints.innerHTML=aS.masterPoints;aR.masterPowers.innerHTML="...";var aU="";aS.specialPowers.foreach(function(aX,aY){var aZ=K.specialPowers[aX];var ba=(aZ?aZ.name:aX);aU+="<span>"+ba+(aY<aS.specialPowers.length-1?",":"")+"</span> ";});aR.masterPowers.innerHTML=aU;var aV=(System.collection?(System.collection.items[aS.id]||0):Infinity);var aW=System.roster.getUnitQty(aS.id);if(aW>aV){aR.inCollection.innerHTML="<span class='warn'>"+aV+"</span>";aR.inRoster.innerHTML="<span class='warn'>"+aW+"</span>";}else {if(aV==Infinity)aV="&#x221E;";aR.inCollection.innerHTML=aV;aR.inRoster.innerHTML=aW;}aR.photo.src="../res/o.gif";aR.photo.style.visibility="hidden";t(aR.photo,aS,"photo",83,83);}function aP(aR,aS){var aT=aR.name.localeCompare(aS.name);if(aT==0)aT=aR.masterPoints-aS.masterPoints;return aT;}function aQ(aR,aS){var aT=(aS.type.indexOf("Hero")!=-1);var aU=aS.name;var aV=aS.nameArticle.toLowerCase();var aW="";if(aV){aV=aV+" ";aW=aV.substr(0,1).toUpperCase()+aV.substr(1);}aV+=aU;aW+=aU;var aX=aS.singularName;var aY=aS.singularNameShort;var aZ=aS.pluralName;var ba=aS.pluralNameShort;if(!aZ)aZ=aU;if(!ba)ba=aZ;if(aT){if(!aX)aX=aZ;if(!aY)aY=ba;if(aS.alwaysUseShortName){aX=aY;aZ=ba;}}else {if(!aX)aX=aZ;if(!aY)aY=aX;}if(aX.startsWith("a ")){var bb=aX.substr(0,1).toLowerCase()+aX.substr(1);var bc=aX.substr(0,1).toUpperCase()+aX.substr(1);aX=aX.substr(2);}else  if(aX.startsWith("an ")){var bb=aX.substr(0,1).toLowerCase()+aX.substr(1);var bc=aX.substr(0,1).toUpperCase()+aX.substr(1);aX=aX.substr(3);}else {var bb=aX;var bc=aX;}if(aY.startsWith("a ")){var bd=aY.substr(0,1).toLowerCase()+aY.substr(1);var be=aY.substr(0,1).toUpperCase()+aY.substr(1);aY=aY.substr(2);}else  if(aY.startsWith("an ")){var bd=aY.substr(0,1).toLowerCase()+aY.substr(1);var be=aY.substr(0,1).toUpperCase()+aY.substr(1);aY=aY.substr(3);}else {var bd=aY;var be=aY;}if(aT){var bf={"the-S":aX,"The-S":aX,"F":aX,"Fs":aZ,"an-F":bb,"An-F":bc};var bg={"the-S":aY,"The-S":aY,"F":aY,"Fs":ba,"FF":aY,"FFs":ba,"an-F":bd,"An-F":be,"an-FF":bd,"An-FF":be};}else {var bg={"the-S":aV,"The-S":aW,"F":aX,"Fs":aZ,"FF":aY,"FFs":ba,"an-F":bb,"An-F":bc,"an-FF":bd,"An-FF":be};}aR=aR.substitute(aS.sex,bg,bf);return aR;}function af(){var aR;var aS;var aT,aU;var aV;var aW;var aX;var aY;var aZ;this.initialize=function(){aW=ba();this.groupers=aW;ad.dossier.createView("Glyph",{"overview":"Overview"});};function ba(){var bb={};bb["alphabet"]={name:"Alphabet",getGroups:A(function(bc){var bd=bc.name.charAt(0);if(bd=="\"")bd=bc.name.charAt(1);if(bd>="0"&&bd<="9")bd="#";return bd;},null,B)};bb["set"]={name:"Set",getGroups:A(function(bc){return bc.packs.map(function(bd){return K.packs[bd].set.name;});},function(bc){return bc.packs.map(function(bd){return K.packs[bd].set;});},function(bc,bd){return bc.object.order-bd.object.order;})};bb["setPack"]={name:"Set & Pack",getGroups:function(bc,bd){var be=A(function(bi){return bi.packs.map(function(bj){return K.packs[bj].set.name;});},function(bi){return bi.packs.map(function(bj){return K.packs[bj].set;});},function(bi,bj){return bi.object.order-bj.object.order;});var bf;var bg=A(function(bi){var bj=[];bi.packs.foreach(function(bk){var bl=K.packs[bk];if(bl.set==bf)bj.push(bl.name);});return bj;},function(bi){var bj=[];bi.packs.foreach(function(bk){var bl=K.packs[bk];if(bl.set==bf)bj.push(bl);});return bj;},B);var bh=be(bc,null);bh.foreach(function(bi){bf=bi.object;if(bf.packs[0].name)bi.subgroups=bg(bi.items,bd);else bi.items.sort(bd);});return bh;}};bb["type"]={name:"Type",getGroups:A(function(bc){return bc.type;},null,B)};bb["artifact"]={name:"Artifact / Other",getGroups:A(function(bc){return (bc.alt=="Artifact"?"Artifact":"Other");},null,B)};return bb;}}function ah(){var aR;var aS;var aT;this.initialize=function(){ad.dossier.createView("Pack",{"overview":"Overview","units":"Units"});};}function aj(){var aR;var aS;var aT;var aU;var aV;this.initialize=function(){ad.dossier.createView("Set",{"overview":"Overview","units":"Contents"});};}function al(){var aR;var aS,aT,aU,aV;var aW,aX;var aY,aZ,ba;var bb;var bc;var bd;var be;var bf,bg;var bh,bi;var bj;var bk,bl;var bm;var bn;var bo;var bp;var bq;var br;var bs;var bt;var bu;var bv;var bw;var bx;var by;var bz;var bA;var bB;var bC;var bD;var bE;var bF;var bG;var bH;var bI;var bJ;var bK;var bL;this.initialize=function(){bF=bM();this.groupers=bF;ad.dossier.createView("Unit",{"overview":"Overview","master":"Master Stats","basic":"Basic Stats"});bE=ad.browsePane.addPanel("Units",true);bE.iframe.oninit=function(){bE.list=bE.iframe.contentWindow.document.getElementById("-list-");bN();bE.update();};var bX=h(bE.settings,"table");bX.style.width="100%";bX.cellSpacing=1;bX.cellPadding=0;bI=new q(bX,"<div title='Groups' class='groups'></div>");bI.onchange=bR;bJ=new q(bX,"<div title='Subgroups' class='subgroups'></div>");bJ.onchange=bS;var bY=bI.add("None","");bY.style.fontStyle="italic";var bY=bJ.add("None","");bY.style.fontStyle="italic";for(var bZ in bF){var ca=bF[bZ];bI.add(ca.name,bZ,ca.description);bJ.add(ca.name,bZ,ca.description);}bK=new q(bX,"<div title='Filter' class='filter'></div>");bK.onchange=bT;var bY=bK.add("None","");bY.style.fontStyle="italic";for(var cb in K.filters){var cc=K.filters[cb];bK.add(cc.name,cb,cc.description);}bO(null);bI.select(1);bK.select(1);bR();bT();};this.populateDossier=function(){var bX=ad.dossier;if(!bX.frame.done_unit){var bY=bX.frame.contentWindow.document;aR=document.getElementById("universe");aS=document.getElementById("species");aT=document.getElementById("planet");aU=document.getElementById("class");aV=document.getElementById("personality");aW=document.getElementById("type1");aX=document.getElementById("type2");aY=document.getElementById("size");aZ=document.getElementById("figures");ba=document.getElementById("spaces");bb=bY.getElementById("notice");bc=bY.getElementById("overview");bd=bY.getElementById("overview-loading");be=bY.getElementById("overview-content");bf=bY.getElementById("photo");bg=bY.getElementById("photoLink");bh=bY.getElementById("sets");bi=bY.getElementById("setsLabel");bj=bY.getElementById("bio");bk=bY.getElementById("links");bl=bY.getElementById("linksLabel");bm=bY.getElementById("master");bn=bY.getElementById("master-loading");bo=bY.getElementById("masterImage");bp=bY.getElementById("masterImageLink");bq=bY.getElementById("masterLife");br=bY.getElementById("masterMove");bs=bY.getElementById("masterRange");bt=bY.getElementById("masterAttack");bu=bY.getElementById("masterDefense");bv=bY.getElementById("masterPoints");bw=bY.getElementById("masterPowers");bx=bY.getElementById("basic");by=bY.getElementById("basicImage");bz=bY.getElementById("basicImageLink");bA=bY.getElementById("basicMove");bB=bY.getElementById("basicRange");bC=bY.getElementById("basicAttack");bD=bY.getElementById("basicDefense");bX.frame.done_unit=true;}var bZ=System.focus;bX.title.innerHTML=bZ.name;bX.subtitle.style.display="none";var ca=bZ.general;ca="res/"+(ca?ca.toCamelCase(true):"none")+".png";bX.icon.src=ca;bX.iconText.style.display="";bX.iconText.innerHTML=bZ.general;var cb=bZ.type.split(" ");aR.innerHTML=K.packs[bZ.packs[0]].set.universe.toHtml();aS.innerHTML=bZ.species;aT.innerHTML=bZ.planet;aU.innerHTML=bZ.clazz;aV.innerHTML=bZ.personality;aW.innerHTML=cb[0]+" ";aX.innerHTML=cb[1];aY.innerHTML=bZ.size+" "+bZ.height;aZ.innerHTML=bZ.figures;ba.innerHTML=bZ.spaces*bZ.figures;bi.innerHTML=(bZ.packs.length>1?"Sets":"Set");bq.innerHTML=bZ.masterLife;br.innerHTML=bZ.masterMove+(bZ.masterMove==1?" Space":" Spaces");bs.innerHTML=bZ.masterRange+(bZ.masterRange==1?" Space":" Spaces");bt.innerHTML=bZ.masterAttack+(bZ.masterAttack==1?" Die":" Dice");bu.innerHTML=bZ.masterDefense+(bZ.masterDefense==1?" Die":" Dice");bv.innerHTML=bZ.masterPoints;bA.innerHTML=bZ.basicMove+(bZ.basicMove==1?" Space":" Spaces");bB.innerHTML=bZ.basicRange+(bZ.basicRange==1?" Space":" Spaces");bC.innerHTML=bZ.basicAttack+(bZ.basicAttack==1?" Die":" Dice");bD.innerHTML=bZ.basicDefense+(bZ.basicDefense==1?" Die":" Dice");bZ.register(cc);bU(bZ);function cc(){var cd=this;if(System.focus!==cd)return;bf.src="../res/o.gif";bf.style.visibility="hidden";by.src="../res/o.gif";by.style.visibility="hidden";bo.src="../res/o.gif";bo.style.visibility="hidden";if(!cd.loaded){bd.style.display="";be.style.display="none";bn.style.display="";bb.innerHTML="";bg.href="javascript:;";bh.innerHTML="???";bj.innerHTML="";bk.style.display="none";bl.style.display="none";bp.href="javascript:;";bw.innerHTML="";bw.style.display="none";bz.href="javascript:;";return;}bd.style.display="none";be.style.display="";bn.style.display="none";bw.style.display="";bb.innerHTML=cd.notices.meld(" ",function(ci){var cj=K.notices[ci];return cj||"";});bg.href=cd.photoLink;y(bf,bg);var ce="";cd.packs.foreach(function(ci,cj){var ck=K.packs[ci];var cl=ck.name;cl=ck.set.name+(cl?" ‣ "+cl:"");var cm=cd.figureNumbers[cj].join(", ")+" / "+ck.set.figures;ce+="<p>"+cl+"<br /><span title=\"Collector's numbers\">"+cm+"</span></p>";});ad.patchHtml(bh,ce);var cf=cd.bio||"<i>There is no bio available for "+cd.name+".</i>";ad.patchHtml(bj,cf.paragraphize());var cg="";cd.links.foreach(function(ci){cg+="<li>"+ci+"</li>";});if(cg){ad.patchHtml(bk,cg);bk.style.display="";bl.style.display="";}else {bk.innerHTML="";bk.style.display="none";bl.style.display="none";}bp.href=cd.masterImageLink;y(bo,bp);var ch="";cd.specialPowers.foreach(function(ci){var cj=K.specialPowers[ci];var ck=(cd.type.endsWith("Hero")?cj.heroDescription:cj.squadDescription);ch+="<h2>"+cj.name+"</h2>";ch+=aQ(ck,cd).paragraphize();});ad.patchHtml(bw,ch);bz.href=cd.basicImage;y(by,bz);bW();}};this.activateDossierTab=function(bX){bV=bX;bW();};function bM(){var bX={};bX["alphabet"]=ae.groupers["alphabet"];bX["universe"]={name:"Universe",getGroups:A(function(bY){return bY.packs.map(function(bZ){return K.packs[bZ].set.universe;});},null,B,null,"Unknown")};bX["set"]=ae.groupers["set"];bX["setPack"]=ae.groupers["setPack"];bX["general"]={name:"General",getGroups:A(function(bY){return bY.general;},null,B)};bX["species"]={name:"Species",getGroups:A(function(bY){return bY.species;},null,B,null,"Unknown")};bX["planet"]={name:"Planet",getGroups:A(function(bY){return bY.planet;},null,B,null,"Unknown")};bX["type"]=ae.groupers["type"];bX["typeUC"]={name:"Type (Common/Uncommon/Unique)",getGroups:A(function(bY){var bZ=bY.type;if(bZ.startsWith("Unique"))return "Unique";if(bZ.startsWith("Uncommon"))return "Uncommon";if(bZ.startsWith("Common"))return "Common";return "";},null,B)};bX["typeHS"]={name:"Type (Hero/Squad)",getGroups:A(function(bY){var bZ=bY.type;if(bZ.endsWith("Hero"))return "Hero";if(bZ.endsWith("Squad"))return "Squad";return "";},null,B)};bX["class"]={name:"Class",getGroups:A(function(bY){return bY.clazz;},null,B,null,"Unknown")};bX["personality"]={name:"Personality",getGroups:A(function(bY){return bY.personality;},null,B,null,"Unknown")};bX["size"]={name:"Size",getGroups:A(function(bY){return bY.size;},null,function(bY,bZ){switch(bY.text){case "Small":bY=0;break;case "Medium":bY=1;break;case "Large":bY=2;break;case "Huge":bY=3;break;default:bY=4;break;}switch(bZ.text){case "Small":bZ=0;break;case "Medium":bZ=1;break;case "Large":bZ=2;break;case "Huge":bZ=3;break;default:bZ=4;break;}return bY-bZ;})};bX["height"]={name:"Height",getGroups:A(function(bY){return bY.height;},null,C)};bX["figures"]={name:"Figures",description:"The number of figures in the unit",getGroups:A(function(bY){return bY.figures;},null,C)};bX["spacesPer"]={name:"Spaces (Per Figure)",description:"The number of base spaces of a single figure in the unit",getGroups:A(function(bY){return bY.spaces;},null,C)};bX["spacesAll"]={name:"Spaces (All Figures)",description:"The number of base spaces for all the figures in the unit",getGroups:A(function(bY){return bY.spaces*bY.figures;},null,C)};bX["points"]={name:"Master Points",getGroups:A(function(bY){return bY.masterPoints;},null,C)};bX["life"]={name:"Master Life",getGroups:A(function(bY){return bY.masterLife;},null,C)};bX["move"]={name:"Master Move",getGroups:A(function(bY){return bY.masterMove;},null,C)};bX["range"]={name:"Master Range",getGroups:A(function(bY){return bY.masterRange;},null,C)};bX["attack"]={name:"Master Attack",getGroups:A(function(bY){return bY.masterAttack;},null,C)};bX["defense"]={name:"Master Defense",getGroups:A(function(bY){return bY.masterDefense;},null,C)};bX["powers"]={name:"Special Powers",getGroups:A(function(bY){return bY.specialPowers.map(function(bZ){return K.specialPowers[bZ].name;});},null,B)};bX["powers2"]={name:"Special Powers [2+]",getGroups:A(function(bY){return bY.specialPowers.map(function(bZ){return K.specialPowers[bZ].name;});},null,B,function(bY){return (bY.items.length>=2);})};return bX;}function bN(){var bX=[ bG, bH ];var bY=ad.groupItems(K.units,bX,bL,"All Units");ad.browsePane.prepareList(bE.list,bY,"All units are filtered out.",bZ);var ca=bE.list.list.rows;for(var cb=0,len=ca.length;cb<len;cb++){var cc=ca[cb];if(cc.type=="I")cc.ondblclick=function(){ax(this.value,System.roster);};}function bZ(cd,ce){switch(ce){case 0:return cd.name;case 1:return cd.masterPoints;}return null;}}function bO(bX){if(bX){bL=function(bY,bZ){var ca=bX(bY,bZ);if(ca!=0)return ca;return aP(bY,bZ);};}else {bL=aP;}}function bP(bX){bG=bF[bX];}function bQ(bX){bH=bF[bX];}function bR(){var bX=bI.value;bP(bX);if(!bX){bJ.select(0);bJ.enable(false);bQ(bJ.value);}else {bJ.enable(true);}if(bE.list){bN();ad.updateAll();}}function bS(){bQ(bJ.value);if(bE.list){bN();ad.updateAll();}}function bT(){var bX=bK.value;if(bX=="-manage-")return;bE.setFilter(bX);}function bU(bX){if(bX.loaded!=null)return;var bY="io?uid="+bX.id;bX.specialPowers.foreach(function(bZ){var ca=K.specialPowers[bZ];if(ca&&!ca.loaded)bY+="&pid="+bZ;});bX.notices.foreach(function(bZ){var ca=K.notices[bZ];if(!ca)bY+="&nid="+bZ;});ad.loadObjectDetails(bX,bY);}var bV;function bW(){if(System.focus.loaded!=true)return;switch(bV){case "overview":t(bf,System.focus,"photo",150,145);break;case "master":t(bo,System.focus,"masterImage",150,145);break;case "basic":t(by,System.focus,"basicImage",150,145);break;}}}};