
function text_buit(obj)
{

if(obj.value.length<=0)
 {
  obj.focus();
  return true;
 }

return false;
}

function data_valida(obj)
{

obj.value = data_a_ddmmaaaa(obj);

separador=obj.value.charAt(2);
dia=obj.value.charAt(0) + obj.value.charAt(1);
mes=obj.value.charAt(3) + obj.value.charAt(4);
mes--;
any=	obj.value.charAt(6) 
	+ obj.value.charAt(7) 
	+ obj.value.charAt(8) 
	+ obj.value.charAt(9);

data = new Date(any,mes,dia);

any_retorn = data.getYear();

//alert(any_retorn);
//alert(navigator.appName);

if(any_retorn <= 1900 )
{
 any_retorn+=1900;
}
//alert(any_retorn);

//alert(any_retorn);

if(        (dia==data.getDate()) 
	&& (mes==data.getMonth()) 
	&& (any== any_retorn ))
{
return true;
}

obj.focus();
return false;
}


function data_a_ddmmaaaa(obj)
{
dia = new String();
mes = new String();
any = new String();
comenca = 0;

if(obj.value.length==10)
{
return obj.value;
}

for(i=0;i<obj.value.length;i++)
{

 if(obj.value.charAt(i) < "0" || obj.value.charAt(i) > "9")
 {
  separador=obj.value.charAt(i);

  if(i<=2)	
  {
   dia=obj.value.substring(0,i);
   comenca = i + 1;
  }
   else 
  {
   mes=obj.value.substring(comenca,i);
   comenca = i + 1;
   any=obj.value.substring(comenca,obj.value.length);
  }

 }

}



while(dia.length<2)
{
 dia= "0" + dia;
}

while(mes.length<2)
{
 mes= "0" + mes;
}

if(any.length<1)
{
 data = new Date();
 any= 1900 + data.getYear();
}

if(any.length<2)
{
 any= 200 + any;
}

if(any.length<3)
{

 if(any>=70)
 {
  any= 19 + any;
 }
 else
 {
  any= 20 + any;
 }

}

// DEBUG
//alert(dia+"/"+mes+"/"+any+"--."+i+"."+obj.value.length);
return (dia+separador+mes+separador+any);
}

function valida_email(obj)
{
posicio_arroba = obj.value.indexOf('@', 0);

 if( posicio_arroba > 0 && posicio_arroba < obj.value.length )
 {
  return false;
 }

/*
posicio_punt = obj.value.indexOf('.', posicio_arroba);

 if( posicio_punt > 0 && posicio_punt < obj.value.length )
 {
  return false;
 }
*/

return true;
}

function valida_email_especific(obj)
{

if(document.form.especific_email.value.length>0)
{
 return valida_email(document.form.especific_email);
}

return true;
}

function nomes_a_numeros(obj,visible)
{
nou_obj= new String();
aux = new String();

i=0;
j=0;

if(obj.value.charAt(0)=="-")
{
  nou_obj= nou_obj + obj.value.charAt(i);
  i++;
}


for(text=0;i<obj.value.length;i++)
{


 if((obj.value.charAt(i) >= "0" && obj.value.charAt(i) <= "9" ) || obj.value.charAt(i) =="." )
 {
  nou_obj = nou_obj + obj.value.charAt(i);
 }
 else
 {
  text=1;
 }

}

if(text)
{
  if(visible)
  {
   alert("El camp "+obj.name+" nomes pot tenir números\n Canviant "+obj.value+" per "+nou_obj);
  }

obj.value=nou_obj;
return false;
}

return true;
}



function valida_mediumint(obj)
{


nomes_a_numeros(obj,true);

if(obj.value > 8388607 || obj.value < -8388608 )
{
 alert("La prioritat ha d'estar compresa entre -8388608 i 8388607 ");
 obj.focus();
 return false;
}

return true;
}

