﻿// Callback
var EditPermissionsForm2_SEPARATOR = 'EditPermissionsForm2_&';
var EditPermissionsForm2_SHOW_ACTION = 'SHOW';
var EditPermissionsForm2_SAVE_ACTION = 'SAVE';
var EditPermissionsForm2_SAVE_FAILED_ACTION = 'SAVE_FAILED';
var EditPermissionsForm2_RESET_ACTION = 'RESET';
var EditPermissionsForm2_RESET_FAILED_ACTION = 'RESET_FAILED';

// Ids
var EditPermissionsForm2_ID_RESULTS_PANEL = 'EditPermissionsForm2_DivResults';
var EditPermissionsForm2_ID_LABEL_DATASET_NAME = 'EditPermissionsForm2_lbDatasetName';
var EditPermissionsForm2_MODAL_POPUP_ID = "TitleBanner1_EditPermissionsForm2_ModalPopupExtender";
var EditPermissionsForm2_ID_DROPLIST_RESOLUTION = "EditPermissionsForm2_DroplistResolution";
var EditPermissionsForm2_ID_CHKBOX_ALLOW_DOWNLOAD = "EditPermissionsForm2_chkboxAllowDownload";
var EditPermissionsForm2_ID_CHKBOX_VIEW_ATTRIBUTES = "EditPermissionsForm2_chkboxViewAttributes";
var EditPermissionsForm2_ID_CHKBOX_VIEW_SENSITIVE = "EditPermissionsForm2_chkboxViewSensitive";
var EditPermissionsForm2_ID_CHKBOX_VIEW_RECORDER = "EditPermissionsForm2_chkboxViewRecorder";
var EditPermissionsForm2_ID_CHKBOX_ALLOW_VALIDATION = "EditPermissionsForm2_chkboxAllowValidation";

// Other
var EditPermissionsForm2_DELAY = 500;

function EditPermissionsForm2_processMyResult(returnMessage, context)
{ 
    //alert(returnMessage);
    
    var splittedMessage = returnMessage.split(EditPermissionsForm2_SEPARATOR);
    var action = splittedMessage[0];
   
    switch (action) {
        case EditPermissionsForm2_SHOW_ACTION:
            
            // Get list of datasets.
            var datasetName = splittedMessage[1]; 
            var renderedContent = splittedMessage[2];    
                        
            // Get user name label.
            var lbDatasetName = document.getElementById(EditPermissionsForm2_ID_LABEL_DATASET_NAME);
            
            // Display user name.
            lbDatasetName.innerHTML = datasetName;
            
            // Get results panel.
            var resultsDiv = document.getElementById(EditPermissionsForm2_ID_RESULTS_PANEL);
            
            // Display permissions.
            resultsDiv.innerHTML = renderedContent;
                             
            break 
        case EditPermissionsForm2_SAVE_ACTION:
                        
            EditPermissionsForm2_Close();
            
            window.setTimeout("CONFIRMATIONDIALOG_ShowDialog('EDIT_PERMISSIONS_SUCCESS');",EditPermissionsForm2_DELAY); 
                                         
            break 
        case EditPermissionsForm2_SAVE_FAILED_ACTION:
            
            window.setTimeout("CONFIRMATIONDIALOG_ShowDialog('EDIT_PERMISSIONS_FAIL');",EditPermissionsForm2_DELAY); 
                                         
            break 
        case EditPermissionsForm2_RESET_ACTION:
            var renderedContent = splittedMessage[1];
            
            // Get results panel.
            var resultsDiv = document.getElementById(EditPermissionsForm2_ID_RESULTS_PANEL);
            
            // Display permissions.
            resultsDiv.innerHTML = renderedContent;
            
            EditPermissionsForm2_Close();
            
            window.setTimeout("CONFIRMATIONDIALOG_ShowDialog('RESET_PERMISSIONS_SUCCESS');",EditPermissionsForm2_DELAY); 
                                         
            break 
        case EditPermissionsForm2_RESET_FAILED_ACTION:
            
            window.setTimeout("CONFIRMATIONDIALOG_ShowDialog('RESET_PERMISSIONS_FAIL');",EditPermissionsForm2_DELAY); 
                                         
            break 
        default:
            break
    }//end Switch 
}

function EditPermissionsForm2_postMyError(returnmessage, context)
{
    alert("EditPermissionsForm2 component - Callback Error: " + returnmessage + ", " + context);
}

// **************************************************************************************

function EditPermissionsForm2_Show(datasetId, userId)
{   
    // Close permission form1
    EditPermissionsForm1_Close();

    // OPEN MODAL POPUP WINDOW
    var modalPopupBehavior = $find(EditPermissionsForm2_MODAL_POPUP_ID);
    if(modalPopupBehavior != null)
    {
        modalPopupBehavior.show();
    }    
    
    //Construct callback message.
    var callbackMessage =   "action=" + EditPermissionsForm2_SHOW_ACTION + 
                            "&datasetId=" + datasetId +
                            "&userId=" + userId;
    
    // Invoke Callback.
    EditPermissionsForm2_DoCallBack(callbackMessage, "EditPermissionsForm2");
}

function EditPermissionsForm2_Close()
{      
    // Open permission form1
    EditPermissionsForm1_Open();

    // CLOSE MODAL POPUP WINDOW
    var modalPopupBehavior = $find(EditPermissionsForm2_MODAL_POPUP_ID);
    if(modalPopupBehavior != null)
    {
        modalPopupBehavior.hide();
    }  
}

function EditPermissionsForm2_Save()
{
    // Get controls.
    var ddlResolution = document.getElementById(EditPermissionsForm2_ID_DROPLIST_RESOLUTION);
    var chkboxAllowDownload = document.getElementById(EditPermissionsForm2_ID_CHKBOX_ALLOW_DOWNLOAD);
    var chkboxAllowValidation = document.getElementById(EditPermissionsForm2_ID_CHKBOX_ALLOW_VALIDATION);
    var chkboxViewAttributes = document.getElementById(EditPermissionsForm2_ID_CHKBOX_VIEW_ATTRIBUTES);
    var chkboxViewRecorder = document.getElementById(EditPermissionsForm2_ID_CHKBOX_VIEW_RECORDER);
    var chkboxViewSensitive = document.getElementById(EditPermissionsForm2_ID_CHKBOX_VIEW_SENSITIVE);
    
    //Construct callback message.
    var callbackMessage =   "action=" + EditPermissionsForm2_SAVE_ACTION + 
                            "&resolution=" + ddlResolution.value +
                            "&allowDownload=" + chkboxAllowDownload.checked + 
                            "&allowValidation=" + chkboxAllowValidation.checked +
                            "&viewAttributes=" + chkboxViewAttributes.checked +
                            "&viewRecorder=" + chkboxViewRecorder.checked +
                            "&viewSensitive=" + chkboxViewSensitive.checked;
    
    // Invoke Callback.
    EditPermissionsForm2_DoCallBack(callbackMessage, "EditPermissionsForm2");
    
}

function EditPermissionsForm2_Reset()
{
    //Construct callback message.
    var callbackMessage =   "action=" + EditPermissionsForm2_RESET_ACTION;

    // Invoke Callback.
    EditPermissionsForm2_DoCallBack(callbackMessage, "EditPermissionsForm2");
}
