function isDate(year, month, day) {
	var valid = false;
	
	year = parseInt(year, 10);
	month = parseInt(month, 10);
	day = parseInt(day, 10);
	
	if (year > 0 && month > 0 && day > 0) {
		if (year <= 9999 && month <= 12) {
			var daysInMonth = [
				0,
				31,
				(((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28),
				31,
				30,
				31,
				30,
				31,
				31,
				30,
				31,
				30,
				31
			];
			
			if (day <= daysInMonth[month])
				valid = true;
		}
	}
	
	return valid;
}

/*
 *	Validate a date in the format dd/MM/yyyy.
 */
function validDate(date) {
	var dateArr = date.split("/");
	if (dateArr.length < 3 || dateArr.length > 3)
		return false;
		
	return isDate(dateArr[2], dateArr[1], dateArr[0]);
}

function isEmail(email) {
	var re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	
	if (!re.test(email))
		return false;
		
	return true;
}

function isNumber(inputVal) {
	oneDecimal = false;
	inputStr = inputVal.toString();
	
	if (inputStr == "")
		return false;
	
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i);
		
		if (oneChar == "." && !oneDecimal) {
			oneDecimal = true;
			continue;
		}
		
		if (oneChar < "0" || oneChar > "9")
			return false;
	}
	
	return true;
}

function roundMoney(number) {
	return Math.round(number * 100) / 100;
}