	var _onDOMReadyFunc = [];
	var _onDOMReadyFuncFlag = false;

	function onDOMReady() {
		if (_onDOMReadyFuncFlag) return;
		_onDOMReadyFuncFlag = true;
		for (var i = 0, length = _onDOMReadyFunc.length; i < length; i++) {
			var fn = _onDOMReadyFunc[i];
			_onDOMReadyFunc[i] = null;
			fn();
		}
		
	}

	function addDOMReadyFunc() {
		if (!_onDOMReadyFuncFlag) {
			for (var i = 0, length = arguments.length; i < length; i++) {
				if (typeof arguments[i] == 'function') _onDOMReadyFunc[_onDOMReadyFunc.length] = arguments[i];
			}
		} else {
			for (var i = 0, length = arguments.length; i < length; i++) {
				if (typeof arguments[i] == 'function') (arguments[i])();
			}
		}
	}

	(function () {
		if ([,] != 0) {
			try {
				document.createComment().doScroll();
				onDOMReady();
			} catch(e){
				setTimeout(arguments.callee, 5);
			}
		} else if (document.addEventListener) {
			document.addEventListener('DOMContentLoaded', onDOMReady, false);
			document.addEventListener('load', onDOMReady, false);
		} else if (window.attachEvent) {
			window.attachEvent('onload', onDOMReady);
		} else {
			var fn = window.onload;
			window.onload = function() {
				onDOMReady();
				if (fn) { fn(); }
			}
		}
	})();

	function addListener(el, ev, func) {
		if(el.addEventListener) {
			el.addEventListener(ev, func, false);
		} else if(el.attachEvent) {
			el.attachEvent('on' + ev, function () { func.call(el); } );
		}
	}


// --------------------------


	function addClassToNumericCell() {
		var d;
		if (document.querySelectorAll) {
			d = document.querySelectorAll('td');
		} else if (document.getElementsByTagName) {
			d = document.getElementsByTagName('td');
		}

		if (!d) { return; }

		var len = d.length, text;
		for(var i = 0; i < len; i++) {
			text = ( (d[i].innerText) ? d[i].innerText : ( (d[i].textContent) ? d[i].textContent : null ) );
			if (!text) { continue; }

			if (text.search(/^[0-9][0-9,]*(\.[0-9]+)?%?$/) != -1) d[i].className += ' numeric';
		}
		return;
	}

	addDOMReadyFunc(addClassToNumericCell);
