	var map,scalebar;
	var style_black;
	var style_red;
	var orto1=0;
	var orto2=0;
	var ventana;
	var distanciatotal = 0;
	var _loadend_;
	var popupQuery;
	var esIE6 = false;
	var ign,wmsGeo,lyrSecciones,lyrCp;
	var markers, markers2, markers3, markersPoint, markersPOI, controls,style_selected;
	var markersPOI;
	var layerSwitcher_1, layerSwitcher_2, overview;
	var controls2;
	var defaultIcon = null;
	var vectorLayer2 = null;
	
	var _print_1 = null;
	var _print_2 = null;
	var _print_3 = null;
	
	function init(esPagePrint)
	{
		loadEntidad(0);
		isIE6();
		
		document.formgml.locPoint.value="";
		document.formgml.coordPol.value="";
		document.formgml.coordPoint.value="";
		document.formgml.coordLine.value="";
		document.formgml.lastExtent.value="";
		document.formgml.evtXY.value="";
		document.forms.ruta.descRuta.value="";
		document.forms.formgml.detailRoute.value="";
		
		
				
				style_black = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
            	style_black.strokeColor = "black"; 
            	style_black.strokeWidth = "2"; 
            	style_black.fillColor= "#FFFFFF";
        		style_black.fillOpacity= 1;
		        style_black.pointRadius= 6;
            	
            	style_point = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
            	style_point.strokeColor = "#FF0000"; 
            	style_point.fillColor= "#FF0000";
        		style_point.fillOpacity= 1;
		        style_point.pointRadius= 6;
		        
		        style_red = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
            	style_red.strokeColor ="#FF0000"; 
            	style_red.fillOpacity= 0.75;
            	style_red.strokeWidth=8;
            	style_red.strokeOpacity=0.75;
            	
            	style_selected = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
            	style_selected.strokeColor ="#FF0000"; 
            	style_selected.fillOpacity= 0.50;
            	style_selected.strokeWidth=10;
            	
            	style_selected.strokeOpacity=0.50;
            	style_selected.fillColor= 0.50;
            	
            	
		        
			
			avisoLog = document.getElementById("avisoId");
			
//-------------------------- Parcheo JGG -------------------------------------//
/*			var mapOptions = {
			maxResolution:0.0439453125,
			//minResolution: 1.3411045074462891e-006,
 			//resolutions:[0.0439453125,0.02197265625, 0.010986328125, 0.0054931640625, 0.00274658203125, 0.001373291015625, 0.0006866455078125, 0.00034332275390625, 0.000171661376953125, 8.58306884765625e-005, 4.291534423828125e-005, 2.1457672119140625e-005, 1.0728836059570313e-005, 5.3644180297851563e-006, 2.6822090148925781e-006, 1.3411045074462891e-006],
			// insercion
			numZoomLevels: 16,
			allOverlays: true,
			projection: 'EPSG:4258',
			// fin insercion
			controls: [],
			maxExtent: new OpenLayers.Bounds(-180,-90,180,90)
			//projection: 'EPSG:4326',
			//reproject:false
			};*/

			var mapOptions = {
			maxResolution:0.0439453125,
			numZoomLevels: 16,
			allOverlays: true,
			projection: 'EPSG:4258',
			controls: [],
			maxExtent: new OpenLayers.Bounds(-180,-90,180,90)
			};
//---------------------- Fin Parcheo JGG -------------------------------------//

		OpenLayers.IMAGE_RELOAD_ATTEMPTS =5;
		OpenLayers.Util.onImageLoadErrorColor = "transparent";

      			map = new OpenLayers.Map('map', mapOptions );

//-------------------------- Parcheo JGG -------------------------------------//
				
				//insertado
				var PNOA = new OpenLayers.Layer.WMS("PNOA","http://www.idee.es/wms-c/PNOA/PNOA",
					{layers:'PNOA',
					serverResolutions: [0.70312500000000000000,
					0.35156250000000000000, 0.17578125000000000000,
					0.08789062500000000000, 0.04394531250000000000,
					0.02197265625000000000, 0.01098632812500000000,
					0.00549316406250000000, 0.00274658203125000000,
					0.00137329101562500000, 0.00068664550781250000,
					0.00034332275390625000, 0.00017166137695312500,
					0.00008583068847656250, 0.00004291534423828125,
					0.00002145767211914063, 0.00001072883605957031,
					0.00000536441802978516, 0.00000268220901489258,
					0.00000134110450744629],					
					format: 'image/png', queryable:"false"},{buffer:1});
				map.addLayer(PNOA);
				PNOA.isBaseLayer = false;
				PNOA.maxResolution = 8.58306884765625e-005;
				PNOA.minResolution = 1.34110450744628e-006;

				registerEvents(PNOA);
				//fin insertado

      			
				//ign = new OpenLayers.Layer.WMS("Cartociudad","http://www.cartociudad.es/wms-c/CARTOCIUDAD/CARTOCIUDAD?",{layers: 'Callejero', format: 'image/png',queryable:"true"},{displayInLayerSwitcher:true} );
				//ign = new OpenLayers.Layer.WMS("Cartociudad","http://www.cartociudad.es/wms-c/CARTOCIUDAD/CARTOCIUDAD?",{layers: 'Todas', format: 'image/png',resolutions:[0.0439453125, 0.02197265625, 0.010986328125, 0.0054931640625, 0.00274658203125, 0.001373291015625, 0.0006866455078125, 0.00034332275390625, 0.000171661376953125, 8.58306884765625e-005, 4.291534423828125e-005, 2.1457672119140625e-005, 1.0728836059570313e-005, 5.3644180297851563e-006, 2.6822090148925781e-006, 1.3411045074462891e-006],queryable:"true"},{'displayInLayerSwitcher':true} );
				//
				//map.baseLayer = ign;				
				//ign.buffer=0;
				//map.addLayer(ign);
				//ign.visibility = true;
				//ign.isBaseLayer = false;
				
				//registerEvents(ign);
				
				//var ign = new OpenLayers.Layer.WMS.Untiled("DivisionTerritorial","http://sapignmad084.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD?",{layers: 'DivisionTerritorial', format: 'image/png', transparent: 'true', queryable:"true"} );
				//map.addLayer(ign);
				//deberia ser en vez de WMS TileCache
				//var ign = new OpenLayers.Layer.WMS( "DivisionTerritorial", "http://sapignmad084.ign.fomento.es:18080/wms-c/CARTOCIUDAD/CARTOCIUDAD",
				var ign = new OpenLayers.Layer.WMS( "DivisionTerritorial", "http://www.cartociudad.es/wms-c/CARTOCIUDAD/CARTOCIUDAD",	
					{   layers: 'DivisionTerritorial_Poligono', 
					transparent: 'true', 
					serverResolutions: [0.04394531250000000000,
					0.02197265625000000000, 0.01098632812500000000,
					0.00549316406250000000, 0.00274658203125000000,
					0.00137329101562500000, 0.00068664550781250000,
					0.00034332275390625000, 0.00017166137695312500,
					0.00008583068847656250, 0.00004291534423828125,
					0.00002145767211914063, 0.00001072883605957031,
					0.00000536441802978516, 0.00000268220901489258,
					0.00000134110450744629], queryable:'true'
                    			},{buffer:1});
				map.addLayer(ign);
				
				//ign.urlQueryGetFeatureInfo = 'http://sapignmad084.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD';
				ign.urlQueryGetFeatureInfo = 'http://www.cartociudad.es/wms/CARTOCIUDAD/CARTOCIUDAD';
				ign.layersQueryGetFeatureInfo = 'DivisionTerritorial';
				
				registerEvents(ign);
				
				//var urlArray = ["http://sapignmad083.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD?",
				//	"http://sapignmad080.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD?",
				//	"http://sapignmad032.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD?"];
				//var ign2 = new OpenLayers.Layer.WMS("FondoUrbano",urlArray,{layers: 'FondoUrbano', format: 'image/png', transparent: 'true', queryable:"true"} );

				//var ign2 = new OpenLayers.Layer.WMS("FondoUrbano","http://sapignmad084.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD?",
				var ign2 = new OpenLayers.Layer.WMS("FondoUrbano","http://www.cartociudad.es/wms/CARTOCIUDAD/CARTOCIUDAD",	
					{layers: 'FondoUrbano', format: 'image/png', transparent: 'true', queryable:"false"},{buffer:1} );
				map.addLayer(ign2);

				registerEvents(ign2);
				
				//var ign3 = new OpenLayers.Layer.WMS.Untiled("Callejero","http://sapignmad084.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD?",
				var ign3 = new OpenLayers.Layer.WMS.Untiled("Callejero","http://www.cartociudad.es/wms/CARTOCIUDAD/CARTOCIUDAD",	
					{layers: 'Vial,Portal,Toponimo', format: 'image/png', transparent: 'true' ,queryable:"true"} );
				map.baseLayer = ign3;
				ign3.isBaseLayer = false;
				map.addLayer(ign3);
				
				registerEvents(ign3);
				
				//var ign4 = new OpenLayers.Layer.WMS.Untiled("DivisionTerritorialT","http://sapignmad084.ign.fomento.es:80/wms/CARTOCIUDAD/CARTOCIUDAD?",
				var ign4 = new OpenLayers.Layer.WMS.Untiled("DivisionTerritorialT","http://www.cartociudad.es/wms/CARTOCIUDAD/CARTOCIUDAD",					
					{layers: 'DivisionTerritorial_Texto', format: 'image/png', transparent: 'true' ,queryable:"false"},{'displayInLayerSwitcher':false} );
				map.addLayer(ign4);

				lyrCp = new OpenLayers.Layer.WMS.Untiled("CCPP","http://www.cartociudad.es/wms/CARTOCIUDAD/CARTOCIUDAD",
					{layers: 'CodigoPostal', format: 'image/png', transparent: 'true',queryable:"true"},{'displayInLayerSwitcher':true} );
				map.addLayer(lyrCp);
				lyrCp.visibility = false;
				
				registerEvents(lyrCp);
				
				lyrSecciones = new OpenLayers.Layer.WMS.Untiled("SSCC","http://www.cartociudad.es/wms/CARTOCIUDAD/CARTOCIUDAD",
					{layers: 'SeccionCensal', format: 'image/png', transparent: 'true',queryable:"true"},{'displayInLayerSwitcher':true} );
				map.addLayer(lyrSecciones);
				lyrSecciones.visibility = false;
				
				registerEvents(lyrSecciones);
				
				cat = new OpenLayers.Layer.WMS.Untiled("Catastro","http://ovc.catastro.meh.es/Cartografia/WMS/ServidorWMS.aspx",
					{layers: 'TXTCONSTRU,CONSTRU,PARCELA,MASA', format: 'image/png', transparent: 'true', queryable:"true"},{'displayInLayerSwitcher':true} );
				map.addLayer(cat);
				cat.maxResolution = 8.58306884765625e-005;
				cat.minResolution = 1.34110450744628e-006;
				
				registerEvents(cat);

				//movido
				//registerEvents(ign);
				//registerEvents(lyrSecciones);
				//registerEvents(lyrCp);
				
				// movemos al inicio				
				//var PNOA = new OpenLayers.Layer.WMS("PNOA","http://www.idee.es/wms/PNOA/PNOA",{layers:'PNOA',format: 'image/png',transparent: "true", queryable:"false" });
				//PNOA.visibility = false;
				//map.addLayer(PNOA);
				
				//registerEvents(PNOA);
//---------------------- Fin Parcheo JGG -------------------------------------//
				
				var vectorLayer3 = new OpenLayers.Layer.Vector("Measure");
				var vectorLayer = new OpenLayers.Layer.Vector("Polygon");
				vectorLayer2 = new OpenLayers.Layer.Vector("RUTA", {style: style_red});
				//var vectorLayer4 = new OpenLayers.Layer.Vector("PRuta", {style: style_black});
			
				
				
				markers = new OpenLayers.Layer.Markers("routeMark");
				markers2 = new OpenLayers.Layer.Markers("locationMark");
				markers3 = new OpenLayers.Layer.Markers("posRuta");
				
				markersPoint = new OpenLayers.Layer.Markers("puntoIntermedio");
				
				markersPOI = new OpenLayers.Layer.Markers("POIS");
				

				markers2.displayInLayerSwitcher=false;
				markers.displayInLayerSwitcher=false;
				markers3.displayInLayerSwitcher=false;
				markersPoint.displayInLayerSwitcher=false;
				markersPOI.displayInLayerSwitcher=false;
				
				vectorLayer.displayInLayerSwitcher=false;
				vectorLayer3.displayInLayerSwitcher=false;
				vectorLayer2.displayInLayerSwitcher=false;
				
				
				map.addLayer(vectorLayer2);
				map.addLayer(vectorLayer3);
				map.addLayer(vectorLayer);
				//map.addLayer(vectorLayer4);
		
				map.addLayer(markers);
				map.addLayer(markers2);
				map.addLayer(markers3);
				map.addLayer(markersPoint);
				map.addLayer(markersPOI);
				
				
				var dragMarker = new OpenLayers.Control.DragMarker(markers);
				map.addControl(dragMarker);
				dragMarker.activate();
              	
              	


				
				drawRutaControls = {
    	          
                    hover: new OpenLayers.Control.SelectFeature(vectorLayer2,
                                                            {hover: true})/* ,
                    click: new OpenLayers.Control.SelectFeature(vectorLayer2,
                                                            {click: true})*/
                 
	            };
            	
	            for(var key in drawRutaControls) {
                	map.addControl(drawRutaControls[key]);
               		 var controlRuta = drawRutaControls[key];
    				 controlRuta.activate();
                }
                
              	
			   	map.addControl(new OpenLayers.Control.MouseToolbar({'div':OpenLayers.Util.getElement('mousetooldiv')}));
				map.addControl(new OpenLayers.Control.PanZoomBar());
				
				layerSwitcher_1 = new OpenLayers.Control.LayerSwitcher();//en el mapa
				layerSwitcher_2 = new OpenLayers.Control.LayerSwitcher({'div':OpenLayers.Util.getElement('divlgnd')});
				
				map.addControl(layerSwitcher_1);
				map.addControl(layerSwitcher_2);
				
			   try
			   {
			  	nav = new OpenLayers.Control.NavigationHistory();
                map.addControl(nav);
              
                
                prev = new OpenLayers.Control({
                    type: OpenLayers.Control.BUTTON,
                    trigger: function() {nav.previous();},
                    active: true
                });
                map.addControl(prev);
                
                next = new OpenLayers.Control({
                    type: OpenLayers.Control.BUTTON,
                    trigger: function() {nav.next();},
                    active: true
                });
                map.addControl(next);
				
			 }
               catch(e)
               {
               }
			
				var capaGuia =new OpenLayers.Layer.WMS("Cartociudad", "http://www.idee.es/wms/IDEE-Base/IDEE-Base?", {'layers': 'Todas'},{'buffer':0});
				
				var overview = new OpenLayers.Control.OverviewMap(
				{
					layers: [capaGuia],
					mapOptions: {
						resolutions:[8*0.0439453125,0.0439453125,0.0439453125/8,0.0439453125/16,0.0439453125/64],//,0.02197265625, 0.010986328125, 0.0054931640625, 0.00274658203125, 0.001373291015625, 0.0006866455078125, 0.00034332275390625, 0.000171661376953125, 8.58306884765625e-005, 4.291534423828125e-005, 2.1457672119140625e-005, 1.0728836059570313e-005, 5.3644180297851563e-006, 2.6822090148925781e-006, 1.3411045074462891e-006],
						projection: 'EPSG:4326',
						reproject:false
						}
				}
				);
				map.addControl(overview);

				scalebar = new OpenLayers.Control.ScaleBar({
                div: document.getElementById("scalebar"),
                minWidth: 170,
                maxWidth: 200
	            });
            	map.addControl(scalebar);
            
				//map.addControl(new OpenLayers.Control.ScaleBar({'abbreviateLabel':true, 'minWidth': 150, 'maxWidth': 155,'singleLine':true,'displaySystem':'metric','subdivisions':1,'divisions':1,'showMinorMeasures':true}));
				map.addControl(new OpenLayers.Control.MousePosition());
			
				var size = new OpenLayers.Size(10,10);
				var offset = new OpenLayers.Pixel(-5,-10);
	  
				defaultIcon = new OpenLayers.Icon('img/point2.png',size,offset,null);
				markers3.div.style.zIndex = 749;
				markers.div.style.zIndex = 749;
				markers2.div.style.zIndex = 749;
				markersPOI.div.style.zIndex = 749;
				map.setCenter(new OpenLayers.LonLat(-5.8,36), 0);
					   
		}
	

	function registerEvents(layer) {
			
            layer.logEvent = function(event) {
                 eventsLog.innerHTML = event + "<img src=img/load.gif border=0/><font color='#003677'>Cargando " + this.name + "</font>";                   
            }

            layer.events.register("loadstart", layer, function() {
            
                document.getElementById("eventsLogID").style.visibility = "visible";
                document.getElementById("eventsLogID").style.border="1px solid rgb(203,203,203)";
                document.getElementById("eventsLogID").innerHTML =  "<img src=img/load.gif border=0/><font color='#003677'>" + layer.name + "</font>"; 
                try
                {
                	if(document.forms.formgml.textoAviso.value!="")
                	{
                		document.getElementById("eventsLogID").style.visibility = "hidden";
                		avisoLog.style.visibility = "visible";
                		avisoLog.innerHTML = document.forms.formgml.textoAviso.value;
                		var viewport = getRawObject('viewport');
                		avisoLog.style.width = parseInt(getObjectWidth(viewport)) / 2 + "px";
                		avisoLog.style.left = parseInt(getObjectWidth(avisoLog)) / 2 + "px";
                		avisoLog.style.top = "20px";
                		
                	}
                	else
                	{
                		avisoLog.style.visibility = "hidden";
                	}
                }
                catch(e)
                {
                	
                }
            });

            layer.events.register("tileloaded", layer, function() {
           		document.getElementById("eventsLogID").style.border="1px solid rgb(203,203,203)";
	           document.getElementById("eventsLogID").innerHTML =  "<img src=img/load.gif border=0/><font color='#003677'>Cargando " + layer.name + "</font>";                   
            });

            layer.events.register("loadend", layer, function() {
            	
            	 document.getElementById("eventsLogID").innerHTML = "";
            	 document.getElementById("eventsLogID").style.border="none";
            	 document.getElementById("eventsLogID").style.visibility = "hidden";
            
                
            });

            map.addLayer(layer);
        }


        function getTimeStamp() {
            var date = new Date();

            var timeParts = [
                date.getHours(),
                date.getMinutes(),
                date.getSeconds()
            ];

            var timeStamp = timeParts.join(":");

            return timeStamp;
        }
        
	
        
	function layerVector(nombreCapa)
	{
	
	 	for( var i = 0; i < map.layers.length; i++) 
		{
	    	var currentLayer = this.map.layers[i];
	    	if (currentLayer.isVector) 
	    	{
	    		try
	    		{
		    		if(nombreCapa != "")
		    		{
			    		if (currentLayer.name == nombreCapa)
			    		{
			    			return i;
					    }
					}
				}
				catch(e)
				{
					if (currentLayer.name=="Measure") 
				    {
				    	return i;
				    }
				}
	    	}
		}
	}
	


