/*
PURPOSE		:	Open a jquery-ui dialog
CALLER		:	• all pages via display_player_name();

VAR			:	• fav_id (int)
				• action (string) : "ADD", "DEL"
NOTE		:	
*/
function favusers_confirm_dialog(fav_id, login, action){
	
	
	// the label and text
	//---------------------------
	if (action=="ADD"){
		var str = $("#favusers_add_confirm_label_base").html() ;
		str = str.replace(/{login}/g, "<div class='big'>"+login+"</div>");
		$("#favusers_confirm_label").html(str) ;
		
		$("#favusers_add_ico_big").show();
		$("#favusers_del_ico_big").hide();
	}else{
		var str = $("#favusers_del_confirm_label_base").html() ;
		str = str.replace(/{login}/g, "<div class='big'>"+login+"</div>");
		$("#favusers_confirm_label").html(str) ;
		
		$("#favusers_add_ico_big").hide();
		$("#favusers_del_ico_big").show();
		
	}
	
	// the buttons (label and action)
	//---------------------------
	b_ok_label = $("#favusers_confirm_b_ok").html();
	b_cancel_label = $("#favusers_confirm_b_cancel").html();

	var dialog_buttons = {};
	
	dialog_buttons[b_ok_label] = function(){ 
									// Close
									$("#favusers_dialog_confirm").dialog('close');
									// Action
									favusers_action(fav_id, login, action); 
									}
									
	dialog_buttons[b_cancel_label] = function(){ $(this).dialog('close'); }
	
	// the dialog
	//---------------------------
	$( "#favusers_dialog_confirm" ).dialog({
			resizable: false,
			height:340,
			modal: true,
			buttons: dialog_buttons
			
		});
	
	
}
/*
PURPOSE		:	 On click on OK we load in ajax, close the confirm dialog and open the result dialog
CALLER		:	• all pages via display_player_name();

VAR			:	• fav_id (int or STRING). Can be a user id or "NO_ID" if this fucntion is called by the autocomplete form
				• action (string) : "ADD", "DEL"
				
NOTE		:	In case of the autocomplete form, ths fav_id = "NO_ID". We have to reload the page (we shoiuld be in the "My Favorites" page
*/
function favusers_action(fav_id, login, action){
	
	// Load
	$("#favusers_dialog_content_result").load("plugins/vp_favusers/php_scripts/01_favusers_action.php?action="+action+"&login="+encodeURIComponent(login)+"&fav_id="+fav_id); 
	
	// the button (label and action)
	//---------------------------
	b_close_label = $("#favusers_dialog_result_b_close").text();
	var dialog_buttons = {};
	
	dialog_buttons[b_close_label] = function(){ 
							$(this).dialog('close'); 
							
							if ( action== "DEL" || fav_id == "NO_ID") reload_page();
							}
	
	// Open the diaplg
	$( "#favusers_dialog_result" ).dialog({
		resizable: false,
		height:340,
		modal: true,
		buttons: dialog_buttons
	});
}

