
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 *******/

NavigationTreeView = function()
{
	this.readOnlyIds = new Array();
	this.staticIds = new Array();
	this.dynamicIds = new Array();
	this.treeViewId = '';
	this.rootId = '';
	this.currentFolderId;
			
	this.GetTreeView = function()
	{
		return eval(this.treeViewId);
	}
	
	this.Initialize = function(readOnlyIds, staticIds, dynamicIds, treeViewId, rootId, currentFolderId)
	{
	    //ReadOnly Id Load
		var ids = readOnlyIds.split('|');
		if ( ids != null )
		{
			for ( var i = 0; i < ids.length; i++ )
			{
				if ( ids[i] != null )
				{
					this.readOnlyIds.push(ids[i]);
				}
			}
		}
		
		//Static Id Load
		ids = staticIds.split('|');
		if ( ids != null )
		{
			for ( var i = 0; i < ids.length; i++ )
			{
				if ( ids[i] != null )
				{
					this.staticIds.push(ids[i]);
				}
			}
		}
		
		//Dynamic Id Load
		ids = dynamicIds.split('|');
		if ( ids != null )
		{
			for ( var i = 0; i < ids.length; i++ )
			{
				if ( ids[i] != null )
				{
					this.dynamicIds.push(ids[i]);
				}
			}
		}
		
		this.treeViewId = treeViewId;
		this.rootId = rootId;
		this.currentFolderId = currentFolderId;
	}

	this.IsReadOnly = function(folderId)
	{
		return Array.contains(this.readOnlyIds, folderId);
	}
	
	this.IsStatic = function(folderId)
	{
		return Array.contains(this.staticIds, folderId);
	}
	
	this.IsDynamic = function(folderId)
	{
		return Array.contains(this.dynamicIds, folderId);
	}
	
	this.IsRoot = function(folderId)
	{
		return (folderId == this.rootId);
	}
}
	
function TreeNodeSelected()
{
    var contextMenu = $find(contextMenuId);
    var mouseOverMenu = $find(mouseOverMenuId);
    var navigationTreeView = eval(navigationTreeViewId);
	
	if ( navigationTreeView == null )
	{
		return;
	}

	var folderId = navigationTreeView.GetTreeView().GetSelectedValue();

	//mouseOverMenu.contextMenu._element.style.zIndex = "10";
	
	//enable and view all menu items
	for ( var i = 0; i < contextMenu.menuItems.length; i++ )
	{
		contextMenu.menuItems[i].enabled = true;
		contextMenu.menuItems[i].visible = true;

		if (mouseOverMenu.contextMenu.menuItems.length > 0)
		{
		    mouseOverMenu.contextMenu.menuItems[i].enabled = true;
		    mouseOverMenu.contextMenu.menuItems[i].visible = true;
		}
    }
	
	if ( navigationTreeView.IsReadOnly(folderId) ||
	     (navigationTreeView.IsRoot(folderId) &&
	      navigationTreeView.IsDynamic(folderId)))
	{
	    for ( var i = 0; i < contextMenu.menuItems.length; i++ )
	    {
		    contextMenu.menuItems[i].visible = false;

		    if (mouseOverMenu.contextMenu.menuItems.length > 0)
		    {
		        mouseOverMenu.contextMenu.menuItems[i].visible = false;
		    }
		}

		contextMenu.menuItems[2].visible = true;
		contextMenu.menuItems[5].visible = true;
		contextMenu.menuItems[6].visible = true;

		if (mouseOverMenu.contextMenu.menuItems.length > 0)
		{
		    mouseOverMenu.contextMenu.menuItems[2].visible = true;
		    mouseOverMenu.contextMenu.menuItems[5].visible = true;
		    mouseOverMenu.contextMenu.menuItems[6].visible = true;
		}
    }
	else if ( navigationTreeView.IsRoot(folderId) &&  
	        navigationTreeView.IsStatic(folderId) )
	{
	    contextMenu.menuItems[3].visible = false;

	    if (mouseOverMenu.contextMenu.menuItems.length > 0)
	    {
	        mouseOverMenu.contextMenu.menuItems[3].visible = false;
	    }
	}
	else if (navigationTreeView.IsDynamic(folderId))
	{
	    contextMenu.menuItems[0].visible = false;
	    contextMenu.menuItems[1].visible = false;
	    contextMenu.menuItems[4].visible = false;

	    if (mouseOverMenu.contextMenu.menuItems.length > 0)
	    {
	        mouseOverMenu.contextMenu.menuItems[0].visible = false;
	        mouseOverMenu.contextMenu.menuItems[1].visible = false;
	        mouseOverMenu.contextMenu.menuItems[4].visible = false;
	    }
	}
	
	contextMenu.OnHideMenu = "ReturnToSelectedFolderOnCancel()";

	contextMenu.Render();
	mouseOverMenu.contextMenu.Render();
}

 function ReturnToSelectedFolderOnCancel()
{
    var navigationTreeView = eval(navigationTreeViewId);
	navigationTreeView.GetTreeView().SetSelectedValue(navigationTreeView.currentFolderId);
}

