function Lang(text)
{
	switch (id_lang)
	{
		case 2:
			switch (text)
			{
				case 'RANG_MAX': return 'Max rank';
				case 'RANG': return 'rank';
				case 'RANG_SUIVANT': return 'Next rank';
				case 'RANG_ACTUEL': return 'Current rank';
				case 'EFFET': return 'Effect';
				case 'REQUIERT': return 'Requires';
			}
			break;
		case 1:
		default:
			switch (text)
			{
				case 'RANG_MAX': return 'Rang max';
				case 'RANG': return 'rang';
				case 'RANG_SUIVANT': return 'Rang suivant';
				case 'RANG_ACTUEL': return 'Rang actuel';
				case 'EFFET': return 'Effet';
				case 'REQUIERT': return 'Requiert';
			}
			break;
	}
	return '';
}

function PlusUn(id_skill)
{
	var need=false;
	if (skill_perso > 0)
	{
		if (lvl_max[id_skill] > skill[id_skill])
		{
			for (var i=0;i < skill_need_nb[id_skill];i++)
			{
				if (skill_need_lvl[id_skill][i] > skill[skill_need[id_skill][i]])
				{
					need=true;
				}
			}
			
			//if (level_perso >= lvl[id_skill][skill[id_skill]])
			//{
				if (!need)
				{
					skill[id_skill]++;
					RefreshSkill(id_skill);
					skill_use++;
					skill_perso--;
					RefreshSkillPoint();
					AfficherTexte(id_skill);
					RefreshURL();
					
					if (skill[id_skill] == lvl_max[id_skill])
					{
						VertSkill(id_skill);
					}
					
					for (var cle in skill)
					{
						if (cle != id_skill)
						{
							for (var i=0;i<skill_need_nb[cle];i++)
							{
								need=skill_need[cle][i];
								if (need == id_skill)
								{
									if (skill[id_skill] >= skill_need_lvl[cle][i])
									{
										if (skill[cle] == lvl_max[cle])
										{
											VertSkill(cle);
										}
										else
										{
											DegriserSkill(cle);
										}
									}
								}
							}
						}
					}
				}
			//}
		}
	}
}

function MoinsUn(id_skill)
{
	var need_bool=false;
	if (skill[id_skill] > skill_lvl_base[id_skill])
	{
		for (var cle in skill)
		{
			if (cle != id_skill)
			{
				for (var i=0;i<skill_need_nb[cle];i++)
				{
					need=skill_need[cle][i];
					if (need == id_skill)
					{
						if (skill[cle] > 0 && skill_need_lvl[cle][i]==skill[id_skill])
						{
							need_bool=true;
						}
					}
				}
			}
		}
		
		if (!need_bool)
		{
			skill[id_skill]--;
			RefreshSkill(id_skill);
			skill_use--;
			skill_perso++;
			RefreshSkillPoint();
			AfficherTexte(id_skill);
			RefreshURL();
			
			if (skill[id_skill] == lvl_max[id_skill] - 1)
			{
				DegriserSkill(id_skill);
			}
			
			for (var cle in skill)
			{
				if (cle != id_skill)
				{
					for (var i=0;i<skill_need_nb[cle];i++)
					{
						need=skill_need[cle][i];
						if (need == id_skill)
						{
							if (skill[id_skill] < skill_need_lvl[cle][i])
							{
								GriserSkill(cle);
							}
						}
					}
				}
			}
		}
	}
}
/*
function CalculMana(mana_min,mana_max,lvl)
{
	return (mana_min+(mana_max-mana_min)*((lvl-1)/49));
}
*/
function Init_Affichage()
{
	var need;
	for (var id_skill in skill)
	{
		/*for (var cle in skill)
		{
			if (cle != id_skill)
			{
				for (var i=0;i<skill_need_nb[cle];i++)
				{
					need=skill_need[cle][i];
					if (need == id_skill)
					{
						if (skill[id_skill] >= skill_need_lvl[cle][i])
						{
							if (skill[id_skill] == lvl_max[id_skill])
							{
								VertSkill(cle);
							}
							else
							{
								DegriserSkill(cle);
							}
						}
					}
				}
			}
		}*/
		need=false;
		for (var i=0;i < skill_need_nb[id_skill];i++)
		{
			if (skill_need_lvl[id_skill][i] > skill[skill_need[id_skill][i]])
			{
				need=true;
			}
		}
		if (!need)
		{
			if (skill[id_skill] == lvl_max[id_skill])
			{
				VertSkill(id_skill);
			}
			else
			{
				DegriserSkill(id_skill);
			}
		}
	}
}

