function MM_validateFormIndex() { //v4.0
  varsel=0;

  var i,p,q,nm,nmtext,test,num,min,max,errors='',args=MM_validateFormIndex.arguments;


	marcatTreballat=false;

  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);

    if (val) { nm=val.name; 
	       chckd=val.checked;
		   id = val.id;
		   value = val.value;
		   

		if (nm == "nom"){
			nmtext = "Nom";
		}
		/*
		else if (nm == "idComarca"){
			nmtext = "Comarca i Població";
		}
		*/
		else if (nm == "idProvincia"){
			nmtext = "Província i Població";
		}		
		else if (nm == "cognom1"){
			nmtext = "1r Cognom";
		}
		else if (nm == "cognom2"){
			nmtext = "2n Cognom";
		}
		else if (nm == "idPoblacio"){
			nmtext = "Població";
		}	
		else if (nm == "adreca"){
			nmtext = "Adreça";
		}	
		else if (nm == "telefon"){
			nmtext = "Telèfon fixe";
		}			
		else if (nm == "dataNaixD"){
			nmtext = "El dia de la data de naixement";
		}		
		else if (nm == "dataNaixM"){
			nmtext = "El mes de la data de naixement";
		}		
		else if (nm == "dataNaixA"){
			nmtext = "L´any de la data de naixement";
		}		
		else if (nm == "dni"){
			nmtext = "DNI/NIE";
		}
		else if (nm == "hasTreballatAntSuperHid"){
			nmtext = "Indicar si has treballat anteriorment en algun supermecat";
			marcatTreballat=true;
		}
		else if ((nm == "usernameF") || (nm == "fusername") || (nm == "email1") || (nm == "email") || (nm == "email_butlleti")){
			nmtext = "Correu electrònic";
		}			
		else{
			nmtext = nm;
		}
		

		if ( (nm=="hasTreballatAntSuperHid") && (value=="1") )
		{
			tempsTreb=MM_findObj('quantTempsHasTrebHid');	
			tempsTrebvalue = tempsTreb.value;
			if (tempsTrebvalue=="")
				errors+='- Indica quant temps has treballat en un supermecat.\n';
		}


		if (nm=="dni") 
		{
			if (value.length<9)
				errors+='- El DNI/NIE ha de ser de 9 caràcters.\n';

			dni=value;
			//lletra + 7 numeros + lletra
			//8 numeros i lletra
			numeroDNI = dni.substr(1,dni.length-2);
			bOk=true;
			for (var aux = 0; aux < numeroDNI.length; aux++){
				bOk = bOk && esDigito(numeroDNI.charAt(aux));
			}			
			
		
			//alert(dni.charAt(dni.length-1));
			bOk = bOk && !esDigito(dni.charAt(dni.length-1));

			lletraDNI = dni.substr(dni.length-1,1);
			JSRegExp =/^[a-zA-Z]$/;
			
			bOk=bOk && JSRegExp.test(lletraDNI);
			
			if (!bOk)
			{
			errors+='- El DNI/NIE és erroni.\n';
			}

		}

		

		
	if (test.indexOf('selectedv') != -1){
		var selObj = document.getElementById(id);
		if (id == "idSeccio"){
		//alert(selObj.options[0]);
		//alert(selObj.options[0].selected);
if (selObj.options[0].selected == false && selObj.options[1].selected == false && selObj.options[2].selected == false && selObj.options[3].selected == false && selObj.options[4].selected == false && selObj.options[5].selected == false && selObj.options[6].selected == false && selObj.options[7].selected == false && selObj.options[8].selected == false && selObj.options[9].selected == false && selObj.options[10].selected == false && selObj.options[11].selected == false && selObj.options[12].selected == false && selObj.options[13].selected == false && selObj.options[14].selected == false && selObj.options[15].selected == false && selObj.options[16].selected == false && selObj.options[17].selected == false){
				errors+='- Indica alguna secció o àrea on t´agradaria treballar.\n';
			}
			
		}
		if (id == "idLlocTreball"){
			if (selObj.options[0].selected == false && selObj.options[1].selected == false && selObj.options[2].selected == false && selObj.options[3].selected == false && selObj.options[4].selected == false && selObj.options[5].selected == false && selObj.options[6].selected == false && selObj.options[7].selected == false && selObj.options[8].selected == false && selObj.options[9].selected == false && selObj.options[10].selected == false && selObj.options[11].selected == false && selObj.options[12].selected == false && selObj.options[13].selected == false && selObj.options[14].selected == false && selObj.options[15].selected == false){
				errors+='- Indica algun lloc de treball que t´interessi.\n';
			}
			
		}		
		

	}

	if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { 
	p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nmtext+' ha de contenir una adreça de correu electrònic vàlida.\n';
      }
	  else if (test.indexOf('selectedv') != -1){
		//alert(id);
		//if (slctd == true){
		//	varsel=1;
		//}
	}	  
      else if (test.indexOf('checked')!=-1) { 
		if (id == "iagree"){
       	 	if (chckd == false) errors+='- Es requereix l´acceptació de la llei de protecció de dades .\n';
		}

	} 
      else if (test!='R') { 
	num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nmtext+' ha de ser un valor numèric.\n';
        if (test.indexOf('inRange') != -1) { 
		p=test.indexOf(':');
          	min=test.substring(8,p); max=test.substring(p+1);
          	if (num<min || max<num) errors+='- '+nmtext+' ha de ser un valor numèric entre '+min+'  '+max+'.\n';
    	} 
      } 

    } else if (test.charAt(0) == 'R') errors += '- '+nmtext+' és obligatori.\n'; }
  } 
	
  //if (varsel==0){errors += '- Debe seleccionar algun ' + nmtext + '.\n';}  
  
    objTelefon=MM_findObj('telefon');	
	objMobil=MM_findObj('mobil');	
	if ((objTelefon.value=='') && (objMobil.value==''))
	{
		errors += '- Has d´omplir el telèfon fixe o el mòbil.\n';	
	}
  
  
	objDataNaixD=MM_findObj('dataNaixD');	
	objDataNaixM=MM_findObj('dataNaixM');	
	objDataNaixA=MM_findObj('dataNaixA');	
	valorDataNaix = objDataNaixD.value + '/' + objDataNaixM.value + '/' + objDataNaixA.value; 
	if (valorDataNaix!='--'){
		if (!valFecha(valorDataNaix))	
		{
			errors += '- Data de naixament incorrecte.\n';
		}
	}
  

	  objnomEmpresa1=MM_findObj('nomEmpresa1');	
	  objnomEmpresa2=MM_findObj('nomEmpresa2');	
	  objnomEmpresa3=MM_findObj('nomEmpresa3');	
	  
	  objfeinesEmpresa1=MM_findObj('feinesEmpresa1');	
	  objfeinesEmpresa2=MM_findObj('feinesEmpresa2');	
	  objfeinesEmpresa3=MM_findObj('feinesEmpresa3');	
	  
	  objtempsEmpresa1=MM_findObj('tempsEmpresa1');	
	  objtempsEmpresa2=MM_findObj('tempsEmpresa2');	
	  objtempsEmpresa3=MM_findObj('tempsEmpresa3');	
	  
	  objmotiuCanvi1=MM_findObj('motiuCanvi1');	
	  objmotiuCanvi2=MM_findObj('motiuCanvi2');	
	  objmotiuCanvi3=MM_findObj('motiuCanvi3');	
	  
	  objDocCurriculum=MM_findObj('docCurriculum');	
	  objsenseExperienciaLaboral=MM_findObj('senseExperienciaLaboral');	
	  
	  if ((objDocCurriculum.value=='') && (objnomEmpresa1.value=='') 
		&& (objnomEmpresa2.value=='') && (objnomEmpresa3.value=='') 
		&& (!objsenseExperienciaLaboral.checked) )
	  {
		  errors += '- Si no adjuntes el currículum indica les 3 últimes empreses on has treballat.\n';
	  }

	  if ( (objnomEmpresa1.value!='') && ((objfeinesEmpresa1.value=='') || (objtempsEmpresa1.value=='') || (objmotiuCanvi1.value=='') ) )
	  {
		  errors += '- Indica les feines fetes, el temps treballat i el  motiu del canvi de l´empresa ' + objnomEmpresa1.value + '.\n';
	  }
	  
	  if ( (objnomEmpresa2.value!='') && ((objfeinesEmpresa2.value=='') || (objtempsEmpresa2.value=='') || (objmotiuCanvi2.value=='') ) )
	  {
		  errors += '- Indica les feines fetes, el temps treballat i el  motiu del canvi de l´empresa ' + objnomEmpresa2.value + '.\n';
	  }
	  
	  if ( (objnomEmpresa3.value!='') && ((objfeinesEmpresa3.value=='') || (objtempsEmpresa3.value=='') || (objmotiuCanvi3.value=='') ) )
	  {
		  errors += '- Indica les feines fetes, el temps treballat i el  motiu del canvi de l´empresa ' + objnomEmpresa3.value + '.\n';
	  }
	  
	 if (objDocCurriculum.value!='')
	 {
		if ( (objDocCurriculum.value.indexOf(".doc")==-1) && (objDocCurriculum.value.indexOf(".docx")==-1) && (objDocCurriculum.value.indexOf(".pdf")==-1) && (objDocCurriculum.value.indexOf(".rtf")==-1) )
		{
			errors += '- El currículum ha de ser un arxiu en format doc, docx, pdf o rtf.\n';
		}
	 }