function delMeasure()
{
	for(i=0;i<map.controls.length;i++)
	{
		if (map.controls[i].displayClass == "olControlMouseDefaults")
		{
			if (map.controls[i].measureDivs.length > 0)
			{
				distanciatotal = 0;
				var lyrV = layerVector("Measure");
				
				this.map.layers[lyrV].destroyFeatures();
                for(var x = 0; x < map.controls[i].measureDivs.length; x++)
                {
                    if (map.controls[i].measureDivs[x]) { 
                        map.layerContainerDiv.removeChild(map.controls[i].measureDivs[x]);
                    }
                }
                
                  map.controls[i].measureDivs = [];
                  map.controls[i].measureStart = null;
                  
                  break;
			}
			
		}
	}
	
}

/*function preparePrint()
{
	var b = map.getExtent();
	var windowPrint = window.open("prePrint.html?minx="+b.left+"&miny="+b.bottom+"&maxx="+b.right+"&maxy="+b.top+"&idPol="+getURLParam("idPol"),"imprimir","width=425px,height=300px,scrollbars=yes");
 	if (window.focus) {windowPrint.focus()}
}

function imprimir(minx,miny,maxx,maxy,idPol,ventana)
{
	var geomPolygon = 0;
	if (window.opener.map.layers[1].features.length > 0)
	{
		geomPolygon = window.opener.map.layers[1].features[0].geometry;
	}
	
	
	var _printLegend_ = 0;
	var _printKeyMap_ = 0;
	var _printScaleBar_ = 0;
	
	if(document.forms.printer.legend.checked)
	{
		_printLegend_ = 1;
	}
	
	if(document.forms.printer.keymap.checked)
	{
		_printKeyMap_ = 1;
	}
	
	if(document.forms.printer.scalebar.checked)
	{
		_printScaleBar_ = 1;
	}
	
	var hz=window.screen.height;
	var wz=window.screen.width;
	
	if (window.outerWidth) 
	{
		window.outerWidth = wz;
		window.outerHeight = hz;
	}
	else if (window.resizeTo) 
	{
		window.resizeTo(wz,hz);
	}
	else 
	{
	}
	//window.close(window.self);
	var myWindow = window.open("print.html?legend="+_printLegend_+"&keymap="+_printKeyMap_+"&scalebar="+_printScaleBar_+"&minx="+minx+"&miny="+miny+"&maxx="+maxx+"&maxy="+maxy+"&idPol="+idPol+"&geom="+geomPolygon,"imprimir","scrollbars=yes");
	if (window.focus) 
	{
		myWindow.focus()
	}
}*/
function refreshMapa()
{
	var b = map.getExtent();
	
	map.zoomToExtent(b);
	
}
function saveImage(mode)
{
	var gml_coordinates="";
 	var arrayGmlPolygon = [];
 	var arrayGmlLine = [];
 	var arrayGmlPoint = [];
 	
 	var arrayGmlLocalizacion = [];
	
	if(markers2.markers.length != 0)
	{
		arrayGmlLocalizacion.push(markers2.markers[0].lonlat.lon);
		arrayGmlLocalizacion.push(markers2.markers[0].lonlat.lat);
		
	}
	
 	for(v = 0; v < map.layers.length; v++)
 	{
 		if (map.layers[v].name == "Polygon")
 		{
 			for(y = 0; y < map.layers[v].features.length; y++)
 			{
 				if(map.layers[v].features[y].geometry.CLASS_NAME == "OpenLayers.Geometry.Point")
 				{
 					arrayGmlPoint.push(map.layers[v].features[y].geometry.x);
 					arrayGmlPoint.push(map.layers[v].features[y].geometry.y);
 					
 				}
 				else if(map.layers[v].features[y].geometry.CLASS_NAME == "OpenLayers.Geometry.Polygon")
 				{
 					for(z=0; z < map.layers[v].features[y].geometry.components.length; z++)
 					{
 						if(map.layers[v].features[y].geometry.components[z].CLASS_NAME=="OpenLayers.Geometry.LinearRing")
 						{
 							
	 						for(ab=0; ab < map.layers[v].features[y].geometry.components[z].components.length; ab++)
	 						{
	 							if (ab == map.layers[v].features[y].geometry.components[z].components.length - 1)
	        					{
	        						separator = "";
	        					}
	        					else
	        					{
	        						separator = " ";
	        					}
	        					
	        					arrayGmlPolygon.push(map.layers[v].features[y].geometry.components[z].components[ab].x + "|" +  map.layers[v].features[y].geometry.components[z].components[ab].y);	
	 						}
	 					}
 					}
 				}
 				else
 				{
 				}
 				
 			}
 		}
 		else if (map.layers[v].name == "RUTA")
 		{
 			for(y = 0; y < map.layers[v].features.length; y++)
 			{
 				if(map.layers[v].features[y].geometry.CLASS_NAME == "OpenLayers.Geometry.LineString")
 				{
 					for(z=0; z < map.layers[v].features[y].geometry.components.length; z++)
 					{
 						if(map.layers[v].features[y].geometry.components[z].CLASS_NAME=="OpenLayers.Geometry.Point")
 						{
 							arrayGmlLine.push(map.layers[v].features[y].geometry.components[z].x + "|" + map.layers[v].features[y].geometry.components[z].y);
 						}
 					}
 				}
 			}
 		}
 		

		
 		
 	}

 	document.forms.formgml.locPoint.value=arrayGmlLocalizacion;
 	document.forms.formgml.coordPol.value=arrayGmlPolygon;
 	document.forms.formgml.coordPoint.value=arrayGmlPoint;
 	document.forms.formgml.coordLine.value=arrayGmlLine;
 	
 	var arrayPOISPrint = "";
 	for(x = 0; x < arrayPOIS.length; x++)
	{
		arrayPOISPrint = arrayPOISPrint + arrayPOIS[x][1].lon + "," + arrayPOIS[x][1].lat + ";";
	}
			
			
 	document.forms.formgml.locPOI.value=arrayPOISPrint;
 	
 	var bounding = map.getExtent();
 	var width = map.size.w;
 	var height = map.size.h;
 	
 	
 	if(arrayRuta.length == 0)
 	{
 		document.forms.formgml.arrayRoute.value="";
 	}
 	else
 	{
 		
 		var puntosRuta = "";
 		for(var art = 0; art < arrayRuta.length; art++)
 		{
 			puntosRuta = puntosRuta + arrayRuta[art][0] + "|" ;
 		}
 		
 		document.forms.formgml.arrayRoute.value=puntosRuta;
 	}
 	
 	
 	
 	document.forms.formgml.action = "crearGml.do?mode="+mode+"&minx="+bounding.left+"&maxx="+bounding.right+"&miny="+bounding.bottom+"&maxy="+bounding.top+"&width="+width+"&height="+height;
 	document.forms.formgml.submit();
 	
 	
 	
}


