/********************************************************************** * misc.js * * script for unspecific functions and setup * **********************************************************************/ /* License Copyright 2014 Kasper D. Fischer This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. $Id$ */ /* calculate marker radius from magnitude * both formulas have equal radii at mag=1.2 */ function mag2radius(mag) { return 400*mag; // radius proportional to magagnitude // return 8.104*Math.pow(30,mag) // radius proportional to energy }; /* set height of eventlist div */ function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7; i++) { if ((new Date().getTime() - start) > milliseconds){ break; } } } /* setInfoHeight */ function setInfoHeight() { var height = $('div.map').height() - 36; $('div.info').height(height); //$('.tab').height(height-80); //$('#eventtable').height(height-100); }; /* get region and regionID of a location */ function getLocation(lat, lng) { var region = false; var regionID; var regions = [ ['Monschau', 'Schleiden', 'Bad Münstereifel', 'Rheinland-Pfalz', 'Rheinland-Pfalz', 'Rheinland-Pfalz', 'Hessen', 'Hessen', 'Hessen', 'Hessen'], ['Aachen', 'Zülpich', 'Euskirchen', 'Bonn', 'Rheinland-Pfalz', 'Rheinland-Pfalz', 'Hessen', 'Hessen', 'Hessen', 'Hessen'], ['Geilenkirchen', 'Düren', 'Köln', 'Köln-Mülheim', 'Waldbröl', 'Freudenberg', 'Siegen', 'Hessen', 'Hessen', 'Hessen'], ['Heinsberg', 'Mönchengladbach', 'Neuss', 'Solingen', 'Gummersbach', 'Olpe', 'Schmallenberg', 'Bad Berleburg', 'Hessen', 'Hessen'], ['Nettetal', 'Krefeld', 'Düsseldorf', 'Wuppertal', 'Hagen', 'Iserlohn', 'Arnsberg', 'Brilon', 'Hessen', 'Hessen'], ['Geldern', 'Moers', 'Duisburg', 'Essen', 'Dortmund', 'Unna', 'Soest', 'Büren', 'Marsberg', 'Warburg'], ['Kleve', 'Wesel', 'Dorsten', 'Recklinghausen', 'Lünen', 'Hamm/Westfalen', 'Beckum', 'Lippstadt', 'Paderborn', 'Bad Driburg'], ['Emmerich am Rhein', 'Bocholt', 'Borken', 'Coesfeld', 'Münster', 'Warendorf', 'Rheda-Wiedenbrück', 'Gütersloh', 'Detmold', 'Bad Pyrmont'], ['The Netherlands', 'The Netherlands', 'Vreden', 'Ahaus', 'Steinfurt', 'Lengerich', 'Bad Ilburg', 'Bielefeld', 'Herford', 'Niedersachsen'], ['The Netherlands', 'The Netherlands', 'The Netherlands', 'Niedersachsen', 'Rheine', 'Ibbenbüren', 'Niedersachsen', 'Lübbecke', 'Minden', 'Niedersachsen'] ]; if ( lat >= 50.4 && lat < 52.4 && lng >= 6.0 && lng < 9.333333 ) { var latIndex = Math.floor((lat-50.4)*5); // 5 tiles per degree var lngIndex = Math.floor((lng-6.0)*3); // 3 tiles per degree region = regions[latIndex][lngIndex]; }; if ( region != 'The Netherlands' ) { regionID = 5500-latIndex*200+lngIndex*2+2; }; if ( lat >= 50.9 && lat < 51.1 && lng >= 5.666666 && lng < 6.0 ) { region = 'Selfkant'; regionID = 5000; }; return [ region, regionID ]; }; /* window resize */ $( window ).resize(function() { setInfoHeight(); }); /* create global vars */ var map; var eventTable = {}; var eventDetails = {}; var stationTable = {}; var config = { event: { evaluationBlacklist: ['automatic', 'preliminary'], markerOpacity: 0.3, minMag: 1.2, typeWhitelist: ['earthquake', 'induced or triggered event'], }, map: { zoomDefault: 9, zoomFocus: 12, centerDefault: [51.85, 7.0], }, station: { markerOpacity: 0.5, }, }; /********************************************************************** * document ready * **********************************************************************/ $(document).ready(function() { // AJAX setup $.ajaxSetup({timeout: 15000}); // 15 seconds // adjust height of infocontainer setInfoHeight(); // create tabs var tabOptions = { active: 0, disabled: [2, 3], }; $('#tabs').tabs(tabOptions); // $('.ui-tabs-nav').sortable(); });