function group_add_member(user_id, team_id, user_name, team_name) {
	if ($('group_member_'+team_id)) return false;
	
	var span = document.createElement('div');
	span.id = 'group_member_'+team_id;
	span.className = 'group_member_class';
	span.innerHTML = '<a href="javascript:void(0);" title="Give '+user_name+' access to edit the group" onclick="group_add_editor('+user_id+', \''+user_name+'\');"><img src="/grafikk/user_add.png"/></a> <a href="javascript:void(0);" title="Remove team from group" onclick="group_remove_member('+team_id+');"><img src="/grafikk/delete.png" /></a> '+team_name+'<input type="hidden" name="group_members[]" value="'+team_id+'" /><input type="hidden" name="group_members_name[]" value="'+team_name+'" />';
	
	$('group_member_list').appendChild(span);
	
	return true;
}
function group_add_editor(user_id, user_name) {
	if ($('group_editor_'+user_id)) return false;
	
	var span = document.createElement('span');
	
	span.id = 'group_editor_'+user_id;
	span.innerHTML = ' <a href="javascript:void(0);" onclick="group_remove_editor('+user_id+');">'+user_name+'</a><input type="hidden" name="group_editors[]" value="'+user_id+'" /><input type="hidden" name="group_editors_name[]" value="'+user_name+'" />';
	
	$('group_editor_list').appendChild(span);
	
	return true;
	
}
function group_remove_editor(id) {
	$('group_editor_'+id).remove();
}
function group_remove_member(id) {
	$('group_member_'+id).remove();
}
function group_member_add_enter(evt, frm) {
	var keyCode = null;
	if (evt.which) {
		keyCode = evt.which;
	} else
	if (evt.keyCode) {
		keyCode = evt.keyCode;
	}
	if (keyCode == 13) {
		frm.group_member_add.click();
		return false;
	}
	return true;
}


function compare_add_member(user_id, team_id, user_name, team_name) {
	if ($('group_member_'+team_id)) return false;
	
	var span = document.createElement('div');
	span.id = 'group_member_'+team_id;
	span.className = 'group_member_class';
	span.innerHTML = '<a href="javascript:void(0);" title="Remove team from list" onclick="compare_remove_member('+team_id+');"><img src="/grafikk/delete.png" /></a> '+team_name+'<input type="hidden" name="group_members[]" value="'+team_id+'" /><input type="hidden" name="group_members_name[]" value="'+team_name+'" />';
	
	$('group_member_list').appendChild(span);
	
	return true;
}

function compare_remove_member(id) {
	$('group_member_'+id).remove();
	var ajax_pars = 'team_id='+encodeURIComponent(id);
	var compareRemoveAjax = new Ajax.Request('/ajax/teamcompare/remove',
												{
													method: 'post',
													parameters: ajax_pars
												});
}


function showBookmarkBlind(type, id, title, url) {
	$('addToFavorites').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Saving...';
	var ajax_url = '/ajax/bookmark/add';
	var ajax_pars = 'title='+encodeURIComponent(title)+'&type='+encodeURIComponent(type)+'&url='+encodeURIComponent(url)+'&id='+encodeURIComponent(id)+'&comment=';
	var bookmarkAjax = new Ajax.Request(ajax_url, 
												{ 
													method: 'post', 
													parameters: ajax_pars, 
													onComplete: function (req) {
														$('addToFavorites').innerHTML = '<a href="javascript:void()">'+req.responseText+'</a>';
													}
												});
}

function showFriendsBlind(team_id) {
	$('addToFriends').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Saving...';
	var url = '/ajax/friend/add';
	var pars = 'team_id='+encodeURIComponent(team_id);
	var friendAjax = new Ajax.Request(url, 
												{ 
													method: 'post', 
													parameters: pars, 
													onComplete: function(req) {
														$('addToFriends').innerHTML = '<a href="javascript:void()">'+req.responseText+'</a>';
													}
												});
}

