/************************************************************************************************************************
Funcion que permite deshabilitar copiar y pegar, ademas muestra una alerta
/************************************************************************************************************************
Ejemplo:
	<input type="text" name="correo2" id="correo2" onKeyDown="return deshabilitarCopiarYPegar(event);" />

	//-----------------------------------------------------------------------
	// Deshabilitamos copiar y pegar
	function deshabilitarCopiarYPegar(e) {
		// (e.ctrlKey==1 && e.keyCode==86) Control + V
		// (e.shiftKey==1 && e.keyCode==45) Shift + Insert

		if ((e.ctrlKey && e.keyCode==86) || (e.shiftKey && e.keyCode==45))
			{
			alert('Por favor no copies y pegues la informaci&oacute;n.');
			return false;
			}
		else
			{
			return true;
			}
		}
*/
	//-----------------------------------------------------------------------
	// Deshabilitamos copiar y pegar
	function deshabilitarCopiarYPegar(e) {
		// (e.ctrlKey==1 && e.keyCode==86) Control + V
		// (e.shiftKey==1 && e.keyCode==45) Shift + Insert
		if ((e.ctrlKey && e.keyCode==86) || (e.shiftKey && e.keyCode==45))
			{
			// Tipo de plecas:
			pleca('Por favor no copies y pegues la informaci&oacute;n.', 'seguridad');

			//alert('Por favor no copies y pegues la información.');
			return false;
			}
		else
			{
			return true;
			}
		}

/************************************************************************************************************************
Funcion que permite mostrar un mensaje en un div
/************************************************************************************************************************
Ejemplo:
	<div id="div_error_genero" class="texto_error">&nbsp; <?php echo $resultado_registro; ?></div>

	//-----------------------------------------------------------------------
	// Verifica que haya seleccionado un genero
	function validar_generos () {
		var genero1 = document.getElementById('genero1');
		var genero2 = document.getElementById('genero2');

		if (genero1.checked || genero2.checked)
			{
			mostrar_mensaje_error ("", "div_error_genero");
			return true;
			}
		else
			{
			mostrar_mensaje_error ("¿Cuál es tu género?", "div_error_genero");
			return false;
			}
	}
*/

//Funcion que permite mostrar un mensaje en un div
function mostrar_mensaje_error (mensaje, div_objetivo) {
	var mensaje_error = document.getElementById(div_objetivo);
	mensaje_error.innerHTML = mensaje;
}

/************************************************************************************************************************
Funcion que Convierte una cadena a tipo titulo (Capitalize)
*************************************************************************************************************************
Ejemplo:
<input type="text" name="nombre" id="nombre" onchange="this.value = obtener_tipo_titulo(this.value);" />
*/

//Funcion que Convierte una cadena a tipo titulo (Capitalize)
function obtener_tipo_titulo (cadena) {
	if (cadena.length>0)
		{
		var cadena_titulo = '';
		cadena = cadena.toLowerCase();

		cadena = cadena.split(' ');
		for(var c=0; c < cadena.length; c++)
			{
			cadena_titulo += cadena[c].substring(0,1).toUpperCase() + cadena[c].substring(1,cadena[c].length) + ' ';
			}
		return cadena_titulo;
		}
	else
		return "";
}

/************************************************************************************************************************
Funcion que permite ingresar letras
*************************************************************************************************************************
Ejemplo:
<input type="password" name="contrasena2" id="contrasena2" onKeyPress="return dejar_solo_letras(event);" />
*/

// Funcion que permite ingresar solo letras
function dejar_solo_letras(e) {
	tecla = (document.all) ? e.keyCode : e.which;

	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[A-Za-záéíóúÁÉÍÓÚñÑ\s]/; // de la A a las Z
	te = String.fromCharCode(tecla);
	return patron.test(te);
}

// FUNCIÓN PARA PERMITIR NUMEROS, LETRAS, ACENTOS, Y ALGUNOS SIGNOS
function dejar_solo_texto_valido(e){
		tecla = (document.all) ? e.keyCode : e.which;
	 	if (tecla==8) return true;
 	 	if (tecla==0) return true;

	 	patron = /[A-Za-z.,:-;_áéíóúÁÉÍÓÚñÑ0-9\s]/; //Numeros y letras
 	 	te = String.fromCharCode(tecla);
	 	return patron.test(te);
	}

// FUNCIÓN PARA PERMITIR NUMEROS, LETRAS, ACENTOS, Y ALGUNOS SIGNOS y mas cosas
function dejar_solo_texto_especial(e){
		tecla = (document.all) ? e.keyCode : e.which;
	 	if (tecla==8) return true;
 	 	if (tecla==0) return true;

	 	patron = /[A-Za-z¡!¿?.,:-;_áéíóúÁÉÍÓÚñÑ0-9\s]/; //Numeros y letras
 	 	te = String.fromCharCode(tecla);
	 	return patron.test(te);
	}