function valida_nif(obj)
        {
        var lletres_nif=new Array(
			   "T"
			   ,"R"
			   ,"W"
			   ,"A"
			   ,"G"
                           ,"M"
			   ,"Y"
			   ,"F"
			   ,"P"
			   ,"D"
			   ,"X"
                           ,"B"
			   ,"N"
			   ,"J"
			   ,"Z"
			   ,"S"
			   ,"Q"
			   ,"V"
			   ,"H"
			   ,"L"
			   ,"C"
			   ,"K"
			   ,"E");
        var cadena;
	var lletra;
	var valor_original;
	var lletra_calculada;

// NIF's d'empreses
if(!(obj.value.charAt(0) < 'A' && obj.value.charAt(0) < 'z'))
{
 return true;
}

valor_original=obj.value;
lletra=obj.value.charAt(obj.value.length-1)
nomes_a_numeros(obj,false);
lletra_calculada=lletres_nif[ obj.value % 23];
        if ( lletra.toUpperCase() != lletra_calculada )
	{
	 alert("NIF incorrecte, numero o lletra erronia");
	 obj.value=valor_original;
	 obj.focus();
	 return false;
	}

        if (isNaN(obj.value))
	{
	 alert("NIF incorrecte");
	 obj.value=valor_original;
	 obj.focus();
	 return false;
	}

        obj.value=Number(obj.value)+lletres_nif[obj.value%23];
 	return true;
        }


function hora_valida(obj)
{

obj.value = hora_a_hhmmss(obj);

separador=obj.value.charAt(2);
hora=obj.value.charAt(0) + obj.value.charAt(1);
minut=obj.value.charAt(3) + obj.value.charAt(4);
segon=obj.value.charAt(6) + obj.value.charAt(7);

if( hora<0 || hora>23)
{
return false;
}

if( minut<0 || minut>59)
{
return false;
}

if( segon<0 || segon>59)
{
return false;
}

obj.focus();
return true;
}




function hora_a_hhmmss(obj)
{
hora = new String();
minut = new String();
segon = new String();
comenca = 0;

if(obj.value.length==8)
{
 return obj.value;
}


for(i=0;i<obj.value.length;i++)
{

 if(obj.value.charAt(i) < "0" || obj.value.charAt(i) > "9")
 {
  separador=obj.value.charAt(i);

  if(i<=2)	
  {
   hora=obj.value.substring(0,i);
   comenca = i + 1;
  }
   else 
  {
   minut=obj.value.substring(comenca,i);
   comenca = i + 1;
   segon=obj.value.substring(comenca,obj.value.length);
  }

 }

}

while(hora.length<2)
{
 hora= "0" + hora;
}

while(minut.length<2)
{
 minut= "0" + minut;
}

while(segon.length<2)
{
 segon= "0" + segon;
}


return (hora+separador+minut+separador+segon);
}


function valida_alta(obj)
{

trim(obj.email);

    if(obj.email.value.length<=0)
    {
	alert("El camp E-mail és obligatori");
	obj.email.focus();
	return false;
    }


    if(obj.emailbis.value.length<=0)
    {
	alert("El camp Reescriu l'E-mail és obligatori");
	obj.emailbis.focus();
	return false;
    }

    if(obj.email.value!=obj.emailbis.value)
    {
	alert("El camp Email i Reescriu l'E-mail han de coincidir");
	obj.email.focus();
	return false;
    }

    var arroba=obj.email.value.indexOf('@', 1);
    var punt=obj.email.value.indexOf('\.',arroba);

    if(
	    obj.email.value.length>5
	    &&
	    arroba>0
	    &&
	    punt>1
	    &&
	    punt<obj.email.value.length
	    &&
	    (obj.email.value.length-2)>punt
	&&
	obj.email.value.indexOf('@', arroba+1)==-1
      )
    {
    }
    else
    {
	alert("El camp E-mail és incorrecte");
	obj.email.focus();
	return false;
    }

    return true;
}


function trim(obj)
{
    obj.value=obj.value.replace(new RegExp("[',;\\s]+", "g"), "");
}

