// AFFICHAGE COMBAT

var timeout;
var timeout_cpt;
var timeout_close;

function cbtaf_stop()
{
	AFFICHE_COMBAT = true;
	for(var i = 0; i <= timeout_cpt; i++) {
		window.clearTimeout(timeout[i]);
	}
}

function cbtaf_move_dino(dino)
{
	var time = 10;
	var distance = 14;
	var cpt = 0;
	
	if(dino == 1) {
		for(var i = 1; i <= distance; i++) window.setTimeout('document.getElementById("cbtaf_img'+dino+'").style.marginRight="'+i+'px";', cpt+=time);
		for(var i = distance-1; i >= 1; i--) window.setTimeout('document.getElementById("cbtaf_img'+dino+'").style.marginRight="'+i+'px";', cpt+=time);
	}
	else {
		for(var i = 1; i <= distance; i++) window.setTimeout('document.getElementById("cbtaf_img'+dino+'").style.marginLeft="'+i+'px";', cpt+=time);
		for(var i = distance-1; i >= 1; i--) window.setTimeout('document.getElementById("cbtaf_img'+dino+'").style.marginLeft="'+i+'px";', cpt+=time);
	}
}

function cbtaf_degat_dino(dino, degat)
{
	var mini = parseInt(Math.max(5, 65-degat*2));
	var time = parseInt(15*(100+degat)/100);
	var pas = 10;
	var cpt = 250;
	var i;
	
	for(var j = 0; j < 3; j++) {
		for(i = 100; i>30; i-=pas) timeout[timeout_cpt++] = window.setTimeout('document.getElementById("cbtaf_img'+dino+'").style.opacity = String('+i/100+'); document.getElementById("cbtaf_img'+dino+'").style.filter="alpha(opacity='+i+')";', cpt+=time);
		for(i; i<100; i+=pas) timeout[timeout_cpt++] = window.setTimeout('document.getElementById("cbtaf_img'+dino+'").style.opacity = String('+i/100+'); document.getElementById("cbtaf_img'+dino+'").style.filter="alpha(opacity='+i+')";', cpt+=time);
	}
}

var def_align = new Array();
def_align[3] = 'bottom';
def_align[2] = 'middle';
def_align[1] = 'top';
def_align[4] = 'middle';

function cbtaf_print_attaque(dino, attaque, dino2, defense, degat)
{
	var pas = 10;
	var time = 20;
	var cpt = 0;

	document.getElementById("cbtaf_def"+dino).innerHTML = '';
	
	if(attaque <= 3) var fichier = attaque+'_'+dino+'.gif';
	else {
		var fichier = attaque+'.gif';
		cbtaf_set_barre(dino+"_mana", magies_mana[attaque], null, true);
	}
	
	var txt = document.getElementById("cbtaf_dino_nom"+dino).innerHTML+' ';
	if(document.getElementById("cbtaf_dino_nom"+dino).innerHTML.length >= 16) {
		txt = txt+'<br/>'+atq_cbtaf_noms[attaque];
	}
	else {
		txt = txt+atq_cbtaf_noms[attaque]+'<br/>&nbsp;';
	}

	document.getElementById("cbtaf_atq").innerHTML = '<img style="opacity:0;filter:alpha(opacity=0);" id="cbtaf_atq_img" src="images/divers/combats/'+fichier+'" />';

	for(var i = 0; i < 100; i += pas) {
		timeout[timeout_cpt++] = window.setTimeout('document.getElementById("cbtaf_atq_img").style.opacity = String('+i/100+'); document.getElementById("cbtaf_atq_img").style.filter="alpha(opacity='+i+')";', cpt+=time);
	}

	document.getElementById('cbtaf_atq'+dino).innerHTML = txt;

	// Protection
	if(((attaque <= 3) && (defense == attaque)) || ((attaque > 3) && (defense == 4))) {
		document.getElementById('cbtaf_atq'+dino2).innerHTML = document.getElementById("cbtaf_dino_nom"+dino2).innerHTML+" bloque (<strong>-"+degat+" PV</strong>)"+'<br/>&nbsp;';	
	}

	else {
		document.getElementById('cbtaf_atq'+dino2).innerHTML = document.getElementById("cbtaf_dino_nom"+dino2).innerHTML+" subit (<strong>-"+degat+" PV</strong>)"+'<br/>&nbsp;';
	}

	if(defense <= 3) fichier = "bouclier_p"+dino2+".jpg";
	// Blocage magique
	else {
		cbtaf_set_barre(dino2+"_mana", 15, null, true);
		fichier = "bouclier4_p"+dino2+".jpg";
	}

	document.getElementById("cbtaf_def"+dino2).style.verticalAlign = def_align[defense];
	document.getElementById("cbtaf_def"+dino2).innerHTML = '<img style="opacity:0;filter:alpha(opacity=0);" id="cbtaf_def'+dino2+'_img" src="images/divers/combats/'+fichier+'" />';

	cpt = 0;
	
	for(var i = 0; i < 100; i += pas) {
		timeout[timeout_cpt++] = window.setTimeout('document.getElementById("cbtaf_def'+dino2+'_img").style.opacity = String('+i/100+'); document.getElementById("cbtaf_def'+dino2+'_img").style.filter="alpha(opacity='+i+')";', cpt+=time);
	}

	cbtaf_set_barre(dino2+"_vie", degat, null, true);
	cbtaf_degat_dino(dino2, degat);

}

