<!--

//Recibe un objeto del tipo INPUT TYPE=TEXT o TEXTAREA y le remueve los espacios en blanco
function trim(object) {
	var value = object.value;
	while (value.replace("  ", " ") != value) value = value.replace("  ", " ");
	if (value.length > 0 && value.charAt(0) == " ") value = value.substr(1);
	if (value.length > 0 && value.charAt(value.length - 1) == " ") value = value.substr(0, value.length - 1);
	object.value = value;
}

//Recibe una cadena y verifica si es o no una fecha correcta
function validDate(date) {
	var s = date.split("/");
	if (s.length != 3) return false;
	var month = s[1];
	var day = s[0];
	var year = s[2];
	var d = new Date(year, month-1, day)
	if (year != d.getFullYear() || month-1 != d.getMonth() || day != d.getDate()) {
		return false;
	} else {
		return true;
	};
};

//Recibe una cadena y verifica si es o no un e-mail correcto
function validEmail(email) {
	var re = new RegExp("[a-zA-Z0-9_\\.\\-]+@[a-zA-Z0-9_\\.\\-]+\\.(com|net|gov|org|COM|NET|GOV|ORG)");
	return re.test(email);
}

//Recibe un patrón de expresión regular y una cadena y verifica si la cadena cumple con el patrón
function validRegExp(pattern, str) {
	var regularExpresion = new RegExp(pattern);
	var result = regularExpresion.exec(str);
	if (null == result) return false;
	return (result.length == 1);
}

//Recibe una cadena y verifica si es o no un número de cédula válido
function validIdentityDocument(idDoc) {

	//Valida que la cédula sea de la forma ddddddddd-d
	if (! validRegExp(/\d{9}-\d{1}/, idDoc)) return false;

	//Valida que el # formado por los dos primeros dígitos esté entre 1 y 21
	var firstTwoDigits = parseInt(idDoc.substr(0, 2));
	if (firstTwoDigits < 1 || firstTwoDigits > 21) return false;

	//Valida que el valor total entre los primeros 9 números coincida con el último
	var total = 0;
	for (var i=1; i<=9; i++) {
		var digit = parseInt(idDoc.charAt(i-1));
		if (i % 2 == 0) { //si está en una posición par
			total += digit;
		} else { //si está en una posición impar
			var aux = 2 * digit;
			if (aux > 9) aux -= 9;
			total += aux;
		}
	}
	total = 10 - (total % 10);
	if (total == 10 ) total = 0;
	var lastDigit = parseInt(idDoc.charAt(10));
	return (lastDigit == total);
		
}

//Compara dos fecha y devuelve -1, 0 ó 1 según la la primera sea menor, igual o mayor que la segunda, respectivamente
function compareDates(date1, date2) {
	var s = date1.split("/");
	var d1 = new Date(s[2], s[1] - 1, s[0]);
	s = date2.split("/");
	var d2 = new Date(s[2], s[1] - 1, s[0]);
	if (date1 == date2) {
		return 0;
	} else if (d1 < d2) {
		return -1;
	} else {
		return 1;
	}
}

//-->
