/******************************************
 *General
 ******************************************/
function openBrowser(typeselection, dossier, pathtogo)
{
	var en_cours = $('browser_encours');
	var bloc = $('bloc_browser');
	var attente = $('message_attente');
	if(bloc.value == '1')
		return;
	en_cours.value = '1';
	var post_browsertask = getInfoBrowserTask();
	new Effect.Appear(attente, {queue:'front'});
	$('browser_encours').scrollTo();
	new Ajax.Request(urlaff, {
		asynchronous: 'true', 
		postBody: 'tpl=browser/browser&browser_action=init_display&requested_basepath='+dossier+'&browser_type_selection='+typeselection+'&path_togo='+pathtogo+"&browsertask="+post_browsertask,
		onSuccess: function(zhr)
		{
			new Effect.BlindUp(bloc, {queue:'end', afterFinish: function(){bloc.innerHTML = zhr.responseText;}});
			new Effect.BlindDown(bloc, {queue:'end'});
			new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; var table = $('table_fichier'); sorttable.makeSortable(table); Behaviour.apply();}});
		}
	});
}

function formRecord(idbtn)
{
	var tabID = idbtn.split("_");
	var elemtype = "";
	var attente = "";
	var elemid = "";
	var conteneur = "";
	var elem_sup = "";
	var closeform = false;
	var langid=1;

	if(tabID.length > 1)
	{
		//recuperation du type de l'élément
		if($('type_element_'+tabID[1]))
			elemtype = $('type_element_'+tabID[1]).value;
		//recuperation du message d'attente
		attente = 'attenterecord_'+tabID[1];
		//recuperation de l'id de l'élément
		if($('id_element_'+tabID[1]))
			elemid = $('id_element_'+tabID[1]).value;
		//recuperation du conteneur
		if($('conteneur_'+tabID[1]))
			conteneur = 'conteneur_'+tabID[1];
		//recuperation de la fermeture du conteneur
		if($('closeform_'+tabID[1]))
		{
			closeform = $('closeform_'+tabID[1]).value;
		}
		var callBack = "";
		if($("callback_"+elemtype+"_record"))
		{
			callBack = $("callback_"+elemtype+"_record").value;
		}
	}
	FORM_record(elemtype,elemid,conteneur,callBack, attente,closeform);
}

function formAffiche(idbout)
{
	var action = FORM_getElemactionbtn(idbout);
	var elemtype = FORM_getElemtypebtn(idbout);
	var elemid = FORM_getElemidbtn(idbout) || "";
	var paramsup="";
	if(elemid == "" && action != "add")
	{

		if($('id'+elemtype) && $('id'+elemtype).tagName=="SELECT")	//test des cas liste
		{
			elemid = $('id'+elemtype).options[$('id'+elemtype).selectedIndex].value;
		}
		else if($('id'+elemtype))									//test des zones  simples
		{
			elemid = $('id'+elemtype).value;
		}
		else if($('id_element_'+elemtype))							//Sinon l'id de l'elemnt en cours
		{
			elemid = $('id_element_'+elemtype).value;
		}
	}
	if($('action_'+elemtype))
		$('action_'+elemtype).value=action;
	var idsup = FORM_getElemtypesupbtn(idbout);
	
	FORM_display(elemtype,elemid,idsup,action,paramsup);
}

function formDelete(idbtn)
{
	var tabID = idbtn.split("_");
	var elemtype = "";
	var attente = "";
	var elemid = "";
	var conteneur = "";
	var elem_sup = "";
	var langid = "";
	var redirect = "";

	//Recuperation du type d'élément
	elemtype = $('type_element_'+tabID[1]).value;
	attente = 'attenterecord_'+tabID[1];
	//Recuperation de l'id a supprimer (dans le bouton ou dans la balise id)
	elemid = $('id_element_'+tabID[1]).value;
	//Recuperation du conteneur
	if($('conteneur_'+tabID[1]))
		conteneur = 'conteneur_'+tabID[1];
		
	FORM_delete(elemtype,elemid,conteneur,attente);
}

function filelisteAffiche(btnid)
{
	var tabBtnId = btnid.split("_");
	var type = tabBtnId[1]  || "";
	var path="";
	var mediatype="";
	var selecttype="";
	var attente = "";
	var conteneur = "";
	var url = 'admin/commun/filelist&filelisttype='+type;
	if($('filelistpath_'+type))
	{
		path = $('filelistpath_'+type).value;
		url+= "&path=" + path;
	}
	if($('filelistmediatype_'+type))
	{
		mediatype = $('filelistmediatype_'+type).value;
		url+= "&filetype=" + mediatype;
	}
	if($('filelistselecttype_'+type))
	{
		selecttype = $('filelistselecttype_'+type).value;
		url+= "&selecttype=" + selecttype;
	}

	if($('attentefilelist_'+type))
		attente = 'attentefilelist_'+type;
		
	if($('conteneur_filelist_'+type))
		conteneur = $('conteneur_filelist_'+type);
	
	RICHTEXT_unload("wysiwyg", conteneur.id);
	
	if($(attente))
	{
		new Effect.Appear($(attente), {queue:'front'});
	}

	new Ajax.Request(urlaff, {
		asynchronous: 'true', 
		postBody: 'tpl='+url,
		onSuccess: function(zhr)
		{
			conteneur.style.display="none";
			conteneur.innerHTML = zhr.responseText;
			new Effect.SlideDown(conteneur, { duration: 0.5 , afterFinish:function(){alreadyclicked=false;Behaviour.apply();}});
			if($(attente))
			{
				new Effect.Fade($(attente), {queue:'end'});
			}
		},
		onComplete: function(zhr)
		{
			RICHTEXT_load("wysiwyg",false, conteneur.id);
		}
	});	
}

