


function comprueba_dominio(nombre_dominio)
{

var arr = new Array(
'.com','.net','.org','.biz','.coop','.info','.museum','.name',
'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
'.ec','.ee','.eg','.eh','.er','.es','.et','.eu','.fi','.fj','.fk','.fm',
'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.me','.mg',
'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
'.wf','.ye','.yt','.yu','.za','.zm','.zw','.cat','.gob','xxx');
var comprobacion = nombre_dominio;

var val = true;
var punto = comprobacion.lastIndexOf(".");
var nombre_dominio = comprobacion.substring(0,punto);
var extension = comprobacion.substring(punto,comprobacion.length+1);

if(punto>2 && punto<57)
{
for(var i=0; i<5; i++)
{
if(extension.toString == arr[i].toString)
{
val = true;
break;
}	
else
{
val = false;
}
}

if(val == false)
{
alert("la extension del dominio "+extension+" no es correcta");
return false;
}
else
{
for(var j=0; j<nombre_dominio.length; j++)
{
var dh = nombre_dominio.charAt(j);
var hh = dh.charCodeAt(0);
if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
{
if((j==0 || j==nombre_dominio.length-1) && hh == 45)	
{
alert("El nombre del dominio no puede contener el simbolo guion '-' al principio ni al final");
return false;
}
}
else	{
alert("El dominio no puede contener caracteres especiales");
return false;
}
}
}
}
else
{
alert("El numero de caracteres insertado no es correcto para el nombre de dominio. Posiblemente falte añadir el punto y la extesión.");
return false;
}	
return true;
}


function validateMassiveDomains(){

var resultado;
var area = document.getElementById("domains") 
var texto = area.value.replace(/\s+$/g,"") 
var dominios = texto.split("\n") 
var domActual;

	for(i=0;i< dominios.length;i++){
		domActual = dominios[i];
		
		if((i-1) == dominios.length){
			resultado = comprueba_dominio(domActual);
			
		}
		else{
			resultado = comprueba_dominio(domActual);
		}
			
		if(!resultado){
			alert(domActual+' tiene un formato incorrecto');
			i=dominios.length;
		}
	}
	if(resultado){
		generarLista(dominios,1);
	}
}



function generarLista(dominios,intOrigen){

	var check = '';
	var i=0;
	var a=0;
	var tabla = "";
	if(intOrigen==1){
	
		document.getElementById('domlist').style.display="block";
		document.getElementById('domMasivos').style.display="block";
		tabla = tabla + "<form name='registrar' id='registrar' method='POST' style='margin:0' action='contratar_paso_2.php?checkDom=2'>";
	}



	tabla = tabla + "<div class='dom_text_header'>";
	tabla = tabla + "<div class='dom_text_col1'>Nombre y extensión</div>";
	tabla = tabla + "<div class='dom_text_col2'>Disponibilidad</div>";
	tabla = tabla + "<div class='dom_text_col3'>Selección de registro o traslado</div>";
	tabla = tabla + "<div class='dom_text_col4'>Precio</div>";
	tabla = tabla + "<input type='hidden' name='numDomains' id='numDomains' value='"+dominios.length+"'></div>";
	
	for (i=0; i < dominios.length; i++){
		check = ' checked ';
		

		tabla = tabla + "<div class='dom_text_content'>";
		tabla = tabla + "	<div class='dom_text_col1'>" + dominios[i] + "</div>";
		tabla = tabla + "	<div class='dom_res_ajax' id='res_" + i + "'></div>";
		tabla = tabla + "</div>";

	}
	
	if(intOrigen==1){
		tabla = tabla + "<div class='domainButton domButtonBlueR'><a href=javascript:document.getElementById('registrar').submit(); title='Reserve o traslade los dominios' class='btn_azul btn_azul_grande'><span>REGISTRAR DOMINIOS</span></a></div>";
	}

	document.getElementById('domlist').innerHTML = tabla;
	
	for (i=0; i < dominios.length; i++){
		buscarDom(dominios[i], i,intOrigen);
	}
}


//--------------FUNCIONES AJAX----------
function stateChanged(){ 	 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
	} 
} 
function GetXmlHttpObject(){ 
var satelite=false; 
/* Compatibilidad con FireFox, Opera y cualquier otro BUEN navegador */
  if(typeof(XMLHttpRequest) != 'undefined'){
    try{
      var satelite = new XMLHttpRequest();
    }
    catch(e){ }
  }
  else{
    /* Compatibilidad para el navegador más ASQUEROSO del planeta [ IE ] */
    try{
      var satelite = new ActiveXObject('Microsoft.XMLHTTP');
    }
    catch(e){
      var satelite = new ActiveXObject('Msxml2.XMLHTTP');
    }
  }
  return satelite;
}

