Object.extend=function(dest,source,replace){for(var prop in source){if(replace==false&&dest[prop]!=null){continue;}dest[prop]=source[prop];}return dest;};Object.extend(Array.prototype,{push:function(o){this[this.length]=o;},addRange:function(items){if(items.length>0){for(var i=0;i<items.length;i++){this.push(items[i]);}}},insert:function(o){for(var i=0;i<=this.length;i++){if(!this[i]&&this[i]!=0){this[i]=o;break;}}},remove:function(o){for(var i=0;i<this.length;i++){if((this[i]||this[i]==0)&&this[i]==o){delete this[i];return o;}}},call:function(){for(var i=0;i<this.length;i++){if(this[i]){this[i].apply(null,arguments);}}},clear:function(){this.length=0;return this;},shift:function(){if(this.length==0){return null;}var o=this[0];for(var i=0;i<this.length-1;i++){this[i]=this[i+1];}this.length--;return o;}},false);Object.extend(SvAjax,{addns:function(ns){var parts=ns.split('.');var code='';var str='';for(var i=0;i<parts.length;i++){str+=parts[i];if(i>0)code+='if(!'+str+')';code+=str+'={};';if(i<parts.length-1)str+='.';}eval(code);},parse:function(text){var regEx=/(\"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}.*?\")|(\"\\\/Date\(.*?\)\\\/")/g;text=text.replace(regEx,function(str,p1,p2,offset,s){str=str.substring(1).replace('"','');var date=str;if(str.substring(0,7)=="\\\/Date("){str=str.match(/Date\((.*?)\)/)[1];date="new Date("+parseInt(str)+")";}else{var matches=str.split(/[-,:,T,Z]/);matches[1]=(parseInt(matches[1],0)-1).toString();date="new Date(Date.UTC("+matches.join(",")+"))";}return date;});return eval('('+text+')');},m:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},toJSON:function(o){if(o==null){return"null";}var v=[];var i;var c=o.constructor;if(c==Number){return isFinite(o)?o.toString():SvAjax.toJSON(null);}else if(c==Boolean){return o.toString();}else if(c==String){if(/["\\\x00-\x1f]/.test(o)){o=o.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=SvAjax.m[b];if(c){return c;}c=b.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);});}return'"'+o+'"';}else if(c==Array){for(i=0;i<o.length;i++){v.push(SvAjax.toJSON(o[i]));}return"["+v.join(",")+"]";}else if(c==Date){return SvAjax.toJSON("/Date("+new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds())).getTime()+")/");}if(typeof o.toJSON=="function"){return o.toJSON();}if(typeof o=="object"){for(var attr in o){if(typeof o[attr]!="function"){v.push('"'+attr+'":'+SvAjax.toJSON(o[attr]));}}if(v.length>0){return"{"+v.join(",")+"}";}return"{}";}return o.toString();}},false);function SvAjax(){var CONN=2;var REALLOCATE_AFTER=5;var curr=0;var ar;var conn=0;this.url;this.timeout;this.callback;this.onerror;this.onabort;this.ontimeout;function add(aR){if(!ar)ar=new Array();ar.push(aR);}function removeById(id){var aR;for(var i=0;i<ar.length;i++){aR=ar[i];if(aR&&aR.getRequest().getId()==id){delete ar[i];break;}}if(++curr>REALLOCATE_AFTER){curr=0;var tmp=new Array();for(var i=0;i<ar.length;i++){if(ar[i])tmp.push(ar[i]);}ar=tmp;}return aR;}function next(ajObj){if(!ar)return;conn--;for(var i=0;i<=ar.length;i++){if(ar[i]&&!ar[i].isDispatching)dispatch(ar[i],ajObj);}}function dispatch(aRequest,ajaxObj){if(conn<CONN){conn++;var xmlhttp=aRequest.getXmlHttp();aRequest.isDispatching=true;xmlhttp.open("POST",ajaxObj.url,true);xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState!=4)return;clearTimeout(aRequest.timer);if(xmlhttp.status==200){var id=xmlhttp.getResponseHeader("Ajax-ID");var aReq=removeById(id);var req=aReq.getRequest();var cb=req.callback;if(!cb)cb=ajaxObj.callback;cb(SvAjax.parse(xmlhttp.responseText));next(ajaxObj);}else{var onerr=request.onerror;if(!onerr)onerr=ajaxObj.onerror;if(onerr&&!aRequest.isAborted()){next(ajaxObj);onerr(request.args,xmlhttp.status,xmlhttp.statusText)}}};var request=aRequest.getRequest();xmlhttp.setRequestHeader("Ajax-ID",aRequest.getRequest().getId());xmlhttp.setRequestHeader("Clazz",request.clazz);xmlhttp.setRequestHeader("AjaxMethod",request.method);xmlhttp.send(SvAjax.toJSON(request.args));var ontimeoutHandler=request.ontimeout;if(!ontimeoutHandler)ontimeoutHandler=ajaxObj.ontimeout;var toTime=request.timeout;if(!toTime)toTime=ajaxObj.timeout;if(ontimeoutHandler&&toTime)aRequest.timer=setTimeout(function(ajObj,aR){return function(){var r=aR.getRequest();aR.isTimeouted=true;ajObj.abort(r);var toHandler=r.ontimeout;if(!toHandler)toHandler=ajObj.ontimeout;if(toHandler){toHandler(r.args)}}}(ajaxObj,aRequest),toTime);}}this.abort=function(request){var aR;for(var i=0;i<ar.length;i++){aR=ar[i];if(aR&&aR.getRequest()==request){aR.abort();delete ar[i];if(aR.isTimeouted)next(this);else{var onab=aR.getRequest().onabort;if(!onab)onab=this.onabort;if(onab)onab(request.args);next(this);}return;}}};this.abortAll=function(){if(ar){var aR;for(var i=0;i<ar.length;i++){aR=ar[i];if(aR){aR.abort();delete ar[i];}}ar=null;}conn=0;};this.send=function(request){var aRequest=new AjaxRequest(request);add(aRequest);dispatch(aRequest,this);};function Xss(){var id=Math.random().toString().substring(2);var headers=[];var respHeaders={};var url=null;this._getId=function(){return id;};this._aborted=false;this.open=function(m,u){url=u;};this.setRequestHeader=function(key,val){headers.push({name:key,val:val});};this.send=function(data){var script=document.createElement("script");var q="?";for(var i=0;i<headers.length;i++){q+=encodeURIComponent(headers[i].name)+"="+encodeURIComponent(headers[i].val)+"&";}q+="~data="+encodeURIComponent(data)+"&";q+="~xid="+id;script.ajax_readyState=false;script.onload=scriptCallback(script,this);script.onreadystatechange=scriptCallback(script,this);script.src=url+q;document.getElementsByTagName("script")[0].parentNode.appendChild(script);};this.onreadystatechange=null;this.readyState=0;this.status=0;this.statusText="";this.responseText=null;this.getResponseHeader=function(key){return respHeaders[key];};this._setResponseHeader=function(key,val){respHeaders[key]=val;};this.abort=function(){this._aborted=true;};function scriptCallback(currentScript,xss){return function(){if(currentScript.ajax_readyState)return;if(!currentScript.readyState||currentScript.readyState=="loaded"||currentScript.readyState=="complete"){currentScript.ajax_readyState=true;var t="xssResp"+xss._getId();var resp=eval(t);eval("delete "+t);if(!xss._aborted){var idx=resp.indexOf("#");var h=resp.substring(0,idx);h=h.split(":");xss._setResponseHeader(h[0],h[1]);xss.readyState=4;xss.status=200;xss.responseText=resp.substring(idx+1);if(xss.onreadystatechange)xss.onreadystatechange();}currentScript.parentNode.removeChild(currentScript);}}}}function AjaxRequest(r){var request=r;var xmlHttp=SvAjax.crossDomain?new Xss():createXmlHttp();var aborted=false;this.timer=null;this.isDispatching=false;this.isTimeouted=false;this.getRequest=function(){return request;};this.getXmlHttp=function(){return xmlHttp;};this.isAborted=function(){return aborted;};this.abort=function(){aborted=true;xmlHttp.abort();clearTimeout(this.timer);};function createXmlHttp(){var xmlhttp;try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(E){xmlhttp=false;}}if(!xmlhttp&&typeof XMLHttpRequest!='undefined'){xmlhttp=new XMLHttpRequest();}return xmlhttp;}}}SvAjax.crossDomain=true;function Request(clazz,method,args,cb,onerr,onab,onto,timeout){var id=Math.random().toString().substring(2);this.clazz=clazz;this.method=method;this.args=args;this.timeout=timeout;this.callback=cb;this.onerror=onerr;this.onabort=onab;this.ontimeout=onto;this.getId=function(){return id;};}
SvAjax.addns('Gis');Gis.Login=function(user,password,remember,settings,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','Login',{'user':user,'password':password,'remember':remember,'settings':settings},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.Logout=function(settings,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','Logout',{'settings':settings},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.GetItems=function(parentId,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','GetItems',{'parentId':parentId},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.GetCategs=function(parentId,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','GetCategs',{'parentId':parentId},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.GetOrgsTop=function(mapSetId,pageSize,currPage,owner,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','GetOrgsTop',{'mapSetId':mapSetId,'pageSize':pageSize,'currPage':currPage,'owner':owner},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.GetOrgsText=function(mapSetId,text,searchType,pageSize,currPage,owner,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','GetOrgsText',{'mapSetId':mapSetId,'text':text,'searchType':searchType,'pageSize':pageSize,'currPage':currPage,'owner':owner},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.GetOrgsCat=function(mapSetId,catId,pageSize,currPage,owner,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','GetOrgsCat',{'mapSetId':mapSetId,'catId':catId,'pageSize':pageSize,'currPage':currPage,'owner':owner},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.GetOrgsMapObject=function(mapSetId,linkSheet,objKey,pageSize,currPage,owner,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','GetOrgsMapObject',{'mapSetId':mapSetId,'linkSheet':linkSheet,'objKey':objKey,'pageSize':pageSize,'currPage':currPage,'owner':owner},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.AddOrg=function(org,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','AddOrg',{'org':org},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.UpdOrgLac=function(org,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','UpdOrgLac',{'org':org},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.DelOrg=function(id,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','DelOrg',{'id':id},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.LsTowns=function(text,mapSetId,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','LsTowns',{'text':text,'mapSetId':mapSetId},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.FindTowns=function(town,pageSize,currPage,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','FindTowns',{'town':town,'pageSize':pageSize,'currPage':currPage},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.ViewMap=function(settings,parameters,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','ViewMap',{'settings':settings,'parameters':parameters},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.SelectObjAt=function(settings,parameters,selPoint,objParameters,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','SelectObjAt',{'settings':settings,'parameters':parameters,'selPoint':selPoint,'objParameters':objParameters},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.UnSelectObj=function(settings,parameters,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','UnSelectObj',{'settings':settings,'parameters':parameters},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.SelectObjByKey=function(settings,parameters,listName,key,viewSize,newLoadSize,objParams,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','SelectObjByKey',{'settings':settings,'parameters':parameters,'listName':listName,'key':key,'viewSize':viewSize,'newLoadSize':newLoadSize,'objParams':objParams},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.FindObjects=function(settings,parameters,searchContext,options,viewSize,newLoadSize,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','FindObjects',{'settings':settings,'parameters':parameters,'searchContext':searchContext,'options':options,'viewSize':viewSize,'newLoadSize':newLoadSize},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};Gis.GetRoute=function(settings,graphId,points,callback,onerror,onabort,ontimeout,timeout){var r=new Request('GisEngine.RH','GetRoute',{'settings':settings,'graphId':graphId,'points':points},callback,onerror,onabort,ontimeout,timeout);sv_ajax.send(r);return r;};
