X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/0800d25f10534005511f696ffefb4548045ef631..40f56033aeb788a31838632e240665916c2ed905:/underlays/openid-selector/ikiwiki/openid/openid-jquery.js?ds=sidebyside

diff --git a/underlays/openid-selector/ikiwiki/openid/openid-jquery.js b/underlays/openid-selector/ikiwiki/openid/openid-jquery.js
index 1d96555a8..0400ae6bb 100644
--- a/underlays/openid-selector/ikiwiki/openid/openid-jquery.js
+++ b/underlays/openid-selector/ikiwiki/openid/openid-jquery.js
@@ -8,68 +8,51 @@ This code is licenced under the New BSD License.
 var providers_large = {
     google: {
         name: 'Google',
+        icon: 'ikiwiki/openid/goa-account-google.png',
         url: 'https://www.google.com/accounts/o8/id'
     },
-    yahoo: {
-        name: 'Yahoo',      
-        url: 'http://me.yahoo.com/'
-    },    
-    aol: {
-        name: 'AOL',     
-        label: 'Enter your AOL screenname:',
-        url: 'http://openid.aol.com/{username}'
-    },
     verisign: {
         name: 'Verisign',
+        icon: 'ikiwiki/openid/verisign.png',
         label: 'Enter your Verisign username:',
         url: 'http://{username}.pip.verisignlabs.com/'
     },
+    yahoo: {
+        name: 'Yahoo',      
+        icon: 'ikiwiki/openid/goa-account-yahoo.png',
+        url: 'http://me.yahoo.com/'
+    },    
     openid: {
         name: 'OpenID',     
+	icon: 'wikiicons/openidlogin-bg.gif',
         label: 'Enter your OpenID:',
         url: null
     }
 };
 var providers_small = {
-    myopenid: {
-        name: 'MyOpenID',
-        label: 'Enter your MyOpenID username:',
-        url: 'http://{username}.myopenid.com/'
-    },
     livejournal: {
         name: 'LiveJournal',
+        icon: 'ikiwiki/openid/livejournal.png',
         label: 'Enter your Livejournal username:',
         url: 'http://{username}.livejournal.com/'
     },
     flickr: {
-        name: 'Flickr',        
-        label: 'Enter your Flickr username:',
-        url: 'http://flickr.com/{username}/'
-    },
-    technorati: {
-        name: 'Technorati',
-        label: 'Enter your Technorati username:',
-        url: 'http://technorati.com/people/technorati/{username}/'
+	name: 'Flickr',        
+	icon: 'ikiwiki/openid/goa-account-flickr.png',
+	label: 'Enter your Flickr username:',
+	url: 'http://flickr.com/photos/{username}/'
     },
     wordpress: {
         name: 'Wordpress',
+	icon: 'ikiwiki/openid/wordpress.png',
         label: 'Enter your Wordpress.com username:',
         url: 'http://{username}.wordpress.com/'
     },
-    blogger: {
-        name: 'Blogger',
-        label: 'Enter your Blogger account:',
-        url: 'http://{username}.blogspot.com/'
-    },
-    vidoop: {
-        name: 'Vidoop',
-        label: 'Enter your Vidoop username:',
-        url: 'http://{username}.myvidoop.com/'
-    },
-    claimid: {
-        name: 'ClaimID',
-        label: 'Enter your ClaimID username:',
-        url: 'http://claimid.com/{username}'
+    aol: {
+        name: 'AOL',     
+        icon: 'ikiwiki/openid/aol.png',
+        label: 'Enter your AOL username:',
+        url: 'http://openid.aol.com/{username}'
     }
 };
 var providers = $.extend({}, providers_large, providers_small);
@@ -87,8 +70,9 @@ var openid = {
 	input_id: null,
 	provider_url: null,
 	provider_id: null,
+	localsignin_id: null,
 	
-    init: function(input_id) {
+    init: function(input_id, localsignin_id) {
         
         var openid_btns = $('#openid_btns');
         
@@ -99,51 +83,87 @@ var openid = {
         
         // add box for each provider
         for (id in providers_large) {
-        
-           	openid_btns.append(this.getBoxHTML(providers_large[id], 'large', '.gif'));
+           	openid_btns.append(this.getBoxHTML(providers_large[id], 'large'));
         }
+
         if (providers_small) {
         	openid_btns.append('<br/>');
         	
 	        for (id in providers_small) {
 	        
-	           	openid_btns.append(this.getBoxHTML(providers_small[id], 'small', '.ico'));
+	           	openid_btns.append(this.getBoxHTML(providers_small[id], 'small'));
 	        }
         }
+	if (localsignin_id != "") {
+		this.localsignin_id=localsignin_id;
+           	openid_btns.append(
+        		'<a href="javascript: openid.signin(\'localsignin\');"' +
+        		' style="background: #FFF" ' +
+        		'class="localsignin openid_small_btn">' +
+			'<img alt="" width="16" height="16" src="favicon.ico" />' +
+			' other' +
+			'</a>'
+		);
+		$('#'+this.localsignin_id).hide();
+	}
         
         $('#openid_form').submit(this.submit);
         
         var box_id = this.readCookie();
         if (box_id) {
         	this.signin(box_id, true);
-        }  
+        }
     },
-    getBoxHTML: function(provider, box_size, image_ext) {
-            
+    getBoxHTML: function(provider, box_size) {
+	var label="";
+	var title=""
+	if (box_size == 'large') {
+		label=' ' + provider["name"];
+	}
+	else {
+		title=' title="'+provider["name"]+'"';
+	}
         var box_id = provider["name"].toLowerCase();
-        return '<a title="'+provider["name"]+'" href="javascript: openid.signin(\''+ box_id +'\');"' +
-        		' style="background: #FFF url(' + this.img_path + box_id + image_ext+') no-repeat center center" ' + 
-        		'class="' + box_id + ' openid_' + box_size + '_btn"></a>';    
+        return '<a' + title +' href="javascript: openid.signin(\''+ box_id +'\');"' +
+        		' style="background: #FFF" ' + 
+        		'class="' + box_id + ' openid_' + box_size + '_btn">' +
+			'<img alt="" width="16" height="16" src="' + provider["icon"] + '" />' +
+			label +
+			'</a>';
     
     },
     /* Provider image click */
     signin: function(box_id, onload) {
-    
+
+	if (box_id == 'localsignin') {
+	    	this.highlight(box_id);
+		$('#openid_input_area').empty();
+		$('#'+this.localsignin_id).show();
+		this.setCookie(box_id);
+		return;
+	}
+	else {
+		if (this.localsignin_id) {
+			$('#'+this.localsignin_id).hide();
+		}
+	}
+
     	var provider = providers[box_id];
   		if (! provider) {
   			return;
   		}
 		
 		this.highlight(box_id);
-		this.setCookie(box_id);
 		
 		this.provider_id = box_id;
 		this.provider_url = provider['url'];
 		
 		// prompt user for input?
 		if (provider['label']) {
+			this.setCookie(box_id);
 			this.useInputBox(provider);
 		} else {
+			this.setCookie('');
 			$('#openid_input_area').empty();
 			if (! onload) {
 				$('#openid_form').submit();
@@ -215,16 +235,16 @@ var openid = {
 		var label = provider['label'];
 		var style = '';
 		
-		if (label) {
-			html = '<p>' + label + '</p>';
-		}
 		if (provider['name'] == 'OpenID') {
 			id = this.input_id;
 			value = '';
 			style = 'background:#FFF url(wikiicons/openidlogin-bg.gif) no-repeat scroll 0 50%; padding-left:18px;';
 		}
+		if (label) {
+			html = '<label for="'+ id +'" class="block">' + label + '</label>';
+		}
 		html += '<input id="'+id+'" type="text" style="'+style+'" name="'+id+'" value="'+value+'" />' + 
-					'<input id="openid_submit" type="submit" value="Sign-In"/>';
+					'<input id="openid_submit" type="submit" value="Login"/>';
 		
 		input_area.empty();
 		input_area.append(html);