
var http;
			  //[object ,ieleft,foxleft] for dropdown divs
var arDivLists=[["divStates","240","242"],
                ["divCities","240","282"],
                ["divStreets","278","296"],
                ["divStreetNums","278","296"]
               ]

var arStatusCodes = [[100,'Continue'],
					 [101,'Switching Protocols'],
					 [200,'OK'],
					 [201,'Created'],
					 [202,'Accepted'],
					 [203,'Non-Authoritative Information in header'],
					 [204,'No Content'],
					 [205,'Reset Content'],
					 [206,'Partial Content'],
					 [300,'Multiple Choices for Redirection'],
					 [301,'Moved Permanently'],
					 [302,'Found'],
					 [303,'See Other'],
					 [304,'Not Modified'],
					 [305,'Use Proxy'],
					 [306,'Unused'],
					 [307,'Temporary Redirect'],
					 [400,'Bad Request'],
					 [401,'Unauthorized'],
					 [402,'Payment Required'],
					 [403,'Forbidden'],
					 [404,'URL Not Found'],
					 [405,'Method Not Allowed'],
					 [406,'Not Acceptable'],
					 [407,'Proxy Authentication Required'],
					 [408,'Request Timeout'],
					 [409,'Conflict'],
					 [410,'Gone'],
					 [411,'Length Required'],
					 [412,'Precondition Failed'],
					 [413,'Request Entity Too Large'],
					 [414,'Request-URI Too Long'],
					 [415,'Unsupported Media Type'],
					 [416,'Requested Range Not Satisfiable'],
					 [417,'Expectation Failed'],
					 [500,'Internal Server Error'],
					 [501,'Not Implemented'],
					 [502,'Bad Gateway'],
					 [503,'Service Unavailable'],
					 [504,'Gateway Timeout'],
					 [505,'HTTP Version Not Supported']
					 ]

function GetCoordsFromLatLong(serviceName,latitudeDegrees,latitudeMinutes,latitudeSeconds,longitudeDegrees,longitudeMinutes,longitudeSeconds,latitudeDirection,longitudeDirection){
	
	var wsURL = 'http://TempURI.org/ArcIMSCommunicator/Request';
	
	var parms = '<ServiceName>' + serviceName + '</ServiceName>'
		parms +='<LatitudeDegrees>' + latitudeDegrees + '</LatitudeDegrees>'
        parms +='<LatitudeMinutes>' + latitudeMinutes + '</LatitudeMinutes>'
        parms +='<LatitudeSeconds>' + latitudeSeconds + '</LatitudeSeconds>'
        parms +='<LongitudeDegrees>' + longitudeDegrees + '</LongitudeDegrees>'
        parms +='<LongitudeMinutes>' + longitudeMinutes + '</LongitudeMinutes>'
		parms +='<LongitudeSeconds>' + longitudeSeconds + '</LongitudeSeconds>'
        parms +='<LongitudeDirection>' + longitudeDirection + '</LongitudeDirection>'
        parms +='<LatitudeDirection>' + latitudeDirection + '</LatitudeDirection>'
        
    var method = "GetUnprojectedCoordinates";
    
    //build method for server query
    var sXML = "<" + method + ">" + parms + "</" + method + ">"
    http = createRequestObject(webServiceURL,wsURL,method,sXML.length);
    //async anonymous function that will get called by browser
    //as events fire.
    http.onreadystatechange=function(){
		try{
			if (http.readyState == 4){
				if (http.status == 200){
    				var msg;
    				//var doc = http.responseXML.documentElement
    				var doc = zXmlDom.createDocument();
    				doc.async=false;
    				doc.loadXML(http.responseText);
    				var minx=doc.getElementsByTagName("minX")[0].firstChild.nodeValue;
    				var maxx=doc.getElementsByTagName("maxX")[0].firstChild.nodeValue;
    				var miny=doc.getElementsByTagName("minY")[0].firstChild.nodeValue;
    				var maxy=doc.getElementsByTagName("maxY")[0].firstChild.nodeValue;	    			
    				var extminx = getLastExtent(document.forms[0].txtXMin.value);
    				var extmaxx = getLastExtent(document.forms[0].txtXMax.value);
    				var extminy = getLastExtent(document.forms[0].txtYMin.value);
    				var extmaxy = getLastExtent(document.forms[0].txtYMax.value);
	    			//get center of return envelope
    				var x = (parseFloat(minx) + parseFloat(maxx))/2
    				var y = (parseFloat(miny) + parseFloat(maxy))/2;
    				var msg=""
	    			
    				if(parseFloat(x)<parseFloat(extminx) || parseFloat(x) > parseFloat(extmaxx)){
    					msg="-Longitude outside current view\n";
    				}
    				if(parseFloat(y)<parseFloat(extminy) || parseFloat(y) > parseFloat(extmaxy)){
    					msg+="-Latitude outside current view";
    				}	    			
    				if(msg.length>0){
    					msg = "Request Notice(s):\n" + msg
    					hideRetrieving()
    					alert(msg)
    					document.getElementById("btnGetAnno").disabled = false;
    					return;
    				}else{
    					//draw text on map
    					var newY = flipYMapCoord(y)
    					setAnnoByMapCoords(x,newY);
    					hideRetrieving()
    					document.getElementById("btnGetAnno").disabled = false;
    				}
    			}else{
  					var codes = arStatusCodes.length
  					for(i=0;i<codes;i++){
  						if(http.status==arStatusCodes[i][0]){
  							var doc = http.responseXML.documentElement;
  							if(!doc==null){
  								var faultString = doc.getElementsByTagName("faultstring")[0].firstChild.nodeValue
  								alert("Unable to process request:\n" + arStatusCodes[i][0] + ": " + arStatusCodes[i][1] + "\n" + faultString);
  							}else{
  								alert("Server Error(s):\n" + arStatusCodes[i][1])
  							}
  							hideRetrieving()
  							document.getElementById("btnGetAnno").disabled = false;
  							break;
  						}
  					}
  				}
  			}
  		}catch(ex){
  			hideRetrieving();
  			document.getElementById("btnGetAnno").disabled = false;
  			alert(ex.message)
  		}	
    }
    
    http.send(sXML);     
    return;        
}