function selectL(name)
{
		
			var existeRRuta = rowExists("tableRutasForm","trResultRuta",false);
			if(existeRRuta)
			{
				document.getElementById("tablaResultados").style.visibility = "hidden";
			}
			
			var existeFilaHelp = rowExists("tableZonasB","helpTR",true);
        	
        	document.getElementById("resultadosBusqueda").style.visibility = "hidden";
			
		document.getElementById('service').scrollTop = 0;//pongo el scroll arriba del todo
		document.getElementById("tableZonasB").style.visibility = "hidden";
		document.getElementById("helpTD").innerHTML = "";
		
		
		var x=document.getElementsByName(name);
        x[0].id = "linkS";
		
		var y;
		
		if(x[0].name=="nomenclator")
		{
		
			y=document.getElementsByName("areas");
        	y[0].id = "areas";
			
			y=document.getElementsByName("ruta");
        	y[0].id = "ruta";
        	
        	y=document.getElementsByName("legend");
        	y[0].id = "legend";
			
			document.getElementById("mapInfo").style.visibility = "visible";
			document.getElementById("zonas").style.visibility = "hidden";
			document.getElementById("rutas").style.visibility = "hidden";
			document.getElementById("leyenda").style.visibility = "hidden";
			
			document.getElementById("mapInfo").style.zIndex = 2;
			document.getElementById("zonas").style.zIndex = 1;
			document.getElementById("rutas").style.zIndex = 1;
			document.getElementById("leyenda").style.zIndex =1;
			
			if(!isIE())
			{
				document.getElementById("mapInfo").style.position = "fixed";
				document.getElementById("zonas").style.position = "absolute";
				document.getElementById("rutas").style.position = "absolute";
				document.getElementById("leyenda").style.position = "absolute";
			}
			
			
			document.getElementById("resultadosBusqueda").style.visibility = "visible";
			ocultaArea(1);
			layerSwitcher_2.minimizeControl();
			
			
		}
		else if(x[0].name=="areas")
		{
			document.getElementById("tableZonasB").style.visibility = "visible";
			
			y=document.getElementsByName("nomenclator");
        	y[0].id = "nomenclator";
			
			y=document.getElementsByName("ruta");
        	y[0].id = "ruta";
			
			y=document.getElementsByName("legend");
        	y[0].id = "legend";
        	
        	ocultaArea(0);
			document.getElementById("mapInfo").style.visibility = "hidden";
			document.getElementById("zonas").style.visibility = "visible";
			document.getElementById("rutas").style.visibility = "hidden";
			document.getElementById("leyenda").style.visibility = "hidden";
			
			document.getElementById("mapInfo").style.zIndex = 1;
			document.getElementById("zonas").style.zIndex = 2;
			document.getElementById("rutas").style.zIndex = 1;
			document.getElementById("leyenda").style.zIndex = 1;
			
			if(!isIE())
			{
				document.getElementById("mapInfo").style.position = "absolute";
				document.getElementById("zonas").style.position = "fixed";
				document.getElementById("rutas").style.position = "absolute";
				document.getElementById("leyenda").style.position = "absolute";
			}
			
			layerSwitcher_2.minimizeControl();
				
		}
		else if(x[0].name=="ruta")
		{
			y=document.getElementsByName("nomenclator");
        	y[0].id = "nomenclator";
			
			y=document.getElementsByName("areas");
        	y[0].id = "areas";
        	
        	y=document.getElementsByName("legend");
        	y[0].id = "legend";
			
			document.getElementById("mapInfo").style.visibility = "hidden";
			document.getElementById("zonas").style.visibility = "hidden";
			document.getElementById("rutas").style.visibility = "visible";
			document.getElementById("leyenda").style.visibility = "hidden";
			
			
			document.getElementById("mapInfo").style.zIndex = 1;
			document.getElementById("zonas").style.zIndex = 1;
			document.getElementById("rutas").style.zIndex = 2;
			document.getElementById("leyenda").style.zIndex = 1;
			if(!isIE())
			{
				document.getElementById("mapInfo").style.position = "absolute";
				document.getElementById("zonas").style.position = "absolute";
				document.getElementById("rutas").style.position = "fixed";
				document.getElementById("leyenda").style.position = "absolute";
			 }
			var existeRRuta = rowExists("tableRutasForm","trResultRuta",false);
			if(existeRRuta)
			{
				document.getElementById("tablaResultados").style.visibility = "visible";
			}
				
				
			ocultaArea(1);
			layerSwitcher_2.minimizeControl();
			
		}
		
		else if(x[0].name=="legend")
		{
			y=document.getElementsByName("nomenclator");
        	y[0].id = "nomenclator";
			
			y=document.getElementsByName("areas");
        	y[0].id = "areas";
        	
        	y=document.getElementsByName("ruta");
        	y[0].id = "ruta";
			
        	ocultaArea(1);
        	
			document.getElementById("mapInfo").style.visibility = "hidden";
			document.getElementById("zonas").style.visibility = "hidden";
			document.getElementById("rutas").style.visibility = "hidden";
			document.getElementById("leyenda").style.visibility = "visible";
			
			
			document.getElementById("mapInfo").style.zIndex = "1";
			document.getElementById("zonas").style.zIndex = "1";
			document.getElementById("rutas").style.zIndex = "1";
			document.getElementById("leyenda").style.zIndex = "2";
			
			if(!isIE())
			{
				document.getElementById("mapInfo").style.position = "absolute";
				document.getElementById("zonas").style.position = "absolute";
				document.getElementById("rutas").style.position = "absolute";
				document.getElementById("leyenda").style.position = "fixed";
			}
				
			/*document.getElementById("linkS").innerHTML = "<span>Capas</span>";
			document.getElementById("nomenclator").innerHTML = "<span>...</span>";*/
			
			layerSwitcher_2.maximizeControl();
			layerSwitcher_2.minimizeDiv.style.display = "none";
//			layerSwitcher_2.baseLbl.style.display = "none";
		}
		else
		{
		}
		
										  
	
}
function marcarPunto()
{
	/*document.getElementById("textoPunto").style.visibility = "visible";
	document.getElementById("textoClick").style.visibility = "visible";
	document.getElementById("mark").disabled=true;
	document.getElementById("distancia").disabled=true;
	document.getElementById("tipoDistancia").disabled=true;
	document.getElementById("cancel").style.visibility = "visible";
	document.getElementById("textoError").style.visibility = "hidden";
	*/
//	document.getElementById("mark").disabled=true;
	
//	map.div.style.cursor = "url('img/reticulo.cur')"; 
	//map.div.style.cursor = "url('img/reticulo.png')";
	document.getElementById("viewport").style.cursor="url('img/reticulo.cur'), auto";
	document.getElementById("helpTD").innerHTML = "<i>Haga click en el mapa en un punto sobre el cual quiere establecer el origen.</i>";
	for(X=0;X<map.controls.length;X++)
	{
		if(map.controls[X].CLASS_NAME=="OpenLayers.Control.MouseDefaults")
		{
			map.controls[X].switchModeTo("point");
		}
	}
	
	
}

