/** Generated by js.php */
var Folder = {};

Folder.FOLDER_NAVIGATOR_ID = 'folderNavigatorId';

Folder.NB_COLUMNS = 3;

Folder.isAdmin = false;

Folder.navigatorTemplate = new Template("<hr>#{FOLDER_INFO}<div id='"+Folder.FOLDER_NAVIGATOR_ID+"' folderId='#{PARENT_ID}'>"+
										"</div>"+
										"<div style='clear:both;'></div><hr>");
										
Folder.navigatorElementTemplate = new Template(	"<div id='folderNavigatorElementId_#{FOLDER_ID}' class='navigatorElement' folderId='#{FOLDER_ID}'>"+
													"<img align='bottom' src='/img/icons/crystal/16x16/actions/folder.gif' class='navigatorImg'/>&nbsp;"+
													"<a id='folderNavigatorElementLink_#{FOLDER_ID}' folderId='#{FOLDER_ID}' class='navigatorElementLink'>#{FOLDER_NAME}</a>"+
												"</div>");
												
Folder.toolbar = new ToolbarEx('folderToolbarId',
									[
										{
											image: '/img/icons/crystal/16x16/actions/folder.gif',
											events : {'click': function(event){openFolder(Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId'));}},
											helpText : _mlt('OPEN_FOLDER','Ouvrir ce dossier')
										},
										{
											image: '/img/icons/crystal/16x16/actions/folder_edit.png',
											events : {'click':function(event) {dialog('editFolder',{size:'300,150',source:'/folders/edit/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}},
											helpText : _mlt('EDIT_FOLDER','Modifier ce dossier')
										},{
											image: '/img/icons/crystal/16x16/actions/folder_delete.png',
											events : {'click':function(event){dialog('deleteFolder',{size:'300,150',source:'/folders/confirmDelete/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}},
											helpText : _mlt('DELETE_FOLDER','Supprimer ce dossier')
										},
										{
											image: '/img/icons/crystal/16x16/actions/folder_move.png',
											events : {'click':function(event){dialog('moveFolder',{size:'450,200',source:'/folders/move/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}},
											helpText : _mlt('MOVE_FOLDER','Déplacer ce dossier')
										} ,
										{
											image: '/img/icons/crystal/16x16/actions/folder_add_favorite.png',
											events : {'click':function(event){dialog('addBookmark',{size:'330,480',source:'/bookmarks/create_form/'+Folder.getCallerToolbarElement(Event.element(event)).getAttribute('folderId')}).display();}},
											helpText : _mlt('ADD_BOOKMARK_TO_FOLDER','Ajouter un favori à ce dossier')
										}
									]
								);
											
												
generateFolderNavigator = function(xhr, json) {
	try {
		if (!json) json = eval('('+xhr.responseText+')');
		clearNavigator();
		
		Folder.isAdmin = json.infos.folders.isAdmin;
		
		var navigator = {};
		if ((json.folders) && (json.folders.errors)) {
			navigator = {FOLDER_INFO:json.folders.errors,PARENT_ID:json.infos.folders['folder_id']};
			new Insertion.Bottom($('navigator'), Folder.navigatorTemplate.evaluate(navigator));
		}
		else {
			navigator = {PARENT_ID:json.infos.folders['folder_id']};
			new Insertion.Bottom($('navigator'), Folder.navigatorTemplate.evaluate(navigator));
			json.folders.each(generateFolderNavigatorElement);
		}
	} catch (e) {
		if (console) console.error(e);
	} 

}

generateFolderNavigatorElement = function(folder,i) {
	var navigatorElement = {FOLDER_ID:folder['folder_id'],FOLDER_NAME:folder['name']};
	new Insertion.Bottom($(Folder.FOLDER_NAVIGATOR_ID), Folder.navigatorElementTemplate.evaluate(navigatorElement));
	var element = $('folderNavigatorElementId_'+folder['folder_id']);
	if (i % Folder.NB_COLUMNS == 0) element.setStyle({clear:'both'});
	if (Folder.isAdmin) {
		Event.observe(element,"click",function() {Folder.toolbar.displayIn(element);});
	} else {
		Event.observe(element,"click",function() {openFolder(folder['folder_id']);});
	}
}

getFolders = function(folderId) {
	var userIdUrl = '';
	
	if (Bookmark.USER_ID) userIdUrl = Bookmark.USER_ID;
	
	new Ajax.Request('/folders/get/'+folderId+'/'+userIdUrl,{onComplete: function(xhr,json) {
	
		if (!json) json = eval('('+xhr.responseText+')');
		var infoPathCompleteArray = '';
		if ((json.infos.folders) && (json.infos.folders.infoPath)) {
			infoPathCompleteArray = json.infos.folders.infoPath;
		}

		PathInfo.generatePath(infoPathCompleteArray,'openFolder',true);
		generateFolderNavigator(xhr,json);
	}});
}

//-- lien pour ajouter un favori --//
addFolderInMyBookmarks = function(){
	dialog('addFolder',{
		source:'/folders/add/'+$(Folder.FOLDER_NAVIGATOR_ID).getAttribute('folderId'),
		size:'300,160'}).display();
}

Folder.getCallerToolbarElement = function(el) {
	var retour = null
	if (el.tagName != 'DIV') {
		retour = el.up('DIV',2); 
	} else {
		retour = el.up('DIV',1);
	}
	return retour;
}

deleteFolder= function(id,parentId)
{
	new Ajax.Request('/folders/delete/'+id, {onComplete:function(){
		getFolders(parentId);
	}})
}

moveFolder = function(folder_id,parent_id,last_parent_id)
{
	if ( (parent_id != last_parent_id)  && ( folder_id != parent_id ) )
	{
		new Ajax.Request('/folders/move/'+folder_id+'/'+parent_id)
	}
}