/*
	objDNI=MM_findObj('dni');	
	dni=objDNI.value;

	if (dni.length<9)
		errors+='- El DNI/NIE ha de ser de 9 caràcters.\n';

	dni=value.length;
	numeroDNI = dni.substr(1,dni.length-1);
	alert(numeroDNI);
*/

  if (errors) alert('S´han trobat els següents errors:\n'+errors);
  document.MM_returnValue = (errors == '');
}



	
	
	function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
	}
	
	function valSep(oTxt){
	var bOk = false;
	bOk = bOk || ((oTxt.charAt(2) == "-") && (oTxt.charAt(5) == "-"));
	bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));
	return bOk;
	}
	
	function finMes(oTxt){
	var nMes = parseInt(oTxt.substr(3, 2), 10);
	var nRes = 0;
	switch (nMes){
	case 1: nRes = 31; break;
	case 2: nRes = 29; break;
	case 3: nRes = 31; break;
	case 4: nRes = 30; break;
	case 5: nRes = 31; break;
	case 6: nRes = 30; break;
	case 7: nRes = 31; break;
	case 8: nRes = 31; break;
	case 9: nRes = 30; break;
	case 10: nRes = 31; break;
	case 11: nRes = 30; break;
	case 12: nRes = 31; break;
	}
	return nRes;
	}
	
	function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
	}
	
	function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
	}
	
	function valAno(oTxt){
		var bOk = true;
		var nAno = oTxt.substr(6);
		bOk = bOk && (nAno.length == 4);
		
	
		if (bOk)
		{
			for (var i = 0; i < nAno.length; i++){
			bOk = bOk && esDigito(nAno.charAt(i));
			}
		}

		var avui=new Date();
		var anyAct=avui.getFullYear();
		
		anyLimit=anyAct-70;
		
		bOk = bOk && (nAno>=anyLimit);
		
		
		return bOk;
	}
	
	function valFecha(oTxt){
		var bOk = true;
		if (oTxt != ""){
			bOk = bOk && (valAno(oTxt));
			bOk = bOk && (valMes(oTxt));
			bOk = bOk && (valDia(oTxt));
			bOk = bOk && (valSep(oTxt));
			
			separador1=oTxt.substr(2,1);
			separador2=oTxt.substr(5,1);
		
			if ((separador1!="/")||(separador2!="/")) bOk=false;
		
			if (!bOk){

			oTxt = "";
			}
			
			return bOk;
		}
	}



