/**
 * Permet de compiler (appel XHR)
 */
function compilation(projet) {

	var url = '/servlet/com.kosmos.packaging.servlet.Servlet';
	var myAjax = new Ajax.Request(url, {
		method : 'get',
		asynchronous : true,
		parameters : {
			ACTION : 'compiler',
			ID : projet
		},
		onLoading : function(xhr) { // Après appel méthode open
			compilUpdate(1);
		},
		onComplete : function(xhr) { // Requête totalement terminée
			if (xhr.status == 200) {
				compilUpdate(2);
				eval(xhr.responseText);
			}
		}
	})
}
/**
 * Gestion de l'affichage pour le chargement et téléchargement
 * 
 * @param etape
 * @return
 */
function compilUpdate(etape) {
	var loader = document.getElementById("loading");
	//var telecharger = document.getElementById("telecharger");

	var durePackage = document.getElementById("infoTemps");
	/**
	 * Affichage du loader
	 */
	if (etape == 1) {
		loader.style.display = 'block';
		//telecharger.style.display = 'none';
		durePackage.style.display = 'block';
	} 
	
	/**
	 * Suppression du loader
	 */
	else if (etape == 2) {
		loader.style.display = 'none';
		durePackage.style.display = 'none';
	} 
}
/**
 * Ajoute un element à la liste de téléchargement
 * 
 * @param war
 * @return
 */
function updateCompilation(war) {
	var ul = document.getElementById("liste_war");
	var li = document.getElementById("war_" + war);

	if (ul && ! li)
	{
		var li = Builder.node('li', {
			id : "war_" + war
		}, '');
		var a = Builder
				.node(
						'a',
						{
							href : '/servlet/com.kosmos.packaging.servlet.TelechargerSupprimer?ACTION=telecharger&ID_WAR=' + war
						}, war);
		var img = Builder.node('img', {
			style : 'cursor:pointer',
			src : '/images/supprimer.png',
			onclick : "deleteItem('" + war + "')"
		});
		li.appendChild(a);
		li.appendChild(img);
		ul.appendChild(li);
	}
}

/**
 * Gestion des messages d'erreur.
 * 
 * @return
 */
function erreur(erreur) {

	if (erreur == "compilation") {
		alert("Une erreur est survenue. \nLa compilation n'a pas réussi.");
	}
	else if (erreur == "noFile") {
		alert("L'archive n'a pas été récupérée à partir du serveur de packaging.\n" +
				"Nous vous invitons à contacter un administrateur pour qu'il puisse analyser le problème." );
	}
	else if (erreur == "suppression") {
		alert("Impossible de supprimer le fichier.");
	}
	else if(erreur == "packageEnCours"){
		alert("Un package est déjà en cours d'éxécutuion.");
	}
}

function rafraichirPackaging(projet){
	var url = '/servlet/com.kosmos.packaging.servlet.Servlet';

	var myAjax = new Ajax.Request(url, {
		method : 'get',
		asynchronous : true,
		parameters : {
			ACTION : 'rafraichir',
			ID : projet

		},
		onComplete : function(xhr) { // Requête totalement terminée
			if (xhr.status == 200) {
				eval(xhr.responseText);
			}
			setTimeout("rafraichirPackaging('"+projet+"')",5000);
		}
	})
}

function packageEnCours(isLock, war){
	
	var loader = document.getElementById("loading");
	var tempsTelechargement = document.getElementById("infoTemps");
	if(isLock){
		loader.style.display = 'block';
		tempsTelechargement.style.display = 'block';
	} else {
		loader.style.display = 'none';
		tempsTelechargement.style.display = 'none';
		updateCompilation(war);
	}
}