function cbtaf_set_attaque(dino, attaque, dino2, defense, degat, tour)
{
	cbtaf_move_dino(dino);	
	cbtaf_print_attaque(dino, attaque, dino2, defense, degat);
	
	// Combat terminé ?
	if((parseInt(document.getElementById('cbtaf_barre_'+dino2+'_vie_min').innerHTML) <= 0) || (tour == 6)) {
		window.setTimeout('cbtaf_stop();', 1500);
		
		if(parseInt(document.getElementById('cbtaf_barre_'+dino2+'_vie_min').innerHTML) <= 0) 											  window.setTimeout('document.getElementById("cbtaf_gagnant_detail").style.display = ""; document.getElementById("cbtaf_gagnant_detail").innerHTML = "<hr style=\'color:#DDDDDD;\' /><br class=\'mini_espace\' />Les points de vie de "+document.getElementById("cbtaf_dino_nom'+dino2+'").innerHTML+" sont tombés à zéro...";', 1500);
		else if(document.getElementById('cbtaf_barre_1_vie_min').innerHTML != document.getElementById('cbtaf_barre_2_vie_min').innerHTML) window.setTimeout('document.getElementById("cbtaf_gagnant_detail").style.display = ""; document.getElementById("cbtaf_gagnant_detail").innerHTML = "<hr style=\'color:#DDDDDD;\' /><br class=\'mini_espace\' />Le gagnant est le dinosaure à qui il reste le plus de points de vie...";', 1500);
		else																															  window.setTimeout('document.getElementById("cbtaf_gagnant_detail").style.display = ""; document.getElementById("cbtaf_gagnant_detail").innerHTML = "<hr style=\'color:#DDDDDD;\' /><br class=\'mini_espace\' />Il y a égalité des points de vie. Le gagnant est choisi aléatoirement...";', 1500);
		
		window.setTimeout("document.getElementById('cbtaf_gagnant').style.display = '';", 2300);
		if(EXECUTION_FINALE) {
			window.setTimeout(EXECUTION_FINALE, 4000);
		}
	}
}


function cbtaf_set_barre(id, montant, maximum, moins)
{
	if(moins == null) moins = false;
	else if((montant != null) && (moins == true)) montant = Math.max(0, document.getElementById("cbtaf_barre_"+id+"_min").innerHTML - montant);
	
	if(maximum != null) document.getElementById("cbtaf_barre_"+id+"_max").innerHTML = maximum;
	if(montant != null) document.getElementById("cbtaf_barre_"+id+"_min").innerHTML = montant;
	
	var pc = (document.getElementById("cbtaf_barre_"+id+"_min").innerHTML)/(document.getElementById("cbtaf_barre_"+id+"_max").innerHTML) * 100;
	document.getElementById("cbtaf_barre_"+id+"_img").style.width = pc+'%';	
}

function cbtaf_b()
{
	document.getElementById("cbtaf_chargement").style.display = "";
	document.getElementById("cbtaf_cbt").style.display = "none";
	openNotification("notification2", "fenetreErreur2");
}


// LISTES COMBATS

function cbts_liste_b(p)
{
	if(p == 1) {
		document.getElementById("liste_combats_recus_chargement").style.display = "";
		document.getElementById("liste_combats_recus_actualiser").style.display = "none";
	}
	else {
		document.getElementById("liste_combats_envoyes_chargement").style.display = "";
		document.getElementById("liste_combats_envoyes_actualiser").style.display = "none";
	 }
}

