//////////////////////////////////////////////////
/////         Netmarble Laghaim              /////
/////                      provided by hayun /////
//////////////////////////////////////////////////

// Declare the array for each race
switch(theRace) {
    case "aBulkan": case "wBulkan":
        acHelmetE=acBHArmorsE;acHelmetK=acBHArmorsK;
        acArmorE=acBAArmorsE;acArmorK=acBAArmorsK;
        acPantsE=acBPArmorsE;acPantsK=acBPArmorsK;
        acBootsE=acBBArmorsE;acBootsK=acBBArmorsK;
        acShieldE=acBSArmorsE;acShieldK=acBSArmorsK;
        acCapeE=acBCArmorsE;acCapeK=acBCArmorsK;
        break;
    case "hHybrid": case "tHybrid":
        acHelmetE=acYHArmorsE;acHelmetK=acYHArmorsK;
        acArmorE=acYAArmorsE;acArmorK=acYAArmorsK;
        acPantsE=acYPArmorsE;acPantsK=acYPArmorsK;
        acBootsE=acYBArmorsE;acBootsK=acYBArmorsK;
        acShieldE=acYSArmorsE;acShieldK=acYSArmorsK;
        acCapeE=acYCArmorsE;acCapeK=acYCArmorsK;
        break;
    case "Kairipton":
        acHelmetE=acKHArmorsE;acHelmetK=acKHArmorsK;
        acArmorE=acKAArmorsE;acArmorK=acKAArmorsK;
        acPantsE=acKPArmorsE;acPantsK=acKPArmorsK;
        acBootsE=acKBArmorsE;acBootsK=acKBArmorsK;
        acShieldE=acKSArmorsE;acShieldK=acKSArmorsK;
        acCapeE=acKCArmorsE;acCapeK=acKCArmorsK;
        break;
    case "Human":
        acHelmetE=acHHArmorsE;acHelmetK=acHHArmorsK;
        acArmorE=acHAArmorsE;acArmorK=acHAArmorsK;
        acPantsE=acHPArmorsE;acPantsK=acHPArmorsK;
        acBootsE=acHBArmorsE;acBootsK=acHBArmorsK;
        acShieldE=acHSArmorsE;acShieldK=acHSArmorsK;
        acCapeE=acHCArmorsE;acCapeK=acHCArmorsK;
        break;
    case "Aidia":
        acHelmetE=acAHArmorsE;acHelmetK=acAHArmorsK;
        acArmorE=acAAArmorsE;acArmorK=acAAArmorsK;
        acPantsE=acAPArmorsE;acPantsK=acAPArmorsK;
        acBootsE=acABArmorsE;acBootsK=acABArmorsK;
        acShieldE=acASArmorsE;acShieldK=acASArmorsK;
        acCapeE=acACArmorsE;acCapeK=acACArmorsK;
        break;
    default:break;
}

