function isblank(s) {
	for(var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
	}
	return true;
}

function validarCampoVacio(c, m, l) {
	m = (m==true) ? true : false;
	
	if ((c.value == null) || (c.value == "") || isblank(c.value)) {
		if (m) {  
			if ((c.alias == null) || (c.alias == "") || (isblank(c.alias))) {
				msg = (l == "i") ? "The field " + c.name + " is empty." : "El campo " + c.name + " esta vacio.";
				alert(msg);
			} else { 
				msg = (l == "i") ? "The field " + c.alias + " is empty." : "El campo " + c.alias + " esta vacio.";
				alert(msg);
			}
		}
		c.focus();
		return false;
	}
	return true;
}

function validarFrm(f, l) {
	var msg;
	var empty_fields = "";
	var errors = "";
	var campo = null;
	for(var i = 0; i < f.length; i++) {
		var e = f.elements[i];        
		
		if (((e.type == "text") || (e.type == "textarea") || (e.type=="password")) && !e.optional) {
			if ((e.value == null) || (e.value == "") || isblank(e.value)) {
				if ((e.alias == null) || (e.alias == "") || (isblank(e.alias))) {
					empty_fields += "\n\t- " + e.name;
				} else empty_fields += "\n\t- " + e.alias;
				if (campo == null) { campo = e; }
				continue;
			}
			if (e.numeric || (e.min != null) || (e.max != null)) {
				var v = parseFloat(e.value);
				if (isNaN(v) || ((e.min != null) && (v < e.min)) || ((e.max != null) && (v > e.max))) {
					if ((e.alias == null) || (e.alias == "") || (isblank(e.alias))) {
						errors += (l == "i") ? "- The field " + e.name + " must be a number" : "- El campo " + e.name + " debe ser un número";
					} else { errors += (l == "i") ? "- The field " + e.alias + " must be a number" : "- El campo " + e.alias + " debe ser un número"; }
					if (e.min != null) { errors += (l == "i") ? " major of " + e.min : " mayor de " + e.min; }
					if (e.max != null && e.min != null) { errors += (l == "i") ? " and minor of " + e.max : " y menor de " + e.max; }
					else if (e.max != null) { errors += (l == "i") ? " that is minor of " + e.max : " que es menor que " + e.max; }
					errors += ".\n";
					if (campo == null) { campo = e; }
				}
			}
		} else {
			if (e.type == "select-one" && !e.optional && e.value == "0") {
				if ((e.alias == null) || (e.alias == "") || (isblank(e.alias))) {
					empty_fields += "\n\t- " + e.name;
				} else empty_fields += "\n\t- " + e.alias;
				if (campo == null) { campo = e; }
				continue;
			}
		}
	}
	if (!empty_fields && !errors) return true;
	msg  = "______________________________________________________\n\n";
	if (l == "i") {
		msg += "The information don't sand.\n";
		msg += "Please review the following information.\n";
	} else {
		msg += "La información no ha sido enviada.\n";
		msg += "Por favor revise la siguiente información.\n";
	}
	msg += "______________________________________________________\n\n";
	if (empty_fields) {
		msg += (l == "i") ? "- The next information requerida is empty" : "- La siguiente información requerida esta vacía:";
		msg += empty_fields + "\n";
		if (errors) msg += "\n";
	}
	msg += errors;
	alert(msg);
	if (campo != null) { 
		campo.focus(); 
		//campo.select();
	}
	return false;
}

function validarEmail(c, l) {
	var str = c.value; 
	if(str.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {
		return true;
	} else {
		msg = (l == "i") ? "e-mail is wrong" : "correo electronico es invalido";
		alert("\"" + str + "\" " + msg + "!");
		c.focus();
		c.select();
		return false;
	}
}

function verificarIgualdad(c1, c2) {
	return (c1.value == c2.value) ? true : false;
}