function delArea(valor)
{
	var lyrV = layerVector("Polygon");
	this.map.layers[lyrV].destroyFeatures();
	
	ocultaArea(0);
	
	document.formgml.lastExtent.value = "";
	document.getElementById("areaResultados").innerHTML = "";
	markersPOI.clearMarkers();
	arrayPOIS=new Array();
	
	if(valor == 1)
	{
		unSetMarkerRoute(0,1);
	}
}
function ocultaArea(valor)
{
	var lyrV = layerVector("Polygon");
	
	if ((map.layers[lyrV].features.length > 0) && (valor == 0))
	{
		
		document.getElementById("deleteArea").style.visibility = "visible";
	}
	else
	{
		document.getElementById("deleteArea").style.visibility = "hidden";
	}
}
function cancelarPunto(valor)
{

	if ((valor == 0) || (valor == 2))
	{
		for(X=0;X<map.controls.length;X++)
		{
			if(map.controls[X].CLASS_NAME=="OpenLayers.Control.MouseDefaults")
			{
				map.controls[X].switchModeTo("pan");
			}
		}
	}
	
}
function calcularRuta(enMapa)
{
	
		if(document.forms.ruta.calleOrigen.value.length<3)
		{
			alert("Introduzca un mínimo de 3 caracteres en el nombre de la calle de origen");
		}
	else if(document.forms.ruta.calleDestino.value.length<3)
	{
		alert("Introduzca un mínimo de 3 caracteres en el nombre de la calle de destino");
	}
		else
		{
			var vialOrigen = trim(document.forms.ruta.calleOrigen.value.toUpperCase()); 
			var numOrigen = trim(document.forms.ruta.numOrigen.value.toUpperCase()); 
		
		var vialDestino = trim(document.forms.ruta.calleDestino.value.toUpperCase()); 
		var numDestino =trim(document.forms.ruta.numDestino.value.toUpperCase()); 
		
		
		var _prov = "";
		var _mun = "";
		
		var _provD = "";
		var _munD ="";
		
		var _elementProvOrigen_ = document.forms.ruta.provinciaOrigen;
		
		if(_elementProvOrigen_.value != "")
		{
			_prov = _elementProvOrigen_.options[_elementProvOrigen_.selectedIndex].text;
		}		
	
		
		if((dhtmlCmbOrigen.DOMelem_input.value!=null)&&(dhtmlCmbOrigen.DOMelem_input.value!="null")&&(dhtmlCmbOrigen.DOMelem_input.value!=""))
		{
			_mun = dhtmlCmbOrigen.DOMelem_input.value;
			
			if(_prov == "")
			{
				
				if((dhtmlCmbOrigen.getSelectedValue()!=null)&&(dhtmlCmbOrigen.getSelectedValue()!="null")&&(dhtmlCmbOrigen.getSelectedValue()!=""))
				{
//---------------------------------Inicio Parche JGG--------------------------//
					_mun = dhtmlCmbOrigen.getSelectedValue();
					//_mun = dhtmlCmbOrigen.DOMelem_input.value;
					var _posmun = 0;
//---------------------------------Inicio Parche JGG--------------------------//
					//if((_mun.indexOf("(")!=-1)&&(_mun.indexOf(")")!=-1))							
					if((_mun.lastIndexOf("(")!=-1)&&(_mun.lastIndexOf(")")!=-1))							
					{
						//var _nombreMun_ = _mun.substr(0,_mun.indexOf("("));
						var _nombreMun_ = _mun.substr(0,_mun.lastIndexOf("("));
//---------------------------------Fin Parche JGG-----------------------------//
						_nombreMun_ = _nombreMun_.replace("&nbsp;","");
						
						var longitudMun = _mun.length;
						var _nombreProvincia_ = _mun.substr(_nombreMun_.length,_mun.length -_nombreMun_.length );
						_nombreProvincia_ = _nombreProvincia_.replace("(","");
						_nombreProvincia_ = _nombreProvincia_.replace(")","");
						_nombreProvincia_ = _nombreProvincia_.replace("&nbsp;","");
						_mun = trim(_nombreMun_);
						_prov = trim(_nombreProvincia_);
					}	
				}
			}		
				/*var _posmun = 0;
				while(_mun.indexOf("&nbsp;")!=-1)
				{
					_mun = _mun.replace("&nbsp;","|");
				}
		        						
		        var checkProv = _mun.split("|");
		        
		        if(checkProv.length == 2)
		        {
		        _mun = checkProv[0];
		        _prov = checkProv[1];
		        _prov = _prov.replace("(","");
		        _prov = _prov.replace(")","");
		       }
		       else if(checkProv.length == 1)
		        			{
		        				_mun = checkProv[0];
		        			}
		        			else
		        			{
		        			}
		        						
			}*/
			
			while(_mun.indexOf("´")!=-1)
			{
				_mun = _mun.replace("´","'");
			}
		}
		
		var _elementProvDestino_ = document.forms.ruta.provinciaDestino;
						
		if(_elementProvDestino_.value  != "")
		{
			_provD = _elementProvDestino_.options[_elementProvDestino_.selectedIndex].text;
		}
		
		if((dhtmlCmbDestino.DOMelem_input.value!=null)&&(dhtmlCmbDestino.DOMelem_input.value!="null")&&(dhtmlCmbDestino.DOMelem_input.value!=""))
		{
			_munD = dhtmlCmbDestino.DOMelem_input.value;
									
			if(_provD == "")
			{
				if((dhtmlCmbDestino.getSelectedValue()!=null)&&(dhtmlCmbDestino.getSelectedValue()!="null")&&(dhtmlCmbDestino.getSelectedValue()!=""))
				{
					_munD = dhtmlCmbDestino.getSelectedValue();
					var _posmun = 0;
//---------------------------------Inicio Parche JGG--------------------------//
					//if((_munD.indexOf("(")!=-1)&&(_munD.indexOf(")")!=-1))							
					if((_munD.lastIndexOf("(")!=-1)&&(_munD.lastIndexOf(")")!=-1))							
					{
						//var _nombreMun_ = _munD.substr(0,_munD.indexOf("("));
						var _nombreMun_ = _munD.substr(0,_munD.indexOf("("));
//---------------------------------Fin Parche JGG----------------------------//
							
						_nombreMun_ = _nombreMun_.replace("&nbsp;","");
						
						var longitudMun = _munD.length;
						var _nombreProvincia_ = _munD.substr(_nombreMun_.length,_munD.length -_nombreMun_.length );
						_nombreProvincia_ = _nombreProvincia_.replace("(","");
						_nombreProvincia_ = _nombreProvincia_.replace(")","");
						_nombreProvincia_ = _nombreProvincia_.replace("&nbsp;","");
						_munD = trim(_nombreMun_);
						_provD = trim(_nombreProvincia_);
					}	
				}
				/*var _posmun = 0;
				while(_munD.indexOf("&nbsp;")!=-1)
				{
					_munD = _munD.replace("&nbsp;","|");
				}
		        						
		        var checkProv = _munD.split("|");
		        if(checkProv.length == 2)
		        {
			        _munD = checkProv[0];
			        _provD = checkProv[1];
			        _provD = _provD.replace("(","");
			        _provD = _provD.replace(")","");
		        }
		        else if(checkProv.length == 1)
		        {
		        	_mun = checkProv[0];
		        }
		        else
		        {
		        }*/
		        						
			}
			
			while(_munD.indexOf("´")!=-1)
			{
				_munD = _munD.replace("´","'");
			}
			
		}	
		
		SetCookie("vialOrigen",vialOrigen);
		SetCookie("numOrigen",numOrigen);
		SetCookie("provinciaOrigen",_prov);
		SetCookie("municipioOrigen",_mun);
		
		SetCookie("vialDestino",vialDestino);
		SetCookie("numDestino",numDestino);
		SetCookie("provinciaDestino",_provD);
		SetCookie("municipioDestino",_munD);
		
	if(enMapa == 0)
	{
			getResultsRuta(_prov,_mun,vialOrigen,numOrigen,0);
			getResultsRuta(_provD,_munD,vialDestino,numDestino,1);
		}
	}
	
}