// generate present weapon object
// myArmor is created in getStat.js, setInit()
function theArmor(zarmor,zname,zupnum) {
    var t=this;
    // Total AC, Physical AC, Magical AC
    t.allTotalAC=0;t.allPhysicalAC=0;t.allMagicalAC=0;
    // Magical Defense Rate (%), Mana Usage (-%), Reflect Damage (%)
    t.allMagicDef=0;t.allManaExp=0;t.allReflectDam=0;
    // special resistance for diamond item (cold/stone/bolt/volcanic)
    t.allColdDef=0;t.allStoneDef=0;t.allBoltDef=0;t.allVolcanicDef=0;
    t.armorType=new Array("H","A","P","B","S","C");     // Armory Type (H:helmet, A:Armor, P:Pants, B:Boots, S:Shield, C:Cape)
    if (zarmor=="initArmor") {     // initialize
        for (var x=0;x<t.armorType.length;x++) {
            var zstr='this.'+t.armorType[x]+'=new makeArmor(noC'+t.armorType[x]+'Armors,"‚È‚µ",0)';
            eval(zstr);
        }
    }
    else alert("Ží‘°‚ª•s–¾‚Å‚·B");
}
// gather totalAC/physicalAC/magicalAC from each sub armor
// and update screen information for total AC
theArmor.prototype.gatherArmor=function() {
    var t=this;
    t.allTotalAC=0;t.allPhysicalAC=0;t.allMagicalAC=0;
    t.allMagicDef=0;t.allManaExp=0;t.allReflectDam=0;t.allPhysicalShield=0;
    t.allColdDef=0;t.allStoneDef=0;t.allBoltDef=0;t.allVolcanicDef=0;
    for (var x=0;x<t.armorType.length;x++) {
        if (t.armorType[x]=="C") {  // in case of Cape, apply the AC when the Wisdom is enough
            var zstr="var zwis=t."+t.armorType[x]+".wisLimit;";eval(zstr);
            if (myChar.nowWis>=zwis) {
                var zstr="t.allTotalAC+=t."+t.armorType[x]+".totalAC;";eval(zstr);
                var zstr="t.allPhysicalAC+=t."+t.armorType[x]+".physicalAC;";eval(zstr);
                var zstr="t.allMagicalAC+=t."+t.armorType[x]+".magicalAC;";eval(zstr);
                var zstr="t.allMagicDef+=t."+t.armorType[x]+".magicDef;";eval(zstr);
                var zstr="t.allManaExp+=t."+t.armorType[x]+".manaExp;";eval(zstr);
                var zstr="t.allReflectDam+=t."+t.armorType[x]+".reflectDam;";eval(zstr);
                var zstr="t.allPhysicalShield+=t."+t.armorType[x]+".physicalShield;";eval(zstr);
            }
        }
        else {
            var zstr="t.allTotalAC+=t."+t.armorType[x]+".totalAC;";eval(zstr);
            var zstr="t.allPhysicalAC+=t."+t.armorType[x]+".physicalAC;";eval(zstr);
            var zstr="t.allMagicalAC+=t."+t.armorType[x]+".magicalAC;";eval(zstr);
            var zstr="t.allMagicDef+=t."+t.armorType[x]+".magicDef;";eval(zstr);
            var zstr="t.allManaExp+=t."+t.armorType[x]+".manaExp;";eval(zstr);
            var zstr="t.allReflectDam+=t."+t.armorType[x]+".reflectDam;";eval(zstr);
            var zstr="t.allPhysicalShield+=t."+t.armorType[x]+".physicalShield;";eval(zstr);
            var zstr="t.allColdDef+=t."+t.armorType[x]+".coldDef;";eval(zstr);
            var zstr="t.allStoneDef+=t."+t.armorType[x]+".stoneDef;";eval(zstr);
            var zstr="t.allBoltDef+=t."+t.armorType[x]+".boltDef;";eval(zstr);
            var zstr="t.allVolcanicDef+=t."+t.armorType[x]+".volcanicDef;";eval(zstr);
        }
    }

    // ƒAƒNƒZƒTƒŠ
    // –hŒä’l’Ç‰Á
    var zstr="t.allTotalAC+=myChar.acceAC";eval(zstr);
    var zstr="t.allPhysicalAC+=myChar.acceAC";eval(zstr);
    var zstr="t.allMagicalAC+=myChar.acceAC";eval(zstr);

    // ’ïR’l’Ç‰Á
    var zstr="t.allColdDef+=myChar.coldDef";eval(zstr);
    var zstr="t.allStoneDef+=myChar.stoneDef";eval(zstr);
    var zstr="t.allBoltDef+=myChar.boltDef";eval(zstr);
    var zstr="t.allVolcanicDef+=myChar.volcanicDef";eval(zstr);

    // ‚»‚Ì‘¼
    var zstr="t.allReflectDam+=myChar.reflectDam";eval(zstr);

    // Display the Total AC in screen
    var zstr=t.allTotalAC<2 ? t.allTotalAC : Math.round(t.allTotalAC/2)+"`"+t.allTotalAC+" ("+Math.round(t.allTotalAC*3/4)+")";
    genWriteIt('totalACIDz',zstr)
    // tooltip display in Total AC
    // see whatIsThis() in getAttack.js
    iWhatIsThis[11]="";
    iWhatIsThis[12]="•¨—–hŒä:&nbsp;"+(t.allPhysicalAC<2 ? t.allPhysicalAC : Math.round(t.allPhysicalAC/2)+"`"+t.allPhysicalAC+" ("+Math.round(t.allPhysicalAC*3/4)+")")+"<BR>"
                   +"–‚–@–hŒä:&nbsp;"+(t.allMagicalAC<2 ? t.allMagicalAC : Math.round(t.allMagicalAC/2)+"`"+t.allMagicalAC+" ("+Math.round(t.allMagicalAC*3/4)+")")+"<BR>"
                   +(t.allMagicDef>0 ? "–‚–@–hŒä:&nbsp;"+Math.round(t.allMagicDef*100)+"%<BR>":"")
                   +(t.allManaExp>0 ? "Á”ïƒ}ƒi:&nbsp;-"+Math.round(t.allManaExp*100)+"%":"");
    iWhatIsThis[13]="";
    iWhatIsThis[14]=(t.allPhysicalShield>0 ? "•¨—ƒ_ƒ[ƒWƒV[ƒ‹ƒh:&nbsp;"+Math.round(t.allPhysicalShield*100)+"%<BR>":"")
                   +(t.allReflectDam>0 ? "”½ŽËƒ_ƒ[ƒW:&nbsp;"+Math.round(t.allReflectDam*100)+"%":"");
    // special defense for diamond item, (cold/stone/bolt/volcanic)
    var zstr=(t.allColdDef>0 ? "“€Œ‹:"+Math.round(t.allColdDef*10*10)+"%":"")
            +(t.allStoneDef>0 ? "&nbsp;Î‰»:"+Math.round(t.allStoneDef*10*10)+"%":"")
            +(t.allBoltDef>0 ? "&nbsp;“dŒ‚:"+Math.round(t.allBoltDef*10*10)+"%":"")
            +(t.allVolcanicDef>0 ? "&nbsp;ƒ}ƒOƒ}:"+Math.round(t.allVolcanicDef*10*10)+"%":"");
    genWriteIt('specialACIDz',zstr)
}

