﻿// JScript File
// KCGIS Center 10/28/2008

function zoomToFeature(objectid, layerID) {

    var queryServiceName = dynamicAlertsURL + "/";
    var taskString = queryServiceName + layerID;
    queryTask = new esri.tasks.QueryTask(taskString);
    queryParams = new esri.tasks.Query();
    queryParams.where = "OBJECTID = '" + objectid + "'"; 
    queryParams.outFields = ["OBJECTID"]; 
    queryParams.returnGeometry = true;
console.log('zoomToFeature ' + queryParams.where)
    queryTask.execute(queryParams, viewResults);
}



function zoomToClosure(closureID, layerID) {

    var queryServiceName = dynamicAlertsURL + "/";
    var taskString = queryServiceName + layerID;
    queryTask = new esri.tasks.QueryTask(taskString);
    queryParams = new esri.tasks.Query();
    queryParams.where = "GlobalID = '" + closureID + "'"; 
    queryParams.outFields = ["GlobalID"]; 
    queryParams.returnGeometry = true;
console.log('zoomToClosure ' + queryParams.where);
    queryTask.execute(queryParams, viewResults);

}

function viewResults(featureSet) {
    var extent;
    var idPoint = featureSet.features[0].geometry.getPoint(0, 0);
    identifyParams.layerIds = [0,1];
    extent = featureSet.features[0].geometry.getExtent();
    extentCenter = extent.getCenter();   
console.log("Inside viewResults(featureSet)");
    //extent = extent.expand(4);
    //map.setExtent(extent);
    map.centerAndZoom(extentCenter,3);
console.log("mapLevel: " + map.getLevel());
    //setTimeout(function() {console.log("delayed mapLevel: " + map.getLevel()); }, 500);
    //setTimeout(function() {adjustMapLevel(); }, 600);   
    //doIdentifyProg(idPoint);  // Without a delay, the infoWindow will likely appear in the wrong place on the screen
    setTimeout(function() {doIdentifyProg(idPoint); }, 1200);   // calls an Identify function on a delay to display the infoWindow    
}

function adjustMapLevel(){
// this function is used to make sure the map doesn't zoom in too far on a feature
    if (map.getLevel() > 5){
        map.setLevel(5);
    }    
}