﻿var libabsmapas={};Excepcion=function(a,b){this.mensaje=(!a)?"Error":a;this.tipo=(!b)?"ERROR":b};ColorRgbA=function(a,b,c,d){this.R=(a)?(0xFF&Number(a)):0;this.G=(b)?(0xFF&Number(b)):0;this.B=(c)?(0xFF&Number(c)):0;this.A=(d)?(0xFF&Number(d)):255};ColorRgbA.prototype={toHexString:function(){return new String("#").concat((this.R<16?"0":""),this.R.toString(16),(this.G<16?"0":""),this.G.toString(16),(this.B<16?"0":""),this.B.toString(16))},toString:function(){return this.toHexString()},Clone:function(){return new ColorRgbA(this.R,this.G,this.B,this.A)},FromString:function(a){if(!a||a.length<7||"#"!=a.charAt(0))return;this.R=parseInt(a.substr(1,2),16);this.R=(0xFF&this.R);this.G=parseInt(a.substr(3,2),16);this.G=(0xFF&this.G);this.B=parseInt(a.substr(5,2),16);this.B=(0xFF&this.B);if((a.length)>8){this.A=parseInt(a.substr(7,2),16);this.A=(0xFF&this.A)}},FromArray:function(a){if(!a)return;if(a.length>2){this.R=(a[0])?(0xFF&Number(a[0])):0;this.G=(a[1])?(0xFF&Number(a[1])):0;this.B=(a[2])?(0xFF&Number(a[2])):0}if(a.length>3)this.A=(a[3])?(0xFF&Number(a[3])):255},Establecer:function(a,b,c,d){if("number"==typeof(a))this.R=(0xFF&a);if("number"==typeof(b))this.G=(0xFF&b);if("number"==typeof(c))this.B=(0xFF&c);if("number"==typeof(d))this.A=(0xFF&d)}};var Util={secuencia:0};Util.reNoValido=/[\r\n\t\\\/\$\*\:\.\|\&\%\#\?\^\@\"\!\>\<\=\¡\¿]/;Util.caracterNoValido="\\ / $ & * : . | # ¿ ? ^ @ \" ! ¡ < = >";Util.ParseNumber=function(a){if(!a)return Number.NaN;if("number"==typeof(a))return a;var b;try{a=a.toString().replace(",",".");b=parseFloat(a)}catch(e){b=Number.NaN}return b};Util.ParseDouble=function(a){if(!a)return 0;if("number"==typeof(a))return a;var b;try{a=a.toString().replace(",",".");b=parseFloat(a);if(isNaN(b))b=0}catch(e){b=0}return b};Util.ParseInt=function(a){if(!a)return 0;if("number"==typeof(a))return Math.round(a);var b;try{b=parseInt(a.toString(),10);if(isNaN(b))b=0}catch(e){b=0}return b};Util.ParseEscala=function(a,b){if(!a)return 0;var c;var d;try{d=a.indexOf(":");if(d<0)c=0;else{c=parseInt(a.substr(d+1),10);if(isNaN(c))c=0;else if(b)c/=b}}catch(e){c=0}return c};Util.EscalaToStr=function(a,b){if(!a)return"";var c=a;if(b)c*=b;return new String("1:").concat(c.toString())};Util.DistanciaToStr=function(a,b){if(!b)b=2;if(a<1000)return new String().concat(a.toFixed(b)," m");a/=1000;return new String().concat(a.toFixed(b)," km")};Util.AreaToStr=function(a,b){if(!b)b=2;if(a<1000000)return new String().concat(a.toFixed(b)," m2");a/=1000000;return new String().concat(a.toFixed(b)," km2")};Util.ElmEvento=function(a){if(!a){var b=window.event;if(!b)return null;else return b.srcElement}else return a.target};Util.EventoXY=function(a){var x;var y;if(!a){var b=window.event;if(b){x=b.clientX;y=b.clientY}}else{if(a.clientX){x=a.clientX;y=a.clientY}else{x=a.pageX;y=a.pageY}}if(!x||!y)return null;return new Array(x,y)};Util.ClonarArray=function(a){var b=new Array();if(!a)return b;var c;for(var d=0;d<a.length;++d){c=a[d];b.push(c.Clonar())}return b};Util.MarshallArray=function(a){var b=new Array();if(!a)return b;if("object"!=typeof(a))a={_default:a};for(i1 in a){var c=a[i1];if(null==c)c="";if(!c.isPrototypeOf(a)){switch(typeof(c)){case"number":b[i1]=new Number(c);break;case"boolean":b[i1]=new Boolean(c);break;case"string":b[i1]=new String(c);break;case"object":b[i1]=Util.MarshallArray(c);break;case"function":break;case"undefined":break;default:b[i1]=new String(c.toString());break}}}return b};Util.Trim=function(a){if(!a)return"";var b=String(a).replace(/^\s+/g,"");return b.replace(/\s+$/g,"")};Util.NombreValido=function(a){if(!a)return false;return(Util.reNoValido.test(a))?false:true};Util.ClaveUnica=function(){if(!Util.secuencia){var a=new Date();Util.secuencia=(a.getMonth()<<23)|(a.getDate()<<18)|((a.getMilliseconds()/100)<<7)}var b=Util.secuencia++;return new String("ABSMAPAS_").concat(b.toString(16))};Util.HacerNoSelec=function(a){if(!a)return;if(libabsui.isIE){a.unselectable="on";return}if(libabsui.isGecko){a.style["-moz-user-select"]="none";a.style["-moz-user-focus"]="ignore";a.style["-moz-user-input"]="disabled";return}};Util.EstablecerVarQS=function(a,b,c){if(!a||!b)return a;var d=new RegExp(new String("(.+)(").concat(b,"=[A-Za-z0-9_\\-]*($|(\\&.+)))"),"gi");if(d.exec(a))a=a.replace(d,new String("$1").concat(b,"=",c.toString(),"$3"));else{if(a.indexOf("?")<0)a=new String("").concat(a,"?",b,"=",c.toString());else a=new String("").concat(a,"&",b,"=",c.toString())}return a};Util.ReemplazarPath=function(a,b,c){if(!a||!b)return a;var d=new RegExp(new String("(.+)(/").concat(b,"/)(.+)"),"gi");if(d.exec(a))a=a.replace(d,new String("$1/").concat(c.toString(),"/$3"));return a};var Aplicacion={};Aplicacion.urlModulos="../../lib/2.0/js/";Aplicacion.ventanaX=function(a){if(libabsui.isIE)return a.screenLeft;else return a.screenX};Aplicacion.ventanaY=function(a){if(libabsui.isIE)return a.screenTop;else return a.screenY};Aplicacion.ventanaXY=function(a){var b=new Array(0,0);if(libabsui.isIE){b[0]=a.screenLeft;b[1]=a.screenTop}else{b[0]=a.screenX;b[1]=a.screenY}return b};function DocXmlMoz(a,b){try{this.xml=a;this.root=a.documentElement;this.texto=b}catch(e){this.xml=null;this.root=null;this.texto=null}return};DocXmlMoz.prototype={Dispose:function(){this.xml=null;this.root=null;this.texto=null;return},Cargar:function(a,b){try{this.xml=a;this.root=a.documentElement;this.texto=b}catch(e){this.xml=null;this.root=null;this.texto=null}return},Vaciar:function(){this.xml=null;this.root=null;this.texto=null},InvalidarTexto:function(){this.texto=null;return},Texto:function(){if(this.texto)return this.texto;if(!this.xml)return null;var s=new XMLSerializer();this.texto=s.serializeToString(this.xml);return this.texto},TextoNodo:function(a,b){if(!a)a=this.root;if(!a)return"";var c;if(!b)c=a.firstChild;else{var d=a.getElementsByTagName(b);if(d.length>0)c=d[0].firstChild}if(!c)return"";else return c.nodeValue},EstablecerTextoNodo:function(a,b){if(!a)return;var c=a.firstChild;if(!c){c=this.xml.createTextNode(b);a.appendChild(c)}else c.nodeValue=b;return},EstablecerNodo:function(a,b,c){if(!a)a=this.root;if(!b||!a)return;var d=a.getElementsByTagName(b);if(d.length<1)return;var e=d[0];var f=e.firstChild;if(!f){f=this.xml.createTextNode(c);e.appendChild(f)}else f.nodeValue=c;return},SeleccionarNodo:function(a,b){if(!a)a=this.root;if(!b||!a)return null;var c=b.split("/");if(c.length<1)return null;var d;var e=a;var f;var g;for(var h=0;h<c.length;++h){d=e.getElementsByTagName(c[h]);if(d.length<1){e=null;break}g=null;for(var i=0;i<d.length;++i){f=d[i];if(f.parentNode.tagName==e.tagName){g=f;break}}if(!g){e=null;break}e=g}return e},SeleccionarNodos:function(a,b){if(!a)a=this.root;if(!b||!a)return null;var c=b.split("/");if(c.length<1)return null;var d;var e=a;var f;var g;var h=c.length-1;for(var i=0;i<h;++i){d=e.getElementsByTagName(c[i]);if(d.length<1){e=null;break}g=null;for(var j=0;j<d.length;++j){f=d[j];if(f.parentNode.tagName==e.tagName){g=f;break}}if(!g){e=null;break}e=g}if(!e)return null;d=e.getElementsByTagName(c[h]);return d},NodoPorId:function(a,b,c){if(!a)a=this.root;if(!b||!a||!c)return null;var d=this.SeleccionarNodos(a,b);if(!d||d.length<1)return null;var e;var f;for(var g=0;g<d.length;++g){e=d[g];f=e.getAttribute("id");if(f&&(f==c))return e}return null},AgregarNodo:function(a,b,c){if(!a)return;var d;if(c){var e=a.getElementsByTagName(b);if(e&&(e.length>0))d=e[0];if(d)return d}d=this.xml.createElement(b);a.appendChild(d);return d},CrearNodo:function(a,b){if(!a)return;var c;var d=a.getElementsByTagName(b);if(d&&d.length>0)c=d[0];if(c)return c;var e=a.childNodes;if(e&&(e.length>0)){for(var f=0;f<e.length;++f)a.removeChild(e[f])}c=this.xml.createElement(b);a.appendChild(c);return c},VaciarNodo:function(a){if(!a)return;var b=a.childNodes;if(b&&(b.length>0)){for(var c=0;c<b.length;++c)a.removeChild(b[c])}return},EliminarNodo:function(a,b){if(!a)return;var c=a.getElementsByTagName(b);if(!c)return;for(var d=0;d<c.length;++d)a.removeChild(c[d]);return}};function DocXmlMs(a,b){try{this.xml=a;this.root=a.documentElement;this.texto=b}catch(e){this.xml=null;this.root=null;this.texto=null}return};DocXmlMs.prototype={Dispose:function(){this.xml=null;this.root=null;this.texto=null;return},Cargar:function(a,b){try{this.xml=a;this.root=a.documentElement;this.texto=b}catch(e){this.xml=null;this.root=null;this.texto=null}return},Vaciar:function(){this.xml=null;this.root=null;this.texto=null},InvalidarTexto:function(){this.texto=null;return},Texto:function(){if(this.texto)return this.texto;if(!this.xml)return null;this.texto=this.xml.xml;return this.texto},TextoNodo:function(a,b){if(!a)a=this.root;if(!a)return"";var c;if(!b)c=a;else c=a.selectSingleNode(b);if(c)return c.text;else return""},EstablecerTextoNodo:function(a,b){if(!a)return;a.text=b;return},EstablecerNodo:function(a,b,c){if(!a)a=this.root;if(!b||!a)return;var d=a.selectSingleNode(b);if(d)d.text=c;return},SeleccionarNodo:function(a,b){if(!a)a=this.root;if(!b||!a)return null;var c=a.selectSingleNode(b);return c},SeleccionarNodos:function(a,b){if(!a)a=this.root;if(!b||!a)return null;var c=a.selectNodes(b);return c},NodoPorId:function(a,b,c){if(!a)a=this.root;if(!b||!a||!c)return null;var d=b.concat('[@ id="',c,'"]');var e=a.selectSingleNode(d);return e},AgregarNodo:function(a,b,c){if(!a)return;var d;if(c){d=a.selectSingleNode(b);if(d)return d}d=this.xml.createElement(b);a.appendChild(d);return d},CrearNodo:function(a,b){if(!a)return;var c=a.selectSingleNode(b);if(c)return c;var d=a.childNodes;if(d&&(d.length>0)){for(var e=0;e<d.length;++e)a.removeChild(d[e])}c=this.xml.createElement(b);a.appendChild(c);return c},VaciarNodo:function(a){if(!a)return;var b=a.childNodes;if(b&&(b.length>0)){for(var c=0;c<b.length;++c)a.removeChild(b[c])}return},EliminarNodo:function(a,b){if(!a)return;var c=a.selectNodes(b);if(!c)return;for(var d=0;d<c.length;++d)a.removeChild(c[d]);return}};function PeticionHttp(){this.canalHttp=null;this.status=null;try{if(libabsui.isIE)this.canalHttp=new ActiveXObject("Msxml2.XMLHTTP");else this.canalHttp=new XMLHttpRequest()}catch(e){}return};PeticionHttp.prototype={Dispose:function(){this.canalHttp=null;this.status=null;return},Nueva:function(){this.status=null;if(this.canalHttp){this.canalHttp.abort();if(libabsui.isIE)return}this.canalHttp=null;try{if(libabsui.isIE)this.canalHttp=new ActiveXObject("Msxml2.XMLHTTP");else if(libabsui.isGecko)this.canalHttp=new XMLHttpRequest()}catch(e){}return},RespuestaXml:function(a,b){var c;if(libabsui.isIE)c=new DocXmlMs(a,b);else if(libabsui.isGecko)c=new DocXmlMoz(a,b);return c},GetText:function(a,b){var c;var d=a;if(b){if((d.indexOf("?")<0)&&(b.indexOf("?")<0))d+="?";d+=b}try{this.canalHttp.open("GET",d,false);this.canalHttp.send(null);this.status="OK";return this.canalHttp.responseText}catch(e){this.status="ERROR";return null}},GetXml:function(a,b){var c;var d=a;if(b){if((d.indexOf("?")<0)&&(b.indexOf("?")<0))d+="?";d+=b}try{this.canalHttp.open("GET",d,false);this.canalHttp.send(null);this.status="OK";var f=this.canalHttp.responseText;var g=this.canalHttp.responseXML;if(!g)return null;return this.RespuestaXml(g,f)}catch(e){this.status="ERROR";return null}},Post:function(a,b,c){var d=a;if(b){if((d.indexOf("?")<0)&&(b.indexOf("?")<0))d+="?";d+=b}try{this.canalHttp.open("POST",d,false);this.canalHttp.send(c);this.status="OK"}catch(e){this.status="ERROR"}return},PostText:function(a,b,c){var d;var f=a;if(b){if((f.indexOf("?")<0)&&(b.indexOf("?")<0))f+="?";f+=b}try{this.canalHttp.open("POST",f,false);this.canalHttp.send(c);this.status="OK";return this.canalHttp.responseText}catch(e){this.status="ERROR";return null}},PostXml:function(a,b,c){var d;var f=a;if(b){if((f.indexOf("?")<0)&&(b.indexOf("?")<0))f+="?";f+=b}this.Nueva();try{this.canalHttp.open("POST",f,false);this.canalHttp.send(c);this.status="OK";var g=this.canalHttp.responseText;var h=this.canalHttp.responseXML;if(!h)return null;return this.RespuestaXml(h,g)}catch(e){this.status="ERROR";return null}}};function EntornoAtlas(a,b){this.titulo=b;this.id=a;return};function PerfilAtlas(a,b){this.titulo=b;this.id=a;return};function ServidorAtlas(){this.entornos=new Array();return}ServidorAtlas.prototype={Dispose:function(){if(this.entornos){this.entornos.length=0;this.entornos=null}return},EsVacio:function(){if(!this.entornos)return true;return(this.entornos.length<1)},EsValido:function(){return!(this.EsVacio())},NuevoEntorno:function(a,b){var c=new EntornoAtlas(a,b);this.entornos.push(c);return c},Cargar:function(a){if(this.entornos)this.entornos.length=0;if(!a)return;if(!a.root)return;this.Interpretar(a);return},Interpretar:function(a){var b=a.SeleccionarNodo(null,"RESULTADO");if(!b)return;var c=b.getElementsByTagName("ENTORNO");if(c.length<1)return;for(var d=0;d<c.length;++d)this.OnEntorno(a,c[d]);return},OnEntorno:function(a,b){var c=b.getAttribute("id");if(!c)return;var d=a.TextoNodo(b);this.NuevoEntorno(c,d);return}};function CuentaAtlas(a,b){this.id="";this.cuenta=a;this.clave=b;this.perfiles=new Array();return}CuentaAtlas.prototype={Dispose:function(){if(this.perfiles){this.perfiles.length=0;this.perfiles=null}this.id=null;this.cuenta=null;this.clave=null;return},EsVacio:function(){if(!this.perfiles)return true;return(this.perfiles.length<1)},EsValido:function(){if(!this.id)return false;if(!this.perfiles)return false;return(this.perfiles.length>0)},NuevoPerfil:function(a,b){var c=new PerfilAtlas(a,b);this.perfiles.push(c);return c},Cargar:function(a){if(this.perfiles)this.perfiles.length=0;this.id=null;if(!a)return;if(!a.root)return;this.Interpretar(a);return},Interpretar:function(a){var b=a.SeleccionarNodo(null,"RESULTADO");if(!b)return;this.id=a.TextoNodo(b,"IDENTIDAD");var c=b.getElementsByTagName("PERFIL");if(c.length<1)return;for(var d=0;d<c.length;++d)this.OnPerfil(a,c[d]);return},OnPerfil:function(a,b){var c=b.getAttribute("id");if(!c)return;var d=a.TextoNodo(b);this.NuevoPerfil(c,d);return}};function SesionAtlas(a,b){this.identidad=a;this.perfil=b;this.id=null;return}SesionAtlas.prototype={Dispose:function(){this.identidad=null;this.perfil=null;this.id=null;return},EsValido:function(){if(!this.id)return false;return(this.id.length>0)},Cargar:function(a){this.id=null;if(!a)return;if(!a.root)return;this.Interpretar(a);return},Interpretar:function(a){var b=a.SeleccionarNodo(null,"RESULTADO");if(!b)return;this.id=a.TextoNodo(b,"SESION");return}};var Geom={};Geom.ParseNumber=function(a){if(!a)return Number.NaN;var b;try{b=parseFloat(a)}catch(e){b=Number.NaN}return b};function Rango(a,b){this.desde=((!a)?0:a);this.hasta=((!b)?0:b);return};Rango.prototype={Clonar:function(){return new Rango(this.desde,this.hasta)},Vaciar:function(){this.desde=0;this.hasta=0;return},Establecer:function(a,b){this.desde=a;this.hasta=b;this.Normalizar();return},EsVacio:function(){if(this.desde==this.hasta)return true;else return false},Normalizar:function(){if(this.desde>this.hasta){var a=this.hasta;this.hasta=this.desde;this.desde=a}return}};function Dimension(a,b){if(!a)this.ancho=0;else this.ancho=a;if(!b)this.alto=0;else this.alto=b;return};Dimension.prototype={Vaciar:function(){this.ancho=0;this.alto=0;return},Establecer:function(a,b){this.ancho=a;this.alto=b;return},EsVacio:function(){return((this.ancho<1)||(this.alto<1))},Texto:function(){var a=this.ancho.toString();return a.concat(",",this.alto.toString())}};function Punto(a,b){this.x=((!a)?0:a);this.y=((!b)?0:b);return};Punto.prototype={toString:function(){return this.WKT(2)},Texto:function(){return this.x.toString().concat(",",this.y.toString())},Establecer:function(a,b){this.x=((!a)?0:a);this.y=((!b)?0:b);return},WKT:function(a){var b=(!a)?6:a;var x=this.x;var y=this.y;var t="POINT(".concat(x.toFixed(b)," ",y.toFixed(b));return t.concat(")")}};function Rectangulo(a,b,c,d){this.x=((!a)?0:a);this.y=((!b)?0:b);this.ancho=((!c)?0:c);this.alto=((!d)?0:d);return};Rectangulo.prototype={Vaciar:function(){this.x=0;this.y=0;this.ancho=0;this.alto=0;return},Establecer:function(a,b,c,d){this.x=a;this.y=b;this.ancho=c;this.alto=d;return},EsVacio:function(){if((this.ancho<=0)||(this.alto<=0))return true;else return false}};function Caja(a,b,c,d,e){this.minX=((!a)?0:a);this.minY=((!b)?0:b);this.maxX=((!c)?0:c);this.maxY=((!d)?0:d);if(e)this.Normalizar();return};Caja.prototype={toString:function(){return this.minX.toString().concat(",",this.minY.toString(),",",this.maxX.toString(),",",this.maxY.toString())},Clonar:function(){return new Caja(this.minX,this.minY,this.maxX,this.maxY)},CopiarDe:function(a){this.minX=a.minX;this.minY=a.minY;this.maxX=a.maxX;this.maxY=a.maxY;return},Vaciar:function(){this.minX=0;this.minY=0;this.maxX=0;this.maxY=0;return},EsVacia:function(){if((this.minX==this.maxX)||(this.minY==this.maxY))return true;else return false},Normalizar:function(){if(this.minX>this.maxX){var a=this.minX;this.minX=this.maxX;this.maxX=a}if(this.minY>this.maxY){var a=this.minY;this.minY=this.maxY;this.maxY=a}return},LeerArray:function(a,b){if(!a||a.length<4){this.Vaciar();return}this.minX=a[0];this.minY=a[1];this.maxX=a[2];this.maxY=a[3];if(b)this.Normalizar();return},LeerTexto:function(a,b){if(!a){this.Vaciar();return}var c=a.split(",",4);if(!c||(c.length<4)){this.Vaciar();return}var d=Geom.ParseNumber(c[0]);var e=Geom.ParseNumber(c[1]);var f=Geom.ParseNumber(c[2]);var g=Geom.ParseNumber(c[3]);if(isNaN(d)||isNaN(e)||isNaN(f)||isNaN(g)){this.Vaciar();return}this.minX=d;this.minY=e;this.maxX=f;this.maxY=g;if(b)this.Normalizar();return},Establecer:function(a,b,c,d){this.minX=a;this.minY=b;this.maxX=c;this.maxY=d;this.Normalizar();return},Texto:function(){return this.minX.toString().concat(",",this.minY.toString(),",",this.maxX.toString(),",",this.maxY.toString())},Alto:function(){return Math.abs(this.maxY-this.minY)},Ancho:function(){return Math.abs(this.maxX-this.minX)},Centro:function(){if(this.EsVacia())return null;return new Punto(((this.minX+this.maxX)/2),((this.minY+this.maxY)/2))}};function Vertices(a,b,c,d,e){if(!a)this.x=new Array();else this.x=a;if(!b)this.y=new Array();else this.y=b;if(!c)this.tipo=null;else this.tipo=c;if(d)this.cuenta=d;else this.cuenta=Math.max(this.x.length,this.y.length);this.radio=(!e)?0:Number(e);return};Vertices.prototype={Clonar:function(){var a=new Array();var b=new Array();return new Vertices(a.concat(this.x),b.concat(this.y),this.tipo,this.cuenta,this.radio)},Dispose:function(){this.Vaciar();this.x=null;this.y=null;this.tipo=null;return},toString:function(){return this.WKT(2)},Vaciar:function(){if(this.x)this.x.length=0;if(this.y)this.y.length=0;this.cuenta=0;this.radio=0;return},EsVacio:function(){return(this.cuenta<1)},Agregar:function(a,b){var c=this.cuenta++;this.x[c]=a;this.y[c]=b;return},AgregarRango:function(a){if(!a)return;var b=Math.floor(a.length/2);if(b<1)return;var c=0;var d=this.cuenta;for(var e=0;e<b;++e,++d){this.x[d]=a[c++];this.y[d]=a[c++]}this.cuenta+=b;return},EstablecerRango:function(a){if(!a)return;var b=Math.floor(a.length/2);if(b<1)return;var c=0;var d=0;for(var e=0;e<b;++e,++d){this.x[d]=a[c++];this.y[d]=a[c++]}this.cuenta=b;return},Pop:function(){if(this.cuenta<1)return null;var a=this.cuenta-1;this.cuenta=a;var x=this.x[a];var y=this.y[a];return new Array(x,y)},EstablecerUltimo:function(a,b){var c=this.cuenta-1;if(c<0)return;this.x[c]=a;this.y[c]=b;return},EstablecerPrimero:function(a,b){if(this.cuenta<1)this.cuenta=1;this.x[0]=a;this.y[0]=b;return},POINT:function(a,b){this.tipo="POINT";this.cuenta=1;this.x[0]=a;this.y[0]=b;return},CIRCLE:function(a,b,c){this.tipo="CIRCLE";this.cuenta=1;this.x[0]=a;this.y[0]=b;this.radio=c;return},BOX:function(a,b,c,d){this.tipo="BOX";this.cuenta=5;this.x[0]=a;this.y[0]=b;this.x[1]=a+c;this.y[1]=b;this.x[2]=a+c;this.y[2]=b+d;this.x[3]=a;this.y[3]=b+d;this.x[4]=a;this.y[4]=b;return},Dimensiones:function(){if(!this.tipo)return{w:0,h:0};switch(this.tipo){default:case"MULTIPOINT":case"POINT":return{w:0,h:0};case"LINESTRING":case"POLYGON":{var c=this.ObtenerCaja();return{w:c.Ancho(),h:c.Alto()}}case"CIRCLE":{var a=this.radio*2;return{w:a,h:a}}case"BOX":return{w:Math.abs(this.x[1]-this.x[0]),h:Math.abs(this.y[2]-this.y[0])}}},EstablecerRadio:function(a){this.radio=a;return},Radio:function(){return this.radio},Primero:function(){if(this.cuenta<1)return null;return new Punto(this.x[0],this.y[0])},Ultimo:function(){var a=this.cuenta-1;if(a<0)return null;return new Punto(this.x[a],this.y[a])},Vertice:function(a){a=(!a)?0:Number(a);if(a<0||a>=this.cuenta)return null;return new Punto(this.x[a],this.y[a])},EsAnillo:function(){var a=this.cuenta-1;if(a<3)return false;var x=this.x;var y=this.y;if((x[0]==x[a])&&(y[0]==y[a]))return true;else return false},Cerrar:function(){var a=this.cuenta-1;if(a<2)return;var x=this.x;var y=this.y;if((x[0]!=x[a])||(y[0]!=y[a]))this.Agregar(x[0],y[0]);return},Distancia:function(a,b,c,d){var e=(c-a);var f=(d-b);if(0==e)return Math.abs(f);if(0==f)return Math.abs(e);return Math.sqrt((e*e)+(f*f))},Longitud:function(){if("CIRCLE"==this.tipo)return 2*Math.PI*this.radio;var a=this.cuenta;if(a<2)return 0;var b=0;var i,j;var x=this.x;var y=this.y;for(i=0,j=1;j<a;i=j,++j){b+=this.Distancia(x[i],y[i],x[j],y[j])}return b},Perimetro:function(){if("CIRCLE"==this.tipo)return 2*Math.PI*this.radio;var a=this.cuenta;if(a<3)return 0;var b=0;var i,j;var x=this.x;var y=this.y;for(i=0,j=1;j<a;i=j,++j){b+=this.Distancia(x[i],y[i],x[j],y[j])}if((x[0]!=x[i])||(y[0]!=y[i]))b+=this.Distancia(x[i],y[i],x[0],y[0]);return b},Area:function(){if("CIRCLE"==this.tipo)return Math.PI*this.radio*this.radio;var a=this.cuenta;if(a<3)return 0;var x=this.x;var y=this.y;var b=0.0;var p=0.0;var i=a-1;var j;for(j=0;j<a;j++){p=(x[i]*y[j])-(x[j]*y[i]);b+=p;i=j}return Math.abs(0.5*b)},ObtenerCaja:function(){var a=this.cuenta;if(a<1)return new Caja();var x=this.x;var y=this.y;var b=x[0];var c=y[0];var d=x[0];var e=y[0];for(var f=1;f<a;f++){b=Math.min(b,x[f]);c=Math.min(c,y[f]);d=Math.max(d,x[f]);e=Math.max(e,y[f])}return new Caja(b,c,d,e,false)},PathVml:function(a){var b=this.cuenta;if(b<1)return"";var x=this.x;var y=this.y;var c="m ";c=c.concat(x[0].toFixed(0),",",y[0].toFixed(0));if(b>1){c=c.concat(" l ");for(var d=1;d<b;++d){if(1!=d)c=c.concat(",",x[d].toFixed(0),",",y[d].toFixed(0));else c=c.concat(x[d].toFixed(0),",",y[d].toFixed(0))}}if(a)c=c.concat(",",x[0].toFixed(0),",",y[0].toFixed(0)," e");else c=c.concat(" e");return c},PathSvg:function(a){var b=this.cuenta;if(b<1)return"";var x=this.x;var y=this.y;var c="M";c=c.concat(x[0].toFixed(0),",",y[0].toFixed(0));if(b>1){c=c.concat(" L");for(var d=1;d<b;++d){if(1!=d)c=c.concat(",",x[d].toFixed(0),",",y[d].toFixed(0));else c=c.concat(x[d].toFixed(0),",",y[d].toFixed(0))}}if(a)c=c.concat(" L",x[0].toFixed(0),",",y[0].toFixed(0));return c},Texto:function(a,b){var c=(!a)?6:a;var d=(!b)?" ":b;var e=this.cuenta;if(e<1)return"";var x=this.x;var y=this.y;var t="";t=t.concat(x[0].toFixed(c),d,y[0].toFixed(c));for(var f=1;f<e;++f){t=t.concat(",",x[f].toFixed(c),d,y[f].toFixed(c))}return t},WKT:function(a){if(!this.tipo)return this.PointWKT(a);switch(this.tipo){default:case"POINT":return this.PointWKT(a);case"LINESTRING":return this.LineStringWKT(a);case"POLYGON":return this.PolygonWKT(a);case"MULTIPOINT":return this.MPointWKT(a);case"CIRCLE":return this.CircleWKT(a);case"BOX":return this.BoxWKT(a)}},EsPOINT:function(){var a=this.tipo;if(!a)return false;else return(a=="POINT")},EsPOLYGON:function(){var a=this.tipo;if(!a)return false;else return(a=="POLYGON")},EsCIRCLE:function(){var a=this.tipo;if(!a)return false;else return(a=="CIRCLE")},EsBOX:function(){var a=this.tipo;if(!a)return false;else return(a=="BOX")},EsLINESTRING:function(){var a=this.tipo;if(!a)return false;else return(a=="LINESTRING")},PointWKT:function(a){var b=(!a)?6:a;var c=this.cuenta;if(c<1)return"";var x=this.x;var y=this.y;var t="POINT(".concat(x[0].toFixed(b)," ",y[0].toFixed(b));return t.concat(")")},MPointWKT:function(a){var b=(!a)?6:a;var c=this.cuenta;if(c<1)return"";var x=this.x;var y=this.y;var t="MULTIPOINT(".concat(x[0].toFixed(b)," ",y[0].toFixed(b));for(var d=1;d<c;++d){t=t.concat(",",x[d].toFixed(b)," ",y[d].toFixed(b))}return t.concat(")")},PolygonWKT:function(a){var b=(!a)?6:a;var c=this.cuenta;if(c<4)return"";var x=this.x;var y=this.y;var t="POLYGON((".concat(x[0].toFixed(b)," ",y[0].toFixed(b));for(var d=1;d<c;++d){t=t.concat(",",x[d].toFixed(b)," ",y[d].toFixed(b))}return t.concat("))")},LineStringWKT:function(a){var b=(!a)?6:a;var c=this.cuenta;if(c<2)return"";var x=this.x;var y=this.y;var t="LINESTRING(".concat(x[0].toFixed(b)," ",y[0].toFixed(b));for(var d=1;d<c;++d){t=t.concat(",",x[d].toFixed(b)," ",y[d].toFixed(b))}return t.concat(")")},CircleWKT:function(a){var b=(!a)?6:a;var c=this.cuenta;if(c<1)return"";return"CIRCLE(".concat(this.x[0].toFixed(b)," ",this.y[0].toFixed(b)," ",this.radio.toFixed(b),")")},BoxWKT:function(a){var b=(!a)?6:a;if(this.cuenta<4)return"";return"BOX(".concat(this.x[0].toFixed(b)," ",this.y[0].toFixed(b),",",this.x[1].toFixed(b)," ",this.y[1].toFixed(b),",",this.x[2].toFixed(b)," ",this.y[2].toFixed(b),",",this.x[3].toFixed(b)," ",this.y[3].toFixed(b),")")}};function Forma(a,b,c,d){this.tipo=((!b)?null:b);if(!c){switch(b){case"POINT":case"CIRCLE":this.vertices=new Vertices([0],[0],b,1,0);break;default:this.vertices=new Vertices(null,null,b,0,0);break}}else this.vertices=c;this.id=((!a)?Util.ClaveUnica():a);this.objeto=(!d)?null:d;return};Forma.prototype={Clonar:function(){return new Forma(this.id,this.tipo,this.vertices.Clonar(),this.objeto)},Dispose:function(){this.tipo=null;this.vertices.Dispose();this.objeto=null;return},Vaciar:function(){this.vertices.Vaciar();return},Perimetro:function(){return this.vertices.Perimetro()},Longitud:function(){return this.vertices.Longitud()},ObtenerCaja:function(){return this.vertices.ObtenerCaja()},Radio:function(){return this.vertices.Radio()},Area:function(){var a=this.vertices;if("CIRCLE"==this.tipo)return a.Area();if(a.cuenta<3)return 0;if(a.EsAnillo())return a.Area();a=this.vertices.Clonar();a.Cerrar();var b=a.Area();a.Dispose();return b},EsVacio:function(){if(this.vertices.EsVacio())return true;switch(this.tipo){default:case"POINT":case"CIRCLE":return false;case"BOX":case"POLYGON":return(this.vertices.cuenta<3);case"LINESTRING":return(this.vertices.cuenta<2)}},EsAnillo:function(){return this.vertices.EsAnillo()},EsPOINT:function(){return("POINT"==this.tipo)},EsPOLYGON:function(){return("POLYGON"==this.tipo)},EsLINESTRING:function(){return("LINESTRING"==this.tipo)},EsCIRCLE:function(){return("CIRCLE"==this.tipo)},EsBOX:function(){return("BOX"==this.tipo)},Cerrar:function(){switch(this.tipo){case"POLYGON":case"BOX":this.vertices.Cerrar();return;default:return}},PathVml:function(){var a;switch(this.tipo){case"POLYGON":case"BOX":a=true;break;default:a=false;break}return this.vertices.PathVml(a)},PathSvg:function(){var a;switch(this.tipo){case"POLYGON":case"BOX":a=true;break;default:a=false;break}return this.vertices.PathSvg(a)}};function EditorForma(a){this.forma=new Forma();this.paso=0;if(!a)this.modo=(!document.all)?"svg":"vml";else this.modo=a;this.inicioX=0;this.inicioY=0;return};EditorForma.prototype={Vaciar:function(){this.forma.Vaciar();this.paso=0;this.inicioX=0;this.inicioY=0;return},EsVacio:function(){return(this.forma.EsVacio())},Path:function(){if("svg"==this.modo)return this.forma.vertices.PathSvg();return this.forma.vertices.PathVml()},PathVacio:function(){if("svg"==this.modo)return"M0,0 z";return"m 0,0 e"},EsAnillo:function(){return this.forma.EsAnillo()},UltimoPt:function(){return this.forma.vertices.Ultimo()},Radio:function(){return this.forma.Radio()},Longitud:function(){return this.forma.Longitud()},Perimetro:function(){return this.forma.Perimetro()},ObtenerCaja:function(){return this.forma.ObtenerCaja()},Area:function(){return this.forma.Area()},Activo:function(){return(this.paso>0)},NuevaForma:function(a){this.forma.Dispose();this.forma=new Forma(null,a);this.paso=100;this.inicioX=0;this.inicioY=0;return},OnPresionar:function(a,b){this.inicioX=a;this.inicioY=b;var f=this.forma;var v=f.vertices;switch(this.paso){case 100:switch(f.tipo){case"POINT":v.POINT(a,b);break;case"CIRCLE":v.CIRCLE(a,b,0);break;default:v.Agregar(a,b);break}this.paso=200;break;case 400:switch(f.tipo){case"POINT":v.POINT(a,b);break;case"CIRCLE":v.CIRCLE(a,b,0);break;default:v.Agregar(a,b);break}this.paso=300;break;default:break}return},OnMover:function(a,b){var f=this.forma;var v=f.vertices;switch(this.paso){case 200:switch(f.tipo){case"POINT":v.POINT(a,b);break;case"CIRCLE":v.CIRCLE(a,b,0);break;default:v.Agregar(a,b);break}this.paso=300;break;case 300:switch(f.tipo){case"POINT":v.POINT(a,b);break;case"CIRCLE":{var r=0;var c=(a-this.inicioX);var d=(b-this.inicioY);if(0==c)r=Math.abs(d);else if(0==d)r=Math.abs(c);else r=Math.sqrt((c*c)+(d*d));v.EstablecerRadio(r)}break;default:v.EstablecerUltimo(a,b);break}break;default:break}return},OnSoltar:function(){this.paso=400;return},OnFinalizar:function(){this.forma.Cerrar();this.paso=0;return}};function FiltroAnillo(a){this.vertices=(!a)?null:a;return};FiltroAnillo.prototype={Clonar:function(){return new FiltroAnillo(this.vertices.Clonar())},Dispose:function(){if(this.vertices){this.vertices.Dispose();this.vertices=null}return},Vaciar:function(){if(this.vertices){this.vertices.Dispose();this.vertices=null}return},EsVacio:function(){if(!this.vertices)return true;return this.vertices.EsVacio()},TextoFiltro:function(){if(!this.vertices)return"<Anillo />";var t="<Anillo>";t=t.concat(this.vertices.Texto(2),'</Anillo>');return t}};function FiltroIGM(a,b){this.idCapa=(!a)?null:a;if(!b)this.igms=null;else this.igms=new Array().concat(b);return};FiltroIGM.prototype={Clonar:function(){return new FiltroIGM(this.idCapa,this.igms)},Dispose:function(){if(this.igms){this.igms.length=0;this.igms=null}this.idCapa=null;return},Vaciar:function(){if(this.igms){this.igms.length=0;this.igms=null}this.idCapa=null;return},EsVacio:function(){if(!this.idCapa||!this.igms)return true;return(this.igms.length<1)},TextoFiltro:function(){if(!this.idCapa||!this.igms)return"<IGM />";return new String("<IGM ").concat('capa="',this.idCapa,'" >',this.igms.toString(),'</IGM>')},TextoSelector:function(){return new String("I,").concat(this.idCapa,",",this.igms.toString())}};function FiltroPt(a,b,c){this.x=a;this.y=b;this.tolerancia=c;return};FiltroPt.prototype={Dispose:function(){this.x=null;this.y=null;this.tolerancia=null;return},TextoFiltro:function(){return new String("<Punto ").concat('x="',this.x,'" y="',this.y,'" t="',this.tolerancia,'" />')},TextoSelector:function(){var a=this.punto;return new String("P,").concat(this.x.toString(),",",this.y.toString(),",",this.tolerancia.toString())}};function FiltroRc(a,b,c,d){this.caja=new Caja(a,b,c,d,true);return};FiltroRc.prototype={Dispose:function(){this.caja=null;return},TextoFiltro:function(){var c=this.caja;return new String("<Rectángulo ").concat('xMín="',c.minX.toString(),'" xMáx="',c.maxX.toString(),'" yMín="',c.minY.toString(),'" yMáx="',c.maxY.toString(),'" />')},TextoSelector:function(){var c=this.caja;return new String("R,").concat(c.minX.toString(),",",c.minY.toString(),",",c.maxX.toString(),",",c.maxY.toString())}};function FiltroCr(a,b,c){this.x=a;this.y=b;this.radio=c;return};FiltroCr.prototype={Dispose:function(){this.x=null;this.y=null;this.radio=null;return},TextoFiltro:function(){return new String("<Círculo ").concat('x="',this.x,'" y="',this.y,'" r="',this.radio,'" />')},TextoSelector:function(){return new String("C,").concat(this.x.toString(),",",this.y.toString(),",",this.radio.toString())}};function Selector(a){this.texto=(!a)?null:a;return};Selector.prototype={Dispose:function(){if(this.texto)this.texto=null;return},TextoSelector:function(){if(this.texto)return this.texto;else return""}};function OrigenCapa(a,b){this.id=((!a)?null:a);this.conjunto=((!b)?null:b);return};OrigenCapa.prototype={Clonar:function(){return new OrigenCapa(this.id,this.conjunto)},Vaciar:function(){this.id=null;this.conjunto=null;return},EsVacio:function(){if(!this.conjunto)return true;else return false}};function RangoEscala(a,b){this.desde=((!a)?0:a);this.hasta=((!b)?0:b);return};RangoEscala.prototype={Clonar:function(){return new RangoEscala(this.desde,this.hasta)},Vaciar:function(){this.desde=0;this.hasta=0;return},Establecer:function(a,b){this.desde=a;this.hasta=b;this.Normalizar();return},SetDesde:function(a){this.desde=((a>0)?a:0);return},SetHasta:function(a){this.hasta=((a>0)?a:0);return},EsVacio:function(){if(this.desde==this.hasta)return true;else return false},Normalizar:function(){if(this.desde&&this.hasta){if(this.desde>this.hasta){var a=this.hasta;this.hasta=this.desde;this.desde=a}}return},Parse:function(a,b){this.Establecer(Util.ParseEscala(a,100),Util.ParseEscala(b,100));return},ToString:function(){return new Array(Util.EscalaToStr(this.desde,100),Util.EscalaToStr(this.hasta,100))}};function Etiquetado(a,b){this.visible=((!a)?false:a);if(b)this.rangoVisible=b;else this.rangoVisible=new RangoEscala();return};Etiquetado.prototype={Clonar:function(){return new Etiquetado(this.visible,this.rangoVisible.Clonar())}};function Nivel(a,b,c){this.id=((!a)?"":a);this.titulo=((!b)?"":b);this.visible=((!c)?false:true);return};Nivel.prototype={Dispose:function(){this.titulo=null;this.id=null;return},Clonar:function(){return new Nivel(this.id,this.titulo,this.visible)}};function Capa(a){this.id=((!a.id)?null:a.id);this.tipo=((!a.tipo)?"uniforme":a.tipo);this.modificada=((!a.modificada)?false:true);this.titulo=((!a.titulo)?"":a.titulo);this.visible=((!a.visible)?false:a.visible);this.seleccionable=((!a.seleccionable)?false:a.seleccionable);if("undefined"==typeof(a.consultable))a.consultable=true;this.consultable=((!a.consultable)?false:a.consultable);if(a.rangoVisible)this.rangoVisible=a.rangoVisible;else this.rangoVisible=new RangoEscala();if(a.etiquetado)this.etiquetado=a.etiquetado;else this.etiquetado=new Etiquetado();if(a.origenGeom)this.origenGeom=a.origenGeom;else this.origenGeom=new OrigenCapa();if(a.origenAlfa)this.origenAlfa=a.origenAlfa;else this.origenAlfa=new OrigenCapa();this.idEstilo=((!a.idEstilo)?"":a.idEstilo);if("undefined"==typeof(a.leyendaVisible))a.leyendaVisible=true;this.leyendaVisible=((!a.leyendaVisible)?false:a.leyendaVisible);this.niveles=null;this.nivelPorId=null;return};Capa.prototype={Dispose:function(){this.tipo=null;this.titulo=null;this.rangoVisible=null;this.etiquetado=null;this.origenGeom=null;this.origenAlfa=null;this.idEstilo=null;this.niveles=null;this.nivelPorId=null;return},Clonar:function(){return new Capa({id:this.id,modificada:this.modificada,titulo:this.titulo,visible:this.visible,seleccionable:this.seleccionable,consultable:this.consultable,rangoVisible:this.rangoVisible.Clonar(),etiquetado:this.etiquetado.Clonar(),tipo:this.tipo,idEstilo:this.idEstilo,leyendaVisible:this.leyendaVisible,origenGeom:this.origenGeom.Clonar(),origenAlfa:this.origenAlfa.Clonar()})}};function ConfigMapa(a,b){this.mapa=a;this.docXml=null;this.Cargar(b);this.cfgEstilo=null;return};ConfigMapa.prototype={Dispose:function(){this.mapa=null;if(this.estilos){this.cfgEstilo.Dispose();this.cfgEstilo=null}if(this.docXml){this.docXml.Dispose();this.docXml=null}return},Cargar:function(a){this.mapa.capas.length=0;if(!a||!a.root){this.docXml=null;return}this.docXml=a;this.Interpretar();return},Vaciar:function(){this.docXml=null;if(this.estilos){this.cfgEstilo.Dispose();this.cfgEstilo=null}return},Texto:function(){if(!this.docXml)return null;else return this.docXml.Texto()},Cargado:function(){if(!this.docXml)return false;if(!this.docXml.xml)return false;return true},Interpretar:function(){var a=this.docXml;var b=a.SeleccionarNodo(null,"ConfigMapa");if(!b)return;var c=a.SeleccionarNodo(b,"SRS");if(c)this.OnSRS(a,c);var d=a.SeleccionarNodo(b,"Caja");if(d)this.OnCaja(a,d);var e=a.SeleccionarNodo(b,"Sumario");if(e)this.OnSumario(a,e);var f=a.SeleccionarNodo(b,"Capas");if(f)this.OnCapas(a,f);return},OnSRS:function(a,b){this.mapa.SRS=a.TextoNodo(b);return},OnCaja:function(a,b){this.mapa.caja.LeerTexto(a.TextoNodo(b));return},OnSumario:function(a,b){this.mapa.titulo=a.TextoNodo(b,"Título");this.mapa.subTitulo=a.TextoNodo(b,"Subtítulo");return},OnCapas:function(a,b){var c=a.SeleccionarNodos(b,"Capa");if(c.length<1)return;for(var d=0;d<c.length;++d)this.OnCapa(a,c[d]);this.mapa.capas=this.mapa.capas.reverse();return},OnCapa:function(a,b){var c=b.getAttribute("id");if(!c)return;var d=new Capa({id:c});this.mapa.capas.push(d);var e=a.SeleccionarNodo(b,"Sumario");if(e)this.OnCapaSumario(a,d,e);e=a.SeleccionarNodo(b,"Visibilidad");if(e)this.OnCapaVisibilidad(a,d,e);e=a.SeleccionarNodo(b,"Consulta");if(e)this.OnCapaConsulta(a,_capa,e);e=a.SeleccionarNodo(b,"CapaGeometría");if(e)this.OnCapaGeometria(a,d,e);else{e=a.SeleccionarNodo(b,"CapaImagen");if(e)this.OnCapaImagen(a,d,e)}return},OnCapaSumario:function(a,b,c){b.titulo=a.TextoNodo(c,"Título");return},OnCapaVisibilidad:function(a,b,c){var d=c.getAttribute("visible");if(d){var e=d.charAt(0);if('s'==e||'S'==e)b.visible=true}var f=a.SeleccionarNodo(c,"RangoEscala");if(f)this.OnCapaRangoEscala(a,b,f);return},OnCapaRangoEscala:function(a,b,c){var d=c.getAttribute("desde");var e=c.getAttribute("hasta");b.rangoVisible.Parse(d,e);return},OnCapaImagen:function(a,b,c){b.tipo="imagen";var d=a.SeleccionarNodo(c,"Clasificación");if(d)this.OnCapaIClasificacion(a,b,d);return},OnCapaIClasificacion:function(a,b,c){var d=a.SeleccionarNodo(c,"Uniforme");if(!d)return;var e=a.SeleccionarNodo(d,"Estilo");if(e){var f=e.getAttribute("estilo");if(f)b.idEstilo=f}var g=d.getAttribute("leyenda");if(g){if("no"==g)b.leyendaVisible=false;else b.leyendaVisible=true}return},OnCapaGeometria:function(a,b,c){var d=a.SeleccionarNodo(c,"Selección");if(d)this.OnCapaSeleccion(a,b,d);var e=a.SeleccionarNodo(c,"Etiquetado");if(e)this.OnCapaEtiquetado(a,b,e);var f=a.SeleccionarNodo(c,"Orígenes");if(f)this.OnCapaOrigenes(a,b,f);var g=a.SeleccionarNodo(c,"Clasificación");if(g)this.OnCapaGClasificacion(a,b,g);return},OnCapaGClasificacion:function(a,b,c){var d=a.SeleccionarNodo(c,"Uniforme");if(d){b.tipo="uniforme";var e=a.SeleccionarNodo(d,"Estilo");if(e){var f=e.getAttribute("estilo");if(f)b.idEstilo=f}var g=d.getAttribute("leyenda");if(g){if("no"==g)b.leyendaVisible=false;else b.leyendaVisible=true}}else b.tipo="tematico";return},OnCapaSeleccion:function(a,b,c){var d=c.getAttribute("habilitar");if(!d)return;var e=d.charAt(0);if('s'==e||'S'==e)b.seleccionable=true;return},OnCapaConsulta:function(a,b,c){var d=c.getAttribute("habilitar");if(!d)return;var e=d.charAt(0);if('s'==e||'S'==e)b.consultable=true;return},OnCapaEtiquetado:function(a,b,c){var d=a.SeleccionarNodo(c,"Visibilidad");if(d)this.OnEtiqVisibilidad(a,b,d);return},OnCapaOrigenes:function(a,b,c){var d=a.SeleccionarNodo(c,"Geometría");if(d)this.OnOrigGeometria(a,b,d);var e=a.SeleccionarNodo(c,"Alfanumérico");if(e)this.OnOrigAlfanumerico(a,b,e);return},OnOrigGeometria:function(a,b,c){this.OnOrigenCapa(a,b.origenGeom,c);return},OnOrigAlfanumerico:function(a,b,c){this.OnOrigenCapa(a,b.origenAlfa,c);return},OnOrigenCapa:function(a,b,c){var d=c.getAttribute("origen");if(d)b.id=d;var e=c.getAttribute("conjunto");if(e)b.conjunto=e;else{var f=a.SeleccionarNodo(c,"Conjunto");if(f)b.conjunto=a.TextoNodo(f)}return},OnEtiqVisibilidad:function(a,b,c){var d=c.getAttribute("visible");if(!d)return;var e=d.charAt(0);if('s'==e||'S'==e)b.etiquetado.visible=true;var f=a.SeleccionarNodo(c,"RangoEscala");if(f)this.OnEtiqRangoEscala(a,b,f);return},OnEtiqRangoEscala:function(a,b,c){var d=c.getAttribute("desde");var e=c.getAttribute("hasta");b.etiquetado.rangoVisible.Parse(d,e);return},EstablecerParam:function(a,b){var c=this.docXml;var d=c.SeleccionarNodo(null,"ConfigMapa/Parámetros");if(!d)return;var e=c.NodoPorId(d,"Parámetro",a);if(e){c.EstablecerTextoNodo(e,b);c.InvalidarTexto();this.mapa.InvalidarSesion()}return},EstablecerParams:function(a){if(!a)return;var b=this.docXml;var c=b.SeleccionarNodo(null,"ConfigMapa/Parámetros");if(!c)return;var d;var p;for(p in a){switch(typeof(p)){case"number":case"string":d=b.NodoPorId(c,"Parámetro",p);if(d)b.EstablecerTextoNodo(d,a[p]);continue;default:continue}}d=null;p=null;b.InvalidarTexto();this.mapa.InvalidarSesion();return},EstablecerCapas:function(a){var b=this.docXml;var c=b.SeleccionarNodo(null,"ConfigMapa/Capas");if(!c)return;var d;var e=false;for(var f=0;f<a.length;++f){d=a[f];if(d.modificada){e=true;var g=b.NodoPorId(c,"Capa",d.id);if(g)this.EstablecerCapa(b,d,g);d.modificada=false}}if(e){b.InvalidarTexto();this.mapa.InvalidarSesion()}return},EstablecerCapa:function(a,b,c){var d=a.SeleccionarNodo(c,"Visibilidad");if(d){d.setAttribute("visible",((b.visible)?"si":"no"));var e=a.SeleccionarNodo(d,"RangoEscala");if(e){var f=b.rangoVisible.ToString();e.setAttribute("desde",f[0]);e.setAttribute("hasta",f[1])}}var g;if("imagen"==b.tipo){g=a.SeleccionarNodo(c,"CapaImagen");if(g)this.EstablecerCapaI(a,b,g)}else{g=a.SeleccionarNodo(c,"CapaGeometría");if(g)this.EstablecerCapaG(a,b,g)}return},EstablecerCapaI:function(a,b,c){var d=a.SeleccionarNodo(c,"Clasificación");if(d){var e=a.SeleccionarNodo(d,"Uniforme");if(e){e.setAttribute("leyenda",((b.leyendaVisible)?"si":"no"));var f=a.SeleccionarNodo(e,"Estilo");if(f)f.setAttribute("estilo",b.idEstilo)}}return},EstablecerCapaG:function(a,b,c){var d=a.SeleccionarNodo(c,"Selección");if(d)d.setAttribute("habilitar",((b.seleccionable)?"si":"no"));var e=a.SeleccionarNodo(c,"Etiquetado");if(e)this.EstablecerEtiquetado(a,b,e);var f=a.SeleccionarNodo(c,"Clasificación");if(f)this.EstablecerClasificacion(a,b,f);return},EstablecerClasificacion:function(a,b,c){var d=a.SeleccionarNodo(c,"Uniforme");if(d){d.setAttribute("leyenda",((b.leyendaVisible)?"si":"no"));var e=a.SeleccionarNodo(d,"Estilo");if(e)e.setAttribute("estilo",b.idEstilo)}this.EstablecerNiveles(a,b,c);return},EstablecerNiveles:function(a,b,c){if(!b.niveles||!b.niveles.length||!b.nivelPorId)return;var d=c.getElementsByTagName("Nivel");if(!d||d.length<1)return;for(var e=0;e<d.length;++e){var f=d[e];var g=f.getAttribute("id");if(g){var h=b.nivelPorId[g];if(h){var i=a.AgregarNodo(f,"Visibilidad",true);if(i)i.setAttribute("visible",((h.visible)?"si":"no"))}}}return},EstablecerEtiquetado:function(a,b,c){var d=b.etiquetado;var e=a.SeleccionarNodo(c,"Visibilidad");if(e){e.setAttribute("visible",((d.visible)?"si":"no"));var f=a.SeleccionarNodo(e,"RangoEscala");if(f){var g=d.rangoVisible.ToString();f.setAttribute("desde",g[0]);f.setAttribute("hasta",g[1])}}return},EstablecerCaja:function(a){if(!a)return;var b=this.docXml;var c=b.SeleccionarNodo(null,"ConfigMapa/Caja");if(!c)return;b.EstablecerTextoNodo(c,a.Texto());b.InvalidarTexto();this.mapa.InvalidarSesion();return},EstablecerSumario:function(a,b){var c=this.docXml;var d=c.SeleccionarNodo(null,"ConfigMapa/Sumario");if(!d)return;var e;e=c.SeleccionarNodo(d,"Título");if(!e)e=_docXml.CrearNodo(d,"Título");c.EstablecerTextoNodo(e,a);e=c.SeleccionarNodo(d,"Subtítulo");if(!e)e=_docXml.CrearNodo(d,"Subtítulo");c.EstablecerTextoNodo(e,b);c.InvalidarTexto();this.mapa.InvalidarSesion();return},ObtenerEstilos:function(){if(!this.cfgEstilo)this.cfgEstilo=new ConfigEstilo(this.docXml);return this.cfgEstilo.ObtenerEstilos()},EstablecerEstilos:function(a){var b=this.docXml;if(!this.cfgEstilo)this.cfgEstilo=new ConfigEstilo(b);var c=this.cfgEstilo.EstablecerEstilos(a);if(c){b.InvalidarTexto();this.mapa.InvalidarSesion()}return},ObtenerNiveles:function(a){if(!a)return;a.niveles=new Array();a.nivelPorId=new Object();var b=this.docXml;var c=b.SeleccionarNodo(null,"ConfigMapa/Capas");if(!c)return;var d=b.NodoPorId(c,"Capa",a.id);if(!d)return;var e=b.SeleccionarNodo(d,"CapaGeometría/Clasificación");if(!e)return;var f=e.getElementsByTagName("Nivel");if(!f||f.length<1)return;for(var g=0;g<f.length;++g){var h=f[g];var i=h.getAttribute("id");var j=b.TextoNodo(h,"Título");var k=b.SeleccionarNodo(h,"Visibilidad");var l=true;if(k){var m=h.getAttribute("visible");if(m)l=("no"==m)?false:true}var n=new Nivel(i,j,l);a.niveles.push(n);a.nivelPorId[i]=n}return}};function Situacion(a){this.SRS=null;this.unidad=null;this.cajaMapa=null;this.cajaVistaAerea=null;if(a)this.Interpretar(a);return}Situacion.prototype={Dispose:function(){this.cajaMapa=null;this.cajaVistaAerea=null;return},Interpretar:function(a){if(!a)return;this.SRS=a.TextoNodo(null,"SRS");this.unidad=a.TextoNodo(null,"UNIDAD");this.cajaMapa=new Caja();this.cajaMapa.Establecer(Util.ParseDouble(a.TextoNodo(null,"MINX")),Util.ParseDouble(a.TextoNodo(null,"MINY")),Util.ParseDouble(a.TextoNodo(null,"MAXX")),Util.ParseDouble(a.TextoNodo(null,"MAXY")));var b=a.SeleccionarNodo(null,"VISTA_AEREA");if(!b)return;this.cajaVistaAerea=new Caja();this.cajaVistaAerea.Establecer(Util.ParseDouble(a.TextoNodo(b,"MINX")),Util.ParseDouble(a.TextoNodo(b,"MINY")),Util.ParseDouble(a.TextoNodo(b,"MAXX")),Util.ParseDouble(a.TextoNodo(b,"MAXY")));return}};function Escala(){this.dimension=new Dimension();this.valor=null;return};Escala.prototype={};function VistaAerea(){this.dimension=new Dimension();this.celda=new Dimension();this.caja=new Caja();return};VistaAerea.prototype={EstablecerCaja:function(a){if(!a)return;this.caja.CopiarDe(a);this.celda.ancho=this.AnchoCelda();this.celda.alto=this.AltoCelda()},AnchoCelda:function(){var a=this.dimension.ancho;if(0==a)return 0;return(this.caja.Ancho()/a)},AltoCelda:function(){var a=this.dimension.alto;if(0==a)return 0;return(this.caja.Alto()/a)},RcAMapa:function(a,b,c,d){var e=this.celda.ancho;var f=this.celda.alto;if(e<=0||f<=0)return null;var g=this.caja.minX-(e*0.5)+(e*(a+1));var h=this.caja.maxY-(f*0.5)-(f*(b+1));var i=g+(c*e);var j=h-(d*f);return new Array(g,h,i,j)},PtAMapa:function(a,b){var c=this.celda.ancho;var d=this.celda.alto;if(c<=0||d<=0)return null;var e=this.caja.minX-(c*0.5)+(c*(a+1));var f=this.caja.maxY-(d*0.5)-(d*(b+1));return new Array(e,f)},MapaARc:function(a){if(!a)return;var b=this.celda.ancho;var c=this.celda.alto;if(b<=0||c<=0)return null;var x=(a.minX-this.caja.minX)/b;var d=(a.maxX-this.caja.minX)/b;var y=((this.caja.maxY-a.minY)/c);var e=((this.caja.maxY-a.maxY)/c);var w=Math.abs(d-x).toFixed(0);var h=Math.abs(e-y).toFixed(0);return new Array(x.toFixed(0),y.toFixed(0)-h,w,h)}};function Leyenda(){this.dimension=new Dimension();this.dimensionD=new Dimension(0,"*");return}Leyenda.prototype={ObtenerDimension:function(a){if(a){this.dimensionD.ancho=this.dimension.ancho;return this.dimensionD}else return this.dimension}};function FiltrosSel(){this.items=new Array()};FiltrosSel.prototype={Dispose:function(){if(this.items){for(var a=0;a<this.items.length;++a){var f=this.items[a];if(f)f.Dispose()}this.items.length=0;this.items=null}},Vaciar:function(){if(!this.items)return;for(var a=0;a<this.items.length;++a){var f=this.items[a];if(f)f.Dispose()}this.items.length=0},EsVacio:function(){return((!this.items)||(this.items.length<1))},EsIndividual:function(){return((this.items)&&(1==this.items.length))},EsMultiple:function(){return((this.items)&&(this.items.length>0))},AgregarFiltro:function(f){this.items.push(f)},TextoSelector:function(){var a=this.items.length;if(a<1)return"";var b=this.items[0];if(b.TextoSelector)return b.TextoSelector();if(b.Texto)return b.Texto();if(b.TextoFiltro)return b.TextoFiltro();else return;return b.TextoSelector()},TextoFiltros:function(){var t=new String('<?xml version="1.0" ?>');if(this.EsVacio())return t.concat('<ServicioMapas><Selección/></ServicioMapas>');t=t.concat('<ServicioMapas><Selección>');var a=this.items.length;for(var b=0;b<a;++b){t=t.concat("<Filtro>",this.items[b].TextoFiltro(),"</Filtro>")}return t.concat('</Selección></ServicioMapas>')}};function Mapa(a,b){this.clave=(!b)?null:b;this.titulo=null;this.subTitulo=null;this.sesion=null;this.versionSM=new Array(0,0,0,0);this.config=null;this.capas=new Array();this.caja=new Caja();this.dimension=new Dimension();this.celda=new Dimension();this.vistaAerea=new VistaAerea();this.escala=new Escala();this.leyenda=new Leyenda();this.mimeType="image/png";this.calidad="NORMAL";this.dpi=96;this.SRS=null;this.filtrosSel=new FiltrosSel();this.filtrosRes=new FiltrosSel();this.esVistaInicial=true;this.notificarSeleccion=false;this.situacion=new Situacion();var c=new Date();this.secuencia=c.getMilliseconds();this.InterpretarConfig(a);return};Mapa.prototype={Dispose:function(){this.titulo=null;this.subTitulo=null;this.sesion=null;this.caja=null;this.dimension=null;this.celda=null;this.escala=null;this.leyenda=null;this.mimeType=null;this.calidad=null;this.SRS=null;this.situacion=null;if(this.filtrosSel){this.filtrosSel.Dispose();this.filtrosSel=null}if(this.filtrosRes){this.filtrosRes.Dispose();this.filtrosRes=null}if(this.config){this.config.Dispose();this.config=null}return},Vaciar:function(){this.sesion=null;this.SRS=null;this.caja.Vaciar();this.esVistaInicial=true;this.notificarSeleccion=false;this.dimension.Vaciar();this.celda.Vaciar();this.filtrosSel.Vaciar();this.filtrosRes.Vaciar();return},InterpretarConfig:function(a){if(this.config){this.config.Dispose();this.config=null}this.config=new ConfigMapa(this,a);return},InvalidarSesion:function(){this.sesion=null;this.QuitarSeleccion();return},ClonarCapas:function(){return Util.ClonarArray(this.capas)},EstablecerCapas:function(a){this.capas=Util.ClonarArray(a);this.config.EstablecerCapas(a);return},EstablecerCapa:function(a){if(!a)return;a.modificada=true;this.config.EstablecerCapas(new Array(a));return},ObtenerCapa:function(a){if(!this.sesion)return null;var b=this.capas;if(!b)return null;var c=b.length;for(var d=0;d<c;++d){var e=b[d];if(a==e.id){if(!e.niveles)this.config.ObtenerNiveles(e);return e}}return null},Cargar:function(a){if(!a){this.Vaciar();return}try{this.sesion=a.TextoNodo(null,"SESION");var b=a.TextoNodo(null,"VERSION");var c;if(!b)c=new Array(0,0,0,0);else{c=b.toString().split(".");if(!c||(c.length<4))c=new Array(0,0,0,0)}var d=this.versionSM;d[0]=Util.ParseInt(c[0]);d[1]=Util.ParseInt(c[1]);d[2]=Util.ParseInt(c[2]);d[3]=Util.ParseInt(c[3]);this.SRS=a.TextoNodo(null,"SRS");this.caja.Establecer(Util.ParseDouble(a.TextoNodo(null,"MINX")),Util.ParseDouble(a.TextoNodo(null,"MINY")),Util.ParseDouble(a.TextoNodo(null,"MAXX")),Util.ParseDouble(a.TextoNodo(null,"MAXY")));this.escala.valor=Util.ParseDouble(a.TextoNodo(null,"ESCALA"));this.dimension.Establecer(Util.ParseInt(a.TextoNodo(null,"ANCHO")),Util.ParseInt(a.TextoNodo(null,"ALTO")));this.celda.Establecer(this.AnchoCelda(),this.AltoCelda())}catch(e){}return},MantenerSesion:function(a){if(!a){this.sesion=null;return}try{var b=a.TextoNodo(null,"SESION");if(b!=this.sesion)this.sesion=null}catch(e){this.sesion=null}return},QSNueva:function(){var a="SQ=";return a.concat(this.secuencia.toString())},QSMantener:function(){var a=this.QSNueva();if(this.sesion)a=a.concat("&SM_SESION=",this.sesion);return a},QSSituacion:function(){var a=this.QSNueva();if(this.sesion)a=a.concat("&SM_SESION=",this.sesion);return a},QSBase:function(a,b,c,d){var e=this.QSNueva();if(this.sesion)e=e.concat("&SM_SESION=",this.sesion);return e.concat("&SM_FORMATO=",a,"&SM_ANCHO=",b.ancho.toString(),"&SM_ALTO=",b.alto.toString(),"&SM_DPI=",c.toString(),"&SM_CALIDAD=",d)},QSImagenes:function(a){if(!a||!a.imagenMapa)return null;var b=a.imagenMapa;var c=Util.ParseInt(b.ancho);var d=Util.ParseInt(b.alto);if(c<1||d<1)return null;var e=this.QSNueva();e=e.concat("&SM_SESION=",this.sesion);var f=a.caja;if(!f){f=new Caja();var g=this.caja.Centro();var h=Util.ParseDouble(a.escala);if(!h)h=(this.escala.valor/100);var i=Util.ParseInt(b.dpi);if(!i)i=this.dpi;this.UbicarCaja(g.x,g.y,h,c,d,i,f)}e=e.concat("&SM_CAJA=",f.Texto(),"&SM_URL_BASE=/absatlas/temporal/");var j=a.imagenMapa;e=this.QSArchivo(e,j,"M");j=a.imagenVistaAerea;if(j)e=this.QSArchivo(e,j,"V");j=a.imagenEscala;if(j)e=this.QSArchivo(e,j,"E");j=a.imagenLeyenda;if(j)e=this.QSArchivo(e,j,"L");return e},QSArchivo:function(a,b,c){if(!b)return a;var d=Util.ParseInt(b.ancho);var e=Util.ParseInt(b.alto);if(!d||!e)return a;var f=a.concat("&SM_ANCHO_",c,"=",d.toString(),"&SM_ALTO_",c,"=",e.toString());if(b.formato)f=f.concat("&SM_FORMATO_",c,"=image/",b.formato);var g=Util.ParseInt(b.dpi);if(g)f=f.concat("&SM_DPI_",c,"=",g.toString());if(b.calidad)f=f.concat("&SM_CALIDAD_",c,"=",b.calidad);if(b.fondo)f=f.concat("&SM_FONDO_",c,"=",b.fondo);return f},QSImpresion:function(a){if(!a)return null;var b=a.caja;if(!b)b=this.caja;var c=b.Centro();var d=Util.ParseDouble(a.escala);if(!d)d=this.escala.valor;var e=this.QSNueva().concat("&SM_SESION=",this.sesion,"&SM_CENTRO=",c.Texto(),"&SM_ESCALA=",d.toString());return e},QSMapa:function(){this.secuencia++;var a=this.QSBase("image/png",this.dimension,this.dpi,this.calidad);a+="&SM_CAJA=";var b=this.caja;if(b.EsVacia()){if(!this.esVistaInicial)a+="*"}else a+=b.Texto();var c=this.capas;if(c&&c.length>1){a+="&SM_CAPAS=";var d;for(var e=c.length-1;e>=0;--e){d=c[e];if(d.visible){a=a.concat(d.id,";")}}}if(this.filtrosSel.EsVacio())a+="&SM_SELECTOR=";else if(this.filtrosSel.EsIndividual())a+=new String("&SM_SELECTOR=").concat(this.filtrosSel.TextoSelector());if(this.filtrosRes.EsVacio())a+="&SM_RESALTAR=";return a},QSImagen:function(){var a=this.QSBase("image/png",this.dimension,this.dpi,"NORMAL");return a},QSVistaAerea:function(a){var b=this.QSBase("image/png",this.vistaAerea.dimension,this.dpi,"NORMAL");if(a)b=b.concat("&SM_SITUACION=",a);return b},EsVersion:function(a,b){if(!a)return false;var c=this.versionSM;var d=c[0];if(d>a)return true;if(d<a)return false;if(!b)return(d==a);if(c[1]>=b)return true;return false},QSLeyenda:function(){var a=this.QSBase("image/png",this.leyenda.ObtenerDimension(this.EsVersion(1,2)),this.dpi,"NORMAL");return a},QSEscala:function(){var a=this.QSBase("image/png",this.escala.dimension,this.dpi,"NORMAL");return a},QSSeleccion:function(a,b,c){var d=new String().concat("SM_SESION=",this.sesion,"&SM_CAPA=",a,"&SM_MAX=",b);if(!c)return d;return d.concat("&SM_POS=",c)},QSSeleccionar:function(){var a="SM_SESION=";return a.concat(this.sesion)},QSResaltar:function(){var a="SM_SESION=";return a.concat(this.sesion)},MsjSeleccionar:function(){return this.filtrosSel.TextoFiltros()},MsjResaltar:function(){return this.filtrosRes.TextoFiltros()},AnchoCelda:function(){var a=this.dimension.ancho;if(0==a)return 0;return(this.caja.Ancho()/a)},AltoCelda:function(){var a=this.dimension.alto;if(0==a)return 0;return(this.caja.Alto()/a)},MaxCelda:function(){var a=this.celda;return Math.max(a.ancho,a.alto)},AreaCelda:function(){var a=this.celda;return Math.abs(a.ancho*a.alto)},RcAMapa:function(a,b,c,d){var e=this.celda.ancho;var f=this.celda.alto;if(e<=0||f<=0)return null;var g=this.caja.minX-(e*0.5)+(e*(a+1));var h=this.caja.maxY-(f*0.5)-(f*(b+1));var i=g+(c*e);var j=h-(d*f);return new Array(g,h,i,j)},PtAMapa:function(a,b){var c=this.celda.ancho;var d=this.celda.alto;if(c<=0||d<=0)return null;var e=this.caja.minX-(c*0.5)+(c*(a+1));var f=this.caja.maxY-(d*0.5)-(d*(b+1));return new Array(e,f)},PuntoAMapa:function(a){var b=this.celda.ancho;var c=this.celda.alto;if(b<=0||c<=0)return null;var d=this.caja.minX-(b*0.5)+(b*(a.x+1));var e=this.caja.maxY-(c*0.5)-(c*(a.y+1));return new Punto(d,e)},PuntoAVentana:function(a){var b=this.celda.ancho;var c=this.celda.alto;if(b<=0||c<=0)return null;var d=(a.x-this.caja.minX)/b;var e=(this.caja.maxY-a.y)/b;return new Punto(d,e)},CrAMapa:function(a,b,c){var d=this.celda.ancho;var e=this.celda.alto;if(d<=0||e<=0)return null;var f=this.caja.minX-(d*0.5)+(d*(a+1));var g=this.caja.maxY-(e*0.5)-(e*(b+1));var h=Math.max((c*d),(c*e));return new Array(f,g,h)},VrAMapa:function(a){if(!a)return null;var b=this.celda.ancho;var c=this.celda.alto;if(b<=0||c<=0)return null;var d=this.caja.minX-(b*0.5);var e=this.caja.maxY-(c*0.5);if(!a.cuenta){var f=d+(b*(a.x+1));var g=e-(c*(a.y+1));return new Vertices([f],[g],"POINT",1,0)}else{var h=a.cuenta;var f=a.x;var g=a.y;var i=new Array();i.length=h;var j=new Array();j.length=h;for(var k=0;k<h;++k){i[k]=d+(b*(f[k]+1));j[k]=e-(c*(g[k]+1))}var l;if(!a.r)l=0;else l=Math.max(b,c)*a.r;return new Vertices(i,j,a.tipo,h,l)}},DistAMapa:function(a){var b=this.MaxCelda();if(b<=0)return 0;return(b*a)},AreaAMapa:function(a){var b=this.AreaCelda();if(b<=0)return 0;return(b*a)},Zoom:function(a){if(!a)return;var b=this.caja;var w=a*b.Ancho()*0.5;var h=a*b.Alto()*0.5;b.Establecer(b.minX-w,b.minY-h,b.maxX+w,b.maxY+h);return},ZoomRect:function(a,b,c,d){var e=this.RcAMapa(a,b,c,d);if(!e)return;this.caja.Establecer(e[0],e[1],e[2],e[3]);return},EstablecerCaja:function(a,b,c,d){this.caja.Establecer(a,b,c,d);return},Desplazar:function(a,b){var c=this.celda.ancho;var d=this.celda.alto;if(c<=0||d<=0)return;var e=a*c;var f=b*d;var g=this.caja.minX-e;var h=this.caja.minY+f;var i=this.caja.maxX-e;var j=this.caja.maxY+f;this.caja.Establecer(g,h,i,j);return},Ubicar:function(a,b,c){var d=c/0.393701;var e=(this.dimension.ancho/this.dpi)*d;var f=(this.dimension.alto/this.dpi)*d;var g=e/2;var h=f/2;var i=a-g;var j=b-h;var k=a+g;var l=b+h;this.caja.Establecer(i,j,k,l);return},UbicarCaja:function(a,b,c,d,e,f,g){var h=c/0.393701;var i=(d/f)*h;var j=(e/f)*h;var k=i/2;var l=j/2;var m=a-k;var n=b-l;var o=a+k;var p=b+l;g.Establecer(m,n,o,p);return},VistaCompleta:function(){this.caja.Vaciar();this.esVistaInicial=false;return},VistaInicial:function(){this.caja.Vaciar();this.esVistaInicial=true;return},RequiereSeleccionar:function(){return(this.filtrosSel.EsMultiple())},TieneFiltroSel:function(){return(!this.filtrosSel.EsVacio())},TieneSelec:function(){return this.TieneSeleccion()},TieneSeleccion:function(){return(!this.filtrosSel.EsVacio())},QuitarSeleccion:function(){this.filtrosSel.Vaciar();return},RequiereResaltar:function(){return(!this.filtrosRes.EsVacio())},TieneResaltado:function(){return(!this.filtrosRes.EsVacio())},QuitarResaltado:function(){this.filtrosRes.Vaciar();return},SelecRc:function(a,b,c,d,e){if(!e)this.QuitarSeleccion();var f=this.RcAMapa(a,b,c,d);if(!f)return;this.filtrosSel.AgregarFiltro(new FiltroRc(f[0],f[1],f[2],f[3]));return},SelecPt:function(a,b,c){if(!c)this.QuitarSeleccion();var d=this.PtAMapa(a,b);if(!d)return;this.filtrosSel.AgregarFiltro(new FiltroPt(d[0],d[1],4*this.MaxCelda()));return},SelecCr:function(a,b,c,d){if(!d)this.QuitarSeleccion();var e=this.CrAMapa(a,b,c);if(!e)return;this.filtrosSel.AgregarFiltro(new FiltroCr(e[0],e[1],e[2]));return},SelecPl:function(a,b){if(!b)this.QuitarSeleccion();if(!a)return;var c=this.VrAMapa(a);this.filtrosSel.AgregarFiltro(new FiltroAnillo(c));return},SelecIGM:function(a,b,c){this.QuitarSeleccion();if(!a||!b)return;this.filtrosSel.AgregarFiltro(new FiltroIGM(a,b));return},ResaltarIGM:function(a,b){this.QuitarResaltado();if(!a||!b)return;this.filtrosRes.AgregarFiltro(new FiltroIGM(a,b));return},EstablecerResaltar:function(a){this.QuitarResaltado();if(!a)return;var b=a.split(",");if(b.length<2)return;this.filtrosRes.AgregarFiltro(new FiltroIGM(b[0],b.slice(1)));return},EstablecerSelec:function(a){this.QuitarSeleccion();if(!a)return;this.filtrosSel.AgregarFiltro(a);return},EstablecerParams:function(a){this.config.EstablecerParams(a);return},EstablecerCajaIni:function(a){if(!a)return;this.config.EstablecerCaja(a);return},ObtenerEstilos:function(){return this.config.ObtenerEstilos()},EstablecerEstilos:function(a){this.config.EstablecerEstilos(a);return},EstablecerSumario:function(a,b){if(!a)a="";if(!b)b="";this.titulo=a;this.subTitulo=b;this.config.EstablecerSumario(a,b);return}};function ArchivoImagen(){this.url=null;this.alto=null;this.ancho=null;this.dpi=null;this.formato=null;return};function ImagenesMapa(a){this.sesion=null;this.caja=new Caja();this.SRS=null;this.escala=0;this.imagenMapa=null;this.imagenEscala=null;this.imagenLeyenda=null;this.imagenVistaAerea=null;if(a)this.Cargar(a);return};ImagenesMapa.prototype={Dispose:function(){this.caja=null;this.SRS=null;this.escala=0;this.imagenMapa=null;this.imagenEscala=null;this.imagenLeyenda=null;this.imagenVistaAerea=null;return},Vaciar:function(){this.caja.Vaciar();this.SRS=null;this.escala=0;this.imagenMapa=null;this.imagenEscala=null;this.imagenLeyenda=null;this.imagenVistaAerea=null;return},Cargar:function(a){if(!a){this.Vaciar();return}this.sesion=a.TextoNodo(null,"SESION");this.SRS=a.TextoNodo(null,"SRS");this.caja.Establecer(Util.ParseDouble(a.TextoNodo(null,"MINX")),Util.ParseDouble(a.TextoNodo(null,"MINY")),Util.ParseDouble(a.TextoNodo(null,"MAXX")),Util.ParseDouble(a.TextoNodo(null,"MAXY")));this.escala=Util.ParseDouble(a.TextoNodo(null,"ESCALA"));var b;var c;c=a.SeleccionarNodo(null,"M");if(c){b=new ArchivoImagen();this.imagenMapa=b;this.OnArchivo(a,c,b)}c=a.SeleccionarNodo(null,"V");if(c){b=new ArchivoImagen();this.imagenVistaAerea=b;this.OnArchivo(a,c,b)}c=a.SeleccionarNodo(null,"E");if(c){b=new ArchivoImagen();this.imagenEscala=b;this.OnArchivo(a,c,b)}c=a.SeleccionarNodo(null,"L");if(c){b=new ArchivoImagen();this.imagenLeyenda=b;this.OnArchivo(a,c,b)}return},OnArchivo:function(a,b,c){c.url=a.TextoNodo(b,"ARCHIVO");c.alto=Util.ParseInt(a.TextoNodo(b,"ALTO"));c.ancho=Util.ParseInt(a.TextoNodo(b,"ANCHO"));c.dpi=Util.ParseInt(a.TextoNodo(b,"DPI"));c.formato=a.TextoNodo(b,"MIME");return}};function Documento(a){this.urlDescarga=null;this.url=null;this.formato=null;if(a)this.Cargar(a);return};Documento.prototype={Dispose:function(){this.url=null;this.formato=null;this.urlDescarga=null;return},Vaciar:function(){this.url=null;this.formato=null;this.urlDescarga=null;return},Cargar:function(a){if(!a){this.Vaciar();return}this.url=a.TextoNodo(null,"URL");this.formato=a.TextoNodo(null,"FORMATO");return}};function Peticion(a,b,c){this.url=c;this.parametros=new Object();var d=this.parametros;d["COMANDO"]=b;d["SESION_ATLAS"]=a.sesionAtlas;d["IDIOMA"]=a.idioma;d["TEMA"]=a.tema;var e=a.mapa;if(e){d["SESION_SM"]=e.sesion;d["MAPA_CLAVE"]=e.clave;d["SRS"]=e.SRS}return};Peticion.prototype={Url:function(){var a=new String();var b=this.parametros;var c=0;for(k1 in b){var d=b[k1];if(null==d)d="";switch(typeof(d)){default:if(c++>0)a=a.concat("&",k1,"=",d.toString());else a=a.concat(k1,"=",d.toString());break;case"function":case"undefined":break}d=null}if((this.url.indexOf("?")<0)&&(a.indexOf("?")<0))return this.url.concat("?",a);return this.url.concat("&",a)}};function Localizado(a,b){this.tabla="";this.idCapa="";this.caja=new Caja();this.listaIGM=new Array();this.Interpretar(a,b);return}Localizado.prototype={Dispose:function(){this.tabla=null;this.idCapa=null;this.caja=null;if(this.listaIGM){this.listaIGM.length=0;this.listaIGM=null}return},EsVacio:function(){if(!this.listaIGM)return true;return(this.listaIGM.length<1)},Interpretar:function(a,b){var c=a.TextoNodo(b,"TABLA");if(c){this.tabla=c;this.idCapa=c}var c=a.TextoNodo(b,"CAPA");if(c)this.idCapa=c;c=a.TextoNodo(b,"CAJA");if(c)this.caja.LeerTexto(c);var c=a.TextoNodo(b,"IGM");if(c){if(c.indexOf(",")<0){var d=Util.ParseInt(c);if(d)this.listaIGM.push(d)}else{var e=c.split(",");if(e){var d;for(var f=0;f<e.length;++f){d=Util.ParseInt(e[f]);if(d)this.listaIGM.push(d)}}}}return}};function Busqueda(a){this.gestor=a;this.texto="";this.clave="";this.clase="";this.cartel="";return};Busqueda.prototype={Buscar:function(a){if(!a)a=this.texto;var b=new String("/absatlas/guiaUrbana4/fr_rbusqueda.php?").concat("OP=BUSCAR&TEXTO=",encodeURIComponent(a));this.gestor.AbrirVentana(b,300,460,"location=no,menubar=no,resizable=no,scrollbars=no,toolbar=no,status=no","derecha");return},Localizar:function(a,b){if(!a)a=this.clase;if(!b)b=this.clave;var c=new String("?OP=LOCALIZAR").concat("&CLASE=",a,"&CLAVE=",b,"&SESION_ATLAS=",this.gestor.sesionAtlas,"&IDIOMA=",this.gestor.idioma,"&TEMA=",this.gestor.tema);var d=new PeticionHttp();var e=d.GetXml("/absatlas/absmapas/ws/op/busqueda.ashx",c);if(!e){d.Dispose();return null}var f;var g=e.SeleccionarNodo(null,"RESULTADO");if(g)f=new Localizado(e,g);else f=null;e.Dispose();d.Dispose();return f}};Stroke=function(){this.width=1;this.linecap="round";this.opacity=1;this.linejoin="miter";this.dashstyle="solid";this.startarrow="none";this.endarrow="none";this.color=new ColorRgbA(0,0,0,255)};Stroke.prototype={Reset:function(){this.width=1;this.linecap="round";this.opacity=1;this.linejoin="miter";this.dashstyle="solid";this.startarrow="none";this.endarrow="none";this.color.Establecer(0,0,0,255)},DashArray:function(){if("dash"==this.dashstyle)return"5,3";return"none"},MarkerEnd:function(){if("classic"==this.endarrow)return"url(#svg_arrow_classic)";return"none"}};Fill=function(){this.color=new ColorRgbA(0xFF,0xFF,0xFF,255);this.image=""};Fill.prototype={Reset:function(){this.color.Establecer(0xFF,0xFF,0xFF,255);this.image=""}};function LienzoVML(a){this.modo="vml";this.formas={};this.zIndex=101;this.stroke=new Stroke();this.fill=new Fill();this.elmDiv=document.createElement("div");this.elmDiv.unselectable="on";this.elmDiv.style.position="absolute";this.elmDiv.style.top=a.offsetTop+"px";this.elmDiv.style.left=a.offsetLeft+"px";this.elmDiv.style.display="none";this.elmDiv.style.width="0px";this.elmDiv.style.height="0px";this.elmDiv.style.cursor="crosshair";this.coordsize={x:0,y:0};a.appendChild(this.elmDiv);return};LienzoVML.prototype={Dispose:function(){this.Vaciar();this.formas=null},Vaciar:function(){for(var a in this.formas){var f=this.formas[a];if(f&&("object"==typeof(f))){if(f.elm){this.elmDiv.removeChild(f.elm);f.elm=null}if(f.elmObj){this.elmDiv.removeChild(f.elmObj);f.elmObj=null}f.forma=null;f=null;delete this.formas[a]}}this.formas={}},Ocultar:function(a){this.elmDiv.style.display="none";if(a)this.Vaciar()},EstablecerCursor:function(a){},Preparar:function(a,b,c){if(c)this.Vaciar();this.elmDiv.style.top="0px";this.elmDiv.style.left="0px";this.elmDiv.style.width=a+"px";this.elmDiv.style.height=b+"px";this.elmDiv.style.display="block";this.coordsize.x=a;this.coordsize.y=b},QuitarForma:function(a){if(!a)return;var f=this.formas[a];if(!f)return;if(f.elm){this.elmDiv.removeChild(f.elm);f.elm=null}if(f.elmObj){this.elmDiv.removeChild(f.elmObj);f.elmObj=null}f.forma=null;f=null;this.formas[a]=null},PintarForma:function(a){if(!a)return;switch(a.tipo){case"POINT":this.PintarImage(a);return;case"CIRCLE":this.PintarOval(a);return;case"POLYGON":case"LINESTRING":this.PintarPath(a);return}},AgregarStroke:function(a){if(!this.stroke||this.stroke.color.A<1){a.stroke="false";return}var b=document.createElement("v:stroke");b.unselectable="on";b.setAttribute("weight",this.stroke.width/1.25);b.setAttribute("joinstyle",this.stroke.linejoin);b.setAttribute("color",this.stroke.color.toHexString());b.setAttribute("endcap",this.stroke.linecap);b.setAttribute("opacity",this.stroke.color.A/255);b.setAttribute("dashstyle",this.stroke.dashstyle);b.setAttribute("startarrow",this.stroke.startarrow);b.setAttribute("endarrow",this.stroke.endarrow);a.appendChild(b);b=null},AgregarFill:function(a){if(!this.fill||this.fill.color.A<1){a.filled="false";return}var b=document.createElement("v:fill");b.unselectable="on";b.setAttribute("color",this.fill.color.toHexString());b.setAttribute("opacity",this.fill.color.A/255);a.appendChild(b);b=null},AgregarObjeto:function(a){if(!a.objeto)return null;var b=a.objeto;switch(b.clase){default:return null;case"Cartel":var c=libabsui.Elm({parent:this.elmDiv,id:b.id,x:b.x,y:b.y,w:b.w+2,h:b.h});c.setText(b.texto);c.setBgColor(this.fill.color.toHexString());c.setAlpha(this.fill.color.A);c.setOverflow("hidden");c.style.fontSize="smaller";var d=new String("solid ").concat(this.stroke.width.toFixed(0),"px ",this.stroke.color.toHexString());c.style.zIndex=this.zIndex+1;c.style.borderTop=d;c.style.borderLeft=d;c.style.borderRight=d;c.style.borderBottom="none";c.style.padding="2px";var e=libabsui.Elm({parent:c,id:new String("close_").concat(b.id),x:b.w-11,y:1,type:"a"});e.setText(new String("<img alt='").concat("Cerrar","' style='border:none;width:10px;height:9px;' src='../../lib/2.0/im/060401.gif'/>"));e.href=new String("javascript:GestorCartel.QuitarCartel('").concat(b.id,"')");return c}},PintarObjeto:function(a){if(!a.forma.objeto)return;var b=a.forma.objeto;switch(b.clase){default:return;case"Cartel":a.elmObj.moveTo(b.x,b.y);return}},AgregarPath:function(a){if(!a)return;var b=document.createElement("v:shape");b.setAttribute("path",a.PathVml());b.setAttribute("id",a.id);b.style.zIndex=this.zIndex;b.unselectable="on";b.style.position="absolute";b.style.top=this.elmDiv.style.top;b.style.left=this.elmDiv.style.left;b.style.width=this.elmDiv.style.width;b.style.height=this.elmDiv.style.height;b.coordsize=new String(this.coordsize.x.toString()).concat(",",this.coordsize.y.toString());b.style.cursor="crosshair";this.AgregarStroke(b);this.AgregarFill(b);this.elmDiv.appendChild(b);var c=this.AgregarObjeto(a);this.formas[a.id]={elm:b,forma:a,elmObj:c};return},PintarPath:function(a){if(!a)return;var f=this.formas[a.id];if(!f){this.AgregarPath(a);return}f.elm.setAttribute("path",f.forma.PathVml());if(f.elmObj)this.PintarObjeto(f);return},AgregarOval:function(a){if(!a)return;var b=document.createElement("v:oval");var r=a.vertices.Radio();var c=a.vertices.Primero();b.style.left=c.x-r;b.style.top=c.y-r;b.style.width=r*2;b.style.height=r*2;b.setAttribute("id",a.id);b.style.zIndex=this.zIndex;b.unselectable="on";b.style.position="absolute";b.style.cursor="crosshair";this.AgregarStroke(b);this.AgregarFill(b);this.elmDiv.appendChild(b);this.formas[a.id]={elm:b,forma:a};return},PintarOval:function(a){if(!a)return;var f=this.formas[a.id];if(!f){this.AgregarOval(a);return}var r=a.vertices.Radio();var c=a.vertices.Primero();f.elm.style.left=c.x-r;f.elm.style.top=c.y-r;f.elm.style.width=r*2;f.elm.style.height=r*2;return},AgregarImage:function(a){if(!a)return;var b=document.createElement("v:image");var c=a.vertices.Primero();b.style.left=c.x-9;b.style.top=c.y-18;b.style.width=18;b.style.height=18;b.setAttribute("id",a.id);b.style.zIndex=this.zIndex;b.unselectable="on";b.style.position="absolute";b.style.cursor="crosshair";if(this.fill)b.src=this.fill.image;this.elmDiv.appendChild(b);this.formas[a.id]={elm:b,forma:a};return},PintarImage:function(a){if(!a)return;var f=this.formas[a.id];if(!f){this.AgregarImage(a);return}var c=a.vertices.Primero();f.elm.style.left=c.x-9;f.elm.style.top=c.y-18;return}};function LienzoSVG(a){this.modo="svg";this.formas={};this.zIndex=101;this.stroke=new Stroke();this.fill=new Fill();this.elmDiv=document.createElement("div");this.elmDiv.style.position="absolute";this.elmDiv.style.top=a.offsetTop+"px";this.elmDiv.style.left=a.offsetLeft+"px";this.elmDiv.style.display="none";this.elmDiv.style.width="0px";this.elmDiv.style.height="0px";libabsui.disallowSelect(this.elmDiv);a.appendChild(this.elmDiv);this.elmSvg=document.createElementNS("http://www.w3.org/2000/svg","svg");this.elmSvg.setAttribute("height","100%");this.elmSvg.setAttribute("width","100%");libabsui.disallowSelect(this.elmSvg);this.elmDiv.appendChild(this.elmSvg);var b=document.createElementNS("http://www.w3.org/2000/svg","defs");this.elmSvg.appendChild(b);var c=document.createElementNS("http://www.w3.org/2000/svg","marker");b.appendChild(c);c.setAttribute("id","svg_arrow_classic");c.setAttribute("viewBox","0 0 10 10");c.setAttribute("refX","0");c.setAttribute("refY","5");c.setAttribute("markerUnits","strokeWidth");c.setAttribute("markerWidth","4");c.setAttribute("markerHeight","3");c.setAttribute("orient","auto");var d=document.createElementNS("http://www.w3.org/2000/svg","path");c.appendChild(d);d.setAttribute("d","M 0 0 L 10 5 L 0 10 z");return};LienzoSVG.prototype={Dispose:function(){this.Vaciar();this.formas=null;this.elmDiv=null;this.elmSvg=null},Vaciar:function(){for(var a in this.formas){var f=this.formas[a];if(f&&("object"==typeof(f))){if(f.elm){this.elmSvg.removeChild(f.elm);f.elm=null}if(f.elmObj){this.elmDiv.removeChild(f.elmObj);f.elmObj=null}f.forma=null;f.caja=null;f=null;delete this.formas[a]}}this.formas={}},Ocultar:function(a){this.elmDiv.style.display="none";if(a)this.Vaciar()},EstablecerCursor:function(a){this.elmDiv.style.cursor=a},Preparar:function(a,b,c){if(c)this.Vaciar();this.elmDiv.style.top="0px";this.elmDiv.style.left="0px";this.elmDiv.style.width=a+"px";this.elmDiv.style.height=b+"px";this.elmSvg.setAttribute("width",a+"");this.elmSvg.setAttribute("height",b+"");this.elmDiv.style.display="block"},QuitarForma:function(a){if(!a)return;var f=this.formas[a];if(!f)return;if(f.elm){this.elmSvg.removeChild(f.elm);f.elm=null}if(f.elmObj){this.elmDiv.removeChild(f.elmObj);f.elmObj=null}f.forma=null;f=null;this.formas[a]=null},PintarForma:function(a){if(!a)return;switch(a.tipo){case"POINT":this.PintarImage(a);return;case"CIRCLE":this.PintarCircle(a);return;case"POLYGON":case"LINESTRING":this.PintarPath(a);return}},AgregarStroke:function(a){if(!this.stroke||this.stroke.color.A<1){a.setAttribute("stroke","none");return}a.setAttribute("stroke",this.stroke.color.toHexString());a.setAttribute("stroke-width",this.stroke.width);a.setAttribute("stroke-opacity",this.stroke.color.A/255);a.setAttribute("stroke-linejoin",this.stroke.linejoin);a.setAttribute("stroke-opacity",this.stroke.color.A/255);a.setAttribute("stroke-dasharray",this.stroke.DashArray());a.setAttribute("marker-end","none")},AgregarFill:function(a){if(!this.fill||this.fill.color.A<1){a.setAttribute("fill","none");return}a.setAttribute("fill",this.fill.color.toHexString());a.setAttribute("fill-opacity",this.fill.color.A/255)},AgregarObjeto:function(a){if(!a.objeto)return null;var b=a.objeto;switch(b.clase){default:return null;case"Cartel":var c=libabsui.Elm({parent:this.elmDiv,id:b.id,x:b.x,y:b.y,w:b.w-5,h:b.h-5});c.setText(b.texto);c.setBgColor(this.fill.color.toHexString());c.setAlpha(this.fill.color.A);c.setOverflow("hidden");c.style.fontSize="smaller";c.style.zIndex=this.zIndex+1;var d=new String("solid ").concat(this.stroke.width.toFixed(0),"px ",this.stroke.color.toHexString());c.style.borderTop=d;c.style.borderLeft=d;c.style.borderRight=d;c.style.borderBottom="none";c.style.padding="2px";var e=libabsui.Elm({parent:c,id:new String("close_").concat(b.id),x:b.w-11,y:1,type:"a"});e.setText(new String("<img alt='").concat("Cerrar","' style='border:none;width:10px;height:9px;' src='../../lib/2.0/im/060401.gif'/>"));e.href=new String("javascript:GestorCartel.QuitarCartel('").concat(b.id,"')");return c}},PintarObjeto:function(a){if(!a.forma.objeto)return;var b=a.forma.objeto;switch(b.clase){default:return;case"Cartel":a.elmObj.moveTo(b.x,b.y);return}},AgregarPath:function(a){if(!a)return;var b=document.createElementNS("http://www.w3.org/2000/svg","path");b.setAttribute("id",a.id);b.setAttribute("d",a.PathSvg());b.style.zIndex=this.zIndex;b.style.cursor="crosshair";libabsui.disallowSelect(b);this.AgregarStroke(b);this.AgregarFill(b);this.elmSvg.appendChild(b);var c=this.AgregarObjeto(a);this.formas[a.id]={elm:b,forma:a,elmObj:c};return},PintarPath:function(a){if(!a)return;var f=this.formas[a.id];if(!f){this.AgregarPath(a);return}f.elm.setAttribute("d",f.forma.PathSvg());if(f.elmObj)this.PintarObjeto(f);return},AgregarCircle:function(a){if(!a)return;var b=document.createElementNS("http://www.w3.org/2000/svg","circle");var c=a.vertices.Primero();b.setAttribute("cx",c.x);b.setAttribute("cy",c.y);b.setAttribute("r",a.vertices.Radio());b.setAttribute("id",a.id);b.style.zIndex=this.zIndex;b.style.cursor="crosshair";libabsui.disallowSelect(b);this.AgregarStroke(b);this.AgregarFill(b);this.elmSvg.appendChild(b);this.formas[a.id]={elm:b,forma:a};return},PintarCircle:function(a){if(!a)return;var f=this.formas[a.id];if(!f){this.AgregarCircle(a);return}var c=a.vertices.Primero();f.elm.setAttribute("cx",c.x);f.elm.setAttribute("cy",c.y);f.elm.setAttribute("r",a.vertices.Radio());return},AgregarImage:function(a){if(!a)return;var b=document.createElementNS("http://www.w3.org/2000/svg","image");var c=a.vertices.Primero();b.setAttribute("x",c.x-9);b.setAttribute("y",c.y-18);b.setAttribute("width",18);b.setAttribute("height",18);b.setAttribute("id",a.id);b.style.zIndex=this.zIndex;b.style.cursor="crosshair";libabsui.disallowSelect(b);if(this.fill)b.setAttributeNS("http://www.w3.org/1999/xlink","href",this.fill.image);this.elmSvg.appendChild(b);this.formas[a.id]={elm:b,forma:a};return},PintarImage:function(a){if(!a)return;var f=this.formas[a.id];if(!f){this.AgregarImage(a);return}var c=a.vertices.Primero();f.elm.setAttribute("x",c.x-9);f.elm.setAttribute("y",c.y-18);return}};var Lienzo={};Lienzo.CrearLienzo=function(a){if(libabsui.isIE)return new LienzoVML(a);return new LienzoSVG(a)};function Cartel(a,b){this.clase="Cartel";this.gestor=a;this.id=b.id;this.pt=(!b.pt)?{x:0,y:0}:b.pt;this.x=(!b.x)?0:Number(b.x);this.y=(!b.y)?0:Number(b.y);this.w=(!b.w)?0:Number(b.w);this.h=(!b.h)?0:Number(b.h);this.f=null;this.e=null;this.texto=(!b.texto)?"":new String(b.texto)};Cartel.prototype={Dispose:function(){this.id=null;if(this.f){this.f.Dispose();this.f=null}this.id=null;this.f=null;this.e=null;this.clase=null},toString:function(){return this.texto}};var GestorCartel={carteles:{},lienzo:null};GestorCartel.EstablecerLienzo=function(a){this.lienzo=a};GestorCartel.Dispose=function(){this.Vaciar();this.carteles=null;this.lienzo=null};GestorCartel.Vaciar=function(){for(var a in this.carteles){var c=this.carteles[a];if("object"==typeof(c)){c.Dispose();c=null}}this.carteles={};this.lienzo.Vaciar()};GestorCartel.AgregarCartel=function(a){if(!a)return;if(!a.id)a.id=Util.ClaveUnica();if(!a.pt)return;var c=new Cartel(this,a);if(!a.texto)c.texto="";if(a.anchura)c.w=Number(a.anchura);if(!c.w)c.w=132;if(a.altura)c.h=Number(a.altura);if(!c.h)c.h=64;this.carteles[c.id]=c;return c};GestorCartel.QuitarCartel=function(a){if(!a)return;var c=this.carteles[a];if(!c)return;this.lienzo.QuitarForma(c.f.id);c.Dispose();c=null;this.carteles[a]=null;delete this.carteles[a]};GestorCartel.PintarCartel=function(a,b,c){if(!b)return;if(!a)return;var d=new ColorRgbA(0xFF,0xFF,0xAA,255);if(c&&c.color)d.FromString(c.color.toString());if(!b.f)b.f=new Forma(null,"LINESTRING",null,b);this.ConfigurarForma(a,b);this.lienzo.stroke.Reset();this.lienzo.stroke.color.Establecer(0x80,0x80,0x80,255);this.lienzo.fill.Reset();this.lienzo.fill.color=d;this.lienzo.PintarForma(b.f);return};GestorCartel.ConfigurarForma=function(a,b){if(!b)return;var c=a.PuntoAVentana(b.pt);var r=[c.x-(b.w-40),c.y-40,c.x+15,c.y-40,c.x,c.y,c.x+15+5,c.y-40,c.x+15+5+20,c.y-40];var v=b.f.vertices;if(v.EsVacio())v.AgregarRango(r);else v.EstablecerRango(r);b.x=r[0];b.y=r[1]-b.h;c=null;return};GestorCartel.Actualizar=function(a){if(!a)return;for(var b in this.carteles){var c=this.carteles[b];if(c&&("object"==typeof(c))&&c.f){this.ConfigurarForma(a,c);this.lienzo.PintarForma(c.f)}}return};GestorCartel.EsPosCartel=function(a){if(!a)return false;for(var b in this.carteles){var c=this.carteles[b];if(c&&("object"==typeof(c))&&c.x){if((a.x>=c.x)&&(a.x<=(c.x+c.w))&&(a.y>=c.y)&&(a.y<=(c.y+c.h)))return true}}return false};function PreseleccionEvent(a,b){this.formaP=a;this.formaM=b;this.cancelar=false};PreseleccionEvent.prototype={Dispose:function(){if(this.formaP){this.formaP.Dispose();this.formaP=null}if(this.formaM){this.formaM.Dispose();this.formaM=null}}};