// the sub-objects in theArmor (H:helmet, A:Armor, P:Pants, B:Boots, S:Shield, C:Cape)
function makeArmor(zarr,zname) {
    // Eng/Kor name, level, levle grade (for Magic stone), AC, STR/WIS/DEX, price
    var t=this;
    zarr[0].substring(0,2)=="no" ? t.isNoArmor=true : t.isNoArmor=false;
    t.engName=zarr[0];t.korName=zname;
    t.itemLevel=zarr[1];
    t.levelGrade=Math.ceil(t.itemLevel/30);
    // 1:lvl 1~30, 2:31-60, 3:61-90, 4:91-120,  5:121-150, 6:151-180, 7:181-210,,       8:211-240,    250
    // 1 amethyst  2 topaz  3 opal   4 sapphire 4 ruby     5 emerald  6 white knight    7 taeurs        5
    if (t.levelGrade==5) t.levelGrade=4;    // 5=>4
    if (t.levelGrade>=6) t.levelGrade=5;    // above 6, should be 5 (including metacape)
    t.AC=zarr[2];
    t.strLimit=zarr[3];t.wisLimit=zarr[4];t.spdLimit=zarr[5];t.itemPrice=zarr[6];
    // AC< physical AC, magical AC
    t.totalAC=0;t.physicalAC=0;t.magicalAC=0;
    // magical AC race (%), mana usage (-%), reflect damage for Aidia(%), physical damage shield (%)
    t.magicDef=0;t.magicDefz=0;t.manaExp=0;t.reflectDam=0;t.physicalShield=0;
    if (zarr[7]!=null) {t.magicDef=zarr[7];t.magicDefz=zarr[7];}
    if (zarr[8]!=null) t.manaExp=zarr[8];
    if (zarr[9]!=null) t.reflectDam=zarr[9];
    if (zarr[10]!=null) t.physicalShield=zarr[10];
    // special resistance for diamond item, cold/stone/bolt/volcanic
    t.coldDef=0;t.stoneDef=0;t.boltDef=0;t.volcanicDef=0;
    t.coldDefz='';t.stoneDefz='';t.boltDefz='';t.volcanicDefz='';
    if (zarr[11]!=null) {t.coldDef=zarr[11]>0?zarr[11]:0;t.coldDefz=zarr[11]>0?'“€Œ‹’ïR':'';}
    if (zarr[12]!=null) {t.stoneDef=zarr[12]>0?zarr[12]:0;t.stoneDefz=zarr[12]>0?'Î‰»’ïR':'';}
    if (zarr[13]!=null) {t.boltDef=zarr[13]>0?zarr[13]:0;t.boltDefz=zarr[13]>0?'“dŒ‚’ïR':'';}
    if (zarr[14]!=null) {t.volcanicDef=zarr[14]>0?zarr[14]:0;t.volcanicDefz=zarr[14]>0?'ƒ}ƒOƒ}’ïR':'';}
    // upgrade no (Jewel), special AC, magic stone value
    t.noUpgrade=0;t.spDefense=0;t.spDefenseMin=0;t.spDefenseMax=30;
    t.masuk1=0;t.masuk2=0;t.masuk3=0;t.masuk4=0;
    t.masuk1AC=0;t.masuk2AC=0;t.masuk3AC=0;t.masuk4AC=0;
    t.masuk1note=iMArmorNote[1];t.masuk2note=iMArmorNote[2];
    t.masuk3note=iMArmorNote[3];t.masuk4note=iMArmorNote[4];
}
// update sub object value (jewel,masuk,special)
makeArmor.prototype.applyJewel=function(zno) {this.noUpgrade=zno;}
makeArmor.prototype.applyMasuk=function(zArr) {
    for (var x=0;x<zArr.length;x++) {
        var zstr="this.masuk"+(x+1)+"="+zArr[x];eval(zstr);
        if (zArr[x]!=0) {var zstr="this.masuk"+(x+1)+"AC=iMArmor["+Math.round(x*3+zArr[x])+"]";eval(zstr);}
        else {var zstr="this.masuk"+(x+1)+"AC=0";eval(zstr);}
        
    }
}
makeArmor.prototype.applySpecial=function(zAC) {this.spDefense=zAC;}
// calculate t.totalAC=t.AC;t.physicalAC=t.AC;t.magicalAC=t.AC;
makeArmor.prototype.applyArmor=function() {
    var t=this;var zact=t.AC;var zacp=0;var zacm=0;
    plusValue=t.itemLevel>180?plusValueB:plusValueA;    // 15 upgrade for diamond item,bug patch for AC NaN
    // apply masuk AC
    zact=Math.floor(zact*(1+t.masuk4AC))+t.masuk3AC;      // AC rate (%) Up, AC up
    zacp=zact+t.masuk1AC;                                 // physical AC up
    zacm=zact                                             // total magical AC up
   // total magical AC up : cape => magical AC rate up
   //                       others => magical AC up
    if (t.engName.charAt(3)=="C") t.magicDef=Math.round((t.magicDefz+t.masuk2AC/100)*100)/100;
    else zacm+=t.masuk2AC;
    // apply special item AC
    zact+=t.spDefense;zacp+=t.spDefense;zacm+=t.spDefense;
    // apply jewel AC
    zact=t.itemLevel>180?Math.floor(zact*(1+plusValue[t.noUpgrade])):Math.round(zact*(1+plusValue[t.noUpgrade]));
    zacp=t.itemLevel>180?Math.floor(zacp*(1+plusValue[t.noUpgrade])):Math.round(zacp*(1+plusValue[t.noUpgrade]));
    zacm=t.itemLevel>180?Math.floor(zacm*(1+plusValue[t.noUpgrade])):Math.round(zacm*(1+plusValue[t.noUpgrade]));
    // ºÒÄ­ ¸ÞÅ¸¹æÆÐ, ÇÑ¼Õ ¹«±â½Ã ¹æ¾ûÓÂ +70
    if (t.engName=="acBSMeta" && myWeapon.isTwohand==0) {
        zact+=70;zacp+=70;zacm+=70;
    }
    t.totalAC=zact;t.physicalAC=zacp;t.magicalAC=zacm;
}
// write each armor information
makeArmor.prototype.writeArmor=function() {
    var t=this;
    if (t.isNoArmor) {  // if no armor
        var zstr="document.getElementById('idC"+this.engName.charAt(3)+"').innerHTML='‚È‚µ';";eval(zstr);
        var zstr="idC"+this.engName.charAt(3)+"Msg[0]=''";eval(zstr);
        return true;
    }
    // basic armor name & jewel upgrade
    var zstr="document.getElementById('idC"+this.engName.charAt(3)+"').innerHTML='"+this.korName+"';";eval(zstr);

    // canvasArmor : detail armor information for pop up window
    var whatIsArmor = "";
    // ƒtƒHƒ“ƒg‚ðƒQ[ƒ€“à‚Ì•\Ž¦‚É‡‚í‚¹‚é
    var ArmorHead = '<TABLE width="160" align="center" class="font9" style="background-color:#E0E7E7;font-family:‚l‚r –¾’©;">'
                  + '<tr><td>';
    var ArmorTail = '</td></tr></table>';
    //name:#FF5973,lvl:#DE969C,masuk:#009900,atk:#006699,str:#9C9B99
    //‹­‰»•i‚Ìê‡‚ÍF‚ð•ÏX
    if(t.korName.indexOf("+")==-1) {
      whatIsArmor += "<font color='#FF5973'>"+t.korName+"</font><br>";
    } else {
      whatIsArmor += "<font color='#009900'>"+t.korName+"</font><br>";
    }
    whatIsArmor += "<font color='#FF5973'>•K—vƒŒƒxƒ‹: "+t.itemLevel+"<br></font>";
    whatIsArmor += "<font color='#009900'>"
                 + (t.levelGrade>=2 ? (t.masuk1AC>0 ? t.masuk1note+"&nbsp;"+t.masuk1AC+"&nbsp;ƒAƒbƒv<BR>":""):"")
                 + (t.levelGrade>=3 ? (t.masuk2AC>0 ? t.masuk2note+"&nbsp;"+t.masuk2AC+"&nbsp;ƒAƒbƒv<BR>":""):"")
                 + (t.levelGrade>=4 ? (t.masuk3AC>0 ? t.masuk3note+"&nbsp;"+t.masuk3AC+"&nbsp;ƒAƒbƒv<BR>":""):"")
                 + (t.levelGrade>=5 ? (t.masuk4AC>0 ? t.masuk4note.substring(0,t.masuk4note.length-2)+"&nbsp;"+t.masuk4AC*100+"%&nbsp;ƒAƒbƒv<BR>":""):"");
    // special item
    if (t.spDefense>0) whatIsArmor += "“ÁŽê–hŒä&nbsp;"+t.spDefense+"&nbsp;ƒAƒbƒv<br>";

    // for diamond item, show special resistance (cold/stone/bolt/volcanic)
    var zDiamond='';
    if (t.coldDef>0)  {zDiamond=t.coldDefz+':'+Math.round(t.coldDef*10*10)+'%<br>';}
    if (t.stoneDef>0) {zDiamond=t.stoneDefz+':'+Math.round(t.stoneDef*10*10)+'%<br>';}
    if (t.boltDef>0)  {zDiamond=t.boltDefz+':'+Math.round(t.boltDef*10*10)+'%<br>';}
    if (t.volcanicDef>0) {zDiamond=t.volcanicDefz+':'+Math.round(t.volcanicDef*10*10)+'%<br>';}
    whatIsArmor += zDiamond;

    whatIsArmor += "</font>";
    // Etc (AC/mgical AC rate/mana usage/STR/WIS/DEX/Price)
    whatIsArmor += "<font color='#006699'>";
    whatIsArmor += "–hŒä—Í:&nbsp;"+t.totalAC+"<BR>";
    if (t.engName.charAt(3)=="C") {     // if cape
        if (t.engName.charAt(2)!="A") { // if not aidia
            whatIsArmor += (t.magicDef>0 ? "–‚–@–hŒä&nbsp;"+Math.floor(t.magicDef*100)+"%<BR>" : "");
        }
        whatIsArmor += (t.manaExp>0 ? "Á”ïƒ}ƒi&nbsp;-"+t.manaExp*100+"%<BR>" : "")
                     + (t.physicalShield>0 ? "•¨—ƒ_ƒ[ƒWƒV[ƒ‹ƒh&nbsp;"+t.physicalShield*100+"%<BR>" : "")
                     + (t.reflectDam>0 ? "”½ŽËƒ_ƒ[ƒW&nbsp;"+t.reflectDam*100+"%<BR>" : "");
    }
    else if (t.engName.charAt(3)=="S" && theRace=="Human") {     // if meta shield & human
        whatIsArmor += (t.magicDef>0 ? "–‚–@–hŒä&nbsp;"+Math.floor(t.magicDef*100)+"%<BR>" : "");
    }
    whatIsArmor += "</font>";
    whatIsArmor += "<font color='#646464'>"
                 + (t.strLimit>0 ? "•K—v‘Ì—Í: "+t.strLimit+"<br>" : "")
                 + (t.wisLimit>0 ? "•K—v’m—Í: "+t.wisLimit+"<br>" : "")
                 + (t.spdLimit>0 ? "•K—v‘f‘‚³: "+t.spdLimit+"<br>" : "");
    whatIsArmor += "‰¿Ši: "+t.itemPrice+" G";
    whatIsArmor += "</font>";
    // msg array update, idCHMsg[0]     H/A/P/B/S/C
    var zstr="idC"+this.engName.charAt(3)+"Msg[0]=ArmorHead+whatIsArmor+ArmorTail;";eval(zstr);
}

