try{var testCommons=new MQObject();testCommons=null}catch(error){throw"You must include mqcommon.js or toolkit api script prior to mqexec.js."}function MQExec(F,L,H,E,K,D){var G;var A;var I;var N;var C;var B;var J;var M="";if(typeof F=="string"){G=F||"localhost";A=L||"mq";I=H||80;N=K||"";C=E||"";B=D||0;J=0}else{if(F.getClassName()&&F.getClassName()=="MQExec"){G=F.getServerName();A=F.getServerPath();I=F.getServerPort();C=F.getProxyServerName();B=F.getProxyServerPort();N=F.getProxyServerPath();J=F.m_lSocketTimeout}}this.setServerName=function(O){G=O};this.getServerName=function(){return G};this.setServerPath=function(O){A=O};this.getServerPath=function(){return A};this.setServerPort=function(O){I=O};this.getServerPort=function(){return I};this.setProxyServerName=function(O){C=O};this.getProxyServerName=function(){return C};this.setProxyServerPath=function(O){N=O};this.getProxyServerPath=function(){return N};this.setProxyServerPort=function(O){B=O};this.getProxyServerPort=function(){return B};this.setTransactionInfo=function(O){if(O.length>32){M=O.substring(0,32)}else{M=O}};this.getTransactionInfo=function(){return M}}MQExec.prototype.ROUTE_VERSION="2";MQExec.prototype.SEARCH_VERSION="0";MQExec.prototype.GEOCODE_VERSION="1";MQExec.prototype.ROUTEMATRIX_VERSION="0";MQExec.prototype.GETRECORDINFO_VERSION="0";MQExec.prototype.REVERSEGEOCODE_VERSION="0";MQExec.prototype.GETSESSION_VERSION="1";MQExec.prototype.getRequestXml=function(F,E,B){var D=new Array();var A=B||"0";D.push('<?xml version="1.0" encoding="ISO-8859-1"?>\n');D.push("<"+F+' Version="'+A+'">\n');for(var C=0;C<E.length;C++){D.push(E[C].saveXml());D.push("\n")}D.push("</"+F+">");return D.join("")};MQExec.prototype.doTransaction=function(H,D,B){var E;var C;var G=mqXMLHttpRequest();var F="";D.push(new MQAuthentication(this.getTransactionInfo()));var A=this.getRequestXml(H,D,B);if(this.getProxyServerName()!=""){F+="http://"+this.getProxyServerName();if(this.getProxyServerPort()!=0){F+=":"+this.getProxyServerPort()}F+="/"}F+=this.getProxyServerPath();F+="?sname="+this.getServerName();F+="&spath="+this.getServerPath();F+="&sport="+this.getServerPort();display("mqXmlLogs","Request URL: ",F,"rURL","mqDisplay");display("mqXmlLogs","Request XML: ",A,"","mqDisplay");G.open("POST",F,false);G.send(A);if(G.status==200){E=G.responseXML}else{alert("HTTP Status: "+G.status+" ("+G.statusText+")\nDetails: \n"+G.responseText);E=null}display("mqXmlLogs","Response XML: ",mqXmlToStr(E),"resXML","mqDisplay");return E};MQExec.prototype.geocode=function(B,F,E){var C;var D;var A=new Array();if(B==null||(B.getClassName()!=="MQAddress"&&B.getClassName()!=="MQSingleLineAddress")){throw"Null or Illegal Argument passed for MQAddress"}else{A.push(B)}if(F==null||F.getClassName()!=="MQLocationCollection"){throw"Null or Illegal Argument passed for MQLocationCollection"}if(E!=null){if(E.getClassName()!=="MQAutoGeocodeCovSwitch"&&E.getClassName()!=="MQGeocodeOptionsCollection"){throw"Illegal Argument passed for Geocode Options"}else{A.push(E)}}mqLogTime("MQExec.geocode: Transaction Start");C=this.doTransaction("Geocode",A,this.GEOCODE_VERSION);mqLogTime("MQExec.geocode: Transaction End");mqLogTime("MQExec.geocode: Loading of GeocodeResponse Start");D=mqXmlToStr(mqGetNode(C,"/GeocodeResponse/LocationCollection"));F.loadXml(D);mqLogTime("MQExec.geocode: Loading of GeocodeResponse End");display("results","Response",mqXmlToStr(C),"","mqDisplay")};MQExec.prototype.batchGeocode=function(F,A,E){var C;var D;var B=new Array();if(F==null||F.getClassName()!=="MQLocationCollection"){throw"Null or Illegal Argument passed for MQLocationCollection"}else{B.push(F)}if(A==null||A.getClassName()!=="MQLocationCollectionCollection"){throw"Null or Illegal Argument passed for MQLocationCollectionCollection"}if(E!=null){if(E.getClassName()!=="MQAutoGeocodeCovSwitch"&&E.getClassName()!=="MQGeocodeOptionsCollection"){throw"Illegal Argument passed for Geocode Options"}else{B.push(E)}}mqLogTime("MQExec.batchGeocode: Transaction Start");
C=this.doTransaction("BatchGeocode",B,this.GEOCODE_VERSION);mqLogTime("MQExec.batchGeocode: Transaction End");mqLogTime("MQExec.batchGeocode: Loading of GeocodeResponse Start");D=mqXmlToStr(mqGetNode(C,"/BatchGeocodeResponse/LocationCollectionCollection"));A.loadXml(D);mqLogTime("MQExec.batchGeocode: Loading of GeocodeResponse End");display("results","Response",mqXmlToStr(C),"","mqDisplay")};MQExec.prototype.doRoute=function(B,F,G,A,E){var I;var H;var D=new Array();if(B==null||B.getClassName()!=="MQLocationCollection"){throw"Null or Illegal Argument passed for MQLocationCollection"}else{D.push(B)}if(F==null||F.getClassName()!=="MQRouteOptions"){throw"Null or Illegal Argument passed for MQRouteOptions"}else{D.push(F)}if(G==null||G.getClassName()!=="MQRouteResults"){throw"Null or Illegal Argument passed for MQRouteResults"}else{var C=A||"";D.push(new MQXmlNodeObject("SessionID",C))}mqLogTime("MQExec.doRoute: Transaction Start");I=this.doTransaction("DoRoute",D,this.ROUTE_VERSION);mqLogTime("MQExec.doRoute: Transaction End");mqLogTime("MQExec.doRoute: Loading of RouteResults Start");H=mqXmlToStr(mqGetNode(I,"/DoRouteResponse/RouteResults"));G.loadXml(H);mqLogTime("MQExec.doRoute: Loading of RouteResults End");display("results","Response",mqXmlToStr(I),"","mqDisplay");if(E!==null&&C!==""){this.getRouteBoundingBoxFromSessionResponse(C,E)}};MQExec.prototype.createSessionEx=function(C){var B;var D;var A=new Array();if(C==null||C.getClassName()!=="MQSession"){throw"Null or Illegal Argument passed for MQSession"}else{A.push(C)}B=this.doTransaction("CreateSession",A);D=mqGetNodeText(mqGetNode(B,"/CreateSessionResponse/SessionID"));return D};MQExec.prototype.getSession=function(B,A){var D;var F;var E=B||"";var C=new Array();C.push(new MQXmlNodeObject("SessionID",E));D=this.doTransaction("GetSession",C,this.GETSESSION_VERSION);if(A.getClassName()==="MQMapState"){F=mqXmlToStr(mqGetNode(D,"/GetSessionResponse/Session/MapState"));A.loadXml(F)}else{if(A.getClassName()==="MQSession"){F=mqXmlToStr(mqGetNode(D,"/GetSessionResponse/Session"));A.loadXml(F)}}};MQExec.prototype.doRouteMatrix=function(H,D,C,G){var E;var F;var B=new Array();if(H==null||H.getClassName()!=="MQLocationCollection"){throw"Null or Illegal Argument passed for MQLocationCollection"}else{B.push(H)}if(D==null||typeof D!="boolean"){throw"Null or Illegal Argument passed for bAllToAll"}else{var A=D?1:0;B.push(new MQXmlNodeObject("AllToAll",A))}if(C==null||C.getClassName()!=="MQRouteOptions"){throw"Null or Illegal Argument passed for MQRouteOptions"}else{B.push(C)}if(G==null||G.getClassName()!=="MQRouteMatrixResults"){throw"Null or Illegal Argument passed for MQRouteMatrixResults"}mqLogTime("MQExec.doRoute: Transaction Start");E=this.doTransaction("DoRouteMatrix",B,this.ROUTEMATRIX_VERSION);mqLogTime("MQExec.doRoute: Transaction End");mqLogTime("MQExec.doRoute: Loading of RouteResults Start");F=mqXmlToStr(mqGetNode(E,"/DoRouteMatrixResponse/RouteMatrixResults"));G.loadXml(F);mqLogTime("MQExec.doRoute: Loading of RouteResults End");display("results","Response",mqXmlToStr(E),"","mqDisplay")};MQExec.prototype.getRecordInfo=function(B,D,G,C){var I;var H;var F=new Array();if(B==null||B.getClassName()!=="MQStringCollection"){throw"Null or Illegal Argument passed for MQStringCollection"}else{var E=new MQStringCollection();E.setM_Xpath("Fields");E.append(B);F.push(E)}if(D==null||D.getClassName()!=="MQDBLayerQuery"){throw"Null or Illegal Argument passed for MQDBLayerQuery"}else{F.push(D)}if(G==null||G.getClassName()!=="MQRecordSet"){throw"Null or Illegal Argument passed for MQRecordSet"}if(C==null||C.getClassName()!=="MQStringCollection"){throw"Null or Illegal Argument passed for MQStringCollection"}else{var A=new MQStringCollection();A.setM_Xpath("RecordIds");A.append(C);F.push(A)}mqLogTime("MQExec.getRecordInfo: Transaction Start");I=this.doTransaction("GetRecordInfo",F,this.GETRECORDINFO_VERSION);mqLogTime("MQExec.getRecordInfo: Transaction End");mqLogTime("MQExec.getRecordInfo: Loading of RecordSet Start");
H=mqXmlToStr(mqGetNode(I,"/GetRecordInfoResponse/RecordSet"));G.loadXml(H);mqLogTime("MQExec.getRecordInfo: Loading of RecordSet End");display("results","Response",mqXmlToStr(I),"","mqDisplay")};MQExec.prototype.reverseGeocode=function(C,D,G,B){var I;var H;var E=new Array();if(C==null||C.getClassName()!=="MQLatLng"){throw"Null or Illegal Argument passed for MQLatLng"}else{E.push(C)}if(D==null||D.getClassName()!=="MQLocationCollection"){throw"Null or Illegal Argument passed for MQLocationCollection"}var A=G||"";E.push(new MQXmlNodeObject("MapPool",A));var F=B||"";E.push(new MQXmlNodeObject("GeocodePool",F));mqLogTime("MQExec.reverseGeocode: Transaction Start");I=this.doTransaction("ReverseGeocode",E,this.REVERSEGEOCODE_VERSION);mqLogTime("MQExec.reverseGeocode: Transaction End");mqLogTime("MQExec.reverseGeocode: Loading of Response Start");H=mqXmlToStr(mqGetNode(I,"/ReverseGeocodeResponse/LocationCollection"));D.loadXml(H);mqLogTime("MQExec.reverseGeocode: Loading of Response End");display("results","Response",mqXmlToStr(I),"","mqDisplay")};MQExec.prototype.search=function(F,B,A,E,G,H){var J;var I;var D=new Array();var C=F?F.getClassName():null;if(C==null||(C!=="MQSearchCriteria"&&C!=="MQRadiusSearchCriteria"&&C!=="MQRectSearchCriteria"&&C!=="MQPolySearchCriteria"&&C!=="MQCorridorSearchCriteria")){throw"Null or Illegal Argument passed for Search Criteria"}else{D.push(F)}if(B==null||B.getClassName()!=="MQFeatureCollection"){throw"Null or Illegal Argument passed for MQFeatureCollection"}if(typeof A!=="string"){throw"Illegal Argument passed for strCoverageName"}else{D.push(new MQXmlNodeObject("CoverageName",A))}if(E!=null&&E.getClassName()!=="MQDBLayerQueryCollection"){throw"Illegal Argument passed for MQRouteOptions"}else{if(E==null){E=new MQDBLayerQueryCollection()}}D.push(E);if(G!=null&&G.getClassName()!=="MQFeatureCollection"){throw"Illegal Argument passed for MQFeatureCollection"}else{if(G==null){G=new MQFeatureCollection()}}D.push(G);if(H!=null&&H.getClassName()!=="MQDTCollection"){throw"Illegal Argument passed for MQDTCollection"}else{if(H==null){H=new MQDTCollection()}}D.push(H);mqLogTime("MQExec.Search: Transaction Start");J=this.doTransaction("Search",D,this.SEARCH_VERSION);mqLogTime("MQExec.Search: Transaction End");mqLogTime("MQExec.Search: Loading of Search results Start");I=mqXmlToStr(mqGetNode(J,"/SearchResponse/FeatureCollection"));B.loadXml(I);mqLogTime("MQExec.Search: Loading of Search results End");display("results","Response",mqXmlToStr(J),"","mqDisplay")};MQExec.prototype.getRouteBoundingBoxFromSessionResponse=function(H,F){var E;var G;var D=new Array();if(F==null){throw"Null or Illegal Argument passed for MQRectLL"}D.push(new MQXmlNodeObject("SessionID",H));E=this.doTransaction("GetRouteBoundingBoxFromSession",D);mqLogTime("MQExec.doRoute: Loading of MQRectLL Start");var B=E.documentElement.childNodes;var C=new MQLatLng();C.loadXml(mqXmlToStr(B[0]));var A=new MQLatLng();A.loadXml(mqXmlToStr(B[1]));F.setUpperLeft(C);F.setLowerRight(A);mqLogTime("MQExec.doRoute: Loading of MQRectLL End")};MQExec.prototype.isAlive=function(){if(this.getServerPort()==-1||this.getServerName()==""){return false}return true};MQExec.prototype.getServerInfo=function(B){if(!this.isAlive()){return null}var A;var E;var F;var D=B||0;var C=new Array();if(typeof D!=="number"){throw"Illegal Argument passed for lType"}else{C.push(new MQXmlNodeObject("Type",D))}mqLogTime("MQExec.GetServerInfo: Transaction Start");E=this.doTransaction("GetServerInfo",C);mqLogTime("MQExec.GetServerInfo: Transaction End");display("results","Response",mqXmlToStr(E),"","mqDisplay");return E};