
Lightboxes.setRemoveButton=function()
{if($(".selection:checked").length>0)
{$(".remove-lightbox-assets, .move-lightbox-assets").removeClass("disabled-toolbar-small").addClass("toolbar-small");$(".remove-lightbox-assets").removeAttr("title");}
else
{Lightboxes.disableRemoveButton();}};Lightboxes.disableRemoveButton=function()
{$(".remove-lightbox-assets, .move-lightbox-assets").addClass("disabled-toolbar-small").removeClass("toolbar-small");$(".remove-lightbox-assets").attr("title",$(".remove-lightbox-assets").attr("helptext"));};Lightboxes.assetSelector=function()
{var that={};var selectAllBtn=$(".selectAll");var selectNoneBtn=$(".selectNone");that.init=function()
{selectAllBtn.click(function(e)
{e.preventDefault();$(".selection").check();Lightboxes.setRemoveButton();});selectNoneBtn.click(function(e)
{e.preventDefault();$(".selection").uncheck();Lightboxes.setRemoveButton();});};that.getSelectedAssetIds=function()
{var list=[];$(".selection:checked").each(function()
{list.push($(this).attr("assetid"));});return list;};return that;};

function RemoveSelectedAssetsAlert(){this.width=489;this.dialogType="RemoveSelectedAssetsAlert";this._hookupEvents=function(assetIds,lightboxId){context=this;$("#RemoveLightboxAssets").click(function(){$(document).trigger({type:"RemoveAssetsFromLightbox",assets:assetIds,lightbox:lightboxId});context.close();});$("#CancelRemove").click(function(){context.close();});}}
RemoveSelectedAssetsAlert.prototype=new alertWindow();RemoveSelectedAssetsAlert.prototype.display=function(assetIds,lightboxId){this.copyContent();this._show();this._hookupEvents(assetIds,lightboxId);}
RemoveSelectedAssetsAlert.prototype.copyContent=function(){var dialogContent=$("#RemoveAssetsAlert").replaceWith("");dialogContent.css('display','block');this.content=dialogContent.outerHtml();};RemoveSelectedAssetsAlert.prototype.onBeforeClose=function(){var dialogContent=$("#RemoveAssetsAlert").replaceWith("");dialogContent.hide();$("body").append(dialogContent);};

MoveOrCopyDialog=function(sourceId,assets)
{var width=489;var modal=null;function wrapper()
{return $("#MoveOrCopy");}
function find(selector)
{return wrapper().find(selector);}
var setContent=function()
{var dialog=wrapper().replaceWith("");dialog.css('display','block');modal.content=dialog.outerHtml();};var showActions=function()
{find("#CancelMoveOrCopy").show();find("#MoveOrCopyBtn").show();};var showLoading=function()
{find(".loading").show();};var hideActions=function()
{find("#CancelMoveOrCopy").hide();find("#MoveOrCopyBtn").hide();};function readdToDom()
{find(".errorMessage").text('');find(".errorMessage").hide();var dialog=wrapper().replaceWith("");find(".loading").show();showActions();dialog.hide();$("body").append(dialog);};function hookUpEvents(modal)
{find("#CancelMoveOrCopy").click(function(e)
{e.preventDefault();modal.close();});find("#MoveOrCopyBtn").click(function(e)
{hideActions();find(".loading").show();modal._recalculateBorderHeight();e.preventDefault();var newDestinationType=1;$.ajax({url:"/lightboxes/moveorcopy",type:"POST",data:{'NewDestinationLightboxName':$("#NewDestinationLightboxName").val(),'Action':$("input:radio[name='action']:checked").val(),'DestinationType':$("input:radio[name='DestinationType']:checked").length>0?$("input:radio[name='DestinationType']:checked").val():newDestinationType,'DestinationLightbox':$("#DestinationLightbox").val(),'ExistingLightbox':$("#DestinationLightbox").find(':selected').text(),'SourceLightboxId':sourceId,'Assets':assets},success:function(dataAsString)
{var data=$.evalJson(dataAsString);if(data.WasSuccessful)
showConfirmation(data);else
showErrorMessage(data);}});});var showConfirmation=function(data)
{modal.close();MoveOrCopyConfirmationDialog(data).display();};var showErrorMessage=function(data)
{find(".loading").hide();showActions();find(".errorMessage").text(data.ErrorMessage);find(".errorMessage").show();modal._recalculateBorderHeight();};};$(document).bind(events.Modal.BeforeClose,readdToDom);return{display:function()
{modal=new ModalDialog(width,0);setContent();modal._show();hookUpEvents(modal);},close:function()
{modal.close();}};};MoveOrCopyConfirmationDialog=function(data)
{var width=489;var modal=null;function wrapper()
{return $("#MoveOrCopyConfirmation");}
function find(selector)
{return wrapper().find(selector);}
var setContent=function()
{find(".confirmTitle").html(data.Title);find(".openDestination").html(data.OpenDestinationLightbox)
var dialog=wrapper().replaceWith("");dialog.css('display','block');modal.content=dialog.outerHtml();};function readdToDom()
{var dialog=wrapper().replaceWith("");dialog.hide();$("body").append(dialog);};function hookUpEvents(modal)
{find(".closeConfirmation, .returnTo").click(function(e)
{e.preventDefault();modal.close();});find(".openDestination").click(function(e){e.preventDefault();document.location='/lightboxes/'+data.DestinationLightboxId;});};$(document).bind(events.Modal.BeforeClose,function(){location.reload();});return{display:function()
{modal=new ModalDialog(width,0);setContent();modal._show();hookUpEvents(modal);},close:function()
{modal.close();}};};