function checkNIF()
  {

    nifcif = document.form1.NIF.value.substring (0, 1);

    if (EsNumero(nifcif)) {


//    if (document.form1.NIF.value.length==0) 
//    {
//      document.form1.NIF.focus();  
//      alert ("Debe facilitarnos el número de identificación fiscal.");
//      return(false);
//    }
    var letras=0;
    for (var i=0; i<document.form1.NIF.value.length; i++) 
    {
      var ch = document.form1.NIF.value.substring (i, i+1);
      if ( (ch < "0" || ch > "9") && (ch < "a" || ch > "z") && (ch < "A" || ch > "Z") )
      {
        alert("El número d'identificació fiscal facilitat és erroni.");
        document.form1.NIF.value = "";
        document.form1.NIF.focus();

        return(false);
      }
      if ( (ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z") )
      {
        letras++;
      }  
    }
    if (letras>2)
    {
      alert("El número d'identificació fiscal facilitat és erroni.");
      document.form1.NIF.value = "";
      document.form1.NIF.focus();
      return(false);
    }

    var numNIF = document.form1.NIF.value.substring(0,8);
    var lletraNIF = document.form1.NIF.value.substring(8,9);

    var cadena = 'TRWAGMYFPDXBNJZSQVHLCKET';
    var posicion = numNIF % 23;

    var lletraNIFOK = cadena.charAt(posicion);

    if (lletraNIF != lletraNIFOK){
      alert("El número d'identificació fiscal facilitat és erroni.");
      document.form1.NIF.value = "";
      document.form1.NIF.focus();
      return(false)
    }

    return true;
 
    }
    else{


	if (validarCIF(document.form1.NIF.value)){
		return(true)
	}
	else{
		alert("El número d'identificació fiscal facilitat és erroni.");
	        document.form1.NIF.value = "";
	        document.form1.NIF.focus();
		return(false)
	}

    }
}
