var setPosition = function(longitude, latitude) {
    document.getElementById(attributes.id).setCurrentPosition(longitude, latitude);
};

var getCurrentPosition = function() {
    // First set the position based on Google API result.
    if ((typeof google == 'object') && google.loader && google.loader.ClientLocation) {
        setPosition(
            google.loader.ClientLocation.latitude,
            google.loader.ClientLocation.longitude
        );
    }
    // If client supports geolocation API, try to get more accurate result.
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function(position) {
            setPosition(position.coords.latitude, position.coords.longitude);
        }, function() {}, {
            timeout: 3000
        });
    }
};