function cbts_liste_a(p, nonAct)
{
	if(xhrReponse != "") {
		if(p == 1) document.getElementById("liste_combats_recus").innerHTML = xhrReponse;
		else document.getElementById("liste_combats_envoyes").innerHTML = xhrReponse;
	}
	
	if(p == 1) {
		document.getElementById("liste_combats_recus_chargement").style.display = "none";
		document.getElementById("liste_combats_recus_actualiser_nok").style.display = "";
		window.setTimeout('document.getElementById("liste_combats_recus_actualiser").style.display = ""; document.getElementById("liste_combats_recus_actualiser_nok").style.display = "none";', 3000);
	}
	else {
		document.getElementById("liste_combats_envoyes_chargement").style.display = "none";
		document.getElementById("liste_combats_envoyes_actualiser_nok").style.display = "";
		window.setTimeout('document.getElementById("liste_combats_envoyes_actualiser").style.display = ""; document.getElementById("liste_combats_envoyes_actualiser_nok").style.display = "none";', 3000);
	}
	
    if(nonAct != 1) xhrExec('membre_combats_dino.php5', '', 'cbt_maj_info_dino();', 'document.getElementById("cbt_dino_info").innerHTML = xhrReponse;', 0);

}



// FONCTION MISE A JOUR DONNEES DINO

function cbt_maj_info_dino()
{
	//var anc,txt;
	// Mise à jour du nb de magies
	for(var id in magies_qte) {
		if(cur = document.getElementById("stock"+id)) {
			//anc = magies_qte[id];
			magies_qte[id] = cur.innerHTML;
			//txt = txt+"Magie "+id+": avant="+anc+"  apres="+magies_qte[id]+"\n";
		}
	}
	
	// Mise à jour PM (PV n'est pas stocké, inutile)
	//anc = mana;
	mana = document.getElementById("cbt_mana").innerHTML;
	//txt=txt+"PM: avant="+anc+"   apres="+mana;
	
	//alert(txt);
	
}

// PRECHARGEMENT DE CERTAINES IMAGES
var imgatq = new Array();
imgatq[0] = new Image();
imgatq[0].src = "http://www.dinogaia.com/images/divers/combats/2_1.gif";
imgatq[1] = new Image();
imgatq[1].src = "http://www.dinogaia.com/images/divers/combats/2_2.gif";
imgatq[2] = new Image();
imgatq[2].src = "http://www.dinogaia.com/images/divers/combats/2_3.gif";
imgatq[3] = new Image();
imgatq[3].src = "http://www.dinogaia.com/images/divers/combats/1_1.gif";
imgatq[4] = new Image();
imgatq[4].src = "http://www.dinogaia.com/images/divers/combats/1_2.gif";
imgatq[5] = new Image();
imgatq[5].src = "http://www.dinogaia.com/images/divers/combats/1_3.gif";
imgatq[6] = new Image();
imgatq[6].src = "http://www.dinogaia.com/images/divers/combats/bouclier_p2.jpg";
imgatq[7] = new Image();
imgatq[7].src = "http://www.dinogaia.com/images/divers/combats/bouclier_p1.jpg";
imgatq[8] = new Image();
imgatq[8].src = "http://www.dinogaia.com/images/divers/combats/bouclier4_p2.jpg";
imgatq[9] = new Image();
imgatq[9].src = "http://www.dinogaia.com/images/divers/combats/bouclier4_p1.jpg";


// CONNECTES

var magies_qte = new Array();
var atq_noms = new Array();
var atq_cbtaf_noms = new Array();
var magies_mana = new Array();
var mana_tmp;
var cbt_adv, cbt_id;

atq_noms[1] = 'Attaque dans la tête';
atq_noms[2] = 'Attaque dans le corps';
atq_noms[3] = 'Attaque dans les pattes';
atq_cbtaf_noms[1] = 'attaque dans la tête';
atq_cbtaf_noms[2] = 'attaque dans le corps';
atq_cbtaf_noms[3] = 'attaque dans les pattes';

var def_noms = new Array();

def_noms[1] = 'Se protéger la tête';
def_noms[2] = 'Se protéger le corps';
def_noms[3] = 'Se protéger les pattes';

