function editarDatos(lng) {
  
  document.ipForm.ip.value = "";
  
  if (lng=="en_GB") {
    pais = "Country";
    ciudad = "City";
    cPostal = "Postal Code";
    lat = "Latitude";
    lon = "Longitude";
    loc = "Locate";
    lim = "Clean";    
  }
  else {
    pais = "País";
    ciudad = "Ciudad";
    cPostal = "Código Postal";
    lat = "Latitud";
    lon = "Longitud";
    loc = "Localizar";
    lim = "Limpiar";  
  }
    
  var editar = "<form name=\"datosIp\" action=\"javascript:limpiarFiltros();\">\n";
  editar = editar+"<h2>"+pais+"</h2>\n";
  editar = editar+"<div class=\"textEdit\"><input name=\"pais\" type=\"text\" value=\""+document.datosIp.pais.value+"\"></div>\n";
  editar = editar+"<h2>"+cPostal+"</h2>\n";
  editar = editar+"<div class=\"textEdit\"><input name=\"cpostal\" type=\"text\" value=\""+document.datosIp.cpostal.value+"\"></div>\n";
  editar = editar+"<h2>"+ciudad+"</h2>\n";
  editar = editar+"<div class=\"textEdit\"><input name=\"ciudad\" type=\"text\" value=\""+document.datosIp.ciudad.value+"\"></div>\n";
  editar = editar+"<h2>"+lat+"</h2>\n";
  editar = editar+"<div class=\"textEdit\"><input name=\"lat\" type=\"text\" value=\""+document.datosIp.lat.value+"\"></div>\n";
  editar = editar+"<h2>"+lon+"</h2>\n";
  editar = editar+"<div class=\"textEdit\"><input name=\"lng\" type=\"text\" value=\""+document.datosIp.lng.value+"\"></div>\n";
  editar = editar+"<input name=\"ip\" type=\"hidden\" value=\"\">\n";
  editar = editar+"<input name=\"paisAb\" type=\"hidden\" value=\"\">\n";
  editar = editar+"<center><input type=\"submit\" value=\""+loc+"\"> <input type=\"button\" value=\""+lim+"\" onclick=javascript:limpiarDatos();\"\"></center>\n";
  editar = editar+"</form>";

  document.getElementById("datosIp").innerHTML=editar;
  
  
    /* google analytics */
  urchinTracker("/edit");
  
  
}

function limpiarDatos() {
  document.datosIp.pais.value="";
  document.datosIp.cpostal.value="";
  document.datosIp.ciudad.value="";
  document.datosIp.lat.value="";
  document.datosIp.lng.value="";
}

function limpiarFiltros() {

  if (document.datosIp.lat.value=="" || document.datosIp.lng.value=="") {
    document.datosIp.lat.value="";
    document.datosIp.lng.value="";    
  }
  else {      
    document.datosIp.pais.value="";
    document.datosIp.cpostal.value="";
    document.datosIp.ciudad.value="";    
  }
  mostrarMapa();
  /* google analytics */
  urchinTracker("/localizarDireccion");  
}

function obtenerDatosIp() {
  document.getElementById("datosIp").innerHTML = '';
  document.getElementById("map_canvas").style.backgroundColor = 'white';
  document.getElementById("map_canvas").innerHTML= '<table><tr><td style=" width: 350px;height: 300px;text-align: center;vertical-align: middle;"><img src="images/loading.gif" /></td></tr></table>';  

  var ip = document.ipForm.ip.value;   
  var oXmlHttp = zXmlHttp.createRequest();
  /*
  oXmlHttp.onreadystatechange = function() {
    if (oXmlHttp.readyState == 4 && 
        (oXmlHttp.status==200 || window.location.href.indexOf("http")==-1)) {
        document.getElementById("datosIp").innerHTML=oXmlHttp.responseText;
    }    
  }
  */  
  oXmlHttp.open("GET","datosIp.php?ip="+ip,false);
  oXmlHttp.send(null);
  document.getElementById("datosIp").innerHTML=oXmlHttp.responseText;
  
}


function getRequestBody(oForm) {
    var aParams = new Array();
    
    for (var i=0 ; i < oForm.elements.length; i++) {
        var sParam = encodeURIComponent(oForm.elements[i].name);
        sParam += "=";
        sParam += encodeURIComponent(oForm.elements[i].value);
        aParams.push(sParam);
    } 
    
    return aParams.join("&");
}


function obtenerDatosLista(lang) {
  
  if (lang=="en_GB") 
    img = "locating";
  else  
    img = "localizando";
  
  document.getElementById("msgBusquedaLista").innerHTML='<img src="images/'+img+'.gif">';
  document.getElementById("tablaIps").innerHTML='';
  
  var oForm = document.forms.listaForm;
  var sBody = getRequestBody(oForm);
  var oXmlHttp = zXmlHttp.createRequest();  
  oXmlHttp.open("POST","datosLista.php",true);
  oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  
  oXmlHttp.onreadystatechange = function() {
    if (oXmlHttp.readyState == 4 && 
        (oXmlHttp.status==200 || window.location.href.indexOf("http")==-1)) {
	  document.getElementById("tablaIps").innerHTML=oXmlHttp.responseText;
	  document.getElementById("msgBusquedaLista").innerHTML='';

	  document.location = "#tablaLista";	  
	  urchinTracker("/datosLista.php");
    }    
  }
      
  oXmlHttp.send(sBody);
  
  
}

