
var identifyTask;
var identifyParams;
var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.5]));

var layerresults = [];
var finishedIdentify = true;
var IdentifyClickHandler = null;

function activateIdentify(){

        IdentifyClickHandler = dojo.connect(map, "onClick", doIdentify);
        SetMapCursor("help"); // in case came though hover activation  
			  identifyTask = new esri.tasks.IdentifyTask(mapserver);
			
			  identifyParams = new esri.tasks.IdentifyParameters();
			  identifyParams.tolerance = 3;
			  identifyParams.returnGeometry = true;
			  identifyParams.layerIds = [5,6,8,10,11,12,14];
			  identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
			
}

function disableIdentify() {
	    if(IdentifyClickHandler != null){    
        dojo.disconnect(IdentifyClickHandler);    
        IdentifyClickHandler = null;
    }
}
function doIdentify(evt) {
	if (finishedIdentify) {
	finishedIdentify=false;	
  dojo.byId("loadingImg").style.display ="block";
	map.graphics.clear();
  identifyParams.geometry = evt.mapPoint;
  identifyParams.mapExtent = map.extent;
  identifyTask.execute(identifyParams, function(idResults) { addToMap(idResults, evt); });
  SetMapCursor("help");
	}
}

function addToMap(idResults, evt) {

	for (var i=0; i<=15; i++) {
		switch(i) {
			case 5: case 6: case 8: case 10: case 11: case 12: case 14:
			  layerresults[i] = {displayFieldName:null,features:[]};
			  break;
		}
	}
  for (var i=0, il=idResults.length; i<il; i++) {
    var idResult = idResults[i];
    switch(idResult.layerId)
    {
			case 5: case 6: case 8: case 10: case 11: case 12: case 14:
	    	if (!layerresults[idResult.layerId].displayFieldName) {layerresults[idResult.layerId].displayFieldName = idResult.displayFieldName};
	      layerresults[idResult.layerId].features.push(idResult.feature);
	      break;
    }
  }
  
  	for (var i=0; i<=15; i++) {
		switch(i) {
			case 5: case 6: case 8: case 10: case 11: case 12: case 14:
			    dijit.byId("layerTab"+i).setContent(layerTabContent(layerresults[i],"layerresults["+i+"]",i));
			    break;			
		}
	}

		var mytabs = dojo.byId("mytabs");
		mytabs.style.display="block";
		dojo.byId("loadingImg").style.display ="none";
		finishedIdentify=true;
}

function layerTabContent(layerResults, layerName, layerindex) {

  var content = "";
  var attribs = [];
  var flds = [];
  var showfld = "";
  content = "<i>Total features returned: " + layerResults.features.length + "</i>";
	content += "<table border='1'>";
	if (layerResults.features.length>0) {
		var fcontents = layerResults.features[0].getContent();
		attribs = fcontents.split("<br/>");
	
	  for (var j=0, jl=attribs.length; j<jl; j++) {
	  var fld = attribs[j].split(" = ");
	  if (j==0) showfld=fld[0];	
	  content += "<th>" + fld[0] + "&nbsp;</th>";
	  flds.push(fld[0]);
		}
		content+="</tr>";
	  for (var i=0, il=layerResults.features.length; i<il; i++) {
	  	switch (layerindex) {
	  		case 6: case 11: case 12:
	    		content+="<tr><td>"+layerResults.features[i].attributes[showfld]+" </td>";
	  			break;
	  			
	  		default:
	    		content+="<tr><td>"+layerResults.features[i].attributes[showfld]+" <a href='javascript:showFeature(" + layerName + ".features[" + i + "]);'>(show)</a></td>";
	  }
	    for  (var j=1, jl=flds.length-1; j<jl; j++) {
	    content+="<td>"+layerResults.features[i].attributes[flds[j]]+"&nbsp;</td>";
	  	}
	  }
	  content+="</tr></table>";
	}
  return content;
}

function showFeature(feature) {
  map.graphics.clear();
  feature.setSymbol(symbol);
  map.graphics.add(feature);
}

