Accueil Evénements

'; if( $longitude != '') addMarker($title, $windowContent, $icon, $latitude, $longitude, key); }); }); } /** * Function : getOperators * Get all the operators from an ajax call */ function getOperators() { $.getJSON(ajaxUriOperators, function(json) { //console.log(json); $.each(json, function(key, element) { var $adresse = element.adresse; var $latitude = element.latitude; var $longitude = element.longitude; var $title = element.nom; var $urlAlias = element.url; var $icon = picto; var $windowContent = '

'+$title+'

'+$adresse+'

+ d\'infos
'; if( $longitude != '') addMarker($title, $windowContent, $icon, $latitude, $longitude, key); }); }); } /** * Function : getSearch * Get all 3 events and 2 place according to keywors params from an ajax call */ function getSearch(keywords) { $('#search-results-events').html(''); $('#search-results-places').html(''); var URI = ajaxUriAutocomplete+keywords; $.getJSON(URI, function(json) { if( json != '') { //console.log(json); $('#view-events-list-search h2').html('Résultats pour "'+keywords+'"'); cpt = 0; $.each(json, function(key, element) { var $type = element.type; var $nodeId = element.nodeId; var $nom = element.nom; var $url = element.url; var $latitude = element.latitude; var $longitude = element.longitude; var $adresse = element.adresse; var $urlImage = element.urlImage; var $index = element.index; var $icon = picto; //console.log($type); var $windowContent = '
'; var $itemContent = ''; // if( $longitude != '') { // addMarker($nom, $windowContent, $icon, $latitude, $longitude, $index); // feedList($itemContent); // } if ( $type == 'evenement') { // Handling event type element var $nomLieu = element.nomLieu; var $idType = element.idType; var imgPath = "/extension/cheminsdelaculture/design/cheminsdelaculture/images/content/event_types/"; imgPath += $idType+'.png'; $windowContent += ''; else $windowContent += ''+$adresse+''; $windowContent += ''; $windowContent += '

'+$nom+'

'+eventTypes[$idType]+' - '; if( $nomLieu != '' ) $windowContent += ''+$nomLieu+'