function dibujarRuta()
{
	document.forms.ruta.descRuta.value="";
	document.forms.formgml.detailRoute.value="";
	
	var arrayXY = new Array();
			
	arrayRuta = new Array();
	arrayPuntoIntermedio = new Array();
	if(document.getElementById('resultOrigen').selectedIndex == -1)
	{
		alert("Seleccione la dirección de Origen en el listado");
	}
	else if(document.getElementById('resultDestino').selectedIndex == -1)
	{
		alert("Seleccione la dirección de Destino en el listado");
	}
	else
	{
			var idOrigen = document.getElementById('resultOrigen').options[document.getElementById('resultOrigen').options.selectedIndex].value;
			var idDestino = document.getElementById('resultDestino').options[document.getElementById('resultDestino').options.selectedIndex].value;
		
		if(idOrigen == idDestino)
		{
			alert("No se puede calcular una ruta hacia el mismo punto");
			document.getElementById('calculandoRuta').innerHTML="";
		}
		else
		{
				var provinciaOrigen = "";
				var municipioOrigen = "";
			var provinciaDestino = "";
			var municipioDestino = "";
				
				if((dhtmlCmbOrigen.DOMelem_input.value!=null)&&(dhtmlCmbOrigen.DOMelem_input.value!="null")&&(dhtmlCmbOrigen.DOMelem_input.value!=""))
				{
					municipioOrigen = dhtmlCmbOrigen.DOMelem_input.value;
				}
				
				if(document.forms.ruta.provinciaOrigen.selectedIndex > 0)
				{
					provinciaOrigen = " (" + document.forms.ruta.provinciaOrigen.options[document.forms.ruta.provinciaOrigen.selectedIndex].text + ")";
				}
			if((dhtmlCmbDestino.DOMelem_input.value!=null)&&(dhtmlCmbDestino.DOMelem_input.value!="null")&&(dhtmlCmbDestino.DOMelem_input.value!=""))
			{
				municipioDestino = dhtmlCmbDestino.DOMelem_input.value;
			
			}
			
			if(document.forms.ruta.provinciaDestino.selectedIndex > 0)
			{
				provinciaDestino = " (" + document.forms.ruta.provinciaDestino.options[document.forms.ruta.provinciaDestino.selectedIndex].text + ")";
			}
				
				var detalleOrigen = document.forms.ruta.resultOrigen.options[document.forms.ruta.resultOrigen.selectedIndex].text;
				if(municipioOrigen != "")
				{
					detalleOrigen = detalleOrigen + "<br>" + municipioOrigen;
				}
				if(provinciaOrigen != "")
				{
					if(municipioOrigen != "")
					{
						detalleOrigen = detalleOrigen + provinciaOrigen;
					}
				}
				
				
				var cadenaBuscar = "<br>";
				var cadenaReplace = "&nbsp;";
				var infoPointTxt = detalleOrigen.replace(cadenaBuscar,cadenaReplace);
				
				var cadenaBuscar = ", en ";
				var cadenaReplace = "<br>";
				detalleOrigen = detalleOrigen.replace(cadenaBuscar,cadenaReplace);
					
				detalleOrigen = detalleOrigen + "</span>";
				
				
				
				document.getElementById("infoPointOrigen").innerHTML = "<table width=100%><tr><td  width='25px'><img border='0' src='img/origen.png'/>&nbsp;</td><td>afdsfdsfdsfdsfdsfdsf" +infoPointTxt+"</td></tr></table>";
				
				document.getElementById("mark_1").disabled = false;
	       		document.getElementById("mark_2").disabled = false;
		        document.getElementById("poi_1").disabled = false;
		        document.getElementById("buscarPoiBtn").disabled = false;
	        
				var detalleDestino = document.forms.ruta.resultDestino.options[document.forms.ruta.resultDestino.selectedIndex].text;
			
				if(municipioDestino != "")
				{
					detalleDestino = detalleDestino + "<br />" + municipioDestino;
				}
				if(provinciaDestino != "")
				{
					if(municipioDestino !="")
					{
						detalleDestino = detalleDestino + provinciaDestino;
					}
					
				}
				var cadenaBuscar = ", en ";
				var cadenaReplace = "<br>";
				detalleDestino = detalleDestino.replace(cadenaBuscar,cadenaReplace);
				detalleDestino = detalleDestino + "</span>";
				
				arrayXY.push(new Array(2));
				arrayXY[0][0] = idOrigen;
    			arrayXY[0][1] = 0;
    			arrayXY[0][2] = detalleOrigen;
    		
    			arrayXY.push(new Array(2));
				arrayXY[1][0] = idDestino;
	    		arrayXY[1][1] = 1;
	    		arrayXY[1][2] = detalleDestino;
    		
    		/*setMarkerRoute(-1,-1,0,detalleOrigen);
    		setMarkerRoute(-1,-1,1,detalleDestino);*/
			
			getXY(arrayXY);
		}
	}
}

	function layerId(nombreCapa)
	{
		var existe=-1;
	 	for( var i = 0; i < map.layers.length; i++) 
		{
	    	var currentLayer = this.map.layers[i];
	    	
	    	if (currentLayer.name == nombreCapa)
			{
				existe = i;
				
			}
		}
		return existe;
	}
	
	
	
	var scroll_top = function(){

			if(window.pageYOffset)
			{
				return window.pageYOffset;
			}
			else 
			{
				return  Math.max(document.body.scrollTop,document.documentElement.scrollTop);
			}
			
		}

		function clk(a)
		{
			if(a == 1)
			{
				document.getElementById("resizeLayer").style.backgroundColor = "#EFEFEF";
				
			}
			else
			{
				
				document.getElementById("resizeLayer").style.backgroundColor = "#FFFFFF";
			}
		}
		
		
		function deleteRows(opcion)
		{
		
			var row;
			var tabla = document.getElementById('tableNomenclator');
			var rows = tabla.rows;
			
			if (opcion!=2)
			{
				for (var ix=0, len=rows.length; ix<len; ix++) 
				{
					row = rows[ix];
					if (row.id) 
					{
						if (opcion!=2)
						{
							if (row.id == "trSCensal")
							{
								tabla.deleteRow(ix);
								return;
							}
						}
						if ((opcion!=5)&&(opcion!=6))
						{
							if (row.id == "rsMunicipio")
							{
								tabla.deleteRow(ix);
								return;
							}
						}
					}
				}
			}
			
			
		}
		
		function rowExists(tableName,tagRow,borrar)
		{
			
			var row;
			var tabla = document.getElementById(tableName);//document.getElementById('tableRuta');
			var rows = tabla.rows;
			
			if (tagRow!="")
			{
				for (var ix=0, len=rows.length; ix<len; ix++) 
				{
					row = rows[ix];
					if (row.id) 
					{
						if (row.id == tagRow)
						{
							if (borrar)
							{
								tabla.deleteRow(ix);
							}
							return true;
						}
						
					}
				}
			}
			return false;
			
			
		}
		
		function crearFilaBotonEliminar()
		{
			var tabla = document.getElementById("tableOrigenArea");
			var ultimaFila = tabla.rows.length;
 			var fila = tabla.insertRow(ultimaFila);
	  		
  			var celda1 = fila.insertCell(0);
  			celda1.colSpan=2;
  			celda1.style.align ="right";
  			celda1.innerHTML = "<a onclick='javascript:delArea(1);' href='#'><div id='buttonsDel'>Eliminar origen</div></a>";	  	
  			
  			
		}
		function createTr(tableName,filaName)
		{
			var tabla = document.getElementById(tableName);
			var ultimaFila = tabla.rows.length;
 			var fila = tabla.insertRow(ultimaFila);
	  		fila.id=filaName;
  			var celda1 = fila.insertCell(0);
  			celda1.colSpan = 2;
  			
  			
			var provinciaOrigen = "";
  			var municipioOrigen = "";
			
			var provinciaDestino = "";
			var municipioDestino = "";
			
			if((dhtmlCmbOrigen.DOMelem_input.value!=null)&&(dhtmlCmbOrigen.DOMelem_input.value!="null")&&(dhtmlCmbOrigen.DOMelem_input.value!=""))
			{
				municipioOrigen = dhtmlCmbOrigen.DOMelem_input.value;
			}
			
			if((dhtmlCmbDestino.DOMelem_input.value!=null)&&(dhtmlCmbDestino.DOMelem_input.value!="null")&&(dhtmlCmbDestino.DOMelem_input.value!=""))
			{
				municipioDestino = dhtmlCmbDestino.DOMelem_input.value;
			}
			
			if(document.forms.ruta.provinciaOrigen.selectedIndex >0)
			{
				provinciaOrigen = " (" + document.forms.ruta.provinciaOrigen.options[document.forms.ruta.provinciaOrigen.selectedIndex].text + ")";
			}
			
			if(document.forms.ruta.provinciaDestino.selectedIndex >0)
			{
				provinciaDestino = " (" + document.forms.ruta.provinciaDestino.options[document.forms.ruta.provinciaDestino.selectedIndex].text+ ")";
			}
			
  			cadenenaCeldaHTML="<div id='noResults'></div><table width='100%' id='tablaResultados' cellspacing=0 cellpadding=3>";
  			cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td class='tituloB'>Resultados</td></tr><tr><td><hr color='#7192C5'></td></tr>";//<tr><td><i>Sólo se muestran los 10 primeros resultados</i></td></tr>";
  			cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td><i>Sólo se muestran los 10 primeros resultados</i></td></tr>";//<tr><td><i>Sólo se muestran los 10 primeros resultados</i></td></tr>";
  			cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td id=lista class=tituloB2><li>Seleccione Origen:</li></td></tr>";
  			if(municipioOrigen!="")
  			{
  				cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td id=lista class=tituloB4><li id='listOrigen'><b>En "+ municipioOrigen + provinciaOrigen +"</b></li></td></tr>";
  			}
  			else
  			{
  					cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td id=lista class=tituloB4><li id='listOrigen'><b>En ...</b></li></td></tr>";
  			}
  			cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td><div id='select_container' > <select id='resultOrigen'  size='10' align='left'></select></div>	</td></tr>	";
			
  			cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td  style='padding-top:10px;' id=lista class=tituloB2><li>Seleccione Destino:</li></td></tr>";
  			if(municipioDestino!="")
  			{
  				cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td id=lista class=tituloB4><li id='listDestino'><b>En "+ municipioDestino + provinciaDestino +"</b></li></td></tr>";
  			}
  			else
  			{
  					cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td id=lista class=tituloB4><li id='listDestino'><b>En ...</b></li></td></tr>";
  			}
  			cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td><div id='select_container2' > <select id='resultDestino'  size='10' align='left'></select></div> </td></tr>";
  			cadenenaCeldaHTML = cadenenaCeldaHTML + "<tr><td><table width='100%'><tr><td><input type='button' name='cRuta' id='cRuta' value='Calcular Ruta' onClick='dibujarRuta(-1)';/></td>	<td id='calculandoRuta'></td></tr></table> </td></tr></table>";
								  			
  			
			celda1.innerHTML = cadenenaCeldaHTML;	  				
		}
		
function chCenter()
{
	try
	{
		var EvtXY = document.forms.formgml.evtXY.value;
		var newPixel = EvtXY.split(",");
		var x = newPixel[0];
		var y = newPixel[1];
		
		var newCenter = map.getLonLatFromViewPortPx( new OpenLayers.Pixel(x, y) ); 
		map.setCenter(newCenter, map.zoom);

	}
	catch(e)
	{
	}
			visibleMenu();
}		



function chWhere()
{
	
	try
	{
		var EvtXY = document.forms.formgml.evtXY.value;
		var newPixel = EvtXY.split(",");
		var x = newPixel[0];
		var y = newPixel[1];
		
		var newCenter = map.getLonLatFromViewPortPx( new OpenLayers.Pixel(x, y) ); 
		var lon = newCenter.lon;
		var lat = newCenter.lat;
		
		estableceCapaLoad(x,y);
		
				
		var postParams="";
		
		postParams = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'><ows:Identifier>com.ign.process.geometry.ClosestMultiplePointFinder</ows:Identifier><DataInputs><Input><ows:Identifier>data</ows:Identifier><ows:Title>Punto</ows:Title><ComplexValue defaultSchema='http://www.idee.es/parser/ArrayList.xsd'><gml:Point><gml:coord><gml:X>"+lon+"</gml:X><gml:Y>"+lat+"</gml:Y></gml:coord></gml:Point></ComplexValue></Input></DataInputs><OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>Lista de portales</ows:Title><ows:Abstract>xml con la lista de portales y las coordenadas de busqueda</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://www.idee.es/portalList.xsd'><SupportedComplexData><Schema>http://www.idee.es/portalList.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
		
		var urlPath = urlWps ;
		postParams="urlValor="+ urlWps+"&request="+escape(postParams);
		doWPSProfileQuery(urlPath, postParams,2,false,false,true);
	}
	catch(e)
	{
	}
	
	visibleMenu();
}	
function estableceCapaLoad(x,y)
{
	document.getElementById("waitDiv").innerHTML = "<font color='#003677'><img src='img/load.gif'>&nbsp;Buscando info&nbsp;</font>";
	document.getElementById("waitDiv").style.visibility = "visible";
    document.getElementById("waitDiv").style.left = x;
	document.getElementById("waitDiv").style.top = y; 
}
function unsetCapaLoad()
{
	document.getElementById("waitDiv").style.visibility = "hidden";
}
function setOverFt(valor)
{
	document.forms.formgml.isOverFt.value = valor;
}
function chFrom(valor)
{
	
	try
	{
		if(valor == -1)
		{
			var EvtXY = document.forms.formgml.evtXY.value;
			var newPixel = EvtXY.split(",");
			var x = newPixel[0];
			var y = newPixel[1];
			
			var newCenter = map.getLonLatFromViewPortPx( new OpenLayers.Pixel(x, y) ); 
			var lon = newCenter.lon;
			var lat = newCenter.lat;	
		}
		else
		{
			for(x = 0; x < arrayPOIS.length; x++)
			{
				if(arrayPOIS[x][0] == valor)
				{
					if (popupQuery!= null)
					{
						popupQuery.destroy();
						popupQuery = null;
					}
					
					var centerWh = new OpenLayers.LonLat( arrayPOIS[x][1].lon, arrayPOIS[x][1].lat); 
					var lon = centerWh.lon;
					var lat = centerWh.lat;	
					
					var centerPx = map.getViewPortPxFromLonLat(centerWh);
					var x = centerPx.x;
					var y = centerPx.y;
					
				}
			}
		}
		
		
		
		estableceCapaLoad(x,y);
		var postParams="";
		
		postParams = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'><ows:Identifier>com.ign.process.geometry.ClosestMultiplePointFinder</ows:Identifier><DataInputs><Input><ows:Identifier>data</ows:Identifier><ows:Title>Punto</ows:Title><ComplexValue defaultSchema='http://www.idee.es/parser/ArrayList.xsd'><gml:Point><gml:coord><gml:X>"+lon+"</gml:X><gml:Y>"+lat+"</gml:Y></gml:coord></gml:Point></ComplexValue></Input></DataInputs><OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>Lista de portales</ows:Title><ows:Abstract>xml con la lista de portales y las coordenadas de busqueda</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://www.idee.es/portalList.xsd'><SupportedComplexData><Schema>http://www.idee.es/portalList.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
		
		var urlPath = urlWps ;
		postParams="urlValor="+ urlWps+"&request="+escape(postParams);
		doWPSProfileQuery(urlPath, postParams,3,false,false,true);
	}
	catch(e)
	{
	}
	
	visibleMenu();
	

}	

