can someone please help me simplify the following code and email me at bigbrother328@cox.net, I want it so that all the monsters and moves are defined before hand and then doing something like YourMonster = FireMonster (that would be if they picked fire type), same with moves, for example something like (YourMonster.move1 = Punch)

Code:
/************ MONSTER CLASS ************/
var Monster = new Object();
Monster.MonsterName="Demo";
Monster.Type="";
Monster.Advantage="";
Monster.Disadvantage="";
Monster.Atk=0;
Monster.Def=0;
Monster.HP=0;
Monster.SpAtk=0;
Monster.SpDef=0;
Monster.Speed=0;
Monster.Level=0;
Monster.Experience=0;
Monster.Move=[{
            "MoveName":"",
             "MoveType":"",
             "MoveCategory":"",
             "MovePower":0,
             "MoveAccuracy":0,
             "MovePP":0
            }];


/**************** TO CONVERT JSON OBJECT TO STRING ***********/
Monster.toJSON = function(key)
 {
    var replacement = new Object();
    for (var val in this)
    {
      replacement[val] = this[val]
        /*if (typeof (this[val]) === 'string')
            replacement[val] = this[val].toUpperCase();
        else
            replacement[val] = this[val]*/
    }
    return replacement;
};

/************* FOR COPYING OBJECTS *****************/
function shallowCopy(obj) {
    var result = {};
    for (var i in obj) {
        result[i] = obj[i];
    }
    return result;
}

/************* FOR MONSTERS INTIALIZATION *****************/
var IntializeMonsters = function(YourMonsterType,YourMonster,OppMonster){   
   IntializeYourMonster(YourMonsterType,YourMonster);
   IntializeOppMonster(OppMonster);
}
var   IntializeYourMonster = function(YourMonsterType,YourMonster){
   switch(YourMonsterType)
   {
      case 1:  //FIRE
      {
         YourMonster['Type'] = "Fire";
         YourMonster['Advantage'] = "Nature";
         YourMonster['Disadvantage'] = "Water";
         YourMonster['MonsterName'] = "FireType";
         YourMonster['Atk'] = 63;
         YourMonster['Def'] = 45;
         YourMonster['SpAtk'] = 45;
         YourMonster['SpDef'] = 45;
         YourMonster['HP'] = 65;
         YourMonster['Speed'] = 45;
         YourMonster['Level'] = 5;
         YourMonster['Experience'] = 1000;      
      }
      break;
      case 2: //WATER
      {
         YourMonster['Type'] = "Water";
         YourMonster['Advantage'] = "Fire";
         YourMonster['Disadvantage'] = "Nature";
         YourMonster['MonsterName'] = "WaterType";
         YourMonster['Atk'] = 55;
         YourMonster['Def'] = 45;
         YourMonster['SpAtk'] = 63;
         YourMonster['SpDef'] = 45;
         YourMonster['HP'] = 55;
         YourMonster['Speed'] = 45;
         YourMonster['Level'] = 5;
         YourMonster['Experience'] = 1000;      
      }      
      break;
      case 3: //NATURE
      {
         YourMonster['Type'] = "Nature";
         YourMonster['Advantage'] = "Water";
         YourMonster['Disadvantage'] = "Fire";
         YourMonster['MonsterName'] = "NatureType";
         YourMonster['Atk'] = 45;
         YourMonster['Def'] = 55;
         YourMonster['SpAtk'] = 45;
         YourMonster['SpDef'] = 55;
         YourMonster['HP'] = 45;
         YourMonster['Speed'] = 63;
         YourMonster['Level'] = 5;
         YourMonster['Experience'] = 1000;         
      }
      break;      
   }
};
   
var   IntializeOppMonster = function(OppMonster){   
   var urMonsterOptn =   Math.floor((Math.random()*3)+1);
   switch(urMonsterOptn)
   {
      case 1:  //FIRE
      {
         OppMonster['Type'] = "Fire";
         OppMonster['Advantage'] = "Nature";
         OppMonster['Disadvantage'] = "Water";
         OppMonster['MonsterName'] = "FireType";
         OppMonster['Atk'] = 63;
         OppMonster['Def'] = 45;
         OppMonster['SpAtk'] = 45;
         OppMonster['SpDef'] = 45;
         OppMonster['HP'] = 65;
         OppMonster['Speed'] = 45;
         OppMonster['Level'] = 5;
         OppMonster['Experience'] = 1000;         
      }   
      break;
      case 2: //WATER
            {
         OppMonster['Type'] = "Water";
         OppMonster['Advantage'] = "Fire";
         OppMonster['Disadvantage'] = "Nature";
         OppMonster['MonsterName'] = "WaterType";
         OppMonster['Atk'] = 55;
         OppMonster['Def'] = 45;
         OppMonster['SpAtk'] = 63;
         OppMonster['SpDef'] = 45;
         OppMonster['HP'] = 55;
         OppMonster['Speed'] = 45;
         OppMonster['Level'] = 5;
         OppMonster['Experience'] = 1000;         
      }
      break;
      case 3: //NATURE
            {
         OppMonster['Type'] = "Nature";
         OppMonster['Advantage'] = "Water";
         OppMonster['Disadvantage'] = "Fire";
         OppMonster['MonsterName'] = "NatureType";
         OppMonster['Atk'] = 45;
         OppMonster['Def'] = 55;
         OppMonster['SpAtk'] = 45;
         OppMonster['SpDef'] = 55;
         OppMonster['HP'] = 45;
         OppMonster['Speed'] = 63;
         OppMonster['Level'] = 5;
         OppMonster['Experience'] = 1000;   
      }
      break;      
   }
};