function online_b(form)
{
	if(form != true) document.getElementById("form_recherche").style.display = "none";
	document.getElementById("liste_dinosaures_lien").style.display = "none";
	document.getElementById("liste_dinosaures_attente").style.display = "";
}

function online_a()
{
	document.getElementById("liste_dinosaures_liste").innerHTML = xhrReponse;
	document.getElementById("liste_dinosaures_attente").style.display = "none";
	document.getElementById("liste_dinosaures").style.display = "";
}

function online_act_b()
{
	document.getElementById("liste_dinosaures_liste_liens").style.display = "none";
	document.getElementById("liste_dinosaures_attente_act").style.display = "";
}

function online_act_a()
{
	document.getElementById("liste_dinosaures_liste").innerHTML = xhrReponse;
	document.getElementById("liste_dinosaures_liste_liens").style.display = "";
	document.getElementById("liste_dinosaures_attente_act").style.display = "none";
}

function online_close()
{
	document.getElementById("liste_dinosaures_lien").style.display = "";
	document.getElementById("liste_dinosaures").style.display = "none";
	document.getElementById("form_recherche").style.display = "none";
}

function atq_select(id, atq)
{
	attaques[id] = atq;
	document.getElementById("atq"+id+"_1").className = "icone";
	document.getElementById("atq"+id+"_2").className = "icone";
	document.getElementById("atq"+id+"_3").className = "icone";

	for(idm in magies_qte) {
		if(magies_qte[idm] > 0) {
			document.getElementById("atq"+id+"_"+idm).className = "icone";
		}
	}

	document.getElementById("atq"+id+"_"+atq).className = "icone_select";
	document.getElementById("atq"+id+"_def").innerHTML = atq_noms[atq];
}


function atq_select_i(id, atq)
{
	if(attaques[id] != atq) document.getElementById("atq"+id+"_def").innerHTML = "<font class='grise3'>"+atq_noms[atq]+"</font>";
}

function atq_select_o(id, atq)
{
	if(!attaques[id]) document.getElementById("atq"+id+"_def").innerHTML = "<font class='grise2'>Aucune attaque s&eacute;lectionn&eacute;e</font>";
	else document.getElementById("atq"+id+"_def").innerHTML = atq_noms[attaques[id]];
}


function def_select(id, def)
{
	blocages[id] = def;
	document.getElementById("def"+id+"_1").className = "icone";
	document.getElementById("def"+id+"_2").className = "icone";
	document.getElementById("def"+id+"_3").className = "icone";
	document.getElementById("def"+id+"_4").className = "icone";
	
	document.getElementById("def"+id+"_"+def).className = "icone_select";
	document.getElementById("def"+id+"_def").innerHTML = def_noms[def];
}


function def_select_i(id, def)
{
	if(blocages[id] != def) document.getElementById("def"+id+"_def").innerHTML = "<font class='grise3'>"+def_noms[def]+"</font>";
}

function def_select_o(id, def)
{
	if(!blocages[id]) document.getElementById("def"+id+"_def").innerHTML = "<font class='grise2'>Aucune défense s&eacute;lectionn&eacute;e</font>";
	else document.getElementById("def"+id+"_def").innerHTML = def_noms[blocages[id]];
}

function cbt_voyant()
{
	xhrExec('membre_combats_voyant.php5', 'id='+dino_id_cbt, 'cbt_voyant_b();', 'cbt_voyant_a();', 0);
}

function cbt_voyant_b()
{
	document.getElementById("lien_voyant").style.display = 'none';
	document.getElementById("cbt_voyant").style.display = 'none';
	document.getElementById("cbt_voyant_chargement").style.display = '';
	document.getElementById("cbt_attaques").style.display = 'none';
}

function cbt_voyant_a()
{
	document.getElementById("cbt_voyant_chargement").style.display = 'none';
	document.getElementById("cbt_voyant").style.display = '';
	document.getElementById("cbt_voyant_display").innerHTML = xhrReponse;
}

function cbt_voyant_fermer()
{
	document.getElementById("cbt_attaques").style.display = '';
	document.getElementById("cbt_voyant").style.display = 'none';
	document.getElementById("lien_voyant").style.display = '';
}


var AFFICHE_COMBAT = true;
var dino_id_cbt;

