function comprueba_canals()
	{
	var fmForm = document.fDatos;

	var canal=Trim(fmForm.canal.value);

	if ((canal == '') || (canal == ' '))
	{
		alert ("La descripció del canal està buida");
		return false;
	}
}

function comprueba_suscriptors()
{
	var fmForm = document.fDatos;

	var suscriptor=Trim(fmForm.suscriptor.value);
	var validar=Trim(fmForm.validar.value);

        if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(suscriptor))
        {
		if ((suscriptor == '') || (suscriptor == ' '))
		{
			alert ("El e-mail del suscriptor està buit");
			return false;
		}
        }
        else
        {
		alert("El e-mail és incorrecte");
		return false;
        }

	if ((validar=='') || (validar==' '))
	{
		alert ("La validació del suscriptor està buida");
		return false;
	}
}

function comprueba_informacio()
{
	var fmForm = document.fDatos;

	var fecha=Trim(fmForm.informacioFecha.value);
	var texte=Trim(fmForm.informacioTexto.value);

	if ((fecha == '') || (fecha == ' '))
	{
		alert ("La data està buida");
		return false;
	}
	if ((texte == '') || (texte == ' '))
	{
		alert ("La texte està buit");
		return false;
	}
}



// INICIO Funciones de visualización
function getSelectedRadio(buttonGroup) 
	{
     if (buttonGroup[0]) 
		 { 
          for (var i=0; i<buttonGroup.length; i++) 
			  {
               if (buttonGroup[i].checked) { return i }
              }
		 } 
	 else { if (buttonGroup.checked) { return 0; } }
     return -1;
	} 


function getSelectedRadioValue(buttonGroup) 
	{
     var i = getSelectedRadio(buttonGroup);
     if (i == -1) { return 0; } 
	 else {
		   if (buttonGroup[i]) 
			 { 
			  return buttonGroup[i].value;
			 } 
		   else { return buttonGroup.value; }
		  }
	}


function getSelectedCheckbox(buttonGroup) 
	{
     var retArr = new Array();
     var lastElement = 0;
     if (buttonGroup[0]) 
	   { 
        for (var i=0; i<buttonGroup.length; i++) 
			{
             if (buttonGroup[i].checked) 
				 {
                  retArr.length = lastElement;
                  retArr[lastElement] = i;
                  lastElement++;
                 }
            }
	   } 
	  else { 
            if (buttonGroup.checked) 
			  {
               retArr.length = lastElement;
               retArr[lastElement] = 0;
              }
		   }
      return retArr;
	 }


function getSelectedCheckboxValue(buttonGroup) 
	{
     var retArr = new Array(); 
     var selectedItems = getSelectedCheckbox(buttonGroup);
     if (selectedItems.length != 0) 
	   { 
        retArr.length = selectedItems.length;
        for (var i=0; i<selectedItems.length; i++) 
			{
             if (buttonGroup[selectedItems[i]]) { retArr[i] = buttonGroup[selectedItems[i]].value;} 
			   else {retArr[i] = buttonGroup.value;}
            }
       }
     return retArr;
    }


function VisualizarRegistro(pagina, ancho, largo)
	{
		if (getSelectedRadioValue(document.fDatos.informacio) != 0) 
			{
			 url = pagina + '?Id=' + getSelectedRadioValue(document.fDatos.informacio);
			 ancho2 = ancho;
			 largo2 = largo;
			 document.fDatos.action = "JavaScript:displayWindow(url,'Fitxa',ancho2,largo2,'resizable=yes, scrollbars=yes')";
			 document.fDatos.submit();
			}
		else alert('No ha seleccionat cap registre')
	}
// FIN Funciones de visualización

function MM_openBrWindow(theURL,winName,features, myWidth, myHeight, isCenter) 
	{ //v3.0
  if(window.screen)if(isCenter)if(isCenter=="true")
	  {
		var myLeft = (screen.width-myWidth)/2;
		var myTop = (screen.height-myHeight)/2;
		features+=(features!='')?',':'';
		features+=',left='+myLeft+',top='+myTop;
	  }
  window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight);
	}

function LTrim(s) // Devuelve una cadena sin los espacios del principio
	{
	var i= 0;
	var j= 0;
	for(i= 0; i<=s.length-1; i++) // Busca el primer caracter <> de un espacio
		if(s.substring(i, i+1) != ' '){
			j= i;
			break;
		}
	return s.substring(j, s.length);
	}