function RefreshURL()
{
	var url='';
	for (var id_skill in skill)
	{
		if (skill[id_skill] < 10)
		{
			url+=skill[id_skill];
		}
		else
		{
			url+='A';
		}
	}
	document.getElementById("link_template").innerHTML=url;
	switch (id_lang)
	{
		case 1:
			document.getElementById("link_language_a").href="hellgate-simulator-sim-" + id_classe + "-en-" + url + ".html";
			break;
		case 2:
			document.getElementById("link_language_a").href="hellgate-simulator-sim-" + id_classe + "-fr-" + url + ".html";
			break;
	}
}

function RefreshSkillPoint()
{
	document.getElementById("nb_point_skill").innerHTML=skill_perso;
}

function RefreshSkill(id_skill)
{
	document.getElementById("valeur_skill_" + id_skill).innerHTML=skill[id_skill] + "/" + lvl_max[id_skill];
}

function GriserSkill(id_skill)
{
	document.getElementById("valeur_skill_" + id_skill).className = 'interdit';
	document.getElementById("skill_image_" + id_skill).src = 'images/skills/skill_' + id_skill + '_g.png';
}

function DegriserSkill(id_skill)
{
	document.getElementById("valeur_skill_" + id_skill).className = 'autorise';
	document.getElementById("skill_image_" + id_skill).src = 'images/skills/skill_' + id_skill + '.png';
}

function VertSkill(id_skill)
{
	document.getElementById("valeur_skill_" + id_skill).className = 'max';
}

function ResetSkill()
{
	var need;
	
	for (var cle in skill)
	{
		skill[cle] = skill_lvl_base[cle];
		RefreshSkill(cle);
	}
	
	for (var id_skill in skill)
	{
		DegriserSkill(id_skill);
		need=false;
		for (var i=0;i<skill_need_nb[id_skill];i++)
		{
			if (skill_need_lvl[id_skill][i] > skill[skill_need[id_skill][i]])
			{
				need=true;
			}
		}
		
		if (need)
		{
			GriserSkill(id_skill);
		}
	}
	
	skill_use=0;
	skill_perso=level_perso-1;
	RefreshSkillPoint();
	RefreshURL();
}
/*
function VariableTexte(id_skill,text)
{
	var lvl = skill[id_skill];
	if (lvl < 0)
	{
		
	}
	return text.replace(/\[mana\]/g,CalculMana(mana_skill[id_skill][0],mana_skill[id_skill][1],lvl));
}
*/
function AfficherTexte(id_skill)
{
	var html='';
	
	if (skill_need_nb[id_skill] > 0)
	{
		for (var i=0;i < skill_need_nb[id_skill];i++)
		{
			if (skill_need_lvl[id_skill][i] > skill[skill_need[id_skill][i]])
			{
				html+='<span class="interdit">';
			}
			else
			{
				html+='<span class="autorise">';
			}
			html+='' + Lang('REQUIERT') + ' : ' + name[skill_need[id_skill][i]] + ' ' + Lang('RANG') + ' ' + skill_need_lvl[id_skill][i];
			html+='</span><br />';
		}
	}
	
	if (skill[id_skill] > 0)
	{
		if (skill[id_skill] == lvl_max[id_skill])
		{
			html+='<span class="skill_name">' + name[id_skill] + '</span><br />' + desc[id_skill] + '<br /><br /><span class="skill_rang">' + Lang('RANG_MAX') + ' : ' + skill[id_skill] + '/' + lvl_max[id_skill] + '</span><br /><span class="skill_effet">' + Lang('EFFET') + ' : </span>' + stats[id_skill][skill[id_skill]-1];
		}
		else
		{
			html+='<span class="skill_name">' + name[id_skill] + '</span><br />' + desc[id_skill] + '<br /><br /><span class="skill_rang">' + Lang('RANG_ACTUEL') + ' : ' + skill[id_skill] + '/' + lvl_max[id_skill] + '</span><br /><span class="skill_effet">' + Lang('EFFET') + ' : </span>' + stats[id_skill][skill[id_skill]-1];
			html+='<br /><br /><span class="skill_rang">' + Lang('RANG_SUIVANT') + ' : ' + (skill[id_skill]+1) + '/' + lvl_max[id_skill] + '</span>';
			html+='<br /><span class="skill_effet">' + Lang('EFFET') + ' : </span>' + stats[id_skill][skill[id_skill]];
		}
	}
	else
	{
		html+='<span class="skill_name">' + name[id_skill] + '</span><br />' + desc[id_skill] + '<br /><br /><span class="skill_rang">' + Lang('RANG_SUIVANT') + ' : 1/' + lvl_max[id_skill] + '</span><br /><span class="skill_effet">' + Lang('EFFET') + ' : </span>' + stats[id_skill][skill[id_skill]];
	}
	
	BulleWrite(html);
}

function LevelUp()
{
	skill_perso++;
	level_perso++;
}

function LevelDown()
{
	skill_perso--;
	level_perso--;
}
