Type.registerNamespace('SfCatalog');

var ThemeContentMargins = ["Gecko:6", "GrayLine:0", "Khaki:6", "Khaki2:0", "Professional:6", "Serenity:6", "SquareMan:6", "TheBlues:6"];

function resizeCatalogContent(e)
{
    var navigationAreaObject = $(".NavigationArea");
    var navigationAreaElement = $(".NavigationArea")[0];
    var copyrightElement = $("#copyright")[0];
    var leftPaneElement = $("#LeftPane")[0];
    var rightPaneElement = $("#RightPane")[0];
    var splitbarElement = $(".vsplitbar")[0];
    var contentAreaElement = $("#ContentArea")[0];
    var panelSplitterElement = $("#PanelSplitter")[0];
    var searchFilterElement = $("#SearchFilter")[0];
    var headerElement = $(".header")[0];
    var widthToAdd = 0;
    

    //Left Pane
    var copyrightHeight = copyrightElement.offsetHeight

    if (navigationAreaObject.length > 0)
    {
        navigationAreaElement.style.minHeight = (leftPaneElement.offsetHeight - 20 - copyrightHeight) + "px";
    }
    else
    {   
        var splitbarWidth = 0;
        if (splitbarElement)
        {
            splitbarWidth = splitbarElement.offsetWidth
            splitbarElement.style.visibility = "hidden";
            splitbarElement.style.border = "none";
            splitbarElement.style.width = "0px";
            splitbarElement.style.left = "0px";
        }

        widthToAdd = leftPaneElement.offsetWidth + splitbarWidth;

        leftPaneElement.style.visibility = "hidden";
        leftPaneElement.style.width = "0px";
        leftPaneElement.style.left = "0px";
        rightPaneElement.style.left = "0px";
        copyrightElement.style.visibility = "hidden";
    }

    //Right Pane
    var margin = getContentMargin();
    var offset = margin * 2;
    var scrollBarWidth = 17;
    if (contentAreaElement.offsetHeight > rightPaneElement.offsetHeight - (margin * 2))
    {
        offset = offset + scrollBarWidth;
    }

    rightPaneElement.style.width = rightPaneElement.offsetWidth + widthToAdd + "px";
    contentAreaElement.style.width = rightPaneElement.offsetWidth - offset + "px";
    contentAreaElement.style.margin = margin + "px";
    contentAreaElement.style.minWidth = "700px";
    headerElement.style.minWidth = "700px";

    panelSplitterElement.style.visibility = "visible";
    searchFilterElement.style.display = "";
}

function getContentMargin()
{
    for (var i = 0; i < ThemeContentMargins.length; i++)
    {
        var themeArray = ThemeContentMargins[i].split(":");

        if (themeArray[0] == currentTheme)
        {
            return themeArray[1];
        }
    }

    return 0;
}

function resizeEditContent(e)
{

    var navAreaObject = $(".NavigationContainer");
    var navAreaElement = $(".NavigationContainer")[0];
    var navAreaHeaderElement = $("#NavAreaHeader")[0];
    var copyrightElement = $("#copyright")[0];
    var leftPaneElement = $("#LeftPane")[0];
    var rightPaneElement = $("#RightPane")[0];
    var contentAreaElement = $("#ContentArea")[0];
    var panelSplitterElement = $("#PanelSplitter")[0];
    var headerElement = $(".header")[0];
    var searchFilterElement = $("#SearchFilter")[0];

    //Right Pane Resize
    var offset = 0;
    var margin = 0;
    if (contentAreaElement.offsetHeight > rightPaneElement.offsetHeight - (margin * 2))
    {
        offset = 17;
    }

    contentAreaElement.style.width = rightPaneElement.offsetWidth - offset + "px";
    contentAreaElement.style.margin = margin + "px";

    //Left Pane Resize
    var pageHeader = $(".header");
    var mouseOverContextMenu = $("[id$='_mouseOverContextMenu']");
    var mouseOverContextMenuObject = $find(mouseOverContextMenu[0].id);
    var treeViewContextMenu = $("[id$='_contextMenu']");
    var treeViewContextMenuObject = $find(treeViewContextMenu[0].id);

    var mouseOverMenu = $("[id$='_mouseOverMenuActions']");
    var mouseOverMenuObject = $find(mouseOverMenu[0].id);


    if (mouseOverContextMenuObject)
    {
        mouseOverContextMenuObject.Hide();
        treeViewContextMenuObject.Hide();
        
        if ($.browser.msie) 
        {
            mouseOverContextMenuObject.OffsetLeft = 2;
        }
    }

    var navAreaHeight = leftPaneElement.offsetHeight - (navAreaHeaderElement.offsetHeight + copyrightElement.offsetHeight + 20);

    if (navAreaHeight > 0)
    {
        navAreaElement.style.height = navAreaHeight + "px";
    }
    
    leftPaneElement.style.overflow = "hidden";

    contentAreaElement.style.minWidth = "700px";
    headerElement.style.minWidth = "700px";

    panelSplitterElement.style.visibility = "visible";
    searchFilterElement.style.display = "";
}

