/**
 * Wczytanie listy plikow
 *
 * @param object params - parametry w postaci obiektu 
 *		params.id - id dokumentu z powiązanymi plikami
 *		params.fileListLink - link do kontrolera który zwraca pliki w postaci json
 *		params.removeLink - prowadzacy do kontrolera usuwajacy plik
 *		params.removeText - jaki tekst wyświetlić w linku do usunięcia 
 *		params.target - ramka do której odpowiedzieć
 *		param.textNoFiles - tekst wyświetlany gdy dokument nie ma powiązanych plików
 *		param.textRemoveConfirm - tekst wyświetlany w celu potwierdzenia usunięcia pliku
 */
jQuery.fn.extend({
	updateFileList: function(params) {		
		if (!params.id) return;
		
		var sender = jQuery(this);			
		
		jQuery.getJSON(params.fileListLink, null, function(transport){

			sender.empty(); // czyszcze aktualna liste				
			// pobrano przynajmniej 1 plik

			if (jQuery(transport).size())
			{				
				jQuery(transport).each(function(index, obj)
				{
					var removeUrl = jQuery('<a>');
					removeUrl.attr('href', params.removeLink + '/id/' + obj.id);
					if (params.target) {
						removeUrl.attr('target', params.target);
					}					
					removeUrl.html(params.removeText);
					
					removeUrl.click(function(ev){
						return confirm(params.textRemoveConfirm.replace(/%s/, obj.name));
					});

					var li = jQuery('<li>').html(obj.name);						
					li.append(removeUrl);					
					sender.append(li);
				});	
			}
			else
			{
				var nofiles = jQuery('<li>').html(params.textNoFiles);
				sender.append(nofiles);	
			}
		});
	}	
});
