<div id="infogeo" class="clearfix">
<div id="infogeo_txt">

<?php
$google_map = './?page=referer&part=gmap&siret='.$siret.
    '&url=http://maps.google.fr/maps?f=q%26hl=fr%26geocode=%26q='.
    $etab['AdresseNum'].',+'.
    urlencode(normaliseVoie($etab['AdresseVoie'])).'+'.
    urlencode(htmlspecialchars_decode($etab['AdresseRue'], ENT_QUOTES)).
    ',+'.$etab['CP'].'+'.
    urlencode($etab['Ville']);

if ($etab['GeoPrecis'] > 0) {
    print '<span id="geolocalisation">';
    print '<b>Information géographique :</b><br/>'.
    'Latitude  : '. dec2dms($etab['GeoLat']).' ('.$etab['GeoLat'].')<br/>'.
    'Longitude  : '.dec2dms($etab['GeoLon']).' ('.$etab['GeoLon'].')<br/>';
    print '</span>';
}
?>

<a id="lien-google" href="<?=$google_map?>" target="_blank">
    Afficher l&#039;adresse sur Google Map &copy;</a><br/>
<br/>
<b>Code commune / Rivoli :</b><br/>
<?php print $etab['Dept'].' '.$etab['codeCommune'].' / '.$etab['Rivoli']; ?>
</div>

