]> git.openstreetmap.org Git - osqa.git/blob - forum/skins/default/media/jquery-openid/jquery.openid.js
deleting the test file
[osqa.git] / forum / skins / default / media / jquery-openid / jquery.openid.js
1 //jQuery OpenID Plugin 1.1 Copyright 2009 Jarrett Vance http://jvance.com/pages/jQueryOpenIdPlugin.xhtml
2 $.fn.openid = function() {
3   var $this = $(this);
4
5   //name input value - needed for name based OpenID
6   var $usr = $this.find('input[name=openid_username]');
7
8   //final url input value
9   var $id = $this.find('input[name=openid_url]');
10
11   //beginning and end of name OpenID url (name being the middle)
12   var $front = $this.find('p:has(input[name=openid_username])>span:eq(0)');
13   var $end = $this.find('p:has(input[name=openid_username])>span:eq(1)');
14
15   //needed for special effects only
16   var $localfs = $this.find('fieldset:has(input[name=username])');
17   var $usrfs = $this.find('fieldset:has(input[name=openid_username])');
18   var $idfs = $this.find('fieldset:has(input[name=openid_url])');
19
20   var submitusr = function() {
21     if ($usr.val().length < 1) {
22       $usr.focus();
23       return false;
24     }
25     $id.val($front.text() + $usr.val() + $end.text());
26     return true;
27   };
28
29   var submitid = function() {
30     if ($id.val().length < 1) {
31       $id.focus();
32       return false;
33     }
34     return true;
35
36   };
37   var local = function() {
38     var $li = $(this);
39     $('#openid_form .providers li').removeClass('highlight');
40     $li.addClass('highlight');
41     $usrfs.hide();
42     $idfs.hide();
43     $localfs.show();
44     $this.unbind('submit').submit(submitid);
45     return false;
46   };
47
48   var direct = function() {
49     var $li = $(this);
50     $('#openid_form .providers li').removeClass('highlight');
51     $li.addClass('highlight');
52     $usrfs.fadeOut('slow');
53     $localfs.fadeOut('slow');
54     $idfs.fadeOut('slow');
55     $id.val($this.find("li.highlight span").text());
56     setTimeout(function(){$('#bsignin').click();},1000);
57     return false;
58   };
59
60   var openid = function() {
61     var $li = $(this);
62     $('#openid_form .providers li').removeClass('highlight');
63     $li.addClass('highlight');
64     $usrfs.hide();
65     $localfs.hide();
66     $idfs.show();
67     $id.focus();
68     $this.unbind('submit').submit(submitid);
69     return false;
70   };
71
72   var username = function() {
73     var $li = $(this);
74     $('#openid_form .providers li').removeClass('highlight');
75     $li.addClass('highlight');
76     $idfs.hide();
77     $localfs.hide();
78     $usrfs.show();
79     $this.find('#enter_your_what').text($li.attr("title"));
80     $front.text($li.find("span").text().split("username")[0]);
81     $end.text("").text($li.find("span").text().split("username")[1]);
82     $id.focus();
83     $this.unbind('submit').submit(submitusr);
84     return false;
85   };
86
87   $this.find('li.local').click(local);
88   $this.find('li.direct').click(direct);
89   $this.find('li.openid').click(openid);
90   $this.find('li.username').click(username);
91   $id.keypress(function(e) {
92     if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
93       return submitid();
94     }
95   });
96   $usr.keypress(function(e) {
97     if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
98       return submitusr();
99     }
100   });
101   $this.find('li span').hide();
102   $this.find('li').css('line-height', 0).css('cursor', 'pointer');
103   $usrfs.hide();
104   $idfs.hide();
105   $localfs.hide();
106   $this.find('li:eq(0)').click();
107
108   return this;
109 };
110 // submitting next=%2F&openid_username=&openid_url=http%3A%2F%2Fyahoo.com%2F
111 // submitting next=%2F&openid_username=&openid_url=http%3A%2F%2Fyahoo.com%2F