function touchmove(e) { e.preventDefault(); } function loadingSpinner(method){ if (method == "on") { //Adjust to screen size var pHeight = window.innerHeight; var pWidth = window.innerWidth; var sH = parseInt($('#loadingSpinner').css('height'),10); var sW = parseInt($('#loadingSpinner').css('width'),10); $('#loadingSpinner').css('top',(pHeight-sH)/2+$('body').scrollTop()); $('#loadingSpinner').css('left',(pWidth-sW)/2); $('#loadingSpinner').css('z-index',1000); //Show $('#loadingSpinner').show(); } else if (method == 'off'){ $('#loadingSpinner').hide(); } } function showBusy( title, msg ) { if ( navigator && navigator.notification && typeof navigator.notification.activityStart !== "undefined") { navigator.notification.activityStart( title, msg ); } else { loadingSpinner('on'); } } function hideBusy() { if ( navigator && navigator.notification && navigator.notification.activityStop) { navigator.notification.activityStop(); } else { loadingSpinner('off'); } } function show_around( lat, long ) { pc = $('#pc').val(); localStorage.latitude = lat; localStorage.longitude = long; localStorage.pc = pc; hideBusy(); window.location='around.html'; return false; } function valid_postcode(pc) { var out_pattern = '[A-PR-UWYZ]([0-9]{1,2}|([A-HIK-Y][0-9](|[0-9]|[ABEHMNPRVWXY]))|[0-9][A-HJKSTUW])'; var in_pattern = '[0-9][ABD-HJLNP-UW-Z]{2}'; var full_pattern = '^' + out_pattern + in_pattern + '$'; var postcode_regex = new RegExp(full_pattern); pc = pc.toUpperCase().replace(/\s+/, ''); if ( postcode_regex.test(pc) ) { return true; } return false; } function checkConnection() { var networkState = navigator.network.connection.type; if ( networkState == Connection.NONE || networkState == Connection.UNKNOWN ) { $('#main').hide(); $('#noconnection').show(); } } function use_lat_long( lat, long ) { show_around( lat, long ); } function location_error( msg ) { hideBusy(); if ( msg === '' ) { $('#location_error').remove(); return; } alert(msg); if ( !$('#location_error') ) { $('#postcodeForm').after('
'); } $('#location_error').text( msg ); } function lookup_string(q) { q = q.toLowerCase(); q = q.replace(/[^\-&\w ']/, ' '); q = q.replace(/\s+/, ' '); if (!q) { hideBusy(); location_error("Please enter location"); return false; } var url = "http://dev.virtualearth.net/REST/v1/Locations?q=" + escape(q); url += '&c=en-GB&key=' + CONFIG.BING_API_KEY; var x = jQuery.get( url, function(data, status) { if ( status == 'success' ) { var valid_locations = 0; var latitude = 0; var longitude = 0; var multiple = []; for ( i = 0; i < data.resourceSets[0].resources.length; i++ ) { var details = data.resourceSets[0].resources[i]; if ( details.address.countryRegion != 'United Kingdom' ) { continue; } var address = details.name; latitude = details.point.coordinates[0]; longitude = details.point.coordinates[1]; latitude = latitude.toPrecision(6); longitude = longitude.toPrecision(6); multiple.push( { 'address': address, 'latitude': latitude, 'longitude': longitude } ); valid_locations += 1; } if ( valid_locations == 1 ) { show_around( latitude, longitude ); } else if ( valid_locations === 0 ) { location_error('Location not found'); $('#pc').select(); } else { location_error(''); $('#multiple').remove(); var multiple_html = 'You’ve been signed out.
'); localStorage.signed_out = null; } } function sign_out() { jQuery.ajax( { url: CONFIG.FMS_URL + "auth/ajax/sign_out?" + new Date().getTime(), type: 'GET', success: function(data) { if ( data.signed_out ) { localStorage.signed_out = 1; localStorage.name = null; hideBusy(); document.location = 'sign_in.html'; } } } ); } function sign_out_around() { jQuery.ajax( { url: CONFIG.FMS_URL + "auth/ajax/sign_out?" + new Date().getTime(), type: 'GET', success: function(data) { $('#user-meta').html(''); $('#email_label').show(); $('#form_email').show(); $('#now_submit').show(); $('#have_password').show(); $('#form_sign_in_yes').show(); $('#let_me_confirm').show(); $('#password_register').show(); $('#password_surround').show(); $('#providing_password').show(); $('#form_name').val( '' ); $('.form-focus-hidden').hide(); } } ); } function check_auth() { if ( $('#user-meta').length && localStorage.signed_out != 1 ) { var sign_out_function = sign_out; if ( $('body').hasClass('mappage') ) { sign_out_function = sign_out_around; } jQuery.ajax( { url: CONFIG.FMS_URL + "auth/ajax/check_auth?" + new Date().getTime() , type: 'GET', statusCode: { 200: function(data) { localStorage.name = data.name; $('#user-meta').html('Hi ' + localStorage.name + 'Sign out
'); $('#meta_sign_out').on('click', sign_out_function ); $('.mobile-sign-in-banner').show(); $('#sign_in').hide(); $('#sign_out').show(); }, 401: function() { $('#user-meta').html(''); localStorage.name = ''; $('.mobile-sign-in-banner').show(); $('#sign_out').hide(); $('#sign_in').show(); $('#user-meta').html(''); } } } ); } } function signed_in() { if ( localStorage.name ) { if ( $('body').hasClass('signed-in-page') ) { var sign_out_function = sign_out; if ( $('body').hasClass('mappage') ) { sign_out_function = sign_out_around; } $('#user-meta').html('Hi ' + localStorage.name + 'Sign out
'); $('#meta_sign_out').on('click', sign_out_function ); } if ( $('#form_sign_in').length ) { check_name( localStorage.name ); $('.form-focus-hidden').show(); } } } function onDeviceReady() { var location = document.location + ''; if ( location.indexOf('no_connection.html') < 0 && ( navigator.network.connection.type == Connection.NONE || navigator.network.connection.type == Connection.UNKNOWN ) ) { document.location = 'no_connection.html'; } $('#postcodeForm').submit(locate); $('#mapForm').submit(postReport); $('#signInForm').submit(sign_in); $('#ffo').click(getPosition); $('#mapForm :input[type=submit]').on('click', function() { submit_clicked = $(this); }); check_auth(); signed_in(); hideBusy(); } document.addEventListener("deviceready", onDeviceReady, false);