function noSubmit(){
	if(event.keyCode=='13'){
		buscar();
		return false;
	}
}

// Validar el dominio que se ha escrito
function validarDominio(dominio){
	if (/^[a-zA-Z0-9]+(\-[a-zA-Z0-9]|[a-zA-Z0-9])*$/.test(dominio)){
		return (true);
	}
	else{
	   alert(" El dominio que has escrito es incorrecto:\n  * Solo puede contener numeros, letras y guiones altos.\n  * No puede haber dos giones seguidos.\n  * No puede empezar o terminar en guión.\n");
	   return (false);
	}
}

function limpiarDivs(){
	document.getElementById('dvcom').innerHTML = '';
	document.getElementById('dvorg').innerHTML = '';
	document.getElementById('dvnet').innerHTML = '';
	document.getElementById('dvtv').innerHTML = '';
	document.getElementById('dvinfo').innerHTML = '';
	document.getElementById('dvbiz').innerHTML = '';
	document.getElementById('dvname').innerHTML = '';
	document.getElementById('dveu').innerHTML = '';
	document.getElementById('dvcommx').innerHTML = '';
	document.getElementById('dvnetmx').innerHTML = '';
	document.getElementById('dvorgmx').innerHTML = '';
	document.getElementById('dvgobmx').innerHTML = '';
	document.getElementById('dvgobmx').innerHTML = '';
	document.getElementById('dvedumx').innerHTML = '';
	document.getElementById('dvus').innerHTML = '';
	document.getElementById('dvcc').innerHTML = '';
	document.getElementById('dvws').innerHTML = '';
	document.getElementById('dvin').innerHTML = '';
	document.getElementById('dvme').innerHTML = '';
}

// Función que ejecuta las búsquedas al darle clic a "buscar" en el formulario
function buscar(){
	// Dominio a buscar
	var dominio = document.getElementById('dominio').value;

	if(dominio == ""){
		alert('Por favor escribe un dominio');
		return false;
	}
	else if(ningunoChecado()){
		alert('Elige al menos una extensión (tld) que buscar');
		return false;
	}
	else{
		limpiarDivs();
	
		if(validarDominio(dominio)){
			if(document.getElementById('com'))
				if(document.getElementById('com').checked) consultarAjax(dominio,"com","dvcom");
			if(document.getElementById('org'))
				if(document.getElementById('org').checked) consultarAjax(dominio,"org","dvorg");
			if(document.getElementById('net'))
				if(document.getElementById('net').checked) consultarAjax(dominio,"net","dvnet");
			if(document.getElementById('tv'))
				if(document.getElementById('tv').checked) consultarAjax(dominio,"tv","dvtv");
			if(document.getElementById('info'))
				if(document.getElementById('info').checked) consultarAjax(dominio,"info","dvinfo");
			if(document.getElementById('biz'))
				if(document.getElementById('biz').checked) consultarAjax(dominio,"biz","dvbiz");
			if(document.getElementById('name'))
				if(document.getElementById('name').checked) consultarAjax(dominio,"name","dvname");
			if(document.getElementById('eu'))
				if(document.getElementById('eu').checked) consultarAjax(dominio,"eu","dveu");
			if(document.getElementById('com_mx'))
				if(document.getElementById('com_mx').checked) consultarAjax(dominio,"com.mx","dvcommx");
			if(document.getElementById('net_mx'))
				if(document.getElementById('net_mx').checked) consultarAjax(dominio,"net.mx","dvnetmx");
			if(document.getElementById('org_mx'))
				if(document.getElementById('org_mx').checked) consultarAjax(dominio,"org.mx","dvorgmx");
			if(document.getElementById('gob_mx'))
				if(document.getElementById('gob_mx').checked) consultarAjax(dominio,"gob.mx","dvgobmx");
			if(document.getElementById('edu_mx'))
				if(document.getElementById('edu_mx').checked) consultarAjax(dominio,"edu.mx","dvedumx");
			if(document.getElementById('us'))
				if(document.getElementById('us').checked) consultarAjax(dominio,"us","dvus");
			if(document.getElementById('cc'))
				if(document.getElementById('cc').checked) consultarAjax(dominio,"cc","dvcc");
			if(document.getElementById('ws'))
				if(document.getElementById('ws').checked) consultarAjax(dominio,"ws","dvws");
			if(document.getElementById('in'))
				if(document.getElementById('in').checked) consultarAjax(dominio,"in","dvin");
			if(document.getElementById('me'))
				if(document.getElementById('me').checked) consultarAjax(dominio,"me","dvme");
		}
	}
}

// Función que crea la Clase de tipo coneccion ajax (XMLHTTPRequest)
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}

// Búsqueda asincrona con Ajax
function consultarAjax(dominio,ext,target)
{
	document.getElementById(target).innerHTML = '<table width="100%" border="0"><tr align="left"><td width="34%" class="tituloNegro"><div align="left"><b>'+dominio+'.'+ext+'</b></div></td><td width="38%" class="tituloNegro"><div align="left"><img src="http://neubox.net/v3/mx/lod.gif" /></div></td><td width="28%" class="tituloNegro"><div align="left">&nbsp;</div></td></tr></table>';

	var myConn = new XHConn();
	if (!myConn) alert("XMLHTTP no esta disponible. Intenta con un navegador mas reciente.");
    var peticion = function (oXML) {  document.getElementById(target).innerHTML = oXML.responseText; };
	// myConn.connect("http://www.neubox.net/v3/mx/whois/extractxml.php?dominio="+dominio+"&ext="+ext, "POST", "", peticion);
	myConn.connect("extractxml.php?dominio="+dominio+"&ext="+ext, "POST", "", peticion);
}

// Abre una ventana pop-Up para los detalles del dominio
function popUp(URL) {
	window.open(URL, "Detalles", 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=610,height=240');
}


function ningunoChecado(){
	if(document.getElementById('com').checked) return false;
	if(document.getElementById('org').checked) return false;
	if(document.getElementById('net').checked) return false;
	if(document.getElementById('tv').checked) return false;
	if(document.getElementById('info').checked) return false;
	if(document.getElementById('biz').checked) return false;
	if(document.getElementById('name').checked) return false;
	if(document.getElementById('eu').checked) return false;
	if(document.getElementById('com_mx').checked) return false;
	if(document.getElementById('net_mx').checked) return false;
	if(document.getElementById('org_mx').checked) return false;
	if(document.getElementById('gob_mx').checked) return false;
	if(document.getElementById('edu_mx').checked) return false;
	if(document.getElementById('us').checked) return false;
	if(document.getElementById('cc').checked) return false;
	if(document.getElementById('ws').checked) return false;
	if(document.getElementById('in').checked) return false;
	if(document.getElementById('me').checked) return false;
	
	return true;
}