function InitProgressUpdate() 
{
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(InitializeRequest);
    prm.add_endRequest(EndRequest);
}

function InitializeRequest(sender, args) 
{
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    
    if (prm.get_isInAsyncPostBack())
        args.set_cancel(true);

    var progress = $("[id$='_updateProgress']");

    if (progress.length > 0)
    {
        progress[0].style.visibility = 'visible';
        progress[0].style.zIndex = "1000";
    }

}

function EndRequest(sender, args)
{
     var progress = $("[id$='_updateProgress']");

     if (progress.length > 0)
     {
         progress[0].style.visibility = 'hidden';
         progress[0].style.zIndex = '0';
     }
}

Sys.Application.add_load(InitProgressUpdate);


/****** Message Control Start *******/

function ClearMessageControl() 
{
    if (messageControlContainer)
    {
        var currentTime = new Date();

        if (messageControlEndTime <= currentTime)
        {
            messageControlContainer.style.display = 'none';
            messageControlLabel.innerText = '';
 
        }
    }
}

/****** Message Control End *******/





/****** DataChangeValidator Start *******/

 function ValidateChangesAndNavigate(location)
{
    if ( ValidateChanges() )
    {
        eval(location)
    }
}

/****** DataChangeValidator End *******/





/****** Viewer Popup Start *******/

function StartViewer(url)
{
	var playerWidth = 800;
	var playerHeight = 600;

	WindowHelper.CreatePopup(url,
		'Viewer', 
		playerWidth , 
		playerHeight , 
		false, 
		true);
}

/****** Viewer Popup End *******/





/****** Email Popup Start *******/

function EmailPopup(url, height, width)
{
	WindowHelper.CreatePopup(url,
		'Email',
		width,
		height, 
		true, 
		true);
}

function mailTo(mailTo)
{
    var agt = navigator.userAgent.toLowerCase();

    if (agt.indexOf("chrome") > 0)
    {
        CloseMe();
        self.location = mailTo;
    }
    else
    {
        window.location = mailTo;
        CloseMe();
    }

}

function CloseMe()
{
    self.opener = this;
    self.close();
}

/****** Email Popup End *******/





/****** Window Helper Start *******/

function WindowHelper(){}
	WindowHelper.IsOpen = function (wnd)
	{
		if (!wnd)
		{
			return false;
		}
		if (wnd == null)
		{
			return false;
		}
		if (wnd.closed == true)
		{
			return false;
		}
		return true;
	}

	WindowHelper.CreatePopup=function(sUrl,sName,nWidth,nHeight,fScrollbars,fResizeable)
	{
		// extra offset for mac
		var offsetX = 0;
		var offsetY = 0;

		nWidth=Math.floor(nWidth) + offsetX;
		nHeight=Math.floor(nHeight) + offsetY;

		var sFeatures = "width=" + nWidth + ",height=" + nHeight;
	       
		if (fScrollbars)
		{
			sFeatures += ",scrollbars=yes";
		}
		else
		{
			sFeatures += ",scrollbars=no";
		}
	        
		if (fResizeable)
		{
			sFeatures += ",resizable=yes";
		}
		else
		{
			sFeatures += ",resizable=no";
		}
		
		sFeatures += ",status=no";
	        
		var popup = window.open(sUrl,sName,sFeatures);
	    
		return popup;
	}

	WindowHelper.Center=function(wnd,nWidth,nHeight)
	{
		var posX = Math.round((screen.availWidth-nWidth)/2);
		var posY=  Math.round((screen.availHeight-nHeight)/2);
		wnd.moveTo(posX,posY);
	}

