	function numbersonly(e, decimal) {
			var key;
			var keychar;
			
			if (window.event) {
			   key = window.event.keyCode;
			}
			else if (e) {
			   key = e.which;
			}
			else {
			   return true;
			}
			keychar = String.fromCharCode(key);
			
			if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
			   return true;
			}
			else if ((("0123456789").indexOf(keychar) > -1)) {
			   return true;
			}
			else if (decimal && (keychar == ".")) { 
			  return true;
			}
			else
			   return false;
		}

	
		function number_format(number, decimals, dec_point, thousands_sep) {
			number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
			var n = !isFinite(+number) ? 0 : +number,
				prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
				sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
				dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
				s = '',
				toFixedFix = function (n, prec) {
					var k = Math.pow(10, prec);
					return '' + Math.round(n * k) / k;
				};
			// Fix for IE parseFloat(0.55).toFixed(0) = 0;
			s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
			if (s[0].length > 3) {
				s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
			}
			if ((s[1] || '').length < prec) {
				s[1] = s[1] || '';
				s[1] += new Array(prec - s[1].length + 1).join('0');
			}
			return s.join(dec);
		}

		function getPageScroll() {
			var xScroll, yScroll;
			if (self.pageYOffset) {
		    	yScroll = self.pageYOffset;
				xScroll = self.pageXOffset;
			} else if (document.documentElement && document.documentElement.scrollTop) {
			  	yScroll = document.documentElement.scrollTop;
			  	xScroll = document.documentElement.scrollLeft;
			} else if (document.body) {// all other Explorers
			  	yScroll = document.body.scrollTop;
			  	xScroll = document.body.scrollLeft;
			}
			return yScroll;
		}
