
function Permissions_Remove(objectType, objectId, userId, roleId, permissionType){
    //Photocore.Modules.WebApi.Set_Delete(setId);
}

function Permissions_Add(objectType, objectId, userId, roleId, permissionType){
    //Photocore.Modules.WebApi.Set_Delete(setId);
}

function Permissions_TypeName(textbox, btnName, oEvent){

    var button = document.getElementById(btnName);
    
    var keyCode = oEvent.keyCode;
    //var charCode = oEvent.charCode;
    
    if(keyCode==13){
        // user hit enter, do the add
        if(button.disabled != 'disabled'){
            Permissions_AddPrinciple(button, textbox.id);
        }
        
        return false;
    }
    
    if ((keyCode > 0 && keyCode <= 46) || (keyCode >= 112 && keyCode <= 123)) {
        if(keyCode==46 || keyCode==8 || keyCode==32){
            // invalidate the textbox
            button.disabled = 'disabled';
            textbox.style.backgroundImage = 'url(/images/icons/zoom_in.png)';
        }
        return true;
    }
        
    button.disabled = 'disabled';
    
    var txt = textbox.value;
    
    //txt = txt + String.fromCharCode(charCode);
    
    if(txt.length>1){
        Photocore.Modules.WebApi.Permissions_UserRoleSearch(txt, textbox.id, btnName, Permissions_TypeName_callback);
    }
    
    return true;
}

function Permissions_TypeName_callback(val){
    var suggestion = val[0];
    var originaltxt = val[1];
    var textbox = document.getElementById(val[2]);
    var button = document.getElementById(val[3]);
    var type = val[4];
    
    if(suggestion.length>0 && textbox.value==originaltxt){        
        textbox.value = suggestion;
        
        var iStart = originaltxt.length;
        var iLength = suggestion.length;
        
        if (textbox.createTextRange) {
            var oRange = textbox.createTextRange();
            oRange.moveStart("character", iStart);
            oRange.moveEnd("character", iLength - originaltxt.length);
            oRange.select();
        } else {
            textbox.setSelectionRange(iStart, iLength);
        }
        textbox.focus();

        button.disabled = '';
        
        
    }
    
    if(type=='role')
        textbox.style.backgroundImage = 'url(/images/icons/group.png)';
    else if(type=='user')
        textbox.style.backgroundImage = 'url(/images/icons/user.png)';
    else 
        textbox.style.backgroundImage = 'url(/images/icons/zoom_in.png)';
        
}

function Permissions_AddPrinciple(button, textboxName){
    button.value = 'Adding...';
    var textbox = document.getElementById(textboxName);
    
    Photocore.Modules.WebApi.Permissions_UserRoleAdd(textbox.value, permsObjectType, permsObjectId, Permissions_AddPrinciple_callback);
}
function Permissions_AddPrinciple_callback(val){
    if(postbackRef && postbackRef.length>0){
        setTimeout(postbackRef,0);
    }
}

function Permissions_RevertToDefault(){
    Photocore.Modules.WebApi.Permissions_RevertToDefault(permsObjectType, permsObjectId, Permissions_RevertToDefault_callback);
}

function Permissions_RevertToDefault_callback(val){
    if(val){
        // it worked, refresh the page
        window.location.reload(true);
    } else {
        alert('Could not clear permissions.');
    } 
}