+ d\'infos
'; addMarker(( $nomLieu != '' ) ? $nomLieu : $adresse, $windowContent, $icon, $latitude, $longitude, $index); $itemContent += '
  • '; if( $urlImage != '' && $urlImage != null) $itemContent += '
    '; $itemContent += '

    '+$nom+'

    '+eventTypes[$idType]+'
  • '; feedListEvent($itemContent); } else { // Handling place type element var $typeLieu = element.typeLieu; var $windowContent = '

    '+$nom+'

    '+$adresse+'

    + d\'infos
    '; if( $longitude != '') addMarker($nom, $windowContent, $icon, $latitude, $longitude, key); $itemContent += '
  • '; if( $urlImage != '' && $urlImage != null) $itemContent += '
    '; $itemContent += '

    '+$nom+'

    '+$adresse+'
  • '; feedListPlace($itemContent); } if(cpt == 0) getDetail(element.nodeId); cpt += 1; }); preloader('end'); $('#view-events-list').hide(); $('#view-events-list-search').fadeIn(); $('#search-filter-input').val(''); } else { error('add'); //$('#view-events-list-search h2').html('Aucun résultat pour "'+keywords+'"'); $('#view-events-list h2').html('Aucun résultat pour "'+keywords+'"'); $('#search-results').html(''); preloader('end'); $('#search-filter-input').val(''); } }); } /** * @name: getEvents * @desc: Get all the events from an ajax call * @param: [array] $dates * @param: [array] $themes */ function getEvents($dates, $themes) { $('#search-results').html(''); var URI = ajaxUriEvents; if( $themes.length > 0 ){ URI += '/liste_filtres/'; $.each($themes, function(i, v){ if(i > 0) URI += '-'+v; else URI += v; }); } if( $dates.length > 0 ){ URI += '/liste_dates/'; $.each($dates, function(i, v){ if(i > 0) URI += '-'+v; else URI += v; }); } //console.info('URI : '+URI); $.getJSON(URI, function(json) { if( json == '') { error('add'); } cpt = 0; $.each(json, function(key, element) { var $latitude = element.latitude; var $longitude = element.longitude; var $index = element.index; var $icon = picto; var $adresse = ''; var $nomLieu = ''; var $windowContent = '
    '; var $itemContent = ''; // Il faut construire le contenu de l'infobulle ici $.each(element.evenements, function(i, event){ $adresse = event.adresse; $nomLieu = event.nomLieu; //console.log(event); var imgPath = "/extension/cheminsdelaculture/design/cheminsdelaculture/images/content/event_types/"; imgPath += event.type+'.png'; $windowContent += ''; else $windowContent += ''+event.adresse+''; $windowContent += ''; $itemContent += '
  • '; if( event.urlImage != '' && event.urlImage != null) $itemContent += '
    '; $itemContent += '

    '+event.nom+'

    '+eventTypes[event.type]+'
  • '; if(cpt == 0) getDetail(event.nodeId); cpt += 1; }); $windowContent += '

    '+event.nom+'

    '+eventTypes[event.type]+' - '; if( event.nomLieu != '' ) $windowContent += ''+event.nomLieu+'

    + d\'infos
    '; //$itemContent += ''; if( $longitude != '') { addMarker(( $nomLieu != '' ) ? $nomLieu : $adresse, $windowContent, $icon, $latitude, $longitude, $index); feedList($itemContent); } }); // Pagination sweetpages $('#search-results').sweetPages({perPage:5}); if(shapes.length == 0) { error('add'); } }); } /** * Function : getDetail * get detail about an event element */ function getDetail(nodeID) { // Clean div //$('#view-details-block .view-details').fadeOut(); $('#view-details-block .view-details').html(''); preloader2('start'); //console.log(ajaxUriGet+nodeID); $.getJSON(ajaxUriGet+nodeID, function(json) { var content = ''; if( json.image_presentation != '' && json.image_presentation != null ) { content += '
    '; } content += '

    '+json.name+'

    '+json.description.substr(0,300)+'...

    '+json.date+'

    '+json.lieu+'

    + d\'infos'; $('#view-details-block .view-details').html(content); preloader2('end'); }); } /** * Function : getDetailPace * get detail about a place element */ function getDetailPlace(nodeID) { $('#view-details-block .view-details').html(''); preloader2('start'); var URI = ajaxUriGet+nodeID; //console.log(URI); $.getJSON(URI, function(json) { var content = ''; if( json.image_presentation != '' && json.image_presentation != null ) { content += '
    '; } content += '

    '+json.name+'

    '+json.adresse+'

    + d\'infos'; $('#view-details-block .view-details').html(content); preloader2('end'); }); } /** * Function : loadMap * Load the map */ function loadMap() { var mapOptions = { center: new google.maps.LatLng(defaultLatLng[0], defaultLatLng[1]), zoom: defaultZoom, mapTypeId: google.maps.MapTypeId.ROADMAP, mapTypeControl: true, panControl: false, streetViewControl: false, scrollwheel: false, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.SMALL } }; map = new google.maps.Map(document.getElementById("map"), mapOptions); // Global var } /** * Function : clearMap * Clear all the map */ function clearMap() { $.each(shapes, function (i, shape) { shape.obj.setMap(null); }); shapes = new Object(); mbounds = new google.maps.LatLngBounds(); } /** * Function : resizeMap * Trigger the resizing of the map */ // function resizeMap() { // google.maps.event.trigger(map, 'resize'); // } /** * Function : preloader * Display a preloader on the map */ function preloader(what) { if ( what == 'start' ) { $('.carto').append('
    '); } else { $('.preloader').fadeOut(800).delay(1000).queue(function() { $(this).remove(); }); }; } /** * Function : preloader2 * Display a preloader on the detail block */ function preloader2(what) { if ( what == 'start' ) { $('.view-details').append('
    '); } else { $('.preloader2').fadeOut(800).delay(1000).queue(function() { $(this).remove(); }); }; } /** * Function : error * Display an error message on the map */ function error(what) { if ( what == 'add' ) { $('.carto').append('

    Aucun résultat

    '); } else { $('.preloader').fadeOut(800).delay(1000).queue(function() { $(this).remove(); }); }; } /** * Function : feedList * Add elements to the list on the side */ function feedList($item) { $('#search-results').append($item) } /** * Function : feedListEvent * Add elements to the list on the side */ function feedListEvent($item) { $('#search-results-events').append($item) } /** * Function : feedListPlace * Add elements to the list on the side */ function feedListPlace($item) { $('#search-results-places').append($item) } /** * Function : addMarker * Add a marker on the map */ function addMarker($title, $windowContent, $icon, $lat, $lng, $index){ var latlng = new google.maps.LatLng($lat, $lng); mbounds.extend(latlng); map.fitBounds(mbounds); var place = new google.maps.Marker({ position: latlng, title: $title, flat: true, icon: $icon }); place.setMap(map); var $infoWindow = new google.maps.InfoWindow({content: $windowContent, maxWidth : '200' }); google.maps.event.addListener(place, 'click', function() { closeAllBubble(); $infoWindow.open(map,this); }); shapes[$index] = { id: $index, type: 'marker', shown: 'yes', obj: place, infoWindow : $infoWindow }; } /** * Function : toggleBubble * Manage infoWindow (only one infowindow should be opened at once) */ function closeAllBubble() { $.each(shapes, function (i, shape) { if(shape != undefined) shape.infoWindow.close(); }); } /*----------------------------------------------------------------------- ~ General ------------------------------------------------------------------------*/ loadMap(); // By default load next seven days events var dates = new Array(); var themes = new Array(); getEvents(dates, themes); /*----------------------------------------------------------------------- ~ Event Trigger ------------------------------------------------------------------------*/ // Trigger hover state $('li.view-list').live('mouseenter', function(){ var index = $(this).data('index'); var nodeid = $(this).data('id'); var type = $(this).data('type'); closeAllBubble(); shapes[index].infoWindow.open(map,shapes[index].obj ); if ( type == 'place') { getDetailPlace(nodeid); } else { getDetail(nodeid); } }); $('li.view-list').live('mouseleave', function(){ var index = $(this).data('index'); //shapes[index].infoWindow.close(); }); $('a[data-display="operators"]').live('click', function(e){ $('.sub-info-block, .select-dates-container, .search-filter').hide(); $('#search-word').hide(); // Handler icon active state $('.carto-nav a').removeClass('active'); $(this).addClass('active'); preloader('start'); clearMap(); getOperators(); preloader('end'); e.preventDefault(); }); $('a[data-display="places"]').live('click', function(e){ $('.sub-info-block, .select-dates-container, .search-filter').hide(); $('#search-word').hide(); // Handler icon active state $('.carto-nav a').removeClass('active'); $(this).addClass('active'); preloader('start'); clearMap(); getPlaces(); preloader('end'); e.preventDefault(); }); $('a[data-display="events"]').live('click', function(e){ $('#search-word, #view-events-list-search').hide(); $('.sub-info-block, .select-dates-container, .search-filter, #view-events-list').show(); // Handler icon active state $('.carto-nav a').removeClass('active'); $(this).addClass('active'); preloader('start'); clearMap(); getEvents(dates, themes); preloader('end'); e.preventDefault(); }); $('a[data-display="events"]').mouseenter(function(){ $('.select-type').stop().fadeIn(); }); $('.select-type').hover(function(){ $(this).show(); }, function(){ $(this).fadeOut(); }); $('a[data-role="theme"]').click(function(e){ var $element = $(this); var typeID = $element.data('type-id'); var state = $element.data('state'); if( state == 0 ) { $element.data('state', '1'); $element.addClass('selected'); } else { $element.data('state', '0'); $element.removeClass('selected'); } var getThemes = $('a[data-role="theme"]'); themes = new Array(); $.each(getThemes, function(i, theme){ if( $(this).data('state') == '1' ) { themes.push($(this).data('type-id')); } }); // Trigger a new AJAX Call $('a[data-display="events"]').trigger('click'); e.preventDefault(); }); $('a[data-role="date"]').live('click', function(e){ var $element = $(this); var datetime = $element.data('datetime'); var state = $element.data('state'); if( state == 0 ) { $element.data('state', '1'); $element.addClass('selected'); } else { $element.data('state', '0'); $element.removeClass('selected'); } var getDates = $('a[data-role="date"]'); dates = new Array(); $.each(getDates, function(i, date){ if( $(this).data('state') == '1' ) { dates.push($(this).data('datetime')); } }); // Trigger a new AJAX Call $('a[data-display="events"]').trigger('click'); e.preventDefault(); }); $('#search-form').submit(function(){ var searchText = $('#search-filter-input').val(); $('.select-dates-container').hide(); //console.log(searchText); $('.search-filter').fadeOut(); $('#search-word').find('p').html(searchText).end().fadeIn(); // Lancer la recherche sur le mot preloader('start'); clearMap(); getSearch(searchText); return false; }); $('#close-word').click(function(e){ $('#view-events-list h2').html('Evènements'); $('#view-events-list-search').fadeOut(); $('#search-word').fadeOut(); $('.select-dates-container').fadeIn(); $('#view-events-list').fadeIn(); $('a[data-display="events"]').trigger('click'); e.preventDefault(); }); var myDays = ["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"]; var myMonths = ["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"]; var myMonthsNumber = ["01","02","03","04","05","06","07","08","09","10","11","12"]; var oneDay = 86400000; // 1000x60x60x24 = 86400000 var currentDate = new Date(); var currentDay = currentDate.getDay(); var currentTimestamp = currentDate.getTime(); //console.log(currentTimestamp); generateDays(currentTimestamp, currentDay); $('.prev-week a').click(function(e){ var MondayTS = $('.select-dates li').eq(0).find('a').data('timestamp'); MondayTS -= oneDay*8; //console.log(MondayTS); generateDays(MondayTS, 0); // Trigger a new ajax call var jour = new Date(MondayTS); //console.log(MondayTS); if( jour.getDate() '+dayNumber+'/'+monthNumber+''); } var jour = new Date(firstTS); if( jour.getDate() '+dayNumber+'/'+monthNumber+''); for (i=1;i'+dayNumber+'/'+monthNumber+''); } } else { for (i=1;i'+dayNumber+'/'+monthNumber+''); } } // generate week range var startDate = $('.select-dates li').eq(0).find('span').html(); var endDate = $('.select-dates li').eq(6).find('span').html(); $('.week-range').html('du '+startDate+' au '+endDate); $('.select-dates').stop().fadeIn(); $('.tipsy-s').tipsy({gravity: 's'}); } });

    Événements