function GetLatLongFromMapCoords(serviceName,mouseX,mouseY){
	
	var coordX = Get_Map_PointX(mouseX);
	var coordY = flipYMouseCoord(mouseY);
	
	var wsURL = 'http://TempURI.org/ArcIMSCommunicator/Request';
	
	var parms = '<ServiceName>' + serviceName + '</ServiceName>'
		parms +='<CoordX>' + coordX + '</CoordX>'
        parms +='<CoordY>' + coordY + '</CoordY>'
        
    var method = "GetMapLatLongFromMapCoordinates";
    
    //build method for server query
    //var sXML = "<" + method + ">" + parms + "</" + method + ">"
    var sXML = getSoapXML(wsURL,method,parms,serviceName)
    
    http = createRequestObject(latLongWebServiceURL,wsURL,method,sXML.length);
    //async anonymous function that will get called by browser
    //as events fire.
    http.onreadystatechange=function(){
		try{
			if (http.readyState == 4){
				if (http.status == 200){
    				var msg;
    				//var doc = http.responseXML.documentElement
    				var doc = zXmlDom.createDocument();
    				doc.async=false;
    				doc.loadXML(http.responseText);
    				var root = doc.documentElement
    				//have to make 2 labels for the coords
    				var newFirstX = Get_Map_PointX(startX+10)
    				var newFirstY = flipYMouseCoord(startY-5)
					var secondX = Get_Map_PointX(startX+10);
					var secondY = flipYMouseCoord(startY+12);
					var longDegrees=root.firstChild.firstChild.firstChild.childNodes[0].firstChild.nodeValue;
    				var longMinutes=root.firstChild.firstChild.firstChild.childNodes[1].firstChild.nodeValue;
    				var longSeconds=root.firstChild.firstChild.firstChild.childNodes[2].firstChild.nodeValue;
    				var latDegrees=root.firstChild.firstChild.firstChild.childNodes[3].firstChild.nodeValue;
    				var latMinutes=root.firstChild.firstChild.firstChild.childNodes[4].firstChild.nodeValue;
    				var latSeconds=root.firstChild.firstChild.firstChild.childNodes[5].firstChild.nodeValue;
    				var latitude =root.firstChild.firstChild.firstChild.childNodes[6].firstChild.nodeValue;
    				var longitude = root.firstChild.firstChild.firstChild.childNodes[7].firstChild.nodeValue;
	    			var latLongString='Lat/Long: ' + latDegrees + 'xB0 ' + ' ' + latMinutes + '\'' + ' ' + latSeconds + '" N, ' + longDegrees + 'xB0 ' + ' ' + longMinutes + '\'' + ' ' + longSeconds + '" W';
	    			var dmsString='DMS: ' + latitude + ',  ' + longitude;
	    			setAnnoString("Point","","0",startX,startY,"","");	
	    			setAnnoToHiddenField("longlat",latLongString,0,newFirstX,newFirstY,"","")
	    			setAnnoToHiddenField("longlat",dmsString,0,secondX,secondY,"","")
	    		}else{
  					var codes = arStatusCodes.length
  					for(i=0;i<codes;i++){
  						if(http.status==arStatusCodes[i][0]){
  							var doc = http.responseXML.documentElement;
  							if(!doc==null){
  								var faultString = doc.getElementsByTagName("faultstring")[0].firstChild.nodeValue
  								alert("Unable to process request:\n" + arStatusCodes[i][0] + ": " + arStatusCodes[i][1] + "\n" + faultString);
  							}else{
  								alert("Server Error(s):\n" + arStatusCodes[i][1])
  							}
  							hideRetrieving()
  							document.getElementById("btnGetAnno").disabled = false;
  							break;
  						}
  					}
  				}
  			}
  		}catch(ex){
  			hideRetrieving();
  			document.getElementById("btnGetAnno").disabled = false;
  			alert(ex.message)
  		}	
    }
    
    http.send(sXML);     
    return;        
}

