/********************************************************************
 * Dynamisation AjArticleAdmin
 ********************************************************************/

$(document).ready(function() {
	hideEditor();
});

function getNumPage() {
	var sep = $("#numPagePartie").val().indexOf("_");
	
	return $("#numPagePartie").val().substring(0, sep);
}

function getNumPartie() {
	var sep = $("#numPagePartie").val().indexOf("_");
	
	return $("#numPagePartie").val().substring(sep + 1);
} 

function showEditor(append, ready) {
	if(append) {
		if($("#numArticle").val() == "") {
			$("#new_editor").append($("#xhtmleditor"));
			$("#titreArticle").val("");
			$("#envoi").val("Ajouter");
			//supprime l'ancien contenu
			$("#docs").empty();
			$("#joindocs").val("");
		}
		
		if(!$("#article_contrib_editor")[0].hasChildNodes()) {
			$("#article_contrib_editor").append($("#contrib_editor"));
			$("#contrib_editor").show();
		}
	}

	if($("#editFrame")[0].contentWindow.document.getElementById("contentPane") == null) {
		setTimeout(function() { showEditor(false, ready); },20);
		return;
	}
	
	$("#xhtmleditor").show();
	$("#action_newarticle").hide();
	setFrameEditable("editFrame", ready);
}

function hideEditor() {
	$("#xhtmleditor").hide();
	$("#action_newarticle").show();
	
	if($("#numArticle").val() != "") {
		$("#Article_" + $("#numArticle").val()).show();
		$("#numArticle").val("");
	}
}

/**
 * Edition d'un article
 *
 * @param numArticle - Le numero de l'article � editer
 */
function editArticle(numArticle, append) {
	if(append) {
		$("#Article_" + numArticle).parent().append($("#xhtmleditor"));
		if(!$("#article_contrib_editor").children().length > 0) {
			$("#article_contrib_editor").append($("#contrib_editor"));
			$("#contrib_editor").show();
		}
	}
	
	if($("#numArticle").val() != "") {
		$("#Article_" + $("#numArticle").val()).show();
	}
	$("#numArticle").val(numArticle);
	
	//regarde si le document de l'iframe est charg� et attend 20ms avant de retester si n�gatif
	if($("#editFrame")[0].contentWindow.document.getElementById("contentPane") == null) {
		setTimeout('editArticle(' + numArticle + ', false)',20);
		return;
	}
	showEditor(false, function() {
		if($("#numArticle").val() != "") {
			$("#Article_" + $("#numArticle").val()).show();
		}
		
		$("#titreArticle").val($("#titre_" + numArticle).html());
		if($("#commentairesEnable_" + numArticle).val() == 1)
			$("#enablecommentaires").check();
		else
			$("#enablecommentaires").uncheck();
		$("#editFrame")[0].contentWindow.document.body.innerHTML = $("#contentArticle_" + numArticle).html();
		
		$("#Article_" + numArticle).hide();
		
		//supprime l'ancien contenu
		$("#docs").empty();
		//et ajoute le nouveau
		var ul = document.createElement("ul");
		
		for(var i = 0; i < $("#nbressources_" + numArticle).val(); i++) {
			var li = $("#ressource_" + numArticle + "_" + i).clone();
			
			//ajout du liens de suppression
			var a = document.createElement("a");
			$(a).attr("href", "#");
			$(a).click(function() {
				delResArticle(this, $("#ressource_" + numArticle + "_" + i).children()[0].html())
			});
			
			//Ajout de l'image de suppression
			var img = document.createElement("img");
			$(img).attr("src", "images/AjAdmin/b_drop.png");
			$(img).attr("alt", "supprimer");
			$(img).attr("title", "Supprimer");
			$(a).append(img);
			
			$(li).append($(a));
			$(ul).append($(li));
		}
		
		$("#docs").append($(ul));
		$("#joindocs").val("");
		$("#envoi").val("Modifier");
	});
}

/**
 * renvoi les modification de l'actualite au serveur
 */
function saveArticle() {
	var xmlhttp;
	var data;
	var article;
	
	if($("#editFrame").is(':hidden'))
		article = $("#AjEdition_txt").val();
	else
		article = $("#editFrame")[0].contentWindow.document.body.innerHTML;
	//return;
	
	data = "TitreArticle=" + encodeURIComponent($("#titreArticle").val())
		+ "&Article=" + encodeURIComponent(article)
		+ "&numArticle=" + $("#numArticle").val()
		+ "&numPage=" + getNumPage()
		+ "&numPartie=" + getNumPartie()
		+ "&enablecommentaires=" + (($("#enablecommentaires")[0].checked) ? "1" : "0")
		+ "&fichiers=" + $("#joindocs").val()
		+ "&action=" + (( $("#numArticle").val() != "")?"update":"insert");
	
	post("ajax/post_AjArticlesAdmin.php", data, function(xmlhttp) {
		if(xmlhttp.responseText.substring(0,2) == "OK") {
			alert(xmlhttp.responseText);
			window.location.reload();
		}
	});
}

/**
 * Supprime une actualite
 * 
 * @param numActu - l'actualite ? supprimer
 */
function deleteArticle(numArticle) {
	var xmlhttp;
	var data;
	
	if(confirm('Etes vous sur de vouloir supprimer ?')) {
		data = "numArticle=" + numArticle
			+ "&numPage=" + getNumPage()
			+ "&numPartie=" + getNumPartie()
			+ "&action=delete";

		post("ajax/post_AjArticlesAdmin.php", data, function(xmlhttp) {	
			if(xmlhttp.responseText.substring(0,2) == "OK") {
				$("#Article_" + numArticle).parent().remove();
				//nextListArticle(getNumPage(), getNumPartie(), $("#indexPageArticle").val());
			}
		});
	}
}

/**
 * Supprime une ressource d'un article
 *
 * @param node - Le Noeud xml dans lequelle la reference ? la ressource est affich?
 * @param ressources - le Nom de la ressource ? supprimer
 */
function delResArticle(node, ressources) {
	$("#joindocs").val($("#joindocs").val() + "%2D" + ressources + ",");
	$(node).parent().parent().remove($(node).parent());
}

/**
 * Ajoute une ligne d'insertion de document
 */
function addDocuments() {
	var inputTag;

	$("#doclist").append(document.createElement("br"));
	inputTag = document.createElement("input");
	$(inputTag).attr("name", "documents[]");
	$(inputTag).attr("type", "file");
	$("#doclist").append($(inputTag));
	$("#ligne").val(new Number($("#ligne").val()) + 1);
}

/**
 * Ajoute une ligne d'insertion de document
 */
function remDocuments() {
	if($("#ligne").val() > 1) {
		//supprime le input
		$("#doclist").remove($("#doclist")[0].lastChild);
		//supprime le br
		$("#doclist").remove($("#doclist")[0].lastChild);
		$("#ligne").val($("#ligne").val() - 1);
	}
}
