function MM_validateFormIndex() { //v4.0
  var i,p,q,nm,nmtext,test,num,min,max,errors='',args=MM_validateFormIndex.arguments;
  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 = "Nombre";
		}
		/*
		else if (nm == "idComarca"){
			nmtext = "Comarca y Población";
		}
		*/
		else if (nm == "idProvincia"){
			nmtext = "Provincia i Población";
		}		
		else if (nm == "cognom1"){
			nmtext = "1r Apellido";
		}	
		else if (nm == "cognom2"){
			nmtext = "2o Apellido";
		}
		else if (nm == "idPoblacio"){
			nmtext = "Población";
		}	
		else if (nm == "adreca"){
			nmtext = "Dirección";
		}			
		else if (nm == "dataNaixD"){
			nmtext = "El dia de la fecha de nacimiento";
		}		
		else if (nm == "dataNaixM"){
			nmtext = "El mes de la fecha de nacimiento";
		}		
		else if (nm == "dataNaixA"){
			nmtext = "El año de la fecha de nacimiento";
		}		
		
		else if (nm == "dni"){
			nmtext = "DNI/NIE";
		}
		else if (nm == "hasTreballatAntSuperHid"){
			nmtext = "Indicar si has trabajado anteriormente en algún supermecado";
			marcatTreballat=true;
		}
		
		else if ((nm == "usernameF") || (nm == "fusername") || (nm == "email1") || (nm == "email") || (nm == "email_butlleti")){
			nmtext = "Correo electrónico";
		}		
		else{
			nmtext = nm;
		}

		if ( (nm=="hasTreballatAntSuperHid") && (value=="1") )
		{
			tempsTreb=MM_findObj('quantTempsHasTrebHid');	
			tempsTrebvalue = tempsTreb.value;
			if (tempsTrebvalue=="")
				errors+='- Indica cuánto tiempo has trabajado en un supermecado.\n';
		}

		if (nm=="dni") 
		{
			if (value.length<9)
				errors+='- El DNI/NIE tiene que ser de 9 carácteres.\n';

			dni=value;
			numeroDNI = dni.substr(1,dni.length-2);
			bOk=true;
			for (var aux = 0; aux < numeroDNI.length; aux++){
				bOk = bOk && esDigito(numeroDNI.charAt(aux));
			}			
			
			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 es erroneo.\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ón o área donde te gustaría trabajar.\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 puesto de trabajo que te interese.\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+='- Tiene que aceptar las condiciones de uso del servicio.\n';
		}
      } 
      else if (test!='R') { 
	num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nmtext+' tiene que ser un valor numérico.\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+' tiene que ser un valor numérico entre '+min+'  '+max+'.\n';
    	} 
      } 

    } else if (test.charAt(0) == 'R') errors += '- '+nmtext+' es obligatorio.\n'; }
  } 

if(MM_findObj('telefon')){ 
	
	//estem al form de currículum

    objTelefon=MM_findObj('telefon');	
	objMobil=MM_findObj('mobil');	
	
	if ((objTelefon.value=='') && (objMobil.value==''))
	{
		errors += '- Debes indicar el teléfono fijo o el móvil.\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 += '- Fecha de nacimiento incorrecta.\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 adjuntas el currículum indica las 3 últimas empresas donde has trabajado.\n';
	  }

	  if ( (objnomEmpresa1.value!='') && ((objfeinesEmpresa1.value=='') || (objtempsEmpresa1.value=='') || (objmotiuCanvi1.value=='') ) )
	  {
		  errors += '- Indica los trabajos realizados, el tiempo trabajado y el motivo del cambio de la empresa ' + objnomEmpresa1.value + '.\n';
	  }
	  
	  if ( (objnomEmpresa2.value!='') && ((objfeinesEmpresa2.value=='') || (objtempsEmpresa2.value=='') || (objmotiuCanvi2.value=='') ) )
	  {
		  errors += '- Indica los trabajos realizados, el tiempo trabajado y el motivo del cambio de la empresa ' + objnomEmpresa2.value + '.\n';
	  }
	  
	  if ( (objnomEmpresa3.value!='') && ((objfeinesEmpresa3.value=='') || (objtempsEmpresa3.value=='') || (objmotiuCanvi3.value=='') ) )
	  {
		  errors += '- Indica los trabajos realizados, el tiempo trabajado y el motivo del cambio de la 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 tiene que ser un archivo en formato doc, docx, pdf o rtf.\n';
	}
 }
 
}

  if (errors) alert('Se han encontrado los siguientes errores:\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 de identificación fiscal facilitado es erroneo.");
        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 de identificación fiscal facilitado es erroneo.");
      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 de identificación fiscal facilitado es erroneo.");
      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 de identificación fiscal facilitado es erroneo.");
	        document.form1.NIF.value = "";
	        document.form1.NIF.focus();
		return(false)
	}

    }
}