/********************* FOR UPDATING MOVE **************************/
var UpdateMove = function(YourMoveType,YourMonster,OppMonster){   
   UpdateYourMove(YourMoveType,YourMonster);
   UpdateOppMove(OppMonster);   
   var debug;
   debug=0;
};

var UpdateYourMove=function(move,YourMonster)
{   
   if(move == "Punch")
   {      
      YourMonster['Move'][0]['MoveName']="Punch";
      YourMonster['Move'][0]['MoveType']="Normal";
      YourMonster['Move'][0]['MoveCategory']="Physical";
      YourMonster['Move'][0]['MovePower']=20;
      YourMonster['Move'][0]['MoveAccuracy']=100;
      YourMonster['Move'][0]['MovePP']=10;
   }
   else if(move == "Kick")
   {
      YourMonster['Move'][0]['MoveName']="Kick";
      YourMonster['Move'][0]['MoveType']="Normal";
      YourMonster['Move'][0]['MoveCategory']="Physical";
      YourMonster['Move'][0]['MovePower']=25;
      YourMonster['Move'][0]['MoveAccuracy']=100;
      YourMonster['Move'][0]['MovePP']=10;
   }
   else if(move == "Tackle")
   {   
      YourMonster['Move'][0]['MoveName']="Tackle";
      YourMonster['Move'][0]['MoveType']="Normal";
      YourMonster['Move'][0]['MoveCategory']="Physical";
      YourMonster['Move'][0]['MovePower']=30;
      YourMonster['Move'][0]['MoveAccuracy']=100;
      YourMonster['Move'][0]['MovePP']=10;
   }
   else if(move == "FirePunch")
   {
      YourMonster['Move'][0]['MoveName']="FirePunch";
      YourMonster['Move'][0]['MoveType']="Fire";
      YourMonster['Move'][0]['MoveCategory']="Physical";
      YourMonster['Move'][0]['MovePower']=20;
      YourMonster['Move'][0]['MoveAccuracy']=100;
      YourMonster['Move'][0]['MovePP']=10;
   }
   else if(move == "WaterPunch")
   {
      YourMonster['Move'][0]['MoveName']="WaterPunch";
      YourMonster['Move'][0]['MoveType']="Water";
      YourMonster['Move'][0]['MoveCategory']="Physical";
      YourMonster['Move'][0]['MovePower']=20;
      YourMonster['Move'][0]['MoveAccuracy']=100;
      YourMonster['Move'][0]['MovePP']=10;
   }
   else if(move == "NaturePunch")
   {
      YourMonster['Move'][0]['MoveName']="NaturePunch";
      YourMonster['Move'][0]['MoveType']="Nature";
      YourMonster['Move'][0]['MoveCategory']="Physical";
      YourMonster['Move'][0]['MovePower']=20;
      YourMonster['Move'][0]['MoveAccuracy']=100;
      YourMonster['Move'][0]['MovePP']=10;
   }
};

var UpdateOppMove=function(OppMonster)
{
   var oppMovieChoice =   Math.floor((Math.random()*6)+1);   
   switch(oppMovieChoice)
   {
   case 1:
      {
         OppMonster['Move'][0]['MoveName']="Punch";
         OppMonster['Move'][0]['MoveType']="Normal";
         OppMonster['Move'][0]['MoveCategory']="Physical";
         OppMonster['Move'][0]['MovePower']=20;
         OppMonster['Move'][0]['MoveAccuracy']=100;
         OppMonster['Move'][0]['MovePP']=10;         
      } break;
   case 2:
      {
         OppMonster['Move'][0]['MoveName']="Kick";
         OppMonster['Move'][0]['MoveType']="Normal";
         OppMonster['Move'][0]['MoveCategory']="Physical";
         OppMonster['Move'][0]['MovePower']=25;
         OppMonster['Move'][0]['MoveAccuracy']=100;
         OppMonster['Move'][0]['MovePP']=10;         
      }break;
   case 3:
      {   
         OppMonster['Move'][0]['MoveName']="Tackle";
         OppMonster['Move'][0]['MoveType']="Normal";
         OppMonster['Move'][0]['MoveCategory']="Physical";
         OppMonster['Move'][0]['MovePower']=30;
         OppMonster['Move'][0]['MoveAccuracy']=100;
         OppMonster['Move'][0]['MovePP']=10;         
      }break;
   case 4:
      {
         OppMonster['Move'][0]['MoveName']="FirePunch";
         OppMonster['Move'][0]['MoveType']="Fire";
         OppMonster['Move'][0]['MoveCategory']="Physical";
         OppMonster['Move'][0]['MovePower']=20;
         OppMonster['Move'][0]['MoveAccuracy']=100;
         OppMonster['Move'][0]['MovePP']=10;         
      }break;
   case 5:
      {
         OppMonster['Move'][0]['MoveName']="WaterPunch";
         OppMonster['Move'][0]['MoveType']="Water";
         OppMonster['Move'][0]['MoveCategory']="Physical";
         OppMonster['Move'][0]['MovePower']=20;
         OppMonster['Move'][0]['MoveAccuracy']=100;
         OppMonster['Move'][0]['MovePP']=10;
         
      }break;
   case 6:
      {         
         OppMonster['Move'][0]['MoveName']="NaturePunch";
         OppMonster['Move'][0]['MoveType']="Nature";
         OppMonster['Move'][0]['MoveCategory']="Physical";
         OppMonster['Move'][0]['MovePower']=20;
         OppMonster['Move'][0]['MoveAccuracy']=100;
         OppMonster['Move'][0]['MovePP']=10;         
      }break;
   }   
};