/***************************************************************************************
*función carctres_espcles(casilla)														*
*     Util para verificar caracteres especiales en los textos de un formulario			*
*IN: casilla a verificar                              									*
*OUT: verdadero si no hay error, falso y desplegado de error si encuentra alguno		*                     			   
***************************************************************************************/
function carctres_espcles(casilla)
{	if (casilla.value.length==0)
		return true;
	if(casilla.value.indexOf("/")!==(-1)||
	   casilla.value.indexOf("*")!==(-1)||
	   casilla.value.indexOf("|")!==(-1)||
	   casilla.value.indexOf("{")!==(-1)||
	   casilla.value.indexOf("}")!==(-1)||
	   casilla.value.indexOf("?")!==(-1)||
	   casilla.value.indexOf("¿")!==(-1)||
	   casilla.value.indexOf("[")!==(-1)||
	   casilla.value.indexOf("]")!==(-1)||
	   casilla.value.indexOf("\"")!==(-1)||
	   casilla.value.indexOf("\'")!==(-1)||
	   casilla.value.indexOf("$")!==(-1)||
	   casilla.value.indexOf("&")!==(-1)||
	   casilla.value.indexOf("=")!==(-1)||
	   casilla.value.indexOf("@")!==(-1)||
	   casilla.value.indexOf("#")!==(-1))
	   {
	    error(1);
		casilla.select();
		casilla.focus();
		return false;
	    }
	else
		return true;
}
/****************************************************************************************************
*función quitaEspcios(cadna)																		*
*     Util para eliminar los espacios en blanco a la izquierda de los campos text de formulario		*
*IN: casilla a verificar                			              									*
*OUT: se eliminan los espacios en blanco a la izquierda de la casilla seleccionada					*                     			   
*****************************************************************************************************/
function quitaEspcios(cadna)
{

	var cadnaFinal="";
	listo=0;	
	for(pos=0;pos<cadna.value.length;pos++)
	{
		
		if (cadna.value.charAt(pos)==' ' && listo==0){}
		else
		{
			cadnaFinal=cadnaFinal+cadna.value.charAt(pos);
			listo=1;
		}
		
	}
	cadna.value=cadnaFinal;
}

/***************************************************************************************
*function verfcaCorreo(casllaCorreo)													*
*     Util para verificar si un correo electrònico tiene la estructura correcta			*
*IN: casilla a verificar                              									*
*OUT: verdadero si no hay error, falso y desplegado de error si encuentra alguno		*                     			   
***************************************************************************************/
function verfcaCorreo(casllaCorreo)
{
	if (casllaCorreo.value.length==0)
		return true;
	estdo=0;
	bandera=0;
	for (pos=0;pos<casllaCorreo.value.length;pos++)//el correo verifica caracter por caracter
	{
		a=pos*1;
		
		carctrActual=casllaCorreo.value.charAt(a);
		if(casllaCorreo.value.charAt(a)=='@')
		{	
			bandera++;//Ya existe una arroba
			if (estdo==1){
				error(2);
				casllaCorreo.select();
				casllaCorreo.focus();
				return false;
			}
			else{
				estdo=1;
			}
		}
		if(casllaCorreo.value.charAt(a)=='.')
		{	
			estdo=2;
		}
	}
	if(estdo!=2){
		error(2);
		casllaCorreo.select();
		casllaCorreo.focus();
		return false;
	}
	if(bandera == 1)
	{
	return true;
	}
	else 
	{
	error(2);
	return false;
	}
		
}
/*************************************************************************
*función esNulo(caslla) nos dice si una casilla pasada como argumento    *
*se encuentra vacía                                                      *
*IN: caslla a verificar                                                  *
*OUT: true-->la casilla esta vacía || false-->la casilla no esta vacía   *
*************************************************************************/
function esNulo(caslla)
{
     if (caslla.value == '')
     {
         error(3);
		 return true;
     }
     else
         return false;
}


/*************************************************************************
*función error(tipo) nos despliega los errores en verificaciones         *
*IN: tipo del error                                                      *
*OUT: desplegado del error, no devuelve ningun valor                     *
*************************************************************************/
function error(tipo)
{
 switch (tipo)
     {
		case 1:
		alert("NO puedes ingresar simbolos especiales como /,*,{,},?,¿,[,],#,etc.");
		break;	 
		 
		 case 2:
		alert("Correo eletrónico no válido.\n Formato cadena@cadena.cadena.");
		break;
			
     	case 3:
         alert("Debe llenar todos los campos.");
         break;
     }
}
