//////////////////////////////////////////////////
/////           1. ｸﾞｴｺ ｸｸｵ魍・              /////
//////////////////////////////////////////////////

/******************************************
Menu item creation:
myCoolMenu.makeMenu(name, parent_name, text, link, target, width, height, 
    regImage, overImage, regClass, overClass , align, rows, nolink, 
    onclick, onmouseover, onmouseout) 
*************************************/

// use weaponEng for the menu name & variable
// use weaponKor for the title & note
// make top menu
doMenu();oCMenu.construct();

// menu reposition
var mPosx=411;var mPosy=1;var mHeight=21;
for (var x=1;x<=10;x++) {
    var zstr='oCMenu.m["top'+x+'"].b.moveIt('+mPosx+','+Math.floor(mPosy+mHeight*x)+')';
    eval(zstr);
}

function doMenu() {
    oCMenu.makeMenu('top1','','武器');
    oCMenu.makeMenu('top2','','兜');
    oCMenu.makeMenu('top3','','鎧');
    oCMenu.makeMenu('top4','','パンツ');
    oCMenu.makeMenu('top5','','靴');
    oCMenu.makeMenu('top6','','盾');
    if(theRace=='Aidia')oCMenu.makeMenu('top7','','羽');   // if aidia, use "Wing", else use "Cape"
    else oCMenu.makeMenu('top7','','マント');
    oCMenu.makeMenu('top8','','首飾り');
    oCMenu.makeMenu('top9','','指輪');
    oCMenu.makeMenu('top10','','腕輪');

    // make weapon sub menu
    for(var x=0;x<weaponEng.length;x++) {
        if (x==0) {
            // without weapon
            oCMenu.makeMenu(weaponEng[x],'top1',weaponKor[x],0,0,0,0,0,0,0,0,0,0,0,"chooseWeapon(noWeap,'"+weaponKor[x]+"',0,0,0)");
        }
        else {
            // with weapon
            //oCMenu.makeMenu(weaponEng[x],'top1',weaponKor[x]);
            var weapName = weaponEng[x];
            var min  = eval(weapName+'[2]');
            var max  = eval(weapName+'[3]');
            var spd  = eval(weapName+'[4]');
            //var title=min+'~'+max+','+spd;
            var title=weaponKor[x]+' (Level '+(eval(weapName+'[1]'))+')';
            var zUpNo=5;if(eval(weapName+'[1]')>180){zUpNo+=10;};if(eval(weapName+'[1]')>260){zUpNo+=5;}
            // 15 stages upgrade for diamond weapon // 20 stages upgrade for R_diamond weapon
            // change layer position for diamond weapon
            switch(theRace) {
                case "hHybrid": case "tHybrid":
                    var zstr=eval(weapName+'[1]')>260?"sox=0;soy=-30;":"";
                    break;
                default:
                    var zstr=eval(weapName+'[1]')>180?"sox=0;soy=-180;":"";
                    break;
            }
            oCMenu.makeMenu(weaponEng[x],'top1',weaponKor[x],'','','','','','','','','','','','',zstr);
                // make first sub-sub menu for weap description
                oCMenu.makeMenu(weaponEng[x]+'s',weaponEng[x],title);
            for (var y=0;y<=zUpNo;y++) {
                var minA=0; var maxA=0; var nameA=weaponKor[x]; var setWeap=new Array();
                if (zUpNo==5)  {minA=calPlusA(weapName,min,y); maxA=calPlusA(weapName,max,y);}
                if (zUpNo==15) {minA=calPlusB(weapName,min,y); maxA=calPlusB(weapName,max,y);}
                if (zUpNo==20) {minA=calPlusC(weapName,min,y); maxA=calPlusC(weapName,max,y);}
                //var whenClick = "setMin="+minA+";";
                //whenClick += "setMax="+maxA+";";
                var whenClick = "setUpNum="+y+";";
                // +0 は表示しない
                if(y==0) {
                  whenClick += "setName='"+nameA+"';";
                } else {
                  whenClick += "setName='"+nameA+" +"+y+"';";
                }
                whenClick += "setWeap="+eval(weapName)+";";
                whenClick += "chooseWeapon(setWeap,setName,setUpNum)";
                // if staff
                if (weapName.charAt(0)=='s') {
                    var upNote = "+"+y+"&nbsp;&nbsp;:&nbsp;&nbsp;"+" +"+maxA+"%";
                }
                else {
                    var upNote = "+"+y+"&nbsp;&nbsp;:&nbsp;&nbsp;"+minA+" 〜 "+maxA;
                }
                // make sub menu, for each upgrade item
                oCMenu.makeMenu(weaponEng[x]+y,weaponEng[x],upNote,0,0,0,0,0,0,0,0,0,0,0,whenClick);
            }
        }
    }

    // make helmet/armor/pants/boots/shield sub menu
    makeArmorMenu(2,acHelmetE,acHelmetK);
    makeArmorMenu(3,acArmorE,acArmorK);
    makeArmorMenu(4,acPantsE,acPantsK);
    makeArmorMenu(5,acBootsE,acBootsK);
    makeArmorMenu(6,acShieldE,acShieldK);
    makeArmorMenu(7,acCapeE,acCapeK);
    makeAcceMenu(8,acNeckE,acNeckK);
    makeAcceMenu(9,acRingE,acRingK);
    makeAcceMenu(10,acOtheE,acOtheK);
}