function RTrim(s) // Quita los espacios en blanco del final de la cadena
	{
	var j= 0;
	for(var i=s.length-1; i>-1; i--) // Busca el último caracter <> de un espacio
		if(s.substring(i, i+1) != ' '){
			j= i;
			break;
		}
	return s.substring(0, j+1);
	}

function Trim(s) // Quita los espacios del principio y del final
	{
	return LTrim(RTrim(s));
	}

function imprimir() 
	{
	  if (window.print)
		window.print()
	  else
		alert("El seu navegador no soporta aquesta opció.");
	}


function AfegirItem(a,b,c)
{
  MarcarTodosItems(c); //selecciono todos los items de la caja

  var repetido = false;
  for (i=0; i<c.length; i++ )	
	{
	 if (a == c.options[i].value) 
	 {
	  repetido = true;
	  break;
	 }
	}

	if ((a != "") && (!repetido))
	    {
	      texte = b.options[b.selectedIndex].text;		
		  valor = a;
    	  newOpt = new Option(texte, valor);
		  c.add(newOpt, c.length);
		  b.remove(b.selectedIndex);		
    }
    else {
		if (!repetido)
		{
    	 alert("No hi ha item per agregar");
		 b.focus();
		}
    }

  DesMarcarTodosItems(c)
}

function MarcarTodosItems(c)
{
	for (i=0; i<c.length; i++ )	//selecciono todos los items de la caja
	{
		c.options[i].selected = true;
	}
}

function DesMarcarTodosItems(c)
{
	for (i=0; i<c.length; i++ )	//selecciono todos los items de la caja
	{
		c.options[i].selected = false;
	}
}

function TreureItem(a,b,c) 
{
    if (c.selectedIndex!=-1) 
    {
		valor= c[c.selectedIndex].value;
		texte= c[c.selectedIndex].text;
		newOpt= new Option(texte, valor);
		b.add(newOpt, b.length);
		c.remove(c.selectedIndex);
	}
	else
	{
		alert("No hi ha seleccionat cap item de la llista");
		c.focus();
	}	
}

function validaEmail(email)
	{
	  if (Trim(email) == '') 	
		  { 
		    return false; 
		  }
      else if (email.indexOf("@") != -1)
				  {
					dominio=email.substring(email.indexOf("@")+1,email.length)
					if (dominio.indexOf(".") == -1 || email.lastIndexOf(".") == email.length-1)
						{
						  return false;
						}
				  }
				else if (email.length != 0  && email.indexOf("@") == -1)
					  {
						return false;
					  }
	  return true;
	}

function validaFitxer(fitxer)
	{
	 if (fitxer.indexOf("'") != -1)
		{	
		 alert("El nom del fitxer no pot contenir el caràcter apóstrof (')");	
		 return false;
		}

	 var punto = 0;
	 for (var i = 0; i < fitxer.length; i++)
		{
		 var car = fitxer.charAt (i);
		 if (car == '.') 
			{
			 punto ++;
			 if (punto == 2)
				{
				 alert("El nom del fitxer no pot contenir el caràcter '.' dues vegades");	
				 return false;
				}
			}
		}

	 if (fitxer.indexOf(".") == -1)
		{				
		 alert("El nom del fitxer es erròni");	
		 return false;
		}

	  if (fitxer.length > 100)
	  {
	   alert("El nom del fitxer és massa llarg");	
	   return false;
	  }	

	  return true;
	}

function validaFitxerImatge(fitxer)
	{

	 if (fitxer.indexOf("'") != -1)
		{	
		 alert("El nom de l´imatge no pot contenir el caràcter apóstrof (')");	
		 return false;
		}

	 var punto = 0;
	 for (var i = 0; i < fitxer.length; i++)
		{
		 var car = fitxer.charAt (i);
		 if (car == '.') 
			{
			 punto ++;
			 if (punto == 2)
				{
				 alert("El nom de l´imatge no pot contenir el caràcter '.' dues vegades");	
				 return false;
				}
			}
		}

	 if ((fitxer.indexOf(".jpg") == -1) && (fitxer.indexOf(".gif") == -1) && (fitxer.indexOf(".JPG") == -1) && (fitxer.indexOf(".GIF") == -1))
		{				
		 alert("El nom de l´imatge ha de ser 'jpg' o 'gif'");	
		 return false;
		}

	  if (fitxer.length > 100)
	  {
	   alert("El nom de l´imatge és massa llarg");	
	   return false;
	  }	

	  return true;
	}