// Ouvrir une fenêtre de combat
function openCombat(pseudo, nom, dinosaure_id, dinosaure, niveau, clan, dino_id, cbt_id_p, user_id, stats_envoi_direct)
{
	if(notif_actif) return false;
	
	var imgn = new Image();
	imgn.src = "images/dinosaures/"+dinosaure_id+"/mini/d"+niveau+".jpg";
	
	if(stats_envoi_direct) _stats_envoi_direct = 1;
	else _stats_envoi_direct = 0;

	if(document.getElementById("form_recherche").style.display == "") {
		online_rech = true;
		document.getElementById("form_recherche").style.display = "none";
	}
	else online_rech = false;

	if(dino_id == user_dino_id) {
		alert("Tu ne peux pas te combattre toi même !");
		return;
	}
	
	dino_id_cbt = dino_id;
	
	//if(GLOBAL_USER_ID == 2 || GLOBAL_USER_ID == 1) alert(repFightId);
	
	if(cbt_id_p != null) {
		cbt_id = cbt_id_p;
		document.getElementById("cbt_type_def").innerHTML = "Répondre à un défi"; 
		document.getElementById("cbt_type_def2").innerHTML = "Ta réponse au défi a bien été envoyée !"; 
	}
	else {
		cbt_id = 0;
		document.getElementById("cbt_type_def").innerHTML = "Envoyer un combat"; 
		document.getElementById("cbt_type_def2").innerHTML = "Ton d&eacute;fi a bien &eacute;t&eacute; envoy&eacute; !"; 
	}

	if(dino_id > 0) {
		document.getElementById("cbt_ligne_pseudo").style.visibility = ""; 
		document.getElementById("cbt_pseudo").innerHTML = '<a href="dino,'+nom+','+dino_id+'.php5" target="_blank">'+pseudo+'</a>';
	}
	else {
		document.getElementById("cbt_ligne_pseudo").style.visibility = ""; 
		document.getElementById("cbt_pseudo").innerHTML = "<font class='grise'>Personnage non joueur</font>"; 
	}

	attaques = new Array();
	blocages = new Array();

	cbt_adv = dino_id;


	// Attaques
	for(var i = 1; i <= 3; i++) for(var j = 1; j <= 3; j++) document.getElementById("atq"+i+"_"+j).className = "icone";
	for(var i = 1; i <= 3; i++) document.getElementById("atq"+i+"_def").innerHTML = "<font class='grise2'>Aucune attaque s&eacute;lectionn&eacute;e</font>";
	
	// Informations
	document.getElementById("cbt_nom").innerHTML = nom+" ("+dinosaure+" niveau "+niveau+")";

	if((clan != null) && clan != "") {
		document.getElementById("cbt_clan").innerHTML = clan;
	}
	else {
		document.getElementById("cbt_clan").innerHTML = "<font class='grise'>N'appartient à aucun clan</font>";
	}


	document.getElementById("cbt_img").src = "images/charte/trans.gif";
	document.getElementById("cbt_img").src = imgn.src;
	
	var stock_magies = new Array();
	
	for(var i = 1; i <= 3; i++) stock_magies[i] = '';
	
	// Magies
	
	for(var i = 1; i <= 3; i++)
	{
		stock_magies[i] = '<div style="max-height:150px;overflow-y:auto;overflow-x:hidden;">';
		
		for(magie in magies_qte)
		{
			if(magies_qte[magie] > 0) stock_magies[i] = stock_magies[i] + '<img class="icone" src="images/divers/combats/'+magie+'.gif" alt="Magie" name="atq'+i+'_'+magie+'" border="0" id="atq'+i+'_'+magie+'" onclick="atq_select('+i+','+magie+');" onmouseover="atq_select_i('+i+','+magie+');" onmouseout="atq_select_o('+i+','+magie+');" /><br class="mini_espace" />';
			else if(magie <= 63) stock_magies[i] = stock_magies[i] + '<img class="icone_nok" src="images/divers/combats/'+magie+'.gif" alt="Magie" name="atq'+i+'_'+magie+'" border="0" id="atq'+i+'_'+magie+'" /><br class="mini_espace" />';
		}
		
		stock_magies[i] = stock_magies[i] + '</div>';
	}

	for(var i = 1; i <= 3; i++)
	for(var j = 1; j <= 4; j++)
	document.getElementById("def"+i+"_"+j).className = "icone";
	
	document.getElementById("atq1_extra").innerHTML = '<div align=center>'+stock_magies[1]+'</div>';
	document.getElementById("atq2_extra").innerHTML = '<div align=center>'+stock_magies[2]+'</div>';
	document.getElementById("atq3_extra").innerHTML = '<div align=center>'+stock_magies[3]+'</div>';
	document.getElementById('cbt_erreur_ef').style.display = 'none';

	document.getElementById("def1_def").innerHTML = '<font class="grise2">Aucune d&eacute;fense s&eacute;lectionn&eacute;e</font>';
	document.getElementById("def2_def").innerHTML = '<font class="grise2">Aucune d&eacute;fense s&eacute;lectionn&eacute;e</font>';
	document.getElementById("def3_def").innerHTML = '<font class="grise2">Aucune d&eacute;fense s&eacute;lectionn&eacute;e</font>';

	document.getElementById("cbt_erreur").innerHTML = "";
	document.getElementById("cbt_erreur2").innerHTML = "";
	document.getElementById("cbt_chargement").style.display = "none";
	document.getElementById("cbt_confirm").style.display = "none";
	
	document.getElementById("cbt_attaques").style.display = "";
	document.getElementById("cbt_defenses").style.display = "none";
	
	// Voyant
	if(user_metier != 8) document.getElementById("lien_voyant").style.display = 'none';
	else document.getElementById("lien_voyant").style.display = '';
	document.getElementById("cbt_voyant").style.display = 'none';
	
	openNotification(null, null, 40);
}

