function initialize_uploadify() {
	$("#uploadify_container").uploadify({
		'uploader'  : '/flash/uploadify/uploadify.swf',
		'script'    : 'http://slice6.legodata.com/api/ajout_fichier',
		'cancelImg' : 'cancel.png',
		'auto'      : true,
		'buttonText' : "Upload",
		'multi'      : true,
		'onSelect' : function (evt) {
			$('#uploadify_container').uploadifySettings(
				'scriptData', 
				{	'site_id': $('#currentSite').val(),
					'application_name' : 'legodata-widget-media',
					'folder_id' : $('#currentFolder').val()
			});
	  },
		'onOpen' : function (evt, queueID, fileObj) {
			$("#upload_spinner").show();
		},
		'onComplete' : function (evt, queueID, fileObj, response, data) {
			
			$.noticeAdd({'text': "Upload terminées."});
			
			$("#upload_spinner").hide();
			
			media = JSON.parse(response)
			
			var new_media = "<div id='media_" + media["picture"]["id"] + "' class='folder_content_file'>";
			new_media += "<input type='checkbox' value='" + media["picture"]["id"] + "' name='selected_media'/>";
			new_media += fileObj.name + "<br/>";
			new_media += "<img src='http://slice6.legodata.com/" + media["picture"]["relative_path"] + "'/><br/>";
			new_media += "<a href='#' class='delete_lfm_media'>supprimer</a></div>";
			
			$("#files").append(new_media);
	  }
	});
}

function add_lfm_files_to_folder(){
	
	var tagsArray = new Array();
	
	$("#files input:checked").each(function(id) {
		message = $("#files input:checked").get(id);
		tagsArray.push(message.value);
	});
				
	if (tagsArray.length > 0) {
		$.post(	"/legodata-widget-media/main/add_lfm_files",
						{	'lfm_file_id[]':tagsArray,
							'curent_folder_id':$('#currentFolder').val()},
						function(data){
							// Once new files are added
							// update the media_list
							$.noticeAdd({'text': "Fichiers ajoutés, rafraichissement en cours."});
							tb_remove();
							window.location.reload();
						});
		
	}
}

function send_to_editor(){
	var image_url = $("input[name=selected_media]:checked").siblings("img").get(0).src;
	window.opener.CKEDITOR.tools.callFunction(1, image_url);
	window.close();
}

$(document).ready(function() {

	$('#file_browser').fileTree({	
		root: 					'/',
		script: 				'/legodata-widget-media/main/get_folder_tree',
		expandSpeed: 		1000,
		collapseSpeed: 	1000,
		multiFolder: 		true
	}, function(file) {
		if(file > 0) {
			$('#currentFolder').val(file);
			$('#files').load("/legodata-widget-media/main/get_folder_content/" + file, {radio_selector: true});
			
			// Display uploadify button if no alreayd shown
			if($("#uploadify_containerUploader").length == 0) {
				$("#ajout_files").show();
				initialize_uploadify();
			}
		}
	});

	// Click on "creer dossier" element to display a inline form
	// and add the name of the folder to create
	$('a.add_directory').livequery('click',function(event) {
		
		var inline_form = "<form class='add_directory'>";
		inline_form += "<input type='text' id='folder_name' name='folder[name]' value='nom du dossier'>";
		inline_form += "<input type='submit' value='creer'/>";
		inline_form += "</form>";
		
		$(this).parent().html(inline_form);
	});
	
	// When submitting the inline form with the folder to create
	// send the result to server and create folder
	$('form.add_directory').livequery('submit',function(event) {
		var li_element = $(this).parent();
		
		// Get parent folder id by getting parent ul element id
		var parent_folder = li_element.parents('ul').get(0).id.split("_").pop();
		
		// Post folder info and replace element in tree
		var folder_name = $(this).children('input[type=text]').val();
		
		if(folder_name.length > 0){
			$.post(	'/legodata-widget-media/file-manager-proxy/',
			 		{	'api_action' : 'add_folder',
						'nom_dossier' : folder_name,
						'parent_id': parent_folder,
						'site_id': $('#currentSite').val()}, 
					function ( new_folder_id ) { 
						li_element.removeClass();
						li_element.addClass("directory collapsed");
						li_element.html("<a href='#' rel='" + new_folder_id + "'>" + folder_name + "</a><ul class='jqueryFileTree'><li class='add_directory'><a class='add_directory' href='#'>ajouter dossier</a></li></ul></li>");
						
						li_element.parent("ul").siblings("a").trigger('click');
						li_element.parent('ul').append("<li class='add_directory'><a href='#' class='add_directory'>ajouter dossier</a></li>");
						li_element.parent("ul").siblings("a").trigger('click');
					}
			);
		}
		
		// Do not refresh page on submit
		return false;
	});
	
	$("a#add_to_ckeditor").click(function() {

	})
});
