        var bFormSent = false;
        
        function formEnviado() {
          var bCurrentStatus = !bFormSent;
          if (!bFormSent) {
            bFormSent = true;
          }
          return bCurrentStatus;
        }

        function camposRequeridos() {
           var args = camposRequeridos.arguments;
           var status;
           for(var i = 1;i<args.length;i++) { 
              status = vacio(args[0],args[i]);
              if (status) {
                setFocus(args[0],args[i]);
                alert("Fill all the Requiered Fields");
                break;
              }
           }
           return !status;
        }
        
        function camposOptativos() {
           var args = camposOptativos.arguments;
           var status;
           for(var i = 1;i<args.length;i++) {
              status = vacio(args[0],args[i]);
              if (!status) {
                break;
              }
           }
           if (status) {
              setFocus(args[0],args[1]);
              alert("At least you must fill one field");
           }
           return !status;
        }

        // funcion setfocus: pasa el foco al objeto seleccionado. Parametros
        // el nombre del objeto
        function setFocus(form,obj) {
          form.elements[obj].focus();
          return true;
        }

        // funcion email: valida si el e-mail ingresado es valido. El parametro
        // es el nombre del objeto 
        function validEmail(form,obj) {
          var email = form.elements[obj].value;
          var posarroba = email.indexOf("@");
          if (posarroba == -1) {
            posarroba = 0;
          }
          var pospunto = email.indexOf(".",posarroba);
          if ((posarroba == 0 || posarroba > pospunto) && email.length != 0) {
            alert("Invalid E-Mail Address");
            setFocus(form,obj);
            return false;
          }
          else {
            return true;
          }
        }

        // funcion fecha: Evalua si el contenido del control es una fecha valida
        // Formato dd/mm/aaaa (Nota, no evalua correlatividad dias mes ej 30/02/1868)
        // Parametros el nombre del objeto
        function fecha(form,obj) {
          var fecha = form.elements[obj].value;
          var largo = fecha.length;
          var status;
           
          if (largo == 10) {
            var day = fecha.substr(0,2);
            var month = fecha.substr(3,2);
            var year = fecha.substr(6,4);
            var sep1 = fecha.substr(2,1);
            var sep2 = fecha.substr(5,1);
            if (day < 0 || day > 31) {
              status = false;
            }
            else {
              if (month < 0 || month > 12) {
                status = false;
              }
              else {
                if (sep1 != "/" && sep2 != "/") {
                  status = false;
                }
                else {
                  status = true;
                }
              }
            }
          }
          else {
            status = false;
          }
          if (status == false && largo != 0) {
            alert("La Fecha no es valida: El Formato es dd/mm/aaaa");
            setFocus(form,obj);
            return false;
          }
          else {
            return true;
          }
        }

        // funcion vacio: Funcion que se utiliza para evitar que una caja de
        // texto sea dejada vacia. Su parametro es el nombre del objeto
        function vacio(form,obj) {
          var valor = form.elements[obj].value;
          var largo = valor.length;
          if (largo == 0) {
            //alert("Please complete all required fields");
            //setFocus(form,obj);
            return true;
          }
          else {
            return false;
          }
        }

        // funcion numero: funcion que valida el ingreso de solo numeros
        // en una caja de texto. El parametro es el nombre del objeto
        function numero(form,obj) {
          var valor = form.elements[obj].value;
          var largo = valor.length;
          var numeros = "0123456789";
          var status = true;
          for (var i = 0;i < largo;i++) {
            caracter = valor.charAt(i);
            retorno = numeros.indexOf(caracter);
            if (retorno == -1) {
              alert("El control solo puede contener Numeros");
              setFocus(form,obj);
              status = false;
              break;
            }
            else {
              status = true;
            }
          }
          return status;
        }

        // funcion alfanum permite solo letras o numeros en el control
        function alfanum(form,obj) {
          var valor = form.elements[obj].value;
          var largo = valor.length;
          var caracteres = "0123456789abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
          var status = true;
          for (var i = 0;i < largo;i++) {
            caracter = valor.charAt(i);
            retorno = caracteres.indexOf(caracter);
            if (retorno == -1) {
              alert("El control solo puede contener Letras o Numeros");
              setFocus(form,obj);
              status = false;
              break;
            }
            else {
              status = true;
            }
          }
          return status;
        }

        // funcion menorA funcion que se utiliza para que una caja de texto o un
        // textarea solo puedan contener valores menores a los especificados
        // los parametros son nombre del objeto y cantidad maxima
        function menorA(obj,max) {
          var valor = document.forms[0].elements[obj].value;
          var largo = valor.length;
          var lar_max = max;  
          if (largo > lar_max) {
            alert("El contenido no puede superar los " + lar_max + " caracteres");
            alert("El largo " + largo);
            document.forms[0].elements[obj].focus();
            return false;
          }
          else {
            return true;
          }
        }

	function compararValores(oForm,strElement1,strElement2) {
		if (oForm.elements[strElement1].value == oForm.elements[strElement2].value) {
			return true;
		}
		else {
			alert("Both values must be equals");
			setFocus(oForm,strElement2);
			return false
		}
	}
