//---------------------------------------------------------------------------------------------
//Funciones para ver si existe una variable
//---------------------------------------------------------------------------------------------
function isset(variable_name)
{
    try {
         if (typeof(eval(variable_name)) != 'undefined')
         if (eval(variable_name) != null)
         return true;
     } catch(e) { }
    return false;
}


//---------------------------------------------------------------------------------------------
//Funciones para ver si una variable es vacia
//---------------------------------------------------------------------------------------------
function empty(variable_name)
{
	if (isset(variable_name) && (variable_name.value != '')) return false;
	else return true;
}


//---------------------------------------------------------------------------------------------
// Mostrar y ocultar capas
//---------------------------------------------------------------------------------------------
function mostrar(capa)
{
	if (isset(document.getElementById(capa)))
	{
		document.getElementById(capa).style.display = "block";
	}
}
function ocultar(capa)
{
	//	Para evitar errores comprobar si existe la capa nates de ocultarla
	if (isset(document.getElementById(capa)))
	{
		document.getElementById(capa).style.display = "none";
	}
}


//---------------------------------------------------------------------------------------------
// Función para cambiar los combos de las provincias en funcion de un pais
//---------------------------------------------------------------------------------------------
function CambiaFoto(foto)
{
	// se podria recoger tambien una descripcion y modifiar un campo de texto
	ObjetivoFoto = document.getElementById('fotoSeleccionada');
	ObjetivoFoto.src = foto;
	
//	ObjetivoTexto = document.getElementById('textoFotoSeleccionada');
//	ObjetivoTexto.innerHTML = descripcion;
}

//---------------------------------------------------------------------------------------------
// Validar Reserva
//---------------------------------------------------------------------------------------------
function validarReseva()
{
	errores = '';


	if (empty(document.getElementById('formularioReserva').nombre))
	{
		errores = 'Debe rellenar el campo nombre.';
	}
	else
	{
		if (empty(document.getElementById('formularioReserva').telefono))
		{
			errores = 'Debe introducir un teléfono de contacto';
		}
		else
		{
			if (empty(document.getElementById('formularioReserva').email))
			{
				errores = 'Debe introducir un email de contacto';
			}
			else
			{
				if (!emailValido(document.getElementById('formularioReserva').email.value))
				{
					errores = 'El email que ha introducido no es correcto';
				}
			}
		}
	}


	if (errores=='')
	{
		document.getElementById('formularioReserva').submit();
	}
	else
	{
		alert(errores)
	}
}


//Funcion que valida un email
function emailValido(cadena)
{
	var RegExPattern = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
	if ((cadena.match(RegExPattern)) && (cadena!='')) return true;
	else return false;
}




// Valida que en los campos que le digamos sólo se puedan introducir números
function ValidarNumeros(e)
{
	/*
		Teclas permitidas aparte de todos los números:
		8 = tecla borrar
		0 = tecla supr
		43 = tecla + (para los prefijos) Ej: +34 (ESPAÑA)
	*/

	// Para netscape o mozilla
	if (!document.all)
	{
		//event = Evento;
		if((e.which < 48 || e.which > 57) && e.which != 8 && e.which != 0 )
			e.preventDefault();
	}
	// Para IE
	else
	{
		if((e.keyCode < 48 || e.keyCode > 57) && e.keyCode != 8 && e.keyCode != 0 )
			e.returnValue = false;
	}
}


//---------------------------------------------------------------------------------------------
// Funciones para el calendario Jquery: Sumar días a una fecha dd/mm/AAAA
//---------------------------------------------------------------------------------------------
var aFinMes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

function finMes(nMes, nAno){
	return aFinMes[nMes - 1] + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);
}

function padNmb(nStr, nLen, sChr){
	var sRes = String(nStr);
	for (var i = 0; i < nLen - String(nStr).length; i++)
	sRes = sChr + sRes;
	return sRes;
}

function makeDateFormat(nDay, nMonth, nYear){
	var sRes;
	sRes = padNmb(nDay, 2, "0") + "/" + padNmb(nMonth, 2, "0") + "/" + padNmb(nYear, 4, "0");
	return sRes;
}

function incDate(sFec0){
	var nDia = parseInt(sFec0.substr(0, 2), 10);
	var nMes = parseInt(sFec0.substr(3, 2), 10);
	var nAno = parseInt(sFec0.substr(6, 4), 10);
	nDia += 1;
	if (nDia > finMes(nMes, nAno)){
		nDia = 1;
		nMes += 1;
		if (nMes == 13){
			nMes = 1;
			nAno += 1;
		}
	}
	return makeDateFormat(nDia, nMes, nAno);
}

function decDate(sFec0){
	var nDia = Number(sFec0.substr(0, 2));
	var nMes = Number(sFec0.substr(3, 2));
	var nAno = Number(sFec0.substr(6, 4));
	nDia -= 1;
	if (nDia == 0){
		nMes -= 1;
		if (nMes == 0){
			nMes = 12;
			nAno -= 1;
		}
		nDia = finMes(nMes, nAno);
	}
	return makeDateFormat(nDia, nMes, nAno);
}

function addToDate(sFec0, sInc){
	var nInc = Math.abs(parseInt(sInc));
	var sRes = sFec0;
	if (parseInt(sInc) >= 0)
		for (var i = 0; i < nInc; i++) sRes = incDate(sRes);
	else
		for (var i = 0; i < nInc; i++) sRes = decDate(sRes);
	return sRes;
}

