XML 65 R6.htm IDEA: XBRL DOCUMENT v2.4.1.9
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (USD $)
Total
Redeemable Preferred Stock [Member]
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
Cumulative translation adjustment [Member]
Non-controlling interests [Member]
Balance (in shares) at Dec. 31, 2011   22,427us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
14,568,696us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Issue of share capital $ 184,254us-gaap_StockIssuedDuringPeriodValueNewIssues $ 6,850us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
$ 13,013us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
$ 164,391us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
$ 0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
$ 0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
$ 0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Issue of share capital (in shares)   11,417us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
21,686us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Conversion of preferred stock 0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities (1,577)us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
1,577us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Conversion of preferred stock (in shares)   (2,629)us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
2,629us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Buyback of preferred stock (7,789)us-gaap_StockRedeemedOrCalledDuringPeriodValue (570)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
(7,219)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Buyback of preferred stock (in shares)   (950)us-gaap_StockRedeemedOrCalledDuringPeriodShares
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
         
Net income 9,624,009us-gaap_ProfitLoss 0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
9,315,514us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
308,495us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Dividends declared (4,453,278)us-gaap_DividendsCash 0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
(4,381,278)us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
(72,000)us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Foreign currency translation adjustment (16,210)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax 0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
(15,400)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
(810)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Balance at Dec. 31, 2012 136,118,380us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest 18,159us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
8,755,807us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
82,467,421us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
42,965,179us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
(15,400)us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
1,927,214us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Balance (in shares) at Dec. 31, 2012   30,265us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
14,593,011us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Issue of share capital 217,873us-gaap_StockIssuedDuringPeriodValueNewIssues 6,108us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
15,067us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
196,698us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Issue of share capital (in shares)   10,180us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
25,111us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Conversion of preferred stock 0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities (2,832)us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
2,832us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Conversion of preferred stock (in shares)   (4,720)us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
4,720us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Buyback of preferred stock (4,265)us-gaap_StockRedeemedOrCalledDuringPeriodValue (313)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
(3,952)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Buyback of preferred stock (in shares)   (521)us-gaap_StockRedeemedOrCalledDuringPeriodShares
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
         
Net income 9,148,489us-gaap_ProfitLoss 0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
8,594,519us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
553,970us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Exercise of options 514,081us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 1,322us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
38,012us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
474,747us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Dividends declared (4,404,150)us-gaap_DividendsCash 0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
(4,404,150)us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Foreign currency translation adjustment (480,614)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax 0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
(456,583)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
(24,031)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Balance at Dec. 31, 2013 141,498,373us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest 22,445us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
8,811,718us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
83,381,387us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
47,155,548us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
(471,983)us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
2,599,258us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Balance (in shares) at Dec. 31, 2013   37,408us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
14,686,197us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Issue of share capital 259,337us-gaap_StockIssuedDuringPeriodValueNewIssues 3,574us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
10,976us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
244,787us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockIssuedDuringPeriodValueNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Issue of share capital (in shares)   5,957us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
18,294us-gaap_StockIssuedDuringPeriodSharesNewIssues
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Conversion of preferred stock 0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities (2,854)us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
2,854us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Conversion of preferred stock (in shares)   (4,756)us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
4,756us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Buyback of preferred stock (13,662)us-gaap_StockRedeemedOrCalledDuringPeriodValue (1,093)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
  (12,569)us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockRedeemedOrCalledDuringPeriodValue
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Buyback of preferred stock (in shares)   (1,822)us-gaap_StockRedeemedOrCalledDuringPeriodShares
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_StockRedeemedOrCalledDuringPeriodShares
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
       
Net income 6,764,540us-gaap_ProfitLoss 0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
6,265,358us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
499,182us-gaap_ProfitLoss
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Exercise of options 53,136us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 32us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
3,991us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
49,113us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Dividends declared (4,584,681)us-gaap_DividendsCash 0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
(4,420,285)us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
0us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
(164,396)us-gaap_DividendsCash
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Foreign currency translation adjustment (10,953)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax 0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
(10,405)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
(548)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Balance at Dec. 31, 2014 $ 144,082,664us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest $ 22,104us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
$ 8,829,539us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember
$ 83,779,292us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_AdditionalPaidInCapitalMember
$ 49,000,621us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RetainedEarningsMember
$ (482,388)us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= cwco_CumulativeTranslationAdjustmentMember
$ 2,933,496us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementClassOfStockAxis
= us-gaap_NoncontrollingInterestMember
Balance (in shares) at Dec. 31, 2014   36,840us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_RedeemablePreferredStockMember
14,715,899us-gaap_SharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonStockMember