// val.js - Common form validation routines (Netscape)

var whitespace = " \t\n\r";

// for Javascript 1.0
function makeArray(n) {
for (var i = 1; i <= n; i++) {
	this[i] = 0
} 
return this
}

function isEmpty(s) {
	return ((s == null) || (s.length == 0))
}

function isWhitespace(s) {
var i;
if (isEmpty(s)) return true;
for (i = 0; i < s.length; i++)
{   
	var c = s.charAt(i);
	if (whitespace.indexOf(c) == -1) return false;
}
return true;
}

function isDigit(c) {
	return ((c >= "0") && (c <= "9"))
}

function isInteger(s) {
if (isWhitespace(s)) return false;
var i;

for (i = 0; i < s.length; i++)
{   
	if (!isDigit(s.charAt(i))) return false;
}
return true;
}

function isIntegerInRange (s, a, b) {
if (!isInteger(s, false)) return false;
var num = parseInt (s);
return ((num >= a) && (num <= b));
}

// isEmail(s) - Email address must be of form a@b.c
function isEmail(s) {
if (isWhitespace(s)) return false;
// following characters are not allowed
if (s.indexOf(",") != -1) return false;
if (s.indexOf(";") != -1) return false;
if (s.indexOf("'") != -1) return false;
if (s.indexOf("`") != -1) return false;
if (s.indexOf("|") != -1) return false;
if (s.indexOf(" ") != -1) return false;
var i = 1;
var sLength = s.length;
// look for @
while ((i < sLength) && (s.charAt(i) != "@")) { i++ }
if ((i >= sLength) || (s.charAt(i) != "@")) return false;
	else i += 2;
// look for .
while ((i < sLength) && (s.charAt(i) != ".")) { i++ }
// at least one character after the .
if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
	else return true;

}

function checkString(f, s) {
if (isWhitespace(f.value)) {
	f.focus()
	alert("Debe entrar un valor en " + s)
	return false
} else return true;
}

function checkEmail(f) {
if (!isEmail(f.value)) {
	f.focus()
	alert("El email \'" + f.value + "\' no es válido")
	return false
} else return true;
}