// --------------------------------
// autocomplete init for the search textfield
// --------------------------------
function favusers_login_autocomplete_init(){
	
	// auto select on click
	
	$( '#tf_favusers_add_login' ).focus(function( e ) { $(this).select();});
	
	// autocomplete script
	function log( message ) {
				$( "<div/>" ).text( message ).prependTo( "#log" );
				$( "#log" ).scrollTop( 0 );
			}
	
	$( "#tf_favusers_add_login" ).autocomplete({
		source: "plugins/vp_login/php_scripts/00_login_search_autocomplete.php?field=login",
		minLength: 3,
		select: function( event, ui ) {
			log( ui.item ?
				"Selected: " + ui.item.value + " aka " + ui.item.id :
				"Nothing selected, input was " + this.value );
		}
	});	
	
	
}
/*
PURPOSE		:	call by AJAX a php to act according to the refusal to be favorite or not
CALLER		:	• 02_favusers_add_form.php via onchange on checkbox

VAR			:	
				
NOTE		:	
*/
function favusers_refuse_confirm(cb){
	var action = "refuse";
	var confirm_refuse_set = $("#favusers_confirm_refuse_set").html();
	var confirm_refuse_unset = $("#favusers_confirm_refuse_unset").html();
	var r = cb.checked ? "1" : "0";
	
	
	var str = r=="1" ? confirm_refuse_set : confirm_refuse_unset ;
	$("#favusers_refuse_confirm_label").html(str) ;
		
	// the buttons (label and action)
	//---------------------------
	b_ok_label = $("#favusers_confirm_b_ok").html();
	b_cancel_label = $("#favusers_confirm_b_cancel").html();

	var dialog_buttons = {};
	
	dialog_buttons[b_ok_label] = function(){ 
									// Close
									$("#favusers_refuse_confirm").dialog('close');
									// Action
									favusers_refuse_action(action, r); 
									}
									
	dialog_buttons[b_cancel_label] = function(){ $(this).dialog('close'); }
	
	// the dialog
	//---------------------------
	$( "#favusers_refuse_confirm" ).dialog({
			resizable: false,
			height:240,
			modal: true,
			buttons: dialog_buttons
			
	});
	
	
}

/**
 * [favusers_refuse_action description]
 * @param  {[type]} action [description]
 * @param  {[type]} r      [description]
 * @return {[type]}        [description]
 */
function favusers_refuse_action(action, r){
	
	// action call in ajax
	//---------------------------
	$("#favusers_dialog_content_result").load("plugins/vp_favusers/php_scripts/01_favusers_action.php?action="+action+"&refuse="+r); 
	
	// the button (label and action)
	//---------------------------
	b_close_label = $("#favusers_dialog_result_b_close").html();
	var dialog_buttons = {};
	
	
	dialog_buttons[b_close_label] = function(){ 
							$(this).dialog('close'); 
							
							}
	
	// Open the diaplg
	$( "#favusers_dialog_result" ).dialog({
		resizable: false,
		height:240,
		modal: true,
		buttons: dialog_buttons
	});
	
}


/**
 * [favusers_display_fav_of_list description]
 * @return {[type]} [description]
 */
function favusers_display_fav_of_list(){
	// Premium
	//-----------------------------------
	if (IS_PREMIUM){
		// We load the code only if it's not already done
		//-----------------------------------
		if ($("#favOfList_content_result").html() == ""){
			display_waiter($("#favOfList_content_result"), 'big5');
			$("#favOfList_content_result").load("plugins/vp_favusers/php_scripts/display_fav_of_list.php", function(){
					avatar_refresh();
					$("#favOfList").slideToggle();

			});
		}else{
			$("#favOfList").slideToggle();
		}
	// No premium
	//-----------------------------------
	}else{
		$("#favOfListNoPremium").slideToggle();
	}
}


//----------------------------------------------------------
// Game score search
//----------------------------------------------------------
function game_search_autocomplete_init(){
	// auto select on click
	
	//$( '#tf_game_search' ).focus(function( e ) { $(this).select();});
	
	// autocomplete script
	// function log( message ) {
	// 			$( "<div/>" ).text( message ).prependTo( "#log" );
	// 			$( "#log" ).scrollTop( 0 );
	// 		}
	
	$( "#tf_game_search" ).autocomplete({
		source: "plugins/vp_game_search/00_game_search_autocomplete.php?field=name",
		minLength: 3,
		select: function( event, ui ) {
			// log( ui.item ?
			// 	"Selected: " + ui.item.value + " aka " + ui.item.id :
			// 	"Nothing selected, input was " + this.value );
			
			
			favusers_display_game_score(ui.item.value);
		}
	});	
}
// Display the scores of the games
//-----------------------------------
function favusers_display_game_score(game_id){

	displayWaiter($("#favuser_game_score_content_result"), "big5");
	$("#favuser_game_score_content_result").load("plugins/vp_favusers/php_scripts/favusers_game_scores.php?game_id="+game_id, function(){
			avatar_refresh();
			$( "#tf_game_search" ).val("");
	});

}