function SetCookie (nombre, valor) 
{
		caducidad = Caduca(30);
		document.cookie = nombre + "=" + escape(valor) + "; expires=" + caducidad + "; path=/"
}

function GetCookie(name) { 
   var start = document.cookie.indexOf(name+"="); 
   var len = start+name.length+1; 
   if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
   if (start == -1) return null; 
   var end = document.cookie.indexOf(";",len); 
   if (end == -1) end = document.cookie.length; 
   return unescape(document.cookie.substring(len,end)); 
} 

function Caduca(dias) {
	var hoy = new Date()										//coge la fecha actual
	var msEnXDias = eval(dias) * 24 * 60 * 60 * 1000	//pasa los dias a mseg.

	hoy.setTime(hoy.getTime() + msEnXDias)			//fecha de caducidad: actual + caducidad
	return (hoy.toGMTString())
}
	
function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function ordenacion(x,y) 
{
	if ( x < y ) return -1; 
	if ( x > y ) return 1; 
	return 0; 
}

function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( 
aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1].toUpperCase();
        break;
      }
    }
  }
  return unescape(strReturn);
} 

function eliminarCookie(nombre, ruta, dominio) {

	var caducidad = new Date(1970, 1, 1, 0, 0, 0);
	document.cookie = nombre + "=" + "; expires=" + caducidad + "; path=/"
} 

function limpiar(valor)
{
	if(valor == 1)
	{
		//document.forms.nomenclator.reset();
		
		//eliminarCookie("tipoEntidad","","");
		eliminarCookie("entidad","","");
		eliminarCookie("numPk","","");
		eliminarCookie("provincia","","");
		eliminarCookie("municipio","","");
		markers2.clearMarkers();
		
		for(var elm = 0; elm < document.forms.nomenclator.elements.length; elm++)
		{
			if((document.forms.nomenclator.elements[elm].name!="button")&&(document.forms.nomenclator.elements[elm].name!="reset1")&&(document.forms.nomenclator.elements[elm].name!="entidad"))
			{
				document.forms.nomenclator.elements[elm].value = "";
			}
			
			/*if(document.forms.nomenclator.elements[elm].name == "nombreEntidad")
			{
				document.forms.nomenclator.elements[elm].value = "";
			}
			else if(document.forms.nomenclator.elements[elm].name == "seccionCensal")
			{
				document.forms.nomenclator.elements[elm].value = "";
			}*/
		}
			
		/*if(GetCookie("tipoEntidad")!=null)
		{
			document.nomenclator.entidad.value = GetCookie("tipoEntidad");
		}
		else
		{
			document.getElementById("areaGeografica").innerHTML ="&nbsp;";
		}*/
		document.getElementById("resultadosBusqueda").style.visibility = "hidden";
		try
		{
			dhtmlCmb.clearAll();
		}
		catch(e)
		{
		}
		
		
/*		document.getElementById("labelPk").style.visibility = "hidden";
		document.getElementById("numeroPk").style.visibility = "hidden";*/
		
		//selectPk();
		
	}
	
	
	if(valor == 2)
	{
		document.forms.ruta.reset();
		
		eliminarCookie("provinciaOrigen");
		eliminarCookie("vialOrigen");
		eliminarCookie("numOrigen");
		eliminarCookie("municipioOrigen");
		
		eliminarCookie("municipioDestino");
		eliminarCookie("provinciaDestino");
		eliminarCookie("vialDestino");
		eliminarCookie("numDestino");
		
		unSetMarkerRoute("origen",1);
		unSetMarkerRoute("destino",1);
		
		dhtmlCmbOrigen.clearAll();
		dhtmlCmbOrigen.unSelectOption();
		
		dhtmlCmbDestino.clearAll();
		dhtmlCmbDestino.unSelectOption();
		
		
		
			
		
		var existeRRuta = rowExists("tableRutasForm","trResultRuta",true);
		
	}
	
	if(valor == 3)
	{
		document.getElementById("nomvia_poi").value="";
		document.getElementById("numvia_poi").value="";
		document.getElementById("provinciaArea").selectedIndex = 0;
		dhtmlCmbArea.clearAll();
		dhtmlCmbArea.unSelectOption();
		dhtmlCmbArea.DOMelem_input.value = "";
		
		
	}
	
}