function chTo(valor)
{
	/*try
	{*/
		if(valor == -1)
		{
			var EvtXY = document.forms.formgml.evtXY.value;
			var newPixel = EvtXY.split(",");
			var x = newPixel[0];
			var y = newPixel[1];
			
			var newCenter = map.getLonLatFromViewPortPx( new OpenLayers.Pixel(x, y) ); 
			var lon = newCenter.lon;
			var lat = newCenter.lat;	
		}
		
		else
		{
			for(x = 0; x < arrayPOIS.length; x++)
			{
				if(arrayPOIS[x][0] == valor)
				{
					if (popupQuery!= null)
					{
						popupQuery.destroy();
						popupQuery = null;
					}
					
					var centerWh = new OpenLayers.LonLat( arrayPOIS[x][1].lon, arrayPOIS[x][1].lat); 
					var lon = centerWh.lon;
					var lat = centerWh.lat;	
					
					var centerPx = map.getViewPortPxFromLonLat(centerWh);
					var x = centerPx.x;
					var y = centerPx.y;
					
				}
			}
		}
		
		estableceCapaLoad(x,y);
		var postParams="";
		
		postParams = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'><ows:Identifier>com.ign.process.geometry.ClosestMultiplePointFinder</ows:Identifier><DataInputs><Input><ows:Identifier>data</ows:Identifier><ows:Title>Punto</ows:Title><ComplexValue defaultSchema='http://www.idee.es/parser/ArrayList.xsd'><gml:Point><gml:coord><gml:X>"+lon+"</gml:X><gml:Y>"+lat+"</gml:Y></gml:coord></gml:Point></ComplexValue></Input></DataInputs><OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>Lista de portales</ows:Title><ows:Abstract>xml con la lista de portales y las coordenadas de busqueda</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://www.idee.es/portalList.xsd'><SupportedComplexData><Schema>http://www.idee.es/portalList.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
		
		var urlPath = urlWps ;
		postParams="urlValor="+urlWps+"&request="+escape(postParams);
		doWPSProfileQuery(urlPath, postParams,4,false,false,true);
	/*}
	catch(e)
	{
	}*/
	
	visibleMenu();
	

}	

function chInter(px,update)
{
	try
	{
		
		var x = px.x
		var y = px.y
			
		var newCenter = map.getLonLatFromViewPortPx( new OpenLayers.Pixel(x, y) ); 
		var lon = newCenter.lon;
		var lat = newCenter.lat;	
		var postParams="";
			
		postParams = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'><ows:Identifier>com.ign.process.geometry.ClosestMultiplePointFinder</ows:Identifier><DataInputs><Input><ows:Identifier>data</ows:Identifier><ows:Title>Punto</ows:Title><ComplexValue defaultSchema='http://www.idee.es/parser/ArrayList.xsd'><gml:Point><gml:coord><gml:X>"+lon+"</gml:X><gml:Y>"+lat+"</gml:Y></gml:coord></gml:Point></ComplexValue></Input></DataInputs><OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>Lista de portales</ows:Title><ows:Abstract>xml con la lista de portales y las coordenadas de busqueda</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://www.idee.es/portalList.xsd'><SupportedComplexData><Schema>http://www.idee.es/portalList.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
			
		var urlPath = urlWps ;
		postParams="urlValor="+urlWps+"&request="+escape(postParams);
		doWPSProfileQuery(urlPath, postParams,10,update,false,false);
		
	
		
	}
	catch(e)
	{
		alert(e);
	}
	
	visibleMenu();
		
}

function chMarker(idElement,px,update)
{
	
	try
	{
		var x = px.x
		var y = px.y
			
		var newCenter = map.getLonLatFromViewPortPx( new OpenLayers.Pixel(x, y) ); 
		var lon = newCenter.lon;
		var lat = newCenter.lat;	
		var postParams="";
			
		postParams = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'><ows:Identifier>com.ign.process.geometry.ClosestMultiplePointFinder</ows:Identifier><DataInputs><Input><ows:Identifier>data</ows:Identifier><ows:Title>Punto</ows:Title><ComplexValue defaultSchema='http://www.idee.es/parser/ArrayList.xsd'><gml:Point><gml:coord><gml:X>"+lon+"</gml:X><gml:Y>"+lat+"</gml:Y></gml:coord></gml:Point></ComplexValue></Input></DataInputs><OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>Lista de portales</ows:Title><ows:Abstract>xml con la lista de portales y las coordenadas de busqueda</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://www.idee.es/portalList.xsd'><SupportedComplexData><Schema>http://www.idee.es/portalList.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
			
		var urlPath = urlWps ;
			
		var type;
			
		if(idElement == 0)
		{
			type = 5;
		}
		else
		{
			if(!isNaN(idElement))
			{
				type = 6;
			}
			
			document.forms.formgml.idDrag.value = idElement;
			
		}
		postParams="urlValor="+ urlWps+"&request="+escape(postParams);
		doWPSProfileQuery(urlPath, postParams,type,false,false,update);
		
	
		
	}
	catch(e)
	{
		alert(e);
	}
	
	visibleMenu();
	

}	

function deleteLayer(nombreLayer)
{
	for(nl = 0; nl < map.layers.length; nl ++)
	{
		if(map.layers[nl].name == nombreLayer)
		{
			map.layers[nl].destroy();
		}
	}
}
function eliminarRuta(setInterfaz,unSet)
{	
	visibleMenu();
	if (popupQuery!= null)
	{
		popupQuery.destroy();
		popupQuery = null;
	}
			
	var idLayer = layerId("RUTA");
	if(idLayer != -1)
	{
		map.layers[idLayer].renderer.clear();
		map.layers[idLayer].removeFeatures(map.layers[idLayer].features)
	}
	document.forms.ruta.descRuta.value="";
	document.forms.formgml.detailRoute.value="";
								
	if(setInterfaz)
	{
		setInterfazRuta(0);
	
	}
	if(unSet)
	{
		markers.clearMarkers();
		markersPoint.clearMarkers();
		arrayRuta = new Array();
		arrayPuntoIntermedio = new Array();
		arrayWayPoint = new Array();
		arrayAddPoint = new Array();
		document.getElementById("infoPointOrigen").innerHTML ="";
			document.getElementById("mark_1").disabled = true;
	       		document.getElementById("mark_2").disabled = true;
		        document.getElementById("poi_1").disabled = true;
		        document.getElementById("buscarPoiBtn").disabled = true;
	}
	
}
function centrarPunto(id)
{
	if (popupQuery!= null)
			{
				popupQuery.destroy();
				popupQuery = null;
			}
	var vector1;
	var valor;
	
	if((id!=null)&&(id>=0)&&(id!="undefined"))
	{
		valor = arrayRuta[id][0];
		vector1 = valor.split(",");
	}
	
	
	map.setCenter(new OpenLayers.LonLat(vector1[0], vector1[1]),13);	
}
function loadPOI()
{
	var postParams = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'><ows:Identifier>com.ign.process.general.WFSSources</ows:Identifier><DataInputs></DataInputs><OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>Lista de WFS</ows:Title><ows:Abstract>Lista de datos WFS guardados en el wps.properties</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://www.idee.es/arrayListWFS.xsd'><SupportedComplexData><Schema>http://www.idee.es/arrayListWFS.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
	
	
	var urlPath = urlWps;
	postParams="urlValor="+ urlWps+"&request="+escape(postParams);
	doWPSProfileQuery(urlPath, postParams,7,false,false,false);
}

function helPOIFunction(valor)
{
	try
	{
		//document.getElementById("mark").disabled=false;
		var tdHelp = document.getElementById("helpTD");
		tdHelp.innerHTML = "";
		if(valor == 1)
		{
			tdHelp.innerHTML = "";
		}
		else
		{
			var nombreViaPoi = "";
			var numViaPoi = "";
			
			if(GetCookie("tipoEntidad") == 1)
			{
				if(GetCookie("entidad")!=null)
				{
					nombreViaPoi = GetCookie("entidad");
				}
						
				if(GetCookie("numPk")!=null)
				{
					numViaPoi = GetCookie("numPk");
				}
			}
			
			var widthTable = "80%";		
			if(navigator.userAgent.indexOf("MSIE") != -1)
			{
				widthTable = "85%";
			}
			
			var htmlHelp = "<table style='border:1px solid #7192C5;' width='"+widthTable+"' cellpadding=2 cellspacing=2>";
			htmlHelp = htmlHelp + "<tr><td colspan=2 id='lista' class='tituloB2'><li>Entidad</li></td><td colspan=2 align='right'><a href='#' onClick='javascript:helPOIFunction(1);'><img src='img/close.gif' id='closeVial' onMouseOver='javascript:changeImageClose(1);' onMouseOut='javascript:changeImageClose(0);'/></a></td></tr>";
			htmlHelp = htmlHelp + "<tr><td valign='top'>Tipo: </td><td colspan=3><select id='entidadArea' name='entidadArea' style='width: 130px;' disabled><option selected value='1'>Vial</option></select></td></tr>";
			htmlHelp = htmlHelp + "<tr>";
			htmlHelp = htmlHelp + "<td>Nombre:</td>";
			htmlHelp = htmlHelp + "<td><input type='text' name='nomvia_poi' id='nomvia_poi' size='20' value='"+ nombreViaPoi +"'></td>";
			htmlHelp = htmlHelp + "<td>Nº:</td>";
			htmlHelp = htmlHelp + "<td><input type='text' name='numvia_poi' id='numvia_poi' size='3' value='"+ numViaPoi +"'></td>";
			htmlHelp = htmlHelp + "</tr>";		
			htmlHelp = htmlHelp + "<tr><td style='padding-top:10px;' id='lista' class='tituloB2' colspan='4'><li>Area Geográfica (opcional)</li></td></tr>";					  
			htmlHelp = htmlHelp + "<tr><td>Municipio:</td>";	
			htmlHelp = htmlHelp + "<td colspan='2'><div id='munDivArea' alt='Solo municipos disponibles en Cartociudad' title='Solo municipos disponibles en Cartociudad' style='width:150px; height:20px;'></div></td>";			
			htmlHelp = htmlHelp + "<td><div id='loadingMunArea'></div></td></tr>";
			htmlHelp = htmlHelp + "<tr>";
			htmlHelp = htmlHelp + "<td>Provincia:</td>";
			htmlHelp = htmlHelp + "<td colspan='3'><select name='provinciaArea' style='width:160px;' id='provinciaArea' onchange='javascript:loadMunicipio(\"provinciaArea\",\"municipioArea\",1);'  ><option value=''>-- Provincia --</option></select></td>";
			htmlHelp = htmlHelp + "</tr>";
			htmlHelp = htmlHelp + "<tr>";
			htmlHelp = htmlHelp + "<td>&nbsp;</td><td colspan=3><input type='button' onClick='javascript:loadResults(\"zonas\")' name='buscar' value='Buscar'>&nbsp;&nbsp;<input type='button' onClick='limpiar(3)' value='Limpiar'></td></tr>";
			htmlHelp = htmlHelp + "<tr>";
			htmlHelp = htmlHelp + "<td colspan='4' id='resultSearchPoi'>&nbsp;</td></tr>";
			htmlHelp = htmlHelp + "</table>";
			tdHelp.innerHTML = htmlHelp;
							  
			
			htmlHelp = htmlHelp + "</table>";
			tdHelp.innerHTML = htmlHelp;
			
			loadProvincia('provinciaArea');
					
			var nombreCMunicipio = "";
				
			if((GetCookie("municipio")!=null)&&(GetCookie("municipio")!="null"))
			{
				nombreCMunicipio = GetCookie("municipio");
			}
					var comboWidthArea = 158;
		if(isIE())comboWidthArea = 160;
			dhtmlCmbArea=new dhtmlXCombo("munDivArea","municipioArea",comboWidthArea);	
			
			
			if((nombreCMunicipio)&&(nombreCMunicipio!=""))
			{
				dhtmlCmbArea.addOption([[nombreCMunicipio,nombreCMunicipio]]);
				dhtmlCmbArea.selectOption(0);
			}	
			
			var inputMunicipio = document.getElementById('munDivArea');
			OpenLayers.Event.observe(inputMunicipio, 'keyup', OpenLayers.Function.bindAsEventListener(loadMunArea,inputMunicipio));
				
		}
		
		
	}
	catch(e)
	{
		alert(e);
	}
}

