// Actions PHP
var actionDocuments = 'main.php?action=ajx_documents'; 
var idListeContexte = '';
var divDocumentsListeRoot = 'idListeDocuments';
var divDocumentsAttenteRoot = 'idAttenteDocuments';
var divDocumentsListe;
var divDocumentsAttente;
var formDocumentsListe;
var formDocumentDetail;
// true si on a déjà initialisé les documents
var documentsLoaded = false;

//Initialisation des div courantes (pour différencier les documents de l'entité et ceux de ses pièces dans le contexte entité)
function initDocumentsDiv(idListe) {
	idListeContexte = idListe;
	divDocumentsListe = divDocumentsListeRoot + idListe;
	divDocumentsAttente = divDocumentsListeRoot + idListe;
	formDocumentsListe = 'formListeDocuments' + idListe;
	formDocumentDetail = 'formDetailDocument' + idListe;
}

// Initialisation d'une liste de documents 
function initDocumentListe(idListe, actgId, entId, artId, pieId, fabId, pubId, entIdEsat, readonly) {
	// Initialisation de la liste
	initDocumentsDiv(idListe);
	$(divDocumentsListe).innerHTML = getAjaxWait();
	
	var params = 'actg_id=' + actgId;
		params += "&ent_id=" + entId;
		params += "&ent_id_esat=" + entIdEsat;
		params += "&art_id=" + artId;
		params += "&pie_id=" + pieId;
		params += "&fab_id=" + fabId;
		params += "&pub_id=" + pubId;
		params += "&idListe=" + idListe;
		params += "&readonly=" + readonly;

	AJAXRequest(actionDocuments, params, documentListeReturn);
	
	documentsLoaded = true;
}

// Appel d'une liste de documents (recherche, tri, pagination)
/*function getDocumentListe(thisForm) {
	$(divDocumentsListe).innerHTML = getAjaxWait();
	
	if (isValidForm(thisForm)) {
		var params = getAjaxFormParams(thisForm);

		AJAXRequest(actionDocuments, params, documentListeReturn);
	}
}*/

// Retour d'une liste de documents
function documentListeReturn(xhr) {
	var html = getXhrValueHTML(xhr);
	if (html != undefined && html != '' && html.indexOf('Fatal error') < 0) {
		// Parsing de la réponse Ajax
		ajaxResult = parseAjaxScript(html);
		
		// Code HTML
		$(divDocumentsListe).innerHTML = ajaxResult[0];

		// Exécution du code javascript
		executeJS(ajaxResult[1]);
		
		// Mise à jour des form et des liens
		//initHistory();

		$(divDocumentsAttente).style.display = 'none';
		$(divDocumentsListe).style.display = '';
	}
}

// Suppression d'un document 
function delDocumentConfirm(idListe, docId) {
	initDocumentsDiv(idListe);

	confirmFormAjax(formDocumentsListe, 'doc_id', docId, 'delDocument()');
}
function delDocument() {
	var thisForm; 
	thisForm = eval('document.' + formDocumentsListe);
	var params = getAjaxFormParams(thisForm);
	
	$(divDocumentsAttente).innerHTML = getAjaxWait();
	$(divDocumentsListe).style.display = 'none';
	$(divDocumentsAttente).style.display = '';

	// Appel de la fonction de suppression en Ajax
	AJAXRequest(actionDocuments + '&saction=del', params, documentListeReturn);
}


// Edition d'un document
function editDocument(idListe, docId) {
	initDocumentsDiv(idListe);

	var thisForm = eval('document.' + formDocumentsListe);
	resetDocument();
	thisForm.doc_id.value = docId;
	var params = getAjaxFormParams(thisForm);

	$(divDocumentsAttente).innerHTML = getAjaxWait();
	$(divDocumentsListe).style.display = 'none';
	$(divDocumentsAttente).style.display = '';

	AJAXRequest(actionDocuments + '&saction=edit', params, documentListeReturn);
}

// Sauvegarde d'un document
var _proceedSave = false;
var _doSaveDocument = false;
function beforeSubmitDocument(thisForm) {
	//alert('beforeSubmitDocument _proceedSave : ' + _proceedSave);
	//if (_proceedSave) {
//		alert('beforeSubmitDocument : ' + thisForm.name);
		if (isValidForm(thisForm)) {
			_doSaveDocument = true;
		} else {
			_doSaveDocument = false;
		}
		//alert(_doSaveDocument);
		return _doSaveDocument;
	/*} else {
		return false;
	}*/
}
function saveDocument(iframe) {
	//alert('saveDocument');
	if ($(iframe).contentWindow.document.body.innerHTML.indexOf('uploadTmpFileKO') >= 0) {
		// Erreur upload
		//alert('erreur upload');
		var html = $(iframe).contentWindow.document.body.innerHTML;
		var errorMessage = html.substring(html.indexOf('#')+1, html.indexOf('#', html.indexOf('#')+1));  
		showAlertErr('', errorMessage);
	} else {
		// Sauvegarde
		var thisForm = eval('document.' + formDocumentDetail);
		if (_doSaveDocument) {
			resetDocument();
		
			var params = getAjaxFormParams(thisForm);
			
//			alert(params);
			$(divDocumentsAttente).innerHTML = getAjaxWait();
			$(divDocumentsListe).style.display = 'none';
			$(divDocumentsAttente).style.display = '';
			
			AJAXRequest(actionDocuments + '&saction=set', params, documentListeReturn);
		}
	}
}

// Réinitialisation du détail d'un document
function resetDocument() {
	remRequiredTextBox('doct_titre_' +  + idListeContexte);
	remRequiredFileUpload('doc_fichier_' + idListeContexte);
}