/****** Window Helper End *******/





/******* Edit Catalog Navigation Start *******/
SfCatalog.NavigationControl = function(element)
{
    SfCatalog.NavigationControl.initializeBase(this, [element]);
    this.rootId = null;
    this.readOnlyIds = new Array();
    this.staticIds = new Array();
    this.dynamicIds = new Array();
    this.currentFolderId = null;
    this.contextMenu = null;
    this.mouseOverMenu = null;
    this.treeViewId = null;
}

SfCatalog.NavigationControl.prototype =
{
    initialize: function()
    {
        SfCatalog.NavigationControl.callBaseMethod(this, 'initialize');
    },

    dispose: function()
    {
        SfCatalog.NavigationControl.callBaseMethod(this, 'dispose');
    },

    get_rootId: function()
    {
        return this.rootId;
    },

    set_rootId: function(value)
    {
        this.rootId = value;
    },

    get_readOnlyIds: function()
    {
        return this.readOnlyIds;
    },

    set_readOnlyIds: function(value)
    {
        //ReadOnly Id Load
        var ids = value.split('|');
        if (ids != null)
        {
            for (var i = 0; i < ids.length; i++)
            {
                if (ids[i] != null)
                {
                    this.readOnlyIds.push(ids[i]);
                }
            }
        }
    },

    get_staticIds: function()
    {
        return this.staticIds;
    },

    set_staticIds: function(value)
    {
        //Static Id Load
        var ids = value.split('|');
        if (ids != null)
        {
            for (var i = 0; i < ids.length; i++)
            {
                if (ids[i] != null)
                {
                    this.staticIds.push(ids[i]);
                }
            }
        }
    },

    get_dynamicIds: function()
    {
        return this.dynamicIds;
    },

    set_dynamicIds: function(value)
    {
        //Static Id Load
        var ids = value.split('|');
        if (ids != null)
        {
            for (var i = 0; i < ids.length; i++)
            {
                if (ids[i] != null)
                {
                    this.dynamicIds.push(ids[i]);
                }
            }
        }
    },

    get_currentFolderId: function()
    {
        return this.currentFolderId;
    },

    set_currentFolderId: function(value)
    {
        this.currentFolderId = value;
    },

    get_contextMenu: function()
    {
        return this.contextMenu;
    },

    set_contextMenu: function(value)
    {
        this.contextMenu = value;
    },

    get_mouseOverMenu: function()
    {
        return this.mouseOverMenu;
    },

    set_mouseOverMenu: function(value)
    {
        this.mouseOverMenu = value;
    },

    get_treeViewId: function()
    {
        return this.treeViewId;
    },

    set_treeViewId: function(value)
    {
        this.treeViewId = value;
    },

    TreeView: function()
    {
        return eval(this.treeViewId);
    },

    IsReadOnly: function(folderId)
    {
        return Array.contains(this.readOnlyIds, folderId);
    },

    IsStatic: function(folderId)
    {
        return Array.contains(this.staticIds, folderId);
    },

    IsDynamic: function(folderId)
    {
        return Array.contains(this.dynamicIds, folderId);
    },

    IsRoot: function(folderId)
    {
        return (folderId == this.rootId);
    },

    OnDropping: function(id, targetId)
    {
        var droppedFolderId = $find(id).value;
        var targetFolderId = $find(targetId).value;
        var droppedNode = $find(id)
        var droppedParentNode = droppedNode.parentNode;

        //Target must have write
        if (this.IsReadOnly(targetFolderId))
        {
            return false;
        }
        
        //Static must have write
        if (this.IsReadOnly(droppedFolderId) &&
            this.IsStatic(droppedFolderId))
        {
            return false;
        }

        if (this.IsReadOnly(droppedFolderId) &&
            this.IsStatic(droppedFolderId))
        {
            return false;
        }

        //Trying to move child back into parent (not OK)
        if (droppedParentNode._id == targetId)
        {
            return false;
        }

        //Trying to move a linked folder into a static folder (OK)
        if (this.IsDynamic(droppedFolderId) && this.IsStatic(targetFolderId))
        {
            return true;
        }

        //Trying to move a static folder into a static folder (OK)
        if (this.IsStatic(droppedFolderId) && this.IsStatic(targetFolderId))
        {
            return true;
        }

        return false;
    },

    OnDrop: function(id, targetId, callbackMethod)
    {
        var folders = $find(id).value + ':' + $find(targetId).value;
        this.InitCallback();
        eval(callbackMethod);
        return true;
    },

    //this Method resets the FormPostData before a Callback
    //This enables the ViewState to be updated correctly when a callback occurs.
    InitCallback: function()
    {
        //Gets ViewState Ready for Callback
        __theFormPostCollection.length = 0;
        __theFormPostData = "";
        WebForm_InitCallback();
    },

    onMoveCallback: function(sReturnValue)
    {

        if (sReturnValue != null &&
            sReturnValue.length > 0)
        {

            var data = sReturnValue.split('|');

            if (data.length > 1)
            {
                //Reload page on error
                var location = "window.location('" + data[1] + "')";
                eval(location);
            }
            else if (data.length == 1)
            {
                //Replace the ViewState with update information.
                document.getElementById('__VIEWSTATE').value = data[0];
            }
        }

    },

    TreeNodeSelected: function()
    {
        //this function is used to hide/show menu items depending on the folder type.

        //Menu Item Positions
        var AddPresentations = 0;
        var AddNewFolder = 1;
        var EditFolder = 2;
        var RemoveFolder = 3;
        var AddLinkedFolder = 4;
        var Security = 5;
        var ViewInCatalog = 6;

        var folderId = this.TreeView().GetSelectedValue();

        //enable and view all menu items
        for (var i = 0; i < this.contextMenu.menuItems.length; i++)
        {
            this.contextMenu.menuItems[i].enabled = true;
            this.contextMenu.menuItems[i].visible = true;

            if (this.mouseOverMenu.contextMenu.menuItems.length > 0)
            {
                this.mouseOverMenu.contextMenu.menuItems[i].enabled = true;
                this.mouseOverMenu.contextMenu.menuItems[i].visible = true;
            }
        }

        if (this.IsReadOnly(folderId) ||
	         (this.IsRoot(folderId) &&
	          this.IsDynamic(folderId)))
        {
            for (var i = 0; i < this.contextMenu.menuItems.length; i++)
            {
                this.contextMenu.menuItems[i].visible = false;

                if (this.mouseOverMenu.contextMenu.menuItems.length > 0)
                {
                    this.mouseOverMenu.contextMenu.menuItems[i].visible = false;
                }
            }

            this.contextMenu.menuItems[EditFolder].visible = true;
            this.contextMenu.menuItems[Security].visible = true;
            this.contextMenu.menuItems[ViewInCatalog].visible = true;

            if (this.mouseOverMenu.contextMenu.menuItems.length > 0)
            {
                this.mouseOverMenu.contextMenu.menuItems[EditFolder].visible = true;
                this.mouseOverMenu.contextMenu.menuItems[Security].visible = true;
                this.mouseOverMenu.contextMenu.menuItems[ViewInCatalog].visible = true;
            }
        }
        else if (this.IsRoot(folderId) &&
	            this.IsStatic(folderId))
        {
            this.contextMenu.menuItems[RemoveFolder].visible = false;

            if (this.mouseOverMenu.contextMenu.menuItems.length > 0)
            {
                this.mouseOverMenu.contextMenu.menuItems[RemoveFolder].visible = false;
            }
        }
        else if (this.IsDynamic(folderId))
        {
            this.contextMenu.menuItems[AddPresentations].visible = false;
            this.contextMenu.menuItems[AddNewFolder].visible = false;
            this.contextMenu.menuItems[AddLinkedFolder].visible = false;

            if (this.mouseOverMenu.contextMenu.menuItems.length > 0)
            {
                this.mouseOverMenu.contextMenu.menuItems[AddPresentations].visible = false;
                this.mouseOverMenu.contextMenu.menuItems[AddNewFolder].visible = false;
                this.mouseOverMenu.contextMenu.menuItems[AddLinkedFolder].visible = false;
            }
        }

        this.contextMenu.OnHideMenu = "ReturnToSelectedFolderOnCancel()";

        this.contextMenu.Render();
        this.mouseOverMenu.contextMenu.Render();
    }
}
SfCatalog.NavigationControl.registerClass('SfCatalog.NavigationControl', Sys.UI.Control);
    
