_debug_ = true; ""; var _lang_ = "en"; console.log("_lang_",_lang_); var _root_events_url_ = "https://www.airmate.aero/php/templates/events_page/"; var _root_url_= "https://www.airmate.aero/php/"; var _root_map_url_= "https://www.airmate.aero/php/templates/map/"; var _protocol_version_ = "1.0" var _http_ = "https://"; var _port_ = "8081"; if (_http_ == "https://") _port_ = "8443"; var url_nearest_events = "https://www.airmate.aero/php/events.php?mode=nearest"; var url_nearest_airports_php = "https://www.airmate.aero/php/events.php?mode=nearest_airports"; var url_create_event = "https://www.airmate.aero/php/events.php?mode=add_4_js"; var url_nearest_airport_php = "https://www.airmate.aero/php/airport.php?mode=nearest"; var cur_event_lat=0, cur_event_lon = 0; // coordonnées de l event en cours de creation var cur_center_lat=0, cur_center_lon=0, cur_map_radius = 0 // coordonnées du centre de la carte , radius = rayon en km de la carte, sert au PHP en tant que rayon de reherche des airports et events var prefix="ae_" var current_popup var add_events_check_fields = ['title', 'type', 'description', 'nearest_airport', 'country', 'start_date', 'end_date', 'email'] var add_events_fields = ['event_type','geographic_scope', 'location_code', 'geoindex', 'continent', 'country', 'region', 'region', 'municipality', 'address', 'zip_code', 'start_date', 'end_date','title', 'body_type', 'body', 'protocol_version', 'creation_date', 'event_status', 'priority', 'airport_code', 'latitude', 'longitude', 'language', 'web', 'url', 'email','phone'] var event_type_ar=[] event_type_ar[1]="Markerexhibit.png"; event_type_ar[2]="Markerexhibit.png"; event_type_ar[3]="Markerairshow.png"; event_type_ar[4]="Markerrace.png"; event_type_ar[5]="Markercourse.png"; event_type_ar[6]="Markercourse.png"; event_type_ar[7]="Markermeeting.png"; event_type_ar[8]="Markerwebinar.png"; event_type_ar[9]="Markermeeting.png"; event_type_ar[10]="Markerrace.png"; event_type_ar[11]="Markerwebinar.png"; event_type_ar[12]="Markerflyin.png"; event_type_ar[13]="Markeropenhouse.png"; /*------------------------------------------------- INIT -------------------------------------------------*/ $( document ).ready(function() { $("#btn_popup_login2").leanModal({closeButton: ".btn_modal_close"}); $("#btn_popup_register2").leanModal({top: "50", closeButton: ".btn_modal_close"}); $('#ae_start_date').datetimepicker(); $('#ae_end_date').datetimepicker(); $( "#airports_checkbox" ).checkboxradio(); init_airports_datalist("#ae_nearest") document.body.addEventListener('airports_list_change', function () { var city = $("#ae_nearest_airport").attr("data-municipality"); var countr = $("#ae_nearest_airport").attr("data-country"); var continen = $("#ae_nearest_airport").attr("data-continent"); console.log("airports_list_change"); $("#ae_locality").val(city); $("#ae_country").val(countr); cur_event_lat = $("#ae_nearest_airport").attr("data-lat") cur_event_lon = $("#ae_nearest_airport").attr("data-lon") console.log("cur_event_lat",cur_event_lat); }); $(".layer-controlgroup").controlgroup({ "direction": "vertical" }, "refresh") $(".airports-controlgroup").controlgroup({ "direction": "vertical" }, "refresh") $(".controlgroup *").removeClass('ui-state-hover'); $(".select_event").on("change", function(){ console.log(".select_event change"); display_events(); }); $("#check_airports").on("change", display_airports); // Events for the next: $('input[name=segmented-type]').change(function(){ console.log("input[name=segmented-type] change"); display_events(); }) // SERT A PREREMPLIR LE FORMULAIRE POUR TEST DEV /* $("#ae_description").val("aaa") $( "#form_create_event input[type='text']" ).each(function( index ) { //console.log( index + ": " + $( this ).text() ); $( this ).val("aaa") }); $("#ae_start_date").val("10/31/2018 00:00") $("#ae_end_date").val("11/28/2018 00:00") */ /*------------------------------------------------- POPUPs -------------------------------------------------*/ $("#btn_div_events").click(function () { $('#div_add_event').toggle('slide', {direction: 'left'}, 1000); }); $("#btn_layers").click(function () { $('#accordion_layers').toggle('slide', {direction: 'right'}, 1000); }); }) /*------------------------------------------------- DISPLAY EVENTS -------------------------------------------------*/ function display_events() { /* //COLLECT TYPE EVENTS $( ".select_event" ).each(function( index ) { $(this).prop('checked', false) }); */ // $(" input[type='checkbox']").prop('checked', false); console.log("display_events"); var url = url_nearest_events+"&lat="+cur_center_lat+"&lon="+cur_center_lon+"&radius="+(cur_map_radius*0.25) var event_types=""; var virgule=""; $(".layer-controlgroup input[type='checkbox']").each(function (index) { //console.log( index + ": " + $( this ).text() ); var checked = $(this).is(":checked"); ///console.log("select events",$(this).attr("id"), checked); var id = $(this).attr("_target") if(checked) { event_types+=virgule+id; virgule="," } }); if(event_types!="") url+="&event_types="+event_types var index = $('#slider_event_time').slider( "values", 0 )-1; // SI FOCUS SUR EVENT PAR id_c EN GET, PAS DE LIMITATION DE TEMPS DANS LA RECHERCHE SQL DE CET EVENT var current_url_params = get_current_url_params(); if (typeof current_url_params["id_c"] == 'undefined') { var days_span =$("input[name=segmented-type]:checked").val() url+="&days_span="+days_span } console.log("url_nearest_events",url); $.ajax({ type: 'GET', url: url, data: {get_param: 'value'}, dataType: 'json', success: function (data) { console.log("success data=", data); add_events_on_map(data); //setTimeout(function(){ check_focus_url_event() }, 1000); } , error: function (xhr, status, error) { console.log("display_events xhr ", xhr); console.log("status ", status); console.log("error ", error); display_popup_error (xhr.responseText,false) } }); } // VOIR AUSSI google_map.js > addMarker_2 function add_events_on_map(data) { /* var json_str='[{"id":4796, "lat":35.654222, "lng":-105.142389, "title":"FlightSimExpo 2020", "distance":"0", "distance2":"833787.12925986", "type":"3", "picto":"Markerairshow.png", "description":"FlightSimExpo 2020", "logo":"https://www.airmate.aero/php/../download/images/logos2/1574779333.jpg", "start_date":"1591952400", "end_date":"1592157600", "address":" ", "zip_code":"", "municipality":"Las Vegas", "country":"US", "email":"info@flightsimexpo.com", "phone":"", "web":"https://www.flightsimexpo.com/", "ad_type":"1", "airport_name":"Las Vegas Muni", "airport_code":"KLVS"}]'; data=JSON.parse(json_str); */ var events_spots = data; var cur_event var location var new_id var picto var indexes_new_events =[] var len = indexes_cur_events.length; for(x=len;x>=0;x--) { old_id = indexes_cur_events[x] // console.log("old_id",old_id); // CONTINUE A EXISTER if (indexes_new_events.indexOf(old_id)>-1) continue; // DOIT ETRE EFFACER clearmarker_event(old_id) //delete indexes_cur_events[x] indexes_cur_events.splice(x,1) } // AJOUTE LES NOUVEAUX for(x in events_spots) { cur_event = events_spots[x] new_id = cur_event.id indexes_new_events.push(new_id) // EXISTE DEJA SUR LA CARTE // console.log("indexes_cur_events",indexes_cur_events,new_id, indexes_cur_events.indexOf(new_id)); // if (indexes_cur_events.indexOf(new_id)>-1) continue; //console.log("N EXISTE PAS, ON AJOUTE"); // N EXISTE PAS, ON AJOUTE location= {id:parseInt(cur_event.id),lat:parseFloat(cur_event.lat), lng:parseFloat(cur_event.lng), title:cur_event.title, event_identifier:cur_event.event_identifier, type:cur_event.type, description:cur_event.description, start_date:cur_event.start_date, end_date:cur_event.end_date , address:cur_event.address, zip_code:cur_event.zip_code, municipality:cur_event.municipality, country:cur_event.country, email:cur_event.email, phone:cur_event.phone , picto:cur_event.picto, logo:cur_event.logo, web:cur_event.web, ad_type:cur_event.ad_type, airport_name:cur_event.airport_name, airport_code:cur_event.airport_code}; picto = cur_event.picto // console.log("console",location); addMarker_2(location, picto) ; } // console.log("indexes_cur_events",indexes_cur_events.length); // console.log("indexes_new_events",indexes_new_events.length); delete indexes_new_events; check_focus_url_event() } var already_check_focus_url_event=false; function check_focus_url_event() { if(already_check_focus_url_event) return; console.log("check_focus_url_event",id_c); if(id_c!==-1) { console.log("markers_events",markers_events); var focus_url_event_marker = markers_events[id_c]; console.log("focus_url_event_marker",focus_url_event_marker); event_marker_click(focus_url_event_marker) // focus_url_event_marker.click() google.maps.event.trigger(focus_url_event_marker, 'click', ['SPIDERFIED']); already_check_focus_url_event=true; } } /*------------------------------------------------- DISPLAY AIPORTS -------------------------------------------------*/ function display_airports() { if( !$("#check_airports").is(":checked")) { clearmarkers_airports();return;} /* //COLLECT TYPE EVENTS $( ".select_event" ).each(function( index ) { $(this).prop('checked', false) }); */ // $(" input[type='checkbox']").prop('checked', false); console.log("display_airports"); var url = url_nearest_airports_php+"&lat="+cur_center_lat+"&long="+cur_center_lon+"&radius="+(cur_map_radius*0.5) var index = $('#slider_event_time').slider( "values", 0 )-1; var days_span=$('input[name=segmented-type]:checked').val() url+="&days_span="+days_span console.log("url_nearest_airports_php",url); $.ajax({ type: 'GET', url: url, data: {get_param: 'value'}, dataType: 'json', success: function (data) { console.log("success data=", data); add_airports_on_map(data) }, error: function (xhr, status, error) { console.log("xhr ", xhr); console.log("status ", status); console.log("error ", error); display_popup_error (xhr.responseText,false) } }); } // VOIR AUSSI google_map.js > addMarker_2 function add_airports_on_map(data) { var events_spots = data; var cur_event var location var picto var indexes_new_airports =[] // AJOUTE LES NOUVEAUX for(x in events_spots) { cur_event = events_spots[x] new_id = cur_event.id indexes_new_airports.push(new_id) // EXISTE DEJA SUR LA CARTE // console.log("indexes_cur_events",indexes_cur_events,new_id, indexes_cur_events.indexOf(new_id)); if (indexes_cur_airports.indexOf(new_id)>-1) continue; //console.log("N EXISTE PAS, ON AJOUTE"); // N EXISTE PAS, ON AJOUTE location= {id:parseInt(cur_event.id),lat:parseFloat(cur_event.lat), lng:parseFloat(cur_event.lng), name:cur_event.name, code:cur_event.code, region:cur_event.region, rotation:cur_event.rotation}; picto = cur_event.picto // console.log("console",location); addMarker_3(location, picto) ; } // SUPPRIME LES ANCIENS var old_id var len = indexes_cur_airports.length; for(x=len;x>=0;x--) { old_id = indexes_cur_airports[x] // console.log("old_id",old_id); // CONTINUE A EXISTER if (indexes_new_airports.indexOf(old_id)>-1) continue; // DOIT ETRE EFFACER clearmarker_airport(old_id) //delete indexes_cur_events[x] indexes_cur_airports.splice(x,1) } console.log("indexes_cur_airports",indexes_cur_airports.length); console.log("indexes_new_airports",indexes_new_airports.length); delete indexes_new_airports; /////// } /*------------------------------------------------- on click EVENT MARKER -------------------------------------------------*/ function event_marker_click(marker) { console.log("event_marker_click",marker); build_popup_event(marker) } /*------------------------------------------------- ADD EVENT -------------------------------------------------*/ function check_add_event_form() { // var form_ok = true; // form_ok = form_ok && check_mail($("#r_email").val()); // form_ok = form_ok && check_empty($("#r_code_airport").val()); var msg_error = ""; if ($( "#ae_type" ).val()==0) msg_error+=l("select_event_type_error", true)+"
";; var cur_field for (x in add_events_check_fields) { cur_field = prefix+ add_events_check_fields[x] if(cur_field=="ae_type" || cur_field=="ae_country" ) continue; if(cur_field=='ae_email') { console.log("cur_field=='ae_email'"); if($("#"+cur_field).val()!="") if(!check_mail ($("#"+cur_field).val())) msg_error+=l("wrong_mail_format", true)+"
"; } else { console.log("cur_field",cur_field); if(!check_empty($("#"+cur_field).val())) msg_error+=l(add_events_check_fields[x], true)+" "+l("missing")+"
";; console.log("cur_field",cur_field,$("#"+cur_field).val(), msg_error); } } if(msg_error=="") return true; else return msg_error; } $( "#new_event_btn" ).click(function() { console.log("new_event_btn1"); var check_form = check_add_event_form(); if (check_form!=true) { //alerte("Certains champs requis ne sont pas correctement remplis"); display_popup_error(check_form, false) return } console.log("new_event_btn3"); create_event() }); function create_event() { console.log("create_event"); var event_type= $("#ae_type").val(); var geographic_scope=1; var geoindex = $("#ae_nearest_airport").attr("data-geoindex"); var continent = $("#ae_country option:selected").attr("data-continentcode"); var country = $("#ae_country").val(); var region = $("#ae_nearest_airport").attr("data-region"); var municipality=$("#ae_locality").val(); var address=$("#ae_street_number").val()+" "+$("#ae_route").val();; var zip_code=$("#ae_postal_code").val() var date_str = $('#ae_start_date').val(); var start_date = DatetimeToUTC(date_str) date_str = $('#ae_end_date').val(); var end_date = DatetimeToUTC(date_str) var title=$('#ae_title').val(); var body_type=1; // HTML var body=$('#ae_description').val(); var protocol_version = _protocol_version_ var creation_date= get_timestamp_UTC(); var event_status=2 // user entered, pending validation var priority=1 // normal var airport_code = $("#ae_nearest_airport").attr("data-code"); var location_code=airport_code; var latitude=cur_event_lat var longitude=cur_event_lon; var language=_lang_ var web = $('#ae_url_page_event').val(); var email = $('#ae_email').val(); var phone = $('#ae_phone').val(); // var email // var phone // var mobile // var ad_type // var ad_reference // var ad_expiration_time // var action_address // var flags // var sender_ipaddress console.log("start_date",start_date); if(end_date0) { title=""+title+"" ; } } if(airport_code!="") { var title2 =""+l("near", true)+" "+airport_code if(airport_name!="")title2+=" ("+airport_name+")" title2="" // current_popup.find(".ui-widget-header h4").after(title2) title +=""+title2; } current_popup.find("h4").html(title) // current_popup.find(".tabs-1 .description").text(description) var picto_url = _root_events_url_+"img/event_types/"+picto current_popup.find(".picto").css("background-image","url("+picto_url+")") // logo = "https://www.airmate.aero/download/images/logos/kavala.png" var img = ""; if(logo!="") img = "" var id_popup = "#event_popup_"+id; var date_ts_local = UTCTsToLocal(start_date); var mois = addLeadingZeros(date_ts_local["m"], 2); var jour = addLeadingZeros(date_ts_local["j"], 2); var an = date_ts_local["Y"]; var heure = addLeadingZeros(date_ts_local["H"], 2); var mn = addLeadingZeros(date_ts_local["i"], 2); var format_date = mois + "/" + jour + "/" + an if(_lang_=='fr') format_date = jour + "/" + mois + "/" + an var format_hr = heure + ":" + mn var start_date_str= ""+l("start date", true)+": "+format_date+" "+format_hr /*-----------*/ var date_ts_local = UTCTsToLocal(end_date); var mois = addLeadingZeros(date_ts_local["m"], 2); var jour = addLeadingZeros(date_ts_local["j"], 2); var an = date_ts_local["Y"]; var heure = addLeadingZeros(date_ts_local["H"], 2); var mn = addLeadingZeros(date_ts_local["i"], 2); var format_date = mois + "/" + jour + "/" + an console.log("_lang_",_lang_); if(_lang_=='fr') format_date = jour + "/" + mois + "/" + an var format_hr = heure + ":" + mn var end_date_str= ""+l("end date", true)+": "+format_date+" "+format_hr var infos_str= '' +'' +'' +'' +'' +'
'+ img +''+description+"
"+start_date_str+"
"+end_date_str +'
' infos_str+=''; +'
' // infos_str+='
https://www.airmate.aero/events/'+event_identifier+'
'; current_popup.find(".tabs-1").html(infos_str) /*----------------------TAB2---------------------------*/ /*---- CONTACT -------*/ var address_str = ""+l("adress", true)+": " address_str += address+"
"+municipality+"
"+country+' '+zip_code var phone_str = ""+l("end date", true)+": " phone_str+= phone /* var email_str = ""+l("end date", true)+": " email_str += email var contact_str = address_str+"
"+phone_str+"
"+email_str */ var web_str = ""; if(defined(web)) { if (ad_type>0) { web=""+web+"" ; } web_str = '' +''+ "Web: "+'' +''+web+'' +'' } if (ad_type>0) { email =""+email+"" ; } var contact_str= '' +'' +'' +' ' +'' +'' +'' +' ' +' ' +'' +'' +'' +'' +web_str +'
'+ ""+l("adress", true)+": "+''+address+"
"+municipality+"
"+country+' '+zip_code+'
'+ ""+l("phone", true)+": "+ ''+phone+'
'+ ""+l("email", true)+": "+''+email+'
' current_popup.find(".tabs-2").html(contact_str) // $(id_popup).css('top', (id * 5) + 'px') // $(id_popup).css('left', (id * 5) + 'px') $(id_popup).css('z-index', (2500 + id)) /*----------------------TAB2---------------------------*/ var contentString = $(id_popup)[0].outerHTML; // var contentString = $(id_popup).html(); $(id_popup).remove(); // console.log(contentString); if (typeof infowindow !== 'undefined') infowindow.close(); infowindow = new google.maps.InfoWindow({ content: contentString }); infowindow.open(map, marker); // $(id_popup).draggable({ cancel: ".tab-Freq" }); } function copy_link(id) { console.log("copy_link",id); $( "#"+id ).toggle("slow"); var el = document.getElementById(id); var range = document.createRange(); range.selectNodeContents(el); el.contentEditable = true; el.readOnly = false; var s = window.getSelection(); s.removeAllRanges(); s.addRange(range); if (navigator.userAgent.match(/ipad|ipod|iphone/i)) { el.setSelectionRange(0, 999999); // A big number, to cover anything that could be inside the element. } document.execCommand('copy'); } function popup_click_tabs(tab) { console.log("popup_click_tabs",tab); console.log("parent",$(tab).parent().parent().parent()); var popup = $(tab).parent().parent().parent(); var id_popup = popup.attr("id") console.log("id_popup",id_popup); var target = $(tab).attr("aria-controls") console.log("target",target); $("#"+id_popup+" .ui-tabs-panel").css("display","none") $("#"+id_popup+" .ui-tabs-tab").removeClass("ui-tabs-active ui-state-active") $("#"+id_popup+" ."+target).css("display","block") $(tab).addClass("ui-tabs-active ui-state-active") }