function LightboxResultProvider(){this.NoResults="LightboxDetailsNoResults";this.HasResults="LightboxDetailsHasResults";}
LightboxResultProvider.prototype={GetResults:function(lightboxId,pageNumber){var context=this;Core.GetHtml("/lightboxes/assets/"+lightboxId,{"pageNumber":pageNumber},false,function(data){context.Notify(data,false);});},RemoveAndRefresh:function(assets,lightbox){var context=this;Core.PostHtml("/lightboxes/remove/assets",{"LightboxId":lightbox,"Assets":assets},false,function(data){context.Notify(data,true);});},Notify:function(data,isRefresh){if($.isJson(data)){data=$.evalJson(data);$(document).trigger({type:this.HasResults,results:data});}
else{if(isRefresh){document.location.reload();}
else{$(document).trigger({type:this.NoResults,results:data});$(".removeAsset").addClass("hidden");}}}};

function LightboxDetailController(lightboxIdProvider,lightBoxIdStorage,isShared)
{var controller=this;this.ResultProvider=new LightboxResultProvider();this.NoResultHandler=new LightboxNoResultHandler();this.AssetSelector=Lightboxes.assetSelector();this.LightboxIdProvider=lightboxIdProvider;var deleteLightboxModal={};if(window.DeleteLightboxModal)
deleteLightboxModal=DeleteLightboxModal(function(){document.location.href="/lightboxes/delete";});var renameLightboxModal={};if(window.RenameLightboxModal)
renameLightboxModal=RenameLightboxModal();this.ResultHandler=new LightboxResultHandler(Spark.Lightboxes.Shared._LightboxResults,isShared,new ShareLightboxModal(Lightboxes.sharedLightboxModalProvider()),new CreateLightboxDetailModal(),deleteLightboxModal,renameLightboxModal,new DocumentLocation());this.HistoryProvider=new ActionHistoryProvider();this.AssetParser=new AssetParser();this.LightboxIdStorage=lightBoxIdStorage;this.RemoveAlert=new RemoveSelectedAssetsAlert();$(document).bind(controller.ResultProvider.NoResults,function(data)
{controller.NoResultHandler.HandleResult(data);controller.LightboxIdStorage.Save(controller.LightboxIdProvider.GetLightboxId());});$(document).bind(controller.ResultProvider.HasResults,function(data)
{var model={Assets:data.results.Assets,ListOAssets:controller.AssetParser.Parse(data.results.Assets),Id:data.results.Id,NameAndCount:data.results.NameAndCount,Name:data.results.Name};controller.ResultHandler.HandleResult(model);Paging.SetUp(data.results.PagingData,function()
{_executeResults(controller.LightboxIdProvider.GetLightboxId(),Paging.CurrentPage);controller.HistoryProvider.save(Paging.CurrentPage);});ResultsPerPage.SetUp(function()
{_executeResults(controller.LightboxIdProvider.GetLightboxId(),Paging.CurrentPage);controller.HistoryProvider.save(Paging.CurrentPage);});Preview.HookupHoverEvents();controller.LightboxIdStorage.Save(controller.LightboxIdProvider.GetLightboxId());Lightboxes.setRemoveButton();$(".removeAsset").removeClass("hidden");$(".selection").uncheck();$(".selection").click(function()
{Lightboxes.setRemoveButton();});});controller.AssetSelector.init();$(".remove-lightbox-assets").click(function(e)
{e.preventDefault();if($(".selection:checked").length>0)
{controller.RemoveAlert.display(controller.AssetSelector.getSelectedAssetIds(),controller.LightboxIdProvider.GetLightboxId());}});$(".move-lightbox-assets").click(function(e)
{e.preventDefault();if($(".selection:checked").length>0)
{MoveOrCopyDialog(controller.LightboxIdProvider.GetLightboxId(),controller.AssetSelector.getSelectedAssetIds()).display();}});$(document).bind("RemoveAssetsFromLightbox",function(args)
{Lightboxes.disableRemoveButton();if(args.assets.length>0)
{$("#LightboxContent").html("<img src='/images/ajax-loader.gif' />");controller.ResultProvider.RemoveAndRefresh(args.assets,args.lightbox);}});var _executeResults=function(lightboxid,page)
{$("#LightboxContent").html("<img src='/images/ajax-loader.gif' />");controller.ResultProvider.GetResults(lightboxid,page);};this.GetResults=function()
{this.HistoryProvider.Init(function()
{var pageNumber=parseInt(document.location.hash.substr(1),10)
if(!pageNumber)
{pageNumber=1;}
_executeResults(controller.LightboxIdProvider.GetLightboxId(),pageNumber);});};}