function validarZona()
{
	var distancia;
	var tipoDistancia;
	var indice;
	var pointClick;
	var valor;
	var isPointSet = false;
	var continua = false;
	var checkedPoi=false;
	
	document.getElementById("areaResultados").innerHTML = "&nbsp;";
	
	try
	{
		if(arrayRuta.length > 0)
		{
			if((arrayRuta[0].length > 0) && (arrayRuta[0]!="undefined"))
			{
				valor = arrayRuta[0][0];
				isPointSet = true;
			}
			
		}
		
		if(isPointSet)
		{
			pointClick = valor.split(",");
			pointClick = new OpenLayers.LonLat(pointClick[0],pointClick[1]);
								
			for(a=0;a<document.forms.zonas.length;a++)
			{
				if(document.forms.zonas[a].name=="distancia")
				{
					distancia = document.forms.zonas[a].value;
					
				}
				else if(document.forms.zonas[a].name=="tipoDistancia")
				{
					indice =document.forms.zonas[a].selectedIndex;
					tipoDistancia = document.forms.zonas[a].options[indice].text;
				}
				else
				{
				}
			}
			if(distancia <= 0)
			{
				alert("Introduzca un valor numérico en el campo distancia mayor a cero");
			}
			else if(isNaN(distancia))
			{
				alert("Introduzca un valor numérico en el campo distancia");
			}
			else
			{
				var ctrl = document.forms.zonas.mark;
				
				for(i=0;i<ctrl.length;i++)
				{
					if(ctrl[i].checked) 
				    {
				    	if((ctrl[i].value=="opc1")||(ctrl[i].value=="opc2"))
				        {
							for(var elm = 0; elm < document.forms.zonas.elements.length; elm++)
							{
								if(document.forms.zonas.elements[elm].type == "checkbox")
								{
									if(document.forms.zonas.elements[elm].checked)
									{
										checkedPoi=true;
										if(document.forms.zonas.elements[elm].value==1)
										{
											continua = true;
										}
										else
										{
											continua = false;
											alert("El tipo de POI " + document.forms.zonas.elements[elm].value + " no está disponible");
										}
									}
								}
							}
						}
						else
						{
							checkedPoi = true;
							continua = true;
						}
					}
				}
				if(continua)
				{
					marcarPuntoCentral(pointClick.lon, pointClick.lat);
					try
					{
						drawArea(pointClick.lon,pointClick.lat,distancia,tipoDistancia);
					}
					catch(e)
					{
						delArea(0);
					}
				}
				if(checkedPoi==false)
				{
					alert("Seleccione el Tipo de POI en el listado");
				}				
				
						
				
			}
		}
		else
		{
			alert("Seleccione un punto de origen.");// para buscar el POI más cercano a una dirección");
		}
	}
	catch(e)
	{
		alert(e);
	}
	
}

/*function checkDisabledPOI(opcion)
{
	for(var elm = 0; elm < document.forms.zonas.elements.length; elm++)
	{
		if(document.forms.zonas.elements[elm].type == "checkbox")
		{
			if (opcion == "opc1")
			{
				document.forms.zonas.elements[elm].disabled = true;
			}
			else
			{
				document.forms.zonas.elements[elm].disabled = false;
			}
		}
	}
	
}*/
function setUrlPoi(isFirst,idPOI,distancia,tipo,lon,lat)
{
	idPOI = 2;//La petición al IDEE que puede ser un 1 o un 2
	try
	{
		var owsIdentifier="";
		var postParams="<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'>";
		
		if(tipo == "Lineal")
		{
			if(isFirst)
			{
				owsIdentifier = "com.ign.process.geometry.PoisWfsFinderFirst";
			}
			else
			{
				owsIdentifier = "com.ign.process.geometry.PoisWfsFinder";
			}
		}
		else
		{
			if(isFirst)
			{
				owsIdentifier = "com.ign.process.geometry.PoisWfsManhattanFinderFirst";
			}
			else
			{
				owsIdentifier = "com.ign.process.geometry.PoisWfsManhattanFinder";
			}
		}
		
		postParams = postParams + "<ows:Identifier>"+owsIdentifier+"</ows:Identifier>";
		postParams = postParams + "<DataInputs><Input><ows:Identifier>data</ows:Identifier><ows:Title>Punto</ows:Title><ComplexValue><pak:GMLPacket><pak:packetMember><pak:StaticFeature><gml:pointProperty><gml:Point><gml:coord><gml:X>"+lon+"</gml:X><gml:Y>"+lat+"</gml:Y></gml:coord></gml:Point></gml:pointProperty></pak:StaticFeature></pak:packetMember></pak:GMLPacket></ComplexValue></Input>";
		postParams = postParams + "<Input><ows:Identifier>radio</ows:Identifier><ows:Title>Radio</ows:Title><LiteralValue dataType='xs:double'>"+distancia+"</LiteralValue></Input>";
		postParams = postParams + "<Input><ows:Identifier>id</ows:Identifier><ows:Title>id</ows:Title><LiteralValue dataType='xs:int'>"+idPOI+"</LiteralValue></Input></DataInputs>";
		postParams = postParams + "<OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>LineString</ows:Title><ows:Abstract>GML describiendo una feature de Linestring.</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://geoserver.itc.nl:8080/wps/schemas/gml/2.1.2/gmlpacket.xsd'><SupportedComplexData><Schema>http://schemas.opengis.net/gml/2.1.2/feature.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
		
		var urlPath = urlWps ;
		postParams="urlValor="+ urlWps+"&request="+escape(postParams);
		doWPSProfileQuery(urlPath, postParams,8,false,true,false);
		muestraCartel(lon,lat,"Buscando POI's");
		return true;
	}
	catch(e)
	{
		alert(e);
		return false;
	}
	
}
function marcarPuntoCentral(lon,lat)
{
	delArea(0);
	var lyrV = layerVector("Polygon");
	var point = new OpenLayers.Geometry.Point(lon,lat);
	var newPoint = point;
	var pointFeature = new OpenLayers.Feature.Vector(point,null,style_point);
	map.layers[lyrV].addFeatures([pointFeature]);
}

function setInterfazRuta(type)
{
	var htmlRoute ="<table width='100%' border='0' cellspacing='3' cellpadding='3' id='tableRuta'>";
	var styleBorder_1="border:1px dashed #999999;";

	if(type == 1)
	{
		selectL("ruta");

		htmlRoute =htmlRoute +"<tr><td id='lista' class='tituloB2' colspan='2'><li>Resultados</li></td></tr><tr><td colspan=2><a href='#' onClick='javascript: eliminarRuta(true,true);'><div id='buttonsDel'>Eliminar ruta</div> </a></td></tr><tr><td><table cellspacing='0' cellpadding='3' border='0' style='"+styleBorder_1+"' width='100%'>";
		
		htmlRoute = htmlRoute + document.forms.ruta.descRuta.value;
		
		htmlRoute =htmlRoute +"</table></td></tr>";
		
		htmlRoute = htmlRoute +"<a id='add_route'></a><tr id='addDestino'><td  style='padding-top: 10px;' id='lista' class='tituloB2' colspan='2'><li>Añadir un nuevo destino a la ruta</li></td></tr>";
		var cadenaAddHtml = "<table width='100%' border=0 id='tableAddPoint'><tr><td valign='top'>Calle:</td><td colspan=2><input name='calleDestinoAdd' id='calleDestinoAdd' type='text' size='18'>&nbsp;&nbsp;Nº&nbsp;&nbsp;<input name='numDestinoAdd' id='numDestinoAdd' type='text' value='' size='2'></td></tr>";
		cadenaAddHtml =cadenaAddHtml + "<tr id='trMunicipioDestinoAdd'><td valign='top'>Municipio:</td><td valign='top'><div id='munDivDestinoAdd' alt='Solo municipos disponibles en Cartociudad' title='Solo municipos disponibles en Cartociudad' style='width:180px; height:20px;'></div></td><td valign='top'><div id='loadingMunAddDestino'></div></td></tr>";
		cadenaAddHtml =cadenaAddHtml + "<tr><td valign='top'>Provincia:</td><td colspan=2><select id='provinciaDestinoAdd' style='width:160px;' onchange='javascript:loadMunicipio(\"provinciaDestinoAdd\",\"municipioDestinoAdd\",1);' ><option value=''>-- Provincia --</option></select></div></td></tr>";
		cadenaAddHtml =cadenaAddHtml + "<tr><td valign='top' >&nbsp;</td><td colspan=2><input name='button' type='button' value='Buscar' style='text-align:center' onClick='javascript:addPointToRoute();'/> </td></tr></table>";
		htmlRoute =htmlRoute +	cadenaAddHtml;
		
		var existeRRuta = rowExists("tableRutasForm","trResultRuta",true);
		
	}
	else
	{
		htmlRoute =htmlRoute +"<tr><td colspan='2' class='tituloB2' id='lista'><li>Origen</li></td></tr>";
		htmlRoute =htmlRoute + "<tr><td valign='top'>Calle:</td><td><input id='calleOrigen' type='text' size='18'>&nbsp;&nbsp;Nº&nbsp;&nbsp;<input  id='numOrigen' type='text' value='' size='2'></td></tr>";
		htmlRoute =htmlRoute + "<tr id='trMunicipioOrigen'><td valign='top'>Municipio:</td><td><div id='munDivOrigen' alt='Solo municipos disponibles en Cartociudad' title='Solo municipos disponibles en Cartociudad' style='width:180px; height:20px;'></div></td></tr>";
		htmlRoute =htmlRoute + "<tr><td valign='top'>Provincia:</td><td><select name='provinciaOrigen' style='width:180px;' id='provinciaOrigen' onchange='javascript:loadMunicipio(\"provinciaOrigen\",\"municipioOrigen\",1);'  ><option value=''>-- Provincia --</option></select></td></tr>";
		htmlRoute =htmlRoute + "<tr><td colspan='2' class='tituloB2' id='lista'><strong><li>Destino</li></strong></td></tr>";
		htmlRoute =htmlRoute + "<tr><td valign='top'>Calle:</td><td><input name='calleDestino' id='calleDestino' type='text' size='18'>&nbsp;&nbsp;Nº&nbsp;&nbsp;<input name='numDestino' id='numDestino' type='text' value='' size='2'></tr>";
		htmlRoute =htmlRoute + "<tr id='trMunicipioDestino'><td valign='top'>Municipio:</td><td valign='top'><div id='munDivDestino' alt='Solo municipos disponibles en Cartociudad' title='Solo municipos disponibles en Cartociudad' style='width:180px; height:20px;'></div></td></tr>";
		htmlRoute =htmlRoute + "<tr><td valign='top'>Provincia:</td><td><select id='provinciaDestino' style='width:180px;' onchange='javascript:loadMunicipio(\"provinciaDestino\",\"municipioDestino\",1);' ><option value=''>-- Provincia --</option></select></td></tr>";
		htmlRoute =htmlRoute + "<tr><td valign='top'>&nbsp;</td><td><input name='button' type='button' value='Buscar' style='text-align:center' onClick='javascript:calcularRuta(0);'><input type='button' name='reset2' value='Limpiar' onClick='limpiar(2);' /></td></tr><tr><td colspan=2><div id='divLoadingRuta'></div></td></tr>";
	}
	htmlRoute = htmlRoute + "</table>";
	document.getElementById("interfazRutaTD").innerHTML=htmlRoute;
	document.getElementById('rutas').scrollTop = 0;
	
	if(type == 0)
	{
		loadEntidad(1);
	}
	else
	{
		loadAddPoint();
	}
}