function buscarDom(dominio, i,intOrigen){
	var ajax = "xmlHttpStatus"+i;
	ajax = GetXmlHttpObject()
	if(ajax == null){ 
		alert("Su navegador no acepta HTTP Request"); 
		return; 
	}
	var punto = dominio.lastIndexOf(".");
	var nombre_dominio = dominio.substring(0,punto);
	var extension = dominio.substring(punto+1,dominio.length);

	arrSearch = getSearchValues(extension);
	
	
	if(intOrigen == 2){
		var urlPhp="maxWhois/check_old.php?dom="+nombre_dominio+"&ext="+extension+"&server="+arrSearch[1]+"&response="+arrSearch[2]+"&xml="+arrSearch[3]+"&check="+check+"&origen="+intOrigen+"&id="+i;
	}
	else{
		var urlPhp="maxWhois/check_masivo.php?dom="+nombre_dominio+"&ext="+extension+"&server="+arrSearch[1]+"&response="+arrSearch[2]+"&xml="+arrSearch[3]+"&check=checked&origen="+intOrigen+"&id="+i;
		
	}	

	var destino = document.getElementById('res_'+i);
	
	ajax.open("GET",urlPhp,true)
	ajax.onreadystatechange=function(){
		if(ajax.readyState == 1 ) {
			destino.innerHTML = "<img src='maxWhois/img/ajax-loader.gif' border=0>&nbsp;Buscando..."
		}else if(ajax.readyState == 4 ) {
			destino.innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
}


function getSearchValues(ext){
	var tldList = new Array();
	var i=0;
	
	for (i=0; i<13; i++){
		tldList[i] = new Array();
	}
	
	//----------------------------------------
	//-- LISTA DE EXTENSIONES ----------------
	/*
	 0 -> tld
	 1 -> server
	 2 -> response
	 3 -> xml
	*/
	
	tldList[0][0] = 'es';
	tldList[0][1] = '';
	tldList[0][2] = '';
	tldList[0][3] = true;
	tldList[0][4] = 'es';
	
	tldList[1][0] = 'com';
	tldList[1][1] = '';
	tldList[1][2] = '';
	tldList[1][3] = true;
	tldList[1][4] = 'com';
	
	tldList[2][0] = 'net';
	tldList[2][1] = '';
	tldList[2][2] = '';
	tldList[2][3] = true;
	tldList[2][4] = 'net';
	
	tldList[3][0]  = 'org';
	tldList[3][1]  = '';
	tldList[3][2]  = '';
	tldList[3][3]  = true;
	tldList[3][4]  = 'org';
			
	tldList[4][0]  = 'info';
	tldList[4][1]  = '';
	tldList[4][2]  = '';
	tldList[4][3]  = true;
	tldList[4][4]  = 'info';
			
	tldList[5][0]  = 'eu';
	tldList[5][1]  = 'whois.eu';
	tldList[5][2]  = 'AVAILABLE';
	tldList[5][3]  = false;
	tldList[5][4]  = 'eu';
		
	tldList[6][0]  = 'biz';
	tldList[6][1]  = '';
	tldList[6][2]  = '';
	tldList[6][3]  = true;
	tldList[6][4]  = 'biz';
			
	tldList[7][0]  = 'me';
	tldList[7][1]  = 'whois.meregistry.net';
	tldList[7][2]  = 'NOT FOUND';
	tldList[7][3]  = false;
	tldList[7][4]  = 'me';
			
	tldList[8][0]  = 'com.es';
	tldList[8][1]  = '';
	tldList[8][2]  = '';
	tldList[8][3]  = true;
	tldList[8][4]  = 'com_es';
			
	tldList[9][0]  = 'org.es';
	tldList[9][1]  = '';
	tldList[9][2]  = '';
	tldList[9][3]  = true;
	tldList[9][4]  = 'org_es';
			
	tldList[10][0] = 'nom.es';
	tldList[10][1] = '';
	tldList[10][2] = '';
	tldList[10][3] = true;
	tldList[10][4] = 'nom_es';
			
	tldList[11][0] = 'edu.es';
	tldList[11][1] = '';
	tldList[11][2] = '';
	tldList[11][3] = true;
	tldList[11][4] = 'edu_es';
	
	tldList[12][0] = 'cat';
	tldList[12][1] = '';
	tldList[12][2] = '';
	tldList[12][3] = true;
	tldList[12][4] = 'cat';
	
	tldList[13][0] = 'tv';
	tldList[13][1] = '';
	tldList[13][2] = '';
	tldList[13][3] = true;
	tldList[13][4] = 'tv';
	
	tldList[14][0] = 'gob.es';
	tldList[14][1] = '';
	tldList[14][2] = '';
	tldList[14][3] = true;
	tldList[14][4] = 'gob_es';
	
	tldList[15][0] = 'xxx';
	tldList[15][1] = '';
	tldList[15][2] = '';
	tldList[15][3] = true;
	tldList[15][4] = 'xxx';
	
	arrResult= new Array();
	
	for (i=0; i < tldList.length; i++){

		if(tldList[i][0]==ext){
			
				arrResult[0]=tldList[i][0];
				arrResult[1]=tldList[i][1];
				arrResult[2]=tldList[i][2];
				arrResult[3]=tldList[i][3];
				i=tldList.length;
		}
	}
	return arrResult;
}