function LightboxNoResultHandler(){}
function LightboxResultHandler(view,isShared,sharedLightboxModal,createLightboxModal,deleteLightboxModal,renameLightboxModal,location){this.view=view;this.isShared=isShared;this.createLightboxModal=createLightboxModal;this.shareLightboxModal=sharedLightboxModal;this.deleteLightboxModal=deleteLightboxModal;this.renameLightboxModal=renameLightboxModal;this.location=location;}
(function(){function wireUpDelete(lightboxName){var domElements=$("#LightboxActions .deleteLightbox");domElements.unbind("click");domElements.click(function(e){var deleteLightboxModal=DeleteLightboxModal(function(){document.location.href="/lightboxes/delete";});deleteLightboxModal.display(lightboxName);e.preventDefault();});}
function wireUpRename(lightboxName){var domElements=$("#LightboxActions #RenameLightbox");domElements.unbind("click");domElements.click(function(e){var renameLightboxModal=RenameLightboxModal(function(){document.location.href="/lightboxes/rename";});renameLightboxModal.display(lightboxName);e.preventDefault();});}
LightboxNoResultHandler.prototype={HandleResult:function(args){$("#LightboxContent").html(args.results);Paging.SetDefaultPaginationStatus();$('.CreateNewLightbox').click(function(){var a=new CreateLightboxDetailModal();a.display();return false;});$("#LightboxSelect").change(function(){new DocumentLocation().ChangeLocation("/lightboxes/"+$(this).val());});wireUpDelete($("#SelectedLightboxName").text());wireUpRename($("#SelectedLightboxName").text());}};LightboxResultHandler.prototype={HandleResult:function(model){function query(){var querySerializer;if(Search&&Search.querySerializer){querySerializer=Search.querySerializer({text:function(){return"";}},Search.defaultMediaSelector(),Search.savedFilters(Search.savedSettings()),Search.defaultCollectionsSelector());return"&sq="+querySerializer.build();}
return"";};var context=this;var results=this.view.RenderView({"assets":model.Assets,"shared":this.isShared});$("#LightboxNameAndCount").html(model.NameAndCount);$("#LightboxSelect option:selected").html(model.NameAndCount);$("#LightboxContent").html(results);var domElements=$("#LightboxActions .CreateNewLightbox");domElements.unbind("click");domElements.click(function(e){context.createLightboxModal.display();e.preventDefault();});var domElements=$("#RenameLightbox");domElements.unbind("click");domElements.click(function(e){context.renameLightboxModal.display();e.preventDefault();});domElements=$("#LightboxActions .shareLightbox");domElements.parent().show();domElements.unbind("click");domElements.click(function(e){context.shareLightboxModal.display(model.Id);e.preventDefault();});wireUpDelete(model.Name);domElements=$("#LightboxSelect");domElements.unbind("change");domElements.change(function(){context.location.ChangeLocation("/lightboxes/"+$(this).val());});domElements=$(".detailLink");domElements.unbind("click");domElements.click(function(e){Core.OpenAdp($(this).attr("href")+"?al="+model.ListOAssets+query());e.preventDefault();});}};})();

function LightboxCookieManager()
{}
LightboxCookieManager.prototype={ActiveLightboxId:function()
{var cookie=CookieManager.getCookie(CookieManager.UserCookieName);var value=cookie.getValue("LB");return value||0;},SetActive:function(lightboxId)
{var cookie=CookieManager.getCookie(CookieManager.UserCookieName);cookie.setValue("LB",lightboxId);cookie.save(true);}};

function CookieBasedLightboxIdStorage()
{this.LightboxCookieManager=new LightboxCookieManager();}
CookieBasedLightboxIdStorage.prototype={Save:function(id)
{this.LightboxCookieManager.SetActive(id);}};function NoLightboxIdStorage()
{this.Save=function(id)
{};}

function CookieBasedLightboxIdProvider()
{this.UrlParser=new UrlParser();this.LightboxCookieManager=new LightboxCookieManager();}
CookieBasedLightboxIdProvider.prototype={GetLightboxId:function()
{var lastFragment=this.UrlParser.LastFragment();if(isNaN(lastFragment))
{return this.LightboxCookieManager.ActiveLightboxId();}
return lastFragment;}};