﻿var _selectedInsights = new Array();

function LoadBriefcaseOverlay(id, insightType)
{
    PageMethods.OverlayRetrieve(id, insightType, Callback, Failure);    
}

function Callback(res, userContext, methodName)
{    
    $('#BriefcaseOverlay').html(res);
    Modal_Open('BriefcaseOverlay');
}

function ShowNewFolderBox()
{
    $('#myselectboxoverlay').attr('disabled', 'disabled');
    $('#aCancel').show()
    $('#txtNewFolderName').show();
}
function HideNewFolderBox()
{
    $('#myselectboxoverlay').attr('disabled', '');
    $('#aCancel').hide()
    $('#txtNewFolderName').val("");
    $('#txtNewFolderName').hide();
}

function Failure(res, userContext, methodName)
{
    alert("error");
}

function SaveInsightToBriefcase(id, insightType)
{
    var folderID = -1;
    var folderName = "";
    
    //validate that a folder is selected, or has been added
    if ($('#txtNewFolderName').css('display') != 'none')
    {
        if ($('#txtNewFolderName').val() == '')
        {
            alert("You must enter a folder name");
            return;
        }
        else
        {
            folderName = $('#txtNewFolderName').val();
        }        
    }
    else
    {
        //get the folder id from the ddl
        folderID = $('#myselectboxoverlay').val();
    }
    
    PageMethods.SaveInsightToBriefcase(id, insightType, folderID, folderName, SaveInsightToBriefcase_success, SaveInsightToBriefcase_failure);
}

function SaveInsightToBriefcase_success(res, userContext, methodName)
{
    UpdateBriefcaseItemCount(res);
    Modal_Close('BriefcaseOverlay');    
}

function SaveInsightToBriefcase_failure(res, userContext, methodName)
{
    alert('error');
}

function toggleBriefcaseFolder(ref){
    var headerImg = "briefcaseImg" + ref;
    var headerName = "myBriefcaseHeader" + ref;
    if (document.getElementById(headerImg).src.indexOf('icon_briefcaseBlack.gif') != -1){
        $('#briefcase' + ref).slideUp(200);
        document.getElementById(headerImg).src = '/images/icon_briefcase.gif';
        document.getElementById(headerName).style.color = "#50b3cf";
    }else{
        $('#briefcase' + ref).slideDown(200);
        document.getElementById(headerImg).src = '/images/icon_briefcaseBlack.gif';
        document.getElementById(headerName).style.color = "#695e4b";
    }
}

function EditDeleteFolder(folderid, foldername, displayorder, isDelete){
    PageMethods.EditDeleteFolderDiv(folderid, foldername, displayorder, isDelete, EditDeleteFolder_Success, EditDeleteFolder_Failure);
}

function EditDeleteFolder_Success(res, userContext, methodName)
{
    $('#EditFolderOverlay').html(res);
    Modal_Open('EditFolderOverlay');   
}

function EditDeleteFolder_Failure(res, userContext, methodName)
{
   alert('error');
}


function DoDeleteFolder(folderid)
{
    PageMethods.DoDeleteFolder(folderid, DoDeleteFolder_success, DoDeleteFolder_Failure);
}
function DoDeleteFolder_success(res, userContext, methodName)
{
    UpdateBriefcaseItemCount(res);
    Modal_Close('EditFolderOverlay');
    __doPostBack($(".btnPostback")[0].id, '');
}
function DoDeleteFolder_Failure(res, userContext, methodName)
{
    alert("Error");
}

function DoEditFolder(folderid)
{
    var folderName, sortOrder;
    folderName = $('#foldername').val();
    sortOrder = $('#displayorder').val();
    
    if (folderName == '')
        return;
        
    if (isNaN(parseInt(sortOrder)))
        sortOrder = 0;
    
    PageMethods.DoEditFolder(folderid, $('#foldername').val(), $('#displayorder').val(), DoEditFolder_success, DoEditFolder_Failure);
}
function DoEditFolder_success(res, userContext, methodName)
{
    _selectedInsights.length = 0;
    Modal_Close('EditFolderOverlay');
    __doPostBack($(".btnPostback")[0].id, '');
}
function DoEditFolder_Failure(res, userContext, methodName)
{
    alert("Error");
}

function ToggleInsightCheckbox(v)
{
    var isOn = false;
    
    toggleCheckbox(v);
    
    if ($("#" + v).attr("src") == "/Images/icon_checkbox_on.gif")
           isOn = true;


    if (isOn)
    {
        //add to the array
        _selectedInsights[_selectedInsights.length] = v;
    }
    else
    {
        //remove
        var i = 0;
        while(i < _selectedInsights.length)
        {
            if (_selectedInsights[i] == v)
            {
                _selectedInsights.splice(i, 1);
                break;
            }
            i++;
        }
    }   
}

function SelectedItemsRetrieve()
{
    if (_selectedInsights == ""){
        alert("You have not selected any items.");
    }else{
        PageMethods.SelectedItemsOverlayRetrieve(_selectedInsights, SelectedItemsRetrieve_success, SelectedItemsRetrieve_failure);
    }
}
function SelectedItemsRetrieve_success(res, userContext, methodName)
{
    //update the div
    $('#EditFolderItemsOverlay').html(res);
    ModalFixed_Open('EditFolderItemsOverlay');
}
function SelectedItemsRetrieve_failure(res, userContext, methodName)
{
}

function InsightFoldersUpdate()
{
    //build xml to send to server
    /*
    <root>
       <Insight UserItemID=xx NewFolderID=a Delete=d>
       <Insight UserItemID=xx NewFolderID=a Delete=d>
       <Insight UserItemID=xx NewFolderID=a Delete=d>
    </root>
    */
    var x = "<root>";
    
    //get the drop down's
    var s = $(".FolderSelector");
    
    jQuery.each($(".FolderSelector"), function() {
                                                    var nm = this.name;
                                                    var type = nm.split("_")[0];
                                                    var ID = nm.split("_")[1];
                                                    var newFolder = this.value;
                                                    var del = 0;
                                                    if ($("#delete_" + nm).is(":checked"))
                                                        del = 1;
                                                        
                                                    x = x + "<Insight UserItemID=\"" + ID + "\" NewFolderID=\"" + newFolder + "\" Delete=\"" + del + "\"/>";
                                                } )
                                                
    x = x + "</root>";
    
    PageMethods.FolderItemsUpdate(x, InsightFoldersUpdate_success, InsightFoldersUpdate_failure);    
}
function InsightFoldersUpdate_success(res, userContext, methodName)
{
    _selectedInsights.length = 0;    
    Modal_Close('EditFolderItemsOverlay');
    UpdateBriefcaseItemCount(res);
    __doPostBack($(".btnPostback")[0].id, '');
}
function InsightFoldersUpdate_failure(res, userContext, methodName)
{
    alert("Error");
}

function UpdateBriefcaseItemCount(c)
{
    $(".briefcaseCount:first span").text(" myBriefcase (" + c + ")");
}