// bridge function for armor upgrade
// input : armorType (H/A/P/B/S/C)
//         type (jewel,masuk,special)=>J/M/S
//         value (jewel:zno, masuk:masukArr, special:zAC)
// output: applyJewel/Masuk/Special(), applyArmor(); writeArmor(); gatherArmor()
function updateArmor(zar,ztype,zvalue) {
    var zstr="";
    switch(ztype) {
        case "J" : // jewel
            zstr="myArmor."+zar+".applyJewel("+zvalue+");";eval(zstr);
            break;
        case "M" : // masuk
            zstr="myArmor."+zar+".applyMasuk(zvalue);";eval(zstr);
            break;
        case "S" : // special item
            zstr="myArmor."+zar+".applySpecial("+zvalue+");";eval(zstr);
            break;
    }
    zstr="myArmor."+zar+".applyArmor();";eval(zstr);
    zstr="myArmor."+zar+".writeArmor();";eval(zstr);
    myArmor.gatherArmor();
    return true;
}

// call this in other modules, only myArmor.S.applyArmor() & myArmor.S.writeArmor() & myArmor.gatherArmor
// now used in chooseWeapon, ºÒÄ­,ÇÑ¼Õ ¹«±E¼±ÅÃ½Ã ¸ÞÅ¸¹æÆÐ ¹æ¾ûÑµ Â÷µûÜû¿E
function updateArmor2() {
    myArmor.S.applyArmor();myArmor.S.writeArmor();myArmor.gatherArmor();
}

