
function displayScreenshot(data) {
 if (app.options.screenshot) {
   for (var prop in data.screenshot) {
      var o = data.screenshot[prop];
      var min = 8;
      var max = 11;      
      if ($('onlyShowResults') && $('onlyShowResults').checked && !in_results('screenshot',o.object_id)) {
         if (app.markers.screenshot[o.object_id]) map.removeOverlay(app.markers.screenshot[o.object_id]);
         delete(app.markers.screenshot[o.object_id]);   
         continue; 
      }
      if (!app.markers.screenshot[o.object_id] && !(o.loc_x == 0 && o.loc_y == 0)) {
         if (map.getZoom() >= min && map.getZoom() <= max) {
            var icon = app.icons.screenshot;
            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 = 'Screenshot';
            m.title = jsonToText(o.title);
            m.isMarker = true;
            app.markers.screenshot[o.object_id] = m;
            map.addOverlay(app.markers.screenshot[o.object_id]);
         }
      } else if (app.markers.screenshot[o.object_id]) {
         if (map.getZoom() < min && map.getZoom() > max) {
            map.removeOverlay(app.markers.screenshot[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.screenshot[o.object_id]);     
      }   
      
   }   
 } else {
  hideMarkers('screenshot');  
 }
}

function screenshotInfo(o,m) {
       var coordsArry = coordsToText(o.data[0].loc_x,o.data[0].loc_y);
       var urlTitle = textToURL(o.data[0].title);       
       app.reportMenuCount++;
       $('ScreenshotInfo_'+m.type_id).innerHTML = '<div><table width=100%><tbody><tr><td width=65%></td><td width=35% class=aRight>'
       +'<a href=javascript:editScreenshot()>[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>'       
       +'<table><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>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>PermaLink</td><td class=infoField><a href=http://www.arda-online.com/map/?Screenshot:'+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 = 'Coming Soon...';
       //$('ScreenshotRelated_'+m.type_id).innerHTML = '<div class=infoEditBar><a href=javascript:editLocation()>[edit]</a> | <a href=\'#\' onclick=reportEntryMenu(this)>[report]</a><div class=Dnone></div></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++;
       $('ScreenshotScreenshot_'+m.type_id).innerHTML = '<div><table width=100%><tbody><tr><td width=65%></td><td width=35% class=aRight>'
       +'<a href=javascript:editScreenshot()>[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++;
       $('ScreenshotComments_'+m.type_id).innerHTML = '<div><table width=100%><tbody><tr><td width=65%></td><td width=35% class=aRight>'
       +'<a href=javascript:editScreenshot()>[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 addScreenshot() {
  // app.adding = true;
   app.addType = 'Screenshot';
   if (app.user_id == '0') {
      hideAllMenus();     
      frontAndCenter($(app.addType+'Div'),800,500);
      displayBlock($(app.addType+'Div'));
   } else {  
   app.addPath = 'addScreenshot.php';
   app.addStart = addScreenshotStart;
  // app.mapStatus.innerHTML = 'Click the map to add a '+app.addType+'...';
  // displayBlock(app.mapStatus);   
  // hideAllMenus();  
  app.currentMarker = null;
     resetForm('Screenshot');
    addScreenshotStart();   
   }
}

function addScreenshotStart() {

 //GEvent.removeListener(app.infoWindowListener);
  // if (!document.forms.Screenshot) {
   //   window.setTimeout('addScreenshotStart()',250);
   //} else {
   
   
   var f = document.forms.Screenshot;
     // f.ScreenshotLocXY.value = app.addCoords;
    //  f.ScreenshotPoint.value = app.addPoint.toUrlValue(12);      
      f.ScreenshotLocParentText.onkeyup = autoSuggest;
      f.ScreenshotLocParentText.onkeypress = autoSuggest;
      f.ScreenshotLocParentText.onfocus = autoSuggest;    
      hideAllMenus();     
      frontAndCenter($(app.addType+'Div'),800,500);
   displayBlock($(app.addType+'Div'));

}

function screenshotSuggest(q) {
	var d = new Date();
         app.autoSuggest.u = 'run/getLocation.php?q='+q+'&d='+d.valueOf();
         app.autoSuggest.returnFunc = getLocationReturn;
         app.autoSuggest.loading = $('ScreenshotLoading');
         app.autoSuggest.drop = $('ScreenshotLocParentDrop');
         app.autoSuggest.idField = document.forms.Screenshot.ScreenshotLocParentID;
         app.autoSuggest.span = $('ScreenshotLocParentSpan');  
         $('ScreenshotLocParentSpan').idField  =  document.forms.Screenshot.ScreenshotLocParentID;
         $('ScreenshotLocParentSpan').textField = document.forms.Screenshot.ScreenshotLocParentText;            
}

function submitScreenshot() {
   var f = document.forms['Screenshot'];
   if (!f.ScreenshotLocParentID.value.match(/[1-9][0-9]*/gi)) {
      alert('Please select a parent area!');
      f.ScreenshotLocParentText.focus();
      return false;
   }
   var v = f.ScreenshotTitle.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.ScreenshotTitle.focus();
      return false;
   }
   var v = f.ScreenshotImageCount.value;
   if (v == '' || v.match(/[^a-z0-9 '-]/gi)) {
      alert('Please upload your screenshot!');
      return false;
   }   
   var postText = preparePost(f);
   var url = 'run/addScreenshot.php?action=add';
   addPostMessage('Screenshot Submitted!');
   disableMe(f.ScreenshotButton);
   app.editButton = f.ScreenshotButton;
   getRequest(url,'POST',postText,submitScreenshotReturn);
}

function submitScreenshotReturn(responseText) {
   enableMe(app.editButton);
   if (!responseText) return false;
   var o = eval(responseText);
   if (o.status) {
      app.gettingScreenshot = 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.screenshot[app.currentMarker.type_id]) {
     
         map.removeOverlay(app.markers.screenshot[app.currentMarker.type_id]);
         delete(app.markers.screenshot[app.currentMarker.type_id]);
      }     
      app.currentMarker = null;
      app.options.screenshot = true;
      resetForm('Screenshot');
      $('f7').firstChild.src = 'on.png';
      app.resultToShow = id;
      app.showResult = true;  
      app.typeToShow = 'quest';    
      closeAddWindow($("QuestDiv"),true);
   } else {
     addPostMessage('Failed! '+o.error);
   }
}


function getScreenshotForEdit() {
   hideAllMarkers();
   $('mapStatus').innerHTML = 'Click for new Screenshot Location...'; 
   displayBlock($('mapStatus'));
   app.gettingLocation = true;
   
      map.closeInfoWindow();
      
   app.addType = 'Screenshot';
   app.addPath = 'addScreenshot.php';
   displayNone($(app.addType+'Div'));
   app.editFunction = setNewLocationScreenshot;
   $('map').firstChild.firstChild.style.cursor = 'crosshair';   
   
   
}
function setNewLocationScreenshot() {
   var f = document.forms.Screenshot;
   f.ScreenshotLocXY.value = app.editCoords;
   f.ScreenshotPoint.value = app.editPoint.toUrlValue(12);
   displayBlock($(app.addType+'Div'));
}

function editScreenshot(newLocation) {
    app.addType = 'Screenshot';
    resetForm('Screenshot');
    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.editScreenshotCoords = 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.editScreenshotCoords = 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); 
             }
            }  
           
           editScreenshotStart();
}


