function displayEnemy(data) {
if (app.options.enemy) {
   for (var prop in data.enemy) {
      var o = data.enemy[prop];
      var min = 8;
      var max = 11;
      if ($('onlyShowResults') && $('onlyShowResults').checked && !in_results('enemy',o.object_id)) {
         if (app.markers.enemy[o.object_id]) map.removeOverlay(app.markers.enemy[o.object_id]);
         delete(app.markers.enemy[o.object_id]);   
         continue; 
      }
      if (!app.markers.enemy[o.object_id] && !(o.loc_x == 0 && o.loc_y == 0)) {
         if (map.getZoom() >= min && map.getZoom() <= max) {
            var icon = app.icons.enemy;
            if ((isNaN(o.lat) || isNaN(o.lng)) || (o.lng == 0 || o.lat == 0)) {
               var p = coordsToLatLng(o.loc_x, o.loc_y);
            } else {
               var p = new GLatLng(o.lat,o.lng);  
            }
            var m = new GMarker(p,{'icon': icon});
            GEvent.addListener(m,"mouseover", function() {showTooltip(this)});
            GEvent.addListener(m,"mouseout", function() {tooltip.style.visibility="hidden"}); 
            m.data = o;
            m.type_id = o.object_id;
            m.detailType = 'Enemy';
            m.title = jsonToText(o.title);
            m.isMarker = true;
            app.markers.enemy[o.object_id] = m;
            map.addOverlay(app.markers.enemy[o.object_id]);
         }
      } else if (app.markers.enemy[o.object_id]) {
         if (map.getZoom() < min && map.getZoom() > max) {
            map.removeOverlay(app.markers.enemy[o.object_id]);
         }
      }
      if (map.getZoom() >= min && map.getZoom() <= max) {
            var pcoords = coordsToText(String(o.loc_x),String(o.loc_y));
            var ptext = pcoords[1].replace('.','p')+pcoords[0].replace('.','p');           
            if (!app.markerCoords[ptext]) app.markerCoords[ptext] = new Array();
            app.markerCoords[ptext].push(app.markers.enemy[o.object_id]);   
      }      
      
   }   
 } else {
   hideMarkers('enemy'); 	
 }
}