function showRSSBlind(country_id, type, type_id, title) {
	$('addToRSS').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Saving...';
	var url = '/ajax/rss/add';
	var pars = 'country_id='+encodeURIComponent(country_id)+'&type='+encodeURIComponent(type)+'&type_id='+encodeURIComponent(type_id)+'&title='+encodeURIComponent(title);
	var rssAjax = new Ajax.Request(url, 
												{ 
													method: 'post', 
													parameters: pars, 
													onComplete: function(req) {
														$('addToRSS').innerHTML = '<a href="javascript:void()">'+req.responseText+'</a>';
													}
												});
}

function removeFromUserRSS(country_id, type, type_id, title) {
	$('removeFromRSS').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Saving...';
	var url = '/ajax/rss/remove';
	var pars = 'country_id='+encodeURIComponent(country_id)+'&type='+encodeURIComponent(type)+'&type_id='+encodeURIComponent(type_id)+'&title='+encodeURIComponent(title);
	var rssAjax = new Ajax.Request(url, 
												{ 
													method: 'post', 
													parameters: pars, 
													onComplete: function(req) {
														$('removeFromRSS').innerHTML = '<a href="javascript:void()">'+req.responseText+'</a>';
													}
												});
}


function addToCompare(team_id) {
	$('addToCompare').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Adding...';
	var url = '/ajax/teamcompare/add';
	var pars = 'team_id='+encodeURIComponent(team_id);
	var compareAjax = new Ajax.Request(url, 
		{ 
			method: 'post', 
			parameters: pars, 
			onComplete: function(req) {
				if (req.responseJSON.Status == 'Success') {
					$('teamCompare').innerHTML = '<a href="/teamcompare/'+req.responseJSON.TeamList+'/">Compare teams ('+req.responseJSON.TotalTeams+')</a>';
					$('addToCompare').innerHTML = '';
				} else {
					$('addToCompare').innerHTML = '<a href="javascript:void()">'+req.responseJSON.Response+'</a>';
				}
			}
		});
}

function clearCompare(team_id) {
	$('clearCompare').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Clearing...';
	var url = '/ajax/teamcompare/clear';
	var compareAjax = new Ajax.Request(url, 
												{ 
													method: 'post', 
													onComplete: function(req) {
														$('teamCompare').innerHTML = '';
														$('clearCompare').innerHTML = '';
													}
												});
}


function friendSearch() {
	var url = '/ajax/friend/search';
	var name = $F('search_name');
	var pars = 'name='+encodeURIComponent(name);
	var friendSearchAjax = new Ajax.Request(url, 
		{ 
			method: 'post', 
			parameters: pars, 
			onLoading: function (req) {
				$('friend_progress').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Searching...';
			},
			onSuccess: function (req) {
				json = req.responseJSON;
				if (json.Status == 'Success') 
				{
					$('friend_progress').innerHTML = json.Response;
					$('friends_list').innerHTML = json.FriendList;
					$('search_name').value = '';
				} else
				{
					$('friend_progress').innerHTML = json.Response; //json.Response;
				}
			}
		});
}

function groupCheckIfNameExists() {
	var url = '/ajax/group/checkname';
	var current_id = $F('form-group_id');
	var group_name = $F('form-group_name');
	var pars = 'group_name='+encodeURIComponent(group_name)+'&group_id='+encodeURIComponent(current_id);
	
	var groupAjax = new Ajax.Request(url, 	{ 
												method: 'post',
												parameters: pars,
												onSuccess: function(req) {
													$('status-group_name').innerHTML = req.responseText;
												}
											});
}

function groupAddUser() {
	var url = '/ajax/group/adduser';
	var name = $F('form-group_member_add_name');
	var pars = 'name='+encodeURIComponent(name);
	var groupAddUserAjax = new Ajax.Request(url, 
			{ 
				method: 'post', 
				parameters: pars, 
				onLoading: function() {
					$('group_member_add_status').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Searching...';
				},
				onSuccess: function(req) {
					json = req.responseJSON;
					if (json.Status == 'Success') {
						$('group_member_add_status').innerHTML = '&nbsp;';
						$('form-group_member_add_name').value = '';
						group_add_member(json.user_id, json.team_id, json.user_name, json.team_name);
					} else {
						$('group_member_add_status').innerHTML = json.Response;
					}
				}
			});
}

