// Realiza validaciones sobre la página "supportform.htm"
function Form_Validation(formulario)
{
	//Valido Nombre y Apellido
	var er_nombre = /^(\S){1}(.){7,}$/;
	if(!er_nombre.test(formulario._Nombre.value))
	{
		alert("Debe ingresar Nombre y Apellido (8 caracteres como mínimo).");
		formulario._Nombre.focus();
		return false;
	};

	//Valido la Aplicación Seleccionada
	if(formulario._Seleccione.value == "")
	{
		alert("Debe seleccionar una aplicación de acuerdo a su licencia: 'Evaluación' o 'Anual'.");
		formulario._Seleccione.focus();
		return false;
	};
	
	if(!(formulario._Seleccione.value == "Outpost Security - Evaluación") && 
	   !(formulario._Seleccione.value == "Outpost Firewall Pro - Evaluación") && 
	   !(formulario._Seleccione.value == "Network Security - Evaluación") &&
	   !(formulario._Seleccione.value == "Outpost FREE"))
	{
		//Valido la Clave de Registro - Comienza con OPREG?
		var er_registro = /^(OPREG){1}(\S){5,}$/;
		if(!er_registro.test(formulario._Registro.value))
		{
			alert("La clave de registro debe comenzar por 'OPREG' (10 caracteres como mínimo).");
			formulario._Registro.focus();
			return false;
		};
	};
	
	//Valido el Correo Electrónico
	var er_correo = /^(.+\@.+(\..+)+)$/;
	if(!er_correo.test(formulario._EMail.value))
	{ 
		alert("El correo electrónico no es válido.");
		formulario._EMail.focus();
		return false;
	};

	//Valido la Versión del Producto - Tiene solo números y puntos?
	var er_version = /^[0-9]{1}(([0-9]|\.){7,})$/;	//Comienza con un digito y luego siguen 0 o más dígitos o puntos.
	if(!er_version.test(formulario._Version.value))
	{ 
		alert("La versión del producto no es válida (8 caracteres como mínimo).");
		formulario._Version.focus();
		return false;
	};
	
	//Valido el Asunto
	var er_asunto = /^(\S){1}(.)*$/;
	if(!er_asunto.test(formulario._Asunto.value))
	{
		alert("Debe escribir una breve descripción del problema.");
		formulario._Asunto.focus();
		return false;
	};

	//Valido la Información del Sistema
	var er_sistema = /^(\S){1}([\s|\S]){14,}/;
	if(!er_sistema.test(formulario._Sistema.value))
	{
		alert("Debe introducir la información de su sistema (15 caracteres como mínimo).");
		formulario._Sistema.focus();
		return false;
	};
	
	//Valido la Descripción de los problemas
	var er_problemas = /^(\S){1}([\s|\S]){14,}/;
	if(!er_problemas.test(formulario._Problemas.value))
	{
		alert("Debe introducir una descripción detallada de las dificultades (15 caracteres como mínimo).");
		formulario._Problemas.focus();
		return false;
	};
	
	return true;
}

function actClaveReg()
{
	if((document.FrontPage_Form1._Seleccione.value == "Outpost Security - Evaluación") ||
	   (document.FrontPage_Form1._Seleccione.value == "Outpost Firewall Pro - Evaluación") ||
	   (document.FrontPage_Form1._Seleccione.value == "Network Security - Evaluación") ||
	   (document.FrontPage_Form1._Seleccione.value == "Outpost FREE"))
		document.FrontPage_Form1._Registro.value = "EVALUACION"
	else
		document.FrontPage_Form1._Registro.value = "OPREG";
}

function validarCaracter()
{
	//Valido el último caracter escrito en Nombre y Apellido
	//Debe ser sólo mayúsculas y sin acento.
	var er_nombre = /^([A-Z]|\s)([A-Z]|\s)*$/;
	//Determino si el navegador es Netscape o I.E.
	NS4 = (document.layers);
	//Obtengo el código ASCII de la última tecla presionada
    var whichASC = (NS4) ? e.which : event.keyCode;
	//Obtengo el caracter correspondiente al código ASCII obtenido anteriormente
    var whichKey = String.fromCharCode(whichASC);
	//Si el último caracter ingresado no cumple la RE
	if(!er_nombre.test(whichKey))
	{
		alert('El campo "Nombre y Apellido" sólo acepta mayúsculas y sin acento.');
		document.FrontPage_Form1._Nombre.focus();
		return false;
	};
	return true;
}