// do this when the onClick event in menu is occurred
// parameter : zarmor=,zname,zmin,zmax,zupnum
function chooseArmor(zarmor,zname,zupnum) {
    var zstr="";
    // at first destroy sub armor & recreate it
    zstr="myArmor."+zarmor[0].charAt(3)+"=null;";eval(zstr);
    // myArmor.H=new makeArmor(zarmor,zname);     // H,A,P,B,S,C etc
    zstr="myArmor."+zarmor[0].charAt(3)+"=new makeArmor(zarmor,zname);";eval(zstr);
    // myArmor.H.updateArmor();     // H,A,P,B,S,C etc
    zstr="updateArmor('"+zarmor[0].charAt(3)+"','J',"+zupnum+");";eval(zstr);
    updateDamage();     // call this in getAttack.js, required to show one/two hand damage with shielda altogether
    return true;
}

// do this when armor masuk is chosen
function canvasAMasuk(id) {
    var zArmor=eval('myArmor.'+id.charAt(3));
    var zzTrTd = '<tr><td>';
    var zzTd = '</td><td style="color:black">';
    var masukHead = '<Form name="'+id+'Form">'
                  + '<TABLE width="250" height="150" class="font9" align="center" style="background-color:#E0E7E7;">';
    var masukTail = '</td></tr><tr>'
                  + '<td height="20" colspan="2">';
    if (zArmor.isNoArmor || zArmor.levelGrade>=6) masukTail +='<input type="BUTTON" class="BUTTON1" onClick="popOutFixed();" value="OK">';
    else masukTail += '<input type="BUTTON" class="BUTTON1" onClick="submitAMasuk(this.form,'+zArmor.levelGrade+');" value="OK">';
    var whatIsMasuk = '';
    // 1:lvl 1~30, 2:31-60, 3:61-90, 4:91-120,  5:121-150, 6:151-180, 7:181-210,,       8:211-240,    250
    // 1 amethyst  2 topaz  3 opal   4 sapphire 4 ruby     5 emerald  6 white knight    7 taeurs        5
    if (zArmor.isNoArmor) 
        whatIsMasuk='<tr><td colspan="2">–h‹ï‚È‚µ</td></tr>';
    else if (zArmor.levelGrade==1) 
        whatIsMasuk='<tr><td colspan="2">'+zArmor.korName+'<BR>–‚Î‚Í•t‰Á‚Å‚«‚Ü‚¹‚ñ</td></tr>';
    else {
        var foButton = "";
        whatIsMasuk += '<tr height="25"><td colspan="2" class="black9b">–‚Î</td></tr><tr><td>';
        if (zArmor.levelGrade>=2) {
            whatIsMasuk += zArmor.masuk1note+zzTd
                         + '<input type="radio" name="'+id+'FormM1" value="0">0'
                         + '<input type="radio" name="'+id+'FormM1" value="1">1'
                         + '<input type="radio" name="'+id+'FormM1" value="2">2'
                         + '<input type="radio" name="'+id+'FormM1" value="3">3';
            foButton += id+'FormM1(3).checked = true;';
            if (zArmor.levelGrade>=3) {
                whatIsMasuk += '</td></tr>'+zzTrTd+zArmor.masuk2note+zzTd
                             + '<input type="radio" name="'+id+'FormM2" value="0">0'
                             + '<input type="radio" name="'+id+'FormM2" value="1">1'
                             + '<input type="radio" name="'+id+'FormM2" value="2">2'
                             + '<input type="radio" name="'+id+'FormM2" value="3">3';
                foButton += id+'FormM2(3).checked = true;';
                if (zArmor.levelGrade>=4) {
                    whatIsMasuk += '</td></tr>'+zzTrTd+zArmor.masuk3note+zzTd
                                 + '<input type="radio" name="'+id+'FormM3" value="0">0'
                                 + '<input type="radio" name="'+id+'FormM3" value="1">1'
                                 + '<input type="radio" name="'+id+'FormM3" value="2">2'
                                 + '<input type="radio" name="'+id+'FormM3" value="3">3';
                    foButton += id+'FormM3(3).checked = true;';
                    if (zArmor.levelGrade>=5) {
                        whatIsMasuk += '</td></tr>'+zzTrTd+zArmor.masuk4note+zzTd
                                     + '<input type="radio" name="'+id+'FormM4" value="0">0'
                                     + '<input type="radio" name="'+id+'FormM4" value="1">1'
                                     + '<input type="radio" name="'+id+'FormM4" value="2">2'
                                     + '<input type="radio" name="'+id+'FormM4" value="3">3';
                        foButton += id+'FormM4(3).checked = true;';
                    }
                }
            }
        }
        masukTail += '&nbsp;&nbsp;&nbsp;&nbsp;'
                  +  '<input type="BUTTON" class="BUTTON1" onClick="' + foButton + '" value="ƒtƒ‹ƒIƒvƒVƒ‡ƒ“">';
    }
    masukTail += '</td></tr></table></Form>';
    var zstr=id+"Msg[0]=masukHead+whatIsMasuk+masukTail;";eval(zstr);
    popUpMsg(eval(id+"Msg"));
    // read the myWeapon.masuk value and display it
    var zzz="";
    if (!zArmor.isNoArmor && zArmor.levelGrade>=2 && zArmor.levelGrade<=5) {
        for (var x=2;x<=zArmor.levelGrade;x++) {
            var zMasuk = eval('zArmor.masuk'+(x-1));
            zzz+=zMasuk+",";
            var zstr = 'document.all.'+id+'FormM'+(x-1)+'['+zMasuk+'].checked=true';
            eval(zstr);
        }
    }
}
// do this after canvasAMasuk
function submitAMasuk(zForm,zGrade) {
    var zarr=new Array();
    for (var x=2;x<=zGrade;x++) {
        var zName=eval('zForm.'+zForm.name+'M'+(x-1));
        var zLength=zName.length;
        for (var y=0;y<zLength;y++) 
            if (zName[y].checked) zarr[(x-2)]=y;
    }
    updateArmor(zForm.name.charAt(3),"M",zarr);
    popOutFixed();
}

