
//////////////////////////////////////////////////

//

//       FUNCIONES PARA VALIDAR FORMULARIOS

//

//////////////////////////////////////////////////




var defaultEmptyOK = false

var checkNiceness = true;

var digits = "0123456789";

var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñü"

var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ"

var whitespace = " \t\n\r";

var phoneChars = "()-+ ";

var mMessage = "Error: no puede dejar este espacio vacio"

var pPrompt = "Error: ";

var pAlphanumeric = "ingrese un texto que contenga solo letras y/o numeros";

var pAlphabetic   = "ingrese un texto que contenga solo letras";

var pInteger = "ingrese un numero entero";

var pNumber = "ingrese un numero";

var pPhoneNumber = "ingrese un número de teléfono";

var pEmail = "ingrese una dirección de correo electrónico válida";

var pName = "ingrese un texto que contenga solo letras, numeros o espacios";

var pNice = "no puede utilizar comillas aqui";



function makeArray(n) {

   for (var i = 1; i <= n; i++) {

      this[i] = 0

   }

   return this

}



function isEmpty(s)

{   return ((s == null) || (s.length == 0))

}





function isWhitespace (s)

{   var i;

    if (isEmpty(s)) return true;

    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        // si el caracter en que estoy no aparece en whitespace,

        // entonces retornar falso

        if (whitespace.indexOf(c) == -1) return false;

    }

    return true;

}





function stripCharsInBag (s, bag)

{   var i;

    var returnString = "";



    // Buscar por el string, si el caracter no esta en "bag",

    // agregarlo a returnString



    for (i = 0; i < s.length; i++)

    {   var c = s.charAt(i);

        if (bag.indexOf(c) == -1) returnString += c;

    }



    return returnString;

}





function stripCharsNotInBag (s, bag)

{   var i;

    var returnString = "";

    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        if (bag.indexOf(c) != -1) returnString += c;

    }



    return returnString;

}





function stripWhitespace (s)

{   return stripCharsInBag (s, whitespace)

}



function charInString (c, s)

{   for (i = 0; i < s.length; i++)

    {   if (s.charAt(i) == c) return true;

    }

    return false

}



function stripInitialWhitespace (s)

{   var i = 0;

    while ((i < s.length) && charInString (s.charAt(i), whitespace))

       i++;

    return s.substring (i, s.length);

}



function isLetter (c)

{

    return( ( uppercaseLetters.indexOf( c ) != -1 ) ||

            ( lowercaseLetters.indexOf( c ) != -1 ) )

}



function isDigit (c)

{   return ((c >= "0") && (c <= "9"))

}



function isLetterOrDigit (c)

{   return (isLetter(c) || isDigit(c))

}



function isInteger (s)

{   var i;

    if (isEmpty(s))

       if (isInteger.arguments.length == 1) return defaultEmptyOK;

       else return (isInteger.arguments[1] == true);



    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        if( i != 0 ) {

            if (!isDigit(c)) return false;

        } else {

            if (!isDigit(c) && (c != "-") || (c == "+")) return false;

        }

    }

    return true;

}





function isNumber (s)

{   var i;

    var dotAppeared;

    dotAppeared = false;

    if (isEmpty(s))

       if (isNumber.arguments.length == 1) return defaultEmptyOK;

       else return (isNumber.arguments[1] == true);



    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        if( i != 0 ) {

            if ( c == "." ) {

                if( !dotAppeared )

                    dotAppeared = true;

                else

                    return false;

            } else

                if (!isDigit(c)) return false;

        } else {

            if ( c == "." ) {

                if( !dotAppeared )

                    dotAppeared = true;

                else

                    return false;

            } else

                if (!isDigit(c) && (c != "-") || (c == "+")) return false;

        }

    }

    return true;

}



function valida_real(obj){

	var numero=obj.value;

	if (numero!=""){

		if (isNumber(numero)){

			return true;

		}else{

        	alert("El ancho de banda no es valido");

        	obj.focus();

        	obj.select();

		}

	}



}

function isAlphabetic (s)

