Media playback is unsupported on your device Media caption An Indonesian helicopter crew recovered debris from the sea at the crash site

Efforts to locate victims and wreckage of AirAsia flight QZ8501 which crashed into the Java Sea in Indonesia on Sunday are being hampered by stormy weather and strong tides.

Indonesian officials have confirmed that remains and debris found in the waters off Borneo are from the plane.

The authorities say that seven bodies have now been retrieved.

The Airbus A320-200, carrying 162 people from Surabaya in Indonesia to Singapore, disappeared on Sunday.

Indonesian President Joko Widodo has promised a "massive search by the ships and helicopters" with the focus on recovering the bodies of victims.

Next of kin of passengers and crew have been asked for DNA samples to help identify the bodies when they come in.

The BBC's Alice Budisatrijo in Surabaya says concerns are growing that the remains will be too difficult to identify after more than three days in the water.

A public memorial will be held in Surabaya on Wednesday evening local time, and the governor of East Java province has told the BBC that all New Year Eve celebrations have been cancelled.

"Now we are focused on praying for the victims," said Soekarwo, who uses one name like many Indonesians. "This is a big tragedy for Indonesia and we will do our best for the victims and their families."

Image copyright EPA Image caption Families have had to endure an agonising wait for news

At the scene: Alice Budisatrijo, Surabaya airport

As the relatives of the QZ8501 passengers and crew wait for the bodies of their loved ones to return to Surabaya, the Indonesian officials are trying to assure them that everything is being done to ensure a swift process.

It is day four since the aircraft went missing from the radar and concerns are growing that the remains will be too difficult to identify. News of bad weather hampering the recovery efforts is another setback for the grieving relatives.

Many say the government and Air Asia have been handling the tragedy as well as they could but all the relatives want is for their loved ones to be properly identified so they can be laid to rest.

Flight QZ8504: What we know

Does bad weather cause planes to crash?

Aircraft from several countries were set to scan the sea in the early hours of Wednesday morning. Divers were also being deployed to search for bodies and for the plane's "black box" flight recorders.

But officials said heavy rain, strong winds and waves of up to 3m (10ft) had forced them to suspend the air operation, though ships already in place were continuing the search.

Image copyright EPA Image caption The search is now focused on the area of sea where the plane is believed to have crashed

Image caption Officials are collecting information on all the passengers from friends and relatives

Image copyright EPA Image caption Detailed information will be used to help with identifying victims once they are found and brought ashore

The head of Indonesia's National Search and Rescue Agency, Bambang Soelistyo, said another body had been retrieved from the sea on Wednesday, bringing the total to seven. One was a woman wearing cabin crew uniform.

Two of the bodies have now been flown to a hospital in Pangkalan Bun in the Borneo province of Central Kalimantan. A ship carrying four bodies is on its way to a harbour near the town.

They will be eventually be taken to Surabaya, which is on the island of Java, for identification.

'Shadow' under water

On board the plane were 137 adult passengers, 17 children and one infant, along with two pilots and five crew.

Image copyright AFP Image caption Pictures of debris were taken by search and rescue aircraft

Image caption A tent for taking DNA samples has been set up near the airport at Surabaya

Most were Indonesian but the passengers included one UK national, a Malaysian, a Singaporean and three South Koreans.

It is not yet clear what happened to the plane but its last communication was a request from air traffic control to move up to avoid bad weather. The pilot did not respond when given permission.

Image copyright Getty Images Image caption Officials say rescuers are "very busy" with the salvage operation

Media playback is unsupported on your device Media caption Pilot's friend: "He was very professional and experienced and a humble man"

A three-day search ended on Tuesday when remains including aircraft parts, luggage and the bodies believed to be passengers were found in the Karimata Strait, south-west of Pangkalan Bun.

Bambang Soelistyo said a shadow had been spotted under the water, which appeared to be in the shape of a plane. Later reports said a large object had been identified by sonar.

The Associated Press news agency quoted one official as saying the bodies of victims could end up being washed up on beaches.

"It seems all the wreckage found has drifted more than 50km from yesterday's location," Vice Air Marshal Sunarbowo Sandi said.

Pictures of debris and bodies were shown on Indonesian TV to distraught relatives waiting at Surabaya's Juanda international airport.

Those watching the pictures were visibly shocked, with some collapsing.

Media playback is unsupported on your device Media caption Lanny Hartono cancelled her seat on flight QZ8501 two weeks before it flew

The search is being led by Indonesia but is a multinational effort. Singapore has sent ships equipped with sensors to detect pings that may be emitted from the plane's black boxes.

Malaysia, Australia and Thailand are also involved, while the US destroyer USS Sampson has been sent to the zone.

AirAsia previously had an excellent safety record and there were no fatal accidents involving its aircraft.

The head of the airline, Tony Fernandes, said he was "absolutely devastated" and that the priority was on the wellbeing of passengers' families.