// make helmet/armor/pants/boots/shield sub menu
function makeArmorMenu(mNo,ArmorE,ArmorK) {
    for(var x=0;x<ArmorE.length;x++) {
        if (x==0) {
            // without armor
            oCMenu.makeMenu(ArmorE[x]+mNo,'top'+mNo,ArmorK[x],0,0,0,0,0,0,0,0,0,0,0,"chooseArmor(noC"+ArmorE[x].charAt(3)+"Armors,'"+ArmorK[x]+"',0,0,0)");
        }
        else {
            // with armor
            //oCMenu.makeMenu(ArmorE[x],'top'+mNo,ArmorK[x]);
            var armorName = ArmorE[x];
            var ac  = eval(armorName+'[2]');
            var title=ArmorK[x]+' (Level '+(eval(armorName+'[1]'))+')';
            var zUpNo=5;if(eval(armorName+'[1]')>180){zUpNo+=10;} if(eval(armorName+'[1]')>260){zUpNo+=5;}
            // 15 stages upgrade for diamond weapon // 20 stages upgrade for R_diamond weapon
            var zUpNo=eval(armorName+'[1]')==250?0:zUpNo;   // メタ盾・マント・羽は強化できない
            // change the layer position for diamond item
            switch(theRace) {
                case "hHybrid": case "tHybrid":
                    var zstr=eval(armorName+'[1]')>180?"sox=0;soy=-120;":"";
                    if(eval(armorName+'[1]')==250){var zstr=""}
                    break;
                default:
                    var zstr=eval(armorName+'[1]')>180?"sox=0;soy=-180;":"";
                    if(eval(armorName+'[1]')==250){var zstr=""}
                    break;
            }
            oCMenu.makeMenu(ArmorE[x],'top'+mNo,ArmorK[x],'','','','','','','','','','','','',zstr);
                // make first sub-sub menu for armor description
                oCMenu.makeMenu(ArmorE[x]+'s',ArmorE[x],title);
            for (var y=0;y<=zUpNo;y++) {
                var acA=0; var nameA=ArmorK[x]; var setArmor=new Array();
                if (zUpNo==5)  {acA=calPlusA(armorName,ac,y);}   // 5 upgrade for normal, 10 upgrade for diamond
                if (zUpNo==15) {acA=calPlusB(armorName,ac,y);}
                if (zUpNo==20) {acA=calPlusC(armorName,ac,y);}
                var whenClick = "setUpNum="+y+";";
                // +0 は表示しない
                if(y==0) {
                  whenClick += "setName='"+nameA+"';";
                } else {
                  whenClick += "setName='"+nameA+" +"+y+"';";
                }
                whenClick += "setArmor="+eval(armorName)+";";
                whenClick += "chooseArmor(setArmor,setName,setUpNum)";
                var upNote = "+"+y+"&nbsp;&nbsp;:&nbsp;&nbsp;"+acA;
                // make sub menu, for each upgrade item
                oCMenu.makeMenu(ArmorE[x]+y,ArmorE[x],upNote,0,0,0,0,0,0,0,0,0,0,0,whenClick);
            }
        }
    }
}

// 首飾り／指輪／腕輪 メニュー
function makeAcceMenu(mNo,AcceE,AcceK) {
    for(var x=0;x<AcceE.length;x++) {
        if (x==0) {
            // アクセサリなし
            oCMenu.makeMenu(AcceE[x]+mNo,'top'+mNo,AcceK[x],0,0,0,0,0,0,0,0,0,0,0,"chooseAcce(noC"+AcceE[x].charAt(3)+"Acce,'"+AcceK[x]+"',0,0,0)");
        } else {
            // アクセサリあり
            var acceName = AcceE[x];
            // 必要Lv0のものはメニューにLvを表示しない
            if(eval(acceName+'[1]') != 0) {
              oCMenu.makeMenu(AcceE[x],'top'+mNo,AcceK[x]);
              var ac  = eval(acceName+'[2]');
              var title=AcceK[x];
              title += ' (Level '+(eval(acceName+'[1]'))+')';
              var zUpNo=eval(acceName+'[1]')>180?10:5;   // 10 stages upgrade for diamond item

              // make first sub-sub menu for armor description
              oCMenu.makeMenu(AcceE[x]+'s',AcceE[x],title);
              for (var y=0;y<=zUpNo;y++) {
                var acA=0; var nameA=AcceK[x]; var setAcce=new Array();
                if (zUpNo==5)  {acA=calPlusA(acceName,ac,y);}   // 5 upgrade for normal, 10 upgrade for diamond
                if (zUpNo==15) {acA=calPlusB(acceName,ac,y);}
                if (zUpNo==20) {acA=calPlusC(acceName,ac,y);}
                else {acA=calPlusC(acceName,ac,y);}
                var whenClick = "setUpNum="+y+";";
                // +0 は表示しない
                if(y==0) {
                  whenClick += "setName='"+nameA+"';";
                } else {
                  whenClick += "setName='"+nameA+" +"+y+"';";
                }
                whenClick += "setAcce="+eval(acceName)+";";
                whenClick += "chooseAcce(setAcce,setName,setUpNum)";
                var upNote = "+"+y+"&nbsp;&nbsp;:&nbsp;&nbsp;"+acA;
                // make sub menu, for each upgrade item
                oCMenu.makeMenu(AcceE[x]+y,AcceE[x],upNote,0,0,0,0,0,0,0,0,0,0,0,whenClick);
              }
            } else {
              var nameA=AcceK[x]; var setAcce=new Array();
              var whenClick = "setName='"+nameA+"';";
              whenClick += "setAcce="+eval(acceName)+";";
              whenClick += "chooseAcce(setAcce,setName,0,0,0)";
              // make sub menu, for each upgrade item
              oCMenu.makeMenu(AcceE[x]+mNo,'top'+mNo,AcceK[x],0,0,0,0,0,0,0,0,0,0,0,whenClick);
            }
        }
    }
}
