$(document).ready(
	function(){
		// affichage des équipements et des armes
		$('.showEquipements').ajaxContent();

		// message d'attente pour le chargement des équipements
		waitEquipements = function() {
			$('#weaponbox').html('<img src="/img/ico/wait.gif" />');
			$('#equipementbox').html('<img src="/img/ico/wait.gif" />');
		}
		// message d'attente pour le chargement des combats
		waitCombat = function() {
			$('#previousCombatBox').html('<img src="/img/ico/wait.gif" />');
		}
		
		// filtre des unités
		$('.filterUnitList').ajaxContent();
		
		// on lance le filtre des unités
		$('.selectUnit').ajaxContent();
		// idem pour le live
//		$('.selectUnitLive').live();
		
		
		// sélection d'une ligne dans le tableau des escouades
		selectLine = function(selectedLine) {
			$('.selected').removeClass("selected");
			$(selectedLine).addClass ("selected");
			waitEquipements();
		}
		
		// selection d'une ligne dans le tableau des combats
		$('.selectCombat').ajaxContent();
		selectCombat = function(selectedCombat) {
			$('.selected').removeClass("selected");
			$(selectedCombat).addClass ("selected");
			waitCombat();
		}
		

		// {* si un combat est passée en paramètre, on lance la fonction directement *}
		var selCombat = $('#selectedCombat');
		if (selCombat.val() > 0) {
			if ($('#lineCombat'+selCombat.val()).length > 0) {
				selectCombat('#lineCombat'+selCombat.val());
				var ajaxUrl = 'ajax.php?action=show_selected_combat&id_combat=' + selCombat.val() + '&sid=' + getUrl('sid');
				$.get(ajaxUrl);
			}
		}
		
		// {* si une escouade est passée en paramètre, on lance la fonction directement *}
		var selEsc = $('#selectedEscouade');
		if (selEsc.val() > 0) {
			if ($('#lineEscouade'+selEsc.val()).length > 0) {
				selectLine('#lineEscouade'+selEsc.val());
				waitEquipements();
				var ajaxUrl = 'ajax.php?action=show_weapon_and_equipement&id_escouade=' + selEsc.val() + '&sid=' + getUrl('sid');
				$.get(ajaxUrl);
			}
		}
		
		// {* si une unité est passée en paramètre, on lance la fonction directement *}
		var selUnit = $('#selectedUnite');
		if (selUnit.val() > 0) {
			if ($('#lineUnite'+selUnit.val()).length > 0) {
				selectLine('#lineUnite'+selUnit.val());
				waitEquipements();
				var ajaxUrl = '../ajax.php?action=show_unite_weapon_and_equipement&id_unite=' + selUnit.val() + '&sid=' + getUrl('sid');
				$.get(ajaxUrl);
			}
		}

		/* Ajout / Retrait */
		addOne = function(witchElement, iterate) {
			if (iterate == undefined || isNaN(iterate) || iterate < 0) {
				iterate = 1;
			}
			var nb = parseInt(witchElement.val());
			if (isNaN(nb) || nb < 0) {
				nb = 0;
			}
			for (i = 0; i < iterate; i++) {
				nb++;			
			}
			witchElement.val(nb);

		}
		subOne = function(witchElement, iterate) {
			if (iterate == undefined || isNaN(iterate) || iterate < 0) {
				iterate = 1;
			}
			var nb = parseInt(witchElement.val());
			if (isNaN(nb) || nb <= 0) {
				nb = 1;
			}
			for (i = 0; i < iterate && nb > 0; i++) {
				nb--;			
			}
			witchElement.val(nb);
		}
		

		$('.showSmallQuestion_escouade_del').click(function() {
			var idEscouade = $(this).attr('href').substr(1);
			openDialog('ajax.php?action=get_del_escouade_form', {id_escouade: idEscouade});
		});
		$('.showSmallQuestion_escouade_upd').click(function() {
			var idEscouade = $(this).attr('href').substr(1);
			openDialog('ajax.php?action=get_upd_escouade_form', {id_escouade: idEscouade});
		});

		$('.updArmy').click(function() {
			var id = $(this).attr('href').substr(1);
			var url = $(this).attr('rel');
			openDialog('/ajax.php?action=get_upd_army_form', {id_army: id, callbackUrl: url});
		});
		
		openDialog = function(url, data) {
			$.ajax({
				type: 'post',
				url: url,
				data: data,
				success: function(data) {
					if (data) {
						$(data).dialog({
							width: 400,
							modal: true,
							resizable: false,
							buttons: {
								"Annuler": function() {
									$(this).dialog("close"); 
								},
								"Ok": function() {
									$(this).find('form').submit();
								}
							}
						});
					}
				}
			});
		}

		clearEquipementDiv = function() {
			$('#equipementbox').html('');
			$('#weaponbox').html('');
		}
	}
);


/*
	hideTrStyle();
	document.getElementById("line" + type + escouade_unite_id).className += "selected";
	*/


function hideTrStyle() {
	var list=document.getElementsByTagName("tr");
	
	for (var j = 0; j < list.length; j++) {
		var cn = list[j].className;
		if (cn.lastIndexOf("selected") != -1) {
			list[j].className = cn.substring(0,cn.lastIndexOf("selected"));
		} 
	}
}

