<?php
// Turn on error reporting for debugging
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// Function to sanitize inputs
function sanitizeInput($data) {
    return htmlspecialchars(strip_tags(trim($data)));
}

// Initialize variables
$grossEarnings = $netEarnings = $epc = 0;
$traffic = $conversionRate = $expenses = 0;
$niche = 'fitness';

// Commission structure
$commissionTiers = [
    'fitness' => [
        ['min' => 0, 'max' => 100, 'rate' => 30],
        ['min' => 101, 'max' => 500, 'rate' => 40]
    ],
    'tech' => [
        ['min' => 0, 'max' => 50, 'rate' => 100],
        ['min' => 51, 'max' => 200, 'rate' => 120]
    ]
];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Get and sanitize inputs
    $traffic = (int)sanitizeInput($_POST['traffic']);
    $conversionRate = (float)sanitizeInput($_POST['conversion']);
    $niche = sanitizeInput($_POST['niche']);
    $expenses = (float)sanitizeInput($_POST['expenses']);

    // Calculate sales
    $sales = $traffic * ($conversionRate / 100);

    // Calculate tiered earnings
    $grossEarnings = 0;
    foreach ($commissionTiers[$niche] as $tier) {
        if ($sales > $tier['min']) {
            $salesInTier = min($sales, $tier['max']) - $tier['min'];
            $grossEarnings += $salesInTier * $tier['rate'];
        }
    }

    // Final calculations
    $netEarnings = $grossEarnings - $expenses;
    $epc = ($traffic > 0) ? $grossEarnings / $traffic : 0;
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Affiliate Calculator</title>
    <style>
        body { font-family: Arial, sans-serif; max-width: 800px; margin: 20px auto; padding: 20px; }
        .calculator { background: #f5f5f5; padding: 20px; border-radius: 10px; }
        .tooltip { color: #666; font-size: 0.9em; margin-top: 5px; }
        input, select { padding: 8px; margin: 5px 0; width: 100%; }
        button { background: #4CAF50; color: white; padding: 10px; border: none; cursor: pointer; }
        .result { margin-top: 20px; padding: 15px; background: white; border-radius: 5px; }
    </style>
</head>
<body>
    <div class="calculator">
        <h2>Affiliate Earnings Calculator</h2>
        
        <form method="post">
            <label>Select Niche:</label>
            <select name="niche">
                <option value="fitness" <?= $niche === 'fitness' ? 'selected' : '' ?>>Fitness</option>
                <option value="tech" <?= $niche === 'tech' ? 'selected' : '' ?>>Tech</option>
            </select>

            <label>Monthly Traffic:</label>
            <input type="number" name="traffic" value="<?= $traffic ?>" required>

            <label>Conversion Rate (%):</label>
            <input type="number" name="conversion" step="0.1" value="<?= $conversionRate ?>" required>

            <label>Monthly Expenses ($):</label>
            <input type="number" name="expenses" step="0.01" value="<?= $expenses ?>">
            <div class="tooltip">Include ads, tools, etc.</div>

            <button type="submit">Calculate</button>
        </form>

        <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') : ?>
            <div class="result">
                <h3>Results</h3>
                <p>Gross Earnings: $<?= number_format($grossEarnings, 2) ?></p>
                <p>Net Profit: $<?= number_format($netEarnings, 2) ?></p>
                <p>Earnings Per Click (EPC): $<?= number_format($epc, 4) ?></p>
            </div>
        <?php endif; ?>
    </div>
</body>
</html>