--- currency_api.module	2008-10-30 16:45:57.000000000 +0000
+++ currency_api_new.module	2008-11-25 22:35:43.000000000 +0000
@@ -1,6 +1,6 @@
 <?php
 
-//$Id: currency_api.module,v 1.4.2.18 2008/10/30 16:45:57 kbahey Exp $
+//$Id: currency_api.module,v 1.4.2.17 2008/10/20 14:33:16 kbahey Exp $
 
 // Copyright 2005 Khalid Baheyeldin http://2bits.com
 
@@ -233,355 +233,173 @@ function currency_api_convert($currency_
  *   has the description.
  */
 function currency_api_get_desc($currency) {
-  $list = currency_api_get_list();
+  $list = currency_api_get_currencies();
   if (isset($list[$currency])) {
-    return $list[$currency];
+    return $list[$currency]['name'];
     }
   return FALSE;
 }
 
-function currency_api_get_list() {
-  $currency = array(
-    'AFA' => t('Afghanistani Afghani (AFA)'),
-    'ALL' => t('Albanian Lek (ALL)'),
-    'DZD' => t('Algerian Dinar (DZD)'),
-    'ARS' => t('Argentine Peso (ARS)'),
-    'AWG' => t('Aruba Florin (AWG)'),
-    'AUD' => t('Australian Dollar (AUD)'),
-    'AZN' => t('Azerbaijan New Maneat (AZN)'),
-    'BSD' => t('Bahamian Dollar (BSD)'),
-    'BHD' => t('Bahraini Dinar (BHD)'),
-    'BDT' => t('Bangladeshi Taka (BDT)'),
-    'BBD' => t('Barbadian Dollar (BBD)'),
-    'BYR' => t('Belarus Ruble (BYR)'),
-    'BZD' => t('Belize Dollar (BZD)'),
-    'BMD' => t('Bermuda Dollar (BMD)'),
-    'BTN' => t('Bhutanese Ngultrum (BTN)'),
-    'BOB' => t('Bolivian Boliviano (BOB)'),
-    'BAM' => t('Bosnia and Herzegovina Convertible Marka (BAM)'),
-    'BWP' => t('Botswana Pula (BWP)'),
-    'BRL' => t('Brazilian Real (BRL)'),
-    'GBP' => t('British Pound (GBP)'),
-    'BND' => t('Brunei Dollar (BND)'),
-    'BGN' => t('Bulgarian Lev (BGN)'),
-    'BIF' => t('Burundi Franc (BIF)'),
-    'KHR' => t('Cambodia Riel (KHR)'),
-    'CAD' => t('Canadian Dollar (CAD)'),
-    'CVE' => t('Cape Verdean Escudo (CVE)'),
-    'KYD' => t('Cayman Islands Dollar (KYD)'),
-    'XOF' => t('CFA Franc (BCEAO) (XOF)'),
-    'XAF' => t('CFA Franc (BEAC) (XAF)'),
-    'CLP' => t('Chilean Peso (CLP)'),
-    'CNY' => t('Chinese Yuan (CNY)'),
-    'COP' => t('Colombian Peso (COP)'),
-    'KMF' => t('Comoros Franc (KMF)'),
-    'CRC' => t('Costa Rica Colon (CRC)'),
-    'HRK' => t('Croatian Kuna (HRK)'),
-    'CUP' => t('Cuban Peso (CUP)'),
-    'CYP' => t('Cyprus Pound (CYP)'),
-    'CZK' => t('Czech Koruna (CZK)'),
-    'DKK' => t('Danish Krone (DKK)'),
-    'DJF' => t('Dijiboutian Franc (DJF)'),
-    'DOP' => t('Dominican Peso (DOP)'),
-    'XCD' => t('East Caribbean Dollar (XCD)'),
-    'EGP' => t('Egyptian Pound (EGP)'),
-    'SVC' => t('El Salvador Colon (SVC)'),
-    'ERN' => t('Eritrean Nakfa (ERN)'),
-    'EEK' => t('Estonian Kroon (EEK)'),
-    'ETB' => t('Ethiopian Birr (ETB)'),
-    'EUR' => t('Euro (EUR)'),
-    'FKP' => t('Falkland Islands Pound (FKP)'),
-    'FJD' => t('Fiji Dollar (FJD)'),
-    'GMD' => t('Gambian Dalasi (GMD)'),
-    'GHC' => t('Ghanian Cedi (GHC)'),
-    'GIP' => t('Gibraltar Pound (GIP)'),
-    'XAU' => t('Gold Ounces (XAU)'),
-    'GTQ' => t('Guatemala Quetzal (GTQ)'),
-    'GGP' => t('Guernsey Pound (GGP)'),
-    'GNF' => t('Guinea Franc (GNF)'),
-    'GYD' => t('Guyana Dollar (GYD)'),
-    'HTG' => t('Haiti Gourde (HTG)'),
-    'HNL' => t('Honduras Lempira (HNL)'),
-    'HKD' => t('Hong Kong Dollar (HKD)'),
-    'HUF' => t('Hungarian Forint (HUF)'),
-    'ISK' => t('Iceland Krona (ISK)'),
-    'INR' => t('Indian Rupee (INR)'),
-    'IDR' => t('Indonesian Rupiah (IDR)'),
-    'IRR' => t('Iran Rial (IRR)'),
-    'IQD' => t('Iraqi Dinar (IQD)'),
-    'ILS' => t('Israeli Shekel (ILS)'),
-    'JMD' => t('Jamaican Dollar (JMD)'),
-    'JPY' => t('Japanese Yen (JPY)'),
-    'JOD' => t('Jordanian Dinar (JOD)'),
-    'KZT' => t('Kazakhstan Tenge (KZT)'),
-    'KES' => t('Kenyan Shilling (KES)'),
-    'KRW' => t('Korean Won (KRW)'),
-    'KWD' => t('Kuwaiti Dinar (KWD)'),
-    'KGS' => t('Kyrgyzstan Som (KGS)'),
-    'LAK' => t('Lao Kip (LAK)'),
-    'LVL' => t('Latvian Lat (LVL)'),
-    'LBP' => t('Lebanese Pound (LBP)'),
-    'LSL' => t('Lesotho Loti (LSL)'),
-    'LRD' => t('Liberian Dollar (LRD)'),
-    'LYD' => t('Libyan Dinar (LYD)'),
-    'LTL' => t('Lithuanian Lita (LTL)'),
-    'MOP' => t('Macau Pataca (MOP)'),
-    'MKD' => t('Macedonian Denar (MKD)'),
-    'MGA' => t('iraimbilanja'),
-    'MWK' => t('Malawian Kwacha (MWK)'),
-    'MYR' => t('Malaysian Ringgit (MYR)'),
-    'MVR' => t('Maldives Rufiyaa (MVR)'),
-    'MTL' => t('Maltese Lira (MTL)'),
-    'MRO' => t('Mauritania Ougulya (MRO)'),
-    'MUR' => t('Mauritius Rupee (MUR)'),
-    'MXN' => t('Mexican Peso (MXN)'),
-    'MDL' => t('Moldovan Leu (MDL)'),
-    'MNT' => t('Mongolian Tugrik (MNT)'),
-    'MAD' => t('Moroccan Dirham (MAD)'),
-    'MZM' => t('Mozambique Metical (MZM)'),
-    'MMK' => t('Myanmar Kyat (MMK)'),
-    'NAD' => t('Namibian Dollar (NAD)'),
-    'NPR' => t('Nepalese Rupee (NPR)'),
-    'ANG' => t('Neth Antilles Guilder (ANG)'),
-    'NZD' => t('New Zealand Dollar (NZD)'),
-    'NIO' => t('Nicaragua Cordoba (NIO)'),
-    'NGN' => t('Nigerian Naira (NGN)'),
-    'KPW' => t('North Korean Won (KPW)'),
-    'NOK' => t('Norwegian Krone (NOK)'),
-    'OMR' => t('Omani Rial (OMR)'),
-    'XPF' => t('Pacific Franc (XPF)'),
-    'PKR' => t('Pakistani Rupee (PKR)'),
-    'XPD' => t('Palladium Ounces (XPD)'),
-    'PAB' => t('Panama Balboa (PAB)'),
-    'PGK' => t('Papua New Guinea Kina (PGK)'),
-    'PYG' => t('Paraguayan Guarani (PYG)'),
-    'PEN' => t('Peruvian Nuevo Sol (PEN)'),
-    'PHP' => t('Philippine Peso (PHP)'),
-    'XPT' => t('Platinum Ounces (XPT)'),
-    'PLN' => t('Polish Zloty (PLN)'),
-    'QAR' => t('Qatar Rial (QAR)'),
-    'ROL' => t('Romanian Leu (ROL)'),
-    'RUB' => t('Russian Rouble (RUB)'),
-    'RWF' => t('Rwandese Franc (RWF)'),
-    'WST' => t('Samoan Tala (WST)'),
-    'STD' => t('Sao Tome Dobra (STD)'),
-    'SAR' => t('Saudi Arabian Riyal (SAR)'),
-    'SCR' => t('Seychelles Rupee (SCR)'),
-    'RSD' => t('Serbian Dinar (RSD)'),
-    'SLL' => t('Sierra Leone Leone (SLL)'),
-    'XAG' => t('Silver Ounces (XAG)'),
-    'SGD' => t('Singapore Dollar (SGD)'),
-    'SKK' => t('Slovak Koruna (SKK)'),
-    'SBD' => t('Solomon Islands Dollar (SBD)'),
-    'SOS' => t('Somali Shilling (SOS)'),
-    'ZAR' => t('South African Rand (ZAR)'),
-    'LKR' => t('Sri Lanka Rupee (LKR)'),
-    'SHP' => t('St Helena Pound (SHP)'),
-    'SDD' => t('Sudanese Dinar (SDD)'),
-    'SRD' => t('Surinam Dollar (SRD)'),
-    'SZL' => t('Swaziland Lilageni (SZL)'),
-    'SEK' => t('Swedish Krona (SEK)'),
-    'CHF' => t('Swiss Franc (CHF)'),
-    'SYP' => t('Syrian Pound (SYP)'),
-    'TWD' => t('Taiwan Dollar (TWD)'),
-    'TZS' => t('Tanzanian Shilling (TZS)'),
-    'THB' => t('Thai Baht (THB)'),
-    'TOP' => t('Tonga Pa\'anga (TOP)'),
-    'TTD' => t('Trinidad & Tobago Dollar (TTD)'),
-    'TND' => t('Tunisian Dinar (TND)'),
-    'TRY' => t('New Turkish Lira (TRY)'),
-    'USD' => t('U.S. Dollar (USD)'),
-    'AED' => t('UAE Dirham (AED)'),
-    'UGX' => t('Ugandan Shilling (UGX)'),
-    'UAH' => t('Ukraine Hryvnia (UAH)'),
-    'UYU' => t('Uruguayan New Peso (UYU)'),
-    'UZS' => t('Uzbekistan Sum (UZS)'),
-    'VUV' => t('Vanuatu Vatu (VUV)'),
-    'VEB' => t('Venezuelan Bolivar (VEB)'),
-    'VND' => t('Vietnam Dong (VND)'),
-    'YER' => t('Yemen Riyal (YER)'),
-    'YUM' => t('Yugoslav Dinar (YUM)'),
-    'ZMK' => t('Zambian Kwacha (ZMK)'),
-    'ZWD' => t('Zimbabwe Dollar (ZWD)'),
-  );
-
-  return $currency;
-}
-
-function currency_api_get_symbols() {
+/**
+* Returns array all currency properties including decimal count
+* 
+*/
+function currency_api_get_currencies() {
   $currency = array(
-    // There is a new sign as of January 2003. It does not yet have a Unicode
-    // encoding yet (see http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2640.pdf).
-    'AFA' => t('afghani'),
-    'ALL' => t('Lek'),
-    'DZD' => t('دج'),
-    'ARS' => t('$'),
-    'AWG' => t('ƒ'),
-    'AUD' => t('$'),
-    'AZN' => t('ман'),
-    'BSD' => t('D'),
-    'BHD' => t('.د.ب'),
-    'BDT' => t('৳, ৲'),
-    'BBD' => t('Bds$'),
-    'BYR' => t('p.'),
-    'BZD' => t('BZ$'),
-    'BMD' => t('$'),
-    'BTN' => t('Nu.'),
-    'BOB' => t('$b'),
-    'BAM' => t('KM'),
-    'BWP' => t('P'),
-    'BRL' => t('R$'),
-    'GBP' => t('£'),
-    'BND' => t('$'),
-    'BGN' => t('лв'),
-    'BIF' => t('FBu'),
-    'KHR' => t('៛'),
-    'CAD' => t('$'),
-    'CVE' => t('Esc'),
-    'KYD' => t('$'),
-    'XOF' => t('F'),
-    'XAF' => t('F'),
-    'CLP' => t('$'),
-    'CNY' => t('元'),
-    'COP' => t('$'),
-    'KMF' => t('F'),
-    'CRC' => t('₡'),
-    'HRK' => t('kn'),
-    'CUP' => t('₱'),
-    'CYP' => t('£'),
-    'CZK' => t('Kč'),
-    'DKK' => t('kr'),
-    'DJF' => t('Fdj'),
-    'DOP' => t('RD$'),
-    'XCD' => t('$'),
-    'EGP' => t('LE'),
-    'SVC' => t('$'),
-    'ERN' => t('Nfk'),
-    'EEK' => t('kr'),
-    'ETB' => t('Br'),
-    'EUR' => t('€'),
-    'FKP' => t('£'),
-    'FJD' => t('$'),
-    'GMD' => t('D'),
-    'GHC' => t('¢'),
-    'GIP' => t('£'),
-    'XAU' => t('XAU'),
-    'GTQ' => t('Q'),
-    'GGP' => t('£'),
-    'GNF' => t('FG'),
-    'GYD' => t('$'),
-    'HTG' => t('G'),
-    'HNL' => t('L'),
-    'HKD' => t('HK$'),
-    'HUF' => t('Ft'),
-    'ISK' => t('kr'),
-    'INR' => t('₨'),
-    'IDR' => t('Rp'),
-    'IRR' => t('﷼'),
-    'IQD' => t('ع.د'),
-    'ILS' => t('₪'),
-    'JMD' => t('J$'),
-    'JPY' => t('¥'),
-    'JOD' => t('din.'),
-    'KZT' => t('лв'),
-    'KES' => t('KSh'),
-    'KRW' => t('₩'),
-    'KWD' => t('د.ك'),
-    'KGS' => t('лв'),
-    'LAK' => t('₭'),
-    'LVL' => t('Ls'),
-    'LBP' => t('£'),
-    // L for singular, M for plural
-    'LSL' => t('M'),
-    'LRD' => t('$'),
-    'LYD' => t('ل.د'),
-    'LTL' => t('Lt'),
-    'MOP' => t('MOP$'),
-    'MKD' => t('ден'),
-    // Non-decimal currency.
-    'MGA' => t('iraimbilanja'),
-    'MWK' => t('MK'),
-    'MYR' => t('RM'),
-    'MVR' => t('Rf'),
-    'MTL' => t('Lm'),
-    // Non-decimal currency.
-    'MRO' => t('UM'),
-    'MUR' => t('₨'),
-    'MXN' => t('$'),
-    'MDL' => t('lei'),
-    'MNT' => t('₮'),
-    'MAD' => t('د.م.'),
-    'MZM' => t('MT'),
-    'MMK' => t('K'),
-    'NAD' => t('$'),
-    'NPR' => t('₨'),
-    'ANG' => t('ƒ'),
-    'NZD' => t('$'),
-    'NIO' => t('C$'),
-    'NGN' => t('₦'),
-    'KPW' => t('₩'),
-    'NOK' => t('kr'),
-    'OMR' => t('﷼'),
-    'XPF' => t('F'),
-    'PKR' => t('₨'),
-    'XPD' => t('XPD'),
-    'PAB' => t('B/.'),
-    'PGK' => t('K'),
-    'PYG' => t('Gs'),
-    'PEN' => t('S/.'),
-    'PHP' => t('Php'),
-    'XPT' => t('XPT'),
-    'PLN' => t('zł'),
-    'QAR' => t('﷼'),
-    'ROL' => t('lei'),
-    'RUB' => t('руб'),
-    'RWF' => t('RF'),
-    'WST' => t('WS$'),
-    'STD' => t('Db'),
-    'SAR' => t('﷼'),
-    'SCR' => t('₨'),
-    'RSD' => t('Дин.'),
-    'SLL' => t('Le'),
-    'XAG' => t('XAG'),
-    'SGD' => t('$'),
-    'SKK' => t('SIT'),
-    'SBD' => t('$'),
-    'SOS' => t('S'),
-    'ZAR' => t('R'),
-    'LKR' => t('₨'),
-    'SHP' => t('£'),
-    'SDD' => t('£Sd'),
-    'SRD' => t('$'),
-    // L for singular, E for plural
-    'SZL' => t('E'),
-    'SEK' => t('kr'),
-    'CHF' => t('CHF'),
-    'SYP' => t('£'),
-    'TWD' => t('NT$'),
-    // No symbol, but instead an insane formatting.
-    // See http://en.wikipedia.org/wiki/Tanzanian_shilling#Symbol.
-    'TZS' => t('TZS'),
-    'THB' => t('฿'),
-    'TOP' => t('T$'),
-    'TTD' => t('TT$'),
-    'TND' => t('د.ت'),
-    'TRY' => t('YTL'),
-    'USD' => t('$'),
-    'AED' => t('د.إ'),
-    'UGX' => t('USh'),
-    // There is a new sign as of March 2004, which is encoded as U+20B4 in
-    // Unicode 4.1 released in 2005. It's not yet supported by most operating
-    // systems, so I opted for the abbrevation instead.
-    'UAH' => t('грн.'),
-    'UYU' => t('$U'),
-    'UZS' => t('лв'),
-    'VUV' => t('Vt'),
-    'VEB' => t('Bs'),
-    'VND' => t('₫'),
-    'YER' => t('﷼'),
-    'YUM' => t('дин'),
-    'ZMK' => t('ZK'),
-    'ZWD' => t('Z$'),
+    'ALL' => array('code' => 'ALL', 'name' => t("Albanian Lek (ALL)"), 'symbol' => 'Lek', 'decimal' => '2'),
+    'DZD' => array('code' => 'DZD', 'name' => t("Algerian Dinar (DZD)"), 'symbol' => 'دج', 'decimal' => '2'),
+    'XAL' => array('code' => 'XAL', 'name' => t("Aluminium Ounces (XAL)"), 'symbol' => '', 'decimal' => '2'),
+    'ARS' => array('code' => 'ARS', 'name' => t("Argentine Peso (ARS)"), 'symbol' => '$', 'decimal' => '2'),
+    'AWG' => array('code' => 'AWG', 'name' => t("Aruba Florin (AWG)"), 'symbol' => 'ƒ', 'decimal' => '2'),
+    'AUD' => array('code' => 'AUD', 'name' => t("Australian Dollar (AUD)"), 'symbol' => '$', 'decimal' => '2'),
+    'BSD' => array('code' => 'BSD', 'name' => t("Bahamian Dollar (BSD)"), 'symbol' => 'D', 'decimal' => '2'),
+    'BHD' => array('code' => 'BHD', 'name' => t("Bahraini Dinar (BHD)"), 'symbol' => '.د.ب', 'decimal' => '2'),
+    'BDT' => array('code' => 'BDT', 'name' => t("Bangladesh Taka (BDT)"), 'symbol' => '৳, ৲', 'decimal' => '2'),
+    'BBD' => array('code' => 'BBD', 'name' => t("Barbados Dollar (BBD)"), 'symbol' => 'Bds$', 'decimal' => '2'),
+    'BYR' => array('code' => 'BYR', 'name' => t("Belarus Ruble (BYR)"), 'symbol' => 'p.', 'decimal' => '2'),
+    'BZD' => array('code' => 'BZD', 'name' => t("Belize Dollar (BZD)"), 'symbol' => 'BZ$', 'decimal' => '2'),
+    'BMD' => array('code' => 'BMD', 'name' => t("Bermuda Dollar (BMD)"), 'symbol' => '$', 'decimal' => '2'),
+    'BTN' => array('code' => 'BTN', 'name' => t("Bhutan Ngultrum (BTN)"), 'symbol' => 'Nu.', 'decimal' => '2'),
+    'BOB' => array('code' => 'BOB', 'name' => t("Bolivian Boliviano (BOB)"), 'symbol' => '$b', 'decimal' => '2'),
+    'BWP' => array('code' => 'BWP', 'name' => t("Botswana Pula (BWP)"), 'symbol' => 'P', 'decimal' => '2'),
+    'BRL' => array('code' => 'BRL', 'name' => t("Brazilian Real (BRL)"), 'symbol' => 'R$', 'decimal' => '2'),
+    'GBP' => array('code' => 'GBP', 'name' => t("British Pound (GBP)"), 'symbol' => '£', 'decimal' => '2'),
+    'BND' => array('code' => 'BND', 'name' => t("Brunei Dollar (BND)"), 'symbol' => '$', 'decimal' => '2'),
+    'BGN' => array('code' => 'BGN', 'name' => t("Bulgarian Lev (BGN)"), 'symbol' => 'лв', 'decimal' => '2'),
+    'BIF' => array('code' => 'BIF', 'name' => t("Burundi Franc (BIF)"), 'symbol' => 'FBu', 'decimal' => '2'),
+    'KHR' => array('code' => 'KHR', 'name' => t("Cambodia Riel (KHR)"), 'symbol' => '៛', 'decimal' => '2'),
+    'CAD' => array('code' => 'CAD', 'name' => t("Canadian Dollar (CAD)"), 'symbol' => '$', 'decimal' => '2'),
+    'CVE' => array('code' => 'CVE', 'name' => t("Cape Verde Escudo (CVE)"), 'symbol' => 'Esc', 'decimal' => '2'),
+    'KYD' => array('code' => 'KYD', 'name' => t("Cayman Islands Dollar (KYD)"), 'symbol' => '$', 'decimal' => '2'),
+    'XOF' => array('code' => 'XOF', 'name' => t("CFA Franc (BCEAO) (XOF)"), 'symbol' => 'F', 'decimal' => '2'),
+    'XAF' => array('code' => 'XAF', 'name' => t("CFA Franc (BEAC) (XAF)"), 'symbol' => 'F', 'decimal' => '2'),
+    'CLP' => array('code' => 'CLP', 'name' => t("Chilean Peso (CLP)"), 'symbol' => '$', 'decimal' => '2'),
+    'CNY' => array('code' => 'CNY', 'name' => t("Chinese Yuan (CNY)"), 'symbol' => '元', 'decimal' => '2'),
+    'COP' => array('code' => 'COP', 'name' => t("Colombian Peso (COP)"), 'symbol' => '$', 'decimal' => '2'),
+    'KMF' => array('code' => 'KMF', 'name' => t("Comoros Franc (KMF)"), 'symbol' => 'F', 'decimal' => '2'),
+    'XCP' => array('code' => 'XCP', 'name' => t("Copper Pounds (XCP)"), 'symbol' => '', 'decimal' => '2'),
+    'CRC' => array('code' => 'CRC', 'name' => t("Costa Rica Colon (CRC)"), 'symbol' => '₡', 'decimal' => '2'),
+    'HRK' => array('code' => 'HRK', 'name' => t("Croatian Kuna (HRK)"), 'symbol' => 'kn', 'decimal' => '2'),
+    'CUP' => array('code' => 'CUP', 'name' => t("Cuban Peso (CUP)"), 'symbol' => '₱', 'decimal' => '2'),
+    'CYP' => array('code' => 'CYP', 'name' => t("Cyprus Pound (CYP)"), 'symbol' => '£', 'decimal' => '2'),
+    'CZK' => array('code' => 'CZK', 'name' => t("Czech Koruna (CZK)"), 'symbol' => 'Kč', 'decimal' => '2'),
+    'DKK' => array('code' => 'DKK', 'name' => t("Danish Krone (DKK)"), 'symbol' => 'kr', 'decimal' => '2'),
+    'DJF' => array('code' => 'DJF', 'name' => t("Dijibouti Franc (DJF)"), 'symbol' => 'Fdj', 'decimal' => '2'),
+    'DOP' => array('code' => 'DOP', 'name' => t("Dominican Peso (DOP)"), 'symbol' => 'RD$', 'decimal' => '2'),
+    'XCD' => array('code' => 'XCD', 'name' => t("East Caribbean Dollar (XCD)"), 'symbol' => '$', 'decimal' => '2'),
+    'ECS' => array('code' => 'ECS', 'name' => t("Ecuador Sucre (ECS)"), 'symbol' => '', 'decimal' => '2'),
+    'EGP' => array('code' => 'EGP', 'name' => t("Egyptian Pound (EGP)"), 'symbol' => 'LE', 'decimal' => '2'),
+    'SVC' => array('code' => 'SVC', 'name' => t("El Salvador Colon (SVC)"), 'symbol' => '$', 'decimal' => '2'),
+    'ERN' => array('code' => 'ERN', 'name' => t("Eritrea Nakfa (ERN)"), 'symbol' => 'Nfk', 'decimal' => '2'),
+    'EEK' => array('code' => 'EEK', 'name' => t("Estonian Kroon (EEK)"), 'symbol' => 'kr', 'decimal' => '2'),
+    'ETB' => array('code' => 'ETB', 'name' => t("Ethiopian Birr (ETB)"), 'symbol' => 'Br', 'decimal' => '2'),
+    'EUR' => array('code' => 'EUR', 'name' => t("Euro (EUR)"), 'symbol' => '€', 'decimal' => '2'),
+    'FKP' => array('code' => 'FKP', 'name' => t("Falkland Islands Pound (FKP)"), 'symbol' => '£', 'decimal' => '2'),
+    'FJD' => array('code' => 'FJD', 'name' => t("Fiji Dollar (FJD)"), 'symbol' => '$', 'decimal' => '2'),
+    'GMD' => array('code' => 'GMD', 'name' => t("Gambian Dalasi (GMD)"), 'symbol' => 'D', 'decimal' => '2'),
+    'GHC' => array('code' => 'GHC', 'name' => t("Ghanian Cedi (GHC)"), 'symbol' => '¢', 'decimal' => '2'),
+    'GIP' => array('code' => 'GIP', 'name' => t("Gibraltar Pound (GIP)"), 'symbol' => '£', 'decimal' => '2'),
+    'XAU' => array('code' => 'XAU', 'name' => t("Gold Ounces (XAU)"), 'symbol' => 'XAU', 'decimal' => '2'),
+    'GTQ' => array('code' => 'GTQ', 'name' => t("Guatemala Quetzal (GTQ)"), 'symbol' => 'Q', 'decimal' => '2'),
+    'GNF' => array('code' => 'GNF', 'name' => t("Guinea Franc (GNF)"), 'symbol' => 'FG', 'decimal' => '2'),
+    'GYD' => array('code' => 'GYD', 'name' => t("Guyana Dollar (GYD)"), 'symbol' => '$', 'decimal' => '2'),
+    'HTG' => array('code' => 'HTG', 'name' => t("Haiti Gourde (HTG)"), 'symbol' => 'G', 'decimal' => '2'),
+    'HNL' => array('code' => 'HNL', 'name' => t("Honduras Lempira (HNL)"), 'symbol' => 'L', 'decimal' => '2'),
+    'HKD' => array('code' => 'HKD', 'name' => t("Hong Kong Dollar (HKD)"), 'symbol' => 'HK$', 'decimal' => '2'),
+    'HUF' => array('code' => 'HUF', 'name' => t("Hungarian Forint (HUF)"), 'symbol' => 'Ft', 'decimal' => '2'),
+    'ISK' => array('code' => 'ISK', 'name' => t("Iceland Krona (ISK)"), 'symbol' => 'kr', 'decimal' => '2'),
+    'INR' => array('code' => 'INR', 'name' => t("Indian Rupee (INR)"), 'symbol' => '₨', 'decimal' => '2'),
+    'IDR' => array('code' => 'IDR', 'name' => t("Indonesian Rupiah (IDR)"), 'symbol' => 'Rp', 'decimal' => '2'),
+    'IRR' => array('code' => 'IRR', 'name' => t("Iran Rial (IRR)"), 'symbol' => '﷼', 'decimal' => '2'),
+    'IQD' => array('code' => 'IQD', 'name' => t("Iraqi Dinar (IQD)"), 'symbol' => 'ع.د', 'decimal' => '2'),
+    'ILS' => array('code' => 'ILS', 'name' => t("Israeli Shekel (ILS)"), 'symbol' => '₪', 'decimal' => '2'),
+    'JMD' => array('code' => 'JMD', 'name' => t("Jamaican Dollar (JMD)"), 'symbol' => 'J$', 'decimal' => '2'),
+    'JPY' => array('code' => 'JPY', 'name' => t("Japanese Yen (JPY)"), 'symbol' => '¥', 'decimal' => '0'),
+    'JOD' => array('code' => 'JOD', 'name' => t("Jordanian Dinar (JOD)"), 'symbol' => 'din.', 'decimal' => '2'),
+    'KZT' => array('code' => 'KZT', 'name' => t("Kazakhstan Tenge (KZT)"), 'symbol' => 'лв', 'decimal' => '2'),
+    'KES' => array('code' => 'KES', 'name' => t("Kenyan Shilling (KES)"), 'symbol' => 'KSh', 'decimal' => '2'),
+    'KRW' => array('code' => 'KRW', 'name' => t("Korean Won (KRW)"), 'symbol' => '₩', 'decimal' => '2'),
+    'KWD' => array('code' => 'KWD', 'name' => t("Kuwaiti Dinar (KWD)"), 'symbol' => 'د.ك', 'decimal' => '2'),
+    'LAK' => array('code' => 'LAK', 'name' => t("Lao Kip (LAK)"), 'symbol' => '₭', 'decimal' => '2'),
+    'LVL' => array('code' => 'LVL', 'name' => t("Latvian Lat (LVL)"), 'symbol' => 'Ls', 'decimal' => '2'),
+    'LBP' => array('code' => 'LBP', 'name' => t("Lebanese Pound (LBP)"), 'symbol' => '£', 'decimal' => '2'),
+    'LSL' => array('code' => 'LSL', 'name' => t("Lesotho Loti (LSL)"), 'symbol' => 'M', 'decimal' => '2'),
+    'LRD' => array('code' => 'LRD', 'name' => t("Liberian Dollar (LRD)"), 'symbol' => '$', 'decimal' => '2'),
+    'LYD' => array('code' => 'LYD', 'name' => t("Libyan Dinar (LYD)"), 'symbol' => 'ل.د', 'decimal' => '2'),
+    'LTL' => array('code' => 'LTL', 'name' => t("Lithuanian Lita (LTL)"), 'symbol' => 'Lt', 'decimal' => '2'),
+    'MOP' => array('code' => 'MOP', 'name' => t("Macau Pataca (MOP)"), 'symbol' => 'MOP$', 'decimal' => '2'),
+    'MKD' => array('code' => 'MKD', 'name' => t("Macedonian Denar (MKD)"), 'symbol' => 'ден', 'decimal' => '2'),
+    'MWK' => array('code' => 'MWK', 'name' => t("Malawi Kwacha (MWK)"), 'symbol' => 'MK', 'decimal' => '2'),
+    'MYR' => array('code' => 'MYR', 'name' => t("Malaysian Ringgit (MYR)"), 'symbol' => 'RM', 'decimal' => '2'),
+    'MVR' => array('code' => 'MVR', 'name' => t("Maldives Rufiyaa (MVR)"), 'symbol' => 'Rf', 'decimal' => '2'),
+    'MTL' => array('code' => 'MTL', 'name' => t("Maltese Lira (MTL)"), 'symbol' => 'Lm', 'decimal' => '2'),
+    'MRO' => array('code' => 'MRO', 'name' => t("Mauritania Ougulya (MRO)"), 'symbol' => 'UM', 'decimal' => '0'),
+    'MUR' => array('code' => 'MUR', 'name' => t("Mauritius Rupee (MUR)"), 'symbol' => '₨', 'decimal' => '2'),
+    'MXN' => array('code' => 'MXN', 'name' => t("Mexican Peso (MXN)"), 'symbol' => '$', 'decimal' => '2'),
+    'MDL' => array('code' => 'MDL', 'name' => t("Moldovan Leu (MDL)"), 'symbol' => 'lei', 'decimal' => '2'),
+    'MNT' => array('code' => 'MNT', 'name' => t("Mongolian Tugrik (MNT)"), 'symbol' => '₮', 'decimal' => '2'),
+    'MAD' => array('code' => 'MAD', 'name' => t("Moroccan Dirham (MAD)"), 'symbol' => 'د.م.', 'decimal' => '2'),
+    'MMK' => array('code' => 'MMK', 'name' => t("Myanmar Kyat (MMK)"), 'symbol' => 'K', 'decimal' => '2'),
+    'NAD' => array('code' => 'NAD', 'name' => t("Namibian Dollar (NAD)"), 'symbol' => '$', 'decimal' => '2'),
+    'NPR' => array('code' => 'NPR', 'name' => t("Nepalese Rupee (NPR)"), 'symbol' => '₨', 'decimal' => '2'),
+    'ANG' => array('code' => 'ANG', 'name' => t("Neth Antilles Guilder (ANG)"), 'symbol' => 'ƒ', 'decimal' => '2'),
+    'TRY' => array('code' => 'TRY', 'name' => t("New Turkish Lira (TRY)"), 'symbol' => 'YTL', 'decimal' => '2'),
+    'NZD' => array('code' => 'NZD', 'name' => t("New Zealand Dollar (NZD)"), 'symbol' => '$', 'decimal' => '2'),
+    'NIO' => array('code' => 'NIO', 'name' => t("Nicaragua Cordoba (NIO)"), 'symbol' => 'C$', 'decimal' => '2'),
+    'NGN' => array('code' => 'NGN', 'name' => t("Nigerian Naira (NGN)"), 'symbol' => '₦', 'decimal' => '2'),
+    'KPW' => array('code' => 'KPW', 'name' => t("North Korean Won (KPW)"), 'symbol' => '₩', 'decimal' => '2'),
+    'NOK' => array('code' => 'NOK', 'name' => t("Norwegian Krone (NOK)"), 'symbol' => 'kr', 'decimal' => '2'),
+    'OMR' => array('code' => 'OMR', 'name' => t("Omani Rial (OMR)"), 'symbol' => '﷼', 'decimal' => '2'),
+    'XPF' => array('code' => 'XPF', 'name' => t("Pacific Franc (XPF)"), 'symbol' => 'F', 'decimal' => '2'),
+    'PKR' => array('code' => 'PKR', 'name' => t("Pakistani Rupee (PKR)"), 'symbol' => '₨', 'decimal' => '2'),
+    'XPD' => array('code' => 'XPD', 'name' => t("Palladium Ounces (XPD)"), 'symbol' => 'XPD', 'decimal' => '2'),
+    'PAB' => array('code' => 'PAB', 'name' => t("Panama Balboa (PAB)"), 'symbol' => 'B/.', 'decimal' => '2'),
+    'PGK' => array('code' => 'PGK', 'name' => t("Papua New Guinea Kina (PGK)"), 'symbol' => 'K', 'decimal' => '2'),
+    'PYG' => array('code' => 'PYG', 'name' => t("Paraguayan Guarani (PYG)"), 'symbol' => 'Gs', 'decimal' => '2'),
+    'PEN' => array('code' => 'PEN', 'name' => t("Peruvian Nuevo Sol (PEN)"), 'symbol' => 'S/.', 'decimal' => '2'),
+    'PHP' => array('code' => 'PHP', 'name' => t("Philippine Peso (PHP)"), 'symbol' => 'Php', 'decimal' => '2'),
+    'XPT' => array('code' => 'XPT', 'name' => t("Platinum Ounces (XPT)"), 'symbol' => 'XPT', 'decimal' => '2'),
+    'PLN' => array('code' => 'PLN', 'name' => t("Polish Zloty (PLN)"), 'symbol' => 'zł', 'decimal' => '2'),
+    'QAR' => array('code' => 'QAR', 'name' => t("Qatar Rial (QAR)"), 'symbol' => '﷼', 'decimal' => '2'),
+    'RON' => array('code' => 'RON', 'name' => t("Romanian New Leu (RON)"), 'symbol' => '', 'decimal' => '2'),
+    'RUB' => array('code' => 'RUB', 'name' => t("Russian Rouble (RUB)"), 'symbol' => 'руб', 'decimal' => '2'),
+    'RWF' => array('code' => 'RWF', 'name' => t("Rwanda Franc (RWF)"), 'symbol' => 'RF', 'decimal' => '2'),
+    'WST' => array('code' => 'WST', 'name' => t("Samoa Tala (WST)"), 'symbol' => 'WS$', 'decimal' => '2'),
+    'STD' => array('code' => 'STD', 'name' => t("Sao Tome Dobra (STD)"), 'symbol' => 'Db', 'decimal' => '2'),
+    'SAR' => array('code' => 'SAR', 'name' => t("Saudi Arabian Riyal (SAR)"), 'symbol' => '﷼', 'decimal' => '2'),
+    'SCR' => array('code' => 'SCR', 'name' => t("Seychelles Rupee (SCR)"), 'symbol' => '₨', 'decimal' => '2'),
+    'SLL' => array('code' => 'SLL', 'name' => t("Sierra Leone Leone (SLL)"), 'symbol' => 'Le', 'decimal' => '2'),
+    'XAG' => array('code' => 'XAG', 'name' => t("Silver Ounces (XAG)"), 'symbol' => 'XAG', 'decimal' => '2'),
+    'SGD' => array('code' => 'SGD', 'name' => t("Singapore Dollar (SGD)"), 'symbol' => '$', 'decimal' => '2'),
+    'SKK' => array('code' => 'SKK', 'name' => t("Slovak Koruna (SKK)"), 'symbol' => 'SIT', 'decimal' => '2'),
+    'SIT' => array('code' => 'SIT', 'name' => t("Slovenian Tolar (SIT)"), 'symbol' => '', 'decimal' => '2'),
+    'SBD' => array('code' => 'SBD', 'name' => t("Solomon Islands Dollar (SBD)"), 'symbol' => '$', 'decimal' => '2'),
+    'SOS' => array('code' => 'SOS', 'name' => t("Somali Shilling (SOS)"), 'symbol' => 'S', 'decimal' => '2'),
+    'ZAR' => array('code' => 'ZAR', 'name' => t("South African Rand (ZAR)"), 'symbol' => 'R', 'decimal' => '2'),
+    'LKR' => array('code' => 'LKR', 'name' => t("Sri Lanka Rupee (LKR)"), 'symbol' => '₨', 'decimal' => '2'),
+    'SHP' => array('code' => 'SHP', 'name' => t("St Helena Pound (SHP)"), 'symbol' => '£', 'decimal' => '2'),
+    'SDD' => array('code' => 'SDD', 'name' => t("Sudanese Dinar (SDD)"), 'symbol' => '£Sd', 'decimal' => '2'),
+    'SZL' => array('code' => 'SZL', 'name' => t("Swaziland Lilageni (SZL)"), 'symbol' => 'E', 'decimal' => '2'),
+    'SEK' => array('code' => 'SEK', 'name' => t("Swedish Krona (SEK)"), 'symbol' => 'kr', 'decimal' => '2'),
+    'CHF' => array('code' => 'CHF', 'name' => t("Swiss Franc (CHF)"), 'symbol' => 'CHF', 'decimal' => '2'),
+    'SYP' => array('code' => 'SYP', 'name' => t("Syrian Pound (SYP)"), 'symbol' => '£', 'decimal' => '2'),
+    'TWD' => array('code' => 'TWD', 'name' => t("Taiwan Dollar (TWD)"), 'symbol' => 'NT$', 'decimal' => '2'),
+    'TZS' => array('code' => 'TZS', 'name' => t("Tanzanian Shilling (TZS)"), 'symbol' => 'TZS', 'decimal' => '2'),
+    'THB' => array('code' => 'THB', 'name' => t("Thai Baht (THB)"), 'symbol' => '฿', 'decimal' => '2'),
+    'TOP' => array('code' => 'TOP', 'name' => t("Tonga Pa'anga (TOP)"), 'symbol' => 'T$', 'decimal' => '2'),
+    'TTD' => array('code' => 'TTD', 'name' => t("Trinidad&Tobago Dollar (TTD)"), 'symbol' => 'TT$', 'decimal' => '2'),
+    'TND' => array('code' => 'TND', 'name' => t("Tunisian Dinar (TND)"), 'symbol' => 'د.ت', 'decimal' => '2'),
+    'USD' => array('code' => 'USD', 'name' => t("U.S. Dollar (USD)"), 'symbol' => '$', 'decimal' => '2'),
+    'AED' => array('code' => 'AED', 'name' => t("UAE Dirham (AED)"), 'symbol' => 'د.إ', 'decimal' => '2'),
+    'UGX' => array('code' => 'UGX', 'name' => t("Ugandan Shilling (UGX)"), 'symbol' => 'USh', 'decimal' => '2'),
+    'UAH' => array('code' => 'UAH', 'name' => t("Ukraine Hryvnia (UAH)"), 'symbol' => 'грн.', 'decimal' => '2'),
+    'UYU' => array('code' => 'UYU', 'name' => t("Uruguayan New Peso (UYU)"), 'symbol' => '$U', 'decimal' => '2'),
+    'VUV' => array('code' => 'VUV', 'name' => t("Vanuatu Vatu (VUV)"), 'symbol' => 'Vt', 'decimal' => '2'),
+    'VEB' => array('code' => 'VEB', 'name' => t("Venezuelan Bolivar (VEB)"), 'symbol' => 'Bs', 'decimal' => '2'),
+    'VND' => array('code' => 'VND', 'name' => t("Vietnam Dong (VND)"), 'symbol' => '₫', 'decimal' => '2'),
+    'YER' => array('code' => 'YER', 'name' => t("Yemen Riyal (YER)"), 'symbol' => '﷼', 'decimal' => '2'),
+    'ZMK' => array('code' => 'ZMK', 'name' => t("Zambian Kwacha (ZMK)"), 'symbol' => 'ZK', 'decimal' => '2'),
+    'ZWD' => array('code' => 'ZWD', 'name' => t("Zimbabwe Dollar (ZWD)"), 'symbol' => 'Z$', 'decimal' => '2'),
   );
 
   return $currency;
@@ -647,3 +465,15 @@ function currency_api_save($currency_fro
   return db_query("INSERT INTO {currencyapi} VALUES ('%s', '%s', %f, %d)", $currency_from, $currency_to, $rate, time());
 }
 
+/**
+* custom theme to display currency amount
+* default output example: $200.00 USD
+* 
+* @param string
+* @param array
+* returns: formatted string
+* 
+*/
+function theme_currency_api_amount($amount, $attributes) {
+  return t('!symbol!amount !code', array('!symbol' => $attributes['symbol'], '!amount' => number_format($amount, $attributes['decimal']), '!code' => $attributes['code']));
+}
