
// VALIDACION DE FECHAS Y TIPOS DE DATOS

var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s)
{
	var i;

	for (i = 0; i < s.length; i++)
	{
		// Check that current character is number
		var c = s.charAt(i);

		if (((c < "0") || (c > "9"))) return false;
	}

	// All characters are numbers.
	return true;
}

function isFloat(value){

   if(isNaN(value) || value.indexOf(".")<0){
     return false;
   } else {
      if(parseFloat(value)) {
              return true;
          } else {
              return false;
          }
   }
}

function stripCharsInBag(s, bag)
{
	var i;
	var returnString = "";

	// Search through string's characters one by one
	// If character is not in bag, append to returnString
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);

		if (bag.indexOf(c) == -1) returnString += c;
	}

	return returnString;
}

function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
	// EXCEPT for centurial years which are not also divisible by 400

	return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n)
{
	for (var i = 1; i <= n; i++)
	{
		this[i] = 31;
		if (i==4 || i==6 || i==9 || i==11) { this[i] = 30; }
		if (i==2) { this[i] = 29; }
	}

	return this;
}

function isDate(dtStr)
{
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strDay=dtStr.substring(0,pos1);
	var strMonth=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);

	strYr = strYear;

	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);

	for (var i = 1; i <= 3; i++)
	{
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}

	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);

	if (pos1==-1 || pos2==-1) // Format: dd/mm/yyyy
	{
		return 1;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]) // Valid day
	{
		return 2;
	}
	if (strMonth.length<1 || month<1 || month>12) // Valid month
	{
		return 3;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear) // Valid year
	{
		return 4;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false) // Valid date
	{
		return 5;
	}
	return 0;
}

function ValidateForm()
{
	var dt=document.frmSample.txtDate;

	if (isDate(dt.value)==false)
	{
		dt.focus();

		return false;
	}

	return true;
}

function esFecha(fecha)
{
	dev = isDate(fecha);
	
	return dev;
}
/*
function FCKCopy() {
    for (var i = 0; i < parent.frames.length; ++i ) {
      if ( parent.frames[i].FCK )
       	parent.frames[i].FCK.UpdateLinkedField();
    }
}
*/
// VALIDACION DE FORMULARIOS

