	function myOnFocus(e) {
		e.target.className = e.target.className + ' selected';
	}

	function myOnBlur(e) {
		e.target.className = e.target.className.replace('selected', '');
		e.target.className = e.target.className.replace(/\ selected$/, '');
	}

	function myOnKeyDown(e) {

		//if (e.target.oldValue==null) e.target.oldValue = e.target.value;


		result = true;

		if (e.target.className.match(/(?:^| )posInteger(?:$| )/) != null) {
			if (
				(e.which == 8)  || 							// Backspace
				(e.which == 46) || 							// Delete
				(e.which == 9)  || 							// enter
				(e.which == 13) || 							// tab
				(37 <= e.which && e.which <= 40 ) || 		// Cursor arrows
				(48 <= e.which && e.which <= 57 ) ||		// 0-9
				(96 <= e.which && e.which <= 105) ||		// 0-9 - NUM PAD
				(e.ctrlKey)									// Ctrl
			) {
				//result = true;
			} else {
				result = false;
			}
		}


		if (e.target.className.match(/(?:^| )noEnter(?:$| )/) != null) {
			if (
				(e.which == 9)   							// enter
			) {
				result = false;
			} else {
			}
		}


		return result;
	}



	function addMyEventsHandler() {
		for (var i=0; i< document.forms.length; i++) {

			if (document.forms[i].className == 'eventHandlers') {

				for (var j=0; j<document.forms[i].elements.length; j++) {

					switch(document.forms[i].elements[j].tagName) {

						case 'INPUT' :
							if (document.forms[i].elements[j].className.match(/text/)) {
								document.forms[i].elements[j].onkeydown	= myOnKeyDown;
								document.forms[i].elements[j].onfocus	= myOnFocus;
								document.forms[i].elements[j].onblur	= myOnBlur;
							}
						break;
						case 'SELECT' :
							document.forms[i].elements[j].onkeydown	= myOnKeyDown;
							document.forms[i].elements[j].onfocus	= myOnFocus;
							document.forms[i].elements[j].onblur	= myOnBlur;
						break;
						default:
							//alert(document.forms[i].elements[j].tagName);
						break;

					}
				}

			}
		}
	}





	function isNumber(value) {
		if (value * 1 == value)	{
			return true;
		}
		return false;
	}

	function isInteger(value) {
		if (!isNumber(value)) {
			return false;
		}

		if (Math.floor(value) == value) {
			return true;
		} else {
			return false;
		}
	}

	function isRegexp(string, regexp) {
		if (string.match(regexp) == null) {
			return false;
		}
		return true;
	}

	function showProps(obj, objName) { if (typeof(objName) == "undefined") objName = "object"; var result = ""; for (var i in obj) { result += objName + "." + i + " = "; try { result += obj[i]; } catch (e) { result += e; } result += "\n"; } var w = window.open("", "w", "width=560,height=450,resizable=yes,scrollbars=yes"); w.document.write("<pre>" + result + "</pre>"); w.document.close(); }