function compareAddUser() {
	var url = '/ajax/teamcompare/adduser';
	var name = $F('form-group_member_add_name');
	var pars = 'name='+encodeURIComponent(name);
	var compareAddUserAjax = new Ajax.Request(url, 
		{ 
			method: 'post', 
			parameters: pars, 
			onLoading: function() {
				$('group_member_add_status').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Searching...';
			},
			onSuccess: function(req) {
				json = req.responseJSON;
				if (json.Status == 'Success') {
					$('group_member_add_status').innerHTML = '&nbsp;';
					$('form-group_member_add_name').value = '';
					compare_add_member(json.user_id, json.team_id, json.user_name, json.team_name);
				} else {
					$('group_member_add_status').innerHTML = json.Response;
				}
			}
		});
}


function federationAdd() {
	var url = '/ajax/federation/update';
	var fed_ht_id = $F('fed_ht_id');
	var ht_username = $F('ht_username');
	var ht_password = $F('ht_password');
	var ht_use_session = $F('ht_use_session');
	var ht_show_box_after_import = $F('ht_show_box_after_import');
	var box_after_import_display = 'none';
	if (ht_show_box_after_import == 1) {
		box_after_import_display = 'block';
	}
	var pars = 'fed_ht_id='+encodeURIComponent(fed_ht_id)+'&ht_username='+encodeURIComponent(ht_username)+'&ht_password='+encodeURIComponent(ht_password)+'&ht_use_session='+ht_use_session;
	var federationAjax = new Ajax.Request(url, 
		{
			method: 'post', 
			parameters: pars, 
			onSuccess: function (req) {
				json = req.responseJSON;
				if (json.Status == 'Success') 
				{
					toggleShow('user_pass_box','none');
					toggleShow('fedimport_form',box_after_import_display);
					if (box_after_import_display == 'block') {
						toggleShow('ht_another_text', box_after_import_display);
					}
					$('fedimport_progress').innerHTML = json.Response;
				} 
				else 
				if (json.Status == 'SessionTimeOut')
				{
					$('ht_use_session').value = '0';
					toggleShow('user_pass_box','block');
					toggleShow('fedimport_form','block');
					$('fedimport_progress').innerHTML = json.Response; //'Failed to import from Hattrick (' + json.Status + ')...';
				}
				else
				{
					toggleShow('user_pass_box','block');
					toggleShow('fedimport_form','block');
					$('fedimport_progress').innerHTML = json.Response; //'Failed to import from Hattrick (' + json.Status + ')...';
				}
			},
			onLoading: function (req) {
				toggleShow('fedimport_form','none');
				toggleShow('fedimport_progress', 'block');
				$('fedimport_progress').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Importing from Hattrick...';
			}
		});
}

function friendAdd() {
	var url = '/ajax/friend/add';
	var fTeamId = $F('ffTeamId');
	var fComment = $F('ffComment');
	var pars = 'team_id='+encodeURIComponent(fTeamId)+'&comment='+encodeURIComponent(fComment);
	var bookmarkAjax = new Ajax.Request(url, 
											{ 
												method: 'post', 
												parameters: pars, 
												onComplete: function(req) {
													$('pulldown_progress').innerHTML = req.responseText;
												}, 
												onLoading: function(req) {
													$('pulldown_progress').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Saving...';
												} 
											});
}

function bookmarkAdd() {
	var url = '/ajax/bookmark/add';
	var bTitle = $F('bfTitle');
	var bType = $F('bfType');
	var bUrl = $F('bfUrl');
	var bId = $F('bfId');
	var bComment = $F('bfComment');
	var pars = 'title='+encodeURIComponent(bTitle)+'&type='+encodeURIComponent(bType)+'&url='+encodeURIComponent(bUrl)+'&id='+encodeURIComponent(bId)+'&comment='+encodeURIComponent(bComment);
	var bookmarkAjax = new Ajax.Request(url, 
											{ 
												method: 'post', 
												parameters: pars, 
												onComplete: function(req) {
													$('pulldown_progress').innerHTML = req.responseText;
												}, 
												onLoading: function(req) {
													$('pulldown_progress').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Saving...';
												} 
											});
}