/******* Edit Catalog Navigation Start *******/
    
    
    
    
    
/******* Catalog Display Properties Start *******/

function UpdateBannerBackground() 
{
	var dvBanner = $get(bannerdivId);
	var colorTextBox = $get(bannerColorTextBoxId);
	var color = colorTextBox.value;
	
	if (color!=null && color!='' && color!=' ') {
		dvBanner.style.backgroundColor = '#' + color;
	}
}

function setIdDisplay(id, display)
{
    var displayItem = $get(id);
    
    if (displayItem)
    {
        displayItem.style.display = display;
    };
}

function ShowDisplayPanel(buttonClicked)
{
    var radioButtonCards = $get(radioButtonCardPreview);
    var radioButtonTable = $get(radioButtonTablePreview);
    var radioButtonSlides = $get(radioButtonSlidePreview);
    var divCardPreview = $get(divCardPreviewPanel);
    var divTablePreview = $get(divTablePreviewPanel);
    var divSlidePreview = $get(divSlidePreviewPanel);
    var dropDownRows = $get(dropDownListRows);
    var dropDownColumns = $get(dropDownListColumns);
      
       
    if (buttonClicked == 'card')
    {
        divCardPreview.style.display = "";
        radioButtonCards = true;
        
        //uncheck other buttons
        radioButtonTable.checked = false;
        radioButtonSlides.checked = false;
        
        //Hide Other Panels
        divTablePreview.style.display = "none";
        divSlidePreview.style.display = "none";

        dropDownColumns.disabled = false;
    }
    
     if (buttonClicked == 'table')
    {
        divTablePreview.style.display = "";
        radioButtonTable = true;
        
        //uncheck other buttons
        radioButtonCards.checked = false;
        radioButtonSlides.checked = false;
        
        //Hide Other Panels
        divCardPreview.style.display = "none";
        divSlidePreview.style.display = "none";
        dropDownColumns.selectedIndex = 0;
        dropDownColumns.disabled = true;
    }
    
     if (buttonClicked == 'slide')
    {
        radioButtonSlides = true;
        divSlidePreview.style.display = "";
        
        //uncheck other buttons
        radioButtonTable.checked = false;
        radioButtonCards.checked = false;
        
        //Hide Other Panels
        divTablePreview.style.display = "none";
        divCardPreview.style.display = "none";
        dropDownColumns.disabled = false;
    }
}

