docs: function getBucket(path, name, parent){
  
  		// Does it already exist?
  		var id = prefix + path.replace(/\W/g,''),
  			tab = doc.getElementById(id),
  			label = doc.getElementById("label"+id);
  
  		// Network
  		var network = path.replace(/\:.*/, '');
  
  		// Set current path
  		if(!label&&name){
  			label = doc.createElement('a');
  			label.innerHTML = name;
  			label.id = "label"+id;
  			if(parent){
  				label.setAttribute('data-parent', parent);
  			}
  			label.onclick = function(){
  				getBucket(path, name, parent);
  			};
  			path_el.appendChild(label);
  		}
  
  
  		if(!tab){
  
  			// create a new tab
  			tab = doc.createElement('ul');
  			tab.id = id;
  			tab.innerHTML = "<span class='"+prefix+"loading' data-message='Waiting for signin'><span></span></span>";
  			body_el.appendChild(tab);
  
  			// Remove loading
  			var span = tab.getElementsByTagName('span')[0];
  
  			// Login
  			hello.login(network, function(auth){
  
  				if(!auth||auth.error){
  					span.setAttribute('data-message', "Signin failed, try again");
  					span.setAttribute('data-animate', false);
  					span.onclick = function(){
  						tab.parentNode.removeChild(tab);
  						getBucket(path, name, parent);
  					};
  					return;
  				}
  
  				span.setAttribute('data-message', "Loading files");
  
  				// API
  				hello.api(path, function(r){
  					span.parentNode.removeChild(span);
  
  					// Add files to the tab
  					for(var i=0;i<r.data.length;i++){
  						ref.push( new fileRef(r.data[i], network, tab) );
  					}
  				});
  			});
  
  		}
  
  
  		// Hide the others
  		// LISTS
  		var a = body_el.children;
  		for(var i=0;i<a.length;i++){
  			a[i].style.display = "none";
  		}
  
  		// LABELS
  		a = path_el.getElementsByTagName('a');
  		for(i=a.length-1;i>=0;--i){
  			if(parent&&a[i].id === "label"+parent){
  				//parent = a[i].getAttribute('data-parent');
  				a[i].style.display = "inline-block";
  			}
  			else if(a[i].id === "label"+id){
  				a[i].style.display = "inline-block";
  			}
  			else{
  				a[i].style.display = "none";
  			}
  		}
  
  
  		// Update global
  		current_folder = path;
  
  		current_bucket = tab;
  
  		current_network = network;
  
  		// show this
  		tab.style.display = 'block';
  
  		// Update the upload btn
  		upload_btn.innerHTML = name?"Upload to " + name.replace(/^[a-z]/,function(r){return r.toUpperCase();}):'Upload';
  	}