	var createDrillPage = false;
	var replyArray = new Array();
	var sendStats = false;
	var fieldStat = '';
	var theMin = 0;
	var theMax = 0;
    var theString;
	
	var fID = 0;
	var fEast;
	var fWest;
	var fSouth;
	var fNorth;
	var overlay = false;
	
function doDrill(theReply) {
    //drill tool loop sequence
   replyArray[fID] = theReply;
   fID++;
   if (fID < (LayerID.length-2)) {
	var theString = writeGetFeatures4(fID,drillleft,drillbottom,drillright,drilltop);
		sendToServer(imsQueryURL,theString,1666);
   }
   if (fID == (LayerID.length-2)) {
    fID = 0;
	createDrillPage = false;
	//replyArray.reverse();
			ActiveLayerIndex=dblayer;
			ActiveLayer=LayerID[dblayer];
			ActiveLayerType=LayerType[dblayer];
			ActiveLayerIndex=dblayer;
			setActiveLayer(dblayer);
	displayAttributeDataforDrill(replyArray);
   }
}  //end doDrill()

function drillIdentify(e) {
	highlightedOne="";
	var searchTolerance = (xDistance/iWidth) * pixelTolerance;
	var theString = writeGetFeatures4(fID,drillleft,drillbottom,drillright,drilltop);
	//alert(theString);
	showRetrieveData();
	sendToServer(imsQueryURL,theString,1666);
}

// write XML to identify features for drill ID
function writeGetFeatures4(layer,west1,south1,east1,north1) {
	if (swapSelectFields) {
		selectFields=selFieldList[layer];
	}
			ActiveLayerIndex=layer;
			ActiveLayer=LayerID[layer];
			ActiveLayerType=LayerType[layer];
			ActiveLayerIndex=layer;
			setActiveLayer(layer);
	var theEnvelope = 'maxy="' + north1 + '" maxx="' + east1 + '" miny="' + south1 + '" minx="' + west1 + '"';
	var theString = writeIdentifyDrillXML(ActiveLayer,ActiveLayerType,selectFields,theEnvelope,useLimitExtent);
	selectLayer=ActiveLayer;
	selectType=ActiveLayerType;
	selectCount=0;
	hightlightedOne="";
	selectPoints.length=1;
	selectLeft.length=1;
	selectRight.length=1;
	selectTop.length=1;
	selectBottom.length=1;
	return theString;
}

function pullValue (theStr, theList) {
  var theval="";
  var theindex=-1;
  var thelen=0;
  var thenum=0;
  var theright=0;

  thelst = theList.split("|");
  
  for (var i=0;i < thelst.length; i++) {
     theval = thelst[i];
     theindex = theval.indexOf(theStr, 0);
     //alert (theindex);
     if (theindex != -1)
        {                  
           thelen = theval.length;
           thenum = theval.indexOf (":", 0);
           theright = theval.substr(thenum + 1, (thelen - thenum));
           return theright;
  	}
  }
   //gets out and not found
   return "";
}

