    function addClassName(el, sClassName)
    {
        var s = el.className;
        var p = s.split(" ");
        var l = p.length;
        for (var i = 0; i < l; i++) {
            if (p[i] == sClassName)
                return;
        }
        p[p.length] = sClassName;
        el.className = p.join(" ").replace( /(^\s+)|(\s+$)/g, "" );
    }

    function removeClassName(el, sClassName)
    {
        var s = el.className;
        var p = s.split(" ");
        var np = [];
        var l = p.length;
        var j = 0;
        for (var i = 0; i < l; i++) {
            if (p[i] != sClassName)
                np[j++] = p[i];
        }
        el.className = np.join(" ").replace( /(^\s+)|(\s+$)/g, "" );
    }

	function toCurrency(s)
	{
		str = s.substring(1).replace(/,/g,"");
		return Number(str);
	}

    function applyClassNames ()
    {
        var rows = reportTable.tBody.rows;
        var l = rows.length;
        for (var i = 0; i < l; i++)
        {
            removeClassName(rows[i], i % 2 ? "odd" : "even");
            addClassName(rows[i], i % 2 ? "even" : "odd");
        }
    };
