function sinContenido( cadena )
// (Boolean) Indica si la cadena pasada como parámetro es vacía o sólo contiene espacios en blanco (tabuladores, etc.).
{
  return !( new RegExp( "\\S" ) ).test( cadena );  
}

function err_msg( msg )
// (Boolean) Muestra un cuadro de diálogo con un mensaje de error y devuelve el enfoque al elemento de formulario que ha invocado el método. Devuelve siempre "false". Debe asignarse a cada elemento del formulario.
{
  alert( msg );
  this.focus();
  return false;
}

function validarForm( objForm )
{
  for ( var i = 0; i < objForm.length; ++i )	// Añadir método "errMsg" a todos los elementos del formulario.
     objForm.elements[ i ].errMsg = err_msg;
    
//Objeto dominio
// with (objForm.dominio)
//    if (sinContenido(value))
//      return errMsg("Por favor, escriba un nombre de dominio.");

var domain = new String(document.formulario.dominio.value);
if (domain.indexOf(".com") != -1 || domain.indexOf(".org") != -1 || domain.indexOf(".net") != -1 || domain.indexOf(".biz") != -1)
    {
    document.formulario.dominio.value = domain = domain.substr(0, domain.length-4);
    }
if (domain.indexOf(".info") != -1)
    {
    document.formulario.dominio.value = domain = domain.substr(0, domain.length-5);
    }
if (domain.indexOf(".es") != -1)
    {
    document.formulario.dominio.value = domain = domain.substr(0, domain.length-3);
    }
if (domain.length == 0)
    {
    alert("Por Favor, Introduzca un nombre de dominio");
    return false;
    }
if (domain.length < 3)
    {
    alert("Por Favor, Introduzca un nombre de dominio con más de 2 caracteres");
    return false;
    }
if (domain.length > 67 || domain.charAt(0) == '-' || domain.charAt(domain.length-1) == '-')
    {
document.location.href='http://www.dominios.neodigit.es/?l=error';
return false;
    }
for (var i = 0; i < domain.length; i++)
    {
   var c = domain.charAt(i);
   if ((c < '0' && c != '-')  || (c > '9' && c < 'A') || (c > 'Z' && c < 'a') || c > 'z') {
   document.location.href='http://www.dominios.neodigit.es/?l=error';
   return false;
    }
    }
document.formulario.dominio.value = domain.toLowerCase();
// return true;

// Si no hay ninguna extension chequeada lo avisa     
 	if ((objForm.com.checked != true) && (objForm.net.checked != true) && (objForm.org.checked != true) && (objForm.info.checked != true) && (objForm.biz.checked != true) && (objForm.es.checked != true))
 		return objForm.com.errMsg("Tiene que chequear al menos una extension.");
	else 
	{
	//ventana ('registro/chequeando.php?dominio='+objForm.dominio.value,200,430);
	objForm.submit();			
	return true;
	}          
}

function validarForm2(objForm)
{
  //En principio ninguno esta chequeado.
  var com=2;
  var net=2;
  var org=2;
  var info=2;
  var biz=2;
  var es=2;
    
  for ( var i = 0; i < objForm.length; ++i )	// Añadir método "errMsg" a todos los elementos del formulario.
     objForm.elements[ i ].errMsg = err_msg;

	if (objForm.com != null)
		if (objForm.com.checked == true)
			com = 1; //Esta chequeado
		
	if (objForm.net != null)
		if (objForm.net.checked == true)
			net = 1;
		
	if (objForm.org != null)
		if (objForm.org.checked == true)
			org = 1; 
		
	if (objForm.info != null)
		if (objForm.info.checked == true)
			info = 1; 
		
	if (objForm.biz != null)
		if (objForm.biz.checked == true)
			biz = 1; 

	if (objForm.es != null)
		if (objForm.es.checked == true)
			es = 1; //Esta chequeado
			
				
// Si no hay ningun dominio seleccionado lo avisa     
 	if (com==2 && net==2 && org==2 && info==2 && biz==2 && es==2) 	
 		return objForm.registrar.errMsg("Tiene que seleccionar al menos un dominio."); 		
	else 
	{
	objForm.submit();			
	return true;
	}          
	
}

function cambia_pago (frm,valor)
{
	switch (valor)
	{
		case 'tarjeta':
			document.formulario.titular_cuenta.disabled=true;
			document.formulario.entidad.disabled=true;
			document.formulario.oficina.disabled=true;
			document.formulario.dc.disabled=true;
			document.formulario.cuenta.disabled=true;
			document.formulario.titular_cuenta.style.background = "#cccccc";		
			document.formulario.entidad.style.background = "#cccccc";		
			document.formulario.oficina.style.background = "#cccccc";		
			document.formulario.dc.style.background = "#cccccc";		
			document.formulario.cuenta.style.background = "#cccccc";		

			document.formulario.ntarjeta.disabled=false;
			document.formulario.mes_caducidad.disabled=false;
			document.formulario.anio_caducidad.disabled=false;
			document.formulario.ntarjeta.style.background = "#ffffff";		
			document.formulario.mes_caducidad.style.background = "#ffffff";		
			document.formulario.anio_caducidad.style.background = "#ffffff";		
		break;	
		
		case 'domiciliacion':
			document.formulario.titular_cuenta.disabled=false;
			document.formulario.entidad.disabled=false;
			document.formulario.oficina.disabled=false;
			document.formulario.dc.disabled=false;
			document.formulario.cuenta.disabled=false;
			document.formulario.titular_cuenta.style.background = "#ffffff";		
			document.formulario.entidad.style.background = "#ffffff";		
			document.formulario.oficina.style.background = "#ffffff";		
			document.formulario.dc.style.background = "#ffffff";		
			document.formulario.cuenta.style.background = "#ffffff";		
	
			document.formulario.ntarjeta.disabled=true;
			document.formulario.mes_caducidad.disabled=true;
			document.formulario.anio_caducidad.disabled=true;
			document.formulario.ntarjeta.style.background = "#cccccc";		
			document.formulario.mes_caducidad.style.background = "#cccccc";		
			document.formulario.anio_caducidad.style.background = "#cccccc";		
		break;	
		
	}
}

