      String.prototype.trim = function () {
 	   return this.replace(/^\s*/, "").replace(/\s*$/, "");
 	  }
 	  
 	  function vaciarHelp(helpText){
          if (helpText != null)
            helpText.innerHTML = ""; 	  	
 	  }
 	  
      function validarRegEx(regex, input, helpText, helpMessage) {
        // Mirar si los datos de entrada se validan bien
        if (!regex.test(input)) {
          // Los datos estan mal, asi que poner el mensaje de ayuda y retornar falso
          if (helpText != null)
            helpText.innerHTML = helpMessage;
          return false;
        }
        else {
          // Los datos estan OK, asi que limpiar el mensaje de ayuda y retornar cierto
          if (helpText != null)
            helpText.innerHTML = "";
          return true;
        }
      }

      function validarNoVacio(inputField, helpText) {
        // Mirar si el valor de input contiene algun valor
        return validarRegEx(/.+/,inputField.value, helpText, "Por favor inserte un valor.");
      }
      
      function validarLongitud(minLength, maxLength, inputField, helpText) {
       // Mirar que la entrada tenga por lomenos minLength y no mas de maxLength
        return validarRegEx(new RegExp("^.{" + minLength + "," + maxLength + "}$"),
          inputField.value, helpText,"Por favor inserte un valor de " + minLength + " a " + maxLength +" caracteres de longitud.");
      }
      
      function validarEmail(inputField, helpText) {
        // Primero mirar que haya datos
        if (!validarNoVacio(inputField, helpText))
          return false;

        // Luego mirar que la entrada sea un email
        return validarRegEx(/^\s*[\w\.\-_\+]+@[\w-\.]+(\.\w{2,3})+\s*$/,
          inputField.value, helpText,
          "Por favor inserte una dirección de email (por ejemplo, carlos@empresa.com).");
      }
      
      function validarCP(inputField, obligatorio, helpText){
      	inputField.value=inputField.value.trim();
      	if (obligatorio){
      		if (!validarNoVacio(inputField, helpText)){
      			return false;
      		}
      	} else {
      		if (inputField.value==""){
				vaciarHelp(helpText);
      			return true;
      		}
      	}
      	return validarRegEx(/^\d{5}$/,inputField.value, helpText, "Por favor inserte un valor numérico de 5 caracteres");
      }
      
      function validarCPInternacional(inputField, obligatorio, helpText){
      	inputField.value=inputField.value.trim();
      	if (obligatorio){
      		if (!validarNoVacio(inputField, helpText)){
      			return false;
      		}
      	} else {
      		if (inputField.value==""){
				vaciarHelp(helpText);
      			return true;
      		}
      	}
      	return validarRegEx(/^.{0,8}$/,inputField.value, helpText, "Por favor inserte un valor de hasta 8 caracteres");
      }
      
      