// Ouvrir une fenêtre de combat (SUITE)
function suiteCombat()
{
	// Attaques sélectionnées
	if((attaques[1] == null) || (attaques[2] == null) || (attaques[3] == null)) {
		document.getElementById("cbt_erreur").innerHTML = "Tu dois sélectionner tes 3 attaques avant de continuer !";
		return false;
	}
	
	document.getElementById("lien_voyant").style.display = 'none';
	
	// Vérifications magies
	magies = new Array();
	mana_tmp = mana;
	
	for(magie in magies_qte) {
		magies[magie] = magies_qte[magie];
	}
	
	for(var i = 1; i <= 3; i++)
	{
		if(magies[attaques[i]] != null)
		{
			// Quantité magies
			if((magies[attaques[i]] -= 1) < 0) {
				document.getElementById("cbt_erreur").innerHTML = "Tu n'as pas assez de "+atq_noms[attaques[i]]+" pour en utiliser autant";
				return false;
			}
			
			// Quantité mana
			if((mana_tmp -= magies_mana[attaques[i]]) < 0) {
				document.getElementById("cbt_erreur").innerHTML = "Tu n'as pas assez de PM pour utiliser autant de magies !";
				return false;
			}			
		}
	}

	// Affiche blocages
	document.getElementById("cbt_attaques").style.display = "none";
	document.getElementById("cbt_defenses").style.display = "";
	
	return true;
}


