/* * fixmystreet.js * FixMyStreet JavaScript */ $(function(){ $('html').removeClass('no-js').addClass('js'); $('#pc').focus(); $('input[type=submit]').removeAttr('disabled'); $('#mapForm').submit(function() { if (this.submit_problem) { $('input[type=submit]', this).prop("disabled", true); } return true; }); if (!$('#been_fixed_no').prop('checked') && !$('#been_fixed_unknown').prop('checked')) { $('#another_qn').hide(); } $('#been_fixed_no').click(function() { $('#another_qn').show('fast'); }); $('#been_fixed_unknown').click(function() { $('#another_qn').show('fast'); }); $('#been_fixed_yes').click(function() { $('#another_qn').hide('fast'); }); var timer; function email_alert_close() { $('#email_alert_box').hide('fast'); } $('#email_alert').click(function(e) { if (!$('#email_alert_box').length) return true; e.preventDefault(); if ($('#email_alert_box').is(':visible')) { email_alert_close(); } else { var pos = $(this).position(); $('#email_alert_box').css( { 'left': ( pos.left - 20 ) + 'px', 'top': ( pos.top + 20 ) + 'px' } ); $('#email_alert_box').show('fast'); $('#alert_rznvy').focus(); } }).hover(function() { window.clearTimeout(timer); }, function() { timer = window.setTimeout(email_alert_close, 2000); }); $('#email_alert_box').hover(function() { window.clearTimeout(timer); }, function() { timer = window.setTimeout(email_alert_close, 2000); }); // Geolocation if (geo_position_js.init()) { $('#postcodeForm').append('
Or locate me automatically').css({ "padding-bottom": "0.5em" });
$('#geolocate_link').click(function(e) {
e.preventDefault();
// Spinny thing!
$('#geolocate_para').append(' ');
geo_position_js.getCurrentPosition(function(pos) {
$('#geolocate_para img').remove();
var latitude = pos.coords.latitude;
var longitude = pos.coords.longitude;
location.href = '/around?latitude=' + latitude + ';longitude=' + longitude;
}, function(err) {
$('#geolocate_para img').remove();
if (err.code == 1) { // User said no
} else if (err.code == 2) { // No position
$('#geolocate_para').html("Could not look up location");
} else if (err.code == 3) { // Too long
$('#geolocate_para').html("No result returned");
} else { // Unknown
$('#geolocate_para').html("Unknown error");
}
}, {
timeout: 10000
});
});
}
});