function IsNumeric(sText)

{

   var ValidChars = "0123456789.";

   var IsNumber=true;

   var Char;



   for (i = 0; i < sText.length && IsNumber == true; i++)

   {

      Char = sText.charAt(i);

      if (ValidChars.indexOf(Char) == -1)

      {

         IsNumber = false;

      }

   }



   return IsNumber;

}





function checkrequired(which) {



    var pass=true;

    var fechaOk=true;

    var fechaOk2=true;

    var mailOk=true;

    var dia  = "";

    var mes  = "";

    var anio = "";

    var mail = "";

    var doc = "";

    var shortFieldName  = "";

    var prianioingreso  = "";

    var secuanioegreso  = "";

    var unianioingreso  = "";

    var unianioegreso   = "";

    var primanioingreso = "";

    var primanioegreso  = "";

    var seganioingreso  = "";

    var seganioegreso   = "";

    var teranioingreso  = "";

    var teranioegreso   = "";

    var campoanio       = "";





    for (i=0;i<which.length;i++) {



        var tempobj = which.elements[i];



        if (tempobj.name == "dia")  dia = tempobj.value;



        if (tempobj.name == "mes")  mes = tempobj.value;



        if (tempobj.name == "req_anio") anio = tempobj.value;



        if (tempobj.name == "email") mail = tempobj.value;



	 if (tempobj.name == "req_documento") doc = tempobj.value;



        if (tempobj.name == "prianioingreso") prianioingreso = tempobj.value;



        if (tempobj.name == "secuanioegreso") secuanioegreso = tempobj.value;



        if (tempobj.name == "unianioingreso") unianioingreso = tempobj.value;



        if (tempobj.name == "unianioegreso") unianioegreso = tempobj.value;



        if (tempobj.name == "primanioingreso") primanioingreso = tempobj.value;



        if (tempobj.name == "primanioegreso") primanioegreso = tempobj.value;



        if (tempobj.name == "seganioingreso") seganioingreso = tempobj.value;



        if (tempobj.name == "seganioegreso") seganioegreso = tempobj.value;



        if (tempobj.name == "teranioingreso") teranioingreso = tempobj.value;



        if (tempobj.name == "teranioegreso") teranioegreso = tempobj.value;


		   
      	 if (tempobj.name.substring(0,3)=="req") {

            if ( (tempobj.value=="") || (tempobj.name=="sexo" && tempobj.value !="F" && tempobj.value !="M" ) ) {

                pass=false;

                break;

            }

        }



        if (prianioingreso != "" && fechaOk2) {

            if (prianioingreso.length !=4 && ( (prianioingreso.substring(0,2) != "19" ) || (prianioingreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (secuanioegreso != "" && fechaOk2)  {

            if (secuanioegreso.length !=4 && ( (secuanioegreso.substring(0,2) != "19" ) || (secuanioegreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (unianioingreso != "" && fechaOk2)  {

            if (unianioingreso.length !=4 && ( (unianioingreso.substring(0,2) != "19" ) || (unianioingreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (unianioegreso != "" && fechaOk2)  {

            if (unianioegreso.length !=4 && ( (unianioegreso.substring(0,2) != "19" ) || (unianioegreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (primanioingreso != "" && fechaOk2)  {

            if (primanioingreso.length !=4 && ( (primanioingreso.substring(0,2) != "19" ) || (primanioingreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (primanioegreso != "" && fechaOk2)  {

            if (primanioegreso.length !=4 && ( (primanioegreso.substring(0,2) != "19" ) || (primanioegreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (seganioingreso != "" && fechaOk2)  {

            if (seganioingreso.length !=4 && ( (seganioingreso.substring(0,2) != "19" ) || (seganioingreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (seganioegreso != "" && fechaOk2)  {

            if (seganioegreso.length !=4 && ( (seganioegreso.substring(0,2) != "19" ) || (seganioegreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (teranioingreso != "" && fechaOk2)  {

            if (teranioingreso.length !=4 && ( (teranioingreso.substring(0,2) != "19" ) || (teranioingreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }



        if (teranioegreso != "" && fechaOk2)  {

            if (teranioegreso.length !=4 && ( (teranioegreso.substring(0,2) != "19" ) || (teranioegreso.substring(0,2) != "20" ) ) ) {

                fechaOk2=false;

                campoanio = tempobj.name.substring(0,30).toUpperCase();

                break;

            }

        }

    }





    if (mail != "" && !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(tempobj.value)) )

        mailOk=false;



    if ( (dia == 31 && ( mes==4 || mes ==6 || mes ==9 || mes ==11)) || (mes == 2  &&  dia >=29 ) )

        fechaOk=false;



    if (anio != "") {

        if (anio.length !=4 && ( (anio.substring(0,2) != "19" ) || (anio.substring(0,2) != "20" ) ) )

            fechaOk=false;

    }





    if (!pass) {

        shortFieldName=tempobj.name.substring(4,30).toUpperCase();

        alert("Por favor ingrese el campo "+shortFieldName+" correctamente.");

        return false;

    }

    else

    {

      	if (!fechaOk) {

    	    alert("Por favor ingrese una fecha de nacimiento correcta.");

           	return false;

      	}

      	else

      	{

	    if (!fechaOk2) {

        	  alert("Por favor ingrese una fecha correcta en " + campoanio);

                return false;

      	    }

      	    else

	    {

		if( !IsNumeric(doc) ) {

		    alert("Por favor ingresar el numero de documento correctamente.");

		    return false;

              }

		else

		    return true;

	    }

      	}

    }

}