// use JQuery instead of Prototype because of JQuery
function radioUpdate() {
	var url = '/radio_ajax.php?mode=ajax&request=update';
	var radioUpdateAjax = $.ajax({
		type: 'POST',
		url: '/radio_ajax.php',
		data: 'mode=ajax&request=update',
		datatype: 'json',
		success: function(parse) {
			var json = eval('(' + parse + ')');
			$('radio_broadcast_update_indicator').innerHTML = '';
			if (json.Status == 'Success') {
				if (json.Broadcasting == 'True') {
					// If we set display=block when it already is a block, the player
					//  is "reloaded" in the sense that it will start autplaying if it
					//	has been paused. So we don't change the status unless display=none
					/*
					if ($('div#radio_broadcast').css('display') == 'none') {
						$('div#radio_broadcast').css('display','block');
						$('div#radio_nobroadcast').css('display','none');
					}
					*/
					$('h4#radio_nobroadcast').css('display','none');
					$('span#radio_broadcast_name').text(json.BroadcastInfo);
					$('span#radio_broadcast_song_info').text(json.SongInfo);
					$('div#radio_last_played').html(json.SongHistory);
					$('div#radio_listeners').html(json.RadioListeners);
					$('div#radio_dj_profile').html(json.DJProfile);
					$('div#radio_dj_image').html(json.DJImage);
					$('span#radio_dj_name').text('DJ: '+json.BroadcastInfo);
					$('div#radio_dj_real_name').text(json.BroadcastInfo);

					if (json.BroadcastInfoText != '') 
						if ($('h4#radio_broadcast_info').css('display') == 'none') 
							$('h4#radio_broadcast_info').css('display','inline');
					if (json.MessageList != '') {
						$('div#radio_requests').css('display','block');
						$('div#radio_requests_messages').html(json.MessageList);
					} else {
						$('div#radio_requests').css('display','none');
					}
					$('div#radio_broadcast_info_text').html(json.BroadcastInfoText);
				} else {
					//$('div#radio_broadcast').css('display','none');
					$('h4#radio_broadcast_info').css('display','none');
					$('h4#radio_nobroadcast').css('display','inline');
					$('div#radio_last_played').text('');
					$('div#radio_listeners').html(json.RadioListeners);
					$('div#radio_dj_profile').text('');
					$('div#radio_dj_image').text('');
					$('span#radio_dj_name').text('');
				}
			} else 
			if (json.Status == 'Failed') {
			} else {
				alert('no json');
			}
		}
	})
}

function saveRadioSchedule(id) {
	var url = '/radio_ajax.php?mode=ajax&request=saveschedule';
	var schedule = $('textarea#radio_schedule_edit').val();
	var radioSaveSchedule = $.ajax({
		type: 'POST',
		url: '/radio_ajax.php',
		data: 'mode=ajax&request=saveschedule&schedule='+encodeURIComponent(schedule)+'&id='+id,
		datatype: 'json',
		success: function(parse) {
			var json = eval('(' + parse + ')');
			if (json.Status == 'Success') {
				$('div#radio_schedule_update_status').text('Saved...');
			} else {
				$('div#radio_schedule_update_status').text('Save failed: '+json.Response);
			}
		}
	})
}

