function CheckNumeric(hform,ObjName,StrLabel)
{

	var str = hform[ObjName].value;
	var Msg = "Al camp " + StrLabel + " només es poden introduïr números (0-9).\n\nVoleu esborrar el camp " + StrLabel + "?";

	for (var i=0; i < str.length; i ++)
   	{ 
      		var ch=str.substring(i,i+1);
		if (ch < "0" || ch > "9") 
		{
			TryConfirm(Msg,hform,ObjName); 
			return false; 
		}
   	}

   	return true;
}


function CheckNif(hform,ObjName,StrLabel)
{
   	var i,j,k;

	var str = hform[ObjName].value;
	var Msg = "El camp " + StrLabel + " ha de tenir un format: 12345678X.\n\nVoleu esborrar el camp " + StrLabel + "?";

   	if (str.length==0) { return true;}

   	if (str.length==8) 
	{

     		if (CheckNumeric(hform,ObjName,StrLabel)) 
		{
       			i=str % 23;
       			if (i==0) {j="T";}
       			if (i==1) {j="R";}
       			if (i==2) {j="W";}
       			if (i==3) {j="A";}
       			if (i==4) {j="G";}
       			if (i==5) {j="M";}
       			if (i==6) {j="Y";}
       			if (i==7) {j="F";}
       			if (i==8) {j="P";}
       			if (i==9) {j="D";}
       			if (i==10) {j="X";}
       			if (i==11) {j="B";}
       			if (i==12) {j="N";}
       			if (i==13) {j="J";}
       			if (i==14) {j="Z";}
       			if (i==15) {j="S";}
       			if (i==16) {j="Q";}
       			if (i==17) {j="V";}
       			if (i==18) {j="H";}
       			if (i==19) {j="L";}
       			if (i==20) {j="C";}
       			if (i==21) {j="K";}
       			if (i==22) {j="E";}
       			if (i==23) {j="T";}
       			k=str+j;

       			hform[ObjName].value= k;
		
     			return true; 
            
     		} 
		else 
		{
			TryConfirm(Msg,hform,ObjName); 
			return false;
		}

	}
   	else 
	{ 
     		if (str.length<8) 
		{ 
			TryConfirm(Msg,hform,ObjName); 
			return false;
		}
     		else
		{
			var numsNIF = hform[ObjName].value.substr(0,8);
			var lletraNIF = hform[ObjName].value.substr(8,1);
	
       			hform[ObjName].value= numsNIF+lletraNIF.toUpperCase();
			return true;
		}
    	}
}


function CheckDate(hform,ObjName,StrLabel) 
{

	var str = hform[ObjName].value;
	var Msg = "El format del camp " + StrLabel + " és dd-mm-aaaa.\nVoleu esborrar el camp " + StrLabel + "?";

	var dia,mes,any,a; 
       	var tmp1,tmp2,ss,dies;
      
       	if (str.length==0) { return true; }

       	// Longitud de 8 - 10 Caracters
        if (str.length <10 || str.length>10) 
	{	
		TryConfirm(Msg,hform,ObjName); 
		return false; 
	}

       	// Tots els caracters numerics o /
        for (var i = 0; i < str.length; i++) 
        {
        	var ch = str.substring(i, i + 1);
            	if ((ch < "0" || "9" < ch) && ch != "-") 
		{
			TryConfirm(Msg,hform,ObjName); 
			return false;
		}
        }

	// Escollim Dades (dia,mes,any)
	tmp1=str.indexOf("-");
	tmp2=str.indexOf("-",tmp1+1);
	if (str.lastIndexOf("-") != tmp2 )
	{  
		TryConfirm(Msg,hform,ObjName); 
		return false; 
	}

	dia=str.substring(0,tmp1);
	mes=str.substring(tmp1+1,tmp2);
	any=str.substring(tmp2+1,str.length);

	if (dia < 1 || dia > 31 || mes < 1 || mes > 12 ) 
	{ 
		TryConfirm(Msg,hform,ObjName); 
		return false; 
	}

	dies=28;
	if (mes ==2 )
	{
 		if (any %4 ==0)
		{
		 	if (any%100!=0) { dies=29; }
		  	else 
			{
		    		if (any%400==0) { dies=28; }
		    		else { dies=29; }
		  	}
		}
		else
		{
			dies=28;
		}
	}

	if (mes == 2 && dia > dies) 
	{ 
		TryConfirm(Msg,hform,ObjName); 
		return false; 
	} 
	if (mes == 4 || mes == 6 || mes == 9 || mes == 11)
	{ 
		if (dia > 30) 
		{ 
			TryConfirm(Msg,hform,ObjName); 
			return false; 
		} 
	} 
       
      	return true;
}

function TryConfirm(Msg,Form,ObjName)
{
	if(confirm(Msg)) 
        {
        	Form[ObjName].value='';
	}
}

function ferSubmit(hform, str)
{
	hform.action=str;
	hform.submit();
	return false;
}