function ViewInCatalog() 
{
    return true;
}

function AddNewFolder() 
{
    return true;
}

function EditFolder() 
{
    return true;
}

function Security()
{
    return true;
}

function RemoveFolder()
{
    if (confirm(deleteMessage))
    {
        return true;
    }
    else
    {
        ReturnToSelectedFolderOnCancel();
    };
}

function AddLinkedFolder()
{
    return true;
}

function AddPresentations()
{
    return true;
}
    
/******* 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_Description", "block");
    }
    else
    {
        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, previewId) 
{
	this.presentationID = pID;
	this.totalSlides = totSlides;
	this.currentSlideIndex = curIndex;
	this.slideFormat = format;
	this.previewContainerID = previewId
}

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);
    GetPreviewSlideHtml(presentation);
}

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);
    GetPreviewSlideHtml(presentation);
}

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) {
            detailsPanel.FadeState = -2;  //Means totally opaque
            detailsPanel.style.opacity = 0;  //Set to toally opaque
            detailsPanel.style.filter = "alpha(opacity=0)"; //Set to toally opaque
            detailsPanel.style.visibility = "visible";  // make visible
        }

        if (detailsPanel.FadeState == 2) {
            detailsButton.alt = viewText;
            detailsButton.title = viewText;
        }
        else {
            detailsButton.alt = hideText;
            detailsButton.title = hideText;
        }

        FadeElement(detailsPanelId);
    }
}

function HideDetails(detailsPanelId, detailsButtonId, viewText) {
    if (detailsPanelId) {
        var detailsPanel = document.getElementById(detailsPanelId)
        var detailsButton = document.getElementById(detailsButtonId)

        if (detailsPanel.FadeState == 2) {
            detailsButton.alt = viewText;
            detailsButton.title = viewText;
            FadeElement(detailsPanelId);
        }
    }
}

var TimeToFade = 250.0;

function FadeElement(eid) {
    var element = document.getElementById(eid);
    if (element == null)
        return;

    if (element.FadeState == null) {
        if (element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == '1') {
            element.FadeState = 2;  //Not Opaque
        }
        else {
            element.FadeState = -2;  //Totally Opaque
        }
    }

    if (element.FadeState == 1 || element.FadeState == -1) {
        element.FadeState = element.FadeState == 1 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
    }
    else {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        setTimeout("AnimateFade(" + new Date().getTime()
        + ",'" + eid + "')", 33);
    }
}

function AnimateFade(lastTick, eid) {
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;

    var element = document.getElementById(eid);

    if (element.FadeTimeLeft <= elapsedTicks) {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft / TimeToFade;
    if (element.FadeState == 1)
        newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter =
      'alpha(opacity = ' + (newOpVal * 100) + ')';

    setTimeout("AnimateFade(" + curTick
      + ",'" + eid + "')", 33);
}

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";
	GetNoSlidePreviewHtml(presentation);
}

// Move an element directly on top of another element (and optionally
// make it the same size)
function Cover(bottom, top, ignoreSize) {
    var location = Sys.UI.DomElement.getLocation(bottom);
    top.style.position = 'absolute';
    top.style.top = (location.y - 97) + 'px';
    top.style.left = (location.x - 291) + 'px';
    if (!ignoreSize) {
        top.style.height = bottom.offsetHeight + 'px';
        top.style.width = bottom.offsetWidth + 'px';
    }
}

//Gets a value from the server.
function GetPreviewSlideHtml(presentation) 
{
    PageMethods.GetPreviewSlideHtml(presentation.presentationID, presentation.currentSlideIndex, GetPreviewSlideHtmlSucceeded, GetPreviewSlideHtmlFailed, presentation);
}

// Callback function invoked on successful 
// completion of the page method.
function GetPreviewSlideHtmlSucceeded(previewHTML, presentation, methodName) 
{
    if (methodName == "GetPreviewSlideHtml")
    {
        var previewContainer = $get(presentation.previewContainerID);
        previewContainer.innerHTML = previewHTML;
    }
}

// Callback function invoked on failure 
// of the page method.
function GetPreviewSlideHtmlFailed(error, userContext, methodName) 
{
    if(error !== null) 
    {
        if (methodName == "GetPreviewSlideHtml")
        {
            alert( "An error occurred while retrieving the slide preview: " + error.get_message());
        }
    }
}

//Gets a value from the server.
function GetNoSlidePreviewHtml(presentation) 
{
    PageMethods.GetNoSlidePreviewHtml(GetNoSlidePreviewHtmlSucceeded, GetNoSlidePreviewHtmlFailed, presentation);
}

// Callback function invoked on successful 
// completion of the page method.
function GetNoSlidePreviewHtmlSucceeded(previewHTML, presentation, methodName) 
{
    if (methodName == "GetNoSlidePreviewHtml")
    {
        var previewContainer = $get(presentation.previewContainerID);
        previewContainer.innerHTML = previewHTML;
    }
}

// Callback function invoked on failure 
// of the page method.
function GetNoSlidePreviewHtmlFailed(error, userContext, methodName) 
{
    if(error !== null) 
    {
        if (methodName == "GetNoSlidePreviewHtml")
        {
            alert( "An error occurred while retrieving the slide preview: " + error.get_message());
        }
    }
}

/******* 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 LoadClueTips()
{
    var cardLinks = $('a.cardLink');

    $('a.cardLink').cluetip(
        {
            cluetipClass: 'jtip',
            cursor: 'pointer',
            //tracking: true,
            local: true,
            width: 500,
            positionBy: 'mouse',
            mouseOutClose: true,
            closePosition: 'title',
            closeText: '<img src="../includes/images/btnCloseX.gif" alt="close" style="padding-top:3px;" />',
            sticky: true,
            leftOffset: 20,
            cluezIndex: 1000,
            attribute: 'BodyId',
            titleAttribute: 'DescTitle'
        });

        if ($('#cluetip') &&
            $('#cluetip')[0])
        {
            $('#cluetip')[0].style.display = "none";
        }
}

function LoadPreviewClueTips()
{
    var cardLinks = $('a.cardLink');

    $('a.cardLink').cluetip(
        {
            cluetipClass: 'jtip',
            cursor: 'pointer',
            //tracking: true,
            local: true,
            width: 500,
            positionBy: 'mouse',
            mouseOutClose: true,
            closePosition: 'title',
            closeText: '<img src="../includes/images/btnCloseX.gif" alt="close" style="padding-top:3px;" />',
            sticky: true,
            leftOffset: 20,
            cluezIndex: 1000,
            attribute: 'BodyId',
            titleAttribute: 'DescTitle',
            onActivate: function(e) { return ShowClueTip(e); }
        });

        if ($('#cluetip') &&
            $('#cluetip')[0])
        {
            $('#cluetip')[0].style.display = "none";
        }
    }

    function ShowClueTip(e)
    {
        if (cbxIncludeDescriptionId)
        {
            var checkbox = $get(cbxIncludeDescriptionId)

            if (checkbox)
            {
                return checkbox.checked
            }
        }
        
        return true;
    }






