function getOpenIDDefaultUsername() {
	return 'username';
}

function getOpenIDUrl(openid_type, openid_username) {
	var openid_url = new Array();
	
	openid_username = validateOpenIDUsername(openid_username);
	
	openid_url['AOL'] = 'http://openid.aol.com/' + openid_username;
	openid_url['Blogger'] = 'http://' + openid_username + '.blogspot.com';
	openid_url['ClaimID'] = 'http://claimid.com/' + openid_username;
	openid_url['Facebook'] = 'http://www.facebook.com/';
	openid_url['Flickr'] = 'http://www.flickr.com/photos/' + openid_username;
	openid_url['Google'] = 'http://www.google.com/accounts/o8/id';
	openid_url['Hyves'] = 'http://' + openid_username + '.hyves.net';
	openid_url['Live'] = 'https://login.live-int.com/';
	openid_url['Livejournal'] = 'http://' + openid_username + '.livejournal.com';
	openid_url['MyOpenID'] = 'http://' + openid_username + '.myopenid.com';
	openid_url['Myspace'] = 'http://myspace.com/' + openid_username;
	openid_url['Other'] = 'http://';
	openid_url['Technorati'] = 'http://technorati.com/people/technorati/' + openid_username;
	openid_url['Verisign'] = 'http://' + openid_username + '.pip.verisignlabs.com';
	openid_url['Wordpress'] = 'http://' + openid_username + '.wordpress.com';
	openid_url['Yahoo!'] = 'http://me.yahoo.com';
	
	return openid_url[openid_type];
}

function setOpenIDUrl(openid_type) {
	var formUrl = document.getElementById('openid_url');
	var formUsername = document.getElementById('openid_username');
	var formUsernameLine = document.getElementById('openid_usernameform');
	var formType = document.getElementById('openid_type');
	
	formUrl.value = getOpenIDUrl(openid_type, getOpenIDDefaultUsername());
	formUsername.value = getOpenIDDefaultUsername();
	formType.value = openid_type;
	
	if (requireOpenIDUsername(openid_type)) { formUsernameLine.style.visibility = 'visible'; formUsername.focus(); formUsername.select(); }
	else { formUsernameLine.style.visibility = 'hidden'; }
	
	var iconLink = getOpenIDIcon(formType.value);
	formUrl.style.backgroundImage = "url('" + iconLink + "')";
	formUsername.style.backgroundImage = "url('" + iconLink + "')";
}

function updateOpenIDUrl(openid_username) {
	var formUrl = document.getElementById('openid_url');
	var formType = document.getElementById('openid_type');
	var formUsername = document.getElementById('openid_username');
	
	openid_username = validateOpenIDUsername(openid_username);
		
	if (openid_username == '') { openid_username = getOpenIDDefaultUsername(); formUsername.value = openid_username; formUsername.focus(); formUsername.select(); }
	else { formUsername.value = openid_username; }
	
	formUrl.value = getOpenIDUrl(formType.value, openid_username);
}

function getOpenIDIcon(openid_type) {
	var openid_icon = new Array();
	var iconpath = Site_Link + 'images/favicons/';
	
	openid_icon['AOL'] = 'aol.ico';
	openid_icon['Blogger'] = 'blogger.ico';
	openid_icon['ClaimID'] = 'claimid.ico';
	openid_icon['Facebook'] = 'facebook.ico';
	openid_icon['Flickr'] = 'flickr.ico';
	openid_icon['Google'] = 'google.ico';
	openid_icon['Hyves'] = 'hyves.ico';
	openid_icon['Live'] = 'live.ico';
	openid_icon['Livejournal'] = 'livejournal.ico';
	openid_icon['MyOpenID'] = 'myopenid.ico';
	openid_icon['Myspace'] = 'myspace.ico';
	openid_icon['Other'] = 'openid.ico';
	openid_icon['Technorati'] = 'technorati.ico';
	openid_icon['Verisign'] = 'verisign.ico';
	openid_icon['Wordpress'] = 'wordpress.ico';
	openid_icon['Yahoo!'] = 'yahoo.ico';
	
	var iconlink = iconpath + openid_icon[openid_type];
	
	return iconlink;
}

function validateOpenIDUsername(openid_username) {
	/* remove all spaces */
	openid_username = openid_username.replace(/\s+/g,'');	
	return openid_username;
}

function requireOpenIDUsername(openid_username){
	var openid_needusername = new Array('AOL', 'Blogger', 'ClaimID', 'Flickr', 'Hyves', 'Livejournal', 'MyOpenID', 'Myspace', 'Technorati', 'Verisign', 'Wordpress');
	var usernameneeded = false;
	
	for(var i=0;i<openid_needusername.length;i++){
		if(openid_username == openid_needusername[i]){
			usernameneeded = true;
			break;
		}
	}
	
	return usernameneeded;
}