function flipYMapCoord(y){
	var minY=getLastExtent(document.forms[0].txtYMin.value)
	var maxY=getLastExtent(document.forms[0].txtYMax.value)
	var diff = y-minY
	var newY = parseFloat(maxY)-Math.abs(parseFloat(diff))//parseFloat(minY)+Math.abs(parseFloat(diff))
	
	return newY	
}

function getSoapXML(wsURL,method,parms,serviceName){
	//initialize SOAP XML		
	var sSoapXML = "<?xml version='1.0' encoding='utf-8'?>"
        sSoapXML += "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>"		
        sSoapXML += "<soap:Body>";
		sSoapXML +="<" + method + " xmlns='" + wsURL + "'>";
		sSoapXML += parms;
        sSoapXML +="</" + method + ">";
		sSoapXML +="</soap:Body>";
        sSoapXML +="</soap:Envelope>";
        
     return sSoapXML ;             
}

function createRequestObject(webServiceURL,namespaceURL,method,contentLength) {
		
	try{ 
	   ///cancel previous request if it's still busy
		if(!http){
			http=zXmlHttp.createRequest();
		}else if(http.readyState!=0){
			http.abort();
		}
	
		if(http){
			http.open("POST",webServiceURL)	
			http.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
			http.setRequestHeader("Content-Length", contentLength);
			http.setRequestHeader("SOAPAction", namespaceURL + "/" + method);
		}
		    
		return http;
	
	}catch (ex){
			throw(ex);
	}
}

