// JavaScript Document
// Esta función retorna TRUE si un String 
// contiene sólo espacios o vacío.
function EstaVacio(contenedor)
{
    for(var puntero = 0; puntero < contenedor.length; puntero++) {
        var caracter = contenedor.charAt(puntero);
        if ((caracter != ' ') && (caracter != '\n') && (caracter != '\t')) return false;
    }
    return true;
}
// 
// Esta es la función que realiza la verificación.
// Se la invoca desde el manejador de evento onSubmit().
// El manejador debe retornar cualquier valor que esta
// función retorne.
//
function Verificar(unFormulario)
{
    var mensajeDeError;
    var campos_vacios = "";
    var errores = "";
    // Recorre la colección de elementos del form que recibe como parámetro,
    // chequeando todos los objetos text y textarea que NO tienen la propiedad "opcional"
    // definida. 
    // Entonces, chquea los campos que están vaciós y hace una lista de ellos.
    // También, si alguno de esos elementos tiene una propiedad MIN o MAX definida,
    // realiza la verificación de que contengan caracteres numéricos y que estén
    // dentro del rango correcto.
    // Emite un mensaje de error si hay campos que no cumplen los requisitos.
    //
    for(var puntero = 0; puntero < unFormulario.length; puntero++) {
        var objeto = unFormulario.elements[puntero];
        if (((objeto.type == "text") || (objeto.type == "textarea")) && !objeto.opcional && !objeto.disabled)
		{
            // primero chequea que si el campo está vacío
            if ((objeto.value == null) || (objeto.value == "") || EstaVacio(objeto.value)) 
			{
                campos_vacios += "\n\t\t" + objeto.name;
                continue;
            }
            // Ahora se chequean aquellos campos que se supone deben ser numéricos.
            if (objeto.numeric || (objeto.min != null) || (objeto.max != null)) { 
                var valorDelContenido = parseFloat(objeto.value);
                if (isNaN(valorDelContenido) || 
                    ((objeto.min != null) && (valorDelContenido <= objeto.min)) || 
                    ((objeto.max != null) && (valorDelContenido >= objeto.max))) 
				{
                    errores += "- El campo " + objeto.name + " DEBE contener un número,\n";
                    if (objeto.min != null) 
                        errores += " que sea mayor que " + objeto.min;
                    if (objeto.max != null && objeto.min != null) 
                        errores += " y menor que " + objeto.max;
                    else if (objeto.max != null)
                        errores += " y menor que " + objeto.max;
                    errores += ".\n";
                }
            }
        }
    }
    // Finalmente, si hay errores se muestran los mensajes y se retorna FALSE para
    // prevenir que los datos del formulario sean enviados.
    // Si no hay errores, se retorna TRUE.
	
    if (!campos_vacios && !errores)
	{
		//alert("Agradecemos su interés en nuestro producto. En las próximas 2 horas nos pondremos en contacto con Ud. a fin de ultimar los detalles de la entrega del mismo.");
		return true;
	}
    mensajeDeError  = "______________________________________________________________\n\n"
    mensajeDeError += "Los datos no han sido enviados debido a los siguiente(s) error(es):\n";
    mensajeDeError += "            Por favor, corrija el error y reenvíe.\n";
    mensajeDeError += "______________________________________________________________\n\n"
    if (campos_vacios) {
        mensajeDeError += "- Se halló que el/los siguiente(s) campo(s) requerido(s) está(n) vacío(s):" 
                + campos_vacios + "\n";
        if (errores) mensajeDeError += "\n";
    }
    mensajeDeError += errores;
    alert(mensajeDeError);
    return false;
}

//esta escribe la fecha de hoy
function fechaActual()
    {
        var d = new Date();  // today's date and time.
        document.write(d.toLocaleString());
    }

//esta emite un mensaje segun los parametros
function Mensaje(titulo, numerr, descripcion)
    {
        var msg;
		
		if (numerr == 0)
		{
			msg = "EXITO en ejecución de " + titulo + "\n";
		}
		else
		{
			msg = "ERROR reportado por " + titulo + "\n";
			msg += "______________________________________________________________\n\n"
			msg += "Descripción:\n\n";
			msg += descripcion + "\n";
			msg += "______________________________________________________________\n"
		}
		alert(msg);
    }


//cierre de sesion
function cerrar()
	{
		window.parent.leftFrame.location.href="../menu/menu.asp";
	}