<?php
if (hasPref('mappy')) {
    require_once 'mappy/mappy.php';
    $photo = '';
    $ville = ' '.trim(preg_replace('/([0-9]|ARRONDISSEMENT|_)/i', ' ',
                                   $etab['Ville'])).' ';
    $ville = trim(strtr($ville, array(' EME ' => '', ' ER ' => '')));
    if (in_array(strtoupper($ville), $tabVilleMappy)) {
        $rue = trim(strtr(normaliseVoie($etab['AdresseVoie']).' '.
                          $etab['AdresseRue'],
                          array(' ST ' => ' SAINT ', ' STE ' => ' SAINTE ')));
        $source = 'm';
    } else {
        $photo = 'http://cbk0.google.com/cbk?output=thumbnail&w=150&h=69&ll='.
            $etab['GeoLat'].','.$etab['GeoLon'];
        if (@fopen($photo, 'r') == false) {
            $photo = '';
        }
        $source = 'g';
    }
?>
<div id="infogeo_photo">
<?php
if ($source == 'm') {
    function getToken($login, $pwd) {

        $ACCESSOR_URL = 'http://axe.mappy.com/1v1/'; // Serveur de Production

        $timestamp = time();
        $hash = md5($login."@".$pwd."@".$timestamp);
        $preToken =  $login."@".$timestamp."@".$hash;

        $urlGetToken = $ACCESSOR_URL . 'token/generate.aspx?auth=' .
        urlencode($preToken) . '&ip=' . urlencode($_SERVER["REMOTE_ADDR"]);

        $fh = @fopen($urlGetToken, 'rb') ;
        if ($fh == false) {
            return false;
        }
        $token = '';
        while (!feof($fh)) {
            $token .= fread($fh, 8192);
        }
        fclose($fh);
        return $token;
    }

    $token = getToken('scoresdecisions', 'g1nq3iKv');
    if ($token == false) {
        print "Error while getting the token";
    }
?>
<div>
  <img id="pp-cb-thumb" width="300px" />
</div>
<script src="http://axe.mappy.com/1v1/init/get.aspx?auth=<?=$token?>&version=2.01&solution=ajax"></script>
<script type="text/javascript">
$(document).ready(function() {
        var photoService = new Mappy.api.visiocity.PhotoService();
        var geo = new Mappy.api.geolocation.Geocoder();

        var address = "<?=$etab['AdresseNum']?> <?=$rue?> <?=$ville?>";
        geo.geocode(address,
                    function(result) {
                        photoService.search(result[0], "f", serviceHandler);
                    },
                    function(error) {
                    });

        var serviceHandler = function(result) {
            if (result instanceof Mappy.api.visiocity.Frontage) {
                var current = result.getCurrent();
                var img = $('<img src="' + current.getURL(320, null) +
                            '" alt="' + current.getDescription() +
                            '" width="300px" />');
                $('#pp-cb-thumb').replaceWith(img);
            }
        }
    }
);
</script>
<?php
} else if ($photo != '') {
?>
<div id="legende-photo">
  Cliché à l&#039;approche de l&#039;adresse postale.
</div>
<div>
  <img id="pp-cb-thumb" src="<?=$photo?>" width="300px" height="128px" />
</div>

<?php
switch ($_SERVER['SERVER_NAME']) {
case 'extranet.devlocal.com':
    $key = 'ABQIAAAAgaXnaVXxxcgebvrN30E-VhT6B-FIN0IQI1kCChCUYV6RpBO17hTl__Sqiv_xQZFCiaRgHAoc_v9HcQ';
    break;
case 'extranetrec.scores-decisions.com':
    $key = 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRQQcNgS-tLiAG-ic2CW9PypgC_xRhTjSL9-5iBPvj3GA1_AvZYQU_QR3Q';
    break;
case 'extranet.scores-decisions.com':
    $key = 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRSYaqxLwFTMDT_MtTSFor1bsUZ_ChTvuzyTINkPMlW88Ar9fofaphzN3w';
    break;
default:
    $key = '';
    break;
}
?>

<script type="text/javascript"
        src="http://maps.google.com/maps?file=api&v=2&key=<?=$key?>">
</script>
<script type="text/javascript">
function showPanoData(panoData) {
    if (panoData.code != 200) {
        return;
    }
    $('#pp-cb-thumb').replaceWith(
    	'<div id="pp-cb-thumb"><div class="left">' +
         '<img src="http://maps.google.fr/cbk?output=tile&panoid=' +
               panoData.location.panoId +
               '&zoom=1&x=0&y=0&cb_client=maps_sv" />' +
        '</div>' +
        '<div class="right">' +
          '<img src="http://maps.google.fr/cbk?output=tile&panoid=' +
               panoData.location.panoId +
              '&zoom=1&x=1&y=0&cb_client=maps_sv" />' +
        '</div></div>');

    $('#legende-photo'  ).css('display','block');
    $('#pp-cb-thumb'    ).css('display','block');
}
function doShowPanoData(ll) {
    var panoClient = new GStreetviewClient();
    panoClient.getNearestPanorama(ll, showPanoData);
}
function geoCodeCB(reponse) {
    if (reponse &&
        reponse.Status.code == 200 &&
        reponse.Placemark.length == 1 &&
        reponse.Placemark[0].AddressDetails.Accuracy > 5) {
        var lat = reponse.Placemark[0].Point.coordinates[1];
        var lon = reponse.Placemark[0].Point.coordinates[0];
        var ll  = new GLatLng(lat, lon);
        $("#geolocalisation").
            replaceWith("<b>Information géographique :</b><br/>" +
                         "Latitude  : " + lat + "<br/>" +
                        "Longitude  : " + lon + "<br/>");
        $("#lien-google").
            replaceWith(
                "<a href=http://maps.google.fr/maps?q=" +
                <?php
                print '"'.urlencode($etab['AdresseNum'].' '.
                                    $etab['AdresseRue'].' '.
                                    $etab['CP'].' '.
                                    $etab['Ville']).'"';
                ?> +
                " target=_blank>" +
                "Afficher l'adresse sur Google Map &copy;</a>"
            );
        doShowPanoData(ll);
    }
}
function affichePhoto() {
    <?php
    if ($etab['GeoPrecis'] < 7) {
        print 'var geoCoder = new GClientGeocoder;';
        print 'geoCoder.getLocations("'.
            $etab['AdresseNum'].' '.
            $etab['AdresseRue'].' '.
            $etab['CP'].' '.
            $etab['Ville'].'", geoCodeCB);';
    } else {
        print 'var ll = new GLatLng('.$etab['GeoLat'].', '.$etab['GeoLon'].');';
        print 'doShowPanoData(ll);';
    }
    ?>
}
$(document).ready(function() {
        if ($('#pp-cb-thumb').length) {
            affichePhoto();
        }
    }
);
</script>
<?php
    }
?>
</div>
<?php
}
?>
</div>