function cambia_pago2 (frm,valor)
{
	switch (valor)
	{
		
		case 'domiciliacion':
			document.formulario.titular_cuenta_hosting.disabled=false;
			document.formulario.entidad_hosting.disabled=false;
			document.formulario.oficina_hosting.disabled=false;
			document.formulario.dc_hosting.disabled=false;
			document.formulario.cuenta_hosting.disabled=false;
			document.formulario.titular_cuenta_hosting.style.background = "#ffffff";		
			document.formulario.entidad_hosting.style.background = "#ffffff";		
			document.formulario.oficina_hosting.style.background = "#ffffff";		
			document.formulario.dc_hosting.style.background = "#ffffff";		
			document.formulario.cuenta_hosting.style.background = "#ffffff";		
	
		break;	
		
		case 'transferencia':	
			document.formulario.titular_cuenta_hosting.disabled=true;
			document.formulario.entidad_hosting.disabled=true;
			document.formulario.oficina_hosting.disabled=true;
			document.formulario.dc_hosting.disabled=true;
			document.formulario.cuenta_hosting.disabled=true;
			document.formulario.titular_cuenta_hosting.style.background = "#cccccc";		
			document.formulario.entidad_hosting.style.background = "#cccccc";		
			document.formulario.oficina_hosting.style.background = "#cccccc";		
			document.formulario.dc_hosting.style.background = "#cccccc";		
			document.formulario.cuenta_hosting.style.background = "#cccccc";		
		break;			
	}
}

function copia_datos(frm)
{
	if (frm.copiabanco.checked == true)
	{
		frm.titular_cuenta_hosting.value=frm.titular_cuenta.value;
		frm.entidad_hosting.value=frm.entidad.value;
		frm.oficina_hosting.value=frm.oficina.value;
		frm.dc_hosting.value=frm.dc.value;
		frm.cuenta_hosting.value=frm.cuenta.value;
	}
	else
	{	
		frm.titular_cuenta_hosting.value="";
		frm.entidad_hosting.value="";
		frm.oficina_hosting.value="";
		frm.dc_hosting.value="";
		frm.cuenta_hosting.value="";
	}	
}
function validaCC(e,o,d,n) {
	var pesos = new Array (6,3,7,9,10,5,8,4,2,1);
	
	var total=e*10000+o*1;
	
	var acc=0;
	for (var i=0;i<8;i++){
		var c = total%10;
		acc	= acc + c*pesos[i];
		total=(total-c)/10;
	}
	var dig1=acc%11;
	dig1=11-dig1;
	if (dig1==10) dig1=1;
	if (dig1==11) dig1=0;


	total=n;
	acc=0;
	
	for (var i=0;i<10;i++){
		var c = total%10;
		acc	= acc + c*pesos[i];
		total=(total-c)/10;
	}
	var dig2=acc%11;
	dig2=11-dig2;
	if (dig2==10) dig2=1;
	if (dig2==11) dig2=0;

	
	var dig=dig1*10+dig2;
	
	if (d!=dig) return false;
	return true;
}

function validarForm4( objForm )
{
  for ( var i = 0; i < objForm.length; ++i )	// Añadir método "errMsg" a todos los elementos del formulario.
     objForm.elements[ i ].errMsg = err_msg;
    
//Comprobamos que rellena el numero de tarjeta si tiene chequeada esta opcion
if (objForm.forma_pago_dominios[0].checked)
{
	if (sinContenido(objForm.ntarjeta.value))
		return objForm.ntarjeta.errMsg("Tiene que indicar el número de su tarjeta.");	
}    
//Comprobamos los datos bancarios si tiene la chequeada esta opcion
if (objForm.forma_pago_dominios[1].checked)
{
	if (sinContenido(objForm.titular_cuenta.value) || sinContenido(objForm.entidad.value) || sinContenido(objForm.oficina.value) || sinContenido(objForm.dc.value) || sinContenido(objForm.cuenta.value))
		return objForm.titular_cuenta.errMsg("Tiene que indicar los datos bancarios.");	
	
	if (!validaCC(objForm.entidad.value,objForm.oficina.value,objForm.dc.value,objForm.cuenta.value))	
		return objForm.entidad.errMsg("El número de cuenta no es válido.");
}

objForm.submit();			
return true;
}
