// JavaScript Document





function esDigito(sChr){

var sCod = sChr.charCodeAt(0);

return ((sCod > 47) && (sCod < 58));

}

function valSep(oTxt){

var bOk = false;

bOk = bOk || ((oTxt.charAt(2) == "-") && (oTxt.charAt(5) == "-"));

bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));

return bOk;

}

function finMes(oTxt){

var nMes = parseInt(oTxt.substr(3, 2), 10);

var nRes = 0;

switch (nMes){

case 1: nRes = 31; break;

case 2: nRes = 29; break;

case 3: nRes = 31; break;

case 4: nRes = 30; break;

case 5: nRes = 31; break;

case 6: nRes = 30; break;

case 7: nRes = 31; break;

case 8: nRes = 31; break;

case 9: nRes = 30; break;

case 10: nRes = 31; break;

case 11: nRes = 30; break;

case 12: nRes = 31; break;

}

return nRes;

}

function valDia(oTxt){

var bOk = false;

var nDia = parseInt(oTxt.substr(0, 2), 10);

bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));

return bOk;

}

function valMes(oTxt){

var bOk = false;

var nMes = parseInt(oTxt.substr(3, 2), 10);

bOk = bOk || ((nMes >= 1) && (nMes <= 12));

return bOk;

}

function valAno(oTxt){

var bOk = true;

var nAno = oTxt.substr(6);

bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));

if (bOk){

for (var i = 0; i < nAno.length; i++){

bOk = bOk && esDigito(nAno.charAt(i));

}

}

return bOk;

}

function valFecha(oTxt){

var bOk = true;

if (oTxt != ""){

bOk = bOk && (valAno(oTxt));

bOk = bOk && (valMes(oTxt));

bOk = bOk && (valDia(oTxt));

bOk = bOk && (valSep(oTxt));

if (!bOk) return false;

else return true;

}

}







////////////////////////////////////////FIN VALIDACION FECHA ////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////















 function url(cadena)  

   {                                    // DECLARACION DE CONSTANTES  

     var http = "http://";              // protocolo HTTP  

                                        // DECLARACION DE VARIABLES  

     var es_url;                        // cadena es url o no  

     if(cadena.length <= 7)             // INICIO  

       es_url = false;                  // no cabe "http://*"  

     else  

       es_url = http.indexOf(cadena.substring(0, 7)) != - 1; // lee "http://*"  

     return(es_url);  

   }  

   

   

 /* salta caracteres alfanumericos y otros a partir de  cadena[i]  y  da  si- */ 

 /* guiente posicion                                                          */  

 function salta_alfanumerico(cadena, i, otros)  

   {                                    //DECLARACION DE VARIABLES  

     var j;                             //indice en cadena  

     var car;                           // caracter de cadena  

     var alfanum;                       // cadena[j] es alfanumerico u otros  

     for(j = i, alfanum = true; (j < cadena.length) && alfanum; j++) // INICIO  

       {  

         car = cadena.charAt(j);  

         alfanum = alfanumerico(car) || (otros.indexOf(car) != -1);  

       }  

     if(!alfanum)                       

       j--;  

     return(j);  

   }  

     

                                             

 function alfanumerico(car)  

   {  

     return(alfabetico(car) || numerico(car));  

   }  

   

   

                                                  

 function alfabetico(car)               // DECLARACION DE CONSTANTES  

   {                                    // caracteres alfabeticos  

     var alfa = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz";  

     return(alfa.indexOf(car) != - 1);  // INICIO  

   }  

   

   

                                                  

 function numerico(car)  

   {                                    // DECLARACION DE CONSTANTES  

     var num = "0123456789";            // caracteres numericos  

     return(num.indexOf(car) != - 1);   // INICIO  

   }  







function ComprobarCampoTextoVacio(cadena)  

{                                    // DECLARACION DE CONSTANTES  

 var blanco = " \n\t" + String.fromCharCode(13); // blancos  

									// DECLARACION DE VARIABLES  

 var i;                             // indice en cadena  

 var es_vacio;                      // cadena es vacio o no  

 for(i = 0, es_vacio = true; (i < cadena.length) && es_vacio; i++) // INICIO  

   es_vacio = blanco.indexOf(cadena.charAt(i)) != - 1;  

 return(es_vacio);  

}  





function mail(texto){



    var mailres = true;            

    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";

    

    var arroba = texto.indexOf("@",0);

    if ((texto.lastIndexOf("@")) != arroba) arroba = -1;

    

    var punto = texto.lastIndexOf(".");

                

     for (var contador = 0 ; contador < texto.length ; contador++){

        if (cadena.indexOf(texto.substr(contador, 1),0) == -1){

            mailres = false;

            break;

     }

    }



    if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1))

     mailres = true;

    else

     mailres = false;

                

    return mailres;

} 

