
browse=function(){CategoryPagerConfig=null;}
dgo.browse=new browse();browse.prototype.loadKeywordCloud=function(settings,state){var _this=this;var options={keywordCloudPlaceHolderId:"KeywordCloudPlaceHolder",templatesPlaceHolderId:templatesPlaceHolderId_Default,contentItemsListPlaceholderId:"ContentItemListPlaceHolder",maxItems:20};var options=$.extend(options,settings);if(state!=null){dgo.setCurrentState(state);}
var args={filter:{LanguageToken:dgo.getCurrentState().LanguageToken,ItemsPerPage:options.maxItems}};getFontSize=function(value){if(value>=0.99){return"xx-large";}
if(value>=0.6){return"x-large";}
if(value>=0.4){return"large";}
if(this.value>=0.2){return"medium";}
return"small";}
var $placeHolder=$("#"+options.keywordCloudPlaceHolderId);$.ajax({type:"POST",url:"ContentService.svc/json/GetKeywordCloud".getServerProxy(),data:ToJson(args),success:function(result){$(result).each(function(intIndex){var keyword=this;var $clone=$("#"+options.templatesPlaceHolderId+" #KeywordTemplate").clone().attr("id","keyword_"+intIndex);$clone.find(".keyword").text(keyword.key).css("font-size",getFontSize(keyword.value));$clone.find(".value").text(keyword.value);$placeHolder.append($clone);$clone.click(function(){dgo.browse.reloadCategoryPagerKeywords(options,[keyword.key]);});})}});}
browse.prototype.changeCategoryPage=function(settings,pageNumber){settings.filter.PageNumber=pageNumber;this.getCategoryPager(settings);}
browse.prototype.reloadCategoryPagerKeywords=function(settings,keywords){var $pagerPlaceHolder=$("#"+settings.contentItemsListPlaceholderId);var pagerSettings=$pagerPlaceHolder.data("options");pagerSettings.keywords=keywords;pagerSettings.filter.CategoryHierarchy=null;pagerSettings.filter.SearchQuery=null;this.getCategoryPager(pagerSettings);}
browse.prototype.reloadCategoryPagerSorting=function(settings,sortCriteria){var $pagerPlaceHolder=$("#"+settings.contentItemsListPlaceholderId);var pagerSettings=$pagerPlaceHolder.data("options");pagerSettings.filter.Keywords=null;pagerSettings.filter.CategoryHierarchy=null;pagerSettings.filter.SortCriteria=sortCriteria;pagerSettings.filter.SearchQuery=null;this.getCategoryPager(pagerSettings);}
browse.prototype.reloadCategoryPagerHierarchy=function(settings,hierarchy){var $pagerPlaceHolder=$("#"+settings.contentItemsListPlaceholderId);var pagerSettings=$pagerPlaceHolder.data("options");pagerSettings.filter.CategoryHierarchy=hierarchy;pagerSettings.filter.PageNumber=0;pagerSettings.filter.Keywords=null;pagerSettings.filter.SearchQuery=null;this.getCategoryPager(pagerSettings);}
browse.prototype.loadCategoryBasedControl=function(settings,state){var _this=this;var options={categoryBasedPlaceHolderId:"CategoryBasedPlaceHolder",contentItemsListPlaceholderId:"ContentItemListPlaceHolder",mode:"TreeView",dropdownWidth:250,multiColumn:false,horizontalAlignment:'left',treeItemLinkHandled:false,templatesPlaceHolderId:templatesPlaceHolderId_Default};var options=$.extend(options,settings);if(state!=null){dgo.setCurrentState(state);}
if(options.mode=="TreeView"){var $tree=$("#"+options.categoryBasedPlaceHolderId+" .root").treeview();if(!options.treeItemLinkHandled){var $item=$tree.find(".item");var clickFunc=null;if(options.selectionCallback==null){clickFunc=function(name,hierarchy,keywords){return true;};}else{clickFunc=options.selectionCallback;}
$item.click(function(){var $this=$(this);var refresh=clickFunc($this.find(".text").text(),$this.find(".key").text(),$this.find(".value").text());if(refresh){dgo.browse.reloadCategoryPagerHierarchy(options,$this.find(".key").text());}
return false;});}}else if(options.mode=="DropDown"){$('#'+options.categoryBasedPlaceHolderId+" .content").dropdownmenu({buttonText:options.defaultSelectionText,selectionCallback:options.selectionCallback,multiColumn:options.multiColumn,columnCount:options.columnCount,multipleChoice:options.multipleChoice,positionOpts:{directionH:options.horizontalAlignment},width:options.dropdownWidth,showSpeed:50});}}
browse.prototype.reloadCategoryPager=function(settings){this.getCategoryPager(settings);}
browse.prototype.prepareRating=function($element,rating,contentItemId){var enableRating=false;var userRating=rating==null?0:rating.AverageRating;var userRatingCount=rating==null?0:rating.AbsoluteRatingCount;if(dgo.getCurrentState().User!=null){if(rating==null||rating.RatingEntry==null||rating.RatingEntry.length==0){enableRating=true;}else{$element.attr("title","Ihre Bewertung: "+rating.RatingEntry[0].RatingValue);}}
$element.data("data",{UserRating:userRating,RatingCount:userRatingCount,Id:contentItemId,Enabled:enableRating});}
browse.prototype.rateElement=function($element){var data=$element.data("data");if(data==null){return;}
var userId=null;if(dgo.getCurrentState().User!=null){userId=dgo.getCurrentState().User.Id;}
$element.starRater({postHref:"UpdateRating.ashx".getServerProxy(),rating:data.UserRating,method:"POST",enabled:data.Enabled,data:{__type:"ContentItemRatingRequest:#content.db.model",ItemId:data.Id,PortalId:dgo.getCurrentState().PortalId,UserId:userId},size:20,count:data.RatingCount});}
browse.prototype.getCategoryPager=function(settings,state){var _this=this;var options={showPager:true,showFilter:true,detailLevel:2,filter:{ItemsPerPage:12,PageNumber:0,ApprovalState:"None",CategoryHierarchy:null,FilterForUser:false,PreviewSize:"Medium",SearchQuery:null,SortCriteria:"Newest",LanguageToken:dgo.getCurrentState().LanguageToken,User:dgo.getCurrentState().User},controlLoaded:null,contentItemsListPlaceholderId:"ContentItemListPlaceHolder",templatesPlaceHolderId:templatesPlaceHolderId_Default,initialized:false};var options=$.extend(options,settings);options.filter.PortalId=dgo.getCurrentState().PortalId;dgo.MergeState(state);function setDetailLevel($element,level){var $rating=$element.find(".PreviewRating").hide();var $label=$element.find(".PreviewLabel").hide();var offset=$label.height()+$rating.height();$element.unbind('mouseenter').unbind('mouseleave')
if(level==0){$label.addClass("PreviewHidden");$rating.addClass("PreviewHidden");}else if(level==1){$label.removeClass("PreviewHidden").show();$rating.addClass("PreviewHidden").hide();}else if(level==2){$label.removeClass("PreviewHidden").show();$rating.removeClass("PreviewHidden").show();}
dgo.browse.rateElement($rating);}
var $placeHolder=$("#"+options.contentItemsListPlaceholderId);$placeHolder.data("options",options);var $ImageHolder=$placeHolder.find("#ImageHolder");var $PagerHolder=$placeHolder.find("#PagerHolder");var $PagerOptionsHolder=$placeHolder.find("#PagerOptionsHolder");if(options.showFilter&&options.initialized){options.filter.ItemsPerPage=$PagerOptionsHolder.find("select#ItemsPerPage option:selected").val();options.filter.PreviewSize=$PagerOptionsHolder.find("select#ThumbSize option:selected").val();options.filter.SortCriteria=$PagerOptionsHolder.find("select#SortCriteria option:selected").val();options.detailLevel=$PagerOptionsHolder.find("select#DetailLevel option:selected").val();}
if(options.showFilter&&!options.initialized){$PagerOptionsHolder.find("select#ItemsPerPage").val(options.filter.ItemsPerPage).change(function(){_this.reloadCategoryPager(options);});$PagerOptionsHolder.find("select#ThumbSize").val(options.filter.PreviewSize).change(function(){_this.reloadCategoryPager(options);});$PagerOptionsHolder.find("select#SortCriteria").val(options.filter.SortCriteria).change(function(){_this.reloadCategoryPager(options);});$PagerOptionsHolder.find("select#DetailLevel").val(options.detailLevel).change(function(){options.detailLevel=$PagerOptionsHolder.find("select#DetailLevel option:selected").val();$ImageHolder.find(".dgo-db-page").each(function(){setDetailLevel($(this),options.detailLevel);});});$PagerOptionsHolder.show();options.initialized=true;}
var itemsPerPage=options.filter.ItemsPerPage;if(options.firstContentItemTemplateId!=null){itemsPerPage=itemsPerPage-1;}
if(options.nextPageContentItemTemplateId!=null){itemsPerPage=itemsPerPage-1;}
var filter=jQuery.extend(true,{},options.filter);filter.LanguageToken=dgo.getCurrentState().LanguageToken;filter.PortalId=dgo.getCurrentState().PortalId;filter.ItemsPerPage=itemsPerPage;filter.User=dgo.getCurrentState().User;var args={filter:filter}
$.ajax({url:"ContentService.svc/json/GetFilteredContentItems".getServerProxy(),type:'POST',data:ToJson(args),success:function(result){if(options.showPager){var pages=Math.ceil(result.OverallItemCount/itemsPerPage);$PagerHolder.pager({pageCount:pages,buttonClickCallback:function(pageNumber){_this.changeCategoryPage(options,pageNumber-1);}},options.pageNumber+1);$PagerHolder.show();}
$ImageHolder.empty();if(options.firstContentItemTemplateId!=null){$ImageHolder.append($("#"+options.firstContentItemTemplateId).clone());}
$(result.Items).each(function(intIndex){var imageSrcNormal=this.ImageBase+this.PreviewImage;var imageSrcBig=this.ImageBase+this.PreviewImageLarge;var imageSizeMax=this.PreviewImageMaxSize;var templateName=this.Name;var imageTitle=templateName+" ("+this.ViewCount+")";var templateGuid=this.ItemGuid;var templateGroup=this.TemplateGroupToken;var permaQuery=this.PermaQuery;var unifierTag=this.UnifierTag;var path="#"+options.contentItemsListPlaceholderId+" "+"#"+
options.templatesPlaceHolderId+" "+"#PreviewContainerTemplate";var $clone=$(path).clone().attr("id","PreviewContainer_"+intIndex);if(options.permaLinkCallback!=null){var $previewPermaLink=$clone.find(".dgo-db-page-link");$previewPermaLink.attr("href",options.permaLinkCallback(permaQuery,templateName,unifierTag));}
var padding=2;var $previewImageHolder=$clone.find(".dgo-db-page-holder").css("width",(imageSizeMax+2*padding)+"px").css("height",(imageSizeMax+2*padding)+"px").find("img").each(function(i,element){var $this=$(this);var imgTmp=new Image();imgTmp.src=imageSrcNormal;imgTmp.onload=function(){$this.css("margin-top",(imageSizeMax-imgTmp.height+padding)/2);$this.css("margin-left",(imageSizeMax-imgTmp.width+padding)/2);};this.onload=function(){$this.show();};$this.attr("src",imgTmp.src);});if(args.PreviewSize!="Large"){$previewImageHolder.tooltip({track:false,fade:true,delay:500,showURL:false,bodyHandler:function(){return $("<img alt='"+imageTitle+"'/>").attr("src",imageSrcBig);}});}
$clone.find(".dgo-db-page-label").html(imageTitle).css("width",imageSizeMax+"px");$clone.find(".dgo-db-page-holder").click(function(){if(options.designerCallback!=null){options.designerCallback(templateGuid,templateGroup,templateName,permaQuery);}else{document.location.href=options.designerUri.replace("{0}",templateGuid).replace("{1}",templateGroup).replace("{2}",templateName).replace("{3}",permaQuery);}});$ImageHolder.append($clone);$rating=$clone.find(".dgo-db-page-rating");$rating.attr('id',templateGuid);dgo.browse.prepareRating($rating,this.Rating,templateGuid);setDetailLevel($clone,options.detailLevel);});if(options.nextPageContentItemTemplateId!=null&&(options.filter.PageNumber+1)<pages){var $NextItem=$("#"+options.nextPageContentItemTemplateId).clone();$NextItem.click(function(){_this.changeCategoryPage(options,options.filter.PageNumber+1);return false;});$ImageHolder.append($NextItem);}
if(options.controlLoaded!=null){options.controlLoaded();}}});}