#!/bin/sh

. /etc/default/locale

LL="${LANG%%_*}"
LL="${LL%%.*}"
LL="${LL%%@*}"
CC="${LANG##*_}"
CC="${CC%%.*}"
CC="${CC%%@*}"

search() {
  url="$1"
  base="${url%/*}"
  sed -i "s|pref(\"keyword.URL\", \".*\");|pref(\"keyword.URL\", \"$url\");|" "/usr/share/ubufox/defaults/preferences/ubuntu-mods.js"
  sed -i "s|method=\"GET\" template=\".*\"|method=\"GET\" template=\"$url\"|" "/usr/lib/firefox-addons/searchplugins/yahoo.xml"
  sed -i "s|<SearchForm>.*</SearchForm>|<SearchForm>$base</SearchForm>|" "/usr/lib/firefox-addons/searchplugins/yahoo.xml"
}

# Big table of possible specialized links:
case "$LL" in
  'ar')
    search "http://uk.search.yahoo.com/search"
    ;;
  'cs')
    search "http://uk.search.yahoo.com/search"
    ;;
  'hr')
    search "http://uk.search.yahoo.com/search"
    ;;
  'da')
    search "http://uk.search.yahoo.com/search"
    ;;
  'nl')
    search "http://nl.search.yahoo.com/search"
    ;;
  'de')
    search "http://de.search.yahoo.com/search"
    ;;
  'el')
    search "http://uk.search.yahoo.com/search"
    ;;
  'en')
    case "$CC" in
      'UK')
        search "http://uk.search.yahoo.com/search"
        ;;
      'GI')
        search "http://uk.search.yahoo.com/search"
        ;;
      'IE')
        search "http://uk.search.yahoo.com/search"
        ;;
      'ZA')
        search "http://uk.search.yahoo.com/search"
        ;;
      'AU')
        search "http://au.search.yahoo.com/search"
        ;;
      'NZ')
        search "http://au.search.yahoo.com/search"
        ;;
      'CA')
        search "http://ca.search.yahoo.com/search"
        ;;
      'IR')
        search "http://uk.search.yahoo.com/search"
        ;;
      'IN')
        search "http://in.search.yahoo.com/search"
        ;;
      'SG')
        search "http://sg.search.yahoo.com/search"
        ;;
      'BN')
        search "http://uk.search.yahoo.com/search"
        ;;
      'ID')
        search "http://id.search.yahoo.com/search"
        ;;
      'MY')
        search "http://my.search.yahoo.com/search"
        ;;
      'PH')
        search "http://ph.search.yahoo.com/search"
        ;;
      'TH')
        search "http://th.search.yahoo.com/search"
        ;;
      'VN')
        search "http://vn.search.yahoo.com/search"
        ;;
      *)
        search "http://search.yahoo.com/search"
        ;;
    esac
    ;;
  'fi')
    search "http://fi.search.yahoo.com/search"
    ;;
  'fr')
    case "$CC" in
      'CA')
        search "http://qc.search.yahoo.com/search"
        ;;
      *)
        search "http://fr.search.yahoo.com/search"
        ;;
    esac
    ;;
  'he')
    search "http://uk.search.yahoo.com/search"
    ;;
  'hu')
    search "http://uk.search.yahoo.com/search"
    ;;
  'it')
    search "http://it.search.yahoo.com/search"
    ;;
  'ja')
    search "http://search.yahoo.co.jp/search"
    ;;
  'ko')
    search "http://kr.search.yahoo.com/search"
    ;;
  'ms')
    case "$CC" in
      'ID')
        search "http://id.search.yahoo.com/search"
        ;;
      *)
        search "http://my.search.yahoo.com/search"
        ;;
    esac
    ;;
  'no')
    search "http://no.search.yahoo.com/search"
    ;;
  'pl')
    search "http://uk.search.yahoo.com/search"
    ;;
  'pt')
    search "http://br.search.yahoo.com/search"
    ;;
  'ru')
    search "http://ru.search.yahoo.com/search"
    ;;
  'zh')
    case "$CC" in
      'HK')
        search "http://hk.search.yahoo.com/search"
        ;;
      'TW')
        search "http://tw.search.yahoo.com/search"
        ;;
      *)
        search "http://cn.search.yahoo.com/search"
        ;;
    esac
    ;;
  'es')
    case "$CC" in
      'AR')
        search "http://ar.search.yahoo.com/search"
        ;;
      'MX')
        search "http://mx.search.yahoo.com/search"
        ;;
      'US')
        search "http://espanol.search.yahoo.com/search"
        ;;
      *)
        search "http://es.search.yahoo.com/search"
        ;;
    esac
    ;;
  'sv')
    search "http://uk.search.yahoo.com/search"
    ;;
  'th')
    search "http://th.search.yahoo.com/search"
    ;;
  'tr')
    search "http://uk.search.yahoo.com/search"
    ;;
  'vi')
    search "http://vn.search.yahoo.com/search"
    ;;
  *)
    search "http://search.yahoo.com/search"
    ;;
esac
