/*
function maskNumber(value){
function toNumber(value){
function isValidNumberString(value){
function isValidPositiveNumberString(value){
function formatNumber(value){
*/

// formats a european number
function maskNumber(value){
    value = String(value);
    value=value.replace(/\./g,"");
    var j = value.indexOf(",");
    if(j == -1){
        j=value.length;
        value =value +",00";
    }
    if(j == value.length - 2){
        value = value +"0";
    }
    var endAt=3;
    if(value.charAt(0) =='-'){
        endAt=4;
    }
        
    for(var i=j; i > endAt; i-=3){
        value = value.substring(0,i - 3)+"."+value.substring(i - 3);
    }
    return value;
}

// rounds and formats number in .,
function formatNumber(value){
    value=Math.round(value * 100)/100;
    value = String(value);
    value=value.replace(/,/g,"");
    value= value.replace(/\./,",");
    return maskNumber(value);
}

function toNumber(value){
    // converts a 999.999,99 value to a number
    if(isValidNumberString(value)){
        value=value.replace(/\./g,"");
        value= value.replace(/,/,".");
        return Number(value);
    }else{
        return 0;
    }
}

function isValidNumberString(value){
    var pattern = /^-?0?(,[0-9]{1,2})?$|^-?[0-9]{1,3}(\.?([0-9]{3}))*(,[0-9]{1,2})?$/
    return pattern.exec(value);
}

function isValidPositiveNumberString(value){
    var pattern = /^0?(,[0-9]{1,2})?$|^[0-9]{1,3}(\.?([0-9]{3}))*(,[0-9]{1,2})?$/
    return pattern.exec(value);
}