function editScreenshotStart() {

      var f = document.forms.Screenshot;
      var m = app.currentMarker;
      var o = m.detailData.data[0];
      f.ScreenshotLocXY.value = app.editScreenshotCoords;
      f.ScreenshotPoint.value = app.editPoint.toUrlValue(12);      
      f.ScreenshotLocParentText.onkeyup = autoSuggest;
      f.ScreenshotLocParentText.onkeypress = autoSuggest;
      f.ScreenshotLocParentText.onfocus = autoSuggest;
         $('ScreenshotLocParentSpan').idField  =  f.ScreenshotLocParentID;
         $('ScreenshotLocParentSpan').textField = f.ScreenshotLocParentText;   
         displayInline($('ScreenshotLocParentSpan'));       
      f.ScreenshotUpdateID.value = o.object_id;
      f.ScreenshotUpdating.value = 1;
      f.ScreenshotButton.value = 'Update Screenshot';
      f.ScreenshotLocParentID.value = o.location_id_parent;
      f.ScreenshotUpdateLocationID.value = o.location_id;
      displayNone(f.ScreenshotLocParentText);
      app.autoInput = f.ScreenshotLocParentText;
      displayInline($('ScreenshotGetNew'));
      $('ScreenshotLocParentSpan').innerHTML = m.data.parentName+'<img src=cancel.png class=Hand onclick=cancelLocation(this) style=\'padding-left: 3px\'>';
      f.ScreenshotTitle.value = o.title;
      f.ScreenshotDescript.value = o.descript;
      frontAndCenter($(app.addType+'Div'),800,500);
   displayBlock($(app.addType+'Div'));

}