]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/login.js
8963c07b64c28ccd66cc13d2677ba5fbae2b6362
[rails.git] / app / assets / javascripts / login.js
1 //= qs/dist/qs
2
3 $(document).ready(function () {
4   // Preserve location hash in referer
5   if (window.location.hash) {
6     $("#referer").val($("#referer").val() + window.location.hash);
7   }
8
9   // Attach referer to authentication buttons
10   $(".auth_button").each(function () {
11     var params = Qs.parse(this.search.substring(1));
12     params.referer = $("#referer").val();
13     this.search = Qs.stringify(params);
14   });
15
16   // Add click handler to show OpenID field
17   $("#openid_open_url").click(function () {
18     $("#openid_url").val("http://");
19     $("#login_auth_buttons").hide();
20     $("#login_openid_url").show();
21     $("#login_openid_submit").show();
22   });
23
24   // Hide OpenID field for now
25   $("#login_openid_url").hide();
26   $("#login_openid_submit").hide();
27
28   // Handle OpenID submission by redirecting to omniauth
29   $("#openid_login_form").submit(function () {
30     var action = $(this).prop("action"),
31         openid_url = $(this).find("#openid_url").val(),
32         referer = $(this).find("#openid_referer").val(),
33         args = {};
34     args.openid_url = openid_url;
35     if (referer) {
36       args.referer = referer;
37     }
38     window.location = action + "?" + Qs.stringify(args);
39     return false;
40   });
41 });