export const PRICES = {
  // Isolering (per m³ volume)
  INSULATION_MATERIALS: 2850, // kr/m³
  INSULATION_LABOR_PER_M3: 880, // kr/m³
  INSULATION_TOTAL_PER_M3: 3730, // kr/m³
  // Base insulation labor (always applied per m² area)
  INSULATION_BASE_LABOR: 75, // kr/m² - always added when insulation is included

  // Gulvvarme (altid inkluderet)
  FLOOR_HEATING_MATERIALS: 75, // kr/m²
  FLOOR_HEATING_LABOR: 130, // kr/m²
  FLOOR_HEATING_TOTAL: 205, // kr/m²

  // Syntetisk net (altid inkluderet)
  SYNTHETIC_NET_MATERIALS: 24, // kr/m²
  SYNTHETIC_NET_LABOR: 25, // kr/m²
  SYNTHETIC_NET_TOTAL: 49, // kr/m²

  // Flydespartel
  SELF_LEVELING_COMPOUND: 450, // kr/m²
  COMPOUND_WEIGHT_PER_M2: 90, // kg/m²

  // Faste gebyrer
  START_FEE: 3500, // kr (leje af anlæg og sikkerhedsudstyr)

  // Transport
  TRANSPORT_PER_KM: 18.75, // kr/km
  GREAT_BELT_FEE: 500, // kr (kun Fyn)

  // Procenttillæg
  COVERING_PERCENTAGE: 0.007, // 0.7%
  WASTE_PERCENTAGE: 0.0025, // 0.25%
  TOTAL_PERCENTAGE: 0.0095, // 0.95%

  // Moms
  VAT: 0.25, // 25%
} as const

// Pumpebil fees include both materials and labor (from rene.pdf)
export const PUMP_TRUCK_FEES = [
  { minWeight: 8000, materialFee: 0, laborFee: 8800, fee: 8800 }, // >8000 kg
  { minWeight: 5000, materialFee: 3800, laborFee: 8000, fee: 11800 }, // 5000-8000 kg
  { minWeight: 3000, materialFee: 6000, laborFee: 7000, fee: 13000 }, // 3000-5000 kg
  { minWeight: 0, materialFee: 8100, laborFee: 7000, fee: 15100 }, // 0-3000 kg
] as const

export const CONSTRAINTS = {
  MIN_AREA: 25, // m²
  MAX_AREA: 250, // m²
  MIN_HEIGHT: 8, // cm
  MAX_HEIGHT: 100, // cm
  CONCRETE_THICKNESS: 5, // cm (fratrækkes fra højde)
  HOME_POSTAL_CODE: "4550", // Asnæs
  HOME_CITY: "Asnæs",
} as const

// Gulvbelægningstyper - påvirker valg af gulvspartel
export const FLOORING_TYPES = {
  STANDARD: {
    id: "standard",
    name: "Klinker / Svømmende trægulv",
    description: "Fliser, klinker eller trægulv der ikke limes",
    compoundMultiplier: 1.0, // Standard compound
  },
  GLUED_WOOD: {
    id: "glued_wood",
    name: "Limet trægulv",
    description: "Trægulv der limes fast til underlaget",
    compoundMultiplier: 1.28, // Premium compound kræves (+28%)
  },
} as const

export type FlooringType = keyof typeof FLOORING_TYPES

export const COVERAGE_AREAS = {
  WEST_ZEALAND: { start: 4000, end: 4999, bridgeFee: 0 },
  COPENHAGEN: { start: 2000, end: 2999, bridgeFee: 0 },
  NORTH_ZEALAND: { start: 3000, end: 3999, bridgeFee: 0 },
  LOLLAND_FALSTER: { start: 4800, end: 4899, bridgeFee: 0 },
  FUNEN: { start: 5000, end: 5999, bridgeFee: PRICES.GREAT_BELT_FEE },
} as const

export type CoverageArea = keyof typeof COVERAGE_AREAS
