﻿// SearchControl.js
//
// Project Name:  CustomMapServer.dll 
// Module:        SearchResults class
//
// written by:  Mark Andrews 
// Origination Date: Jan 17, 2008
//
//
//  List of Functions:
//
//      HighlightFeature :: highlight or unhighlight a selected feature
//      PanTo            :: Pans to a selected feature
//      SelectAll        :: Highlights all the features in selection set
//      ZoomToAllSelected
//      ZoomToResourceFullExtent
//      UncheckSelected
// ************************************************************

function HighlightFeature(pos,resName,o)
  {
  
      if (resName == null)
        resName='Selection';
        
        
     //ShowLoading();  
     var message = 'ControlID=Map1&ControlType=Map&EventArg=HighlightFeature&position=' + pos + '&resourcename=' + resName;
	var context = 'Map1';            
	customPostBack(message,context);
	
	if (o!=null) {
	    if (o.innerHTML=="select") 
	        o.innerHTML="unselect";
	    else
	        o.innerHTML="select";
	 }
  }
  
function PanTo(pos, resName) {

    if (resName == null)
        resName = "Selection";

    //ShowLoading();  
    var message = 'ControlID=Map1&ControlType=Map&EventArg=panToFeature&position=' + pos + "&resourcename=" + resName;
    var context = 'Map1';            
	customPostBack(message,context);

}

 function SelectAll(resName) {

   //ShowLoading();  
    var message = 'ControlID=Map1&ControlType=Map&EventArg=SelectAll&resourcename=' + resName;
    var context = 'Map1';            
	customPostBack(message,context);
 }

function ZoomToSelected(resName) {
 
    //ShowLoading();  
    var message = 'ControlID=Map1&ControlType=Map&EventArg=ZoomToSelected&resourcename=' + resName;
    var context = 'Map1';            
	customPostBack(message,context);
 
 }
 
 function ZoomToResourceFullExtent(resName) {
 
    //alert(resName);
    //ShowLoading();  
    var message = 'ControlID=Map1&ControlType=Map&EventArg=ZoomToResourceFullExtent&resourcename=' + resName;
    var context = 'Map1';            
	customPostBack(message,context);
 
 }

  function ToggleHighlightedFeature(resName,graphicsID, e) {
    ShowLoading();
    
    var checked = !e.checked;
    
    var message = 'ControlID=Map1&ControlType=Map&EventArg=HighlightFeatureGraphic&GraphicsID=' + graphicsID + "&turnOn=" + checked + '&resourcename=' + resName;
	var context = 'Map1';            
	customPostBack(message,context);
   }
  
  function ToggleHighlightedFeatures(resName,e) {
    //ShowLoading();
   
    var checked = e;
    var message = "ControlID=Map1&ControlType=Map&EventArg=ToggleHighlightedFeatures&turnOn=" + checked + "&resourcename=" + resName;
	var context = 'Map1';            
	customPostBack(message,context);
  }
  

  function zoomToFeatureGraphic(graphicsID,resName) {
  
    if (resName == null)
        resName='Selection';
  
    var message = 'ControlID=Map1&ControlType=Map&EventArg=ZoomToHighlightedFeatureGraphic&resourcename=' + resName;
			message += '&graphicsid=' + graphicsID;
			var context = 'Map1';            
			customPostBack(message,context);
  }
  
  function panToFeatureGraphic(graphicsID,resName) {
  
      if (resName == null)
        resName='Selection';
  
    var message = 'ControlID=Map1&ControlType=Map&EventArg=PanToHighlightedFeatureGraphic&resourcename=' + resName;
			message += '&graphicsid=' + graphicsID;
			var context = 'Map1';            
			customPostBack(message,context);
  }
  
  function zoomtofeature(servicename, layername, graphicid)
  {  
     var message = 'ControlID=Map1&ControlType=Map&EventArg=zoomtofeature';
			message += '&servicename=' + servicename + '&layername' + layername + '&graphicsid' + graphicid;
			var context = 'Map1';            
			customPostBack(message,context);
  }
  
  function zoomtoenvelope(x1,y1,x2,y2,labeltext) {
     
     ShowLoading();  
     var message = 'ControlID=Map1&ControlType=Map&EventArg=bookmark';
			message += '&x1=' + x1 + '&y1=' + y1 + '&x2=' + x2 + '&y2=' + y2 + '&labeltext=' + labeltext;
			var context = 'Map1';         
			   
			customPostBack(message,context);
  }
  
   function zoomtolocation(x1,y1,scale,labeltext) {
       
     ShowLoading();
     var message = 'ControlID=Map1&ControlType=Map&EventArg=bookmarkxy';
			message += '&x1=' + x1 + '&y1=' + y1 + '&scale=' + scale + '&labeltext=' + labeltext;
			var context = 'Map1';         
			customPostBack(message,context);
  }
  
  function pantolocation(x1,y1,labeltext) {
        ShowLoading();
        var message = 'ControlID=Map1&ControlType=Map&EventArg=pantolocation';
		message += '&x1=' + x1 + '&y1=' + y1 + '&labeltext=' + labeltext;
		var context = 'Map1';         
		customPostBack(message,context);
  }
  

function backToSearchResults(prevTarget) {

        toggleLayerBlock("searchresults");
        toggleLayerBlock(prevTarget);
}

function ShowAttributes(target,ev,pos) {
    IdentifyTooltip.schedule(target,ev,pos);
}

function ShowAttributesInline(target,pos,graphicsid,resName)
{

        
        if (resName==null)
            resName="Selection";

 
        if (target==null) {
            target="searchresults-detailrecord";    
            toggleLayerBlock("searchresults");
            toggleLayerBlock("searchresults-detailrecord");
            replaceLayerContent(target, waitingHTML);
            target="dvresults";
            replaceLayerContent(target, waitingHTML);
        }
        else
        { 
            toggleLayerBlock("searchresults");
            toggleLayerBlock(target);
            replaceLayerContent(target, waitingHTML);
        }
        
      
        var message='ControlID=Map1&ControlType=Map&EventArg=IdentifySelection&position=' + pos + '&returnTo=' + target + '&resourcename=' + resName;
        message += "&GraphicsID=" + graphicsid;
	    var context = 'Map1';         
	    customPostBack(message,context);
	    return false;
}


function sortGrid(field,dir) {

    var message='ControlID=Map1&ControlType=Map&EventArg=sortgrid&fieldname=' + field + '&SortDirection=' + dir;
	var context = 'Map1';         
	customPostBack(message,context);
    return false;
}


function showDetail(id,layername,returnTo,resultsControlID) {

    var message = 'ControlID=Map1&ControlType=Map&EventArg=Detail&layerName=' + layername + '&ID=' + id;
    if (returnTo !=null)
        message += message + "&returnTo=" + returnTo;
       
    if (resultsControlID != null)
          message += message + "&ResultsID=" + resultsControlID;
    
    
    hideLayerBlock('dvresults');
    
	var context = 'Map1';            
	customPostBack(message,context);
}

function highlightDetail(id,resName)
{

    if (resName==null)
        resName="Selection";
        
    var message = 'ControlID=Map1&ControlType=Map&EventArg=HightlightDetail&resourceName=' + resName + '&ID=' + id;
	var context = 'Map1';            
	customPostBack(message,context);

}