function checkDate(id) {
	var e = document.getElementById(id);
	if (e.length > 0) {
		recherche = e.value.indexOf("/");
		if (recherche == -1) {
			e.value = e.value.substr(0,2) + "/" + e.value.substr(2,2) + "/" + e.value.substr(4);
		}
		date_saisie = e.value.split("/");
		date_saisie_1 = e.value.split("/");
		if (date_saisie[2].length == 2) {
			if (date_saisie[2]<50){
				siecle='20';
			}
			else {
				siecle='19';
			}
			e.value = date_saisie[0] + "/" + date_saisie[1] + "/" +siecle + date_saisie[2];
		}
		else {
			siecle = '20';
		}
		var date_calcul = new Date(siecle+date_saisie[2],date_saisie[1]-1,date_saisie[0]);
		if (date_calcul.getDate() < 10)
			date_saisie_1[0] = "0"+ date_calcul.getDate();
		else
			date_saisie_1[0] = date_calcul.getDate();
		if (eval(date_calcul.getMonth()+1) < 10)
			date_saisie_1[1] = "0"+eval(date_calcul.getMonth()+1);
		else
			date_saisie_1[1] = eval(date_calcul.getMonth()+1);
		date_saisie_1[2]=date_calcul.getFullYear();
		if (date_saisie_1[0]!=date_saisie[0] ||date_saisie_1[1]!=date_saisie[1]) {
			e.style.background="#ff0000";
			e.style.color="#ffffff";
			alert('La date est incorrecte.');
		}
		else {
			e.style.background="#ffffff";
			e.style.color="#000000";
		}
	}
}

function showQuestion(id) {
	closeQuestion();

	var e = document.getElementById(id);

	e.className = 'questionOpen';
	
	// on déplace l'élement si il dépasse à gauche
	var child = e.getElementsByTagName('div')[0];
	moveElementInBestPos(child);
}
function showSmallQuestion(id) {
	closeQuestion();

	var e = document.getElementById(id);

	e.className = 'smallQuestionOpen';

	// on déplace l'élement si il dépasse à gauche
	var child = e.getElementsByTagName('div')[0];
	moveElementInBestPos(child);
}

function showAddButton(id) {
	closeQuestion();
	
	var e = document.getElementById(id);
	
	e.className = 'addButtonOpen';

	// on déplace l'élement si il dépasse à gauche
	var child = e.getElementsByTagName('div')[0];
	moveElementInBestPos(child);
}

function closeQuestion() {
	var list=document.getElementsByTagName("div");
	
	for (var j = 0; j < list.length; j++) {
		if (list[j].className == 'questionOpen') {
			list[j].className = 'question';
		} else if (list[j].className == 'smallQuestionOpen') {
			list[j].className = 'smallQuestion';
		} else if (list[j].className == 'addButtonOpen') {
			list[j].className = 'addButton';
		}
	}
}

function moveElementInBestPos(obj) {

	// si le tableau dépasse à gauche, on le décale pour qu'il rentre dans la fenêtre
	pos = findPos(obj);
	if(pos.x <= 0) {
		obj.style.right = pos.x + 'px';
	}
}

// récupère la position d'un élément
function findPos(obj) {
	var curleft = obj.offsetLeft || 0;
	var curtop = obj.offsetTop || 0;
	while (obj = obj.offsetParent) {
		curleft += obj.offsetLeft
		curtop += obj.offsetTop
	}
	return {
		x : curleft,
		y : curtop
	};
}

/**
 * Cette fonction se charge de cacher ou d'afficher les lignes en fonctions du choix lors de l'ajout d'une armée
 * @return
 */
function formAjouterArmeeSelectWitchTypeArmee() {
	// on récupère la valeur du type choisit
	witchTypeValue = $('#witchTypeArmeeSelect').val();
	
	// on masque tout
	$('#armyTypeLine').hide();
	$('#armyJouerLine').hide();
	$('#armyBrouillonLine').hide();
	$('#armyNameLine').hide();
	$('#armyDescLine').hide();
	$('#raceListTable').hide();
	$('#newNbPointsSouhaitesLine').hide();
	

	if (witchTypeValue == "useDraft" && document.getElementById("armyBrouillonLine")) {
		$('#armyBrouillonLine').show();
	} else {
		$('#armyNameLine').show();
		$('#armyDescLine').show();
		if (witchTypeValue == "copyType" && document.getElementById("armyTypeLine")) {
			$('#armyTypeLine').show();
		} else {
			if (witchTypeValue == "copyJouer" && document.getElementById("armyJouerLine")) {
				$('#armyJouerLine').show();
			} else {
			$('#raceListTable').show();
	$('#newNbPointsSouhaitesLine').show();
			}
		}
	}
}

/*function closeOneQuestion(id) {
	var e = document.getElementById(id);
	e.className = 'question';
}*/


function getURLvar()
{
	// Fonction qui retourne un tableau associatif avec toutes les variables
	// Utilisée par getUrl()
	var url=location.href; // données de la barre d'adresse
	var urlVars=url.split("?"); // tableau contenant d'un coté l'url proprement dite, de l'autre les variables, s'il yen a (auquel cas, urlVars.length>0 : voir plus bas)
	var v=new Array(); //
	v["name"]=new Array();
	v["val"]=new Array();
	
	if (urlVars.length>1)
	{
		var vars=urlVars[1].split("&"); // séparation de toutes les variables
		
		for (var i=0; i<vars.length; i++)
		{
			v["name"][i]=vars[i].split("=")[0];
			v["val"][i]=vars[i].split("=")[1];
		//alert(v["name"][i] + "=" + v["val"][i]);
		}
	}
	return(v);
}

function getUrl(alpha)
{
	var v=getURLvar();
	var cRet;
	for (var i=0; i<v["name"].length; i++)
	{
		if (v["name"][i]==alpha)
		{
			cRet=v["val"][i];
		}
	}
	return cRet;
}