function displayWindow(theURL, winName, width, height, features)
{
	var window_width = width;
    var window_height = height;
    var newfeatures= features;
    var window_top = (screen.height-window_height)/2;
    var window_left = (screen.width-window_width)/2;
    newWindow=window.open(''+ theURL + '',''+ winName + '','width=' + window_width + ',height=' + window_height + ',top=' + window_top + ',left=' + window_left + ',features=' + newfeatures + '');
    newWindow.focus();
}

function displayWindow2(theURL, winName, width, height, features)
{
	var window_width = width;
    var window_height = height;
    var newfeatures= features;
    var window_top = 0;
    var window_left = 0;
    newWindow=window.open(''+ theURL + '',''+ winName + '','width=' + window_width + ',height=' + window_height + ',top=' + window_top + ',left=' + window_left + ',features=' + newfeatures + '');
    newWindow.focus();
}



function AbrirVentana(direccion, nombre)
	{
	  window.open(direccion, nombre, 'directories=no,height=400,width=650,hotkeys=no,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no');
	}

function Avui()
  {
	var mydate=new Date()
	var year=mydate.getYear()
	if (year < 1000)
	  year+=1900
	var day=mydate.getDay()
	var month=mydate.getMonth() + 1
	if (month<10)
	  month="0"+month
	var daym=mydate.getDate()
	if (daym<10)
	  daym="0"+daym
    document.fDatos.Data_Noticia.value = daym + '/' + month + '/' + year
  }


// periodo_valido(fi,ff): fi debe ser una fecha menor o igual que ff
function periodo_valido(fi, ff) 
	{
	 var dd1 = fi.charAt(0) + fi.charAt(1) ;
	 var mm1 = fi.charAt(3) + fi.charAt(4) ;
	 var yyyy1 = fi.charAt(6) + fi.charAt(7) + fi.charAt(8) + fi.charAt(9);

	 var dd2 = ff.charAt(0) + ff.charAt(1) ;
	 var mm2 = ff.charAt(3) + ff.charAt(4) ;
	 var yyyy2 = ff.charAt(6) + ff.charAt(7) + ff.charAt(8) + ff.charAt(9);

	 if ( yyyy1 + mm1 + dd1 > yyyy2 + mm2 + dd2 ) return -4;
	 return 1;
	}


// fecha_valida(a): Devuelve true si "a"  tiene el formato DD/MM/YYYY y false en el caso contrario.
function fecha_valida(a) 
{
	 if (a.length != 10) return -1;
	 for(var i=0;i<a.length;i++) 
	  {
		if (i==2 || i==5) {	if (a.charAt(i) != '/')  return -1; }
		else { if (a.charAt(i) < '0' || a.charAt(i)>'9')  return -1; }
	  }

	 var dd = parseInt(a.charAt(0) + a.charAt(1), 10);
	 var mm = parseInt(a.charAt(3) + a.charAt(4), 10);
	 var any = parseInt(a.charAt(6) + a.charAt(7) + a.charAt(8) + a.charAt(9));

	 // el día debe ser menor que 31 y el mes menor que 12
	 if (dd<1 || dd>31) return -2;
	 if (mm<1 || mm>12) return -3;

	 if ((mm > 12) || (dd > 31)) return -4
	 else
	 {
		if (((mm == 01) || (mm == 03) || (mm == 05) || (mm == 07) || (mm == 08) || (mm == 10) || (mm == 12)) && (dd > 31)) return -4
		else
		{
				if (((mm == 04) || (mm == 06) || (mm == 09) || (mm == 11)) && (dd > 30)) return -4
				else
				{
				 if ((mm == 02))
				 {
					if (dd > 29) return -4
					else
					{
						resto = any % 4
						if ((resto != 0) && (dd > 28)) return -4
						else
						{
							resto = any / 100;
							if ((resto == 0) && (dd > 28)) return -4
						}
					}
				 }
				} 
		 }
	 }
	 return 1;
}