function getAddresses(searchType,state,city,street,number,listObject,targetObject){
	var wsURL = "http://tempuri.org/FOWebServices/AddressSearch";
	
	state +="";
	city +="";
	street +="";
	number +="";
	var i=0;
	hideAddressObjects();
	try{ 
		var addresses
		var method = "ADDRESS_SEARCH";	
		var sXML  = "<ADDRESS_SEARCH>";
		    sXML += "<SEARCH_TYPE>" + searchType + "</SEARCH_TYPE>";
		    sXML += "<STATE>" + state + "</STATE>";
		    sXML += "<CITY>" + city + "</CITY>"
		    sXML += "<STREET>" + street + "</STREET>"
		    sXML += "<NUMBER>" + number + "</NUMBER>"
			sXML += "</ADDRESS_SEARCH>";
			
		createRequestObject(AddressSearchWebServiceURL,wsURL,method,sXML.length,true);
		
		if(http){
			http.onreadystatechange=function(){
				try{
					if(http.readyState == 4){	
						if(http.status == 200){
							var doc = zXmlDom.createDocument();
							doc.async=false;
							doc.onreadystatechange=function(){
								if(doc.readyState==4){
									if(doc.parseError.errorCode==0){
										var sHTML=""
										var root = doc.documentElement
										address=root.text
										if(address.toUpperCase().indexOf("INVALID")>-1){
											hideAddressObject(listObject);
											alert(address);																							
											return;
										}
										if(address.length=0){
											hideAddressObject(listObject);
											alert("None listed");
											return;
										}
										addresses = address.split("~")
										if(addresses.length==0){
											hideListObject(listObject);
											alert("No match found");
										}else{
											theDiv = document.getElementById(listObject)
											var blnGotItem=false;
											if(isVML){
												for(var j=0;j<arDivLists.length;j++){
													if(theDiv.id.toUpperCase()==arDivLists[j][0].toUpperCase()){
														// theDiv.style.top=arDivLists[j][1];
														blnGotItem=true;
														break;
													}
												}
												// if(!blnGotItem){theDiv.style.top=248}
											}else{
												for(var j=0;j<arDivLists.length;j++){
													if(theDiv.id.toUpperCase()==arDivLists[j][0].toUpperCase()){
														// theDiv.style.top=arDivLists[j][2];
														blnGotItem=true;
														break;
													}
												}
												// if(!blnGotItem){theDiv.style.top=242}
											}
											// 06-28-07 boh - show object now to create perception of faster response time
											showAddressObject(listObject)										
											for(i=0;i<addresses.length;i++){
												sHTML += '<div id="divAddressItem' + i + '" class="addressListItem" '
												sHTML += 'onclick="setListItem(\'' + addresses[i].replace('\'','\\\'') + '\',\'' + targetObject + '\',\'' + listObject + '\')">' 
												sHTML += '' + addresses[i] + '</div>';
											}
										}
										theDiv.innerHTML = sHTML;
										with(theDiv){
											for(i=0;i<childNodes.length;i++){
												childNodes[i].onmouseover="hiLite(event)" //hiLite;
												childNodes[i].onmouseout="loLite(event)" //loLite;
											}
										}																						
										document.body.style.cursor="default";
										showAddressObject(listObject)
									}else{
										hideAddressObjects()
										var sEr = "XML Parse Error:\n" +
													"Description: " + doc.parseError.reason + "\n" +
													"Line: " + doc.parseError.line + "\n" +
													"Line Position: " + doc.parseError.linePos + "\n" +
													"Source Code: " + doc.parseError.srcText;
										alert(sEr);
													
									}
								}
													}
							doc.loadXML(http.responseText);
							
						}else{
							var codes = arStatusCodes.length;
							var doc = zXmlDom.createDocument;
							doc.loadXML(http.responseText)
							var faultString = doc.getElementsByTagName("faultstring")[0].firstChild.nodeValue;
							for(i=0;i<codes;i++){
								if(http.status==arStatusCodes[i][0]){
									alert("Unable to process request:\n" + arStatusCodes[i][0] + ": " + arStatusCodes[i][1] + "\n" + faultString);
								}
							}
						}
					}
					
				}catch(ex){
					alert(ex.message)
					hideAddressObjects()
				}		
			}
			document.body.style.cursor="wait";
			http.send(sXML);
		}else{
			document.body.style.cursor="default";
			alert("http object not created")
			
		}
	}catch(ex){
		document.body.style.cursor="hand";
		alert(ex.message);
	}    
}
function getLandmarks(service,landmarkType){
	var wsURL = "http://tempuri.org/FOWebServices/Landmarks";
	
	service +="";
	landmarkType +="";
	var i=0;
	try{ 
		var addresses
		var method = "LANDMARK_SEARCH";	
		var sXML  = "<QUERY>";
		    sXML += "<SERVICE>" + service + "</SERVICE>";
		    sXML += "<TYPE>" + type + "</TYPE>";
			sXML += "</QUERY>";
			
		createRequestObject(AddressSearchWebServiceURL,wsURL,method,sXML.length,true);
		
		if(http){
			http.onreadystatechange=function(){
				try{
					if(http.readyState == 4){	
						if(http.status == 200){
							var doc = zXmlDom.createDocument();
							doc.async=false;
							doc.onreadystatechange=function(){
								if(doc.readyState==4){
									if(doc.parseError.errorCode==0){
										var sHTML=""
										var root = doc.documentElement
										address=root.text
										if(address.toUpperCase().indexOf("INVALID")>-1){
											hideAddressObject(listObject);
											alert(address);																							
											return;
										}
										if(address.length=0){
											hideAddressObject(listObject);
											alert("None listed");
											return;
										}
										addresses = address.split("~")
										if(addresses.length==0){
											hideListObject(listObject);
											alert("No match found");
										}else{
											theDiv = document.getElementById(listObject)
											var blnGotItem=false;
											if(isVML){
												for(var j=0;j<arDivLists.length;j++){
													if(theDiv.id.toUpperCase()==arDivLists[j][0].toUpperCase()){
														theDiv.style.top=arDivLists[j][1];
														blnGotItem=true;
														break;
													}
												}
												if(!blnGotItem){theDiv.style.top=248}
											}else{
												for(var j=0;j<arDivLists.length;j++){
													if(theDiv.id.toUpperCase()==arDivLists[j][0].toUpperCase()){
														theDiv.style.top=arDivLists[j][2];
														blnGotItem=true;
														break;
													}
												}
												if(!blnGotItem){theDiv.style.top=242}
											}
											for(i=0;i<addresses.length;i++){
												sHTML += '<div id="divAddressItem' + i + '" style="height:16;font-size:12px" class="addressListItem" '
												sHTML += 'onclick="setListItem(\'' + addresses[i] + '\',\'' + targetObject + '\',\'' + listObject + '\')">' 
												sHTML += addresses[i] + '</div>';
											}
										}
										theDiv.innerHTML = sHTML;
										with(theDiv){
											for(i=0;i<childNodes.length;i++){
												childNodes[i].onmouseover="hiLite(event)" //hiLite;
												childNodes[i].onmouseout="loLite(event)" //loLite;
											}
										}																						
										document.body.style.cursor="default";
										showAddressObject(listObject)
									}else{
										hideAddressObjects()
										var sEr = "XML Parse Error:\n" +
													"Description: " + doc.parseError.reason + "\n" +
													"Line: " + doc.parseError.line + "\n" +
													"Line Position: " + doc.parseError.linePos + "\n" +
													"Source Code: " + doc.parseError.srcText;
										alert(sEr);
													
									}
								}
													}
							doc.loadXML(http.responseText);
							
						}else{
							var codes = arStatusCodes.length;
							var doc = zXmlDom.createDocument;
							doc.loadXML(http.responseText)
							var faultString = doc.getElementsByTagName("faultstring")[0].firstChild.nodeValue;
							for(i=0;i<codes;i++){
								if(http.status==arStatusCodes[i][0]){
									alert("Unable to process request:\n" + arStatusCodes[i][0] + ": " + arStatusCodes[i][1] + "\n" + faultString);
								}
							}
						}
					}
					
				}catch(ex){
					alert(ex.message)
					hideAddressObjects()
				}		
			}
			document.body.style.cursor="wait";
			http.send(sXML);
		}else{
			document.body.style.cursor="default";
			alert("http object not created")
			
		}
	}catch(ex){
		document.body.style.cursor="hand";
		alert(ex.message);
	}    
}