function patchIE6(nombre)
{
	if((nombre == "municipio")||(nombre== "nombreEntidad"))
	{
		document.getElementById("provincia").style.display = "none";
	}
	else if(nombre == "municipioArea")
	{
		document.getElementById("provinciaArea").style.display = "none";
	}
	else if(nombre == "municipioOrigen")
	{
		document.getElementById("provinciaOrigen").style.display = "none";
	}
	else if(nombre == "municipioDestino")
	{
		document.getElementById("provinciaDestino").style.display = "none";
	}
	else
	{
	}
}
function patchIE6Show(nombre)
{
	if((nombre == "municipio")||(nombre== "nombreEntidad"))
	{
		document.getElementById("provincia").style.display = "block";
	}
	else if(nombre == "municipioArea")
	{
		document.getElementById("provinciaArea").style.display = "block";
	}
	else if(nombre == "municipioOrigen")
	{
		document.getElementById("provinciaOrigen").style.display = "block";
	}
	else if(nombre == "municipioDestino")
	{
		document.getElementById("provinciaDestino").style.display = "block";
	}
	else
	{
	}
}

function convertPosition(centerWh)
{
	try
	{
		var longrados = parseInt(Math.abs(centerWh.lon));
		var latgrados = parseInt(Math.abs(centerWh.lat));
		var lonminutos = parseInt(Math.abs(centerWh.lon - parseInt(centerWh.lon))*60);
		var latminutos = parseInt(Math.abs(centerWh.lat - parseInt(centerWh.lat))*60);
		var lonsegundos = Math.abs(((centerWh.lon - longrados)*60) - parseInt((centerWh.lon - longrados)*60))*60;
		var latsegundos = Math.abs(((centerWh.lat - latgrados)*60) - parseInt((centerWh.lat - latgrados)*60))*60;
						        
		if (centerWh.lon < 0){ //Este(+) y Oeste(-)
	    	this.separator = 'O ';
	    }else{
	    	this.separator = 'E ';
	    }
	    if (centerWh.lat < 0){//Norte(+) y sur(-)
	    	this.suffix = 'S';
	    }else{
	    	this.suffix = 'N';
	    }
	    var numdigitsdec  = 1;
	    var digits = parseInt(this.numdigitsdec);
	    var posCoord = longrados + "º " + lonminutos + "' " + lonsegundos.toFixed(digits) + "''" +  this.separator + latgrados + "º " + latminutos + "' " + latsegundos.toFixed(digits) + "''" + this.suffix;
	    return posCoord;
	}
	catch(e)
	{
		return null;
	}
}

function IEKeyCap() 
{
	
	if(navigator.appName == "Microsoft Internet Explorer")
	{
	
	    if (window.event.keyCode == 13) 
	    {
	    	if(document.getElementById("mapInfo").style.visibility == "visible")
			{
				loadResults('nomenclator');
			}
			else if(document.getElementById("zonas").style.visibility == "visible")
			{
				validarZona();
			}
			else if(document.getElementById("rutas").style.visibility == "visible")
			{
				if(arrayRuta.length == 0)
				{
					calcularRuta(0);
				}
			}
			else
			{
				
			}
	    }
	}    
}

function chekKey(e)
{
	
	if((e) && (e.keyCode == 13))
	{
		if(document.getElementById("mapInfo").style.visibility == "visible")
		{
			loadResults('nomenclator');
		}
		else if(document.getElementById("zonas").style.visibility == "visible")
		{
			validarZona();
		}
		else if(document.getElementById("rutas").style.visibility == "visible")
		{
			if(arrayRuta.length == 0)
			{
				calcularRuta(0);
			}
		}
		else
		{
			
		}
	}
}

