var is_opera = (navigator.userAgent.indexOf('Opera')!=-1);
var is_ie = (!is_opera && navigator.userAgent.indexOf('MSIE')!=-1);

function addEvent(obj, evType, fn, useCapture) {

	if (obj.addEventListener) {
		obj.addEventListener(evType,fn,useCapture);
		return true;
	} else if(obj.attachEvent){
		return obj.attachEvent("on"+evType,fn);
	} else {
		return false;
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var elems = node.getElementsByTagName(tag);
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	var i = 0;
	for (var j = 0; j < elems.length; j++) {
		if ( pattern.test(elems[j].className) ) {
			classElements[i++] = elems[j];
		}
	}
	return classElements;
}

function getFirstElementByClass(searchClass,node,tag) {
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var elems = getElementsByClass(searchClass,node,tag);
	if (elems.length > 0) return elems[0];
	return null;
}

function groupNumbers(node) {
	var input = getElementsByClass("number-spaces",node,"input");
	for(var i = 0; i < input.length; i++) {
		addEvent(input[i], 'keyup', function(e) {
			var _this = (e.srcElement)?e.srcElement:this;
			_this.value = _this.value.replace(/[^0-9.,]/ig,'');
			var t=_this.value;
			var t2='';
			while(t.length>3) {
				t2=' '+t.substring(t.length-3)+t2;
				t=t.substring(0,t.length-3);
			}
			t2=t+t2;
			_this.value=t2
		});
	}
}
addEvent(window, 'load', function() {groupNumbers(document)});