/************************************************************************************************************************
Funcion que permite ingresar solo numeros y letras
*************************************************************************************************************************
Ejemplo:
<input type="password" name="contrasena2" id="contrasena2" onKeyPress="return dejar_solo_numeros_y_letras(event);" />
*/

function dejar_solo_numeros_y_letras(e) {
	tecla = (document.all) ? e.keyCode : e.which;

	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[A-Za-záéíóúÁÉÍÓÚñÑ0-9\s]/; //Numeros y letras
	te = String.fromCharCode(tecla);
	return patron.test(te);
}

function dejar_solo_numeros_y_letras_coma(e) {
	tecla = (document.all) ? e.keyCode : e.which;

	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[A-Za-záéíóúÁÉÍÓÚñÑ0-9,\s]/; //Numeros y letras
	te = String.fromCharCode(tecla);
	return patron.test(te);
}

function dejar_solo_numeros_y_letras_sin_acentos(e) {
	tecla = (document.all) ? e.keyCode : e.which;

	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[A-Za-zñÑ0-9\s]/; //Numeros y letras
	te = String.fromCharCode(tecla);
	return patron.test(te);
}

function dejar_solo_numeros_y_letras_especial(e) {
  tecla = (document.all) ? e.keyCode : e.which;

  if (tecla==8) return true;
  if (tecla==0) return true;

  patron = /[A-Za-z0-9\s]/; //Numeros y letras
  te = String.fromCharCode(tecla);
  return patron.test(te);
}
/************************************************************************************************************************
Funcion que permite ingresar caracteres para contraseña, solo numeros y letras sin espacios
*************************************************************************************************************************
Ejemplo:
<input type="password" name="contrasena2" id="contrasena2" onKeyPress="return dejar_solo_password(event);" />
*/

function dejar_solo_password(e) {
	tecla = (document.all) ? e.keyCode : e.which;

	if (tecla==32) return false;
	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[A-Za-zñÑ0-9\s]/; //Numeros y letras
	te = String.fromCharCode(tecla);
	return patron.test(te);
}

// Fnción para permitir solo los caracteres que se indiquen en ella misma

function dejar_solo_email_especial(e) {
	tecla = (document.all) ? e.keyCode : e.which;

	if (tecla==32) return false;
	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[A-Za-zñÑ0-9-_.,@\s]/; //Numeros y letras
	//patron = new RegExp(expresion);
	te = String.fromCharCode(tecla);
	return patron.test(te);
}


/************************************************************************************************************************
Funcion que permite ingresar solo caracteres validos para correo _ @ letras numeros .
*************************************************************************************************************************
Ejemplo:
<input type="text" name="correo" id="correo" onKeyPress="return dejar_caracteres_correo_electronico(event);" />
*/

// Funcion que permite ingresar solo caracteres de correo
function dejar_caracteres_correo_electronico(e) {
	tecla = (document.all) ? e.keyCode : e.which;

	if (tecla==8) return true;
	if (tecla==32) return false; // Barra espaciadora
	if (tecla==0) return true;

	patron = /[A-Za-zñÑ0-9-_.@\s]/; //Numeros y letras
	te = String.fromCharCode(tecla);
	return patron.test(te);
}

/************************************************************************************************************************
Funcion que permite ingresar solo numeros
*************************************************************************************************************************
Ejemplo:
<input type="text" name="codigo_postal" id="codigo_postal" onKeyPress="return dejar_solo_numeros(event);" />
*/

// Deja solo numeros
function dejar_solo_numeros(e) {
	tecla = (document.all) ? e.keyCode : e.which;
	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[\d\s]/;
	te = String.fromCharCode(tecla);
	return patron.test(te);
}

/************************************************************************************************************************
Funcion que permite ingresar solo numeros SIN ESPACIOS
*************************************************************************************************************************
Ejemplo:
<input type="text" name="codigo_postal" id="codigo_postal" onKeyPress="return dejar_solo_numeros_sin_espacios(event);" />
*/

// Deja solo numeros sin espacios
function dejar_solo_numeros_sin_espacios(e) {
	tecla = (document.all) ? e.keyCode : e.which;
	if (tecla==32) return false;
	if (tecla==8) return true;
	if (tecla==0) return true;

	patron = /[\d\s]/;
	te = String.fromCharCode(tecla);
	return patron.test(te);
}


/************************************************************************************************************************
Funcion que valida si un año es biciesto
*************************************************************************************************************************
Ejemplo:
alert ("Este año es biciesto? " + anyoBisiesto('1993');
*/

// Verifica si un ano es bisiesto
function anyoBisiesto(anyo){
	if (anyo % 4 != 0)
		return false;
	else
		{
		if (anyo % 100 == 0)
			{
			if (anyo % 400 == 0)
				return true;
			else
				return false;
			}
		else
			return true;
		}
}