function loadAddPoint()
{
	var comboWidthAdd = 158;
	if(isIE())comboWidthAdd = 160;
		
	dhtmlCmbDestinoAdd=new dhtmlXCombo("munDivDestinoAdd","municipioDestinoAdd",comboWidthAdd);
	dhtmlCmbDestinoAdd.clearAll();
	
	var inputMunicipioDestinoAdd = document.getElementById('munDivDestinoAdd');
	OpenLayers.Event.observe(inputMunicipioDestinoAdd, 'keyup', OpenLayers.Function.bindAsEventListener(loadMunRutaAdd,inputMunicipioDestinoAdd));
			
	loadProvincia('provinciaDestinoAdd','municipioDestinoAdd');
}

function addPointToRoute()
{
	if(document.forms.ruta.calleDestinoAdd.value.length<3)
	{
		alert("Introduzca un mínimo de 3 caracteres en el nombre de la calle de destino");
	}
	else
	{
		var vialDestinoAdd = trim(document.forms.ruta.calleDestinoAdd.value.toUpperCase()); 
		var numDestinoAdd =trim(document.forms.ruta.numDestinoAdd.value.toUpperCase()); 
		
		var _provD = "";
		var _munD ="";
		

		var _elementProvDestino_ = document.forms.ruta.provinciaDestinoAdd;
						
		if(_elementProvDestino_.value  != "")
		{
			_provD = _elementProvDestino_.options[_elementProvDestino_.selectedIndex].text;
		}
		
		if((dhtmlCmbDestinoAdd.DOMelem_input.value!=null)&&(dhtmlCmbDestinoAdd.DOMelem_input.value!="null")&&(dhtmlCmbDestinoAdd.DOMelem_input.value!=""))
		{
			_munD = dhtmlCmbDestinoAdd.DOMelem_input.value;
									
			if(_provD == "")
			{
				if((dhtmlCmbDestinoAdd.getSelectedValue()!=null)&&(dhtmlCmbDestinoAdd.getSelectedValue()!="null")&&(dhtmlCmbDestinoAdd.getSelectedValue()!=""))
				{
					_munD = dhtmlCmbDestinoAdd.getSelectedValue();
					var _posmun = 0;
					if((_munD.indexOf("(")!=-1)&&(_munD.indexOf(")")!=-1))							
					{
						var _nombreMun_ = _munD.substr(0,_munD.indexOf("("));
						_nombreMun_ = _nombreMun_.replace("&nbsp;","");
						var longitudMun = _munD.length;
						var _nombreProvincia_ = _munD.substr(_nombreMun_.length,_munD.length -_nombreMun_.length );
						_nombreProvincia_ = _nombreProvincia_.replace("(","");
						_nombreProvincia_ = _nombreProvincia_.replace(")","");
						_nombreProvincia_ = _nombreProvincia_.replace("&nbsp;","");
						_munD = trim(_nombreMun_);
						_provD = trim(_nombreProvincia_);
					}
			        			
			    }
				
		        						
			}
			
			while(_munD.indexOf("´")!=-1)
			{
				_munD = _munD.replace("´","'");
			}
		}
		       		
		getResultsAddPoint(_provD,_munD,vialDestinoAdd,numDestinoAdd);
		
	}
}
function addDestino()
{
	
	var arrayXY = new Array();
	if(document.getElementById('resultDestinoAdd').selectedIndex == -1)
	{
		alert("Seleccione la dirección en el listado");
	}
	else
	{
		
				
		var idDireccion = document.getElementById('resultDestinoAdd').options[document.getElementById('resultDestinoAdd').options.selectedIndex].value;
		var provincia = " (" + document.forms.ruta.provinciaDestinoAdd.options[document.forms.ruta.provinciaDestinoAdd.selectedIndex].text+ ")";
		var municipio = "";
		if((dhtmlCmbDestinoAdd.DOMelem_input.value!=null)&&(dhtmlCmbDestinoAdd.DOMelem_input.value!="null")&&(dhtmlCmbDestinoAdd.DOMelem_input.value!=""))
		{
			municipio = dhtmlCmbDestinoAdd.DOMelem_input.value;
		}
			
		if((document.forms.ruta.provinciaDestinoAdd.selectedIndex == 0) || (document.forms.ruta.provinciaDestinoAdd.selectedIndex == -1))
		{
			provincia = "";
		}
		var elemento;
        if(arrayRuta.length == 0)
        {
        	elemento = 1;
        }
        else
        {
        	elemento = arrayRuta.length;
        }
        
        var direccion = "<span>"+ document.getElementById('resultDestinoAdd').options[document.getElementById('resultDestinoAdd').options.selectedIndex].text + "</span>";
			
		if(municipio != "")
		{
			direccion = direccion + "<br />" + municipio;
		}
		if(provincia != "")
		{
			if(municipio != "")
			{
				direccion = direccion + provincia;
			}
		}
		
		
		var cadenaBuscar = ", en ";
		var cadenaReplace = "<br>";
		direccion = direccion.replace(cadenaBuscar,cadenaReplace);
		direccion = direccion + "</span>";
			
        arrayXY.push(new Array(2));
		arrayXY[0][0] = idDireccion;
    	arrayXY[0][1] = elemento;
    	arrayXY[0][2] = direccion;
    		
		getXY(arrayXY);
	}	
	
	
}

function muestraCartel(x,y,mensaje)
{
	px = this.map.getLayerPxFromLonLat(new OpenLayers.LonLat(x,y));
	
	try
	{
		document.getElementById("areaId").style.left = px.x;
		document.getElementById("areaId").style.top = px.y;
	}
	catch(e)
	{
	}
	document.getElementById("areaId").innerHTML = "<img src='img/loading.gif' border='0'>"+mensaje;
	document.getElementById("areaId").style.visibility = "visible";
}
function ocultaCartel()
{
	document.getElementById("areaId").innerHTML = "";
	document.getElementById("areaId").style.visibility = "hidden";
}
function changeImage(id,acc)
{
	var img = 'img/papelera.gif';
	if(acc == 1)
	{
		img = 'img/papelera-hover.gif';
	}
	document.getElementById(id).src = img;
	
}

function changeImageClose(acc)
{
	var img = 'img/close.gif';
	if(acc == 1)
	{
		img = 'img/close-hover.gif';
	}
	document.getElementById("closeVial").src = img;
	
}
function convertISO88591(cadena)
{
	
	cadena = cadena.replace('Ã¡','á');
	cadena = cadena.replace('Ã©','é');
	cadena = cadena.replace('Ã','í');
	cadena = cadena.replace('Ã³','ó');
	cadena = cadena.replace('Ãº','ú');
	cadena = cadena.replace('Ã±','ñ');
	
	
	return cadena;
	
	
}
function centrarPOI(numero)
{
	setOverFt(0);
	
	document.forms.formgml.iddPOI.value = numero;		
	for(x = 0; x < arrayPOIS.length; x++)
	{
		if(arrayPOIS[x][0] == numero)
		{
			if (popupQuery!= null)
			{
				popupQuery.destroy();
				popupQuery = null;
			}
			
			var centerWh = new OpenLayers.LonLat( arrayPOIS[x][1].lon, arrayPOIS[x][1].lat); 
			var posCoord = convertPosition(centerWh);
			var direccion ="<span class='tituloB2'><strong>Punto de Interés:</strong></span><br> <br><span>"+arrayPOIS[x][2]+"</span>";//+"<br><br>"+posCoord+"</span>";
			document.forms.formgml.addressPOI.value = direccion;
			
			var postParams="";
		
			postParams = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><Execute service='WPS' version='0.4.0' store='false' status='false' xmlns='http://www.opengeospatial.net/wps' xmlns:pak='http://www.opengis.net/examples/packet' xmlns:ows='http://www.opengeospatial.net/ows' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengeospatial.net/wps ..\wpsExecute.xsd' xmlns:om='http://www.opengis.net/om' xmlns:gml='http://www.opengis.net/gml'><ows:Identifier>com.ign.process.geometry.ClosestMultiplePointFinder</ows:Identifier><DataInputs><Input><ows:Identifier>data</ows:Identifier><ows:Title>Punto</ows:Title><ComplexValue defaultSchema='http://www.idee.es/parser/ArrayList.xsd'><gml:Point><gml:coord><gml:X>"+arrayPOIS[x][1].lon+"</gml:X><gml:Y>"+arrayPOIS[x][1].lat+"</gml:Y></gml:coord></gml:Point></ComplexValue></Input></DataInputs><OutputDefinitions><Output><ows:Identifier>result</ows:Identifier><ows:Title>Lista de portales</ows:Title><ows:Abstract>xml con la lista de portales y las coordenadas de busqueda</ows:Abstract><ComplexOutput defaultFormat='text/XML' defaultSchema='http://www.idee.es/portalList.xsd'><SupportedComplexData><Schema>http://www.idee.es/portalList.xsd</Schema></SupportedComplexData></ComplexOutput></Output></OutputDefinitions></Execute>";
				
			var urlPath = urlWps ;
			postParams="urlValor="+ urlWps+"&request="+escape(postParams);
			doWPSProfileQuery(urlPath, postParams,11,false,false,true);
	
			
		                  	
		                    	 
		}
	}
	
}

function prepareArea()
{
		
					var distancia;
					var tipoDistancia;
					var indice;
					var pointClick;
					
					valor = arrayRuta[0][0];
	        		pointClick = valor.split(",");
					pointClick = new OpenLayers.LonLat(pointClick[0],pointClick[1]);
					
					for(a=0;a<document.forms.zonas.length;a++)
					{
						if(document.forms.zonas[a].name=="distancia")
						{
							distancia = document.forms.zonas[a].value;
						}
						else if(document.forms.zonas[a].name=="tipoDistancia")
						{
							indice =document.forms.zonas[a].selectedIndex;
							tipoDistancia = document.forms.zonas[a].options[indice].text;
						}
						else
						{
						}
					}
					if(distancia <= 0)
					{
						alert("Introduzca un valor numérico en el campo distancia mayor a cero");
					}
					else if(isNaN(distancia))
					{
						alert("Introduzca un valor numérico en el campo distancia");
					}
					else
					{
						document.forms.formgml.setFromArea.value = 1
						marcarPuntoCentral(pointClick.lon, pointClick.lat);
						drawArea(pointClick.lon,pointClick.lat,distancia,tipoDistancia);
					}
}


function inputclick(identificador)
{
	
	 var elementoDiv = document.getElementById(identificador);
    // elementoDiv.checked = !elementoDiv.checked;
         
     /*var elementoDiv2 = document.getElementById("input_cartociudad2");
     elementoDiv2.checked = elementoDiv.checked;
         
     this.baseLayers[0].layer.setVisibility(elementoDiv.checked);*/
         
}