function saveRadioBroadcastInfo() {
	var url = '/radio_ajax.php?mode=ajax&request=savebroadcastinfo';
	var schedule = $('textarea#radio_broadcast_info_edit_input').val();
	var lang_id = $('select#radio_broadcast_info_edit_lang_id').val();
	var radioSaveInfo = $.ajax({
		type: 'POST',
		url: '/radio_ajax.php',
		data: 'mode=ajax&request=savebroadcastinfo&info='+encodeURIComponent(schedule)+'&lang_id='+encodeURIComponent(lang_id),
		datatype: 'json',
		success: function(parse) {
			var json = eval('(' + parse + ')');
			if (json.Status == 'Success') {
				$('div#radio_broadcast_info_status').text('Saved...');
				$('div#radio_broadcast_info_text').html(json.Info);
			} else {
				$('div#radio_broadcast_info_status').text('Save failed: '+json.Response);
			}
		}
	})
}

function saveDJProfile() {
	var url = '/radio_ajax.php?mode=ajax&request=savedjprofile';
	var profile = $('textarea#radio_dj_profile_edit_input').val();
	var radioSaveDJ = $.ajax({
		type: 'POST',
		url: '/radio_ajax.php',
		data: 'mode=ajax&request=savedjprofile&profile='+encodeURIComponent(profile),
		datatype: 'json',
		success: function(parse) {
			var json = eval('(' + parse + ')');
			if (json.Status == 'Success') {
				$('div#radio_dj_profile_edit_status').text('Saved...');
				$('div#radio_dj_profile').html(json.Info);
			} else {
				$('div#radio_dj_profile_edit_status').text('Save failed: '+json.Response);
			}
		}
	})
}


/*											{ 
												method: 'post', 
												parameters: pars, 
												onLoading: function() {
													$('radio_broadcast_update_indicator').innerHTML = '<img src="/grafikk/indicator.white.gif"/> Searching...';
												},
												onSuccess: function(req, json) {
													$('radio_broadcast_update_indicator').innerHTML = '';
													if (json.Status == 'Success') {
														if (json.Broadcasting == 'True') {
															$('radio_broadcast').style.display = 'block';
															$('radio_nobroadcast').style.display = 'none';
															$('radio_broadcast_name').innerHTML = json.BroadcastInfo;
															$('radio_broadcast_song_info').innerHTML = json.SongInfo;
														} else {
															$('radio_broadcast').style.display = 'none';
															$('radio_nobroadcast').style.display = 'block';
														}
													} else {
														//$('group_member_add_status').innerHTML = req.responseText;
													}
												}
											});
}
*/

function toggleProfileList(div) {
	if (div != 'profileFriendsList') toggleShow('profileFriendsList', 'none');
	if (div != 'profileFavoritesList') toggleShow('profileFavoritesList', 'none');
	if (div != 'profileFederationList') toggleShow('profileFederationList', 'none');
	if (div != 'profileGroupList') toggleShow('profileGroupList', 'none');
	if (div != 'profileRssList') toggleShow('profileRssList', 'none');
	toggleShow(div, 'auto');
}

function toggleShow(div, param) {
	if (!$(div)) return false;
	if (param == 'auto') {
		if ($(div).style.display == 'block') $(div).style.display = 'none';
		else $(div).style.display = 'block';
	} else {
		$(div).style.display = param;
	}
}

function toggleChecked(div, param) {
	if (param == 'auto') {
		if ($(div).checked == true) $(div).checked = false;
		else $(div).checked = true;
	} else {
		$(div).checked = param;
	}
	return false;
}

function validateSupporterForm(id) {
	var username = $(id).value;
	if (username == '') {
		alert('You have to specify the user who should receive the Alltid Plus Membership.');
		return false;
	} else {
		return true;
	}
}

function selectSupporterTab(tabname) {
	var tabs = $('supporter_tabs');
	var lis = tabs.getElementsByTagName('li');
	for (var i=0;i<lis.length; i++) {
		if (lis[i].className == 'tab_'+tabname) { 
			lis[i].id = 'current';
			$('content_'+lis[i].className).style.display = 'block';
		} else {
			lis[i].id = '';
			$('content_'+lis[i].className).style.display = 'none';
		}
	}
}

function moveDeferredDivContent(from, to) {
	if (!$(to)) return false;
	$(to).innerHTML = $(from).innerHTML;
	$(from).innerHTML = '';
}

function loadHattrick(url) {
	parent.location.href = url;
}