function EnableRowsOrPresentations()
{
    var dropDownRows = $get(dropDownListRows);
    var textBoxPresentations = $get(textboxPresentationsId);
    var radioRows = $get(radioRowsId);
    var radioPresentations = $get(radioPresentationsID);

    dropDownRows.disabled = !radioRows.checked
    textBoxPresentations.disabled = radioRows.checked

}

function updateCardPreview()
{
    var cardPanel = $get(card_PresentationCardPanelId);

    if ($get(cbxIncludeMugshotId).checked)
    {
        setIdDisplay(card_PresenterImageId, "block");
        var details = $get(card_PresentationCardDetails);
        details.className = "PresentationCardDetails_PresenterImage";
    }
    else
    {
        setIdDisplay(card_PresenterImageId, "none");
        var details = $get(card_PresentationCardDetails);
        details.className = "PresentationCardDetails_NoImage";
    }

    if ($get(cbxIncludePresentersId).checked)
    {
        setIdDisplay("card_PresenterNames", "block");
    }
    else
    {
        setIdDisplay("card_PresenterNames", "none");
    }

    if ($get(cbxIncludeStatusId).checked)
    {
        setIdDisplay("card_Status", "block");
    }
    else
    {
        setIdDisplay("card_Status", "none");
    }

    if ($get(cbxIncludeDateId).checked)
    {
        setIdDisplay("card_Date", "");
    }
    else
    {
        setIdDisplay("card_Date", "none");
    }

    if ($get(cbxIncludeDateId).checked &&
        $get(cbxIncludeTimeId).checked)
    {
        setIdDisplay("card_DateTimeSeparator", "");
    }
    else
    {
        setIdDisplay("card_DateTimeSeparator", "none");
    }

    if ($get(cbxIncludeTimeId).checked)
    {
        setIdDisplay("card_Time", "");
    }
    else
    {
        setIdDisplay("card_Time", "none");
    }

    if ($get(cbxIncludeDurationsId).checked)
    {
        setIdDisplay("card_Duration", "block");
    }
    else
    {
        setIdDisplay("card_Duration", "none");
    }

    if ($get(cbxIncludeDescriptionId).checked)
    {
        setIdDisplay("card_descButton", "inline");
        setIdDisplay("card_Description", "none");
    }
    else
    {
        setIdDisplay("card_descButton", "none");
        setIdDisplay("card_Description", "none");
    }

    if ($get(cbxIncludeExternalLinksId).checked)
    {
        setIdDisplay(card_ExternalLinksId, "block");
    }
    else
    {
        setIdDisplay(card_ExternalLinksId, "none");
    }
}

