
	// A small number is added to get around floating point issues
	function roundNumber(the_number, precision) {
		the_number += 0.0001 / Math.pow(10, precision);
		var newnumber = Math.round(the_number*Math.pow(10,precision))/Math.pow(10,precision);
		return newnumber;
	}
	function roundFloat(amount) {
		var i = parseFloat(amount);
		if(isNaN(i)) i = 0.00; 
		//var minus = '';
		//if(i < 0) minus = '-'; 
		i = roundNumber(i,2);
		s = new String(i);
		if(s.indexOf('.') < 0) { s += '.00'; }
		if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
		//s = minus + s; 
		//alert (s);
		return s;
	} 

	function numbersonly(myfield, e) {
		var key;
		var keychar;
	
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
	
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
	
		// numbers or decimal
		else if ((("0123456789.").indexOf(keychar) > -1)) return true;
	
		else return false;
	}
	function numbersonly2(myfield, e) {
		var key;
		var keychar;
	
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
	
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
	
		// numbers or decimal
		else if ((("0123456789").indexOf(keychar) > -1)) return true;
	
		else return false;
	}
	
	function numbersonlynegative(myfield, e) {
		var key;
		var keychar;
	
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
	
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
	
		// numbers or decimal
		else if ((("0123456789.-").indexOf(keychar) > -1)) return true;
	
		else return false;
	}

	function integersonly(myfield, e) {
		var key;
		var keychar;
	
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
	
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
	
		// numbers or decimal
		else if ((("0123456789").indexOf(keychar) > -1)) return true;
	
		else return false;
	}
	
	function alphanumericonly(myfield, e) {
		var key;
		var keychar;
	
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
	
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
	
		// numbers or decimal
		else if ((("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1)) return true;
	
		else return false;
	}
	function formatCurrency(n,d) {
   		n = (Math.round(n * 100) / 100).toString().split('.');
  		var
			myNum = n[0].toString(),
			fmat = new Array(),
			len = myNum.length,
			i = 1, deci = (d == '.') ? ',' : '.';
  		
		for(i; i < len + 1; i++) fmat[i] = myNum.charAt(i-1);

			fmat = fmat.reverse();
		for(i = 1; i < len; i++) {
			if(i % 3 == 0) {
				fmat[i] += d;
			}
		}
		var val = fmat.reverse().join('') + ( n[1] == null ? deci + '00' : (deci + n[1]) );
	
		return val;
	}	