// parse XML response for drill functions
function displayAttributeDataforDrill(theReplyArray) {
//alert(theReplyArray);
   showRetrieveData();
			Win1 = parent.TOCFrame;
			Win1.document.open();
		Win1.document.open();
		Win1.document.writeln('<html><head><title>Query/Selection Results</title></head>');
		Win1.document.writeln('<body background="images/ColumbiaBack.png" text="Black" link="Black" vlink="Black" LEFTMARGIN=0 onload="window.focus()"><center>');
 for (b=0;b<(theReplyArray.length);b++) {
	theReply = theReplyArray[b];
	//alert(theReply);
	setLayerFields(b);
	var theError = getXMLErrorMessage(theReply);
	var fList="";
	var lpos1 = 1;
	var lpos2 = 1;
	var epos = 1;
	var spos = 1;
	var morePoints=true;
	var moreFeatures=true;
	var featureCount = justGetFeatureCount(theReply);
	//alert(featureCount);
	var pos = 0;
	var startpos = 0;
	var endpos = xmlEndPos;
	var stillMore = false
	pos = theReply.indexOf('hasmore="true"',endpos);
	if (pos!=-1) stillMore = true;
	pos=0;
	var tempCount = 0;
	var selectedData="";
	var inData="";
	var xStr="";
	var yStr="";
	var eNorth="";
	var eSouth="";
	var eWest="";
	var eEast="";
	var fCount = featureCount;
	//alert("displayAttributeData()[featurecount=" + featureCount + "]");
	selectCount = 0;
	var tempString="";
	//var Win1 = parent.TextFrame;
	var theFrame = "parent.MapFrame";
	var bgcol = "#F2F2F2";
	if (featureCount > 0) {
		newSelectCount += 1;
		endpos = 1;
//	Win1.document.writeln('<center><br><FONT FACE="Arial" SIZE="-1"><b>' + LayerName[b] + '</b><br>');
	Win1.document.writeln('<br><table border="1" width="95%" size="95%" cellspacing="0" cellpadding="2"><tr bgcolor="#6699CC"><td><FONT FACE="Arial" SIZE="-1"><b>' + LayerName[b] + '</b></td></tr></font></table>');
	Win1.document.writeln('<table border="1" width="95%" size="95%" cellspacing="0" cellpadding="2" nowrap background="Images/stucco.gif">');						
		for (var i=0;i<fCount;i++) {

			inData = parseRecordString(theReply, endpos);
			endpos = xmlEndPos;
			selectedData = clearLeadingSpace(inData);
			
			epos = theReply.indexOf("</FEATURE",endpos);
			if (showSelectedData) {
				//alert("2\n" + selectedData);
				var showHyper = false;
				if (hyperLinkLayers!=null) {
					for (var s1=0;s1<hyperLinkLayers.length;s1++) {
						if (hyperLinkLayers[s1] == LayerName[b]) showHyper=true;
					}
				}
					
				var fName1 = getFieldNames(selectedData);
				var fValue1 = getFieldValues(selectedData);
				  selectPoints[selectCount] = getIdValue(fName1, fValue1);
					for (var f=0;f<fName1.length-2;f++) {
						var f2 = -1;
						if (useFieldAlias) {
							for (var f3=0;f3<AliasFieldName.length;f3++) {
								if (AliasFieldName[f3]==fName1[f]) f2 = f3;
							}
						}
						if(bgcol == "#D2D2D2"){
							bgcol = "#F2F2F2"
						}else{
							bgcol = "#D2D2D2"
						}
						if (f2!=-1) {
							Win1.document.write('<tr bgcolor='+bgcol+'><td><FONT FACE="Arial" SIZE="1">' + AliasFieldAlias[f2] + ':</td><td>' + fValue1[f] + '</td></tr></FONT>');
						}else{
							Win1.document.write('<tr bgcolor='+bgcol+'><td><FONT FACE="Arial" SIZE="1">' + fName1[f] + ':</td><td>' + fValue1[f] + '</td></tr></FONT>');
						}
					}
				for (var f=0;f<fName1.length;f++) {	
					if (XMLMode==2002) {
						if (multiselect==""){
							multiselect += fValue1[f];
						} else {
							multiselect = multiselect + "','" + fValue1[f];
						}
						multiarray[multicount]= fValue1[f];
						multicount += 1;
					}
				}
				fName1 = null;
				fValue1 = null;
			}
			selectCount += 1;				
		}

	} else {

        //Win1.document.writeln('<FONT FACE="Arial" SIZE="-1"><b>' + LayerName[b] + '</b>');
		//Win1.document.writeln('<br>No Features Found.<br><br></font>');
	}
     Win1.document.writeln('</table>');
  }//end for
	Win1.document.writeln('<br><br><input type="Button" name="List" value="Return to Layer List" onmousedown="goList();">');
	Win1.document.writeln('<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">');
	Win1.document.writeln('function goList(){');
	Win1.document.writeln('parent.TOCFrame.location=parent.MapFrame.appDir+"toc.htm";');
	Win1.document.writeln('}');
	Win1.document.writeln('</script>');
    Win1.document.writeln('</center></body></html>');
    Win1.document.close();
    Win1=null;
    hideRetrieveData();
} //end function