function ChangeBannerPosition(bannerDivId, cssClass)
{
    var bannerDiv = $get( bannerDivId);
    
    if (bannerDiv)
    {
        bannerDiv.className = cssClass;
    }
}

function ChangeThemeImage()
{
   var dropDownList = $get(dropDownListThemesId);
   var image = $get(themeImageId);
       
    image.src = catalogAppPath + "/app_themes/" + dropDownList.value + "/thumbnail.jpg";
}

/******* Catalog Display Properties Start *******/





/******* Slide Preview Control Start *******/

function PresentationInformation(pID, totSlides, curIndex, format) 
{
	this.presentationID = pID;
	this.totalSlides = totSlides;
	this.currentSlideIndex = curIndex;
	this.slideFormat = format;
}

var Presentations = new Array();

function ShowNextSlide(presentationID, imageID, prevButtonID, nextButtonID, textArea) 
{
	var presentation = Presentations[presentationID];
	
	if ( presentation.totalSlides == 0 || (presentation.currentSlideIndex == presentation.totalSlides) ) 
	{
		return;
	}

	if ( presentation.currentSlideIndex == 1 ) 
	{
		document.getElementById(prevButtonID).src = "../includes/Images/btnPreviousSlide.gif";
	}
	
	presentation.currentSlideIndex++;

	if ( presentation.currentSlideIndex == presentation.totalSlides ) 
	{
		document.getElementById(nextButtonID).src = "../includes/Images/btnNextSlideDisabled.gif";
	}
	
	document.getElementById(textArea).innerHTML = presentation.currentSlideIndex;
	document.getElementById(imageID).src = FormatImageFileName(presentation.slideFormat, presentation.currentSlideIndex);

	var parentNode = document.getElementById(imageID).parentNode;
	var parentHref = document.getElementById(parentNode.id);
	parentHref.href = FormatImageFileName(presentation.slideFormat, presentation.currentSlideIndex);
	CloseZoomedImages();
	SetupZoomImages("#" + parentHref.id)
}

