Fix JavaScript asset pipeline
This commit is contained in:
parent
7f844c970b
commit
b64ccce205
|
@ -1,10 +0,0 @@
|
||||||
var _gaq = _gaq || [];
|
|
||||||
_gaq.push(['_setAccount', 'UA-20825280-2']);
|
|
||||||
_gaq.push(['_setDomainName', '.adoptahydrant.org']);
|
|
||||||
_gaq.push(['_trackPageview']);
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
||||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
||||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
||||||
})();
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
// This is a manifest file that'll be compiled into including all the files listed below.
|
||||||
|
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
|
||||||
|
// be included in the compiled file accessible from http://example.com/assets/application.js
|
||||||
|
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
||||||
|
// the compiled file.
|
||||||
|
//
|
||||||
|
//= require_tree .
|
|
@ -1,834 +0,0 @@
|
||||||
$(function() {
|
|
||||||
var center = new google.maps.LatLng(42.358431, -71.059773);
|
|
||||||
var zoomLevel = 15;
|
|
||||||
var mapOptions = {
|
|
||||||
center: center,
|
|
||||||
mapTypeControl: false,
|
|
||||||
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
|
||||||
panControl: false,
|
|
||||||
zoom: zoomLevel
|
|
||||||
};
|
|
||||||
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
|
|
||||||
var activeHydrantId;
|
|
||||||
var activeMarker;
|
|
||||||
var activeInfoWindow;
|
|
||||||
var isWindowOpen = false;
|
|
||||||
var hydrantIds = [];
|
|
||||||
function addMarker(hydrantId, point, image_path) {
|
|
||||||
var image = new google.maps.MarkerImage(image_path,
|
|
||||||
new google.maps.Size(27.0, 37.0),
|
|
||||||
new google.maps.Point(0, 0),
|
|
||||||
new google.maps.Point(13.0, 18.0)
|
|
||||||
);
|
|
||||||
var shadow = new google.maps.MarkerImage('<%= image_path 'markers/shadow.png' %>',
|
|
||||||
new google.maps.Size(46.0, 37.0),
|
|
||||||
new google.maps.Point(0, 0),
|
|
||||||
new google.maps.Point(13.0, 18.0)
|
|
||||||
);
|
|
||||||
var marker = new google.maps.Marker({
|
|
||||||
animation: google.maps.Animation.DROP,
|
|
||||||
icon: image,
|
|
||||||
map: map,
|
|
||||||
position: point,
|
|
||||||
shadow: shadow
|
|
||||||
});
|
|
||||||
google.maps.event.addListener(marker, 'click', function() {
|
|
||||||
if(activeInfoWindow) {
|
|
||||||
activeInfoWindow.close();
|
|
||||||
}
|
|
||||||
var infoWindow = new google.maps.InfoWindow({
|
|
||||||
maxWidth: 350
|
|
||||||
});
|
|
||||||
google.maps.event.addListener(infoWindow, 'closeclick', function() {
|
|
||||||
isWindowOpen = false;
|
|
||||||
});
|
|
||||||
activeInfoWindow = infoWindow;
|
|
||||||
activeHydrantId = hydrantId;
|
|
||||||
activeMarker = marker;
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': hydrantId
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
// Prevent race condition, which could lead to multiple windows being open at the same time.
|
|
||||||
if(infoWindow == activeInfoWindow) {
|
|
||||||
infoWindow.setContent(data);
|
|
||||||
infoWindow.open(map, marker);
|
|
||||||
isWindowOpen = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
hydrantIds.push(hydrantId);
|
|
||||||
}
|
|
||||||
function addMarkersAround(lat, lng) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/hydrants.json',
|
|
||||||
data: {
|
|
||||||
'commit': $('#address_form input[type="submit"]').val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#address_form input[name="authenticity_token"]').val(),
|
|
||||||
'lat': lat,
|
|
||||||
'lng': lng,
|
|
||||||
'limit': $('#address_form input[name="limit"]').val()
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
if(data.errors) {
|
|
||||||
$('#address_label').addClass('error', 500);
|
|
||||||
$('#address').addClass('error', 500);
|
|
||||||
$('#address').focus();
|
|
||||||
} else {
|
|
||||||
$('#address_label').removeClass('error', 500);
|
|
||||||
$('#address').removeClass('error', 500);
|
|
||||||
var i = -1;
|
|
||||||
$(data).each(function(index, hydrant) {
|
|
||||||
if($.inArray(hydrant.id, hydrantIds) == -1) {
|
|
||||||
i += 1;
|
|
||||||
} else {
|
|
||||||
// continue
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
setTimeout(function() {
|
|
||||||
point = new google.maps.LatLng(hydrant.lat, hydrant.lng);
|
|
||||||
if(hydrant.user_id) {
|
|
||||||
image_path = '<%= image_path 'markers/green.png' %>';
|
|
||||||
} else {
|
|
||||||
image_path = '<%= image_path 'markers/red.png' %>';
|
|
||||||
}
|
|
||||||
addMarker(hydrant.id, point, image_path);
|
|
||||||
}, i * 100);
|
|
||||||
});
|
|
||||||
center = new google.maps.LatLng(lat, lng);
|
|
||||||
map.setCenter(center);
|
|
||||||
map.setZoom(18);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
google.maps.event.addListener(map, 'dragend', function() {
|
|
||||||
if(isWindowOpen == true) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
center = map.getCenter();
|
|
||||||
addMarkersAround(center.lat(), center.lng());
|
|
||||||
});
|
|
||||||
$('#address_form').submit(function() {
|
|
||||||
var submitButton = $("#address_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
var submitButtonText = $(submitButton).attr("value");
|
|
||||||
$(submitButton).attr("value", "Please Wait...");
|
|
||||||
if($('#address').val() === '') {
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
$(submitButton).attr("value", submitButtonText);
|
|
||||||
$('#address_label').addClass('error', 500);
|
|
||||||
$('#address').addClass('error', 500);
|
|
||||||
$('#address').focus();
|
|
||||||
} else {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/address.json',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#address_form input[name="authenticity_token"]').val(),
|
|
||||||
'city_state': $('#city_state').val(),
|
|
||||||
'address': $('#address').val()
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
$(submitButton).attr("value", submitButtonText);
|
|
||||||
if(data.errors) {
|
|
||||||
$('#address_label').addClass('error', 500);
|
|
||||||
$('#address').addClass('error', 500);
|
|
||||||
$('#address').focus();
|
|
||||||
} else {
|
|
||||||
addMarkersAround(data[0], data[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#combo_form input[type="radio"]').live('click', function() {
|
|
||||||
var self = $(this);
|
|
||||||
if('new' == self.val()) {
|
|
||||||
$('#user_forgot_password_fields').slideUp();
|
|
||||||
$('#user_sign_in_fields').slideUp();
|
|
||||||
$('#user_sign_up_fields').slideDown();
|
|
||||||
$('#combo_form').data('state', 'user_sign_up');
|
|
||||||
} else if('existing' == self.val()) {
|
|
||||||
$('#user_sign_up_fields').slideUp();
|
|
||||||
$('#user_sign_in_fields').slideDown(function() {
|
|
||||||
$('#combo_form').data('state', 'user_sign_in');
|
|
||||||
$('#user_forgot_password_link').click(function() {
|
|
||||||
$('#user_sign_in_fields').slideUp();
|
|
||||||
$('#user_forgot_password_fields').slideDown(function() {
|
|
||||||
$('#user_remembered_password').click(function() {
|
|
||||||
$('#user_forgot_password_fields').slideUp();
|
|
||||||
$('#user_sign_in_fields').slideDown();
|
|
||||||
$('#combo_form').data('state', 'user_sign_in');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
$('#combo_form').data('state', 'user_forgot_password');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('#combo_form').live('submit', function() {
|
|
||||||
var submitButton = $("#combo_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
var errors = []
|
|
||||||
if(!/[\w\.%\+\]+@[\w\]+\.+[\w]{2,}/.test($('#user_email').val())) {
|
|
||||||
errors.push($('#user_email'));
|
|
||||||
$('#user_email_label').addClass('error', 500);
|
|
||||||
$('#user_email').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_email_label').removeClass('error');
|
|
||||||
$('#user_email').removeClass('error');
|
|
||||||
}
|
|
||||||
if(!$(this).data('state') || $(this).data('state') === 'user_sign_up') {
|
|
||||||
if($('#user_name').val() === '') {
|
|
||||||
errors.push($('#user_name'));
|
|
||||||
$('#user_name_label').addClass('error', 500);
|
|
||||||
$('#user_name').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_name_label').removeClass('error');
|
|
||||||
$('#user_name').removeClass('error');
|
|
||||||
}
|
|
||||||
if($('#user_password_confirmation').val().length < 6 || $('#user_password_confirmation').val().length > 20) {
|
|
||||||
errors.push($('#user_password_confirmation'));
|
|
||||||
$('#user_password_confirmation_label').addClass('error', 500);
|
|
||||||
$('#user_password_confirmation').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_password_confirmation_label').removeClass('error');
|
|
||||||
$('#user_password_confirmation').removeClass('error');
|
|
||||||
}
|
|
||||||
if(errors.length > 0) {
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
errors[0].focus();
|
|
||||||
} else {
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/users.json',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#combo_form input[name="authenticity_token"]').val(),
|
|
||||||
'user': {
|
|
||||||
'email': $('#user_email').val(),
|
|
||||||
'name': $('#user_name').val(),
|
|
||||||
'organization': $('#user_organization').val(),
|
|
||||||
'voice_number': $('#user_voice_number').val(),
|
|
||||||
'sms_number': $('#user_sms_number').val(),
|
|
||||||
'password': $('#user_password_confirmation').val(),
|
|
||||||
'password_confirmation': $('#user_password_confirmation').val()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
data = $.parseJSON(jqXHR.responseText);
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
if(data.errors.email) {
|
|
||||||
errors.push($('#user_email'));
|
|
||||||
$('#user_email_label').addClass('error', 500);
|
|
||||||
$('#user_email').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.name) {
|
|
||||||
errors.push($('#user_name'));
|
|
||||||
$('#user_name_label').addClass('error', 500);
|
|
||||||
$('#user_name').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.organization) {
|
|
||||||
errors.push($('#user_organization'));
|
|
||||||
$('#user_organization_label').addClass('error', 500);
|
|
||||||
$('#user_organization').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.voice_number) {
|
|
||||||
errors.push($('#user_voice_number'));
|
|
||||||
$('#user_voice_number_label').addClass('error', 500);
|
|
||||||
$('#user_voice_number').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.sms_number) {
|
|
||||||
errors.push($('#user_sms_number'));
|
|
||||||
$('#user_sms_number_label').addClass('error', 500);
|
|
||||||
$('#user_sms_number').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.password) {
|
|
||||||
errors.push($('#user_password_confirmation'));
|
|
||||||
$('#user_password_confirmation_label').addClass('error', 500);
|
|
||||||
$('#user_password_confirmation').addClass('error', 500);
|
|
||||||
}
|
|
||||||
errors[0].focus();
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'flash': {
|
|
||||||
'notice': "Thanks for signing up!"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else if($(this).data('state') === 'user_sign_in') {
|
|
||||||
if($('#user_password').val().length < 6 || $('#user_password').val().length > 20) {
|
|
||||||
errors.push($('#user_password'));
|
|
||||||
$('#user_password_label').addClass('error', 500);
|
|
||||||
$('#user_password').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_password_label').removeClass('error');
|
|
||||||
$('#user_password').removeClass('error');
|
|
||||||
}
|
|
||||||
if(errors.length > 0) {
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
errors[0].focus();
|
|
||||||
} else {
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/users/sign_in.json',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#combo_form input[name="authenticity_token"]').val(),
|
|
||||||
'user': {
|
|
||||||
'email': $('#user_email').val(),
|
|
||||||
'password': $('#user_password').val(),
|
|
||||||
'remember_me': $('#user_remember_me').val()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
$('#user_password_label').addClass('error', 500);
|
|
||||||
$('#user_password').addClass('error', 500);
|
|
||||||
$('#user_password').focus();
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'flash': {
|
|
||||||
'notice': "Signed in!"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else if($(this).data('state') === 'user_forgot_password') {
|
|
||||||
if(errors.length > 0) {
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
errors[0].focus();
|
|
||||||
} else {
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/users/password.json',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#combo_form input[name="authenticity_token"]').val(),
|
|
||||||
'user': {
|
|
||||||
'email': $('#user_email').val()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
$('#user_email_label').addClass('error', 500);
|
|
||||||
$('#user_email').addClass('error', 500);
|
|
||||||
$('#user_email').focus();
|
|
||||||
},
|
|
||||||
success: function() {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/users/sign_in',
|
|
||||||
data: {
|
|
||||||
'user': {
|
|
||||||
'email': $('#user_email').val()
|
|
||||||
},
|
|
||||||
'flash': {
|
|
||||||
'notice': "Password reset instructions sent! Check your email."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
$('#user_existing').click();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#adoption_form').live('submit', function() {
|
|
||||||
var submitButton = $("#adoption_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/hydrants.json',
|
|
||||||
data: {
|
|
||||||
'id': $('#hydrant_id').val(),
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#adoption_form input[name="authenticity_token"]').val(),
|
|
||||||
'_method': 'put',
|
|
||||||
'hydrant': {
|
|
||||||
'user_id': $('#hydrant_user_id').val(),
|
|
||||||
'name': $('#hydrant_name').val()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'flash': {
|
|
||||||
'notice': "You just adopted " + $('#hydrant_name').val() + "!"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
image = new google.maps.MarkerImage('<%= image_path 'markers/green.png' %>',
|
|
||||||
new google.maps.Size(27.0, 37.0),
|
|
||||||
new google.maps.Point(0, 0),
|
|
||||||
new google.maps.Point(13.0, 18.0)
|
|
||||||
);
|
|
||||||
activeMarker.setIcon(image);
|
|
||||||
activeMarker.setAnimation(google.maps.Animation.BOUNCE);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#abandon_form').live('submit', function() {
|
|
||||||
var answer = window.confirm("Are you sure you want to abandon this hydrant?")
|
|
||||||
if(answer) {
|
|
||||||
var submitButton = $("#abandon_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/hydrants.json',
|
|
||||||
data: {
|
|
||||||
'id': $('#hydrant_id').val(),
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#abandon_form input[name="authenticity_token"]').val(),
|
|
||||||
'_method': 'put',
|
|
||||||
'hydrant': {
|
|
||||||
'user_id': $('#hydrant_user_id').val(),
|
|
||||||
'name': $('#hydrant_name').val()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'flash': {
|
|
||||||
'notice': "Hydrant abandoned!"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
image = new google.maps.MarkerImage('<%= image_path 'markers/red.png' %>',
|
|
||||||
new google.maps.Size(27.0, 37.0),
|
|
||||||
new google.maps.Point(0, 0),
|
|
||||||
new google.maps.Point(13.0, 18.0)
|
|
||||||
);
|
|
||||||
activeMarker.setIcon(image);
|
|
||||||
activeMarker.setAnimation(null);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#steal_form').live('submit', function() {
|
|
||||||
var answer = window.confirm("Are you sure you want to steal this hydrant?")
|
|
||||||
if(answer) {
|
|
||||||
var submitButton = $("#steal_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/hydrants.json',
|
|
||||||
data: {
|
|
||||||
'id': $('#hydrant_id').val(),
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#steal_form input[name="authenticity_token"]').val(),
|
|
||||||
'_method': 'put',
|
|
||||||
'hydrant': {
|
|
||||||
'user_id': $('#hydrant_user_id').val(),
|
|
||||||
'name': $('#hydrant_name').val()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'flash': {
|
|
||||||
'notice': "Hydrant stolen!"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
image = new google.maps.MarkerImage('<%= image_path 'markers/red.png' %>',
|
|
||||||
new google.maps.Size(27.0, 37.0),
|
|
||||||
new google.maps.Point(0, 0),
|
|
||||||
new google.maps.Point(13.0, 18.0)
|
|
||||||
);
|
|
||||||
activeMarker.setIcon(image);
|
|
||||||
activeMarker.setAnimation(null);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#edit_profile_form').live('submit', function() {
|
|
||||||
var submitButton = $("#edit_profile_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/users/edit',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#edit_profile_form input[name="authenticity_token"]').val()
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#edit_form').live('submit', function() {
|
|
||||||
var submitButton = $("#edit_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
var errors = []
|
|
||||||
if(!/[\w\.%\+\]+@[\w\]+\.+[\w]{2,}/.test($('#user_email').val())) {
|
|
||||||
errors.push($('#user_email'));
|
|
||||||
$('#user_email_label').addClass('error', 500);
|
|
||||||
$('#user_email').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_email_label').removeClass('error');
|
|
||||||
$('#user_email').removeClass('error');
|
|
||||||
}
|
|
||||||
if($('#user_name').val() === '') {
|
|
||||||
errors.push($('#user_name'));
|
|
||||||
$('#user_name_label').addClass('error', 500);
|
|
||||||
$('#user_name').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_name_label').removeClass('error');
|
|
||||||
$('#user_name').removeClass('error');
|
|
||||||
}
|
|
||||||
if($('#user_password').val() && ($('#user_password').val().length < 6 || $('#user_password').val().length > 20)) {
|
|
||||||
errors.push($('#user_password'));
|
|
||||||
$('#user_password_label').addClass('error', 500);
|
|
||||||
$('#user_password').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_password_label').removeClass('error');
|
|
||||||
$('#user_password').removeClass('error');
|
|
||||||
}
|
|
||||||
if($('#user_current_password').val().length < 6 || $('#user_current_password').val().length > 20) {
|
|
||||||
errors.push($('#user_current_password'));
|
|
||||||
$('#user_current_password_label').addClass('error', 500);
|
|
||||||
$('#user_current_password').addClass('error', 500);
|
|
||||||
} else {
|
|
||||||
$('#user_current_password_label').removeClass('error');
|
|
||||||
$('#user_current_password').removeClass('error');
|
|
||||||
}
|
|
||||||
if(errors.length > 0) {
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
errors[0].focus();
|
|
||||||
} else {
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/users.json',
|
|
||||||
data: {
|
|
||||||
'id': $('#id').val(),
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#edit_form input[name="authenticity_token"]').val(),
|
|
||||||
'_method': 'put',
|
|
||||||
'user': {
|
|
||||||
'email': $('#user_email').val(),
|
|
||||||
'name': $('#user_name').val(),
|
|
||||||
'organization': $('#user_organization').val(),
|
|
||||||
'voice_number': $('#user_voice_number').val(),
|
|
||||||
'sms_number': $('#user_sms_number').val(),
|
|
||||||
'password': $('#user_password').val(),
|
|
||||||
'password_confirmation': $('#user_password').val(),
|
|
||||||
'current_password': $('#user_current_password').val()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
data = $.parseJSON(jqXHR.responseText);
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
if(data.errors.email) {
|
|
||||||
errors.push($('#user_email'));
|
|
||||||
$('#user_email_label').addClass('error', 500);
|
|
||||||
$('#user_email').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.name) {
|
|
||||||
errors.push($('#user_name'));
|
|
||||||
$('#user_name_label').addClass('error', 500);
|
|
||||||
$('#user_name').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.organization) {
|
|
||||||
errors.push($('#user_organization'));
|
|
||||||
$('#user_organization_label').addClass('error', 500);
|
|
||||||
$('#user_organization').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.voice_number) {
|
|
||||||
errors.push($('#user_voice_number'));
|
|
||||||
$('#user_voice_number_label').addClass('error', 500);
|
|
||||||
$('#user_voice_number').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.sms_number) {
|
|
||||||
errors.push($('#user_sms_number'));
|
|
||||||
$('#user_sms_number_label').addClass('error', 500);
|
|
||||||
$('#user_sms_number').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.password) {
|
|
||||||
errors.push($('#user_password'));
|
|
||||||
$('#user_password_label').addClass('error', 500);
|
|
||||||
$('#user_password').addClass('error', 500);
|
|
||||||
}
|
|
||||||
if(data.errors.current_password) {
|
|
||||||
errors.push($('#user_current_password'));
|
|
||||||
$('#user_current_password_label').addClass('error', 500);
|
|
||||||
$('#user_current_password').addClass('error', 500);
|
|
||||||
}
|
|
||||||
errors[0].focus();
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#sign_out_form').live('submit', function() {
|
|
||||||
var submitButton = $("#sign_out_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/users/sign_out.json',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#sign_out_form input[name="authenticity_token"]').val()
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'flash': {
|
|
||||||
'notice': "Signed out."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#sign_in_form').live('submit', function() {
|
|
||||||
var submitButton = $("#sign_in_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/users/sign_in',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#sign_in_form input[name="authenticity_token"]').val(),
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#back_form').live('submit', function() {
|
|
||||||
var submitButton = $("#back_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#back_form input[name="authenticity_token"]').val(),
|
|
||||||
'hydrant_id': activeHydrantId
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#reminder_form').live('submit', function() {
|
|
||||||
var submitButton = $("#reminder_form input[type='submit']");
|
|
||||||
$(submitButton).attr("disabled", true);
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/reminders.json',
|
|
||||||
data: {
|
|
||||||
'commit': submitButton.val(),
|
|
||||||
'utf8': '✓',
|
|
||||||
'authenticity_token': $('#sign_out_form input[name="authenticity_token"]').val(),
|
|
||||||
'reminder': {
|
|
||||||
'from_user_id': $('#reminder_from_user_id').val(),
|
|
||||||
'to_user_id': $('#reminder_to_user_id').val(),
|
|
||||||
'hydrant_id': activeHydrantId
|
|
||||||
}
|
|
||||||
},
|
|
||||||
beforeSend: function() {
|
|
||||||
$('#info_window').hide();
|
|
||||||
$('#loader').show();
|
|
||||||
},
|
|
||||||
error: function(jqXHR) {
|
|
||||||
$('#loader').hide();
|
|
||||||
$('#info_window').show();
|
|
||||||
$(submitButton).attr("disabled", false);
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/info_window',
|
|
||||||
data: {
|
|
||||||
'hydrant_id': activeHydrantId,
|
|
||||||
'flash': {
|
|
||||||
'notice': "Reminder sent!"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
success: function(data) {
|
|
||||||
activeInfoWindow.setContent(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#notice').live('click', function() {
|
|
||||||
$(this).fadeOut('slow');
|
|
||||||
});
|
|
||||||
$('#error').live('click', function() {
|
|
||||||
$(this).fadeOut('slow');
|
|
||||||
});
|
|
||||||
});
|
|
|
@ -1,7 +1,834 @@
|
||||||
// This is a manifest file that'll be compiled into including all the files listed below.
|
$(function() {
|
||||||
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
|
var center = new google.maps.LatLng(42.358431, -71.059773);
|
||||||
// be included in the compiled file accessible from http://example.com/assets/application.js
|
var zoomLevel = 15;
|
||||||
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
var mapOptions = {
|
||||||
// the compiled file.
|
center: center,
|
||||||
//
|
mapTypeControl: false,
|
||||||
//= require_tree .
|
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
||||||
|
panControl: false,
|
||||||
|
zoom: zoomLevel
|
||||||
|
};
|
||||||
|
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
|
||||||
|
var activeHydrantId;
|
||||||
|
var activeMarker;
|
||||||
|
var activeInfoWindow;
|
||||||
|
var isWindowOpen = false;
|
||||||
|
var hydrantIds = [];
|
||||||
|
function addMarker(hydrantId, point, image_path) {
|
||||||
|
var image = new google.maps.MarkerImage(image_path,
|
||||||
|
new google.maps.Size(27.0, 37.0),
|
||||||
|
new google.maps.Point(0, 0),
|
||||||
|
new google.maps.Point(13.0, 18.0)
|
||||||
|
);
|
||||||
|
var shadow = new google.maps.MarkerImage('<%= image_path 'markers/shadow.png' %>',
|
||||||
|
new google.maps.Size(46.0, 37.0),
|
||||||
|
new google.maps.Point(0, 0),
|
||||||
|
new google.maps.Point(13.0, 18.0)
|
||||||
|
);
|
||||||
|
var marker = new google.maps.Marker({
|
||||||
|
animation: google.maps.Animation.DROP,
|
||||||
|
icon: image,
|
||||||
|
map: map,
|
||||||
|
position: point,
|
||||||
|
shadow: shadow
|
||||||
|
});
|
||||||
|
google.maps.event.addListener(marker, 'click', function() {
|
||||||
|
if(activeInfoWindow) {
|
||||||
|
activeInfoWindow.close();
|
||||||
|
}
|
||||||
|
var infoWindow = new google.maps.InfoWindow({
|
||||||
|
maxWidth: 350
|
||||||
|
});
|
||||||
|
google.maps.event.addListener(infoWindow, 'closeclick', function() {
|
||||||
|
isWindowOpen = false;
|
||||||
|
});
|
||||||
|
activeInfoWindow = infoWindow;
|
||||||
|
activeHydrantId = hydrantId;
|
||||||
|
activeMarker = marker;
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': hydrantId
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
// Prevent race condition, which could lead to multiple windows being open at the same time.
|
||||||
|
if(infoWindow == activeInfoWindow) {
|
||||||
|
infoWindow.setContent(data);
|
||||||
|
infoWindow.open(map, marker);
|
||||||
|
isWindowOpen = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
hydrantIds.push(hydrantId);
|
||||||
|
}
|
||||||
|
function addMarkersAround(lat, lng) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/hydrants.json',
|
||||||
|
data: {
|
||||||
|
'commit': $('#address_form input[type="submit"]').val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#address_form input[name="authenticity_token"]').val(),
|
||||||
|
'lat': lat,
|
||||||
|
'lng': lng,
|
||||||
|
'limit': $('#address_form input[name="limit"]').val()
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
if(data.errors) {
|
||||||
|
$('#address_label').addClass('error', 500);
|
||||||
|
$('#address').addClass('error', 500);
|
||||||
|
$('#address').focus();
|
||||||
|
} else {
|
||||||
|
$('#address_label').removeClass('error', 500);
|
||||||
|
$('#address').removeClass('error', 500);
|
||||||
|
var i = -1;
|
||||||
|
$(data).each(function(index, hydrant) {
|
||||||
|
if($.inArray(hydrant.id, hydrantIds) == -1) {
|
||||||
|
i += 1;
|
||||||
|
} else {
|
||||||
|
// continue
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
setTimeout(function() {
|
||||||
|
point = new google.maps.LatLng(hydrant.lat, hydrant.lng);
|
||||||
|
if(hydrant.user_id) {
|
||||||
|
image_path = '<%= image_path 'markers/green.png' %>';
|
||||||
|
} else {
|
||||||
|
image_path = '<%= image_path 'markers/red.png' %>';
|
||||||
|
}
|
||||||
|
addMarker(hydrant.id, point, image_path);
|
||||||
|
}, i * 100);
|
||||||
|
});
|
||||||
|
center = new google.maps.LatLng(lat, lng);
|
||||||
|
map.setCenter(center);
|
||||||
|
map.setZoom(18);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
google.maps.event.addListener(map, 'dragend', function() {
|
||||||
|
if(isWindowOpen == true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
center = map.getCenter();
|
||||||
|
addMarkersAround(center.lat(), center.lng());
|
||||||
|
});
|
||||||
|
$('#address_form').submit(function() {
|
||||||
|
var submitButton = $("#address_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
var submitButtonText = $(submitButton).attr("value");
|
||||||
|
$(submitButton).attr("value", "Please Wait...");
|
||||||
|
if($('#address').val() === '') {
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
$(submitButton).attr("value", submitButtonText);
|
||||||
|
$('#address_label').addClass('error', 500);
|
||||||
|
$('#address').addClass('error', 500);
|
||||||
|
$('#address').focus();
|
||||||
|
} else {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/address.json',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#address_form input[name="authenticity_token"]').val(),
|
||||||
|
'city_state': $('#city_state').val(),
|
||||||
|
'address': $('#address').val()
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
$(submitButton).attr("value", submitButtonText);
|
||||||
|
if(data.errors) {
|
||||||
|
$('#address_label').addClass('error', 500);
|
||||||
|
$('#address').addClass('error', 500);
|
||||||
|
$('#address').focus();
|
||||||
|
} else {
|
||||||
|
addMarkersAround(data[0], data[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#combo_form input[type="radio"]').live('click', function() {
|
||||||
|
var self = $(this);
|
||||||
|
if('new' == self.val()) {
|
||||||
|
$('#user_forgot_password_fields').slideUp();
|
||||||
|
$('#user_sign_in_fields').slideUp();
|
||||||
|
$('#user_sign_up_fields').slideDown();
|
||||||
|
$('#combo_form').data('state', 'user_sign_up');
|
||||||
|
} else if('existing' == self.val()) {
|
||||||
|
$('#user_sign_up_fields').slideUp();
|
||||||
|
$('#user_sign_in_fields').slideDown(function() {
|
||||||
|
$('#combo_form').data('state', 'user_sign_in');
|
||||||
|
$('#user_forgot_password_link').click(function() {
|
||||||
|
$('#user_sign_in_fields').slideUp();
|
||||||
|
$('#user_forgot_password_fields').slideDown(function() {
|
||||||
|
$('#user_remembered_password').click(function() {
|
||||||
|
$('#user_forgot_password_fields').slideUp();
|
||||||
|
$('#user_sign_in_fields').slideDown();
|
||||||
|
$('#combo_form').data('state', 'user_sign_in');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$('#combo_form').data('state', 'user_forgot_password');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#combo_form').live('submit', function() {
|
||||||
|
var submitButton = $("#combo_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
var errors = []
|
||||||
|
if(!/[\w\.%\+\]+@[\w\]+\.+[\w]{2,}/.test($('#user_email').val())) {
|
||||||
|
errors.push($('#user_email'));
|
||||||
|
$('#user_email_label').addClass('error', 500);
|
||||||
|
$('#user_email').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_email_label').removeClass('error');
|
||||||
|
$('#user_email').removeClass('error');
|
||||||
|
}
|
||||||
|
if(!$(this).data('state') || $(this).data('state') === 'user_sign_up') {
|
||||||
|
if($('#user_name').val() === '') {
|
||||||
|
errors.push($('#user_name'));
|
||||||
|
$('#user_name_label').addClass('error', 500);
|
||||||
|
$('#user_name').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_name_label').removeClass('error');
|
||||||
|
$('#user_name').removeClass('error');
|
||||||
|
}
|
||||||
|
if($('#user_password_confirmation').val().length < 6 || $('#user_password_confirmation').val().length > 20) {
|
||||||
|
errors.push($('#user_password_confirmation'));
|
||||||
|
$('#user_password_confirmation_label').addClass('error', 500);
|
||||||
|
$('#user_password_confirmation').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_password_confirmation_label').removeClass('error');
|
||||||
|
$('#user_password_confirmation').removeClass('error');
|
||||||
|
}
|
||||||
|
if(errors.length > 0) {
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
errors[0].focus();
|
||||||
|
} else {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/users.json',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#combo_form input[name="authenticity_token"]').val(),
|
||||||
|
'user': {
|
||||||
|
'email': $('#user_email').val(),
|
||||||
|
'name': $('#user_name').val(),
|
||||||
|
'organization': $('#user_organization').val(),
|
||||||
|
'voice_number': $('#user_voice_number').val(),
|
||||||
|
'sms_number': $('#user_sms_number').val(),
|
||||||
|
'password': $('#user_password_confirmation').val(),
|
||||||
|
'password_confirmation': $('#user_password_confirmation').val()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
data = $.parseJSON(jqXHR.responseText);
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
if(data.errors.email) {
|
||||||
|
errors.push($('#user_email'));
|
||||||
|
$('#user_email_label').addClass('error', 500);
|
||||||
|
$('#user_email').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.name) {
|
||||||
|
errors.push($('#user_name'));
|
||||||
|
$('#user_name_label').addClass('error', 500);
|
||||||
|
$('#user_name').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.organization) {
|
||||||
|
errors.push($('#user_organization'));
|
||||||
|
$('#user_organization_label').addClass('error', 500);
|
||||||
|
$('#user_organization').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.voice_number) {
|
||||||
|
errors.push($('#user_voice_number'));
|
||||||
|
$('#user_voice_number_label').addClass('error', 500);
|
||||||
|
$('#user_voice_number').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.sms_number) {
|
||||||
|
errors.push($('#user_sms_number'));
|
||||||
|
$('#user_sms_number_label').addClass('error', 500);
|
||||||
|
$('#user_sms_number').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.password) {
|
||||||
|
errors.push($('#user_password_confirmation'));
|
||||||
|
$('#user_password_confirmation_label').addClass('error', 500);
|
||||||
|
$('#user_password_confirmation').addClass('error', 500);
|
||||||
|
}
|
||||||
|
errors[0].focus();
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'flash': {
|
||||||
|
'notice': "Thanks for signing up!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else if($(this).data('state') === 'user_sign_in') {
|
||||||
|
if($('#user_password').val().length < 6 || $('#user_password').val().length > 20) {
|
||||||
|
errors.push($('#user_password'));
|
||||||
|
$('#user_password_label').addClass('error', 500);
|
||||||
|
$('#user_password').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_password_label').removeClass('error');
|
||||||
|
$('#user_password').removeClass('error');
|
||||||
|
}
|
||||||
|
if(errors.length > 0) {
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
errors[0].focus();
|
||||||
|
} else {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/users/sign_in.json',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#combo_form input[name="authenticity_token"]').val(),
|
||||||
|
'user': {
|
||||||
|
'email': $('#user_email').val(),
|
||||||
|
'password': $('#user_password').val(),
|
||||||
|
'remember_me': $('#user_remember_me').val()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
$('#user_password_label').addClass('error', 500);
|
||||||
|
$('#user_password').addClass('error', 500);
|
||||||
|
$('#user_password').focus();
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'flash': {
|
||||||
|
'notice': "Signed in!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else if($(this).data('state') === 'user_forgot_password') {
|
||||||
|
if(errors.length > 0) {
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
errors[0].focus();
|
||||||
|
} else {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/users/password.json',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#combo_form input[name="authenticity_token"]').val(),
|
||||||
|
'user': {
|
||||||
|
'email': $('#user_email').val()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
$('#user_email_label').addClass('error', 500);
|
||||||
|
$('#user_email').addClass('error', 500);
|
||||||
|
$('#user_email').focus();
|
||||||
|
},
|
||||||
|
success: function() {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/users/sign_in',
|
||||||
|
data: {
|
||||||
|
'user': {
|
||||||
|
'email': $('#user_email').val()
|
||||||
|
},
|
||||||
|
'flash': {
|
||||||
|
'notice': "Password reset instructions sent! Check your email."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
$('#user_existing').click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#adoption_form').live('submit', function() {
|
||||||
|
var submitButton = $("#adoption_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/hydrants.json',
|
||||||
|
data: {
|
||||||
|
'id': $('#hydrant_id').val(),
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#adoption_form input[name="authenticity_token"]').val(),
|
||||||
|
'_method': 'put',
|
||||||
|
'hydrant': {
|
||||||
|
'user_id': $('#hydrant_user_id').val(),
|
||||||
|
'name': $('#hydrant_name').val()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'flash': {
|
||||||
|
'notice': "You just adopted " + $('#hydrant_name').val() + "!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
image = new google.maps.MarkerImage('<%= image_path 'markers/green.png' %>',
|
||||||
|
new google.maps.Size(27.0, 37.0),
|
||||||
|
new google.maps.Point(0, 0),
|
||||||
|
new google.maps.Point(13.0, 18.0)
|
||||||
|
);
|
||||||
|
activeMarker.setIcon(image);
|
||||||
|
activeMarker.setAnimation(google.maps.Animation.BOUNCE);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#abandon_form').live('submit', function() {
|
||||||
|
var answer = window.confirm("Are you sure you want to abandon this hydrant?")
|
||||||
|
if(answer) {
|
||||||
|
var submitButton = $("#abandon_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/hydrants.json',
|
||||||
|
data: {
|
||||||
|
'id': $('#hydrant_id').val(),
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#abandon_form input[name="authenticity_token"]').val(),
|
||||||
|
'_method': 'put',
|
||||||
|
'hydrant': {
|
||||||
|
'user_id': $('#hydrant_user_id').val(),
|
||||||
|
'name': $('#hydrant_name').val()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'flash': {
|
||||||
|
'notice': "Hydrant abandoned!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
image = new google.maps.MarkerImage('<%= image_path 'markers/red.png' %>',
|
||||||
|
new google.maps.Size(27.0, 37.0),
|
||||||
|
new google.maps.Point(0, 0),
|
||||||
|
new google.maps.Point(13.0, 18.0)
|
||||||
|
);
|
||||||
|
activeMarker.setIcon(image);
|
||||||
|
activeMarker.setAnimation(null);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#steal_form').live('submit', function() {
|
||||||
|
var answer = window.confirm("Are you sure you want to steal this hydrant?")
|
||||||
|
if(answer) {
|
||||||
|
var submitButton = $("#steal_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/hydrants.json',
|
||||||
|
data: {
|
||||||
|
'id': $('#hydrant_id').val(),
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#steal_form input[name="authenticity_token"]').val(),
|
||||||
|
'_method': 'put',
|
||||||
|
'hydrant': {
|
||||||
|
'user_id': $('#hydrant_user_id').val(),
|
||||||
|
'name': $('#hydrant_name').val()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'flash': {
|
||||||
|
'notice': "Hydrant stolen!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
image = new google.maps.MarkerImage('<%= image_path 'markers/red.png' %>',
|
||||||
|
new google.maps.Size(27.0, 37.0),
|
||||||
|
new google.maps.Point(0, 0),
|
||||||
|
new google.maps.Point(13.0, 18.0)
|
||||||
|
);
|
||||||
|
activeMarker.setIcon(image);
|
||||||
|
activeMarker.setAnimation(null);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#edit_profile_form').live('submit', function() {
|
||||||
|
var submitButton = $("#edit_profile_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/users/edit',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#edit_profile_form input[name="authenticity_token"]').val()
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#edit_form').live('submit', function() {
|
||||||
|
var submitButton = $("#edit_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
var errors = []
|
||||||
|
if(!/[\w\.%\+\]+@[\w\]+\.+[\w]{2,}/.test($('#user_email').val())) {
|
||||||
|
errors.push($('#user_email'));
|
||||||
|
$('#user_email_label').addClass('error', 500);
|
||||||
|
$('#user_email').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_email_label').removeClass('error');
|
||||||
|
$('#user_email').removeClass('error');
|
||||||
|
}
|
||||||
|
if($('#user_name').val() === '') {
|
||||||
|
errors.push($('#user_name'));
|
||||||
|
$('#user_name_label').addClass('error', 500);
|
||||||
|
$('#user_name').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_name_label').removeClass('error');
|
||||||
|
$('#user_name').removeClass('error');
|
||||||
|
}
|
||||||
|
if($('#user_password').val() && ($('#user_password').val().length < 6 || $('#user_password').val().length > 20)) {
|
||||||
|
errors.push($('#user_password'));
|
||||||
|
$('#user_password_label').addClass('error', 500);
|
||||||
|
$('#user_password').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_password_label').removeClass('error');
|
||||||
|
$('#user_password').removeClass('error');
|
||||||
|
}
|
||||||
|
if($('#user_current_password').val().length < 6 || $('#user_current_password').val().length > 20) {
|
||||||
|
errors.push($('#user_current_password'));
|
||||||
|
$('#user_current_password_label').addClass('error', 500);
|
||||||
|
$('#user_current_password').addClass('error', 500);
|
||||||
|
} else {
|
||||||
|
$('#user_current_password_label').removeClass('error');
|
||||||
|
$('#user_current_password').removeClass('error');
|
||||||
|
}
|
||||||
|
if(errors.length > 0) {
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
errors[0].focus();
|
||||||
|
} else {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/users.json',
|
||||||
|
data: {
|
||||||
|
'id': $('#id').val(),
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#edit_form input[name="authenticity_token"]').val(),
|
||||||
|
'_method': 'put',
|
||||||
|
'user': {
|
||||||
|
'email': $('#user_email').val(),
|
||||||
|
'name': $('#user_name').val(),
|
||||||
|
'organization': $('#user_organization').val(),
|
||||||
|
'voice_number': $('#user_voice_number').val(),
|
||||||
|
'sms_number': $('#user_sms_number').val(),
|
||||||
|
'password': $('#user_password').val(),
|
||||||
|
'password_confirmation': $('#user_password').val(),
|
||||||
|
'current_password': $('#user_current_password').val()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
data = $.parseJSON(jqXHR.responseText);
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
if(data.errors.email) {
|
||||||
|
errors.push($('#user_email'));
|
||||||
|
$('#user_email_label').addClass('error', 500);
|
||||||
|
$('#user_email').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.name) {
|
||||||
|
errors.push($('#user_name'));
|
||||||
|
$('#user_name_label').addClass('error', 500);
|
||||||
|
$('#user_name').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.organization) {
|
||||||
|
errors.push($('#user_organization'));
|
||||||
|
$('#user_organization_label').addClass('error', 500);
|
||||||
|
$('#user_organization').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.voice_number) {
|
||||||
|
errors.push($('#user_voice_number'));
|
||||||
|
$('#user_voice_number_label').addClass('error', 500);
|
||||||
|
$('#user_voice_number').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.sms_number) {
|
||||||
|
errors.push($('#user_sms_number'));
|
||||||
|
$('#user_sms_number_label').addClass('error', 500);
|
||||||
|
$('#user_sms_number').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.password) {
|
||||||
|
errors.push($('#user_password'));
|
||||||
|
$('#user_password_label').addClass('error', 500);
|
||||||
|
$('#user_password').addClass('error', 500);
|
||||||
|
}
|
||||||
|
if(data.errors.current_password) {
|
||||||
|
errors.push($('#user_current_password'));
|
||||||
|
$('#user_current_password_label').addClass('error', 500);
|
||||||
|
$('#user_current_password').addClass('error', 500);
|
||||||
|
}
|
||||||
|
errors[0].focus();
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#sign_out_form').live('submit', function() {
|
||||||
|
var submitButton = $("#sign_out_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/users/sign_out.json',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#sign_out_form input[name="authenticity_token"]').val()
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'flash': {
|
||||||
|
'notice': "Signed out."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#sign_in_form').live('submit', function() {
|
||||||
|
var submitButton = $("#sign_in_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/users/sign_in',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#sign_in_form input[name="authenticity_token"]').val(),
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#back_form').live('submit', function() {
|
||||||
|
var submitButton = $("#back_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#back_form input[name="authenticity_token"]').val(),
|
||||||
|
'hydrant_id': activeHydrantId
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#reminder_form').live('submit', function() {
|
||||||
|
var submitButton = $("#reminder_form input[type='submit']");
|
||||||
|
$(submitButton).attr("disabled", true);
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/reminders.json',
|
||||||
|
data: {
|
||||||
|
'commit': submitButton.val(),
|
||||||
|
'utf8': '✓',
|
||||||
|
'authenticity_token': $('#sign_out_form input[name="authenticity_token"]').val(),
|
||||||
|
'reminder': {
|
||||||
|
'from_user_id': $('#reminder_from_user_id').val(),
|
||||||
|
'to_user_id': $('#reminder_to_user_id').val(),
|
||||||
|
'hydrant_id': activeHydrantId
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function() {
|
||||||
|
$('#info_window').hide();
|
||||||
|
$('#loader').show();
|
||||||
|
},
|
||||||
|
error: function(jqXHR) {
|
||||||
|
$('#loader').hide();
|
||||||
|
$('#info_window').show();
|
||||||
|
$(submitButton).attr("disabled", false);
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/info_window',
|
||||||
|
data: {
|
||||||
|
'hydrant_id': activeHydrantId,
|
||||||
|
'flash': {
|
||||||
|
'notice': "Reminder sent!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
activeInfoWindow.setContent(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#notice').live('click', function() {
|
||||||
|
$(this).fadeOut('slow');
|
||||||
|
});
|
||||||
|
$('#error').live('click', function() {
|
||||||
|
$(this).fadeOut('slow');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in New Issue