{   var i;



    if (isEmpty(s))

       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;

       else return (isAlphabetic.arguments[1] == true);

    for (i = 0; i < s.length; i++)

    {

        // Check that current character is letter.

        var c = s.charAt(i);



        if (!isLetter(c))

        return false;

    }

    return true;

}



function isAlphanumeric (s)

{   var i;



    if (isEmpty(s))

       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;

       else return (isAlphanumeric.arguments[1] == true);



    for (i = 0; i < s.length; i++)

    {

        var c = s.charAt(i);

        if (! (isLetter(c) || isDigit(c) ) )

        return false;

    }



    return true;

}





function isName (s)

{

    if (isEmpty(s))

       if (isName.arguments.length == 1) return defaultEmptyOK;

       else return (isAlphanumeric.arguments[1] == true);



    return( isAlphanumeric( stripCharsInBag( s, whitespace ) ) );

}



function isPhoneNumber (s)

{   var modString;

    if (isEmpty(s))

       if (isPhoneNumber.arguments.length == 1) return defaultEmptyOK;

       else return (isPhoneNumber.arguments[1] == true);

    modString = stripCharsInBag( s, phoneChars );

    return (isInteger(modString))

}



function isEmail (s)

{

    if (isEmpty(s))

       if (isEmail.arguments.length == 1) return defaultEmptyOK;

       else return (isEmail.arguments[1] == true);

    if (isWhitespace(s)) return false;

    var i = 1;

    var sLength = s.length;

    while ((i < sLength) && (s.charAt(i) != "@"))

    { i++

    }



    if ((i >= sLength) || (s.charAt(i) != "@")) return false;

    else i += 2;



    while ((i < sLength) && (s.charAt(i) != "."))

    { i++

    }



    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;

    else return true;

}



function valida_correo(obj){

   var correo = obj.value;
   if (correo != ""){

     if (!isEmail(correo)){

        alert("Correo electrónico no valido");

       // obj.focus();

        //obj.select();
        return false;
      }

   }
return true;
}





////////////////////////////////////////////////////////

//

//     Funciones Varias

//

////////////////////////////////////////////////////////



function usuariovalido(forma)

{

	var i=0;

	var cadena=forma.usuario.value;

	i=cadena.indexOf(' ');

	if (i!=-1)

	{

		alert('El usuario ingresado no es valido');

		return false



	}

return true;

}



   function campos_validos(forma){
        if (valida_correo(forma.correo)){
           return true;
           }else{
                 return false;
       }
   }


function trim(str) {
  while (str.charAt(str.length - 1)==" ")
    str = str.substring(0, str.length - 1);
  while (str.charAt(0)==" ")
    str = str.substring(1, str.length);
  return str;
}
   function campos_obligatorios(forma){

      var msgerr="";

      var txt="";

      var f=0;	
      forma.nombre.value=trim(forma.nombre.value);
      forma.paterno.value=trim(forma.paterno.value);
      forma.materno.value=trim(forma.materno.value);
      forma.correo.value=trim(forma.correo.value);
      forma.recorreo.value=trim(forma.recorreo.value);

 	if (forma.nombre.value == ""){
                alert("Debe ingresar su nombre");
                f=1;
        }
        if (forma.paterno.value == ""){
		alert("Debe ingresar su apellido paterno");
		f=1;
	}

 	if (forma.materno.value == ""){
                alert("Debe ingresar su apellido materno");
                f=1;
        }

        if (forma.correo.value == ""){
                alert("Debe ingresar su correo");
                f=1;
        }
        if (forma.recorreo.value == ""){
		alert("Debe ingresar su confirmacion de correo");
		f=1;
	}
        if (forma.correo.value!=forma.recorreo.value){
                alert("El correo y su confirmacion deben ser iguales");
                f=1;
        }

	if (f==1){
		return false;
	}

return true;

	

}



function valida_login(forma){
         //forma.encript.value = calcMD5(forma.clave.value);
         forma.encript.value = forma.clave.value;
         forma.clave.value="";
       	 forma.submit();
   }



function valida_ingreso(forma){

         if (campos_obligatorios(forma) && campos_validos(forma)){
       	    forma.guardar.value="ok"

       	    forma.submit();

        }

   }

