function emailCheck (emailStr){

  var emailPat=/^(.+)@(.+)$/;
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
  var validChars="\[^\\s" + specialChars + "\]";
  var quotedUser="(\"[^\"]*\")";
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
  var atom=validChars + '+';
  var word="(" + atom + "|" + quotedUser + ")";
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
  var matchArray=emailStr.match(emailPat);

  if (matchArray==null)
  {
    alert("La dirección de email debe tener tanto @ como .");
    return (false);
  }

  var user=matchArray[1];
  var domain=matchArray[2];

  if (user.match(userPat)==null)
  {
    alert("El nombre de usuario no es válido.");
    return (false);
  }

  var IPArray=domain.match(ipDomainPat);

  if (IPArray!=null)
  {
    for (var i=1;i<=4;i++)
    {
      if (IPArray[i]>255)
      {
        alert("IP de destino inválida");
        return (false);
      }
    }
    return (true);
  }

  var domainArray=domain.match(domainPat);

  if (domainArray==null)
  {
    alert("El dominio parece no ser válido.");
    return (false);
  }

  var atomPat=new RegExp(atom,"g");
  var domArr=domain.match(atomPat);
  var len=domArr.length;

  if (len<2)
  {
    alert("La dirección es errónea");
    return (false);
  }

  return (true);
}

