+145
@@ -0,0 +1,145 @@
|
||||
/* global trackGeoLocation, jqueryReady */
|
||||
|
||||
/* exported resourceLoadedSuccessfully */
|
||||
|
||||
function requestGeoPosition() {
|
||||
// console.log('Requesting GeoLocation data from the browser...');
|
||||
if (navigator.geolocation) {
|
||||
navigator.geolocation.getCurrentPosition(showGeoPosition, logGeoLocationError,
|
||||
{maximumAge: 600000, timeout: 5000, enableHighAccuracy: true});
|
||||
} else {
|
||||
// console.log('Browser does not support Geo Location');
|
||||
}
|
||||
}
|
||||
|
||||
function logGeoLocationError(error) {
|
||||
switch (error.code) {
|
||||
case error.PERMISSION_DENIED:
|
||||
// console.log('User denied the request for GeoLocation.');
|
||||
break;
|
||||
case error.POSITION_UNAVAILABLE:
|
||||
// console.log('Location information is unavailable.');
|
||||
break;
|
||||
case error.TIMEOUT:
|
||||
// console.log('The request to get user location timed out.');
|
||||
break;
|
||||
default:
|
||||
// console.log('An unknown error occurred.');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function showGeoPosition(position) {
|
||||
$('[name="geolocation"]').val(position.coords.latitude + ','
|
||||
+ position.coords.longitude + ',' + position.coords.accuracy + ',' + position.timestamp);
|
||||
}
|
||||
|
||||
|
||||
function preserveAnchorTagOnForm() {
|
||||
$('#fm1').submit(function () {
|
||||
var location = self.document.location;
|
||||
var hash = decodeURIComponent(location.hash);
|
||||
|
||||
if (hash != undefined && hash != '' && hash.indexOf('#') === -1) {
|
||||
hash = '#' + hash;
|
||||
}
|
||||
|
||||
var action = $('#fm1').attr('action');
|
||||
if (action == undefined) {
|
||||
action = location.href;
|
||||
} else {
|
||||
var qidx = location.href.indexOf('?');
|
||||
if (qidx != -1) {
|
||||
var queryParams = location.href.substring(qidx);
|
||||
action += queryParams;
|
||||
}
|
||||
}
|
||||
action += hash;
|
||||
$('#fm1').attr('action', action);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function areCookiesEnabled() {
|
||||
if ($.cookie == undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
$.cookie('cookiesEnabled', 'true');
|
||||
var value = $.cookie('cookiesEnabled');
|
||||
$.removeCookie('cookiesEnabled');
|
||||
return value != undefined;
|
||||
|
||||
}
|
||||
|
||||
function disableEmptyInputFormSubmission() {
|
||||
var fields = $('#fm1 input[name="username"],[name="password"]');
|
||||
|
||||
if (fields.length == 2) {
|
||||
fields.on('input', function (event) {
|
||||
var enableSubmission = $('#fm1 input[name="username"]').val().trim() &&
|
||||
$('#fm1 input[name="password"]').val().trim();
|
||||
|
||||
if (enableSubmission) {
|
||||
$('#fm1 input[name=submit]').removeAttr('disabled');
|
||||
event.stopPropagation();
|
||||
} else {
|
||||
$('#fm1 input[name=submit]').attr('disabled', 'true');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle auto-complete events to the extent possible.
|
||||
*/
|
||||
if ($('#fm1 input[name="username"]').length > 0) {
|
||||
setTimeout(function () {
|
||||
var uid = $('#username').val();
|
||||
if (uid != null && uid != '') {
|
||||
$('#username').change();
|
||||
$('#username').focus();
|
||||
$('#fm1 input[name=submit]').removeAttr('disabled');
|
||||
}
|
||||
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
function resourceLoadedSuccessfully() {
|
||||
$(document).ready(function () {
|
||||
|
||||
if (trackGeoLocation) {
|
||||
requestGeoPosition();
|
||||
}
|
||||
|
||||
if ($(':focus').length === 0) {
|
||||
$('input:visible:enabled:first').focus();
|
||||
}
|
||||
|
||||
if (areCookiesEnabled()) {
|
||||
$('#cookiesDisabled').hide();
|
||||
} else {
|
||||
$('#cookiesDisabled').show();
|
||||
}
|
||||
|
||||
disableEmptyInputFormSubmission();
|
||||
preserveAnchorTagOnForm();
|
||||
|
||||
$('#capslock-on').hide();
|
||||
$('#fm1 input[name="username"],[name="password"]').trigger('input');
|
||||
$('#fm1 input[name="username"]').focus();
|
||||
|
||||
$('#password').keypress(function (e) {
|
||||
var s = String.fromCharCode(e.which);
|
||||
if (s.toUpperCase() === s && s.toLowerCase() !== s && !e.shiftKey) {
|
||||
$('#capslock-on').show();
|
||||
} else {
|
||||
$('#capslock-on').hide();
|
||||
}
|
||||
});
|
||||
if (typeof(jqueryReady) == 'function') {
|
||||
jqueryReady();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user