function ShowPrevSlide(presentationID, imageID, prevButtonID, nextButtonID, textArea) 
{
	var presentation = Presentations[presentationID];
	
	if ( presentation.totalSlides == 0 || (presentation.currentSlideIndex == 1) ) 
	{
		return;
	}

	if ( presentation.currentSlideIndex == presentation.totalSlides ) 
	{
		document.getElementById(nextButtonID).src = "../includes/Images/btnNextSlide.gif";
	}

	presentation.currentSlideIndex--;

	if ( presentation.currentSlideIndex == 1 ) 
	{
		document.getElementById(prevButtonID).src = "../includes/Images/btnPreviousSlideDisabled.gif";
	}

	document.getElementById(textArea).innerHTML = presentation.currentSlideIndex;
	document.getElementById(imageID).src = FormatImageFileName(presentation.slideFormat, presentation.currentSlideIndex);
	var parentNode = document.getElementById(imageID).parentNode;
	var parentHref = document.getElementById(parentNode.id); parentHref.href = FormatImageFileName(presentation.slideFormat, presentation.currentSlideIndex);
	CloseZoomedImages();
	SetupZoomImages("#" + parentHref.id)
}

function CloseZoomedImages()
{
    $('div.zoomimage').zoomimageClear();
}

function RemoveZoomedImagesFromDOM()
{
    $('div.zoomimage').remove();
}

function SetupZoomImages(selector)
{
    $(selector).zoomimage({ controls: false, caption: false, beforeZoomIn: CloseZoomedImages });
}

var TimeToFade = 250.0;
function ToggleDetails(detailsPanelId, detailsButtonId, viewText, hideText) {
    if (detailsPanelId) {
        var detailsPanel = document.getElementById(detailsPanelId);
        var detailsButton = document.getElementById(detailsButtonId);


        //Deatils have not been shown yet.
        if (detailsPanel.FadeState == null)
        {
            $("#" + detailsPanelId).fadeOut(0);
            detailsPanel.FadeState = 0;  //Means totally opaque
        }

        if (detailsPanel.FadeState == 0)
        {
            detailsPanel.FadeState = 1;
            detailsPanel.style.visibility = "visible";
            $("#" + detailsPanelId).fadeIn(TimeToFade);
        }
        else
        {
            detailsPanel.FadeState = 0;
            $("#" + detailsPanelId).fadeOut(TimeToFade);
        }
    }
}

function HideDetails(detailsPanelId, detailsButtonId, viewText) {
    if (detailsPanelId) {
        var detailsPanel = document.getElementById(detailsPanelId)
        var detailsButton = document.getElementById(detailsButtonId)

        if (detailsPanel.FadeState == 1) {
            detailsPanel.FadeState = 0;
            $("#" + detailsPanelId).fadeOut(TimeToFade);
        }
    }
}

function FormatImageFileName(slideFormat, slideIndex) 
{
    var slidePath = String.format(slideFormat, slideIndex);
	return slidePath;
}

function SetErrorSlide(imageID, presentationID) 
{
	var presentation = Presentations[presentationID];
	document.getElementById(imageID).src = "../includes/Images/SlideNotFound.jpg";
}

/******* Slide Preview Control End *******/


function updateFriendlyUrl(friendlyBaseUrl, keywordClientId, friendlyUrlClientId)
{
    var textBoxKeyword = $get(keywordClientId);
    var friendlyUrlLabel = $get(friendlyUrlClientId);
    if (textBoxKeyword && friendlyUrlLabel)
    {
        if (textBoxKeyword.value != null &&
                textBoxKeyword.value.length > 0)
        {
            friendlyUrlLabel.innerHTML = friendlyBaseUrl + textBoxKeyword.value + ".aspx";
        }
        else
        {
            friendlyUrlLabel.innerHTML = "";
        }
    }
}

function toggleCardDescription(elementId)
{
    var descDisplay = $("#" + elementId).css("display");
    if (descDisplay == "none")
    {
        $("#" + elementId).show("blind", null, "fast", resizeCatalogContent)
    }
    else
    {
        $("#" + elementId).hide("blind", null, "fast", resizeCatalogContent)
    }
}

function toggleCardDescriptionPreview(elementId)
{
    var descDisplay = $("#" + elementId).css("display");
    if (descDisplay == "none")
    {
        $("#" + elementId).show("blind", null, "fast", null)
    }
    else
    {
        $("#" + elementId).hide("blind", null, "fast", null)
    }
}