function GetAdvancedSearchFieldList(userName,serviceName,layerName){
	var wsURL = "http://tempuri.org/FOWebServices/AdvSearchLayers";
	var i=0;
	var ddl = document.forms[0].ddlAdvSearchLayers;
	
	try{		
		var addresses
		var method = "ADVANCED_SEARCH";	
		var sXML  = "<" + method + ">";
			sXML += "<USER_NAME>" + userName + "</USER_NAME>";
			sXML += "<SERVICE_NAME>" + serviceName + "</SERVICE_NAME>";
			sXML += "<LAYER_NAME>" + layerName + "</LAYER_NAME>"
			sXML += "</" + method + ">";
			
		createRequestObject(AdvancedSearchWebServiceURL,wsURL,method,sXML.length,true);
		
		if(http){
			http.onreadystatechange=function(){
				try{
					if(http.readyState == 4){	
						if(http.status == 200){
							var doc = zXmlDom.createDocument();
							doc.async=false;
							doc.onreadystatechange=function(){
								if(doc.readyState==4){
									if(doc.parseError.errorCode==0){																						
										var sHTML=""
										var root = doc.documentElement
										var fieldList=root.text
										if(fieldList.toUpperCase().indexOf("INVALID")>-1){
											unloadSearchLayerList(ddl);
											alert(fieldList);																							
											return;
										}
										if(fieldList.length=0){
											unloadSearchLayerList(ddl)
											alert("None listed");
											return;
										}
										listItems = fieldList.split("~")
										if(listItems.length==0){
											unloadSearchLayerList(ddl)
											alert("No match found");
										}else{
											var blnGotItem=false;
											i=-1;
											var li, id, liName,dataType, displayType, fieldName
											var ddlFields = document.forms[0].ddlFieldName
											ddlFields.innerHTML="";
											//PARSE	THE RETURN DATA INTO THE DROPDOWN ITEMS
											//row("LinkedFieldID") + "::" + row("FieldDescription") + "::" + row("DataType") + "::" + row("FieldExpression") + "~"
											var items
											for(i=0;i<listItems.length;i++){
												li = listItems[i];
												//split into array
												items= li.split("::")
												//read each index into properties
												id = items[0];
												liName = items[1];
												dataType = items[2];
												fieldName = items[3];
												//populate new option in fields dropdown																					
												liField = document.createElement("OPTION");
												// id used for server search
												// dataType used for client-side validation
												liField.value=id + "::" + dataType + "::" + fieldName;
												liField.text=liName;
												ddlFields.options.add(liField);
											}																							
										}
										
										document.body.style.cursor="default";
									}else{
										//unloadSearchLayerList(ddl)
										var sEr = "XML Parse Error:\n" +
													"Description: " + doc.parseError.reason + "\n" +
													"Line: " + doc.parseError.line + "\n" +
													"Line Position: " + doc.parseError.linePos + "\n" +
													"Source Code: " + doc.parseError.srcText;
										alert(sEr);
													
									}
								}
							}
							doc.loadXML(http.responseText);
							
						}else{
							var codes = arStatusCodes.length;
							var doc = zXmlDom.createDocument;
							doc.loadXML(http.responseText)
							var faultString = doc.getElementsByTagName("faultstring")[0].firstChild.nodeValue;
							for(i=0;i<codes;i++){
								if(http.status==arStatusCodes[i][0]){
									alert("Unable to process request:\n" + arStatusCodes[i][0] + ": " + arStatusCodes[i][1] + "\n" + faultString);
								}
							}
						}
					}
					
				}catch(ex){
					alert(ex.message)
					unloadSearchLayerList(ddl)
				}		
			}
			document.body.style.cursor="wait";
			http.send(sXML);
		}else{
			document.body.style.cursor="default";
			alert("http object not created")
			
		}
	}catch(ex){
		document.body.style.cursor="hand";
		alert(ex.message);
	}    
}