function inArray (nombreArray,value) {
	var i;
	for (i=0; i < nombreArray.length; i++) {
		if (nombreArray[i] === value) {
			return true;
		}
	}
	return false;
}
function snapToFeatureViewPort(feature,x,y)
	{
		var minD = null;
		var puntoCorteX = 0;
		var puntoCorteY = 0;
		
		for(var nF = 0; nF < feature.geometry.components.length - 1; nF++)
		{
			var lonlat1 = new OpenLayers.LonLat(feature.geometry.components[nF].x,feature.geometry.components[nF].y);
			var point1 = map.getViewPortPxFromLonLat(lonlat1);
			var x1 = point1.x;
			var y1 = point1.y;
			var lonlat2 = new OpenLayers.LonLat(feature.geometry.components[nF + 1].x,feature.geometry.components[nF + 1].y);
			
			var point2 = map.getViewPortPxFromLonLat(lonlat2);
			var x2 = point2.x;
			var y2 = point2.y;
			//var d2 = Math.sqrt(Math.pow((x2-x1),2) + Math.pow((y2-y1),2));
			var d2 = Math.sqrt(Math.pow((x2-x1),2) + Math.pow((y2-y1),2));
			
			var d1 = Math.sqrt(Math.pow((x-x1),2) + Math.pow((y-y1),2));
			var L = ((x - x1) * (x2 - x1) + (y - y1) * (y2 - y1))/d2;
			var d = Math.pow(d1,2) - Math.pow(L,2);
			if((minD == null)||(d < minD))
			{
				minD = d;
				
				puntoCorteX = x1 + (x2-x1) * L / d2;
				puntoCorteY = y1 + (y2-y1) * L / d2;
			}
			
			
		}
		
		var arrayCorte = new Array();
		arrayCorte.x = puntoCorteX;
		arrayCorte.y = puntoCorteY;
		return arrayCorte;
	}
function snapToFeature(feature,x,y)
	{
		var minD = null;
		var puntoCorteX = 0;
		var puntoCorteY = 0;
		
		for(var nF = 0; nF < feature.geometry.components.length - 1; nF++)
		{
			var x1 = feature.geometry.components[nF].x;
			var y1 = feature.geometry.components[nF].y;
			var x2 = feature.geometry.components[nF + 1].x;
			var y2 = feature.geometry.components[nF + 1].y;
			//var d2 = Math.sqrt(Math.pow((x2-x1),2) + Math.pow((y2-y1),2));
			var L = (x - x1) * (x2 - x1) + (y - y1) * (y2 - y1);
			var d1 = Math.sqrt(Math.pow((x-x1),2) + Math.pow((y-y1),2));
			var d = Math.pow(d1,2) - Math.pow(L,2);
			if((minD == null)||(d < minD))
			{
				minD = d;
				d2 = Math.sqrt(Math.pow((x2-x1),2) + Math.pow((y2-y1),2));
				puntoCorteX = x1 + (x2-x1) * Math.abs(L) / d2;
				puntoCorteY = y1 + (y2-y1) * Math.abs(L) / d2;
			}
			
			
		}
		
		var arrayCorte = new Array();
		arrayCorte.lon = puntoCorteX;
		arrayCorte.lat = puntoCorteY;
		return arrayCorte;
	}
	
	
	
function isNumberChar (evt) {

	var longitud = this.value.length;
	
	var ultimocaracter = this.value.substring(longitud,longitud-1);
	//Comprobar que sea un nº:
	
	if (!/^([0-9])*$/.test(ultimocaracter))
	{
		this.value = this.value.replace(ultimocaracter,"");
	}
	
	
	
	
	

}

function isIE6()
{
	var position = navigator.appVersion.indexOf('MSIE');
	  if (position !=  - 1)
	  {
	    var arVersion = navigator.appVersion.split("MSIE");
	    var version = parseFloat(arVersion[1]);
	    if (version == 6)
	    {
	     	esIE6=true;
	    }
	    
	  }
	  
}