function enemyInfo(o,m) {
       var coordsArry = coordsToText(o.data[0].loc_x,o.data[0].loc_y);
       var urlTitle = textToURL(o.data[0].title);
       app.reportMenuCount++;
       
       var drops = '';
       for (prop in o.drop) {
         var dTitle = textToURL(o.drop[prop].title);
         drops += '<div><a href=http://www.arda-online.com/lotro/item.php?'+dTitle+'_'+o.drop[prop].object_id+' target=_blank>'+o.drop[prop].title+'</a></div>';
       }
       
       var inacc = (o.data[0].auto_insert == '1') ? '<div class=red>The exact location has not been added yet!</div>' : '';
       $('EnemyInfo_'+m.type_id).innerHTML = '<div><table width=100%><tbody><tr><td width=65%></td><td width=35% class=aRight>'
       +'<a href=javascript:editEnemy()>[edit]</a> | <a href="javascript:reportEntryMenu('+app.reportMenuCount+')">[report]</a>'
       +'</td></tr><tr><td></td><td><div class=Dnone id=rm'+app.reportMenuCount+'></div></td></tr></tbody></table></div>'
       +inacc
       +'<table cellspacing=2><tr><td class=infoLabel>Area</td><td class=infoField>'+o.parentName+'</td></tr>'
       +'<tr><td class=infoLabel>Name</td><td class=infoField>'+o.data[0].title+'</td></tr>'
       +'<tr><td class=infoLabel>Class</td><td class=infoField>'+o.data[0]["class"]+'</td></tr>'
       +'<tr><td class=infoLabel>Race/Species</td><td class=infoField>'+o.data[0].type2+'</td></tr>'
       +'<tr><td class=infoLabel>Combat</td><td class=infoField>'+o.data[0].type3+'</td></tr>'
       +'<tr><td class=infoLabel>Status</td><td class=infoField>'+o.data[0].type4+'</td></tr>'
       +'<tr><td class=infoLabel>Level</td><td class=infoField>'+o.data[0].lvl+'</td></tr>'
       +'<tr><td class=infoLabel>HP</td><td class=infoField>'+o.data[0].hp+'</td></tr>'
       +'<tr><td class=infoLabel>Average Coin</td><td class=infoField>'+coinToText(o.data[0].worth)+'</td></tr>'
       +'<tr><td class=infoLabel>Description</td><td class=infoField>'+o.data[0].descript+'</td></tr>'
       +'<tr><td class=infoLabel>Location</td><td class=infoField>'+coordsArry[1]+','+coordsArry[0]+'</td></tr>'
       +'<tr><td class=infoLabel>Drops Items</td><td class=infoField>'+drops+'</td></tr>'
       +'<tr><td class=infoLabel>PermaLink</td><td class=infoField><a href=http://www.arda-online.com/map/?Enemy:'+urlTitle+'_'+m.type_id+'>Link to this entry</a></td></tr>'
       +'<tr><td class=infoLabel>Added By</td><td class=infoField><a href=http://www.arda-online.com/user.php?id.'+o.creatorID+'>'+o.creatorName+'</a></td></tr>'
       +'</table>';
       
       var html = 'Related Quests:';
       for (prop in o.quests) {
          var quest = o.quests[prop];
          if (quest.step_order == '1') {
             var action = 'Starts';
          } else if (quest.last_step == '1') {
             var action = 'Finishes';
          } else {
            var action = 'Step '+quest.step_order;
          } 
          html += '<div>'+action+': <a href=javascript:getQuestDetails('+quest.quest_id+','+quest.quest_step_id+','+m.type_id+','+m.getPoint().lat()+','+m.getPoint().lng()+')>'+quest.title+'</a></div>';
       }
       app.reportMenuCount++;
       $('EnemyRelated_'+m.type_id).innerHTML = '<div><table width=100%><tbody><tr><td width=65%></td><td width=35% class=aRight>'
       +'<a href=javascript:editEnemy()>[edit]</a> | <a href="javascript:reportEntryMenu('+app.reportMenuCount+')">[report]</a>'
       +'</td></tr><tr><td></td><td><div class=Dnone id=rm'+app.reportMenuCount+'></div></td></tr></tbody></table></div>'
       +html;       
       
       html = '<div class=aCenter><table><tr>';
       var count = 0;
       for (var prop in o.image) {
         var row = o.image[prop];
         if (count == 2) {
            html += '</tr><tr>';  
            count = 0;
         }
         html += '<td><a href=../images/public/'+row.full_src+' target=_blank><img src=../images/public/thumbs/'+row.full_src+' width=125 border=0></a></td>';
         count++;
       }
       html += '</tr></table></div>';
       app.reportMenuCount++;
       $('EnemyScreenshot_'+m.type_id).innerHTML = '<div><table width=100%><tbody><tr><td width=65%></td><td width=35% class=aRight>'
       +'<a href=javascript:editEnemy()>[edit]</a> | <a href="javascript:reportEntryMenu('+app.reportMenuCount+')">[report]</a>'
       +'</td></tr><tr><td></td><td><div class=Dnone id=rm'+app.reportMenuCount+'></div></td></tr></tbody></table></div>'
       +html;   
       
       var cc = 0;
       var type_id = 'object_id';
       html = '<table id=c_'+type_id+'_'+m.type_id+' width=100%><tbody>';
       for (prop in o.comments) {
         cc++;
         var comment = o.comments[prop];
         var postDate = new Date(comment.timestamp*1000);
         var dateString = postDate.getMonth()+'.'+postDate.getDate()+'.'+postDate.getFullYear()+' '+(postDate.getHours()+1)+':'+postDate.getMinutes();
         html += '<tr><td class=commentText>'+comment.text+'</td></tr>'
         +'<tr><td class=commentInfo>'+comment.user_name+' - '+dateString+'</td></tr>';
       }
       
      
       html += '</tbody></table><br><a href="javascript:addComment(\''+type_id+'\','+m.type_id+')">Add a Comment</a>';
       app.reportMenuCount++;
       $('EnemyComments_'+m.type_id).innerHTML = '<div><table width=100%><tbody><tr><td width=65%></td><td width=35% class=aRight>'
       +'<a href=javascript:editEnemy()>[edit]</a> | <a href="javascript:reportEntryMenu('+app.reportMenuCount+')">[report]</a>'
       +'</td></tr><tr><td></td><td><div class=Dnone id=rm'+app.reportMenuCount+'></div></td></tr></tbody></table></div>'
       +html;                
       

}


