function checkField (theString, theType, theFieldName) {
	var resultState = true;

	switch (theType) {
		case 'string':
			var regExp = new RegExp("([a-zA-Z\ ]{3,})");
			break;
		case 'number':
			var regExp = new RegExp("^[0-9]{1,}$");
			break;
		case 'phone':
			var regExp = new RegExp("^[0-9]{5,}$");
			break;
		case 'time':
			var regExp = new RegExp("^([0-9]{1,2}):([0-9]{1,2})$");
			break;			
		case 'date':
			var regExp = new RegExp("^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$");
			break;
		case 'email':
			var regExp = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$");
			break;
		case 'zip':
			var regExp = new RegExp("^[0-9]{5}$");
			break;
		case 'address':
			var regExp = new RegExp("([a-zA-Z0-9\ ]{3,})");
			break;
		case 'prov':
			var regExp = new RegExp("([a-zA-Z0-9\ ]{2,})");
			break;
	}

	resultState = regExp.test(theString);

	if (theType == 'date' && resultState) {
		date = theString.split("/")
		day = (date[0]>=1) && (date[0]<=31);
		month   = (date[1]>=1) && (date[1]<=12);
		year   = (date[2]>=1900) && (date[2]<=2100);

		if (!day || !month || !year) {	
			resultState = false
		}
	}

	if (!resultState) alert(printf(GlizyLocale.NOVALIDFIELD, [theFieldName]));
	return resultState;
}

// code from: http://markos.gaivo.net/blog/?p=63
function printf(S, L) {
 var nS = "";
 var tS = S.split("%s");
 if (tS.length != L.length+1) throw "Input error";
  
 for(var i=0; i<L.length; i++)
 nS += tS[i] + L[i];
 return nS + tS[tS.length-1];
}