function validaNombre (javanombre, bPuntos, bSubr, barroba, bLetrasEsp, bEspacios, iMin)
	{
   	    var javanombre= Trim(javanombre);
		
		if (javanombre.length < iMin)
			return false;

		var bBueno;
		for (var i = 0; i < javanombre.length; i++)
		{
			var car = javanombre.charAt (i);
			bBueno = false;
			if (esLetra (car) || esNumero (car) || (bLetrasEsp && esLetraEspecial (car) ) || (bEspacios && (car == ' ') ) || car == '"' )
				bBueno = true;

			// Si es el primero, tiene que ser letra o número.
			if (i != 0)
			{
				if ( ( (car == '_') && bSubr) || ( (car == '.') && bPuntos)  || ( (car == '@') && barroba) )
					bBueno = true;
			}
			if (!bBueno)
				return false;
		}
		return true;
	}



function esLetra (car)
	{
		return ( (car >= 'A' && car <= 'Z') || (car >= 'a' && car <= 'z') );
	}


function esNumero (car)
	{
		return (car >= '0' && car <= '9');
	}

function esLetraEspecial (car)
	{
		var sLetras = "&'*()áÁéÉíÍóÓúÚàÀèÈìÌòÒùÙüÜñÑçÇ:´` ";
		for (var i = 0; i < sLetras.length; i++)
			if (car == sLetras.charAt (i) )
				return true;

		return false;
	}

function desconectar()
	{
	document.fDatosDes.submit();
	}

function EliminarArxiu()
	{
	document.fDatosArxiu.submit();
	}

function EliminarImatge()
	{
	document.fDatosImatge.submit();
	}

function comprueba_subtemes()
	{
	var fmForm = document.fDatos;

	var temacat= Trim(fmForm.subtemacat.value);

	if ((temacat == '') || (temacat == ' '))
	{
		alert ("El idioma 'Català' o 'Castellà' està buit");
		return false;
	}

	var temaesp= Trim(fmForm.subtemaesp.value);

	if ((temaesp == '') || (temaesp == ' '))
	{
		alert ("El idioma 'Català' o 'Castellà' està buit");
		return false;
	}
}

function comprueba_webs()
	{
	var fmForm = document.fDatos;

	var urlweb = Trim(fmForm.urlweb.value);

	if (urlweb.indexOf("http://") == -1)
	{
		alert ("El camp 'URL' està buit o mal escrit");
		return false;
	}
}

function comprueba_calendari()
	{
	var fmForm = document.fDatos;

    fmForm.imatgefitxer.value = fmForm.fitxer.value

	var nomcat= Trim(fmForm.nomcat.value);
	if ((nomcat == '') || (nomcat == ' '))
	{
		alert ("El nom català està buit");
		return false;
	}

	var nomesp= Trim(fmForm.nomesp.value);
	if ((nomesp == '') || (nomesp == ' '))
	{
		alert ("El nom castellà està buit");
		return false;
	}
	
	var any= Trim(fmForm.any.value);
	if ((any == '') || (any == ' '))
	{
		alert ("L`any està buit");
		return false;
	}

    var fitxer = Trim(fmForm.fitxer.value);
	if (fitxer != "") 
	   {
	   if (!validaFitxer(fitxer))
		  {
			return false;
		  }
	   }
}

function comprueba_proves()
	{
	var fmForm = document.fDatos;

    fmForm.imatgefitxer.value = fmForm.fitxer.value

	var nom= Trim(fmForm.nom.value);
	if ((nom == '') || (nom == ' '))
	{
		alert ("El nom està buit");
		return false;
	}

	result1 = fecha_valida(fmForm.data.value);
	if (result1==-1) {
		alert ("Les dates han de tenir el format DD/MM/AAAA.");
		return false;
	}
	if (result1==-2) {
		alert ("En el format data el dia (DD) ha de ser menor que 31.");
		return false;
	}
	if (result1==-3) {
		alert ("En el format data el mes (MM) ha de ser menor que 12.");
		return false;
	}
	if (result1==-4) {
		alert ("En el format data és incorrecte.");
		return false;
	}

//    var fitxer = Trim(fmForm.fitxer.value);
//	if (fitxer == '') 
//	   {
//	    if (fmForm.pasfitxer.value == 0)
//		   {
//			alert ("El camp 'Fitxer' no pot ser nul");
//			return false;
//		   }
//	   }	

    var fitxer = Trim(fmForm.fitxer.value);
	if (fitxer != "") 
	   {
	   if (!validaFitxer(fitxer))
		  {
			return false;
		  }
	   }


//	if (fmForm.pasfitxer.value == 0) //Alta
//	   {
//	   if (!validaFitxer(fitxer))
//		  {
//			return false;
//		  }
//	   }

	if (fmForm.calendari.length == 0) 
	   {
		alert ("El camp 'Calendari' no pot ser nul");
		return false;
	   }

}