function addEnemy() {
   app.addType = 'Enemy';
   if (app.user_id == '0') {
      hideAllMenus();     
      frontAndCenter($(app.addType+'Div'),800,500);
      displayBlock($(app.addType+'Div'));
   } else { 
   //app.adding = true;
   app.addType = 'Enemy';
   app.addPath = 'addEnemy.php';
   app.addStart = addEnemyStart;
   //app.mapStatus.innerHTML = 'Click the map to add an '+app.addType+'...';
   //displayBlock(app.mapStatus);   
   //hideAllMenus();   
   resetForm('Enemy');
   app.currentMarker = null;
   addEnemyStart();  
}
}

function addEnemyStart() {


   var f = document.forms.Enemy;
     // f.EnemyLocXY.value = app.addCoords;
    //  f.EnemyPoint.value = app.addPoint.toUrlValue(12);      
      if (document.all) f.EnemyLocParentText.onkeyup = autoSuggest;
      f.EnemyLocParentText.onkeypress = autoSuggest;
      f.EnemyLocParentText.onfocus = autoSuggest;   
            hideAllMenus();   
      frontAndCenter($(app.addType+'Div'),800,500);
   displayBlock($(app.addType+'Div'));

}

function enemySuggest(q) {
	var d = new Date();
         app.autoSuggest.u = 'run/getLocation.php?q='+q+'&d='+d.valueOf();
         app.autoSuggest.returnFunc = getLocationReturn;
         app.autoSuggest.loading = $('EnemyLoading');
         app.autoSuggest.drop = $('EnemyLocParentDrop');
         app.autoSuggest.idField = document.forms.Enemy.EnemyLocParentID;
         app.autoSuggest.span = $('EnemyLocParentSpan');  
         $('EnemyLocParentSpan').idField  =  document.forms.Enemy.EnemyLocParentID;
         $('EnemyLocParentSpan').textField = document.forms.Enemy.EnemyLocParentText;   
}


