Violence erupted in Bangkok on Saturday, the eve of tense Thai elections, with explosions and heavy gunfire breaking out in clashes between pro- and anti-government protesters.
Bystanders, security personnel and journalists raced to take cover in a north Bangkok shopping mall after a man pulled an assault rifle from a bag and began spraying bullets during a stand-off between government supporters and scores of opposition demonstrators.
The firing went on for at least one hour.
Emergency workers said several people have been injured in the fighting, which broke out as anti-government groups laid siege to a ballot box distribution centre in the Thai capital.
"One victim was apparently shot in the chest and was hospitalised," an official from the city's Erawan emergency centre said, adding that two others had also been taken to hospital.
Tensions are high in the capital ahead of controversial elections on Sunday, which opposition demonstrators have vowed to block as they seek to prevent the likely re-election of Prime Minister Yingluck Shinawatra.
Bangkok has been rocked by weeks of sometimes bloody rallies by a loose coalition opposed to Yingluck and the enduring influence of her brother Thaksin Shinawatra - a former premier ousted by the military in 2006.
The unrest is the latest round of political instability to hit Thailand since royalist generals ousted Thaksin seven years ago, unleashing a cycle of occasionally-violent street protests.
Saturday's clashes happened after demonstrators blocking ballot boxes from being delivered from the Lak Si district office in northern Bangkok - one of 50 in the capital - were confronted by a group of some 200 government supporters, some armed with sticks and metal bars.
At least two explosions were heard in the area, which police attributed to Molotov cocktails, before the firing began.
The AFP reporter said there were volleys of heavy gunfire in the area at one point.
At least 10 people have been killed and hundreds injured in clashes, grenade attacks and drive-by shootings since the opposition rallies began three months ago.
Observers are predicting a chaotic election after advance voting was blocked in several parts of the capital last Sunday.
Around 130,000 police are set to protect 93,000 polling stations across the country.
Authorities said protesters were also blocking ballot boxes being delivered to polling stations across southern Thailand.
Opposition protesters - mainly the Bangkok middle classes and southerners, backed by factions in the elite - are demanding Yingluck's elected government step down to make way for an unelected "people's council" that would oversee loosely defined reforms to tackle corruption and alleged vote-buying.
"The government is corrupt. If we let the vote go on then they will come back, so we should not hold the election," said opposition protester Sirames, who gave only one name, at the Lak Si office before violence broke out.
The backdrop to the protests is a years-long political struggle pitting the kingdom's royalist establishment - backed by the courts and the military - against Thaksin, a billionaire tycoon-turned-politician.
Yingluck is likely to win Sunday's poll, helped by strong support in Thaksin's north and northeastern heartlands.
But uncertainty hangs over the results, with unrest threatening polling and several constituencies without a candidate.
Some 440,000 people prevented from casting ballots last week are due to vote on February 23.