function comprueba_noticia()
	{
	var fmForm = document.fDatos;

    fmForm.paginaHTMNom.value = fmForm.paginaHTM.value;
    fmForm.paginaAUXNom.value = fmForm.paginaAUX.value;
	fmForm.paginaImatgeNom.value = fmForm.imatgepetita.value;

    var titol = Trim(fmForm.titol.value);
	if (titol == '') 
	   {
		alert ("El camp 'Títol' no pot ser nul");
		return false;
	   }	

	result1 = fecha_valida(fmForm.data.value);
	if (result1==-1) {
		alert ("Les dates han de tenir el format DD/MM/AAAA.");
		return false;
	}
	if (result1==-2) {
		alert ("En el format data el dia (DD) ha de ser menor que 31.");
		return false;
	}
	if (result1==-3) {
		alert ("En el format data el mes (MM) ha de ser menor que 12.");
		return false;
	}
	if (result1==-4) {
		alert ("En el format data és incorrecte.");
		return false;
	}

	if (fmForm.subtema.length == 0) 
	   {
		alert ("El camp 'Subtema' no pot ser nul");
		return false;
	   }

    var paginaHTM = Trim(fmForm.paginaHTM.value);
	if (paginaHTM == '') 
	   {
	    if (fmForm.paspaginaHTM.value == 0)
		   {
			alert ("El camp 'Pàgina HTM' no pot ser nul");
			return false;
		   }
	   }	
	if (fmForm.paspaginaHTM.value == 0) //Alta
	   {
	   if (!validaFitxer(paginaHTM))
		  {
			return false;
		  }
	   }

    var foto = Trim(fmForm.imatgepetita.value);
	if (foto != '')
		{
		 if (!validaFitxerImatge(foto))
		  {
			return false;
		  }
		}

	}

function comprueba_foto()
{
	var fmForm = document.fDatos;

    fmForm.paginaFoto.value = fmForm.NomFoto.value;

	var data = Trim(fmForm.data.value);
	if (data != '')
	{
		result1 = fecha_valida(fmForm.data.value);
		if (result1==-1) {
			alert ("Les dates han de tenir el format DD/MM/AAAA.");
			return false;
		}
		if (result1==-2) {
			alert ("En el format data el dia (DD) ha de ser menor que 31.");
			return false;
		}
		if (result1==-3) {
			alert ("En el format data el mes (MM) ha de ser menor que 12.");
			return false;
		}
		if (result1==-4) {
			alert ("En el format data és incorrecte.");
			return false;
		}
	}

    var foto = Trim(fmForm.NomFoto.value);
	if (foto == '') 
	   {
	    if (fmForm.pasFoto.value == 0)
		   {
			alert ("El camp 'Foto' no pot ser nul");
			return false;
		   }
	   }	

	if (fmForm.pasFoto.value == 0) //Alta
	   {
		if (!validaFitxerImatge(foto))
		  {
			return false;
		  }
	   }

	if (fmForm.subtema.length == 0) 
	   {
		alert ("El camp 'SubTema' no pot ser nul");
		return false;
	   }
}

function comprueba_subscripcio()
{
	var fmForm = document.fDatos;

//	var nom= Trim(fmForm.nom.value);
//	if ((nom == '') || (nom == ' '))
//	{
//		alert ("El 'nom' està buit");
//		return false;
//	}

//	var cognom= Trim(fmForm.cognom.value);
//	if ((cognom == '') || (cognom == ' '))
//	{
//		alert ("El 'Cognom' està buit");
//		return false;
//	}

   var mail= Trim(fmForm.mail.value);
   if (!validaEmail(mail))
	  {
		alert ("E-Mail mal escrit");
		return false;
	  }
}

function comprueba_llista()
{
	var fmForm = document.fDatos;

	var nom= Trim(fmForm.nom.value);
	if ((nom == '') || (nom == ' '))
	{
		alert ("El 'nom' està buit");
		return false;
	}

	MarcarTodosItems(fmForm.TemesSele);
	var c = fmForm.TemesSele 
	for (i=0; i<c.length; i++ )	
		{
		 if (i == c.length-1) fmForm.ListaDistribucio.value = fmForm.ListaDistribucio.value + c.options[i].value
			else fmForm.ListaDistribucio.value = fmForm.ListaDistribucio.value + c.options[i].value + ', ';
		}
}