function submitEnemy() {
   var f = document.forms['Enemy'];
   if (!f.EnemyLocParentID.value.match(/[1-9][0-9]*/gi)) {
      alert('Please select a parent area!');
      f.EnemyLocParentText.focus();
      return false;
   }
   var v = f.EnemyTitle.value;
   if (v == '' || v.match(/[^a-z0-9 '-]/gi)) {
      alert('Please enter a Title. It may only contain letters, numbers, spaces, and the apostrophe.');
      f.EnemyTitle.focus();
      return false;
   }
   var list = $('EnemyDropList');
   var dropList = '';
   var p = '';
   for (var i = 0; i < list.childNodes.length; i++) {
      dropList += p+list.childNodes[i].firstChild.innerHTML;
      p = '|';
   }
   f.EnemyDrops.value = dropList;
   
   var postText = preparePost(f);
   var url = 'run/addEnemy.php?action=add';
   addPostMessage('Enemy Submitted!');
   disableMe(f.EnemyButton);
   app.editButton = f.EnemyButton;
   getRequest(url,'POST',postText,submitEnemyReturn);
}

function submitEnemyReturn(responseText) {
   enableMe(app.editButton);
   if (!responseText) return false;
   var o = eval(responseText);
   if (o.status) {
      app.gettingEnemy = false;  
      app.adding = false;  
      addPostMessage('OK');
      var id = (app.currentMarker) ? app.currentMarker.type_id : o.new_id;
      if (app.currentMarker && app.markerDetails[app.currentMarker.detailType][app.currentMarker.type_id]) {
      	   delete(app.markerDetails[app.currentMarker.detailType][app.currentMarker.type_id]);
      }      
      if (app.currentMarker && app.markers.enemy[app.currentMarker.type_id]) {
           
         map.removeOverlay(app.markers.enemy[app.currentMarker.type_id]);
         delete(app.markers.enemy[app.currentMarker.type_id]);
      }     
      app.currentMarker = null;
      
      app.options.enemy = true;
      $('f3').firstChild.src = 'on.png';
      resetForm('Enemy');
      app.resultToShow = id;
      app.showResult = true;  
      app.typeToShow = 'enemy';    
      closeAddWindow($("EnemyDiv"),true);
   } else {
     addPostMessage('Failed! '+o.error);
   }
}


function getEnemyForEdit() {
   hideAllMarkers();
   $('mapStatus').innerHTML = 'Click for new Enemy Location...'; 
   displayBlock($('mapStatus'));
   app.gettingLocation = true;
   
   map.closeInfoWindow();
      

   displayNone($(app.addType+'Div'));
   app.editFunction = setNewLocationEnemy;
   $('map').firstChild.firstChild.style.cursor = 'crosshair';   
   
   
}

function setNewLocationEnemy() {
   var f = document.forms.Enemy;
   f.EnemyLocXY.value = app.editCoords;
   f.EnemyPoint.value = app.editPoint.toUrlValue(12);
   displayBlock($(app.addType+'Div'));
}

function editEnemy(newLocation) {
    app.addType = 'Enemy';
    resetForm('Enemy');
    if (newLocation) {
             var p = app.currentMarker.getPoint();
             var m = new GMarker(p);

             map.addOverlay(m);
             var d = new Date();
             
             var pro = map.getCurrentMapType().getProjection();
             var pnt = pro.fromLatLngToPixel(p,map.getZoom());
             var c = latLngToCoords(pnt,map.getZoom());
             var coords = coordsToText(String(c.x),String(c.y));               
             
             app.editEnemyCoords = coords[1]+','+coords[0];
             app.editPoint = p;  
            } else {
             var m = app.currentMarker;
             var o = m.detailData.data[0];
             var coords = coordsToText(String(o.loc_x),String(o.loc_y));   
             app.editEnemyCoords = coords[1]+','+coords[0];
             if (o.lat == 0 || o.lng == 0) {
                app.editPoint = coordsToLatLng(o.loc_x,o.loc_y);
             } else {
                app.editPoint = new GLatLng(o.lat,o.lng); 
             }
            }    
            editEnemyStart();
}


function editEnemyStart() {

      var f = document.forms.Enemy;
      var m = app.currentMarker;
      var o = m.detailData.data[0];
      f.EnemyLocXY.value = app.editEnemyCoords;
      f.EnemyPoint.value = app.editPoint.toUrlValue(12);
      if (document.all) f.EnemyLocParentText.onkeyup = autoSuggest;
      f.EnemyLocParentText.onkeypress = autoSuggest;
      f.EnemyLocParentText.onfocus = autoSuggest;
         $('EnemyLocParentSpan').idField  =  f.EnemyLocParentID;
         $('EnemyLocParentSpan').textField = f.EnemyLocParentText;   
         displayInline($('EnemyLocParentSpan'));    
      f.EnemyUpdateID.value = o.object_id;
      f.EnemyUpdating.value = 1;
      f.EnemyButton.value = 'Update Enemy';
      f.EnemyLocParentID.value = o.location_id_parent;
      f.EnemyUpdateLocationID.value = o.location_id;
      displayNone(f.EnemyLocParentText);
      app.autoInput = f.EnemyLocParentText;
      displayInline($('EnemyGetNew'));
      $('EnemyLocParentSpan').innerHTML = m.data.parentName+'<img src=cancel.png class=Hand onclick=cancelLocation(this) style="padding-left: 3px">';
      f.EnemyTitle.value = o.title;
      f.EnemyClass.value = o["class"];
      f.EnemyType.value = o.type1;
      f.EnemyRace.value = o.type2;
      f.EnemyCombat.value = o.type3;
      f.EnemyStatus.value = o.type4;
      f.EnemyLevel.value = o.lvl;
      f.EnemyHP.value = o.hp;
      f.EnemyCoin.value = o.worth;
      f.EnemyDescript.value = o.descript;
      $('EnemyDropList').innerHTML = '';
       for (prop in m.detailData.drop) {
         f.EnemyDrop.value = m.detailData.drop[prop].title;
         enemyAddDrop();
       }      
      
      
      frontAndCenter($(app.addType+'Div'),800,500);
      displayBlock($(app.addType+'Div'));
}

function enemyAddDrop() {
   var f = document.forms.Enemy;
   var list = $('EnemyDropList');
   var inp = f.EnemyDrop;
   var v = inp.value.replace(/|/g,'');
   if (v == '') return false;
   var html = '<div><span>'+v+'</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=cancel.png class=Hand onclick=cancelEnemyDrop(this)></span></div>';
   list.innerHTML += html;
   inp.value = '';
}

function cancelEnemyDrop(o) {
   o.parentNode.parentNode.parentNode.removeChild(o.parentNode.parentNode);
}

