function customer_age($cusnum, $days, $fcid, $loc)
{
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    $sql = "\n\tSELECT sum(amount) FROM cubit.stmnt\n\tWHERE cusnum='{$cusnum}' AND\n\t\tdate BETWEEN '" . extlib_ago($ldays) . "' AND '" . extlib_ago($days - 29) . "'";
    $amount_rslt = db_exec($sql) or errDie("Unable to retrieve aging.");
    $amount = pg_fetch_result($amount_rslt, 0);
    return sprint($amount);
}
function age($supid, $days)
{
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    # Get the current outstanding
    $sql = "SELECT sum(balance) FROM suppurch WHERE supid = '{$supid}' AND pdate >='" . extlib_ago($ldays) . "' AND pdate <='" . extlib_ago($days - 30) . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sum = pg_fetch_array($rs);
    /*
    # Get the current outstanding
    $sql = "SELECT sum(balance) FROM purch_int WHERE supid = '$supid' AND balance > 0 AND received = 'y' AND pdate >='".extlib_ago($days)."' AND pdate <='".extlib_ago($days-30)."'";
    $rsint = db_exec($sql) or errDie("Unable to access database");
    $sumint = pg_fetch_array($rsint);
    */
    # Take care of nasty zero
    return $sum['sum'] += 0;
}
function age($cusnum, $days)
{
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    # Get the current oustanding
    $sql = "SELECT sum(balance) FROM invoices WHERE cusnum = '{$cusnum}' AND printed = 'y' AND odate >='" . extlib_ago($ldays) . "' AND odate <='" . extlib_ago($days - 30) . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sum = pg_fetch_array($rs);
    # Get the current oustanding on transactions
    $sql = "SELECT sum(balance) FROM custran WHERE cusnum = '{$cusnum}' AND odate >='" . extlib_ago($ldays) . "' AND odate <='" . extlib_ago($days - 30) . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sumb = pg_fetch_array($rs);
    # Take care of nasty zero
    return $sum['sum'] + $sumb['sum'] + 0;
}
function sage($supid, $days)
{
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    # Get the current outstanding
    $sql = "SELECT sum(fbalance) FROM suppurch WHERE supid = '{$supid}' AND pdate >='" . extlib_ago($ldays) . "' AND pdate <='" . extlib_ago($days - 30) . "' AND div = '" . USER_DIV . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sum = pg_fetch_array($rs);
    # Take care of nasty zero
    return $sum['sum'] += 0;
}
function age($cusnum, $days)
{
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    if (div_isset("DEBT_AGE", "mon")) {
        switch ($days) {
            case 29:
                return ageage($cusnum, 0);
            case 59:
                return ageage($cusnum, 1);
            case 89:
                return ageage($cusnum, 2);
            case 119:
                return ageage($cusnum, 3);
            case 149:
                return ageage($cusnum, 4);
        }
    }
    # Get the current oustanding
    $sql = "SELECT sum(balance) FROM cubit.invoices\n\t\t\tWHERE cusnum = '{$cusnum}' AND printed = 'y'\n\t\t\t\tAND odate >='" . extlib_ago($ldays) . "'\n\t\t\t\tAND odate <'" . extlib_ago($days - 30) . "'\n\t\t\t\tAND div = '" . USER_DIV . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sum = pg_fetch_array($rs);
    # Get the current oustanding on transactions
    $sql = "SELECT sum(balance) FROM cubit.custran\n\t\t\tWHERE cusnum = '{$cusnum}' AND odate >='" . extlib_ago($ldays) . "'\n\t\t\t\tAND odate <'" . extlib_ago($days - 30) . "'\n\t\t\t\tAND div = '" . USER_DIV . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sumb = pg_fetch_array($rs);
    # Take care of nasty zero
    return sprint($sum['sum'] + $sumb['sum']);
}
function age($cusnum, $days, $fcid, $loc)
{
    $rate = getRate($fcid);
    $bal = "balance";
    if ($loc == 'int') {
        $bal = "fbalance";
        $rate = 1;
    }
    if ($rate == 0) {
        $rate = 1;
    }
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    # Get the current oustanding
    $sql = "SELECT sum({$bal}) FROM invoices WHERE cusnum = '{$cusnum}' AND printed = 'y' AND odate >='" . extlib_ago($ldays) . "' AND odate <'" . extlib_ago($days - 30) . "' AND div = '" . USER_DIV . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sum = pg_fetch_array($rs);
    # Get the current oustanding on transactions
    $sql = "SELECT sum({$bal}) FROM custran WHERE cusnum = '{$cusnum}' AND odate >='" . extlib_ago($ldays) . "' AND odate <'" . extlib_ago($days - 30) . "' AND div = '" . USER_DIV . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sumb = pg_fetch_array($rs);
    # Take care of nasty zero
    return sprint($sum['sum'] + $sumb['sum'] + 0);
}
function age($supid, $days)
{
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    $getfromyear = date("Y");
    $gettoyear = date("Y");
    $month = date("m");
    #use customer statement date for default
    $get_stmnt = "SELECT setdays FROM suppliers WHERE supid = '{$supid}' LIMIT 1";
    $run_stmnt = db_exec($get_stmnt) or errDie("Unable to get statement date information.");
    if (pg_numrows($run_stmnt) < 1) {
        $stmnt_day = date("d");
    } else {
        $stmnt_day = pg_fetch_result($run_stmnt, 0, 0);
    }
    if ($stmnt_day == "0") {
        $stmnt_day = date("d", mktime(0, 0, 0, $month + 1, 0, $gettoyear));
    }
    $stmnt_date = "{$gettoyear}-{$month}-{$stmnt_day}";
    if ($days == 29) {
        #current
        $from_date = date("Y-m-d", mktime(0, 0, 0, $month, $stmnt_day, $gettoyear));
        $to_date = date("Y-m-d", mktime(0, 0, 0, $month + 1, $stmnt_day - 1, $gettoyear));
    } elseif ($days == 59) {
        #30 days
        $from_date = date("Y-m-d", mktime(0, 0, 0, $month - 1, $stmnt_day, $gettoyear));
        $to_date = date("Y-m-d", mktime(0, 0, 0, $month, $stmnt_day - 1, $gettoyear));
    } elseif ($days == 89) {
        #60 days
        $from_date = date("Y-m-d", mktime(0, 0, 0, $month - 2, $stmnt_day, $gettoyear));
        $to_date = date("Y-m-d", mktime(0, 0, 0, $month - 1, $stmnt_day - 1, $gettoyear));
    } elseif ($days == 119) {
        #90 days
        $from_date = date("Y-m-d", mktime(0, 0, 0, $month - 3, $stmnt_day, $gettoyear));
        $to_date = date("Y-m-d", mktime(0, 0, 0, $month - 2, $stmnt_day - 1, $gettoyear));
    } elseif ($days == 149) {
        #120 days
        $from_date = date("Y-m-d", mktime(0, 0, 0, $month - 4, $stmnt_day, $gettoyear - 5));
        $to_date = date("Y-m-d", mktime(0, 0, 0, $month - 3, $stmnt_day - 1, $gettoyear));
    } else {
        $from_date = $stmnt_date;
        $to_date = $stmnt_date;
    }
    $oldmethod = TRUE;
    $newmethod = FALSE;
    // check allocation state
    $get_check = "SELECT id, allocation_linked FROM cubit.sup_stmnt WHERE supid = '{$supid}'";
    $run_check = db_exec($get_check) or errDie("Unable to get allocation check information.");
    if (pg_numrows($run_check) > 0) {
        while ($tarr = pg_fetch_array($run_check)) {
            if (strlen($tarr['allocation_linked']) > 0) {
                $old_method = FALSE;
                $newmethod = TRUE;
            }
        }
    }
    if ($newmethod) {
        $get_entries = "\n\t\t\tSELECT amount, allocation_balance FROM cubit.sup_stmnt \n\t\t\tWHERE supid = '{$supid}' AND edate BETWEEN '{$from_date}' AND '{$to_date}'";
        $run_entries = db_exec($get_entries) or errDie("Unable to get statement information");
        if (pg_numrows($run_entries) < 1) {
            $amount = 0;
        } else {
            while ($aarr = pg_fetch_array($run_entries)) {
                if ($aarr['amount'] > 0) {
                    $amount += $aarr['allocation_balance'];
                } else {
                    $amount -= $aarr['allocation_balance'];
                }
            }
        }
        return sprint($amount);
    } else {
        # Get the current outstanding
        $sql = "\n\t\t\tSELECT sum(balance) \n\t\t\tFROM suppurch \n\t\t\tWHERE supid = '{$supid}' AND pdate >='" . extlib_ago($ldays) . "' AND pdate <'" . extlib_ago($days - 30) . "' AND div = '" . USER_DIV . "'";
        $rs = db_exec($sql) or errDie("Unable to access database");
        $sum = pg_fetch_array($rs);
        /*
        # Get the current outstanding
        $sql = "SELECT sum(balance) FROM purch_int WHERE supid = '$supid' AND balance > 0 AND received = 'y' AND pdate >='".extlib_ago($days)."' AND pdate <='".extlib_ago($days-30)."'";
        $rsint = db_exec($sql) or errDie("Unable to access database");
        $sumint = pg_fetch_array($rsint);
        */
        # Take care of nasty zero
        return sprint($sum['sum']);
    }
}
function age($supid, $days, $loc)
{
    $bal = "balance";
    if ($loc == 'int') {
        $bal = "fbalance";
    }
    $ldays = $days;
    if ($days == 149) {
        $ldays = 365 * 10;
    }
    db_connect();
    # Get the current outstanding
    $sql = "SELECT sum({$bal}) FROM suppurch WHERE supid = '{$supid}' AND pdate >='" . extlib_ago($ldays) . "' AND pdate <='" . extlib_ago($days - 30) . "' AND div = '" . USER_DIV . "'";
    $rs = db_exec($sql) or errDie("Unable to access database");
    $sum = pg_fetch_array($rs);
    # Take care of nasty zero
    return sprint($sum['sum'] += 0);
}