function envoyerCombatChg()
{
	if(xhrReponse.charAt(0) == '!') {
		document.getElementById('cbt_chargement').style.display = 'none';
		document.getElementById('cbt_confirm').style.display = 'none';
		document.getElementById('cbt_erreur_ef').style.display = '';
		
		var erreur = 'Une erreur '+xhrReponse[1]+' est survenue...';
		
		switch(xhrReponse.charAt(1))
		{
			//case 0: erreur = ""; break;
			case "1": erreur = "Attaques envoyées incohérentes !"; break;
			case "2": erreur = "Attaques spéciales envoyées incohérentes !"; break;
			case "3": erreur = "Tu n'as pas assez de PM pour utiliser autant de magie !"; break;
			case "4": erreur = "Les combats entre 2 comptes d'un même réseau ou d'un même ordinateur sont interdits."; break;
			case "5": erreur = "Impossible de trouver l'adversaire choisi..."; break;
			case "6": erreur = "Ton adversaire a atteint son quota de combats reçus..."; break;
			case "7": erreur = "Tu n'as pas assez de magies pour en utiliser autant !"; break;
			case "8": erreur = "Tu as atteint ton quota de combats envoyés..."; break;
			case "9": erreur = "Ce combat avait déjà été supprimé par ton adversaire, tu ne peux donc plus l'accepter..."; break;
			case "a": erreur = "Tu ne peux effectuer que 3 combats maximum contre des dinosaures de niveaux supérieurs chaque jour."; break;
			case "b": erreur = "Tu ne peux effectuer que 3 combats maximum contre des dinosaures &laquo;&nbsp;non&nbsp;joueurs&nbsp;&raquo; chaque jour."; break;
			case "c": erreur = "Deux mêmes dinos ne peuvent effectuer que 5 combats maximum entre eux chaque jour."; break;
			case "d": erreur = "Ton adversaire ne peut effectuer que 3 combats maximum contre des dinosaures de niveaux supérieurs chaque jour, or il a déjà atteint son quota. Ton défi ne peut donc pas être envoyé."; break;
			case "e": erreur = "Tu ne peux pas te combattre toi même !"; break;
			case "f": erreur = "Tu ne peux pas combattre cet adversaire..."; break;
			case "g": erreur = "Tu ne peux effectuer que 10 combats maximum contre un même joueur chaque jour (tous dinos confondus)."; break;
		}
		
		if(GLOBAL_USER_ID == 2) {
			erreur = 	xhrReponse;
		}
		
		document.getElementById('cbt_erreur_e').innerHTML = erreur;
		xhrReponse = xhrReponse.slice(2);
		return;
	}
	
	if(typeof secondCallbackAfterFight != "undefined") {
		secondCallbackAfterFight();
	}
	
	if(document.getElementById('cbt_chargement')) document.getElementById('cbt_chargement').style.display = 'none';
	if(document.getElementById('cbt_confirm')) document.getElementById('cbt_confirm').style.display = '';
	
	// On effectue les changements
	//mana = mana_tmp; // Désactivé car changement pris en compte par actualisation (HTTP) des info du dino
	
	if(document.getElementById("cbt_mana")) {
		document.getElementById("cbt_mana").innerHTML = mana;
		document.getElementById("cbt_mana_barre").style.width = mana/mana_max*100+'%';
			
		magies_qte = magies;
		var p;
		
		for(magie in magies_qte) {
			p = document.getElementById("stock"+magie);
			if(p) p.innerHTML = magies_qte[magie];
		}
		
		timeout_close = window.setTimeout('closeNotification();', 2500);
	}
}

function openForm()
{
	document.getElementById("form_recherche").style.display = "";
}

function closeForm()
{
	document.getElementById("form_recherche").style.display = "none";
}

function rechercheForm()
{
	var cur;
	cur = document.getElementById("selectClans");
	clans = cur.options[cur.selectedIndex].value;
	
	cur = document.getElementById("selectNiveau");
	niveau = cur.options[cur.selectedIndex].value;
	
	cur = document.getElementById("selectRaces");
	races = cur.options[cur.selectedIndex].value;
	
	online_req = 'niveaux='+niveau+'&clans='+clans+'&races='+races;
	xhrExec('membre_combats_online.php5', online_req, 'online_b(true)','online_a()');
}

var secondCallbackAfterFight;


function fightSentGlobal(t) {
	if(!$('liste_combats_envoyes_actualiser_link')) {
		return;	
	}

	if(t == 1) {
		xhrExec('membre_combats_liste.php5', 't=1', 'cbts_liste_b(1)','cbts_liste_a(1);');
	}
	
	else {
		xhrExec('membre_combats_liste.php5', 't=2', 'cbts_liste_b(2)','cbts_liste_a(2);');	
	}
}


// Défier
function envoyerCombatGlobal(secondCallback)
{
	if(typeof secondCallback == 'undefined') {
		secondCallback = function() { };	
	}
	
	secondCallbackAfterFight = secondCallback;
	
	// Défenses sélectionnées
	if((blocages[1] == null) || (blocages[2] == null) || (blocages[3] == null)) {
		document.getElementById("cbt_erreur2").innerHTML = "Tu dois sélectionner tes 3 défenses avant de continuer !";
		return false;
	}

	for(var i = 1; i <= 3; i++)
	{
		if(blocages[i] == 4)
			if((mana_tmp -= 15) < 0) {
				document.getElementById("cbt_erreur2").innerHTML = "Tu n'as pas assez de PM pour utiliser autant de défense contre la magie !";
				return false;
			}
	}

	document.getElementById("cbt_defenses").style.display = "none";	
	document.getElementById("cbt_chargement").style.display = "";
	
    xhrExec('membre_combats_liste.php5', 'rep='+repFightId+'&t='+(repFightId?1:2)+'&id='+cbt_adv+'&stats_envoi_direct=1&atq[0]='+attaques[1]+'&atq[1]='+attaques[2]+'&atq[2]='+attaques[3]+'&def[0]='+blocages[1]+'&def[1]='+blocages[2]+'&def[2]='+blocages[3], '',"envoyerCombatChg(); fightSentGlobal("+(repFightId?1:2)+");");
	
	return true;
}