function ComprobarEsteMail(mail)
{
	if(!ComprobarCorreoe(mail,'-_')) 
		{
			MostrarCapaError('correoe');
			return false;
		}
	else return true;
	
}


 function ComprobarCorreoe(cadena, otros)  

   {                                    // DECLARACION-INICIALIZACION VARIABLES  

     var i, j;                          // indice en cadena  

     var es_email = 0 < cadena.length;  // cadena es email o no  

     i = salta_alfanumerico(cadena, 0, otros); // INICIO  

     if(es_email = 0 < i)               // lee "alfanum*"  

       if(es_email = (i < cadena.length))  

         if(es_email = cadena.charAt(i) == '@') // lee "alfanum@*"  

           {  

             i++;  

             j = salta_alfanumerico(cadena, i, otros);  

             if(es_email = i < j)       // lee "alfanum@alfanum*"  

               if(es_email = j < cadena.length)  

                 if(es_email = cadena.charAt(j) == '\.')  

                   {                    // lee "alfanum@alfanum.*"  

                     j++;  

                     i = salta_alfanumerico(cadena, j, otros);  

                     if(es_email = j < i) // lee "alfanum@alfanum.alfanum*"  

                       while(es_email && (i < cadena.length))  

                         if(es_email = cadena.charAt(i) == '\.')  

                           {  

                             i++;  

                             j = salta_alfanumerico(cadena, i, otros);  

                             if(es_email = i < j) // lee "alfanum@alfanum.alfanum[.alfanum]*"  

                               i = j;  

                           }  

                   }  

           }  

	

     return(es_email);  

   }  


function ComprobarEstaClave(clave) 
{
	if(ComprobarClave(clave)) return true;
	else
	{
		MostrarCapaError('clave');
		return false;
	}
	
}

function ComprobarClave(clave)

{

	var i=0;

	var clavevalida = true;

	if (clave.length<6) clavevalida =  false;

	else

	{

		for(i=0;i<clave.length;i++)

		{

			car = clave.charAt(i); 

			if (!alfanumerico(car)) clavevalida = false; 

		}

	}

	return clavevalida;

}



function OcultarCapaError(capa)

{

	//alert(capa);

	var objeto = document.getElementById(capa + 'alerta');

	//alert(objeto.style.display);

	objeto.style.display= 'none';

}



function MostrarCapaError(capa)

{

	

	var objeto = document.getElementById(capa + 'alerta');

	

	objeto.style.display = '';

}



function ComprobarCamposRegistroUpdate(form)

{

	var OK ='bien';

	var i=0;

	

	while (OK=='bien' && i<5)

	{

		

		switch (i)

		{

	 		case 2 : 

//				if(!mail(form.correoe.value)) OK = 'correoe';
				if((form.correoe.value == '') || (form.correoe.value == ' ')) OK = 'correoe';

				else OcultarCapaError('correoe');

				

				break;

			case 0:

				

				if(ComprobarCampoTextoVacio(form.nombre.value)) OK = 'nombre';

				else OcultarCapaError('nombre');

				break;

			case 1:

				if(ComprobarCampoTextoVacio(form.apellidos.value)) OK = 'apellidos';

				else OcultarCapaError('apellidos');

				break;

			

			case 3:

				

				if(!valFecha(form.dia.value + '/' + form.mes.value + '/' + form.ano.value)) OK = 'fecha';

				else OcultarCapaError('fecha');

				break;

			

				

		}

		i++;

	}

	

	if (OK=='bien') validacion = true;

	else 

	{

			MostrarCapaError(OK);

			validacion = false;

	}

	

	return validacion;

}

function ComprobarCamposRegistro(form)

{

	var OK ='bien';

	var i=0;

	

	while (OK=='bien' && i<6)

	{

		

		switch (i)

		{

	 		case 2 : 

				if((form.correoe.value == '') || (form.correoe.value == ' ')) OK = 'correoe';

				else OcultarCapaError('correoe');

				

				break;

			case 0:

				

				if(ComprobarCampoTextoVacio(form.nombre.value)) OK = 'nombre';

				else OcultarCapaError('nombre');

				break;

			case 1:

				if(ComprobarCampoTextoVacio(form.apellidos.value)) OK = 'apellidos';

				else OcultarCapaError('apellidos');

				break;

			case 3:

				if(!ComprobarClave(form.clave.value)) OK = 'clave';

				else OcultarCapaError('clave');

				break;

			case 4:

				

				if(!valFecha(form.dia.value + '/' + form.mes.value + '/' + form.ano.value)) OK = 'fecha';

				else OcultarCapaError('fecha');

				break;

			

				

		}

		i++;

	}

	

	if (OK=='bien') validacion = true;

	else 

	{

			MostrarCapaError(OK);

			validacion = false;

	}

	

	return validacion;

}