function validarDatos(formulario)
{
	// Solicitud de informacion

	if (formulario == 'form_socio_info')
	{
		if (document.form_socio_info.empresa.value == "")
		{
			alert('Escriba un nombre para la empresa o particular, por favor.');
			dev = false;
		} else
		if (document.form_socio_info.nombre_contacto.value == "")
		{
			alert('Escriba el nombre para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_socio_info.apellidos_contacto.value == "")
		{
			alert('Escriba los apellidos para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_socio_info.telefono.value == "")
		{
			alert('Escriba un teléfono de contacto, por favor.');
			dev = false;
		} else
		if (document.form_socio_info.email.value == "")
		{
			alert('Escriba un email de contacto, por favor.');
			dev = false;
		} else
		if (document.form_socio_info.code.value == "")
		{
			alert('Por favor, introduzca el codigo de verificacion Anti-Spam para probar que usted no es una maquina.');
			dev = false;
        } else
			dev = true;
	}

	// Crear nuevo socio

	if (formulario == 'form_nuevo_socio')
	{
		if (document.form_nuevo_socio.empresa.value == "")
		{
			alert('Escriba un nombre para la empresa o particular, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.nombre_contacto.value == "")
		{
			alert('Escriba el nombre para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.apellidos_contacto.value == "")
		{
			alert('Escriba los apellidos para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.cargo.value == "")
		{
			alert('Escriba el cargo para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.direccion.value == "")
		{
			alert('Escriba una dirección, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.ciudad.value == "")
		{
			alert('Escriba una ciudad, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.cp.value == "")
		{
			alert('Escriba el código postal, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.pais.value == "")
		{
			alert('Escriba un país, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.telefono.value == "")
		{
			alert('Escriba un teléfono de contacto, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.email.value == "")
		{
			alert('Escriba un email de contacto, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.tipo_miembro.value == "0")
		{
			alert('No es posible crear un socio si no hay tipos definidos para el mismo.');
			dev = false;
		} else
		if (document.form_nuevo_socio.nif.value == "")
		{
			alert('Escriba un CIF/ NIF / NIE válido, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_socio.code.value == "")
		{
			alert('Por favor, introduzca el codigo de verificacion Anti-Spam para probar que usted no es una maquina.');
			dev = false;
        } else
			dev = true;
	}

	// Crear nuevo evento

	if (formulario == 'form_nuevo_evento')
	{
		//FCKCopy();
		
		if (document.form_nuevo_evento.titulo.value == "")
		{
			alert('Escriba un título para el evento, por favor.');
			dev = false;
		} else
		if ((document.form_nuevo_evento.fecha.value == "") || (esFecha(document.form_nuevo_evento.fecha.value) > 0))
		{
			alert('Introduzca una fecha válida para el evento, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_evento.CKEditor1.value == "")
		{
			alert('Escriba el texto superior para el evento, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_evento.CKEditor2.value == "")
		{
			alert('Escriba el texto inferior para el evento, por favor.');
			dev = false;
		} else
			dev = true;
	}
	
	// Crear nueva noticia

	if (formulario == 'form_nueva_noticia')
	{
		if (document.getElementById("titulo").value == "")
		{
			alert('Escriba un título para la noticia, por favor.');
			dev = false;
		} else
		if ((document.getElementById("fecha").value == "") || (esFecha(document.getElementById("fecha").value) > 0))
		{
			alert('Introduzca una fecha válida para la noticia, por favor.');
			dev = false;
		} else
		if (document.getElementById("fuente").value == "")
		{
			alert('Escriba una fuente para la noticia, por favor.');
			dev = false;
		} else
		if (document.getElementById("fuente_link").value == "")
		{
			alert('Escriba un enlace para la fuente de la noticia, por favor.');
			dev = false;
		} else
		if (document.getElementById("cuerpo").value == "")
		{
			alert('Escriba el texto de la noticia, por favor.');
			dev = false;
		} else
			dev = true;
	}
	
	// Crear nuevo contacto

	if (formulario == 'form_nuevo_contacto')
	{
		//FCKCopy();

		if (document.form_nuevo_contacto.titulo.value == "")
		{
			alert('Escriba un título para el evento, por favor.');
			dev = false;
		} else
		if ((document.form_nuevo_contacto.fecha.value == "") || (esFecha(document.form_nuevo_contacto.fecha.value) > 0))
		{
			alert('Introduzca una fecha válida para el evento, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_contacto.CKEditor1.value == "")
		{
			alert('Escriba el texto superior para el evento, por favor.');
			dev = false;
		} else
		if (document.form_nuevo_contacto.CKeditor2.value == "")
		{
			alert('Escriba el texto inferior para el evento, por favor.');
			dev = false;
		} else
			dev = true;
	}
	
	// Editar socio

	if (formulario == 'form_editar_socio')
	{
		if (document.form_editar_socio.empresa.value == "")
		{
			alert('Escriba un nombre para la empresa o particular, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.nombre_contacto.value == "")
		{
			alert('Escriba el nombre para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.apellidos_contacto.value == "")
		{
			alert('Escriba los apellidos para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.cargo.value == "")
		{
			alert('Escriba el cargo para la persona de contacto, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.direccion.value == "")
		{
			alert('Escriba una dirección, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.ciudad.value == "")
		{
			alert('Escriba una ciudad, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.cp.value == "")
		{
			alert('Escriba el código postal, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.pais.value == "")
		{
			alert('Escriba un país, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.telefono.value == "")
		{
			alert('Escriba un teléfono de contacto, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.email.value == "")
		{
			alert('Escriba un email de contacto, por favor.');
			dev = false;
		} else
/*
		if (document.form_editar_socio.tipo_miembro.value == "0")
		{
			alert('No es posible crear un socio si no hay tipos definidos para el mismo.');
			dev = false;
		} else
*/
		if (document.form_editar_socio.nif.value == "")
		{
			alert('Escriba un CIF/NIF/NIE válido, por favor.');
			dev = false;
		} else
		if ((document.form_editar_socio.password.value == "") || (document.form_editar_socio.password2.value == ""))
		{
			alert('Escriba la misma contraseña en los dos campos indicados, por favor.');
			dev = false;
		} else
		if (document.form_editar_socio.password.value != document.form_editar_socio.password2.value)
		{
			alert('La contraseñas introducidas no coinciden.');
			dev = false;
		} else
			dev = true;
	}
}

function redirectURL(page)
{
	var url = location.href;
	var replacement = url.substr(url.lastIndexOf("/")+1);
	url = url.replace(replacement, page);
	
	window.location = url;
}

function editMiembro(id){
	var form = document.getElementById("administrar_miembros");
	var miembro = document.getElementById("id_miembro");
	miembro.value = id;
	form.submit();
}

function deleteMiembro(id){
	if (confirm("¿Está seguro de que quiere borrar a ese miembro?")){
		var form = document.getElementById("administrar_miembros");
		var miembro = document.getElementById("id_miembro");
		miembro.value = id;
		form.action = "#";
		form.submit();
	}
}

function crearMiembro(){
	var form = document.getElementById("administrar_miembros");
	var accion = document.getElementById("accion");
	accion.value = "crear";
	form.submit();
}

function editNoticia(id){
	var form = document.getElementById("administrar_noticias");
	var noticia = document.getElementById("id_noticia");
	var accion = document.getElementById("accion");
	
	noticia.value = id;
	accion.value = "edit";
	form.submit();
}

function deleteNoticia(id){
	if (confirm("¿Está seguro de que quiere borrar esa noticia?")){

		var form = document.getElementById("administrar_noticias");
		var noticia = document.getElementById("id_noticia");
		var accion = document.getElementById("accion");
	
		noticia.value = id;
		accion.value = "delete";
		form.submit();
	}
}

function volverListadoNoticias(){
	var accion = document.getElementById("accion");
	accion.value = "listado";
	alert(accion.value);
	var form = document.getElementById("form_editar_noticia");
	form.submit();
}

function editLogo(ruta){
	var td = document.getElementById("td_logo");
	alert(ruta);
	td.innerHTML = "<input type='file' id='logo' name='logo'>";
	/*var input = document.createElement("input");
	input.type = "file";
	input.name = "logo";
	input.value = "ruta";
	td.insertData(input);*/
}

//Eventos

function deleteEvento(id){
	if (confirm("¿Está seguro de que quiere borrar ese evento?")){

		var form = document.getElementById("administrar_eventos");
		var evento = document.getElementById("id_evento");
		var accion = document.getElementById("accion");
	
		evento.value = id;
		accion.value = "delete";
		form.submit();
	}
}

function editEvento(id){
		var form = document.getElementById("administrar_eventos");
		var evento = document.getElementById("id_evento");
		var accion = document.getElementById("accion");
	
		evento.value = id;
		accion.value = "edit";
		form.submit();
}

//Contactos

function deleteContacto(id){
	if (confirm("¿Está seguro de que quiere borrar ese contacto?")){

		var form = document.getElementById("administrar_contactos");
		var contacto = document.getElementById("id_contacto");
		var accion = document.getElementById("accion");
	
		contacto.value = id;
		accion.value = "delete";
		form.submit();
	}
}

function editContacto(id){
		var form = document.getElementById("administrar_contactos");
		var contacto = document.getElementById("id_contacto");
		var accion = document.getElementById("accion");
	
		contacto.value = id;
		accion.value = "edit";
		form.submit();
}

//Newsletter

function validateMail(idioma) {
	
	var mail = document.getElementById("email").value;
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail)){
		//llamada ajax
		jQuery.ajax({
			url: 'ajax_process.php',
			type: 'POST',
			data: ({'email' : mail}),
			success: function(msg){
				var div = document.getElementById("result");
				if(msg == "ok"){
					if (idioma == 1)
						div.innerHTML = "<span style='color: red;'>Email registrado correctamente, muchas gracias.</span>";
					else
						div.innerHTML = "<span style='color: red;'>Thank you, your email was succesfully registered.</span>"; 
				}
				else{
					if (idioma == 1)
						div.innerHTML = "<span style='color: red;'>Ha ocurrido un error registrando el mail.</span>";
					else
						div.innerHTML = "<span style='color: red;'>An error has ocurred registering the mail address.</span>"; 
				}
				
			}
		});
	}
	else {
		if (idioma == 1)
			alert("El mail introducido no es válido.");
		else 
			alert("Sorry, your mail address is not valid.");
	}
	
}

