if (!repositoryFrontend){
	var viewport = new Ext.Viewport({
		waitMsg: jsModule.loading,
		layout:"fit"
	});
}
function Actions(token) {
	var tokenObj = getToken(token);
	
	if (!tokenObj){
		Ext.History.add(TD+Tokens.folder+TD+'All files');
		return;
	}
	
	if (grid.rendered) {
		grid.hide();
	}
	Ext.getCmp('search_field').setValue('');
	
	
	
	myPageSize = tokenObj.pagesize;
	var start = tokenObj.start;
	var sortField = tokenObj.sortField;
	var sortDir = tokenObj.sortDir;
	var item_id = tokenObj.itemId;
	var action = tokenObj.action;
	
	Ext.getCmp('pagtool').plugins[0].setValue(myPageSize);
	Ext.getCmp('pagtool').pageSize = myPageSize;
//	Ext.getCmp('pagtool').doLoad(start);
	
	sortCombo.setValue(sortField);
	sortCombo.collapse();
	
	currentParentId = item_id;
	
	// destroy edit panel
    if (Ext.getCmp('repositoryEditFile')) {
    	Ext.getCmp('repositoryEditFile').destroy();
    }
    // destroy details panel
    if (Ext.getCmp('file_details')) {
    	Ext.getCmp('file_details').destroy();
    }
    switch (action) {
    	
    	case Tokens.comment:
    		Ext.History.back();
    		Ext.History.back();
    		break;
    		
    	case Tokens.search:
        	grid.showInPlace(false);
        	Ext.getCmp('search_field').setValue(tokenObj.itemId);
        	if (ds.lastOptions){
        		var params = ds.lastOptions.params;
        	} else {
        		var params = new Object();
        	}
        	params.start = start;
        	params.query = item_id;
        	params.limit = myPageSize;
        	params.sort = sortField;
        	params.dir = sortDir;
        	ds.load({params:params});
        	break;
        	
    	case Tokens.folder:
        	grid.showInPlace(true);
        	ds.load({params:{start:start, limit:myPageSize, parent_id:item_id, sort:sortField, dir:sortDir}});
        	break;
        	
    	case Tokens.details:
        	var obj = new Object();
        	obj['itemId'] = item_id;
        	obj['itemName'] = tokenObj.itemName;
        	obj['siteId'] = 1;
        	getDetails(obj);
        	break;
        	
    	case Tokens.tag:
        	grid.showInPlace(false);
        	ds.load({params:{start:start, limit:myPageSize, tag_id:item_id, sort:sortField, dir:sortDir}});
        	break;
        	
    	case Tokens.edit:
        	EditItem(grid,item_id);
        	break;
        	
    }
}

function Download(obj){
	if (obj.req_email=='on'){
		var email = prompt('Please enter your email adress');
		if (email){
			if (email.search(emailRegEx) != -1){
				window.location = '/repositories/download/'+obj.itemId+'/'+email;
			}
			else{
				alert('The email address is not valid');
			}
		}
	}else{
		window.location = '/repositories/download/'+obj.itemId;
	}
}