        var STR_IP_INVALID_MSG="Direccion IP invalida";
        var STR_IP_INVALID_LENGTH_MSG="Longitud de IP invalida";
        var STR_DOMAIN_INVALID_MSG = "Nombre de Dominio Invalido";
        var STR_REQUIRED_FIELDS = "Por Favor, complete los campos requeridos";

        function camposRequeridos() {
           var args = camposRequeridos.arguments;
           var status;
           for(var i = 1;i<(args.length-1);i++) { 
              status = vacio(args[0],args[i]);
              if (status) {
                break;
              }
           }
           if (status) {
              return false;
           }
           else {
              return true;
           }
        }


        function rowOverEffect(object) {
             if (object.className == 'moduleRow') object.className = 'moduleRowOver';
        }

        function rowOutEffect(object) {
          if (object.className == 'moduleRowOver') object.className = 'moduleRow';
        }

        // 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 Email Address");
            setFocus(form,obj);
            return false;
          }
          else {
            return true;
          }
        }
        
        //funcion ip: valida si el numero de ip ingresado es valido.
        function validIP(form,obj) {
          
          var ip = form.elements[obj].value;
         //  verifico longitud
          if ((ip.length < 7 ) || (ip.length > 19)) {
            alert(STR_IP_INVALID_LENGTH_MSG);
            setFocus(form,obj);
            return false;
           }
          // verifico donde se encuentra el punto
          var posip = ip.indexOf(".");
          var posip2 = ip.indexOf(".",posip + 1 );
          var posip3 = ip.indexOf(".",posip2 + 1 );
          if ((posip == -1) || (posip2 == -1) || (posip3 == -1))  {
            alert(STR_IP_INVALID_MSG);
            setFocus(form,obj);
            return false;
           }
          if ( posip == (posip2 -1) || posip2 == (posip3 -1) || ip.charAt(ip.length-1) == "." || posip == 0 ) {
            alert(STR_IP_INVALID_MSG);
            setFocus(form,obj);
            return false;
          }

           validip = ip.split(".");
           if ( !numeroip(validip[0]) || !numeroip(validip[1]) || !numeroip(validip[2]) || !numeroip(validip[3]) ) {
            alert(STR_IP_INVALID_MSG);
            setFocus(form,obj);
            return false;
          }
        }
        
         //funcion dominio: valida si el dominio ingresado es valido.
        function validDominio(form,obj) {

          var dominio = form.elements[obj].value;
         // verifico donde se encuentra el punto
          var posdominio = dominio.indexOf(".");
          //var posdominio2 = dominio.indexOf(".",posdominio + 1 );
         if ((posdominio == -1))  {
            alert(STR_DOMAIN_INVALID_MSG);
            setFocus(form,obj);
            return false;
           }
          if (dominio.charAt(dominio.length-1) == "." || posdominio == 0 ) {
            alert(STR_DOMAIN_INVALID_MSG);
            setFocus(form,obj);
            return false;
          }

           validDom= dominio.split(".");
           for (i=0;i<validDom.length;i++){
           
             if ( !caracdominio(validDom[i])) {
               alert(STR_DOMAIN_INVALID_MSG);
               setFocus(form,obj);
               return false;
             }
           }
           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(STR_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;
        }

        function numeroip(str_ip) {
          var numeros = "0123456789.";
          var status = true;
          for (var i = 0;i < str_ip.length;i++) {
            caracter = str_ip.charAt(i);
            retorno = numeros.indexOf(caracter);
            if (retorno == -1) {
              status = false;
              break;
            }
            if (!(str_ip <= 1024)) {
              status = false;
              break;
            }
            status = true;
          }
          return status;
        }

        function caracdominio(str_dominio){
         var caracter="0123456789._-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
         var status=true;
         for(var i=0;i<str_dominio.length;i++){
           carac=str_dominio.charAt(i);
           retorno=caracter.indexOf(carac);
           if (retorno == -1){
              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
		}
	}
	
  function chequearTodos(oForm,bAction) {
       for (var x=0;x < oForm.elements.length;x++) {
        if (oForm.elements[x].type == "checkbox") {
         oForm.elements[x].checked = bAction;
        }
      }
       return void(0);
  }
	

	
	
