var j = xcls.extend({
	moneyMask : function(e) { var obj = (core.browser=="ie") ? window.event.srcElement : e.target; var kc = (core.browser=="ie") ? window.event.keyCode : e.which; if ( (kc==188) && (obj.value.indexOf(',') != -1) ) { return false; }; if ((kc==188) && (obj.value=='')) { return false; }; if (((kc>=48) && (kc<=57)) || ((kc>=95) && (kc<=106)) || (kc==8) || (kc==9) || (kc==13) || ((kc>=35) && (kc<=40)) || (kc==46) || (kc==188)) { obj.focus(); return true; } else { obj.focus(); return false; }; },
	formatFloat: function(e) { var obj = (core.browser=="ie") ? window.event.srcElement : e.target; var kc = (core.browser=="ie") ? window.event.keyCode : e.which; if ( (kc==37) || (kc==38) || (kc==39) || (kc==40) ) { return false; }; var _b = obj.value.length; var _a = mask.gtap(obj); obj.value = mask.commaSplit(obj); _a = _a + (obj.value.length - _b); mask.stap(obj,_a); },
	commaSplit: function(obj) { var _a = ''+ mask.filterNum(obj.value); if (_a=="") { obj.select(); obj.focus(); return ""; } else { var _c = new RegExp('([0-9])([0-9][0-9][0-9][.,])'); var _b = _a.split(','); _b[0] += ','; do { _b[0] = _b[0].replace(_c, '$1.$2'); } while (_c.test(_b[0])); if (_b.length > 1) { return _b.join(''); } else { return _b[0].split(',')[0]; }; }; },
	filterNum: function(str) { re = /^\$|\./g; return str.replace(re, ""); },
	integerMask : function(e) { var obj = (core.browser=="ie") ? window.event.srcElement : e.target; var kc = (core.browser=="ie") ? window.event.keyCode : e.which; if (((kc > 46) && (kc<58)) || ((kc > 95) && (kc<106)) || (kc==9) || (kc==37) || (kc==39) || (kc==39) || (kc==35) || (kc==36) || (kc==8) || (kc==13) || (kc==46)) { return true; }; return false; },
	dateMask : function(e) { var obj = (core.browser=="ie") ? window.event.srcElement : e.target; var kc = (core.browser=="ie") ? window.event.keyCode : e.which; var _a = obj.value; if (_a == "") { _a = "__.__.____"; }; var _b = mask.gtap(obj); if (((kc > 46) && (kc<58)) || ((kc > 95) && (kc<106))) { if (_b==10) return false; if ((_b == 2) || (_b==5)) _b++; if (kc > 60) kc = kc-48; obj.value = _a.substring(0, _b) + String.fromCharCode(kc) + _a.substring(_b+1, _a.length); mask.stap(obj,_b+1); } else if (kc == 8) { if (_b==0) return false; if ((_b == 3) || (_b==6)) _b--; obj.value = _a.substring(0,_b-1) + "_" + _a.substring(_b, _a.length); mask.stap(obj,_b-1); } else if ((kc==9) || (kc==37) || (kc==39) || (kc==39) || (kc==35) || (kc==36)) { return true; }; return false; },
	timeMask : function (e) { var obj = (core.browser=="ie") ? window.event.srcElement : e.target; var kc = (core.browser=="ie") ? window.event.keyCode : e.which; var _a = obj.value; if (_a == "") { _a = "__:__"; }; var _b = mask.gtap(obj); if (((kc > 46) && (kc<58)) || ((kc > 95) && (kc<106))) { if (_b==5) return false; if ((_b == 2)) _b++; if (kc > 60) kc = kc-48; obj.value = _a.substring(0, _b) + String.fromCharCode(kc) + _a.substring(_b+1, _a.length); mask.stap(obj,_b+1); } else if (kc == 8) { if (_b==0) return false; if ((_b == 3)) _b--; obj.value = _a.substring(0, _b-1) + "_" + _a.substring(_b, _a.length); mask.stap(obj,_b-1); } else if ((kc==9) || (kc==37) || (kc==39) || (kc==39) || (kc==35) || (kc==36)) { return true; }; return false; },
	//miscellaneous
	gtap : function(obj) { var _a = 0; if (document.selection) { obj.focus(); var Sel = document.selection.createRange(); Sel.moveStart('character', -obj.value.length); _a = Sel.text.length; } else if (obj.selectionStart || obj.selectionStart == '0') { _a = obj.selectionStart; }; return (_a); },
	stap : function(obj,_a)	{ if (obj.setSelectionRange) { obj.focus(); obj.setSelectionRange(_a,_a); } else if (obj.createTextRange) { var _b = obj.createTextRange(); _b.collapse(true); _b.moveEnd('character',_a); _b.moveStart('character',_a); _b.select(); }; }
});

var mask = new j();
