var THOUSAND_SEPERATOR = ',';
var DECIMAL_SEPERATOR = '.';

// Number format: removing language formatting to make it useable in javascript calculation
function clearLocalFormat(number){
	try{
		if(typeof number === 'undefined') {
			number = '0';
		}
		myregex = new RegExp('['+THOUSAND_SEPERATOR+']',"g");
		number = number.replace(myregex,'');
		
		if(DECIMAL_SEPERATOR != '.'){
			myregex = new RegExp('['+DECIMAL_SEPERATOR+']',"g");
			number = number.replace(myregex,'.');
		}
		number = parseFloat(number);
		if (isNaN(number)){
			return 0
		}else{
			return number;
		}
	}catch(e){
		return 0;
	}
}

// Thank you php.js @ www.phpjs.org
function writeNumber( number, decimals, dec_point, thousands_sep ) {
    var sep = (typeof thousands_sep === 'undefined') ? THOUSAND_SEPERATOR : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? DECIMAL_SEPERATOR : dec_point;
    var prec = (typeof decimals === 'undefined') ? 2 : decimals;
    var n = number;
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
    if (s.indexOf(dec) === -1 && prec > 1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}