/**************************************************
 * Gestion galerie
 **************************************************/
function GALERIE_createSortable(type)
{
	if($('trie_'+type))
		var domobj = $('trie_'+type);
	else
		return;
	Sortable.create(domobj, 
	{
		constraint:false, 
		onUpdate : function(ordreelement) {
			items = $$("#"+domobj.id+" li");
		}
	});
}

function GALERIE_recordorder()
{
	var attente = "attenterecord_galerieitem";
	var dispmsg = $('msg');
	var chPost="";

	//Affichage du message d'attente
	new Effect.Appear($(attente), {queue:'front'});
	
	//Construction de la chaine des posts
	lis = $$('.item_bien');
	for(var i=0 ; i<lis.length ; i++)
	{
		var id =lis[i].id.replace("item_","");
		chPost += "&item"+i+"=" + id;
	}
	
	new Ajax.Request(urltask, {
		asynchronous: 'true',
		postBody: 'tache=admin/enregistre/galerieorder_enreg'+chPost,
		onSuccess: function(xhr)
		{
			var result = treatTaskMsg(xhr.responseText);
			var msg_res = '';
			if(result == true)
			{//Traitement ok
				if(dispmsg)
				{
					dispmsg.style.display = 'none';
				}
				
				//Traitement du message de retour
				var response = xhr.responseText.substr(13);
				
				//Affichage du message de reussite
				if(dispmsg && response)
				{
					dispmsg.innerHTML = response;
					myEffect_FlashInfo(dispmsg,2);
				}
			}
			else if(result == false)
			{
				//Affichage du message d'erreur
				if(dispmsg)
				{
					dispmsg.innerHTML = xhr.responseText.substr(11);
					myEffect_FlashInfo(dispmsg,2);
				}
			}
			new Effect.Fade($(attente), {queue:'end', afterFinish: function(){Behaviour.apply();}});
		}
	});

}

function GALERIE_rafraichirGalerie(idelem)
{
	var type = "bien";
	var conteneur = $("conteneur_galerie");
	var idelem = $("id_element_bien").value
	var url = 'admin/form/galerie&idelement='+idelem;
	
	new Ajax.Request(urlaff, {
		asynchronous: 'true', 
		postBody: 'tpl='+url,
		onSuccess: function(zhr)
		{
			conteneur.style.display="none";
			conteneur.innerHTML = zhr.responseText;
			new Effect.SlideDown(conteneur, { duration: 0.5 , afterFinish:function(){Behaviour.apply();}});
		}
	});	
}

function GALERIE_recordGalerieItem(idgalerie,image)
{
	var attente = "attenterecord_galerieitem";
	var dispmsg = $('msg');
	var idelem = $('id_element_bien').value;
	var chPost="";

	//Affichage du message d'attente
	new Effect.Appear($(attente), {queue:'front'});
	
	//Construction de la chaine des posts
	chPost = "&idgalerie=" + idgalerie + "&image=" + image;
	new Ajax.Request(urltask, {
		asynchronous: 'true',
		postBody: 'tache=admin/enregistre/galerieitem_enreg'+chPost,
		onSuccess: function(xhr)
		{
			var result = treatTaskMsg(xhr.responseText);
			var msg_res = '';
			if(result == true)
			{//Traitement ok
				if(dispmsg)
				{
					dispmsg.style.display = 'none';
				}
				
				//Traitement du message de retour
				var response = xhr.responseText.substr(13);
				
				//Affichage du message de reussite
				if(dispmsg && response)
				{
					dispmsg.innerHTML = response;
					myEffect_FlashInfo(dispmsg,2);
				}
				
				//Rafraichissement de la galerie
				GALERIE_rafraichirGalerie(idelem);
			}
			else if(result == false)
			{
				//Affichage du message d'erreur
				if(dispmsg)
				{
					dispmsg.innerHTML = xhr.responseText.substr(11);
					myEffect_FlashInfo(dispmsg,2);
				}
			}
			new Effect.Fade($(attente), {queue:'end', afterFinish: function(){Behaviour.apply();}});
		}
	});
}

/**************************************************
 * Call Back
 **************************************************/
 
function callback_bien(idelem,idtoupdate)
{
	GALERIE_rafraichirGalerie();
}

function callbackBrowser_galeriebien(image,path)
{
	var idgalerie = $('idgalerie').value;
	GALERIE_recordGalerieItem(idgalerie,path+image);
}

function callbackBrowser_pageimage(image,path)
{
	$('formimage').value= path + image;
}

