public function indexAction()
    {
        $address = $this->getRequest()->getParam('address');
        $address = mb_convert_encoding(urldecode($address), 'UTF-8');
        $address = self::stripAccents($address);
        $zipcode = $this->getRequest()->getParam('zipcode');
        $zipcode = trim(urldecode($zipcode));
        $zipcode = mb_convert_encoding($zipcode, 'UTF-8');
        $city = $this->getRequest()->getParam('city');
        $city = mb_convert_encoding(urldecode($city), 'UTF-8');
        $city = self::stripAccents($city);
        if (empty($zipcode)) {
            echo '<ul class="messages"><li class="warnmsg"><ul><li>' . Mage::helper('dpdfrrelais')->__('The field Postal Code is mandatory!') . '</li></ul></li></ul>';
        } else {
            if (empty($city)) {
                echo '<ul class="messages"><li class="warnmsg"><ul><li>' . Mage::helper('dpdfrrelais')->__('The field City is mandatory!') . '</li></ul></li></ul>';
            } else {
                $serviceurl = Mage::getStoreConfig('carriers/dpdfrrelais/serviceurl');
                $firmid = Mage::getStoreConfig('carriers/dpdfrrelais/indentifier');
                $key = Mage::getStoreConfig('carriers/dpdfrrelais/key');
                // Paramètres d'appel au WS MyPudo
                $variables = array('carrier' => $firmid, 'key' => $key, 'address' => $address, 'zipCode' => $zipcode, 'city' => $city, 'countrycode' => 'FR', 'requestID' => '1234', 'request_id' => '1234', 'date_from' => date('d/m/Y'), 'max_pudo_number' => '', 'max_distance_search' => '', 'weight' => '', 'category' => '', 'holiday_tolerant' => '');
                // Message d'erreur si PHP_SOAP manquant
                if (!extension_loaded('soap')) {
                    echo '<ul class="messages"><li class="warnmsg"><ul><li>' . Mage::helper('dpdfrrelais')->__('ATTENTION! L\'extension PHP SOAP n\'est pas activée sur ce serveur. Vous devez l\'activer pour utiliser le module DPD Relais.') . '</li></ul></li></ul>';
                }
                // Appel WS
                try {
                    ini_set("default_socket_timeout", 3);
                    $soappudo = new SoapClient($serviceurl, array('connection_timeout' => 3, 'cache_wsdl' => WSDL_CACHE_NONE, 'exceptions' => true));
                    $GetPudoList = $soappudo->getPudoList($variables);
                    // appel SOAP a l'applicatif GetPudoList
                } catch (Exception $e) {
                    echo '<ul class="messages"><li class="warnmsg"><ul><li>' . Mage::helper('dpdfrrelais')->__('An error ocurred while fetching the DPD Pickup points. Please try again') . '</li></ul></li></ul>';
                    exit;
                }
                $doc_xml = new SimpleXMLElement($GetPudoList->GetPudoListResult->any);
                // parsage XML de la réponse SOAP
                $quality = (int) $doc_xml->attributes()->quality;
                // indice de qualité de la réponse SOAP
                if ($doc_xml->xpath('ERROR')) {
                    // si le webservice répond un code erreur, afficher un message d'indisponibilité
                    echo '<ul class="messages"><li class="warnmsg"><ul><li>' . Mage::helper('dpdfrrelais')->__('An error ocurred while fetching the DPD Pickup points. Please try again') . '</li></ul></li></ul>';
                } else {
                    if ((int) $quality == 0) {
                        // Si la qualité de la réponse est 0, "merci d'indiquer une autre adresse"
                        echo '<ul class="messages"><li class="warnmsg"><ul><li>' . Mage::helper('dpdfrrelais')->__('There are no DPD Pickup points for the selected adress. Please modify it.') . '</li></ul></li></ul>';
                    } else {
                        $allpudoitems = $doc_xml->xpath('PUDO_ITEMS');
                        // acceder a la balise pudo_items
                        foreach ($allpudoitems as $singlepudoitem) {
                            $result = $singlepudoitem->xpath('PUDO_ITEM');
                            $i = 0;
                            foreach ($result as $result2) {
                                $offset = $i;
                                $LATITUDE = (double) str_replace(",", ".", (string) $result2->LATITUDE);
                                $LONGITUDE = (double) str_replace(",", ".", (string) $result2->LONGITUDE);
                                $html = '
								<div>
									<span class="dpdfrrelais_logo"><img src="' . Mage::getBaseUrl('media') . 'dpdfrance/front/relais/pointrelais.png" alt="-"/></span>
									<span class="s1"><strong>' . self::stripAccents($result2->NAME) . '</strong><br/>' . self::stripAccents($result2->ADDRESS1) . ' <br/> ' . $result2->ZIPCODE . ' ' . self::stripAccents($result2->CITY) . '</span>
									<span class="s2">' . sprintf("%01.2f", (int) $result2->DISTANCE / 1000) . ' km  </span>
									<span class="s3"><a href="#!" onClick="openDialog(\'relaydetail' . $offset . '\',\'map_canvas' . $offset . '\',\'' . $LATITUDE . '\',\'' . $LONGITUDE . '\',\'' . Mage::getBaseUrl('media') . '\')">' . Mage::helper('dpdfrrelais')->__('More details') . '</a></span>
									<input type="radio" id="relay-point' . $offset . '" name="relay-point" class="dpdfrrelais_radio" value="' . self::stripAccents($result2->ADDRESS1) . '  ' . self::stripAccents($result2->ADDRESS2) . '|||' . self::stripAccents($result2->NAME) . '  ' . (string) $result2->PUDO_ID . '|||' . $result2->ZIPCODE . '|||' . self::stripAccents($result2->CITY) . '">
									<label class="dpdfrrelais_button_ici" for="relay-point' . $offset . '"><span><span></span></span><b>ICI</b></label>
								</div>
								';
                                $days = array(1 => 'monday', 2 => 'tuesday', 3 => 'wednesday', 4 => 'thursday', 5 => 'friday', 6 => 'saturday', 7 => 'sunday');
                                $point = array();
                                $item = (array) $result2;
                                if (count($item['OPENING_HOURS_ITEMS']->OPENING_HOURS_ITEM) > 0) {
                                    foreach ($item['OPENING_HOURS_ITEMS']->OPENING_HOURS_ITEM as $k => $oh_item) {
                                        $oh_item = (array) $oh_item;
                                        $point[$days[$oh_item['DAY_ID']]][] = $oh_item['START_TM'] . ' - ' . $oh_item['END_TM'];
                                    }
                                }
                                if (empty($point['monday'])) {
                                    $h1 = Mage::helper('dpdfrrelais')->__('Closed');
                                } else {
                                    if (empty($point['monday'][1])) {
                                        $h1 = $point['monday'][0];
                                    } else {
                                        $h1 = $point['monday'][0] . ' & ' . $point['monday'][1];
                                    }
                                }
                                if (empty($point['tuesday'])) {
                                    $h2 = Mage::helper('dpdfrrelais')->__('Closed');
                                } else {
                                    if (empty($point['tuesday'][1])) {
                                        $h2 = $point['tuesday'][0];
                                    } else {
                                        $h2 = $point['tuesday'][0] . ' & ' . $point['tuesday'][1];
                                    }
                                }
                                if (empty($point['wednesday'])) {
                                    $h3 = Mage::helper('dpdfrrelais')->__('Closed');
                                } else {
                                    if (empty($point['wednesday'][1])) {
                                        $h3 = $point['wednesday'][0];
                                    } else {
                                        $h3 = $point['wednesday'][0] . ' & ' . $point['wednesday'][1];
                                    }
                                }
                                if (empty($point['thursday'])) {
                                    $h4 = Mage::helper('dpdfrrelais')->__('Closed');
                                } else {
                                    if (empty($point['thursday'][1])) {
                                        $h4 = $point['thursday'][0];
                                    } else {
                                        $h4 = $point['thursday'][0] . ' & ' . $point['thursday'][1];
                                    }
                                }
                                if (empty($point['friday'])) {
                                    $h5 = Mage::helper('dpdfrrelais')->__('Closed');
                                } else {
                                    if (empty($point['friday'][1])) {
                                        $h5 = $point['friday'][0];
                                    } else {
                                        $h5 = $point['friday'][0] . ' & ' . $point['friday'][1];
                                    }
                                }
                                if (empty($point['saturday'])) {
                                    $h6 = Mage::helper('dpdfrrelais')->__('Closed');
                                } else {
                                    if (empty($point['saturday'][1])) {
                                        $h6 = $point['saturday'][0];
                                    } else {
                                        $h6 = $point['saturday'][0] . ' & ' . $point['saturday'][1];
                                    }
                                }
                                if (empty($point['sunday'])) {
                                    $h7 = Mage::helper('dpdfrrelais')->__('Closed');
                                } else {
                                    if (empty($point['sunday'][1])) {
                                        $h7 = $point['sunday'][0];
                                    } else {
                                        $h7 = $point['sunday'][0] . ' & ' . $point['sunday'][1];
                                    }
                                }
                                $html .= '<div id="relaydetail' . $offset . '" style="display:none;">
											<div class="dpdfrrelaisboxcarto" id="map_canvas' . $offset . '" style="width:100%;"></div>
											<div id="dpdfrrelaisboxbottom" class="dpdfrrelaisboxbottom">
												<div id="dpdfrrelaisboxadresse" class="dpdfrrelaisboxadresse">
													<div class="dpdfrrelaisboxadresseheader"><img src="' . Mage::getBaseUrl('media') . 'dpdfrance/front/relais/pointrelais.png" alt="-" width="32" height="32"/><br/>' . Mage::helper('dpdfrrelais')->__('Your DPD Pickup point') . '</div>
													<strong>' . $result2->NAME . '</strong></br>
													' . $result2->ADDRESS1 . '</br>';
                                if (!empty($result2->ADDRESS2)) {
                                    $html .= $result2->ADDRESS2 . '</br>';
                                }
                                $html .= $result2->ZIPCODE . '  ' . $result2->CITY . '<br/>';
                                if (!empty($result2->LOCAL_HINT)) {
                                    $html .= '<p>' . Mage::helper('dpdfrrelais')->__('info') . '  :  ' . $result2->LOCAL_HINT . '</p>';
                                }
                                $html .= '</div>';
                                $html .= '<div class="dpdfrrelaisboxhoraires">
											<div class="dpdfrrelaisboxhorairesheader"><img src="' . Mage::getBaseUrl('media') . 'dpdfrance/front/relais/horaires.png" alt="-" width="32" height="32"/><br/>' . Mage::helper('dpdfrrelais')->__('Opening hours') . '</div>
											<p><span>' . Mage::helper('dpdfrrelais')->__('Monday') . ' : </span>' . $h1 . '</p>
											<p><span>' . Mage::helper('dpdfrrelais')->__('Tuesday') . ' : </span>' . $h2 . '</p>
											<p><span>' . Mage::helper('dpdfrrelais')->__('Wednesday') . ' : </span>' . $h3 . '</p>
											<p><span>' . Mage::helper('dpdfrrelais')->__('Thursday') . ' : </span>' . $h4 . '</p>
											<p><span>' . Mage::helper('dpdfrrelais')->__('Friday') . ' : </span>' . $h5 . '</p>
											<p><span>' . Mage::helper('dpdfrrelais')->__('Saturday') . ' : </span>' . $h6 . '</p>
											<p><span>' . Mage::helper('dpdfrrelais')->__('Sunday') . ' : </span>' . $h7 . '</p>
										</div>';
                                $html .= '<div class="dpdfrrelaisboxinfos">
											<div class="dpdfrrelaisboxinfosheader"><img src="' . Mage::getBaseUrl('media') . 'dpdfrance/front/relais/info.png" alt="-" width="32" height="32"/><br/>' . Mage::helper('dpdfrrelais')->__('More info') . '</div>
											<div><h5>' . Mage::helper('dpdfrrelais')->__('Distance in KM') . '  :  </h5><strong>' . sprintf("%01.2f", $result2->DISTANCE / 1000) . ' km </strong></div>
											<div><h5>' . Mage::helper('dpdfrrelais')->__('DPD Pickup ID#') . '  :  </h5><strong>' . (string) $result2->PUDO_ID . '</strong></div>';
                                if (count($result2->HOLIDAY_ITEMS->HOLIDAY_ITEM) > 0) {
                                    foreach ($result2->HOLIDAY_ITEMS->HOLIDAY_ITEM as $holiday_item) {
                                        $holiday_item = (array) $holiday_item;
                                        $html .= '<div><img id="dpdfrrelaisboxinfoswarning" src="' . Mage::getBaseUrl('media') . 'dpdfrance/front/relais/warning.png" alt="-" width="16" height="16"/> <h4>' . Mage::helper('dpdfrrelais')->__('Closing period') . '  : </h4> ' . $holiday_item['START_DTM'] . ' - ' . $holiday_item['END_DTM'] . '</div>';
                                    }
                                }
                                $html .= '</div>';
                                $html .= '</div></div>';
                                // dpdfrrelaisboxbottom et relaydetail
                                echo $html;
                                $i++;
                                $hd1 = $hd2 = $hd3 = $hd4 = $hd5 = $hd6 = $hd7 = $h1 = $h2 = $h3 = $h4 = $h5 = $h6 = $h7 = null;
                                if ($i == 5) {
                                    // Nombre de points relais à afficher - max 10
                                    exit;
                                }
                            }
                        }
                    }
                }
            }
        }
    }