disableFightWindow = function() {}
enableFightWindow = function() {}

function openFightWindow(player, fight) { 		
		
	if(typeof player == 'undefined') var player = 0;
	if(typeof fight == 'undefined') var fight = 0;
	
	var windowNb = createWindow(fight?"Répondre à un défi":"Envoyer un défi", "");
	var windowId = windowIdForNb(windowNb);
	var windowTitle = windowTitleIdForNb(windowNb);
	var windowContentGlobal = windowContentIdForNb(windowNb);
	var windowContent = 'customWindow' + windowNb;		
	var windowCancelButton = 'cancelButton' + windowNb;		
	var windowFollowButton = 'followButton' + windowNb;		
	var windowEndButton = 'endButton' + windowNb;		
		
	$(windowId).style.width = '99%';
	$(windowId).style.left = '1%';
	$(windowContentGlobal).style.paddingLeft = '13px';
	$(windowContentGlobal).style.borderRadius = '12px';
	$(windowContentGlobal).update('<div id="customWindow'+windowNb+'"></div><div align="center"><input class="button2" type="button" value="Fermer" id="'+windowCancelButton+'" /> <input style="display:none;" class="button" type="button" value="Choisir mes défenses >" id="'+windowFollowButton+'" /> <input style="display:none;" class="button" type="button" value="Envoyer le défi" id="'+windowEndButton+'" /></div>');
	$(windowContent).update('<div class="windowLoading"><img src="images/divers/loading.gif" /> <span>Chargement en cours...</span></div>');
	
	$(windowContentGlobal).style.border = '2px solid #444444';
	$(windowContentGlobal).style.backgroundColor = 'white';
	$(windowTitle).className = 'firstTitle';

	if($('gameZone')) {
		$('gameZone').style.visibility = 'hidden';
	}

	$(windowCancelButton).onclick = function() {
		deleteWindow(windowNb);
		if($('gameZone')) {
			$('gameZone').style.visibility = '';
		}
	}
	
	$(windowFollowButton).onclick = function() {
		if(suiteCombat()) {
			$(windowFollowButton).style.display = 'none';
			$(windowEndButton).style.display = '';
		}
	}
	
	disableFightWindow = function() {
		$(windowFollowButton).style.display = 'none';
		$(windowCancelButton).value = 'Fermer';
	}

	enableFightWindow = function() {
		$(windowFollowButton).style.display = '';
		$(windowCancelButton).value = 'Annuler';
	}
	
	$(windowEndButton).onclick = function() {
		if(envoyerCombatGlobal(closeFightWindow)) {
			$(windowEndButton).style.display = 'none';
		}
	}
	
	function closeFightWindow() {
		if(!fight) {
			$(windowContent).update('<div class="windowLoading"><span style="font-weight:bold;">Ton défi a bien été envoyé !</span></div>');
		} else {
			$(windowContent).update('<div class="windowLoading"><span style="font-weight:bold;">Ta réponse au défi a bien été envoyée !</span></div>');
		}
		
		windowPosition(windowNb);
		
		$(windowEndButton).style.display = 'none';
		$(windowCancelButton).value = 'Fermer';
		window.setTimeout(function() {
			deleteWindow(windowNb);
			if($('gameZone')) {
				$('gameZone').style.visibility = '';
			}

		}, 2500);
	}
	
	new Ajax.Request('/membre_combats_nouveau.php5',
	{
		method:'get',
		parameters: {dinoId: player, fightId: fight},
		onSuccess: function(transport, json){
			var response = transport.responseText;
			//alert(json ? Object.inspect(json) : "no JSON object");
			//alert(response);
			
			
			
			$(windowContent).update(response);
			
			windowPosition(windowNb);
			
			//alert(response);
			//alert(json ? Object.inspect(json) : reponse);
			
		},
		onFailure: function() { 
			$(windowContent).className = 'erreur';
			$(windowContent).update("Une erreur est survenue, merci de réessayer plus tard...");
		}
	});
}