// do this when armor special item is chosen
function canvasASpecial(id) {
    var zArmor=eval('myArmor.'+id.charAt(3));
    var zzTrTd = '<tr><td>';
    var zzTd = '</td><td style="color:black">';
    var spHead = '<Form name="'+id+'Form">'
               + '<TABLE width="250" height="100" class="font9" align="center" style="background-color:#E0E7E7;">';
    var spTail = '<tr><td height="20" colspan="2">';
    if (zArmor.isNoArmor || zArmor.itemLevel==250) spTail +='<input type="BUTTON" class="BUTTON1" onClick="popOutFixed();" value="OK">';
    else spTail += '<input type="BUTTON" class="BUTTON1" onClick=submitASpecial(this.form,"'+id+'"); value="OK">';
    spTail += '</td></tr></table></Form>';
    var whatIsSp = '';
    if (zArmor.isNoArmor) whatIsSp='<tr><td colspan="2">–h‹ï‚È‚µ</td></tr>';
    else if (zArmor.itemLevel==250) 
        whatIsSp='<tr><td colspan="2">'+zArmor.korName+'<BR>SP‚Í‘¶Ý‚µ‚Ü‚¹‚ñ</td></tr>';
    else {
        whatIsSp += '<tr height="25"><td colspan="2" class="black9b">SP–h‹ï</td></tr>'
                  + '<tr><td width="100">“ÁŽê–hŒä—Í</td>'
                  + '<td class="black9"><INPUT TYPE="text" NAME="'+id+'FormSpDefense" SIZE="2" MAXLENGTH="2" onBlur="return true;" class="tdtext">'
                  + '&nbsp;('+zArmor.spDefenseMin+'`'+zArmor.spDefenseMax+')&nbsp;</td></tr>'
    }
    var zstr=id+"Msg[0]=spHead+whatIsSp+spTail;";eval(zstr);
    popUpMsg(eval(id+"Msg"));
    // read the myWeapon.masuk value and display it
    if (!(zArmor.isNoArmor || zArmor.itemLevel==250)) {
        document.getElementById(id+'FormSpDefense').value=zArmor.spDefense;
    }
}
// do this after canvasASpecial
function submitASpecial(zForm,id) {
    // ‚O`‚R‚OˆÈŠOA•s³‚È•¶Žš‚ÍƒGƒ‰[‚Æ‚·‚é
    var zSp=isNumber2(eval("zForm."+zForm.name+"SpDefense.value"));
    var zArmor=eval('myArmor.'+id.charAt(3));
    if (zSp>=zArmor.spDefenseMin && zSp<=zArmor.spDefenseMax) {
        var zstr='updateArmor("'+zForm.name.charAt(3)+'","S",'+zSp+');';eval(zstr);
        popOutFixed();
    } else {
        alert("•s³‚È’l‚Å‚·");
        eval("zForm."+zForm.name+"SpDefense.focus()");
        eval("zForm."+zForm.name+"SpDefense.select()");return false;
    }
}
