// loginBar buttons
var buttons= {
	btnLogin : create_link('li', '<span>login</span>', user_login),
	btnRegister : create_link('li', '<span>register</span>', user_register),
	btnLogout: create_link('li', '<span>logout</span>', user_logout),
	btnSettings: create_link('li', '<span>settings</span>', user_settings)
};

// this shows/hides buttons based if user is logged in or not
var is_logged = false;
function login_status(b){
	if(b){
		$(buttons.btnLogin).hide();
		$(buttons.btnRegister).hide();
		$(buttons.btnLogout).show();
		$(buttons.btnSettings).show();
	}else{
		$(buttons.btnLogin).show();
		$(buttons.btnRegister).show();
		$(buttons.btnLogout).hide();
		$(buttons.btnSettings).hide();
	}
	is_logged=b;
}

// creates element with id content as html and sets click event to callback
function create_link(e, html, callback){
	var elm=document.createElement(e);
	elm.innerHTML=html;
	$(elm).click(callback);
	return elm;
}

var my_markers=false;
var guild_markers=false;
function load_my_chars(){
	if(my_markers===false){
		my_markers=new RyzomMapMarkerGroup('My markers', map, mgr);
	}
	if(guild_markers===false){
		guild_markers=new RyzomMapMarkerGroup('Guild markers', map, mgr);
	}
	my_markers.removeAll();
	remove_group(my_markers);

	guild_markers.removeAll();
	remove_group(guild_markers);
	//
	$.getScript('ajax/my_chars.php');
	$.getScript('ajax/guild_chars.php');
	// load public packers/chars
	load_public_chars();
}

var public_markers=false;
function load_public_chars(){
	if(public_markers===false){
		public_markers=new RyzomMapMarkerGroup('Public markers', map, mgr);
	}
	public_markers.removeAll();
	remove_group(public_markers);
	$.getScript('ajax/public_chars.php');
}

function user_login(){
	var scrollEnabled = map.scrollWheelZoomEnabled();
	map.disableScrollWheelZoom();
	tb_show(null, 'ajax/login.php?width=650&height=400&modal=true', false);
	$("#TB_window").bind('unload', function(){
		if(scrollEnabled) map.enableScrollWheelZoom();
		load_my_chars();
	});
}

function user_register(){
	var scrollEnabled = map.scrollWheelZoomEnabled();
	map.disableScrollWheelZoom();
	tb_show(null, 'ajax/register.php?width=650&height=400&modal=true', false);
	$("#TB_window").bind('unload', function(){
		if(scrollEnabled) map.enableScrollWheelZoom();
		load_my_chars();
	});
}

function user_logout(){
	$.getScript('ajax/logout.php', function(){
		load_my_chars();
	});
}

function user_settings(){
	var scrollEnabled = map.scrollWheelZoomEnabled();
	map.disableScrollWheelZoom();
	tb_show(null, 'ajax/settings.php?width=650&height=400&modal=true', false);
	$("#TB_window").bind('unload', function(){
		if(scrollEnabled) map.enableScrollWheelZoom();
		load_my_chars();
	});
}

$(function(){
	// loginBar 'menu'
	var ul=document.createElement('ul');
	for(var i in buttons){
		$(buttons[i]).hide();
		ul.appendChild(buttons[i]);
	}

	$('#loginBar').html(ul);
	
	// if user is logged on, this loads char/packer positions
	// this will also reload public char/packer locations
	load_my_chars();
});

