function alltrim (word) {
	var i = 0;
	var total;

	total = word.length

	while (word.substring(i, i + 1) == ' ' && i < total) {
			i++;
	}

	while (word.substring(total, total - 1) == ' ' && total > i) {
			total--;
	}

	if (i < total) 
		word = word.substring(i, total - i)
	else
		word = '';

	return word;
}

function isemail (word) {
	var r = /\w{1,}(\.)?(_)?(-)?\w{1,}@\w{1,}(\.)?(_)?(-)?\w{1,}\.\w{2,}/;

	return r.test(word);
}

function isipaddress (word) {
	var r = /\d{2,}\.\d{1,}\.\d{1,}\.\d{1,}/;

	return r.test(word);
}

function isphone(word) {
	var r = /(\(\d{3}\))?\d{3}(-)?\d{4}/;

	return r.test(word);
}

function iszipcode(word) {
	var r = /\d{5}(-\d{4})?/;

	return r.test(word) ;
}

function isnumeric(word) {
	var total = word.length;

	if (total == 0) {
		return false;
	}
	else {
		var charset = '0123456789.';

		for (var i=0; i<total; i++) {
			if (charset.indexOf(word.substring(i, i + 1)) == -1) {
				return false;
			}
		}
	}

	return true;
}

function isdate(word) {
	var r = /\d{2}-\d{2}-\d{4}/;
	var c = r.test(word);

	if (c == false) {
		r = /\d{2}\/\d{2}\/\d{4}/;
		c = r.test(word);
	}

	if (c == true) {
		var year=parseInt(parseFloat(word.substring(6,10)));
		var month=parseInt(parseFloat(word.substring(3,5)));
		var day=parseInt(parseFloat(word.substring(0,2)));

		if (day < 1 || month < 1 || month > 12 || year < 1) { return false }

		if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && (day > 31)) { return false }

		if ((month == 4 || month == 6 || month == 9|| month == 11) && (day > 30)) { return false }

		if (month == 2) {
			if ((! isleapyear(year)) && (day > 28)) { return false }
		}

	} else { return false }

	return true
}

function isleapyear(year) {
	if (year % 100 == 0) {
		if (year % 400 == 0) { return true }
	} else {
		if ((year % 4) == 0) { return true }
	}

	return false;
}

function comparedate(from, to) {
	if (Date.parse(from.value) <= Date.parse(to.value)) {
		return true
	}
}