


	function CForm()
	{
		this.NS = (document.layers) ? 1 : 0;
		this.IE = (document.all)    ? 1 : 0;
	}



	CForm.prototype.isMail = function(vs_mail)
	{
		var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
		return (re.test(vs_mail));
	}



	CForm.prototype.isDate = function(vs_date)
	{
		var re = /^(3[01]|0[1-9]|[12]\d)\/(0[1-9]|1[012])\/\d{4}/;
		return (re.test(vs_date))
	}



	CForm.prototype.isNumber = function(vs_value)
	{
		var re = /^[0-9]+$/;
		return (re.test(vs_value));
	}



	CForm.prototype.trimField = function(vu_field)
	{
		vu_field.value = vu_field.value.trim();
	}



	CForm.prototype.onKeyDownNumber = function(e)
	{
		if (this.IE) var li_code = window.event.keyCode;
		else		 var li_code = e.which;
		return (li_code == 9 || li_code == 8 || li_code == 46 || (li_code >= 37 && li_code <= 40) || (li_code >= 96 && li_code <= 105) || (li_code >= 48 && li_code <= 57));
	}



	CForm.prototype.onlyNumbers = function(vu_field, vb_dot)
	{
		var ls_value = '';
		var lb_change = false;
		for (var i=0, n = vu_field.value.length; i < n; i++)
		{
			var ls_char = vu_field.value.substr(i, 1);
			if (ls_char == '.' && vb_dot) ls_value += ls_char;
			else if (this.isNumber(ls_char)) ls_value += ls_char;			
			else lb_change = true;
		}
		if (lb_change) vu_field.value = ls_value;
	}
	


	CForm.prototype.formatDottedCurrency = function(vs_value)
	{
		vs_value = vs_value.replace(/\./g, '');
		for (var i = 0, n = vs_value.length, ls_value = ''; i < n; i++) ls_value = vs_value.substr(n - i - 1, 1) + ((((i % 3) == 0) && (i != 0))? '.' : '') + ls_value;
		return(ls_value);
	}



	CForm.prototype.hasExtension = function(vs_value, va_extensions)
	{
		for (var i = 0, n = va_extensions.length; i < n; i++)
		{
			var re = /\.jpg$/i;
			if (re.test(vs_value)) return(true);
		}
		return(false);
	}



	CForm.prototype.msgError = function(vu_field, vs_message)
	{
		alert(vs_message);
		vu_field.focus();
		return false;
	}



	var Form = new CForm();
