function cache_calque_geo( id_champ ) { document.getElementById('calque_' + id_champ).style.display = 'none'; } var marker; var cadre_itineraire; function montre_calque_geo( id_champ, coord_x, coord_y ) { if (GBrowserIsCompatible()) { document.getElementById('calque_' + id_champ).style.display = 'block'; var map = new GMap2(document.getElementById('map_' + id_champ)); if(coord_x >0 && coord_x > 0) map.setCenter(new GLatLng(coord_x, coord_y), 15); else map.setCenter(new GLatLng(45.441231534485325, 4.385969638824463), 10); map.addControl(new GLargeMapControl()); map.addControl(new GScaleControl()); var icon_vert = new GIcon(); icon_vert.image = '/commun/modeles/annuaire/img/picto-maps-vert.png'; icon_vert.shadow = '/commun/modeles/annuaire/img/picto-maps-ombre.png'; icon_vert.iconSize = new GSize(12, 20); icon_vert.shadowSize = new GSize(22, 20); icon_vert.iconAnchor = new GPoint(6, 20); icon_vert.infoWindowAnchor = new GPoint(5, 1); marker = new GMarker(new GLatLng(coord_x, coord_y), icon_vert); GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml( document.getElementById( 'contenu_bulle_google_' + id_champ ).innerHTML ); }); map.addOverlay(marker); ouvre_bulle( id_champ ); cadre_itineraire = document.getElementById('cadre_iti_' + id_champ); var from = document.getElementById( 'annuaire_' + id_champ + '_iti_from' ).value; var to = document.getElementById( 'annuaire_' + id_champ + '_iti_to' ).value; if( from && to ) { cadre_itineraire.style.display = 'block'; gdir = new GDirections(map, document.getElementById('iti_' + id_champ)); GEvent.addListener(gdir, 'load', onGDirectionsLoad); GEvent.addListener(gdir, 'error', handleErrors); setDirections(from, to + ' @ ' + coord_x + ', ' + coord_y + '', 'fr'); } else cadre_itineraire.style.display = 'none'; } } function ouvre_bulle( id_champ ) { marker.openInfoWindowHtml( document.getElementById( 'contenu_bulle_google_' + id_champ ).innerHTML ); } function onGDirectionsLoad() { } function setDirections(fromAddress, toAddress, locale) { gdir.load('from: ' + fromAddress + ' to: ' + toAddress, { 'locale': locale }); } function handleErrors() { if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) { alert("Aucune correspondance géographique n'a été trouvée pour cette adresse.\nCeci est peut-etre du au fait que cette adresse est nouvelle ou incorrecte."); } else if (gdir.getStatus().code == G_GEO_SERVER_ERROR) alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code); else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code); else if (gdir.getStatus().code == G_GEO_BAD_KEY) alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code); else if (gdir.getStatus().code == G_GEO_BAD_REQUEST) alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code); else alert("Impossible de calculer l'itinéraire"); cadre_itineraire.style.display = 'none'; } function multipage_annuaire( Form, num, pas_utilise, pas_utilise2 ) { Form.nIdPage_PM.value = num; Form.submit(); } function aGetPositionObjet(obj) { var curleft = curtop = 0; if (obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; } while (obj = obj.offsetParent); } return [curleft,curtop]; } var element_clique; var source_element; var repositionner = true; function contenu_afficher_diapo_source ( source, classe ) { source_element = source; repositionner = false; contenu_afficher_diapo( classe ); } function contenu_afficher_diapo( classe ) { var les_images = document.getElementById( 'texte' ).getElementsByTagName('img') ; var les_images_temp = new Array(); var image_courante, image_suivante, image_precedente, position_diaporama=0; // on recherche l'image demandée sur le diaporama if( element_clique && ( element_clique.tagName == 'IMG' ) ) { image_courante = element_clique; } // classe demandée => on ne garde que les bonnes images if( classe ) { var j=0; for( var i=0; i'; // on met les bons liens sur les fleches if( image_precedente ) { document.getElementById( 'precedent_diaporama' ).href = 'javascript:contenu_afficher_diapo_source ( "' + image_precedente.src + '", "' + classe + '");'; document.getElementById( 'precedent_diaporama' ).style.display = 'block'; } else { document.getElementById( 'precedent_diaporama' ).style.display = 'none'; } if( image_suivante ) { document.getElementById( 'suivant_diaporama' ).href = 'javascript:contenu_afficher_diapo_source ( "' + image_suivante.src + '", "' + classe + '");'; document.getElementById( 'suivant_diaporama' ).style.display = 'block'; } else { document.getElementById( 'suivant_diaporama' ).style.display = 'none'; } } source_element = ''; } function diaporama_redimentionne( image ) { if( repositionner ) { // on redimentionne le calque d'opacite if( document.getElementById( 'bas_fenetre' ) ) { position = aGetPositionObjet( document.getElementById( 'bas_fenetre' ) ); var hauteur_opacite = 0; if( position[ 1 ] > hauteur_opacite ) { hauteur_opacite = position[ 1 ]; } position = aGetPositionObjet( document.getElementById( 'deplacement_diaporama' ) ); if( ( position[ 1 ] + 50 ) > hauteur_opacite ) { hauteur_opacite = ( position[ 1 ] + 50 ); } document.getElementById('fenetre_diaporama').style.height = hauteur_opacite + 'px'; } // on repositionne le calque par rapport à l'élément cliqué decalage = 0; if (window.pageYOffset) { decalage = window.pageYOffset; } else if (document.body && document.body.scrollTop) { decalage=document.body.scrollTop; } document.getElementById('mon_diaporama').style.top = ( decalage + 100 ) + 'px'; if( image ) { var largeur = document.getElementById( 'mon_image_complete_diaporama' ).offsetWidth + 50; document.getElementById('mon_diaporama').style.width = largeur + 'px'; document.getElementById('mon_diaporama').style.marginLeft = ( -1 * largeur / 2 ) + 'px'; } } } function fermer_diaporama ( ) { document.getElementById( 'fenetre_diaporama' ).style.display = 'none'; document.getElementById( 'mon_diaporama' ).style.display = 'none'; } (function() { var addEvent = function (obj,evType,fn){ if(obj.addEventListener){obj.addEventListener(evType,fn,false)} else if(obj.attachEvent)obj.attachEvent('on'+evType,fn) } addEvent(document, 'mousedown', function(e){ element_clique= e.target||event.srcElement; if(!element_clique.tagName) element_clique=element_clique.parentNode; } ); })();