function registrarLugar(id) {


  var oXmlHttp = zXmlHttp.createRequest();
  oXmlHttp.onreadystatechange = function() {
    if (oXmlHttp.readyState == 4 && 
        (oXmlHttp.status==200 || window.location.href.indexOf("http")==-1)) {
        document.getElementById("datosIp").innerHTML=oXmlHttp.responseText;
    }    
  }
  oXmlHttp.open("GET","registrarLugar.php?id="+id,true);
  oXmlHttp.send(null);


}

function mostrarIP(ip) {

  document.ipForm.ip.value = ip;
  document.ipForm.submit();
  
}

function checkUrl(URL) {
	if (URL != '') {
      document.getElementById("checkUrl").innerHTML='<img src="images/wait.gif" />';
		  var oXmlHttp = zXmlHttp.createRequest();
		  
		  oXmlHttp.onreadystatechange = function() {
		    if (oXmlHttp.readyState == 4 && 
		        (oXmlHttp.status==200 || window.location.href.indexOf("http")==-1)) {
		        document.getElementById("checkUrl").innerHTML=oXmlHttp.responseText;		
		    }    
		  }
		    
		  oXmlHttp.open("GET","checkUrl.php?url="+URL,true);
		  oXmlHttp.send(null);
		  
  }
  else document.getElementById("checkUrl").innerHTML="";
}


function checkOurUrl(URL) {
	if (URL != '') {
      document.getElementById("checkOurUrl").innerHTML='<img src="images/wait.gif" />';
		  var oXmlHttp = zXmlHttp.createRequest();
		  
		  oXmlHttp.onreadystatechange = function() {
		    if (oXmlHttp.readyState == 4 && 
		        (oXmlHttp.status==200 || window.location.href.indexOf("http")==-1)) {
		        document.getElementById("checkOurUrl").innerHTML=oXmlHttp.responseText;		
		    }    
		  }		    
		  oXmlHttp.open("GET","checkOurUrl.php?url="+URL,true);
		  oXmlHttp.send(null);
		  
  }
  else document.getElementById("checkOurUrl").innerHTML="";
}





/**
 * Legacy zXml settings for backwards compatibility.
 */
var zXml = {
    useActiveX /*:Boolean*/ : (typeof ActiveXObject != "undefined"),
    useDom /*:Boolean*/: document.implementation && document.implementation.createDocument,
    useXmlHttp /*:Boolean*/: (typeof XMLHttpRequest != "undefined"),
    
    settings : {

        /**
		 * Does this browser support native XMLHttpRequest?
		 */
		hasXmlHttp /*:Boolean*/: (typeof XMLHttpRequest != "undefined"),
		
		/**
		 * Does this browser support ActiveX controls?
		 */
		hasActiveX /*:Boolean*/: (typeof ActiveXObject != "undefined"),
		
		/**
		 * Does this browser support native DOM creation?
		 */
		hasXmlDom /*:Boolean*/: (document.implementation && document.implementation.hasFeature("XML", "1.0")),
		
		/**
		 * Does this browser support DOM LoadSave?
		 */
		hasDomLS /*:Boolean*/: (document.implementation && document.implementation.hasFeature("LS", "3.0")),
		
		/**
		 * Does this browser support DOM LoadSave?
		 */
		hasDomLSAsync /*:Boolean*/: (document.implementation && document.implementation.hasFeature("LS-Async", "3.0")),
		
		/**
		 * Does this browser support a native DOMParser?
		 */
		hasDomParser /*:Boolean*/: (typeof DOMParser != "undefined"),
		
		/**
		 * Does this browser support a native XMLSerializer?
		 */
		hasXmlSerializer /*:Boolean*/: (typeof XMLSerializer != "undefined"),
		
		/**
		 * Does this browser have an XSLTProcessor?
		 */
		hasXSLTProcessor /*:Boolean*/: (typeof XSLTProcessor != "undefined")
    }
};

zXml.ARR_XMLHTTP_VERS = ["MSXML2.XmlHttp.6.0", "MSXML2.XmlHttp.3.0"];

zXml.ARR_DOM_VERS = ["MSXML2.DOMDocument.6.0", "MSXML2.DOMDocument.3.0"];
 
/**
 * Static class for handling XMLHttp creation.
 * @class
 * @scope public
 */                     
function zXmlHttp() {
}

/**
 * Creates an XMLHttp object.
 * @static
 * @scope public
 * @return An XMLHttp object.
 */
zXmlHttp.createRequest = function ()/*:XMLHttp*/ {

    if (zXml.settings.hasXmlHttp) {
        return new XMLHttpRequest();
    } else if (zXml.settings.hasActiveX) {
        if (!zXml.XMLHTTP_VER) {
            for (var i=0; i < zXml.ARR_XMLHTTP_VERS.length; i++) {
                try {
                    new ActiveXObject(zXml.ARR_XMLHTTP_VERS[i]);
                    zXml.XMLHTTP_VER = zXml.ARR_XMLHTTP_VERS[i];
                    break;
                } catch (oError) {                
                }
            }
        }
        
        if (zXml.XMLHTTP_VER) {
            return new ActiveXObject(zXml.XMLHTTP_VER);
        } else {
            throw new Error("Could not create XML HTTP Request.");
        }
    } else {
        throw new Error("Your browser doesn't support an XML HTTP Request.");
    }
};

/**
 * Indicates if XMLHttp is available.
 * @static
 * @scope public
 * @return True if XMLHttp is available, false if not.
 */
zXmlHttp.isSupported = function ()/*:Boolean*/ {
    return zXml.settings.hasXmlHttp || zXml.settings.hasActiveX;
};