// JavaScript Document

function ver_capa(id)
{
	document.getElementById(id).style.display = "block";
}
function ocultar_capa(id)
{	
	document.getElementById(id).style.display = "none";	
}

//Para validar un campo vacio
function tf_vacio_str(form,tf,str) 
{   
           
        if( vacio(document[form][tf].value) == false ) 
		{   
                alert("Introduzca "+str);
				document[form][tf].focus();
                return false   
        } 
		else return true;   
           
} 
function vacio(q) {   
        for ( i = 0; i < q.length; i++ ) {   
                if ( q.charAt(i) != " " ) {   
                        return true   
                }   
        }   
        return false   
}

//verificar el mail correcto
function emailCheck (form,tf) 
{	
	var emailStr = document[form][tf].value
	var emailPat=/^(.+)@(.+)$/	
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"	
	var validChars="\[^\\s" + specialChars + "\]"	
	var quotedUser="(\"[^\"]*\")"	
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/	
	var atom=validChars + '+'	
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")	
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")	
	var matchArray=emailStr.match(emailPat)
	
	if (matchArray==null) 
	{	
		alert("La dirección de correo no es válida! \n" +"    debe escribir  el símbolo '@' ");
		document[form][tf].focus();
		return false;
	}
	
	var user=matchArray[1]
	var domain=matchArray[2]	
	
	if (user.match(userPat)==null) 
	{
		alert("!La dirección de correo no es válida!  \n" +"debe escribir correctamente el dominio, ejm: ciudadanosaldia.org");
		document[form][tf].focus();
		return false;
	}
	
	var IPArray=domain.match(ipDomainPat)
	
	if (IPArray!=null) 
	{	
		  for (var i=1;i<=4;i++) 
		  {
			if (IPArray[i]>255) 
			{
				alert("IP de destino incorrecta.");
				document[form][tf].focus();
			return false;
			}
		}
		return true
	}

	var domainArray=domain.match(domainPat)
	
	if (domainArray==null) 
	{
		alert("! La dirección de correo no es válida!  \n" +"debe escribir correctamente el dominio, ejm: ciudadanosaldia.org");
		document[form][tf].focus();
		return false;
	}	
	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) 
	{	
	   alert("!La dirección de correo no es válida!  \n" +"debe escribir correctamente el dominio, ejm: ciudadanosaldia.org");
	   document[form][tf].focus();
	   return false;
	}	
	
	if (len<2) {
	   var errStr="¡A esta dirección le falta un nombre de host!";
	   alert(errStr);
	   document[form][tf].focus();
	   return false
	}	
	
	var checkOK = "0123456789.qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM@-_";

  	var checkStr = document[form][tf].value;	
	var allValid = true; 
  	for (i = 0; i < checkStr.length; i++) 
	{
		ch = checkStr.charAt(i); 
		for (j = 0; j < checkOK.length; j++)
		  if (ch == checkOK.charAt(j))
			break;
		
		if (j == checkOK.length) 
		{ 
		  allValid = false; 
		  break; 
    	}
  	}
		if (!allValid) { 
		alert("Hay un caracter no permitido, por favor verifique"); 
		docuemnt[form][tf].focus(); 
		return (false); 
  	}
	
	return true;
}

//Para comprobar que un radio este seleccionado
function validarBotonRadio(form,radio,mensaje) 
{

	var marcado = "no";
	with (document[form])
	{		
		for ( var i = 0; i < document[form][radio].length; i++ ) 
		{			
			if ( document[form][radio][i].checked ) 
			{	
				return true;				
			}
		}		
		if ( marcado == "no" )
		{
						
		window.alert("Debe marcar " + mensaje );
		return false;
		}
	}
}

//funcion para abrir ventanas pequeñas al estilo popup
function abrir_ventana(enlace,ancho,alto,nombre_ventana)
{
   nuevaVentana = window.open (enlace,nombre_ventana,"height="+alto+",width="+ancho+", resizable=NO,noresize=no,toolbar=0,location=0,directories=0, status=NO, menubar=0,scrollbars=1")
}

// Funcion para cerrar una ventana y automaticamente redireccionar a la ventana de donde proviene con mensaje incluido
function refrescar_otra_page(page,msj) 
{ 			 	
	javascript:window.close(); 	
	pagina = page+msj;
	window.opener.location.href=pagina;
}

function borrar_registro(id,pagina,texto)
{
	if(confirm('¿Seguro que deseas eliminar '+ texto +'?'))
	{
		page = pagina+'?id='+id;
		document.location.href=page;
	}; 
}

function validarSelect(form,selec,str)
{
	if (form[selec].selectedIndex==0)
	{
		alert("Seleccione "+str);
		form[selec].focus();
		return false;
	}
	else return true;
} 

function solo_numeros(form,tf)
{
	var checkOK = "0123456789";

  	var checkStr = document[form][tf].value;	
	var allValid = true; 
  	for (i = 0; i < checkStr.length; i++) 
	{
		ch = checkStr.charAt(i); 
		for (j = 0; j < checkOK.length; j++)
		  if (ch == checkOK.charAt(j))
			break;
		
		if (j == checkOK.length) 
		{ 
		  allValid = false; 
		  break; 
    	}
  	}
	
	if (!allValid) 
	{ 
		alert("Escriba sólo números"); 
		document[form][tf].focus(); 
		return (false); 
  	}	
	else return true;
}

