﻿if (typeof(Tangora) == 'undefined') var Tangora = {};
Tangora.CalculationLibrary = new CalculationLibrary();

function CalculationLibrary()
{
    this._expressions = [];    
    
    this.addExpression = function(name, expr)
    {
        this._expressions[name] = expr;
    }
    
    this.execExpression = function(name, args)
    {        
        var expr = this._expressions[name];
        var re = new RegExp("\{.*?\}", "");
        var mf = null;
        var realExpr = expr;
        mf = re.exec(expr);        
        while (mf)
        {
            realExpr = realExpr.replace(mf, args[mf]);            
            var rc = RegExp.rightContext;            
            mf = re.exec(rc);
        }
        return new Number(eval(realExpr));        
    }
}