function EsFormValid_p1()
{
  if (!DNIValid(document.Inscripcio_p1.DNIp1.value)) {
    alert("El DNI que ha introduït no és valid");
    return false;
  }
  if ( numValid(document.Inscripcio_p1.DiaNaixp1.value, 2) == "" || 
       numValid(document.Inscripcio_p1.MesNaixp1.value, 2) == "" ||
       numValid(document.Inscripcio_p1.AnyNaixp1.value, 4) == "" ) {
    alert("El format de la Data de Naixement que ha introduït no és valid");
    return false;
  }
  else {
    if ( document.Inscripcio_p1.DiaNaixp1.value > 31 ||
         document.Inscripcio_p1.MesNaixp1.value > 12 ||
         document.Inscripcio_p1.AnyNaixp1.value < 1900 ) {
      alert("La Data de Naixement que ha introduït no és valida");
      return false;
    }
  }
}

function EsFormValid_p2()
{
  if (document.Inscripcio_p2.Cognom1.value.length == 0) {
    alert("Cal que introdueixi el seu Primer Cognom al formulari");
    return false;
  }
  if (document.Inscripcio_p2.Cognom2.value.length == 0) {
    alert("Cal que introdueixi el seu Segón Cognom al formulari");
    return false;
  }
  if (document.Inscripcio_p2.Nom.value.length == 0) {
    alert("Cal que introdueixi el seu nom al formulari");
    return false;
  }
  if (!DNIValid(document.Inscripcio_p2.DNI.value)) {
    alert("El DNI que ha introduït no és valid");
    return false;
  }
  if ( numValid(document.Inscripcio_p2.DiaNaix.value, 2) == "" || 
       numValid(document.Inscripcio_p2.MesNaix.value, 2) == "" ||
       numValid(document.Inscripcio_p2.AnyNaix.value, 4) == "" ) {
    alert("La Data de Naixement que ha introduït no és valida");
    return false;
  }
  else {
    if ( document.Inscripcio_p2.DiaNaix.value > 31 ||
         document.Inscripcio_p2.MesNaix.value > 12 ||
         document.Inscripcio_p2.AnyNaix.value < 1900 ) {
      alert("El format de la Data de Naixement que ha introduït no és valid");
      return false;
    }
  }
  if (numValid(document.Inscripcio_p2.CodPost.value, 5) == "") {
    alert("El Codi Postal que ha introduït no és valid");
    return false
  }
  if ( document.Inscripcio_p2.Confidencial.checked && (document.Inscripcio_p2.AdPost.value.length == 0) ) {
    alert("Cal que introdueixi la seva adreça postal. Si no vol, desmarqui la opció de rebre informació nostra");
    return false;
  }
  if ( !document.Inscripcio_p2.DocuConf.checked ) {
    alert("No ha declarat estar al corrent de com tractarem les seves dades. Marqui aquesta opció per continuar.");
    return false;
  }
  return true;
}

function SonDNIsValids(numOfDNIs)
{
  for (var i=0; i<numOfDNIs; i++) {
    if (!DNIValid(document.DNIsPagament.elements[i].value)) {
      
      alert("El DNI " + (i+1) + " no és valid");
      return false;
    }
  }
  return true;
}

function DNIValid(DNIString)
{
  if (DNIString.length != 9) {
    return false;
  }

  var DNINum = numValid(DNIString, 8);

  if (DNINum == "") {
    return false;
  }
  else {
    var valInd = (DNINum.valueOf() % 23);
    var DNICod = "TRWAGMYFPDXBNJZSQVHLCKE";

    if (DNIString.charAt(8).toUpperCase() == DNICod.charAt(valInd)) {
      return true;
    }
    else {
      return false;
    }
  }
}

function numValid(numString, numOfFig)
{
  var valNum = "";
  regExpNum = /0|1|2|3|4|5|6|7|8|9|X|x/;

  for (var i=0; i<numOfFig; i++) {
    if ( !regExpNum.test(numString.charAt(i)) ) {
      valNum = "";
      break;
    }
    else {
      if ( numString.charAt(i).toUpperCase() == "X" ) {
        if ( i == 0 ) {
          valNum = "0";
        }
        else {
          valNum = "";
          break;
        }
      }
      else {
        valNum = valNum + numString.charAt(i);
      }
    }
  }
  return valNum;
}