function validacion_ayuda(tipo_ayuda){
	var hay_error = false;
	var error_msg = "Se han encontrado los siguientes errores:\n\n";
	var ext_permitidas_imagenes = new Array(".gif", ".jpg");
	var ext_permitidas_descargas = new Array(".zip", ".rar", ".pdf", ".doc");

	//comprobamos los datos del usuario que rellena el formulario
	if ($F('ayu_nombre').length == 0) {
		hay_error = true;
		error_msg += " -Debe introducir su nombre.\n\n";
	}

	if ($F('ayu_telefono').length == 0) {
		hay_error = true;
		error_msg += " -Debe introducir su teléfono.\n\n";
	}

	if ($F('ayu_email').length == 0) {
		hay_error = true;
		error_msg += " -Debe introducir su email.\n\n";
	}else{
		if(!validarEmail($F('ayu_email'))){
			hay_error = true;
			error_msg += " -Su email de contacto no es válido.\n\n";
		}
	}

	if ($F('ayu_fuente').length == 0) {
		hay_error = true;
		error_msg += " -Debe introducir la fuente de la información.\n\n";
	}

	//comprobamos los datos del formulario
	switch(tipo_ayuda){
		case 'articulo':

			if ($F('art_tart_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una categoría.\n\n";
			}
			if ($F('art_prov_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una provincia.\n\n";
			}
			if ($F('art_titulo').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un título.\n\n";
			}
			if ($F('art_resumen').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un resumen.\n\n";
			}
			if ($F('art_texto').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un texto.\n\n";
			}

			if ($F('imagen1').length > 0){
				if(!extensionValida($F('imagen1'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}

			if ($F('descarga1').length > 0){
				if(!extensionValida($F('descarga1'), ext_permitidas_descargas	)){
					hay_error = true;
					error_msg += " -Sólo se pueden subir descargas con extensiones: " + ext_permitidas_descargas.join()+"\n\n";
				}
			}


			break;

		case 'noticia':
			if ($F('not_tnot_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una categoría.\n\n";
			}
			if ($F('not_prov_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una provincia.\n\n";
			}
			if ($F('not_titular').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un titular.\n\n";
			}
			if ($F('not_entradilla').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir una entradilla.\n\n";
			}
			if ($F('not_texto').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un texto.\n\n";
			}
			if ($F('imagen1').length > 0){
				if(!extensionValida($F('imagen1'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}

			break;

		case 'evento':
			if ($F('eve_teve_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una categoría.\n\n";
			}
			if (($F('d_ini').length == 0) || ($F('m_ini').length == 0) || ($F('a_ini').length == 0) || ($F('d_ini') > 31) || ($F('d_ini') <= 0) || ($F('m_ini') <= 0) || ($F('m_ini') > 12) ){
				hay_error = true;
				error_msg += " -Debe introducir una fecha de inicio correcta.\n\n";
			}
			if (($F('d_fin').length == 0) || ($F('m_fin').length == 0) || ($F('a_fin').length == 0) || ($F('d_fin') > 31) || ($F('d_fin') <= 0) || ($F('m_fin') <= 0) || ($F('m_fin') > 12)) {
				hay_error = true;
				error_msg += " -Debe introducir una fecha de fin correcta.\n\n";
			}
			if ($F('eve_prov_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una provincia.\n\n";
			}
			if ($F('eve_titulo').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un titulo.\n\n";
			}

			if ($F('eve_lugar').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un lugar.\n\n";
			}
			if ($F('eve_resumen').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un resumen.\n\n";
			}
			if ($F('eve_descripcion').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir una descripción.\n\n";
			}
			if ($F('imagen1').length > 0){
				if(!extensionValida($F('imagen1'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Foto 1: Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}
			if ($F('imagen2').length > 0){
				if(!extensionValida($F('imagen2'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Foto 2: Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}
			break;

		case 'enlace':
			if ($F('enl_tenl_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una categoría.\n\n";
			}
			if ($F('enl_descripcion').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir una descripción.\n\n";
			}
			if ($F('enl_link').length < 8) {
				hay_error = true;
				error_msg += " -Debe introducir un enlance.\n\n";
			}
			if ($F('imagen1').length > 0){
				if(!extensionValida($F('imagen1'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Foto: Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}
			break;

		case 'servicio':
			if ($F('serv_tserv_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una categoría.\n\n";
			}
			if ($F('serv_nombre').length < 0) {
				hay_error = true;
				error_msg += " -Debe introducir un nombre.\n\n";
			}
			if ($F('serv_prov_id').length == 0) {
				hay_error = true;
				error_msg += " -Debe especificar una provincia.\n\n";
			}
			if ($F('serv_poblacion').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir una población.\n\n";
			}
			if ($F('serv_cp').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un código postal.\n\n";
			}
			if ($F('serv_direccion').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir una dirección.\n\n";
			}
			if ($F('serv_telefono').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un teléfono.\n\n";
			}
			if ($F('serv_email').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un email.\n\n";
			}else{
				if(!validarEmail($F('serv_email'))){
					hay_error = true;
					error_msg += " -El email introducido no es válido.\n\n";
				}
			}
			if ($F('serv_web').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un web.\n\n";
			}
			if ($F('serv_resumen').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir un resumen.\n\n";
			}
			if ($F('serv_descripcion').length == 0) {
				hay_error = true;
				error_msg += " -Debe introducir una descripción.\n\n";
			}
			if ($F('imagen1').length > 0){
				if(!extensionValida($F('imagen1'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Foto 1: Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}
			if ($F('imagen2').length > 0){
				if(!extensionValida($F('imagen2'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Foto 2: Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}
			if ($F('imagen3').length > 0){
				if(!extensionValida($F('imagen3'), ext_permitidas_imagenes)){
					hay_error = true;
					error_msg += " -Foto 3: Sólo se pueden subir imágenes con extensiones: " + ext_permitidas_imagenes.join()+"\n\n";
				}
			}
			break;
	}
	if (hay_error){
		alert(error_msg);
		return false
	}else{
		return true;
	}
}

//dice si un email es valido o no
function validarEmail(email){
	return /^[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*@[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)+$/.test(email);
}//validarEmail

function extensionValida(archivo, extensiones_permitidas) {
   //extensiones_permitidas = new Array(".gif", ".jpg", ".doc", ".pdf");
   mierror = "";
   if (!archivo) {
      //Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario
       //mierror = "No has seleccionado ningún archivo";
	   return true;
   }else{
      //recupero la extensión de este nombre de archivo
      extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
      //alert (extension);
      //compruebo si la extensión está entre las permitidas
      permitida = false;
      for (var i = 0; i < extensiones_permitidas.length; i++) {
         if (extensiones_permitidas[i] == extension) {
			 permitida = true;
			 break;
         }
      }
      if (!permitida) {
		 /*mierror = false;
         mierror = "Sólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();*/
		 return false;
       }else{
  	     return true;
		//todo correcto
       }
   }
}



function dateToSQL(date){
	if (date.length==0){
		return '';
	}
	var a=date.split(' '); //separamos la fecha de la hora
	var parteFecha=a[0].split('-'); //
	var sqlDate=parteFecha[2]+'-'+parteFecha[1]+'-'+parteFecha[0]+' 00:00:00';
	return sqlDate;
}

function ratonEncima(id, estilo)
{
	var celda=document.getElementById(id);
	celda.className=estilo;
}

function ratonFuera(id, estilo)
{
	var celda=document.getElementById(id);
	celda.className=estilo;
}

function myAlert(x)
{
	alert(decodeText(x));
}
function seleccionar_todo2(prefix)
{
   var lprefix=prefix.length;
//   alert("Long de "+prefix+"="+lprefix);
   for (i=0; i<document.forms[0].elements.length; i++)
   {
      if(document.forms[0].elements[i].type == "checkbox")
      {
      	var name=document.forms[0].elements[i].name;
      	if (name.substr(0,lprefix) == prefix)
         document.forms[0].elements[i].checked=1;
       }
	}
}
function deseleccionar_todo2(prefix)
{
   var lprefix=prefix.length;
  // alert("Long de "+prefix+"="+lprefix);
   for (i=0; i<document.forms[0].elements.length; i++)
   {
      if(document.forms[0].elements[i].type == "checkbox")
      {
      	var name=document.forms[0].elements[i].name;
      	if (name.substr(0,lprefix) == prefix)
         document.forms[0].elements[i].checked=0;
       }
	}
}
function seleccionar_todo(form_name)
{
   for (i=0; i<document.forms[form_name].elements.length; i++)
   {
      if(document.forms[form_name].elements[i].type == "checkbox")
         document.forms[form_name].elements[i].checked=1;
	}
}
function deseleccionar_todo(form_name){
   for (i=0; i<document.forms[form_name].elements.length; i++)
      if(document.forms[form_name].elements[i].type == "checkbox")
         document.forms[form_name].elements[i].checked=0;
}
