﻿// JScript File

function initializeDock(radDock)
{   
    fixWrappingDockIcons(radDock);
    
    var links = radDock._element.getElementsByTagName("a");
    
    for( var i=0; i < links.length; i++)
    {
        var oLink = links[i];
        
        if (oLink.className == "rdCustom")
        {
            oLink.onclick = function (e)
            {
                OnCxtMenuShow(e, radDock);
                return false;
            }   
        }   
        
        // This was preventing boxes from being deleted in IE.
        /*if (oLink.className == "rdClose")
        {   
            if (browser.isIE)
            {
                //oLink.onmouseup = onRaddockDelete;
            }
        }*/
    }
}

// This function doesn't ever appear to be called.
function onRaddockDelete(e)
{
    //cancelBubbling(e); Doesn't help
    
    if (!confirm('Are you sure you want to delete this box?'))
    {
        return;
    }
        
    var oCloseButton = getEventSource(e);
    var oDockElement = oCloseButton.parentNode.parentNode.parentNode.parentNode;
        
    var dock = $find(oDockElement.id);
    
    EditProfiles_ContextMenu_Delete(dock);
}

function fixWrappingDockIcons(radDock)
{
    /* Telerik style issue means we have to manually increase the width of the command container
       for each dock control to prevent the icons from wrapping in Safari and Chrome. */
    var children = radDock._element.getElementsByTagName('span');
    for (var i = 0; i < children.length; i++)
    {
        if (children[i].className == "rdCommands")
        {
            children[i].style.width = "30px";
            break;
        }
    }
}

function OnCxtMenuShow(e, radDock)
{
    var oEvent = e ? e : window.event;
    
    var menuClientId = 'ctl00_ctl00_body_body_DockCommandMenu';

    var contextMenu = $find(menuClientId);
    contextMenu.radDock = radDock;
    contextMenu.show(oEvent);
}

function OnClientDockPositionChanged(obj,args)
{
    fixWrappingDockIcons(obj);
    
    var dockZoneID = obj._dockZoneID;       
    var dockID = obj.get_id();
    /*var width = dockZoneID.charAt(dockZoneID.length-1) == '2' ? 345 : 229;*/
    var width = dockZoneID.charAt(dockZoneID.length-1) == '2' ? 349 : 233;        
    var elementId = dockID.substring(dockID.lastIndexOf("_") + 1, dockID.length);
    var image = document.getElementById("bb_image_" + elementId);
    var video = document.getElementById("bb_video_" + elementId);
        
    if (image)
    { 
        // Change the maxWidth attribute of the image src url
        //        
        var imageObj = image.firstChild;        
        var iTokenIndex = imageObj.src.indexOf("maxWidth");
        
        if (iTokenIndex > 0)
        {
            // Resize by changing the maxWidth in the src
            
            var newSrc = imageObj.src.substring(0, iTokenIndex) + "maxWidth=" + width;
            imageObj.src = newSrc;
        }
        else {
            // Resize by chaging the width the image control
            
            imageObj.style.width = width + "px";
        }
        
    }
    else if (video)
    {   
        var embedObj = video.firstChild; 
        embedObj.width = width;
        var newFlashvars = embedObj.flashvars.substring(0, embedObj.flashvars.indexOf("width")) + "width=" + width;
        embedObj.flashvars = newFlashvars;    
    }

    MarkProfileAsChanged();
}

function OnClientCommand()
{
}

function rssToggleKicker(articleId)
{
    var kickerDiv = document.getElementById("rssKicker_" + articleId);
    var expanderDiv = document.getElementById("rssExpander_" + articleId);
    var expanded = kickerDiv.style.display == "block";
        
    if (!expanded)
    {
        kickerDiv.style.display = "block";
        expanderDiv.className = "expander contract";
        //expanderDiv.innerHTML = "+";
    }
    else {
        kickerDiv.style.display = "none";
        expanderDiv.className = "expander expand";
        //expanderDiv.innerHTML = "-";
    }
}

function EditProfiles_PromptUserForRename(box)
{
    _currentRadDock = box;
    var message = 'New name for profile box';        
    var callback = EditProfiles_ContextMenu_Rename;
    var height = 160;
    var width = 330; 
    var defaultText = box._title;
//    if (browser.isIE)
//    {
//        defaultText = '"' + defaultText + '"';
//    } 
    var oPrompt = radprompt(
        message, 
        callback, 
        width, 
        height,
        null,
        "Rename",
        defaultText);                   
}    

