function fnVError (element, message) {
	alert (message);
	if (element.className.substr (0, 5) != 'error') element.className = 'error ' + element.className;
	element.focus();
	return false;
}

function fnVCorrect (element) {
	if (element.className.substr (0, 5) == 'error') element.className = element.className.substr (6);
}

function fnVIsA (el, tip) {
	value = el.value;
	if (tip == 'PTInt' || tip == 'PTNat') return parseInt (value) + '' == value;
	if (tip == 'PTDecimal' || tip == 'PTReal') {
		var val2 = parseFloat (value) + '';
		var idx = value.indexOf (val2);
		if (idx !== 0) return false;
		idx = val2.length;
		while (idx < val.length) {
			if (val.charAt (idx) != 0) return false;
		}
		return true;
	}
	//if 
	return true;
}

function fnEnter (e, action, validation) {
	if (e.keyCode == 13) fnAction (action, validation);
}

function fnkpNumbers (e) {
//	dump (e);
	return e.keyCode == 8 || (e.charCode > 47 && e.charCode < 58);
//	return e.keyCode == 8 || (e.keyCode > 47 && e.keyCode < 58);
}

function fnkpPhone (e) {
//	dump (e);
	return e.charCode == 32 || e.keyCode == 8 || 
		(e.charCode > 39 && e.charCode < 46) || (e.charCode > 47 && e.charCode < 58);
//	return e.keyCode == 32 || e.keyCode == 8 || 
//		(e.keyCode > 39 && e.keyCode < 46) || (e.keyCode > 47 && e.keyCode < 58);
}

function fnvTypeEMail (el) {
	return true;
}

function fnvTypePhone (el) {
	return true;
}

function fnvTypeNumeric (el, canBeNegative, decimalPoint) {
	return true;
}