//  THIS IS FOR THE PARCEL SEARCH DROPDOWNS
function getMBLU(queryType,targetObject,listObject){
	var wsURL = "http://tempuri.org/FOWebServices/ParcelSearch";
	var i=0;
	hideAddressObjects();
	if(document.getElementById(targetObject).style.display=="block"){
		document.getElementById(targetObject).style.display="none";
		return;
	}
	
	var map,block,lot,unit
	
	if (document.forms[0].txtMap != undefined) {
		map = document.forms[0].txtMap.value;
	} else {
		map = ""
	}
	
	if (document.forms[0].txtBlock != undefined) {
		block = document.forms[0].txtBlock.value;
	} else {
		block = ""
	}
	
	if (document.forms[0].txtLot != undefined) {
		lot = document.forms[0].txtLot.value;
	} else {
		lot = ""
	}
	
	if (document.forms[0].txtUnit != undefined) {
		unit = document.forms[0].txtUnit.value;
	} else {
		unit = ""
	}
	
	try{ 
		var mBLUs,mblu
		var method = "PARCEL_SEARCH";	
		var sXML  = "<PARCEL_SEARCH>";
			sXML += "<QUERY>" + queryType + "</QUERY>"
		    sXML += "<MAP>" + map + "</MAP>";
		    sXML += "<BLOCK>" + block + "</BLOCK>";
		    sXML += "<LOT>" + lot + "</LOT>"
		    sXML += "<UNIT>" + unit + "</UNIT>"
			sXML += "</PARCEL_SEARCH>";
			
		createRequestObject(parcelSearchWebServiceURL,wsURL,method,sXML.length,true);
		
		if(http){
			http.onreadystatechange=function(){
				try{
					if(http.readyState == 4){	
						if(http.status == 200){
							var doc = zXmlDom.createDocument();
							doc.async=false;
							doc.onreadystatechange=function(){
								if(doc.readyState==4){
									if(doc.parseError.errorCode==0){
										var sHTML=""
										var root = doc.documentElement
										mblu=root.text
										if(mblu.toUpperCase().indexOf("INVALID")>-1){
											hideAddressObject(listObject);
											alert(mblu);																							
											return;
										}
										if(mblu.length=0){
											hideAddressObject(listObject);
											alert("None listed");
											return;
										}
										mBLUs = mblu.split("~")
										if(mBLUs.length==0){
											hideListObject(listObject);
											alert("No match found");
										}else{
											theDiv = document.getElementById(listObject)
											var blnGotItem=false;
											if(isVML){
												for(var j=0;j<arDivLists.length;j++){
													if(theDiv.id.toUpperCase()==arDivLists[j][0].toUpperCase()){
														theDiv.style.top=arDivLists[j][1];
														blnGotItem=true;
														break;
													}
												}
												//if(!blnGotItem){theDiv.style.top=248}
											}else{
												for(var j=0;j<arDivLists.length;j++){
													if(theDiv.id.toUpperCase()==arDivLists[j][0].toUpperCase()){
														theDiv.style.top=arDivLists[j][2];
														blnGotItem=true;
														break;
													}
												}
												//if(!blnGotItem){theDiv.style.top=242}
											}
											for(i=0;i<mBLUs.length;i++){
												sHTML += '<div id="divAddressItem' + i + '" style="cursor:hand" class="addressListItem" '
												sHTML += 'onclick="setListItem(\'' + mBLUs[i] + '\',\'' + targetObject + '\',\'' + listObject + '\')">' 
												sHTML += mBLUs[i] + '</div>';
											}
										}
										theDiv.innerHTML = sHTML;
										for(i=0;i<theDiv.childNodes.length;i++){
											theDiv.childNodes[i].onmouseover=hiLite
											theDiv.childNodes[i].onmouseout=loLite
										}
										document.body.style.cursor="default";
										showAddressObject(listObject)
									}else{
										hideAddressObjects()
										var sEr = "XML Parse Error:\n" +
													"Description: " + doc.parseError.reason + "\n" +
													"Line: " + doc.parseError.line + "\n" +
													"Line Position: " + doc.parseError.linePos + "\n" +
													"Source Code: " + doc.parseError.srcText;
										alert(sEr);
													
									}
								}
							}
							doc.loadXML(http.responseText);
							
						}else{
							var codes = arStatusCodes.length;
							var doc = zXmlDom.createDocument;
							doc.loadXML(http.responseText)
							var faultString = doc.getElementsByTagName("faultstring")[0].firstChild.nodeValue;
							for(i=0;i<codes;i++){
								if(http.status==arStatusCodes[i][0]){
									alert("Unable to process request:\n" + arStatusCodes[i][0] + ": " + arStatusCodes[i][1] + "\n" + faultString);
								}
							}
						}
					}
					
				}catch(ex){
					alert(ex.message)
					hideAddressObjects()
				}		
			}
			document.body.style.cursor="wait";
			http.send(sXML);
		}else{
			document.body.style.cursor="default";
			alert("http object not created")
			
		}
	}catch(ex){
		document.body.style.cursor="hand";
		alert(ex.message);
	}    
}


