{"version":3,"sources":["_layouts/core/windows/window.js","_layouts/core/windows/gridwindow.js","_layouts/core/windows/addratingwindow.js","_layouts/core/windows/categoryselectwindow.js","_layouts/core/windows/changedatewindow.js","_layouts/core/windows/changepassword.js","_layouts/core/windows/confirmwindow.js","_layouts/core/windows/createcategorywindow.js","_layouts/core/windows/customdownloadwindow.js","_layouts/core/windows/disclosurewindow.js","_layouts/core/windows/groupselectwindow.js","_layouts/core/windows/htmlinputwindow.js","_layouts/core/windows/htmlwindow.js","_layouts/core/windows/imageselectwindow.js","_layouts/core/windows/infowindow.js","_layouts/core/windows/inputwindow.js","_layouts/core/windows/librarytreewindow.js","_layouts/core/windows/logindialog.js","_layouts/core/windows/messagepreviewwindow.js","_layouts/core/windows/metatreewindow.js","_layouts/core/windows/onbehalfwindow.js","_layouts/core/windows/permissionwindow.js","_layouts/core/windows/popup.js","_layouts/core/windows/shareonlinkedinwindow.js","_layouts/core/windows/subscribewindow.js","_layouts/core/windows/timestampsharewindow.js","_layouts/core/windows/treeactionwindow.js","_layouts/core/windows/userprofilewindow.js","_layouts/core/windows/usersettings.js","_layouts/core/windows/videorecorderwindow.js","_layouts/core/windows/viewfeedbackwindow.js","_layouts/core/windows/viewratingswindow.js","_layouts/core/upload/fileuploadwindow.js","_layouts/core/upload/html5uploadwindow.js"],"names":["Librarian","Window","Class","Extends","MUI","Binds","options","id","minimizable","maximizable","resizable","initialize","this","setOptions","type","$","modalInitialize","window","addEvent","setModalSize","onResize","bind","onContentLoaded","$empty","onWindowLoaded","toolbarOnload","onToolbarLoaded","toolbar2Onload","onToolbar2Loaded","footerOnload","onFooterLoaded","onClose","onBlur","removeEvents","onFocus","addEvents","onMaximize","onRestore","contentURL","addVersion","toolbarURL","toolbar2URL","footerURL","parent","url","contains","buildVersion","document","addOnKeyPress","onKeyPressed","removeOnKeyPress","event","key","closeWindow","stop","resize","centered","Lang","translateElements","windowEl","centerWindow","updateTitle","width","itemEl","isMaximized","getWidth","set","getFittedTitle","title","substring","length","defaults","height","Object","merge","addClass","contentEl","scrollHeight","removeClass","docSize","getSize","maxWidth","x","maxHeight","y","headerHeight","footerHeight","toolbar","toolbarHeight","toolbar2","toolbar2Height","Math","min","setupElements","elems","getElements","toolbarEl","concat","toolbar2El","i","elem","startsWith","getElement","elemId","selector","modalOverlayEl","Element","styles","getCoordinates","opacity","inject","body","setStyles","position","Browser","Engine","trident4","getTouchOrMouseEvent","instance","Windows","instances","get","currentModal","modalOverlayClose","scrolling","marginWidth","marginHeight","src","Modal","modalOverlayOpenMorph","Fx","Morph","duration","modalOverlayCloseMorph","onComplete","hide","setStyle","GridWindow","limit","selection","selected","searchable","uidField","gridOptions","columnModel","header","getString","dataIndex","dataType","multipleSelection","pagination","serverSort","sortHeader","perPage","gridEl","grid","typeOf","path","getLayoutsPath","omniGrid","onLoadData","onDoubleClick","onSelect","onRowCheck","setupHeader","value","addOnClick","close","onSubmit","destroy","self","filterEls","term","search","e","evt","Event","keyCode","isMultiSelect","some","column","useParameters","formatSearchValue","params","getSearchParams","nameFilter","searchWithOptions","obj","data","getDataByRow","row","index","findSelected","input","checked","Utils","error","getArgString","push","remove","isSelected","uid","fireEvent","AddRatingWindow","itemType","itemData","isEditing","rating","getPluralString","ratings","override","getLibraryPath","suffix","getItemTypeString","toLowerCase","slidenumber","onPreviewClicked","onEditClicked","onSubmitClicked","setElementValue","userInfo","DisplayName","Date","format","name","starEls","onStarMousedOver","presid","groupname","filename","ext","getExtensionFromData","endsWith","toInt","ratingsRequest","cancel","buttonEl","target","hasClass","comment","getElementValue","textToHtml","toggleEdit","edit","editElements","inlineElements","trim","contentType","undefined","groupid","eventcount","eventGroup","globalFavorite","myFavorite","fileid","file","eventgroupinfo","slideid","slide","eventid","setButtonState","cmtxt","out","Request","JSON","getMethodUrl","method","onSuccess","newRating","notification","notify","onFailure","send","starEl","attributes","siblingEls","getSiblings","siblingValue","toggleClass","content","getAttributes","getContactInfo","contact","sendNotification","gid","fid","toQueryString","json","recipient","len","meta","Name","notifyMetaData","Value","contacts","onRequestComplete","recipients","emails","split","requestCount","email","subject","sessionInfo","UserInfo","messageBody","message","sender","templateId","stringify","Base64","encode","getUpdateUrl","CategorySelectWindow","padding","top","bottom","left","right","selectedCategories","selectedCategoryIDs","catType","rootCat","multiSelect","treeView","container","checkBoxes","hideTypes","cookieStorage","useViewinCategorySelect","contentView","specialCategories","GlobalFavorites","CatId","Library","getTreeOptions","TreeView","onTreeNodeLoaded","load","onSelectClicked","setCheckboxState","children","getChildren","getChecked","catid","getSelected","ChangeDateWindow","allowNever","initialValue","datePicker","extractDateFromString","dateRadioEl","dateBoxEl","getTodayDateString","show","changeDate","setUpDatePicker","dateBox","timePicker","newDate","dateEl","radioEl","date","d","dateStr","getMonth","getDate","getFullYear","ChangePasswordWindow","changePassword","sessionType","Session","sessionTypes","sso","isVisible","focus","onkeydown","oldPass","newPass","confirmPass","userSession","onUpdateComplete","ConfirmWindow","firstButtonText","firstButtonClass","secondButtonText","secondButtonClass","useSecondButton","thirdButtonText","thirdButtonClass","useThirdButton","doCompleteOnThirdButton","fourthButtonText","fourthButtonClass","useFourthButton","fifthButtonText","fifthButtonClass","useFifthButton","question","defaultButton","onFirstButtonClicked","onSecondButtonClicked","onThirdButtonClicked","onFourthButtonClicked","onFifthButtonClicked","onAfterClose","buttonClicked","onButtonOneClicked","onButtonTwoClicked","onButtonThreeClicked","onButtonFourClicked","onButtonFiveClicked","questionIsHtml","isClosing","windowContentsEl","CreateCategoryWindow","parentCatId","addCategory","catFormEl","encodeURIComponent","description","hasOwnProperty","CustomDownloadWindow","pageName","titleName","formData","onLoad","onConfirm","submit","DisclosureWindow","getGridOptions","onChange","noResize","GroupSelectWindow","groupName","enableComments","canChooseGroup","noDefault","request","getUserGroupInfo","onGroupMembersLoaded","commentEl","selectEl","getSelectedValue","selectedName","getSelectedItem","text","stripTags","selectedIndex","add","Option","groupId","getName","member","isGroup","displayName","members","sort","a","b","aName","bName","userId","HTMLInputWindow","onCancel","tinyMCE","execCommand","editor","resizeInputMessageBox","contentPadding","getStyle","contentHeight","getHeight","inputAreaEl","inputAreaHeight","siblings","siblingsHeight","Array","sum","inputEl","getTinyMCEOptions","plugins","disableEditorToolbar","showCodeButton","setup","addTinyMCEButton","on","ed","replace","init","okButton","getContent","replaceAll","cancelButton","HTMLWindow","placeholders","keys","forEach","html","setHeight","ImageSelectWindow","subtype","tmpl","all","uploadWindow","selectedImag","upload","select","getImages","getSupportUrl","SupportFiles","supportFileTypes","image","addImages","images","list","empty","imageEl","class","selectImage","selectedImage","previewEl","getDownloadUrl","hash","FileUploadWindow","uploadUrl","acceptType","InfoWindow","textAreaEl","copyButtonEl","navigator","clipboard","writeText","setTimeout","InputWindow","buttonLabel","textArea","inputHeight","maxLength","messageRequired","messageEl","okButtonEl","label","cancelButtonEl","LibraryTreeWindow","treeType","checkboxTypes","treeViews","selectedContent","from","tree","getMyFavoritesTree","getGlobalFavoritesTree","getUploadsTree","getUploadUrl","reload","getCreationsTree","getArticlesTree","getSlideShowTree","getUserSlideShowTree","getLibraryTree","node","PreviewWindow","openPreviewWindow","isOpen","toggle","cpath","pcid","allowNodeReselect","rootMethod","UserFavorites","UserUploads","formatName","isRoot","UserApproved","articles","Articles","useweb","virtPresType","sharedSlideshow","slideshow","j","LoginDialog","closable","inputs","$$","features","openPage","Email","onBehalf","originalUserInfo","password","session","credentials","getCredentials","errorEl","toggleDisabled","onLogon","logon","username","loginFormEl","sessionKey","SessionKey","xhr","isMfaRequired","handleMFA","responseText","mfaInfo","parse","loginPanel","MFAPanel","disabled","submitButtonEl","setButtonDisabled","MessagePreviewWindow","footerHide","eventType","allowChangeTemplate","permissionedTemplates","editable","editMode","editableSelector","recipientIndex","updateInfoFn","onSave","onTemplateChange","previewFrame","templates","template","handlePositionLimits","loadChain","Chain","chain","initPreviewPanel","callChain","editCommands","previewCommands","recipientCommands","previewMultipleRecipients","setupRecipientCommands","setEditMode","save","prevEl","nextEl","getPreview","getTemplates","eventTemplate","setTemplate","previewColumn","Column","contentWrapperEl","placement","sortable","previewPanel","Panel","loadMethod","collapsible","doc","contentDocument","contentWindow","previewContentEl","getElementById","iframeEl","initTemplatePanel","templateColumn","resizeLimit","templatePanel","tempItem","onTemplateSelect","tempDesc","tempImg","supportfileid","setAttribute","removeAttribute","eventInfo","eventSendInfo","getPreviewRecipient","getEventUrl","setPreviewContent","clientWidth","link","href","match","onclick","inline","forced_root_block","noneditable_regexp","indent_use_margin","enabled","parentElement","getTemplateId","MetaTreeWindow","treeContainer","attributeId","attributeName","selectedData","checkChildren","loadTree","onNodeChecked","attribcatid","subset","removeSelected","hasChildren","recursive","attribCatId","contEl","atid","atname","forest","rootUrl","baseLoad","apply","noCache","loadOptions","onTreeChildLoaded","getParent","state","OnBehalfWindow","currentFilter","doFilter","loadData","page","loginOnBehalf","getUrl","getColumnModel","pageChangeHandler","customSortHandler","sortOn","sortBy","labelFunction","renderContactName","userid","location","PermissionWindow","checkedUsers","filter","getStandardContent","contentid","contenttype","reloadGrid","getPermissions","user","entityId","permissions","loadGrid","cmu","customCheckValue","getRowPermission","className","getContactNameClass","checkbox","li","getLiParent","readBox","checkboxes","writeBox","permission","removeAll","perPageChange","Popup","cornerRadius","controlsOffset","headerStartColor","headerStopColor","bodyBgColor","maximizeBgAlpha","maximizeAlpha","minimizeBgAlpha","minimizeAlpha","closeBgAlpha","closeAlpha","showOnce","popup","businessUnitsDropdown","htmlFile","isSurvey","useIframe","showOnceLinkClicked","setImage","setHtml","saveSetting","hasCompletedForm","PopupSetup","popupOptions","deleteSetting","imageUrl","imgEl","htmlIFrame","IFrame","events","form","getElementsByTagName","addEventListener","getFormData","serialize","submitSurvey","anchors","classList","grab","getSlideText","Text","closeWindowOnLinkClick","each","addResponse","response","topic","version","getTopic","topics","topicObj","addTopicMessage","topicId","createTopic","topicSubject","callBack","getCollaborationUrl","SubjectFilter","blankFunction","flags","topicFlags","internal","callback","elements","getSettings","jsonFile","loginPopup","popups","initPopups","slideText","jsonText","windowChain","showPopup","isPopupEnabled","linkedTo","modalClose","windowPopup","pass","item","today","startDate","endDate","exclusionList","isUserMemberOfGroupLike","inclusionList","getSettingName","getUrlLibraryName","getCookieName","UserId","settingName","cookieName","getUserSetting","setUserSetting","deleteUserSetting","ShareOnLinkedInWindow","clientId","auth_type","authEndpoint","shareStatusCookieName","downloadUrl","thumbnailUrl","linkedinaudience","authenticateAndShare","library","ShortName","origin","hostname","submittedUrl","submittedImageUrl","audience","startLoadingPhase","encodeStateParameter","redirectUri","authPageUrl","childWindow","openWindowCentered","watchChildWindow","watcher","setInterval","shareStatus","closed","clearInterval","endLoadingPhase","Cookie","read","dispose","w","h","screen","open","SubscribeWindow","recipientType","digestMode","selectedContacts","allowRecipients","setUpRecipients","onSaveClicked","subjectCont","messageCont","subscriptions","defaultSubject","defaultMessage","notifyEl","subfoldersEl","category","mode","external","isExternal","Contacts","contactTypes","wrapperEl","toBoxEl","getContactUrl","recipientSelect","MooSelect","Remote","minSearchLength","messages","minSearch","remoteOptions","dataPrepareFn","requestResponseHandler","displayname","contactid","contacttype","allowOtherResult","getStage","getResultData","resizeContainerBasedOnInput","defaultWidth","searchOnValue","customBuildStageResultHTML","renderContactSelectResult","customBuildResultHTML","renderContactSelectOption","subscription","subscriptionType","contentId","digest","subscriptionDigestFlags","subType","combinedDigest","subscriptionFlags","supportFileType","subscriptionNotification","supportFileId","TimeStampShareWindow","timestamp","minDuration","maxDuration","bodyHtml","getTime","bodyTemplate","Handlebars","compile","getVideoDetails","onContinue","isNaN","toHHMMSS","eventAttributes","validate","timestampSeconds","toSeconds","timestamps","videoStreamingUrl","videoEl","onloadedmetadata","append","seconds","max","sec","sec_num","parseInt","hours","floor","minutes","segments","magnitude","counter","Number","TreeActionWindow","selectedNode","reset","uploads","UserProfileWindow","defaultPhoto","profile","custom","size","showPasswordChange","disableChangePassword","allowSSOPassword","getAttribute","userPhoto","userLogo","el","uploadPhoto","uploadLogo","editSignature","saveProfile","initEmailGreetingHelp","loadProfileImage","loadLogoImage","loadProfile","formEl","FirstName","LastName","PhoneNumber","attributeEl","getAttributeFromArray","Attributes","onLoadProfile","deleteEl","getImagesPath","style","injectInside","removeUserPhoto","getFullPath","root","userProfileImage","removeUserLogo","getFileID","deleteUserFile","getSupportFiles","SupportFileId","deleteFile","getProfileInfo","pattern","validateInputPattern","placeholder","readOnly","isArray","join","attrInfo","attr","importOptions","fileType","ownerId","permissionFlags","Html5UploadWindow","allowedFileTypes","complete","chunkUrl","completeUrl","contentUrl","fileName","maxImageHeight","maxImageWidth","infoText","signature","tinymce","dom","emailGreetingOptions","greetingHelpEl","greetingInputEl","greetingHelpContentEl","bodyEl","stopPropagation","relativeTo","edge","offset","getNext","currentText","hideGreetingHelp","removeEvent","extend","UserSettings","defaultTab","onRestoreDefaults","loadMenuBarSettings","tabs","clone","customTabs","customUserSettings","menu","gotomeeting","webex","screenLeap","workflow","menuEl","tab","tabId","labelEl","static","tabName","checkBoxEl","settings","getProperty","setCustomUserSettings","defaultSettings","getCustomUserSettings","customSettings","libId","localStorage","VideoRecorderWindow","videoOptions","ideal","audioOptions","sampleRate","channelCount","volume","echoCancellation","noiseSuppression","mediaStream","recorder","chunks","onChangeMode","recordButton","record","stopButton","saveButton","setupVideoRecorder","MediaStream","muted","srcObject","MediaRecorder","mimeType","ondataavailable","onDataAvailable","onstop","onStop","setMode","cameraDisabled","screenDisabled","enableScreenPip","enableScreenCapture","enableCamera","cameraTracks","setMediaTracks","mediaDevices","getUserMedia","video","audio","then","onCameraLoad","catch","onCameraError","getTracks","console","promises","screenCaptureTracks","getDisplayMedia","Promise","onScreenCaptureLoad","onScreenCaptureError","results","videoStream","audioStream","tracks","aspectRatio","onScreenPipLoad","onScreenPipError","desktopStream","voiceStream","merger","VideoStreamMerger","addStream","mute","start","activeTracks","result","track","removeTrack","addTrack","startTimer","stopTimer","videoFile","getVideoFile","URL","createObjectURL","startTime","updateTimer","timer","trunc","toString","timerEl","Blob","getFileName","toISOString","uploader","Html5Uploader","onFileSuccess","onFileFailure","onSaveError","uploadNotification","uploadFile","ViewFeedbackWindow","feedbackTemplate","FeedbackTitle","registerHelper","string","getComments","onFeedbackLoaded","addComment","newComment","jsonList","List","cmtype","commentType","webLibrary","cntid","cnttype","sendRequest","commentText","in","deleteComment","commentId","cmid","editComment","apiMethod","getCommentsUrl","ViewRatingsWindow","rateTemplate","ratingTitle","Count","SafeString","onRatingsLoaded","titleText","buttonText","successText","fileNameOverride","xmlData","allowExtensions","allowMultiple","maxFileCount","onBeforeUpload","progressID","fileCount","fileHeight","uploadClicked","onAddFileClick","onRemoveFileClick","fileEl","getFileNameFromPath","extensions","extension","getExtension","sendUploadRequest","newFileName","action","iFrameFormRequest","responseDoc","hideProgressImage","showProgressImage","addEl","parentEl","cloneEl","indexOf","removeEl","waitForComplete","multiple","files","successCount","failureCount","notifyUploadComplete","fileList","img","validateFileTypes","performUpload","Image","onload","getSelectedMeta","FormData","coverEl","showModalCover","uploadFiles"],"mappings":"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","file":"_layouts\\core\\windows\\windows.bundle.min.js","sourcesContent":["Librarian.Window = new Class({\r\n Extends: MUI.Window,\r\n Binds: [\"onWindowLoaded\", \"onToolbarLoaded\", \"onToolbar2Loaded\", \"onFooterLoaded\",\r\n \"onKeyPressed\", \"onResize\", \"onMaximize\", \"onClose\", \"close\",\r\n \"addEvents\", \"removeEvents\"],\r\n\r\n options: {\r\n id: '',\r\n minimizable: false,\r\n maximizable: false,\r\n resizable: false\r\n },\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n if (this.options.type === \"modal\") {\r\n\r\n if(!$(\"modalOverlay\")) {\r\n\r\n // initialize modal overlay\r\n this.modalInitialize(); \r\n\r\n // set overlay size on window resize\r\n window.addEvent(\"resize\", function() {\r\n this.setModalSize();\r\n this.onResize();\r\n }.bind(this));\r\n\r\n }\r\n }\r\n\r\n // If we don't already have a onContentLoaded function, use our onWindowLoaded as the default\r\n if ((typeof this.options.onContentLoaded != \"function\") || (this.options.onContentLoaded == $empty))\r\n this.options.onContentLoaded = this.onWindowLoaded;\r\n\r\n // If we don't already have a toolbarOnload function, use our onToolbarLoaded as the default\r\n if ((typeof this.options.toolbarOnload != \"function\") || (this.options.toolbarOnload == $empty))\r\n this.options.toolbarOnload = this.onToolbarLoaded;\r\n\r\n if ((typeof this.options.toolbar2Onload != \"function\") || (this.options.toolbar2Onload == $empty))\r\n this.options.toolbar2Onload = this.onToolbar2Loaded;\r\n\r\n if ((typeof this.options.footerOnload != \"function\") || (this.options.footerOnload == $empty))\r\n this.options.footerOnload = this.onFooterLoaded;\r\n\r\n // Add and remove events when gaining and losing focus, as well as when the window is closed\r\n // but don't overwrite functions if the child classes already set them\r\n if ((typeof this.options.onClose != \"function\") || (this.options.onClose == $empty))\r\n this.options.onClose = this.onClose;\r\n if ((typeof this.options.onBlur != \"function\") || (this.options.onBlur == $empty))\r\n this.options.onBlur = this.removeEvents;\r\n if ((typeof this.options.onFocus != \"function\") || (this.options.onFocus == $empty))\r\n this.options.onFocus = this.addEvents;\r\n if ((typeof this.options.onResize != \"function\") || (this.options.onResize == $empty))\r\n this.options.onResize = this.onResize;\r\n if ((typeof this.options.onMaximize != \"function\") || (this.options.onMaximize == $empty))\r\n this.options.onMaximize = this.onMaximize;\r\n if ((typeof this.options.onRestore != \"function\") || (this.options.onRestore == $empty))\r\n this.options.onRestore = this.onRestore;\r\n\r\n if (typeof this.options.contentURL == \"string\")\r\n this.options.contentURL = this.addVersion(this.options.contentURL);\r\n if (typeof this.options.toolbarURL == \"string\")\r\n this.options.toolbarURL = this.addVersion(this.options.toolbarURL);\r\n if (typeof this.options.toolbar2URL == \"string\")\r\n this.options.toolbar2URL = this.addVersion(this.options.toolbar2URL);\r\n if (typeof this.options.footerURL == \"string\")\r\n this.options.footerURL = this.addVersion(this.options.footerURL);\r\n\r\n this.parent(this.options);\r\n\r\n },\r\n\r\n addVersion: function(url) {\r\n if (url.contains('?' + Librarian.buildVersion) || url.contains('&' + Librarian.buildVersion))\r\n return url;\r\n\r\n if (url.contains('?'))\r\n url += '&';\r\n else\r\n url += '?';\r\n\r\n return url + Librarian.buildVersion;\r\n },\r\n\r\n addEvents: function() {\r\n document.addOnKeyPress(this.onKeyPressed, this);\r\n },\r\n\r\n removeEvents: function() {\r\n document.removeOnKeyPress();\r\n },\r\n\r\n onClose: function() {\r\n this.removeEvents();\r\n },\r\n\r\n onKeyPressed: function(event) {\r\n // ESC closes the window\r\n if (event.key == \"esc\") {\r\n MUI.closeWindow($(this.options.id));\r\n event.stop();\r\n }\r\n },\r\n\r\n onWindowLoaded: function() {\r\n // Resize in case window is too big for the screen\r\n this.resize({ centered: true });\r\n\r\n Librarian.Lang.translateElements(this.windowEl);\r\n },\r\n\r\n onToolbarLoaded: function () {\r\n Librarian.Lang.translateElements(this.windowEl);\r\n },\r\n\r\n onResize: function () {\r\n if (this.options.type == \"modal\")\r\n MUI.centerWindow($(this.options.id));\r\n },\r\n\r\n onRestore: function() {\r\n },\r\n\r\n onMaximize: function() {\r\n },\r\n\r\n updateTitle: function() {\r\n // Set the displayed text on the title bar\r\n var itemEl = $(this.options.id + \"_title\");\r\n if (itemEl) {\r\n var width = this.options.width;\r\n if (this.isMaximized)\r\n width = window.getWidth();\r\n\r\n itemEl.set(\"text\", MUI.getFittedTitle(this.options.title, width));\r\n itemEl.title = this.options.title;\r\n }\r\n\r\n // Update the title of the dock tab for hover over\r\n itemEl = $(this.options.id + \"_dockTab\");\r\n if (itemEl)\r\n itemEl.title = this.options.title;\r\n\r\n // Update the text inside of the dock tab\r\n itemEl = $(this.options.id + \"_dockTabText\");\r\n if (itemEl)\r\n itemEl.set(\"text\", this.options.title.substring(0, 19) + (this.options.title.length > 19 ? \"...\" : ''));\r\n },\r\n\r\n resize: function(options) {\r\n var defaults = {\r\n width: this.options.width,\r\n height: this.options.height\r\n };\r\n\r\n options = Object.merge(defaults, options);\r\n\r\n if (options.height == \"auto\") {\r\n this.windowEl.addClass(\"resizing\");\r\n options.height = this.contentEl.scrollHeight;\r\n this.windowEl.removeClass(\"resizing\");\r\n }\r\n\r\n // Make sure window fits in the page\r\n var docSize = document.getSize();\r\n var maxWidth = docSize.x - 20;\r\n var maxHeight = docSize.y - 20;\r\n\r\n maxHeight = maxHeight - this.options.headerHeight - this.options.footerHeight;\r\n\r\n if (this.options.toolbar)\r\n maxHeight -= this.options.toolbarHeight;\r\n\r\n if (this.options.toolbar2)\r\n maxHeight -= this.options.toolbar2Height;\r\n\r\n options.width = Math.min(options.width, maxWidth);\r\n options.height = Math.min(options.height, maxHeight);\r\n\r\n this.options.width = options.width;\r\n this.options.height = options.height;\r\n\r\n this.parent(options);\r\n },\r\n\r\n setupElements: function(elems) {\r\n if (!elems) {\r\n elems = this.contentEl.getElements('[id]');\r\n if (this.toolbarEl)\r\n elems = elems.concat(this.toolbarEl.getElements('[id]'));\r\n if (this.toolbar2El)\r\n elems = elems.concat(this.toolbar2El.getElements('[id]'));\r\n }\r\n\r\n for (var i = 0; i < elems.length; i++) {\r\n var elem = $(elems[i]);\r\n // Only change the id if it has one and it hasn't already been changed\r\n if (elem && elem.id && !elem.id.startsWith(this.options.id + '_'))\r\n elem.id = this.options.id + '_' + elem.id;\r\n }\r\n },\r\n\r\n getElement: function(elemId) {\r\n return this.windowEl.getElement('#' + this.options.id + '_' + elemId) || this.windowEl.getElement('#' + elemId);\r\n },\r\n\r\n getElements: function(selector) {\r\n return this.windowEl.getElements(selector);\r\n },\r\n\r\n /* Modal Methods */\r\n modalInitialize: function() {\r\n var modalOverlayEl = new Element(\"div\", {\r\n \"id\": \"modalOverlay\",\r\n \"styles\": {\r\n \"height\": document.getCoordinates().height,\r\n \"opacity\": .6\r\n }\r\n }).inject(document.body);\r\n\r\n modalOverlayEl.setStyles({\r\n \"position\": Browser.Engine.trident4 ? \"absolute\" : \"fixed\"\r\n });\r\n\r\n modalOverlayEl.addEvent(getTouchOrMouseEvent(\"click\"), function() {\r\n var instance = MUI.Windows.instances.get(MUI.currentModal.id);\r\n if (instance && (instance.options.modalOverlayClose == true)) {\r\n MUI.closeWindow(MUI.currentModal);\r\n }\r\n });\r\n\r\n if (Browser.Engine.trident4) {\r\n new Element(\"iframe\", {\r\n \"id\": \"modalFix\",\r\n \"scrolling\": \"no\",\r\n \"marginWidth\": 0,\r\n \"marginHeight\": 0,\r\n \"src\": '',\r\n \"styles\": {\r\n \"height\": document.getCoordinates().height\r\n }\r\n }).inject(document.body);\r\n }\r\n\r\n MUI.Modal.modalOverlayOpenMorph = new Fx.Morph($(\"modalOverlay\"), {\r\n \"duration\": 150\r\n });\r\n MUI.Modal.modalOverlayCloseMorph = new Fx.Morph($(\"modalOverlay\"), {\r\n \"duration\": 150,\r\n onComplete: function() {\r\n $(\"modalOverlay\").hide();\r\n if (Browser.Engine.trident4)\r\n $(\"modalFix\").hide();\r\n }.bind(this)\r\n });\r\n },\r\n\r\n setModalSize: function() {\r\n $(\"modalOverlay\").setStyle(\"height\", document.getCoordinates().height);\r\n if (Browser.Engine.trident4)\r\n $(\"modalFix\").setStyle(\"height\", document.getCoordinates().height);\r\n }\r\n});","Librarian.GridWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"search\", \"onLoadData\", \"onRowCheck\", \"isSelected\", \"findSelected\", \"onDoubleClick\", \"onCancel\", \"onSubmit\"],\r\n\r\n options: {\r\n id: \"GridWindow\",\r\n title: \"\",\r\n width: 650,\r\n height: 570,\r\n limit: 0,\r\n\r\n selection: true,\r\n selected: null,\r\n\r\n searchable: true,\r\n\r\n // The name of the property which is a unique identifier for each item\r\n // Used for finding items in selected list\r\n uidField: \"name\",\r\n\r\n gridOptions: {\r\n columnModel: [\r\n {\r\n header: Librarian.Lang.getString(\"name\"),\r\n dataIndex: \"name\",\r\n dataType: \"string\",\r\n width: 225\r\n }\r\n ],\r\n url: null,\r\n multipleSelection: false,\r\n resizable: false,\r\n pagination: true,\r\n serverSort: false,\r\n sortHeader: true,\r\n perPage: 20,\r\n width: 625,\r\n height: 480\r\n }\r\n },\r\n\r\n gridEl: null,\r\n grid: null,\r\n selected: [],\r\n\r\n initialize: function (options) {\r\n this.setOptions(options);\r\n\r\n if (typeOf(this.options.selected) == \"array\")\r\n this.selected = this.options.selected;\r\n\r\n if (!this.options.contentURL)\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/grid.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function () {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var itemEl = this.gridEl = this.getElement(\"gridPanel\");\r\n if (itemEl) {\r\n this.grid = new omniGrid(itemEl.id, this.options.gridOptions);\r\n\r\n this.grid.addEvent(\"loaddata\", this.onLoadData);\r\n this.grid.addEvent(\"dblclick\", this.onDoubleClick);\r\n this.grid.onSelect = this.onRowCheck;\r\n }\r\n\r\n this.setupHeader();\r\n\r\n itemEl = this.getElement(\"cancelButton\");\r\n if (itemEl) {\r\n if (!this.options.selection)\r\n itemEl.value = \"Close\";\r\n\r\n itemEl.addOnClick(this.close);\r\n }\r\n\r\n itemEl = this.getElement(\"okButton\");\r\n if (itemEl) {\r\n if (!this.options.selection)\r\n itemEl.destroy();\r\n else\r\n itemEl.addOnClick(this.onSubmit);\r\n }\r\n },\r\n\r\n setupHeader: function () {\r\n var self = this,\r\n filterEls = this.windowEl.getElements(\"a.filterLetter\");\r\n for (var i = 0; i < filterEls.length; i++) {\r\n filterEls[i].addOnClick(function() {\r\n var term = this.get(\"text\");\r\n if (term == \"All\")\r\n term = null;\r\n else\r\n term += '%';\r\n\r\n self.search(term, false);\r\n });\r\n }\r\n\r\n if (this.options.searchable) {\r\n var itemEl = this.getElement(\"filterButton\");\r\n if (itemEl) {\r\n itemEl.addOnClick(function () {\r\n itemEl = this.getElement(\"filterTextBox\");\r\n if (itemEl)\r\n this.search(itemEl.value);\r\n }.bind(this));\r\n }\r\n\r\n itemEl = this.getElement(\"filterTextBox\");\r\n if (itemEl) {\r\n itemEl.addEvent(\"keypress\",\r\n function (e) {\r\n var evt = new Event(e);\r\n if (evt.keyCode == 13) {\r\n itemEl = this.getElement(\"filterTextBox\");\r\n if (itemEl)\r\n this.search(itemEl.value);\r\n evt.stop();\r\n return false;\r\n }\r\n }.bind(this));\r\n }\r\n } else {\r\n var itemEl = this.getElement(\"filterContainer\");\r\n if (itemEl) {\r\n itemEl.hide();\r\n }\r\n }\r\n },\r\n\r\n isMultiSelect: function () {\r\n return (this.grid.options.columnModel.some(function (column) {\r\n return column.dataType == \"checkbox\";\r\n }));\r\n },\r\n\r\n search: function (value, useParameters) {\r\n value = this.formatSearchValue(value);\r\n\r\n var params = this.getSearchParams(value);\r\n if ((params == null) || (useParameters === false))\r\n this.grid.search(value);\r\n else {\r\n params.nameFilter = value;\r\n\r\n this.grid.searchWithOptions(params);\r\n }\r\n },\r\n\r\n // Override to include % wildcards\r\n formatSearchValue: function (value) {\r\n return value;\r\n },\r\n\r\n getSearchParams: function (value) {\r\n return null;\r\n },\r\n\r\n onLoadData: $empty,\r\n onDoubleClick: function () {\r\n if (!this.options.selection)\r\n return;\r\n\r\n if (this.isMultiSelect())\r\n return;\r\n\r\n this.onSubmit();\r\n },\r\n\r\n onRowCheck: function (obj) {\r\n var data = this.grid.getDataByRow(obj.row),\r\n index = this.findSelected(data);\r\n\r\n if (obj.input.checked && (index == -1)) {\r\n if ((this.options.limit > 0) && (this.selected.length >= this.options.limit)) {\r\n Librarian.Utils.error(Librarian.Lang.getArgString(\"limit_reached\", this.options.limit));\r\n // Uncheck the check box\r\n if (obj.input)\r\n $(obj.input).set(\"checked\", false);\r\n }\r\n else\r\n this.selected.push(data);\r\n }\r\n else if (!obj.input.checked && (index >= 0))\r\n this.selected.remove(index);\r\n },\r\n\r\n isSelected: function (row) {\r\n var data = this.grid.getDataByRow(row);\r\n return this.findSelected(data) != -1;\r\n },\r\n\r\n findSelected: function (data) {\r\n var uid = this.options.uidField;\r\n for (var i = 0, length = this.selected.length; i < length; i++) {\r\n var item = this.selected[i];\r\n if (item[uid] == data[uid])\r\n return i;\r\n }\r\n\r\n return -1;\r\n },\r\n\r\n onSubmit: function () {\r\n var data;\r\n if (this.isMultiSelect())\r\n data = this.selected;\r\n else\r\n data = this.grid.getDataByRow(this.grid.selected[0]);\r\n\r\n if (data)\r\n this.fireEvent(\"complete\", [data]);\r\n\r\n this.close();\r\n }\r\n});","Librarian.AddRatingWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onPreviewClicked\", \"onSubmitClicked\"],\r\n\r\n options: {\r\n id: \"AddRatingWindow\",\r\n itemType: null,\r\n itemData: null,\r\n width: 500,\r\n height: 310\r\n },\r\n\r\n isEditing: true,\r\n rating: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n if ((this.options.itemData == null) || (this.options.itemType == null))\r\n return;\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getPluralString(\"rating\", 2);\r\n\r\n if (!Librarian.ratings.override)\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/\";\r\n else\r\n this.options.contentURL = Librarian.path.getLibraryPath();\r\n this.options.contentURL += \"ratings/addratingwindow.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var suffix = this.options.itemType;\r\n\r\n // If this is a slide, print out the correct slide type (\"Slide\" vs. \"Page\") and the slide number\r\n if (this.options.itemType == \"slide\") {\r\n var type = Librarian.Utils.getItemTypeString(this.options.itemData);\r\n suffix = type.toLowerCase() + \" #\" + this.options.itemData.slidenumber;\r\n }\r\n\r\n this.getElement(\"rateType\").set(\"text\", Librarian.Lang.getArgString(\"rating_rate_type\", [suffix]) + \": \");\r\n\r\n var itemEl = this.getElement(\"ratePreview\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.onPreviewClicked, this);\r\n\r\n itemEl = this.getElement(\"rateEdit\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.onEditClicked, this);\r\n\r\n itemEl = this.getElement(\"rateCancel\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close, this);\r\n\r\n itemEl = this.getElement(\"rateSubmit\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.onSubmitClicked, this);\r\n\r\n Librarian.Utils.setElementValue(this.getElement(\"rateUser\"), Librarian.userInfo.DisplayName);\r\n Librarian.Utils.setElementValue(this.getElement(\"rateDate\"), new Date().format(\"%B %d, %Y\"));\r\n\r\n var starEls = this.contentEl.getElements(\".ratings-rate-star\");\r\n for (var i = starEls.length; i--;) {\r\n starEls[i].onStarMousedOver = this.onStarMousedOver.bind(this);\r\n starEls[i].addEvent(\"mouseover\", function() {\r\n this.onStarMousedOver(this);\r\n });\r\n }\r\n\r\n var name;\r\n if (this.options.itemType == \"file\") {\r\n if (this.options.itemData.presid > 0)\r\n name = this.options.itemData.name;\r\n else\r\n name = this.options.itemData.groupname || this.options.itemData.filename || this.options.itemData.name;\r\n }\r\n else {\r\n name = this.options.itemData.filename || this.options.itemData.name;\r\n\r\n // If this name ends in the extension of the file, strip it off because this is a slide/page\r\n var ext = Librarian.Utils.getExtensionFromData(this.options.itemData, true);\r\n if ((ext.length > 0) && name.endsWith(ext))\r\n name = name.substring(0, name.length - ext.length - 1);\r\n }\r\n\r\n if ((typeof name != \"undefined\") && (name != null))\r\n Librarian.Utils.setElementValue(this.getElement(\"rateName\"), name);\r\n\r\n itemEl = this.getElement(\"rateSize\");\r\n if (itemEl) {\r\n if (itemEl.width)\r\n this.options.width = itemEl.width.value.toInt();\r\n if (itemEl.height)\r\n this.options.height = itemEl.height.value.toInt();\r\n\r\n // Then resize the window\r\n this.resize({\r\n width: this.options.width,\r\n height: this.options.height,\r\n centered: false\r\n });\r\n }\r\n },\r\n\r\n onClose: function() {\r\n this.parent();\r\n\r\n if (this.ratingsRequest) {\r\n this.ratingsRequest.cancel();\r\n this.ratingsRequest = null;\r\n }\r\n },\r\n\r\n onPreviewClicked: function(e) {\r\n var evt = new Event(e),\r\n buttonEl = $(evt.target);\r\n if (!buttonEl || buttonEl.hasClass(\"disabled\"))\r\n return;\r\n\r\n var comment = Librarian.Utils.getElementValue(this.getElement(\"rateComment\")),\r\n rating = this.contentEl.getElements(\".ratings-rate-star-on\").length;\r\n\r\n this.getElement(\"rateCommentViewText\").set(\"html\", Librarian.Utils.textToHtml(comment));\r\n this.getElement(\"rateQuality\").set(\"text\", Librarian.Lang.getString(\"rating_quality_\" + rating) + \", \");\r\n\r\n this.toggleEdit(false);\r\n },\r\n\r\n onEditClicked: function(e) {\r\n var evt = new Event(e),\r\n buttonEl = $(evt.target);\r\n if (!buttonEl || buttonEl.hasClass(\"disabled\"))\r\n return;\r\n\r\n this.toggleEdit(true);\r\n },\r\n\r\n toggleEdit: function(edit) {\r\n var itemEl,\r\n editElements = [\"rateType\", \"rateCommentEditArea\"];\r\n for (var i = editElements.length; i--;) {\r\n itemEl = this.getElement(editElements[i]);\r\n if (itemEl)\r\n itemEl[edit ? \"show\" : \"hide\"]();\r\n }\r\n\r\n var inlineElements = [\"rateDate\", \"rateQuality\", \"rateEdit\", \"ratePreviewTitle\"];\r\n for (var i = inlineElements.length; i--;) {\r\n itemEl = this.getElement(inlineElements[i]);\r\n if (itemEl)\r\n itemEl[edit ? \"hide\" : \"show\"](\"inline-block\");\r\n }\r\n\r\n itemEl = this.getElement(\"rateCommentViewArea\");\r\n if (itemEl)\r\n itemEl[edit ? \"hide\" : \"show\"]();\r\n\r\n itemEl = this.getElement(\"rateQuestion\");\r\n if (itemEl)\r\n itemEl.setStyle(\"visibility\", edit ? \"visible\" : \"hidden\");\r\n\r\n itemEl = this.getElement(\"ratePreview\");\r\n if (itemEl)\r\n itemEl[edit ? \"show\" : \"hide\"](\"inline-block\");\r\n\r\n this.isEditing = edit;\r\n },\r\n\r\n onSubmitClicked: function(e) {\r\n var evt = new Event(e),\r\n buttonEl = $(evt.target);\r\n if (!buttonEl || buttonEl.hasClass(\"disabled\"))\r\n return;\r\n\r\n var comment = (Librarian.Utils.getElementValue(this.getElement(\"rateComment\")) || '').trim(),\r\n contentType = Librarian.contentType.undefined,\r\n rating = this.contentEl.getElements(\".ratings-rate-star-on\").length,\r\n id = \"&cntid=\";\r\n\r\n // Build the ID string for files and groups\r\n if (this.options.itemData.groupid > 0) {\r\n id += this.options.itemData.groupid + \"&cnttype=\";\r\n if (typeof this.options.itemData.eventcount == \"number\") {\r\n\r\n id += contentType = Librarian.contentType.eventGroup;\r\n } \r\n else\r\n id += contentType = Librarian.contentType.globalFavorite;\r\n }\r\n else if (this.options.itemData.presid > 0)\r\n id += this.options.itemData.presid + \"&cnttype=\" + (contentType = Librarian.contentType.myFavorite);\r\n else if (this.options.itemData.fileid > 0)\r\n id += this.options.itemData.fileid + \"&cnttype=\" + (contentType = Librarian.contentType.file);\r\n else if (this.options.itemData.eventgroupinfo && (this.options.itemData.eventgroupinfo.groupid > 0))\r\n id += this.options.itemData.eventgroupinfo.groupid + \"&cnttype=\" + (contentType = Librarian.contentType.eventGroup);\r\n\r\n // If this is a slide\r\n if (this.options.itemType == \"slide\") {\r\n // Use the slide ID if we can\r\n if (this.options.itemData.slideid > 0)\r\n id = \"&cntid=\" + this.options.itemData.slideid + \"&cnttype=\" + (contentType = Librarian.contentType.slide);\r\n else if (this.options.itemData.eventid > 0)\r\n id = \"&cntid=\" + this.options.itemData.eventid + \"&cnttype=\" + (contentType = Librarian.contentType.event);\r\n // Otherwise, use the slide number\r\n else\r\n id += \"&snum=\" + this.options.itemData.slidenumber;\r\n }\r\n\r\n // Validate comment length\r\n if (comment.length > 2000) {\r\n Librarian.Utils.error(Librarian.Lang.getArgString(\"rating_comment_length\", [2000]));\r\n return;\r\n }\r\n\r\n // Disable buttons\r\n Librarian.Utils.setButtonState(this.getElement(\"ratePreview\"), null, true);\r\n Librarian.Utils.setButtonState(this.getElement(\"rateEdit\"), null, true);\r\n Librarian.Utils.setButtonState(this.getElement(\"rateSubmit\"), null, true);\r\n\r\n var rating = this.rating = {\r\n rating: rating,\r\n cmtxt: comment,\r\n out: \"ujson\",\r\n contentType: contentType\r\n };\r\n\r\n this.ratingsRequest = new Librarian.Request.JSON({\r\n url: Librarian.path.getMethodUrl(\"setrate\") + id,\r\n method: \"POST\",\r\n data: rating,\r\n onSuccess: function(newRating) {\r\n Librarian.Utils.notification(Librarian.Lang.getString(\"rating_rate_submitted\"));\r\n this.fireEvent(\"ratingAdded\", newRating);\r\n if (Librarian.ratings.notify) {\r\n this.notify(this.options.itemData, rating);\r\n } \r\n this.close(); \r\n }.bind(this),\r\n onFailure: function() {\r\n Librarian.Utils.error(Librarian.Lang.getString(\"rating_rate_error\"));\r\n // Re-enable buttons\r\n Librarian.Utils.setButtonState(this.getElement(\"ratePreview\"), null, false);\r\n Librarian.Utils.setButtonState(this.getElement(\"rateEdit\"), null, false);\r\n Librarian.Utils.setButtonState(this.getElement(\"rateSubmit\"), null, false);\r\n }.bind(this)\r\n });\r\n this.ratingsRequest.send();\r\n\r\n \r\n },\r\n\r\n onStarMousedOver: function(starEl) {\r\n if (!this.isEditing || !starEl)\r\n return;\r\n\r\n var value = starEl.attributes[\"value\"].value.toInt(),\r\n siblingEls = starEl.getSiblings();\r\n\r\n // Set all siblings whose value is less or equal to our own to on, and the others to off\r\n for (var i = siblingEls.length; i--;) {\r\n var siblingValue = siblingEls[i].attributes[\"value\"].value.toInt();\r\n siblingEls[i].toggleClass(\"ratings-rate-star-on\", (siblingValue <= value));\r\n }\r\n\r\n // Make sure this one is on\r\n starEl.addClass(\"ratings-rate-star-on\");\r\n },\r\n\r\n notify: function(content, rating) {\r\n var self = this;\r\n\r\n this.getAttributes(rating.contentType, function(name) {\r\n self.getContactInfo(name, function(contact) {\r\n self.sendNotification(content, rating, contact);\r\n });\r\n });\r\n },\r\n\r\n getAttributes: function(contentType, onSuccess) {\r\n var itemData = this.options.itemData;\r\n var params = {\r\n out: \"ujson\"\r\n };\r\n\r\n var method;\r\n\r\n switch (contentType) {\r\n case Librarian.contentType.globalFavorite:\r\n method = \"getgats\";\r\n params.gid = this.options.itemData.groupid;\r\n break;\r\n case Librarian.contentType.slide:\r\n case Librarian.contentType.file:\r\n method = \"getfats\";\r\n params.fid = this.options.itemData.fileid;\r\n break;\r\n }\r\n\r\n if (method) {\r\n var request = new Librarian.Request.JSON({\r\n url: Librarian.path.getMethodUrl(method) + \"&\" + Object.toQueryString(params),\r\n onFailure: Librarian.Utils.onFailure,\r\n onSuccess: function(json) {\r\n if (onSuccess && typeOf(onSuccess) === \"function\") {\r\n var recipient = \"\";\r\n for (var i = 0, len = json.length; i < len; i++) {\r\n var meta = json[i];\r\n if (meta.Name === Librarian.ratings.notifyMetaData) {\r\n recipient = meta.Value;\r\n break;\r\n }\r\n }\r\n\r\n if (recipient.trim().length > 0) {\r\n onSuccess(recipient);\r\n }\r\n }\r\n }\r\n });\r\n\r\n request.send();\r\n }\r\n\r\n },\r\n\r\n getContactInfo: function(contacts, onSuccess) {\r\n var emails = contacts.split(\";\");\r\n var requestCount = 0;\r\n var recipients = [];\r\n\r\n var onRequestComplete = function() {\r\n if (onSuccess && typeOf(onSuccess) === \"function\") {\r\n if (recipients.length > 0) {\r\n onSuccess(recipients);\r\n }\r\n }\r\n }\r\n\r\n for (var i = 0, len = emails.length; i < len; i++) {\r\n var params = {\r\n email: emails[i],\r\n out: \"ujson\"\r\n };\r\n\r\n var request = new Librarian.Request.JSON({\r\n url: Librarian.path.getMethodUrl(\"getuser\") + \"&\" + Object.toQueryString(params),\r\n onFailure: function() {\r\n requestCount++;\r\n\r\n if (requestCount === emails.length) {\r\n onRequestComplete();\r\n }\r\n },\r\n onSuccess: function(json) {\r\n requestCount++;\r\n\r\n if (json) {\r\n recipients.push(json);\r\n }\r\n\r\n if (requestCount === emails.length) {\r\n onRequestComplete();\r\n } \r\n }\r\n });\r\n\r\n request.send();\r\n }\r\n\r\n\r\n\r\n },\r\n\r\n sendNotification: function(content, rating, contact) {\r\n var data =\r\n {\r\n subject: typeOf(Librarian.ratings.subject) === \"function\" ? Librarian.ratings.subject(content, rating, Librarian.sessionInfo.UserInfo) : Librarian.ratings.subject,\r\n messageBody: typeOf(Librarian.ratings.message) === \"function\" ? Librarian.ratings.message(content, rating, Librarian.sessionInfo.UserInfo) : Librarian.ratings.message,\r\n recipients: contact,\r\n sender: Librarian.sessionInfo.UserInfo,\r\n templateId: 0\r\n }\r\n\r\n data = JSON.stringify(data);\r\n if (typeof Base64 != \"undefined\")\r\n data = Base64.encode(data);\r\n\r\n var request = new Librarian.Request.JSON({\r\n url: Librarian.path.getUpdateUrl(\"addnotifj\") + \"&in=ujson\",\r\n method: \"POST\",\r\n data: data,\r\n onFailure: Librarian.Utils.onFailure,\r\n onSuccess: function(json) {\r\n if (onSuccess && typeOf(onSuccess) === \"function\") {\r\n if (json && json.length > 0) {\r\n onSuccess(json[0]);\r\n }\r\n }\r\n }\r\n });\r\n\r\n request.send();\r\n }\r\n\r\n})","Librarian.CategorySelectWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onTreeNodeLoaded\", \"onSelectClicked\"],\r\n\r\n options: {\r\n id: \"CategorySelectWindow\",\r\n height: 300,\r\n padding: {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n },\r\n selectedCategories: null,\r\n selectedCategoryIDs: null,\r\n catType: Librarian.catType.file,\r\n rootCat: 0,\r\n multiSelect: true\r\n },\r\n\r\n treeView: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"select_category_title\");\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/categoryselect.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var itemEl = this.getElement(\"categorySelectContainer\");\r\n if (!itemEl)\r\n return;\r\n var options = {\r\n container: itemEl,\r\n checkBoxes: this.options.multiSelect,\r\n hideTypes: [\"file\"],\r\n catType: this.options.catType,\r\n rootCat: this.options.rootCat,\r\n cookieStorage: false, \r\n };\r\n\r\n if (Librarian.search.useViewinCategorySelect)\r\n options.contentView = \"SearchCats\";\r\n\r\n if ((this.options.catType == Librarian.catType.globalFavorite) && Librarian.specialCategories && Librarian.specialCategories.GlobalFavorites) {\r\n options.rootCat = Librarian.specialCategories.GlobalFavorites.CatId;\r\n options.method = \"getcg\";\r\n }\r\n\r\n if (typeof Library.getTreeOptions == \"function\")\r\n options = Library.getTreeOptions(options);\r\n\r\n this.treeView = new Librarian.TreeView(options);\r\n this.treeView.addEvent(\"loadChildren\", this.onTreeNodeLoaded);\r\n this.treeView.load();\r\n\r\n itemEl = this.getElement(\"categorySelectSubmit\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.onSelectClicked);\r\n\r\n itemEl = this.getElement(\"categorySelectCancel\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n },\r\n\r\n onTreeNodeLoaded: function(parent) {\r\n if (!parent || (this.options.selectedCategories == null))\r\n return;\r\n\r\n var selected = this.options.selectedCategories.split(';');\r\n if (selected.contains(parent.name))\r\n parent.setCheckboxState(\"checked\");\r\n\r\n var children = parent.getChildren();\r\n for (var i = 0; i < children.length; i++) {\r\n if (selected.contains(children[i].name))\r\n children[i].setCheckboxState(\"checked\");\r\n }\r\n },\r\n\r\n onSelectClicked: function() {\r\n if (!this.treeView)\r\n return;\r\n\r\n if (this.options.multiSelect) {\r\n var checked = this.treeView.getChecked(null, true),\r\n selectedCategories = '',\r\n selectedCategoryIDs = '';\r\n\r\n for (var i = 0; i < checked.length; i++) {\r\n if (selectedCategories.length > 0)\r\n selectedCategories += ';';\r\n if (selectedCategoryIDs.length > 0)\r\n selectedCategoryIDs += ';';\r\n\r\n selectedCategories += checked[i].name;\r\n if (checked[i].data)\r\n selectedCategoryIDs += checked[i].data.catid;\r\n else\r\n selectedCategoryIDs += '-1';\r\n }\r\n } \r\n else {\r\n var selected = this.treeView.getSelected(),\r\n selectedCategoryIDs = '',\r\n selectedCategories = '';\r\n if (selected) {\r\n selectedCategoryIDs = selected.id;\r\n selectedCategories = selected.name;\r\n }\r\n }\r\n\r\n this.options.selectedCategories = selectedCategories;\r\n this.options.selectedCategoryIDs = selectedCategoryIDs;\r\n\r\n this.close();\r\n },\r\n\r\n onClose: function() {\r\n if (this.treeView)\r\n this.treeView = null;\r\n\r\n this.parent();\r\n }\r\n})","Librarian.ChangeDateWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"changeDate\"],\r\n\r\n options: {\r\n id: \"ChangeDateWindow\",\r\n height: 120,\r\n width: 300,\r\n allowNever: false,\r\n initialValue: null\r\n },\r\n\r\n datePicker: null,\r\n onSubmit: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"date_title\");\r\n\r\n this.onSubmit = options.onSubmit;\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/changedate.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n\r\n var itemEl = $(\"changeDateBox\");\r\n if (itemEl) {\r\n if (this.options.initialValue)\r\n Librarian.Utils.setElementValue(itemEl, Librarian.Utils.extractDateFromString(this.options.initialValue).format(\"%m/%d/%Y %I:%M %p\"));\r\n\r\n // If the changeDateBox is clicked, check the radio button for 'Date' and set the current date\r\n itemEl.addOnClick(function() {\r\n var dateRadioEl = $(\"changeDateRadio\");\r\n if (dateRadioEl) {\r\n dateRadioEl.set(\"checked\", true);\r\n var dateBoxEl = $(\"changeDateBox\"),\r\n dateValue = Librarian.Utils.getElementValue(dateBoxEl) || '';\r\n if (dateValue.length == 0)\r\n Librarian.Utils.setElementValue(dateBoxEl, this.getTodayDateString());\r\n }\r\n }, this);\r\n }\r\n\r\n // When the 'Date' radio button is selected, auto-fill the current date\r\n if (this.options.allowNever) {\r\n itemEl = $(\"changeDateRadio\");\r\n if (itemEl) {\r\n itemEl.show();\r\n itemEl.addOnClick(function() {\r\n var dateBoxEl = $(\"changeDateBox\"),\r\n dateValue = Librarian.Utils.getElementValue(dateBoxEl) || '';\r\n if (dateValue.length == 0)\r\n Librarian.Utils.setElementValue(dateBoxEl, this.getTodayDateString());\r\n }, this);\r\n }\r\n\r\n itemEl = $(\"changeDateNeverLabel\");\r\n if (itemEl)\r\n itemEl.show();\r\n\r\n // If the date is already set to never expire, open the window with never selected\r\n itemEl = $(\"changeDateNeverRadio\");\r\n if (itemEl) {\r\n if (!this.options.initialValue)\r\n itemEl.set(\"checked\", true);\r\n\r\n // Clear the Date Box when 'Never' is selected\r\n itemEl.addOnClick(function() {\r\n Librarian.Utils.setElementValue($(\"changeDateBox\"), '');\r\n });\r\n }\r\n }\r\n\r\n itemEl = $(\"changeDateCancelButton\");\r\n if (itemEl)\r\n itemEl.addEvent(\"click\", this.close);\r\n\r\n itemEl = $(\"changeDateOKButton\");\r\n if (itemEl)\r\n itemEl.addEvent(\"click\", this.changeDate);\r\n\r\n this.datePicker = Librarian.Utils.setUpDatePicker(\"changedate\", \"changeDateBox\", \"changeDateIcon\", \"\",\r\n function() {\r\n if (this.datePicker) {\r\n this.datePicker.close();\r\n }\r\n itemEl = $(\"changeDateRadio\");\r\n //Select the 'Date' radio button when clicking on the calendar icon and fill in the current date\r\n if (itemEl)\r\n itemEl.set(\"checked\", true);\r\n var dateBox = $(\"changeDateBox\");\r\n if (dateBox && (!dateBox.get(\"value\") || dateBox.get(\"value\") == \"\"))\r\n dateBox.set(\"value\", this.getTodayDateString());\r\n }.bind(this), {\r\n timePicker: true\r\n }\r\n );\r\n },\r\n\r\n changeDate: function() {\r\n var newDate = '';\r\n\r\n var dateEl = $(\"changeDateBox\");\r\n var radioEl = $(\"changeDateRadio\");\r\n if (dateEl && radioEl && radioEl.checked)\r\n newDate = dateEl.value;\r\n\r\n if (typeof this.onSubmit == \"function\")\r\n this.onSubmit(newDate);\r\n\r\n this.close();\r\n },\r\n\r\n //Get the current date correctly formatted\r\n getTodayDateString: function() {\r\n var d = new Date(),\r\n dateStr = \"\",\r\n date;\r\n //Month is returned 0 base\r\n dateStr += ((date = d.getMonth() + 1) < 10) ? \"0\" : \"\";\r\n dateStr += date + \"/\";\r\n dateStr += ((date = d.getDate()) < 10) ? \"0\" : \"\";\r\n dateStr += date + \"/\" + d.getFullYear();\r\n\r\n return dateStr;\r\n },\r\n\r\n onClose: function() {\r\n if (this.datePicker)\r\n this.datePicker.close();\r\n\r\n this.parent();\r\n }\r\n});\r\n","Librarian.ChangePasswordWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"changePassword\"],\r\n\r\n options: {\r\n id: \"changePasswordWindow\",\r\n width: 240,\r\n height: 190\r\n },\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"change_password\");\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/changepassword.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n\r\n var itemEl = $(\"changePasswordCancelButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n itemEl = $(\"changePasswordOKButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.changePassword);\r\n\r\n itemEl = $(\"changePasswordOldPass\");\r\n if (itemEl) {\r\n if (Librarian.sessionType == Librarian.Session.sessionTypes.sso)\r\n itemEl.hide();\r\n else {\r\n // Focus the old password box so that it's convenient for the user\r\n if (itemEl.isVisible())\r\n itemEl.focus();\r\n itemEl.onkeydown = function(e) {\r\n var evt = new Event(e);\r\n if (evt.key == \"enter\")\r\n this.changePassword();\r\n }.bind(this);\r\n }\r\n }\r\n\r\n itemEl = $(\"changePasswordNewPass\");\r\n if (itemEl) {\r\n itemEl.onkeydown = function(e) {\r\n var evt = new Event(e);\r\n if (evt.key == \"enter\")\r\n this.changePassword();\r\n }.bind(this);\r\n }\r\n\r\n itemEl = $(\"changePasswordConfirmPass\");\r\n if (itemEl) {\r\n itemEl.onkeydown = function(e) {\r\n var evt = new Event(e);\r\n if (evt.key == \"enter\")\r\n this.changePassword();\r\n }.bind(this);\r\n }\r\n },\r\n\r\n changePassword: function() {\r\n var oldPass = '',\r\n newPass = '',\r\n confirmPass = '',\r\n itemEl = $(\"changePasswordOldPass\");\r\n if (itemEl)\r\n oldPass = itemEl.value;\r\n\r\n itemEl = $(\"changePasswordNewPass\");\r\n if (itemEl)\r\n newPass = itemEl.value;\r\n\r\n itemEl = $(\"changePasswordConfirmPass\");\r\n if (itemEl)\r\n confirmPass = itemEl.value;\r\n\r\n if (newPass == confirmPass) {\r\n if (newPass.length > 0 && (oldPass.length > 0 || Librarian.sessionType == Librarian.Session.sessionTypes.sso)) {\r\n Librarian.userSession = new Librarian.Session();\r\n Librarian.userSession.onUpdateComplete = function() {\r\n Librarian.Utils.notification(Librarian.Lang.getString(\"change_password_complete\"));\r\n this.close();\r\n }.bind(this);\r\n Librarian.userSession.onFailure = Librarian.Utils.onFailure;\r\n\r\n Librarian.userSession.changePassword(oldPass || '', newPass, null, null);\r\n }\r\n else\r\n Librarian.Utils.error(Librarian.Lang.getString(\"change_password_missing\"));\r\n }\r\n else\r\n Librarian.Utils.error(Librarian.Lang.getString(\"change_password_mismatch\"));\r\n\r\n itemEl = null;\r\n }\r\n\r\n});","Librarian.ConfirmWindow = new Class({\r\n Extends: Librarian.Window,\r\n\r\n options: {\r\n id: \"ConfirmWindow\",\r\n title: \"\",\r\n minimizable: false,\r\n height: 90,\r\n width: 280,\r\n firstButtonText: null,\r\n firstButtonClass: \"pure-button-primary\",\r\n secondButtonText: null,\r\n secondButtonClass: null,\r\n useSecondButton: true,\r\n thirdButtonText: null,\r\n thirdButtonClass: null,\r\n useThirdButton: false,\r\n // Whether or not to run onComplete when the third button is clicked\r\n doCompleteOnThirdButton: false,\r\n fourthButtonText: null,\r\n fourthButtonClass: null,\r\n useFourthButton: false,\r\n fifthButtonText: null,\r\n fifthButtonClass: null,\r\n useFifthButton: false,\r\n question: null,\r\n resize: true,\r\n contentURL: null,\r\n defaultButton: 0\r\n },\r\n\r\n onFirstButtonClicked: null,\r\n onSecondButtonClicked: null,\r\n onThirdButtonClicked: null,\r\n onFourthButtonClicked: null,\r\n onFifthButtonClicked: null,\r\n onComplete: null,\r\n onAfterClose: null,\r\n\r\n // Number of button that was clicked (1-based)\r\n buttonClicked: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n // Load default values for the button names here so that\r\n // they can each be translated\r\n if (this.options.firstButtonText == null)\r\n this.options.firstButtonText = Librarian.Lang.getString(\"yes\");\r\n if (this.options.secondButtonText == null)\r\n this.options.secondButtonText = Librarian.Lang.getString(\"no\");\r\n if (this.options.thirdButtonText == null)\r\n this.options.thirdButtonText = Librarian.Lang.getString(\"cancel\");\r\n\r\n if (this.options.question && this.options.resize) {\r\n var width = (this.options.question.length * 8);\r\n if (this.options.width < width)\r\n this.options.width = width;\r\n }\r\n\r\n if (this.options.contentURL == null)\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/confirm.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onClose: function() {\r\n this.parent();\r\n\r\n if (!this.buttonClicked) {\r\n if (this.options.defaultButton == 1)\r\n this.onButtonOneClicked(true);\r\n else if ((this.options.defaultButton == 2) && this.options.useSecondButton)\r\n this.onButtonTwoClicked(true);\r\n else if ((this.options.defaultButton == 3) && this.options.useThirdButton)\r\n this.onButtonThreeClicked(true);\r\n else if ((this.options.defaultButton == 4) && this.options.useFourthButton)\r\n this.onButtonFourClicked(true);\r\n else if ((this.options.defaultButton == 5) && this.options.useFifthButton)\r\n this.onButtonFiveClicked(true);\r\n }\r\n\r\n if (typeof this.onAfterClose == \"function\")\r\n this.onAfterClose(this.buttonClicked);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n\r\n var itemEl = $(\"question\");\r\n if (itemEl && this.options.question) {\r\n if (this.options.questionIsHtml) {\r\n itemEl.set(\"html\", this.options.question);\r\n }\r\n else {\r\n itemEl.set(\"html\", Librarian.Utils.textToHtml(this.options.question));\r\n }\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n }\r\n\r\n itemEl = $(\"firstButton\");\r\n if (itemEl) {\r\n // Add the onclick method\r\n itemEl.addOnClick(this.onButtonOneClicked, this);\r\n // And update the ID\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n // And set the button text\r\n itemEl.value = this.options.firstButtonText;\r\n\r\n if (typeof this.options.firstButtonClass == \"string\")\r\n itemEl.addClass(this.options.firstButtonClass);\r\n }\r\n\r\n itemEl = $(\"secondButton\");\r\n if (itemEl) {\r\n // If the second button is disabled, destroy it\r\n if (!this.options.useSecondButton)\r\n itemEl.destroy();\r\n else {\r\n // Add the onclick method\r\n itemEl.addOnClick(this.onButtonTwoClicked, this);\r\n // And update the ID\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n // And set the button text\r\n itemEl.value = this.options.secondButtonText;\r\n\r\n if (typeof this.options.secondButtonClass == \"string\")\r\n itemEl.addClass(this.options.secondButtonClass);\r\n }\r\n }\r\n\r\n itemEl = $(\"thirdButton\");\r\n if (itemEl) {\r\n // If the third button is disabled, destroy it\r\n if (!this.options.useThirdButton)\r\n itemEl.destroy();\r\n else {\r\n // Add the onclick method\r\n itemEl.addOnClick(this.onButtonThreeClicked, this);\r\n // And update the ID\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n // And set the button text\r\n itemEl.value = this.options.thirdButtonText;\r\n\r\n if (typeof this.options.thirdButtonClass == \"string\")\r\n itemEl.addClass(this.options.thirdButtonClass);\r\n }\r\n }\r\n\r\n itemEl = $(\"fourthButton\");\r\n if (itemEl) {\r\n // If the fourth button is disabled or no text was set, destroy it\r\n if (!this.options.useFourthButton || ((this.options.fourthButtonText || '').trim().length == 0))\r\n itemEl.destroy();\r\n else {\r\n // Add the onclick method\r\n itemEl.addOnClick(this.onButtonFourClicked, this);\r\n // And update the ID\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n // And set the button text\r\n itemEl.value = this.options.fourthButtonText;\r\n // This button is hidden by default\r\n itemEl.show(\"inline-block\");\r\n\r\n if (typeof this.options.fourthButtonClass == \"string\")\r\n itemEl.addClass(this.options.fourthButtonClass);\r\n }\r\n }\r\n\r\n itemEl = $(\"fifthButton\");\r\n if (itemEl) {\r\n // If the fifth button is disabled or no text was set, destroy it\r\n if (!this.options.useFifthButton || ((this.options.fifthButtonText || '').trim().length == 0))\r\n itemEl.destroy();\r\n else {\r\n // Add the onclick method\r\n itemEl.addOnClick(this.onButtonFiveClicked, this);\r\n // And update the ID\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n // And set the button text\r\n itemEl.value = this.options.fifthButtonText;\r\n // This button is hidden by default\r\n itemEl.show(\"inline-block\");\r\n\r\n if (typeof this.options.fifthButtonClass == \"string\")\r\n itemEl.addClass(this.options.fifthButtonClass);\r\n }\r\n }\r\n\r\n this.fireEvent(\"windowLoaded\");\r\n },\r\n\r\n onButtonOneClicked: function(isClosing) {\r\n var windowContentsEl = this.getElement(\"content\");\r\n if ((typeof this.onFirstButtonClicked == \"function\") && (this.onFirstButtonClicked(windowContentsEl) === false))\r\n return;\r\n if (typeof this.onComplete == \"function\")\r\n this.onComplete(windowContentsEl);\r\n\r\n this.buttonClicked = 1;\r\n\r\n if (isClosing !== true)\r\n this.close();\r\n },\r\n\r\n onButtonTwoClicked: function(isClosing) {\r\n var windowContentsEl = this.getElement(\"content\");\r\n if ((typeof this.onSecondButtonClicked == \"function\") && (this.onSecondButtonClicked(windowContentsEl) === false))\r\n return;\r\n if (typeof this.onComplete == \"function\")\r\n this.onComplete(windowContentsEl);\r\n\r\n this.buttonClicked = 2;\r\n\r\n if (isClosing !== true)\r\n this.close();\r\n },\r\n\r\n onButtonThreeClicked: function(isClosing) {\r\n var windowContentsEl = this.getElement(\"content\");\r\n if ((typeof this.onThirdButtonClicked == \"function\") && (this.onThirdButtonClicked(windowContentsEl) === false))\r\n return;\r\n if (this.options.doCompleteOnThirdButton && (typeof this.onComplete == \"function\"))\r\n this.onComplete(windowContentsEl);\r\n\r\n this.buttonClicked = 3;\r\n\r\n if (isClosing !== true)\r\n this.close();\r\n },\r\n\r\n onButtonFourClicked: function(isClosing) {\r\n var windowContentsEl = this.getElement(\"content\");\r\n if ((typeof this.onFourthButtonClicked == \"function\") && (this.onFourthButtonClicked(windowContentsEl) === false))\r\n return;\r\n\r\n this.buttonClicked = 4;\r\n\r\n if (isClosing !== true)\r\n this.close();\r\n },\r\n\r\n onButtonFiveClicked: function(isClosing) {\r\n var windowContentsEl = this.getElement(\"content\");\r\n if ((typeof this.onFifthButtonClicked == \"function\") && (this.onFifthButtonClicked(windowContentsEl) === false))\r\n return;\r\n\r\n this.buttonClicked = 5;\r\n\r\n if (isClosing !== true)\r\n this.close();\r\n }\r\n});","\r\nLibrarian.CreateCategoryWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"addCategory\"],\r\n\r\n options: {\r\n id: \"createCatWindow\",\r\n width: 360,\r\n height: 230,\r\n url: null,\r\n parentCatId: 0,\r\n params: null\r\n },\r\n\r\n onComplete: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n this.onComplete = options.onComplete;\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"category_create\");\r\n\r\n // Set the content location\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/createcategory.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var itemEl = this.getElement(\"createButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.addCategory);\r\n\r\n itemEl = this.getElement(\"cancelButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n itemEl = this.getElement(\"catForm\");\r\n if (itemEl) {\r\n // Get the \"name\" element in this form\r\n itemEl = itemEl.getElement(\"[name=name]\");\r\n if (itemEl) {\r\n // Focus the name box so that it's convenient for the user\r\n if (itemEl.isVisible())\r\n itemEl.focus();\r\n itemEl.onkeydown = function(e) {\r\n var evt = new Event(e);\r\n if (evt.keyCode == 13) {\r\n evt.stop();\r\n this.addCategory();\r\n }\r\n }.bind(this);\r\n }\r\n }\r\n },\r\n\r\n addCategory: function() {\r\n var catFormEl = this.getElement(\"catForm\");\r\n if (!catFormEl)\r\n return;\r\n\r\n if (!catFormEl.name.value) {\r\n Librarian.Utils.error(Librarian.Lang.getString(\"category_namerequired\"));\r\n return;\r\n }\r\n\r\n var url = this.options.url +\r\n \"&pcid=\" + this.options.parentCatId +\r\n \"&name=\" + encodeURIComponent(catFormEl.name.value) +\r\n \"&descr=\" + encodeURIComponent(catFormEl.description.value);\r\n\r\n if ((typeof this.options.params == \"object\") && (this.options.params != null)) {\r\n for (var key in this.options.params) {\r\n if (!this.options.params.hasOwnProperty(key))\r\n continue;\r\n\r\n url += '&' + key + '=' + this.options.params[key];\r\n }\r\n }\r\n\r\n new Librarian.Request({\r\n url: url,\r\n onSuccess: function() {\r\n if (typeof this.onComplete == \"function\")\r\n this.onComplete();\r\n }.bind(this),\r\n onFailure: Librarian.Utils.onFailure\r\n }).send();\r\n\r\n this.close();\r\n }\r\n});","Librarian.CustomDownloadWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"submit\"],\r\n\r\n options: {\r\n id: \"CustomDownloadWindow\",\r\n height: 340,\r\n width: 430,\r\n pageName: null,\r\n titleName: null,\r\n formData: null\r\n },\r\n\r\n onSubmit: null,\r\n onLoad: null,\r\n onConfirm: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n this.onSubmit = options.onSubmit;\r\n this.onLoad = options.onLoad;\r\n this.onConfirm = options.onConfirm;\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(this.options.titleName);\r\n\r\n this.options.contentURL = Librarian.path.getLibraryPath() + this.options.pageName;\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n\r\n var itemEl = $(\"downloadCancel\");\r\n if (itemEl) {\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n itemEl.addOnClick(this.close, this);\r\n }\r\n\r\n itemEl = $(\"downloadSubmit\");\r\n if (itemEl) {\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n itemEl.addOnClick(this.submit, this);\r\n }\r\n\r\n itemEl = $(\"downloadForm\");\r\n if (itemEl)\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n\r\n itemEl = $(\"downloadFormSize\");\r\n if (itemEl) {\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n\r\n if (itemEl.width)\r\n this.options.width = itemEl.width.value.toInt();\r\n if (itemEl.height)\r\n this.options.height = itemEl.height.value.toInt();\r\n\r\n // Then resize the window\r\n this.resize({\r\n width: this.options.width,\r\n height: this.options.height,\r\n centered: false\r\n });\r\n }\r\n\r\n if (typeof this.onLoad == \"function\")\r\n this.onLoad.bind(this)();\r\n },\r\n\r\n submit: function() {\r\n if (typeof this.onSubmit == \"function\") {\r\n if (this.onSubmit())\r\n this.close();\r\n }\r\n else\r\n this.close();\r\n }\r\n});\r\n","Librarian.DisclosureWindow = new Class({\r\n Extends: Librarian.GridWindow,\r\n\r\n options: {\r\n id: \"DisclosureWindow\",\r\n title: \"Disclosure Window\",\r\n width: 850,\r\n height: 590,\r\n type: 0\r\n },\r\n\r\n initialize: function(options) {\r\n this.setOptions(options, {\r\n title: Librarian.Lang.getString(\"disclosure_title\"),\r\n gridOptions: this.getGridOptions()\r\n });\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n getGridOptions: function() {\r\n var url = Librarian.path.getMethodUrl(\"getdiscs\") + \"&out=dgrid&type=\" + this.options.type;\r\n\r\n var gridOptions = {\r\n url: url,\r\n width: 800,\r\n columnModel: [\r\n {\r\n header: \"✔\",\r\n dataType: \"checkbox\",\r\n width: 25,\r\n onChange: true,\r\n noResize: true\r\n },\r\n {\r\n header: Librarian.Lang.getString(\"id\"),\r\n dataIndex: \"disclosureid\",\r\n dataType: \"number\",\r\n width: 40,\r\n noResize: true\r\n },\r\n {\r\n header: Librarian.Lang.getString(\"name\"),\r\n dataIndex: \"name\",\r\n dataType: \"string\",\r\n width: 139,\r\n noResize: true\r\n },\r\n {\r\n header: Librarian.Lang.getString(\"disclosure_content\"),\r\n dataIndex: \"content\",\r\n dataType: \"string\"\r\n }\r\n ]\r\n }\r\n\r\n return gridOptions;\r\n }\r\n});\r\n ","Librarian.GroupSelectWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onGroupMembersLoaded\"],\r\n\r\n options: {\r\n id: \"GroupSelectWindow\",\r\n title: \"groupselect_title\",\r\n groupName: null,\r\n width: 300,\r\n height: 80,\r\n enableComments: false,\r\n canChooseGroup: true,\r\n noDefault: false\r\n },\r\n\r\n request: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(options.title);\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/groupselect.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n this.request = Librarian.Utils.getUserGroupInfo(this.options.groupName, true, this.onGroupMembersLoaded);\r\n\r\n var buttonEl = this.getElement(\"cancelButton\");\r\n if (buttonEl)\r\n buttonEl.addOnClick(this.close);\r\n\r\n buttonEl = this.getElement(\"assignButton\");\r\n if (buttonEl) {\r\n buttonEl.addOnClick(function() {\r\n var selectEl = this.getElement(\"groupSelect\"),\r\n selected = Librarian.Utils.getSelectedValue(selectEl),\r\n selectedName = Librarian.Utils.getSelectedItem(selectEl).text,\r\n comment = null;\r\n\r\n if (selected === \"-1\") {\r\n Librarian.Utils.notification(Librarian.Lang.getString(\"groupselect_no_select\"));\r\n return;\r\n }\r\n\r\n // Get comments from text area if option is enabled\r\n if (this.options.enableComments) {\r\n var commentEl = this.getElement(\"groupSelectCommentTextArea\");\r\n comment = (Librarian.Utils.getElementValue(commentEl) || '').trim();\r\n\r\n if (comment && (comment.length > 0))\r\n comment = comment.stripTags().trim();\r\n }\r\n\r\n this.fireEvent(\"userSelected\", [selected, comment, this.options.canChooseGroup && selectEl && (selectEl.selectedIndex == 0), selectedName]);\r\n this.close();\r\n }.bind(this));\r\n }\r\n\r\n if (this.options.enableComments)\r\n this.getElement(\"groupSelectWorkflowComment\").show();\r\n },\r\n\r\n onClose: function() {\r\n if (this.request) {\r\n this.request.cancel();\r\n this.request = null;\r\n }\r\n },\r\n\r\n onGroupMembersLoaded: function(data) {\r\n var selectEl = this.getElement(\"groupSelect\");\r\n if (selectEl) {\r\n if (this.options.noDefault) {\r\n selectEl.options.add(new Option(\"-\", -1));\r\n }\r\n\r\n if (this.options.canChooseGroup)\r\n selectEl.options.add(new Option(data.name, data.groupId));\r\n\r\n var getName = function(member) {\r\n if (!member.isGroup)\r\n return member.displayName;\r\n return member.groupName;\r\n },\r\n members = data.members;\r\n\r\n // Sort the list by name\r\n members.sort(function(a, b) {\r\n var aName = getName(a),\r\n bName = getName(b);\r\n return (aName < bName) ? -1 : ((aName > bName) ? 1 : 0);\r\n });\r\n\r\n for (var i = 0, length = members.length; i < length; i++) {\r\n var name = getName(members[i]);\r\n selectEl.options.add(new Option(name, members[i].userId));\r\n }\r\n }\r\n }\r\n})","Librarian.HTMLInputWindow = new Class({\r\n Extends: Librarian.Window,\r\n\r\n options: {\r\n id: \"HTMLInputWindow\",\r\n resizable: true,\r\n title: '',\r\n minimizable: false,\r\n height: 350,\r\n width: 475,\r\n initialValue: '',\r\n padding: {\r\n top: 10,\r\n right: 0,\r\n bottom: 0,\r\n left: 0\r\n }\r\n },\r\n\r\n onSubmit: null,\r\n onCancel: null,\r\n\r\n initialize: function (options) {\r\n this.setOptions(options);\r\n\r\n this.onSubmit = options.onSubmit;\r\n this.onCancel = options.onCancel;\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/htmlinput.html\";\r\n this.options.toolbar = \"fontfamily fontsize | bold italic underline strikethrough | forecolor backcolor | alignleft aligncenter alignright alignjustify outdent indent | numlist bullist | removeformat link insertimage charmap\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onClose: function () {\r\n var itemEl = this.getElement(\"inputArea\");\r\n if (itemEl) {\r\n tinyMCE.execCommand(\"mceRemoveEditor\", false, itemEl.id);\r\n itemEl.editor = null;\r\n itemEl.destroy();\r\n }\r\n\r\n this.parent();\r\n },\r\n\r\n onResize: function() {\r\n this.resizeInputMessageBox();\r\n },\r\n\r\n resizeInputMessageBox: function() {\r\n var contentEl = this.getElement(\"content\");\r\n var contentPadding = contentEl.getStyle(\"padding-top\").toInt() + contentEl.getStyle(\"padding-bottom\").toInt();\r\n var contentHeight = contentEl.getHeight(true) - contentPadding;\r\n \r\n var inputAreaEl = this.getElement(\"inputAreaWrapper\");\r\n var inputAreaHeight = contentHeight;\r\n\r\n var siblings = inputAreaEl.getSiblings();\r\n var siblingsHeight = Array.sum(siblings.getHeight(true));\r\n\r\n inputAreaHeight -= siblingsHeight;\r\n inputAreaEl.setStyle(\"height\",inputAreaHeight);\r\n },\r\n\r\n onWindowLoaded: function () {\r\n this.setupElements();\r\n\r\n var inputEl = this.getElement(\"inputArea\");\r\n if (inputEl) {\r\n Librarian.Utils.setElementValue(inputEl, this.options.initialValue || '');\r\n\r\n var options = Librarian.Utils.getTinyMCEOptions({\r\n plugins: \"advlist lists code charmap\",\r\n toolbar: Librarian.event.disableEditorToolbar ? false : (this.options.toolbar + (Librarian.editor.showCodeButton ? \" | code\" : '')),\r\n selector: '#' + inputEl.id,\r\n width: \"100%\",\r\n height: \"100%\",\r\n setup: function (editor) {\r\n inputEl.editor = editor;\r\n Librarian.Utils.addTinyMCEButton(editor, \"insertimage\");\r\n editor.on('BeforeSetContent', function (ed) {\r\n // Remove all paragraphs and replace with BR\r\n ed.content = ed.content.replace(/
]*>/g, '');\r\n ed.content = ed.content.replace(/<\\/p\\s*>/g, '
');\r\n });\r\n }.bind(this)\r\n });\r\n\r\n tinyMCE.init(options);\r\n }\r\n\r\n var okButton = this.getElement(\"okButton\");\r\n if (okButton) {\r\n okButton.addOnClick(function () {\r\n if (inputEl && typeof this.onSubmit == \"function\") {\r\n var message = tinyMCE.get(inputEl.id).getContent() || ' ';\r\n\r\n // Remove extra line breaks in markup\r\n message = message.replaceAll('\\n', '');\r\n\r\n this.onSubmit(message);\r\n }\r\n this.close();\r\n }.bind(this));\r\n }\r\n\r\n var cancelButton = this.getElement(\"cancelButton\");\r\n if (cancelButton) {\r\n cancelButton.addOnClick(function () {\r\n if (this.onCancel == \"function\")\r\n this.onCancel();\r\n\r\n this.close();\r\n }.bind(this));\r\n }\r\n\r\n if (this.options.resizable) {\r\n this.onResize();\r\n }\r\n }\r\n});","Librarian.HTMLWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\r\n \"setHeight\", \"onResize\"\r\n ],\r\n\r\n options: {\r\n id: \"HTMLWindow\",\r\n title: '',\r\n message: null,\r\n minimizable: false,\r\n height: 400,\r\n width: 650,\r\n placeholders: null\r\n },\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n var self = this,\r\n placeholders = this.options.placeholders;\r\n\r\n if (placeholders) {\r\n for (var i = 0; i < placeholders.length; i++) {\r\n Object.keys(placeholders[i])\r\n .forEach(function eachKey(key) { \r\n self.options.html = self.options.html.replaceAll(key, placeholders[0][key]);\r\n });\r\n }\r\n }\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.setupElements();\r\n\r\n if (this.options.html) \r\n this.contentEl.set(\"html\", this.options.html);\r\n\r\n this.setHeight();\r\n },\r\n\r\n setHeight: function() {\r\n this.options.height = this.contentEl.getHeight();\r\n this.resize();\r\n }\r\n});","\r\nLibrarian.ImageSelectWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"addImages\", \"selectImage\", \"upload\", \"select\"],\r\n\r\n options: {\r\n id: \"ImageSelectWindow\",\r\n width: 800,\r\n height: 435,\r\n resizable: false,\r\n params: {\r\n subtype: null,\r\n tmpl: false,\r\n all: false // IncludeShared\r\n }\r\n },\r\n\r\n onSuccess: null,\r\n uploadWindow: null,\r\n selectedImag: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n this.onSuccess = options.onSuccess;\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"eventgroup_selectimage\");\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/imageselect.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var itemEl = this.getElement(\"uploadButton\");\r\n if (itemEl) {\r\n itemEl.show();\r\n itemEl.addOnClick(this.upload, this);\r\n }\r\n\r\n itemEl = this.getElement(\"cancelButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n itemEl = this.getElement(\"selectButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.select, this);\r\n\r\n this.getImages();\r\n },\r\n\r\n getImages: function() {\r\n var url = Librarian.path.getSupportUrl(\"getfis\") + \"&out=cjson&ftype=\" + Librarian.SupportFiles.supportFileTypes.image;\r\n new Librarian.Request.JSON({\r\n url: url,\r\n data: this.options.params,\r\n onSuccess: this.addImages\r\n }).send();\r\n },\r\n\r\n addImages: function(images) {\r\n var self = this,\r\n list = this.getElement(\"imageList\");\r\n\r\n if (list) {\r\n list.empty();\r\n images.forEach(function(image) {\r\n var imageEl = new Element(\"div\", {\r\n \"class\": \"imageSelect-imageItem ellipsis\",\r\n \"title\": image.name,\r\n \"text\": image.name\r\n }).inject(list);\r\n\r\n imageEl.data = image;\r\n imageEl.addOnClick(function() {\r\n self.selectImage(this);\r\n });\r\n });\r\n }\r\n },\r\n\r\n selectImage: function(imageEl) {\r\n imageEl.select();\r\n\r\n this.selectedImage = imageEl.data;\r\n var previewEl = this.getElement(\"previewImage\");\r\n\r\n if (previewEl)\r\n previewEl.src = Librarian.path.getDownloadUrl(\"dsf\") + \"&fh=\" + this.selectedImage.hash;\r\n },\r\n\r\n upload: function() {\r\n this.uploadWindow = new Librarian.FileUploadWindow({\r\n uploadUrl: Librarian.path.getSupportUrl(\"uplfile\") + \"&ftype=\" + Librarian.SupportFiles.supportFileTypes.image + '&' + Object.toQueryString(this.options.params),\r\n acceptType: \"image/*\",\r\n onSuccess: function() {\r\n this.getImages();\r\n }.bind(this)\r\n });\r\n },\r\n\r\n select: function() {\r\n this.close();\r\n\r\n if (this.selectedImage && typeof this.onSuccess == \"function\")\r\n this.onSuccess(this.selectedImage);\r\n },\r\n\r\n onClose: function() {\r\n if (this.uploadWindow)\r\n this.uploadWindow.close();\r\n }\r\n});\r\n","Librarian.InfoWindow = new Class({\r\n Extends: Librarian.Window,\r\n\r\n options: {\r\n id: \"InfoWindow\",\r\n height: 75,\r\n width: 420,\r\n padding: {\r\n top: 20,\r\n right: 20,\r\n bottom: 20,\r\n left: 20\r\n },\r\n },\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n if (!this.options.contentURL)\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/event/info.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function () {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var textAreaEl = this.getElement(\"eventContentLink\");\r\n textAreaEl.set(\"value\", this.options.content);\r\n\r\n var copyButtonEl = this.getElement(\"eventContentLinkCopyBtn\");\r\n copyButtonEl.addOnClick(function () {\r\n navigator.clipboard.writeText(textAreaEl.value);\r\n copyButtonEl.addClass(\"copied\");\r\n copyButtonEl.set(\"value\", \"✔\");\r\n Librarian.Utils.notification(\"Copied to Clipboard\");\r\n setTimeout(\r\n function () {\r\n copyButtonEl.removeClass(\"copied\");\r\n copyButtonEl.set(\"value\", \"Copy\");\r\n }, 3000);\r\n });\r\n },\r\n});\r\n","Librarian.InputWindow = new Class({\r\n Extends: Librarian.Window,\r\n\r\n options: {\r\n id: \"InputWindow\",\r\n title: '',\r\n message: null,\r\n minimizable: false,\r\n height: 170,\r\n width: 350,\r\n initialValue: '',\r\n buttonLabel: '',\r\n textArea: true,\r\n inputHeight: null,\r\n maxLength: null,\r\n messageRequired: false\r\n },\r\n\r\n onSubmit: null,\r\n onCancel: null,\r\n\r\n initialize: function (options) {\r\n this.setOptions(options);\r\n\r\n if (options) {\r\n this.onSubmit = options.onSubmit;\r\n this.onCancel = options.onCancel;\r\n }\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/input.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function () {\r\n this.setupElements();\r\n\r\n var messageEl = this.getElement(\"message\");\r\n if (messageEl && this.options.message) {\r\n messageEl.set(\"html\", this.options.message);\r\n }\r\n\r\n if (this.options.textArea)\r\n var inputEl = this.getElement(\"inputArea\");\r\n else\r\n var inputEl = this.getElement(\"inputText\");\r\n\r\n if (inputEl) {\r\n inputEl.show();\r\n\r\n Librarian.Utils.setElementValue(inputEl, this.options.initialValue || '');\r\n if (this.options.inputHeight) {\r\n inputEl.setStyle(\"height\", this.options.inputHeight);\r\n }\r\n\r\n this.resize({\r\n height: this.contentEl.getHeight(),\r\n width: this.options.width\r\n });\r\n\r\n // Focus the input box so that it's convenient for the user\r\n if (inputEl.isVisible())\r\n inputEl.focus();\r\n }\r\n\r\n var okButtonEl = this.getElement(\"okButton\");\r\n if (okButtonEl) {\r\n var label = (this.options.buttonLabel || '');\r\n if (label.length > 0)\r\n Librarian.Utils.setElementValue(okButtonEl, label);\r\n\r\n okButtonEl.addOnClick(function () {\r\n if (this.options.maxLength && (inputEl.value.length > this.options.maxLength)) {\r\n Librarian.Utils.error(Librarian.Lang.getArgString(\"workflow_file_comment_length\", [this.options.maxLength]));\r\n return;\r\n }\r\n\r\n if (!this.options.messageRequired || (this.options.messageRequired && inputEl.value.length)) {\r\n if (inputEl && typeof this.onSubmit == \"function\") {\r\n this.onSubmit(Librarian.Utils.getElementValue(inputEl));\r\n }\r\n\r\n this.close();\r\n } else {\r\n Librarian.Utils.error(Librarian.Lang.getArgString(\"workflow_approve_message_required\"), inputEl);\r\n }\r\n }.bind(this));\r\n }\r\n\r\n var cancelButtonEl = this.getElement(\"cancelButton\");\r\n if (cancelButtonEl) {\r\n cancelButtonEl.addOnClick(function () {\r\n if (typeof this.onCancel == \"function\")\r\n this.onCancel();\r\n\r\n this.close();\r\n }.bind(this));\r\n }\r\n }\r\n});","\r\nLibrarian.LibraryTreeWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onSelectClicked\"],\r\n\r\n options: {\r\n id: \"LibraryTreeWindow\",\r\n width: 500,\r\n height: 610,\r\n treeType: \"library\",\r\n multiSelect: true,\r\n checkboxTypes: [\"file\"]\r\n },\r\n\r\n onComplete: null,\r\n treeViews: [],\r\n path: '',\r\n treeType: [],\r\n selectedContent: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n if (options)\r\n this.onComplete = options.onComplete;\r\n\r\n this.options.title = Librarian.Lang.getString(\"libtree_title\");\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/librarytree.html\";\r\n\r\n this.path = options.path;\r\n this.treeType = Array.from(this.options.treeType);\r\n\r\n this.parent(options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var itemEl = this.getElement(\"selectButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.onSelectClicked, this);\r\n\r\n itemEl = this.getElement(\"cancelButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n itemEl = this.getElement(\"treeCtrl\");\r\n if (itemEl) {\r\n // Create each specified tree and add it to the window\r\n for (var i = 0, length = this.treeType.length; i < length; i++) {\r\n var tree;\r\n if (this.treeType[i] == \"myfavorites\") {\r\n tree = this.getMyFavoritesTree(itemEl);\r\n }\r\n else if (this.treeType[i] == \"globalfavorites\") {\r\n tree = this.getGlobalFavoritesTree(itemEl);\r\n }\r\n else if (this.treeType[i] == \"uploads\") {\r\n tree = this.getUploadsTree(itemEl);\r\n\r\n var buttonEl = this.getElement(\"uploadButton\");\r\n if (buttonEl) {\r\n buttonEl.show();\r\n buttonEl.tree = tree;\r\n buttonEl.addOnClick(function() {\r\n new Librarian.FileUploadWindow({\r\n uploadUrl: Librarian.path.getUploadUrl(\"uplf\") + \"&out=json&publ=1&wait=1&comp=1\",\r\n onSuccess: function() {\r\n this.tree.reload();\r\n }.bind(this)\r\n }).show();\r\n });\r\n }\r\n } else if (this.treeType[i] == \"creates\")\r\n tree = this.getCreationsTree(itemEl);\r\n else if (this.treeType[i] == \"articles\")\r\n tree = this.getArticlesTree(itemEl);\r\n else if (this.treeType[i] == \"slideShow\")\r\n tree = this.getSlideShowTree(itemEl);\r\n else if (this.treeType[i] == \"userSlideShow\")\r\n tree = this.getUserSlideShowTree(itemEl);\r\n else\r\n tree = this.getLibraryTree(itemEl, this.path);\r\n\r\n tree.addEvent(\"select\", function(node) {\r\n if (node.type != \"file\")\r\n return;\r\n\r\n var data = node.data;\r\n data.name = node.name;\r\n\r\n // If this is a virtual presentation with no Presentation ID, use the given File ID\r\n if (!data.presid && data.ext && (data.ext == \"vpres\")) {\r\n data.presid = data.fileid;\r\n data.fileid = null;\r\n }\r\n\r\n if (this.options.multiSelect)\r\n Librarian.PreviewWindow.openPreviewWindow(data);\r\n else\r\n this.selectedContent = data;\r\n }.bind(this));\r\n\r\n tree.addEvent(\"click\", function(node) {\r\n if (!node.isOpen() || node.isSelected())\r\n node.toggle();\r\n });\r\n tree.load();\r\n\r\n this.treeViews.push(tree);\r\n }\r\n }\r\n },\r\n\r\n getLibraryTree: function(itemEl, path) {\r\n var params = null,\r\n rootCat = 0;\r\n if (path) {\r\n rootCat = -1;\r\n params = {\r\n cpath: path,\r\n pcid: 0\r\n };\r\n }\r\n\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: this.options.checkboxTypes,\r\n rootCat: rootCat,\r\n params: params\r\n });\r\n },\r\n\r\n\r\n getMyFavoritesTree: function(itemEl) {\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: [\"file\"],\r\n catType: Librarian.catType.myFavorite,\r\n method: \"getvpcc\",\r\n rootMethod: \"getvpci\",\r\n cookieStorage: false,\r\n rootCat: Librarian.specialCategories.UserFavorites\r\n\r\n });\r\n },\r\n\r\n getGlobalFavoritesTree: function(itemEl) {\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: [\"file\"],\r\n cookieStorage: false,\r\n catType: Librarian.catType.globalFavorite,\r\n rootCat: Librarian.specialCategories.GlobalFavorites.CatId,\r\n method: \"getcg\"\r\n });\r\n },\r\n\r\n getUploadsTree: function(itemEl) {\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: [\"file\"],\r\n method : \"getcc\",\r\n rootMethod : \"getci\",\r\n rootCat : Librarian.specialCategories.UserUploads,\r\n formatName: function(node, name) {\r\n if (node.isRoot())\r\n return \"Uploads\";\r\n return name;\r\n },\r\n cookieStorage: false\r\n });\r\n },\r\n\r\n getCreationsTree: function(itemEl) {\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: [\"file\"],\r\n method: \"getcc\",\r\n rootMethod: \"getci\",\r\n rootCat: Librarian.specialCategories.UserApproved,\r\n formatName: function(node, name) {\r\n if (node.isRoot())\r\n return \"Creations\";\r\n return name;\r\n },\r\n cookieStorage: false\r\n });\r\n },\r\n\r\n getArticlesTree: function(itemEl) {\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: [\"file\"],\r\n catType: Librarian.catType.articles,\r\n rootCat: Librarian.specialCategories.Articles || -1,\r\n cookieStorage: false,\r\n params: {\r\n useweb: false\r\n }\r\n });\r\n },\r\n\r\n getSlideShowTree: function(itemEl) {\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: [\"file\"],\r\n catType: Librarian.catType.myFavorite,\r\n method: \"getvpcc\",\r\n rootMethod: \"getvpci\",\r\n cookieStorage: false,\r\n params: {\r\n type: Librarian.virtPresType.sharedSlideshow\r\n }\r\n });\r\n },\r\n\r\n getUserSlideShowTree: function(itemEl) {\r\n return new Librarian.TreeView({\r\n allowNodeReselect: true,\r\n container: itemEl.id,\r\n checkBoxes: this.options.multiSelect,\r\n checkboxTypes: [\"file\"],\r\n catType: Librarian.catType.myFavorite,\r\n method: \"getvpcc\",\r\n rootMethod: \"getvpci\",\r\n cookieStorage: false,\r\n params: {\r\n type: Librarian.virtPresType.slideshow\r\n }\r\n });\r\n },\r\n\r\n onSelectClicked: function() {\r\n var content = [];\r\n\r\n if (!this.options.multiSelect) {\r\n content = [this.selectedContent];\r\n }\r\n else if (this.treeViews) {\r\n // Get all checked files\r\n for (var i = this.treeViews.length; i--;) {\r\n if (this.treeViews[i]) {\r\n var checked = this.treeViews[i].getChecked();\r\n for (var j = checked.length; j--;) {\r\n var data = checked[j].data;\r\n data.name = checked[j].name;\r\n content.push(data);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (typeof this.onComplete == \"function\")\r\n this.onComplete(content);\r\n\r\n this.close();\r\n }\r\n});","Librarian.LoginDialog = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onWindowLoaded\", \"onSubmit\", \"onSuccess\", \"onFailure\"],\r\n\r\n options: {\r\n modalOverlayClose: false,\r\n closable: false,\r\n id: \"LoginDialog\",\r\n type: \"modal\",\r\n width: 400,\r\n height: 165,\r\n padding: {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n },\r\n onSuccess: null\r\n },\r\n\r\n initialize: function(options) {\r\n this.options.title = Librarian.Lang.getString(\"login\");\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/loginDialog.htm\";\r\n\r\n this.parent(options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n document.removeOnKeyPress();\r\n var inputs = $$(\"#loginForm input\");\r\n for (var i = 0; i < inputs.length; i++) {\r\n inputs[i].addEvent(\"keypress\", function(e) {\r\n var evt = new Event(e);\r\n if (evt.keyCode == 13) {\r\n this.onSubmit();\r\n evt.stop();\r\n return false;\r\n }\r\n } .bind(this));\r\n }\r\n\r\n var itemEl = $(\"submitButton\");\r\n if (itemEl) {\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n itemEl.addOnClick(this.onSubmit, this);\r\n }\r\n\r\n itemEl = $(\"cancelButton\");\r\n if (itemEl) {\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n itemEl.addOnClick(function () {\r\n var params = Librarian.features.sso.load ? \"?sso=false\" : \"\";\r\n Librarian.Utils.openPage(\"index.htm\" + params, false);\r\n });\r\n }\r\n\r\n itemEl = $(\"loginForm\");\r\n if (itemEl && Librarian.userInfo) {\r\n itemEl.id = this.options.id + '_' + itemEl.id;\r\n itemEl.email.value = Librarian.userInfo.Email;\r\n if ((Librarian.sessionType == Librarian.Session.sessionTypes.onBehalf) && Librarian.originalUserInfo)\r\n itemEl.email.value = Librarian.originalUserInfo.Email;\r\n itemEl.password.focus();\r\n }\r\n\r\n window.fireEvent(\"loginDialogLoaded\");\r\n },\r\n\r\n onSubmit: function() {\r\n var credentials = this.getCredentials();\r\n if (!credentials) {\r\n var itemEl = $(\"passError\");\r\n if (itemEl)\r\n itemEl.show();\r\n\r\n return;\r\n }\r\n\r\n // Hide the error message again so that the\r\n // user knows if the login fails multiple times.\r\n var errorEl = $(\"passError\");\r\n if (errorEl)\r\n errorEl.hide();\r\n\r\n this.toggleDisabled(true);\r\n\r\n var session = new Librarian.Session();\r\n session.onLogon = this.onSuccess;\r\n session.onFailure = this.onFailure;\r\n\r\n session.logon(credentials.username, credentials.password);\r\n },\r\n\r\n getCredentials: function() {\r\n var loginFormEl = this.getElement(\"loginForm\");\r\n var username = loginFormEl.email.value;\r\n var password = loginFormEl.password.value;\r\n\r\n if (!username || !password)\r\n return null;\r\n\r\n return {\r\n username,\r\n password\r\n };\r\n },\r\n\r\n onSuccess: function(sessionInfo) {\r\n if (typeof this.options.onSuccess == \"function\")\r\n this.options.onSuccess();\r\n\r\n if (sessionInfo)\r\n Librarian.sessionKey = sessionInfo.SessionKey;\r\n this.close();\r\n },\r\n\r\n onFailure: function(xhr) {\r\n if (Librarian.Session.isMfaRequired(xhr)) {\r\n this.handleMFA(xhr.responseText);\r\n return;\r\n }\r\n\r\n // Display the error message\r\n var itemEl = $(\"passError\");\r\n if (itemEl)\r\n itemEl.show();\r\n\r\n this.toggleDisabled(false);\r\n },\r\n\r\n handleMFA: function(responseText) {\r\n var mfaInfo = JSON.parse(responseText);\r\n var credentials = this.getCredentials();\r\n\r\n var container = this.windowEl.getElement(\".login-mfa-container\");\r\n if (container)\r\n return;\r\n\r\n var loginPanel = this.windowEl.getElement(\".loginpanel\");\r\n\r\n container = new Element(\"div\", {\r\n \"class\": \"login-mfa-container\"\r\n }).inject(loginPanel);\r\n\r\n var mfaPanel = new Librarian.Session.MFAPanel({\r\n container: container,\r\n mfaInfo: mfaInfo,\r\n credentials: credentials,\r\n onSuccess: this.onSuccess\r\n });\r\n\r\n mfaPanel.addEvent(\"load\", function() {\r\n this.resize({ height: \"auto\" });\r\n }.bind(this));\r\n },\r\n\r\n toggleDisabled: function(disabled) {\r\n var loginFormEl = this.getElement(\"loginForm\"),\r\n submitButtonEl = this.getElement(\"submitButton\");\r\n\r\n loginFormEl.password.disabled = disabled;\r\n Librarian.Utils.setButtonDisabled(submitButtonEl, disabled);\r\n }\r\n});","\r\nLibrarian.MessagePreviewWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"setUpColumns\", \"getTemplates\", \"initPreviewPanel\", \"initTemplatePanel\", \"onTemplateSelect\", \"getPreview\", \"setPreviewContent\", \"save\"],\r\n\r\n options: {\r\n id: \"MessagePreviewWindow\",\r\n maximizable: false,\r\n resizable: true,\r\n height: 650,\r\n width: 840,\r\n toolbar2: true,\r\n toolbar2Height: 50,\r\n footerHide: true,\r\n\r\n // Template options\r\n templateId: -1, // SupportFileId of template\r\n eventType: 0,\r\n allowChangeTemplate: false,\r\n permissionedTemplates: false,\r\n\r\n // Editor options\r\n editable: false,\r\n editMode: false,\r\n editableSelector: \".editable-area\"\r\n },\r\n\r\n recipientIndex: 0,\r\n\r\n updateInfoFn: null,\r\n onSave: null,\r\n onTemplateChange: null,\r\n\r\n previewFrame: null,\r\n templates: [],\r\n template: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n this.updateInfoFn = options.updateInfoFn;\r\n this.onSave = options.onSave;\r\n this.onTemplateChange = options.onTemplateChange;\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"message_preview_title\");\r\n this.options.content = '';\r\n\r\n this.options.toolbar2URL = Librarian.path.getLayoutsPath() + \"pages/messagepreviewtoolbar.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function () {\r\n this.handlePositionLimits();\r\n\r\n this.loadChain = new Chain();\r\n this.loadChain.chain(\r\n //this.getTemplates,\r\n this.initPreviewPanel\r\n //,this.initTemplatePanel\r\n ).callChain();\r\n },\r\n\r\n onToolbar2Loaded: function() {\r\n this.setupElements();\r\n\r\n var editCommands = this.getElement(\"editCommands\");\r\n var previewCommands = this.getElement(\"previewCommands\");\r\n if (editCommands && previewCommands && this.options.editable) {\r\n previewCommands.hide();\r\n editCommands.show();\r\n }\r\n\r\n var recipientCommands = this.getElement(\"recipientCommands\");\r\n if (recipientCommands && Librarian.event.previewMultipleRecipients && !this.options.editable) {\r\n recipientCommands.show();\r\n\r\n this.setupRecipientCommands();\r\n }\r\n\r\n var itemEl = this.getElement(\"editButton\");\r\n if (itemEl && this.options.editable) {\r\n itemEl.show();\r\n itemEl.addOnClick(function() {\r\n this.setEditMode(!this.options.editMode);\r\n }, this);\r\n }\r\n\r\n itemEl = this.getElement(\"closeButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n itemEl = this.getElement(\"cancelButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n itemEl = this.getElement(\"saveButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.save);\r\n },\r\n\r\n setupRecipientCommands: function() {\r\n var prevEl = this.getElement(\"recipientPrev\"),\r\n nextEl = this.getElement(\"recipientNext\"),\r\n self = this;\r\n\r\n if (prevEl) {\r\n prevEl.addOnClick(function() {\r\n self.recipientIndex--;\r\n self.getPreview();\r\n });\r\n }\r\n\r\n if (nextEl) {\r\n nextEl.addOnClick(function() {\r\n self.recipientIndex++;\r\n self.getPreview();\r\n });\r\n }\r\n },\r\n\r\n getTemplates: function() {\r\n if (this.options.allowChangeTemplate) {\r\n var method = this.options.permissionedTemplates ? \"getpermfis\" : \"getfis\",\r\n url = Librarian.path.getSupportUrl(method) + \"&ftype=\" + Librarian.SupportFiles.supportFileTypes.eventTemplate + \"&subtype=\" + this.options.eventType + \"&tmpl=1&out=dgrid\";\r\n\r\n var request = new Librarian.Request.JSON({\r\n url: url,\r\n onSuccess: function(json) {\r\n this.templates = json.data;\r\n\r\n if (this.templates.length >= 1 && this.options.templateId < 0)\r\n this.setTemplate(this.templates[0]);\r\n\r\n this.loadChain.callChain();\r\n }.bind(this)\r\n });\r\n request.send();\r\n }\r\n else\r\n this.loadChain.callChain();\r\n },\r\n\r\n initPreviewPanel: function() {\r\n this.previewColumn = new MUI.Column({\r\n id: \"messagePreviewColumn\",\r\n container: this.contentWrapperEl,\r\n placement: \"main\",\r\n sortable: false\r\n });\r\n\r\n this.previewPanel = new MUI.Panel({\r\n id: \"messagePreviewPanel\",\r\n contentURL: Librarian.path.getLayoutsPath() + \"pages/messagepreviewpanel.html?\" + Librarian.buildVersion,\r\n loadMethod: \"iframe\",\r\n column: \"messagePreviewColumn\",\r\n collapsible: false,\r\n header: false,\r\n onContentLoaded: function() {\r\n this.previewPanel.contentEl.setStyle(\"height\", \"100%\");\r\n\r\n this.previewFrame.setStyles({\r\n width: \"100%\",\r\n height: \"100%\"\r\n });\r\n\r\n // Handle cross-browser cases for loading the document from an iFrame\r\n var doc = this.previewFrame.contentDocument || this.previewFrame.contentWindow.document;\r\n this.previewContentEl = doc.getElementById(\"messagePreviewContent\");\r\n this.getPreview();\r\n }.bind(this)\r\n });\r\n this.previewFrame = this.previewPanel.iframeEl;\r\n\r\n this.loadChain.callChain();\r\n },\r\n\r\n initTemplatePanel: function() {\r\n // Only show template panel if there is more than one template to pick from\r\n if (this.templates.length > 1) {\r\n var self = this;\r\n\r\n this.templateColumn = new MUI.Column({\r\n placement: \"right\",\r\n id: \"messageTemplateColumn\",\r\n container: this.contentWrapperEl,\r\n sortable: false,\r\n width: 200,\r\n resizeLimit: [100, 300]\r\n });\r\n\r\n this.templatePanel = new MUI.Panel({\r\n id: \"messageTemplatePanel\",\r\n title: \"Available Templates\",\r\n column: \"messageTemplateColumn\",\r\n content: \"\",\r\n collapsible: false,\r\n padding: {top: 0, left: 0, bottom: 0, right: 0},\r\n onContentLoaded: function() {\r\n for (var i = 0; i < self.templates.length; i++) {\r\n var template = self.templates[i];\r\n\r\n var tempItem = new Element(\"div\");\r\n tempItem.data = template;\r\n tempItem.addClass(\"messagePreview-templateItem\");\r\n if (i == 0)\r\n tempItem.addClass(\"selected\");\r\n\r\n tempItem.addOnClick(function() {\r\n self.onTemplateSelect(this);\r\n });\r\n\r\n var description = template.description || Librarian.Lang.getString(\"message_preview_no_desc\");\r\n\r\n var tempDesc = new Element(\"div\", {\r\n text: description\r\n });\r\n\r\n var tempImg = new Element(\"img\");\r\n tempImg.src = Librarian.path.getDownloadUrl() + \"mode=dsfthmb&tmpl=1&fid=\" + template.supportfileid;\r\n tempImg.setAttribute(\"width\", \"100%\");\r\n tempImg.removeAttribute(\"height\");\r\n\r\n tempDesc.inject(tempItem);\r\n tempImg.inject(tempItem);\r\n tempItem.inject(this.contentEl);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.loadChain.callChain();\r\n },\r\n\r\n getPreview: function() {\r\n if (typeof this.updateInfoFn != \"function\")\r\n return;\r\n\r\n var eventInfo = this.updateInfoFn(),\r\n eventSendInfo = {\r\n event: eventInfo\r\n };\r\n\r\n // Only send one recipient for the preview\r\n var recipient = this.getPreviewRecipient(eventInfo.recipients);\r\n eventInfo.recipients = Array.from(recipient);\r\n\r\n var url = Librarian.path.getEventUrl(\"getepreview\") + \"&in=ujson&out=text\";\r\n if (this.options.editable)\r\n url += \"&tmpl=true\";\r\n\r\n var request = new Librarian.Request({\r\n url: url,\r\n method: \"post\",\r\n data: Base64.encode(JSON.stringify(eventSendInfo)),\r\n onSuccess: this.setPreviewContent,\r\n onFailure: Librarian.Utils.onFailure\r\n });\r\n request.send();\r\n },\r\n\r\n getPreviewRecipient: function(recipients) {\r\n if (!recipients || recipients.length == 0)\r\n return null;\r\n\r\n this.recipientIndex %= recipients.length;\r\n\r\n return recipients[this.recipientIndex];\r\n },\r\n\r\n setPreviewContent: function(html) {\r\n if (this.previewContentEl) {\r\n this.previewContentEl.set(\"html\", html);\r\n\r\n var width = this.previewContentEl.clientWidth;\r\n if (width > this.options.width) {\r\n this.options.width = width + 1;\r\n this.resize();\r\n this.handlePositionLimits();\r\n }\r\n\r\n var links = $(this.previewContentEl).getElements(\"a\");\r\n links.forEach(function(link) {\r\n link.target = \"_blank\";\r\n var href = (link.get(\"href\") || \"\").trim();\r\n\r\n // Remove invalid portal links (no hash)\r\n if (href == \"\" || href.match(/library-dl.*lkey=($|&|#)/)) {\r\n link.removeAttribute(\"href\");\r\n link.onclick = function() { return false; };\r\n }\r\n });\r\n\r\n if (this.options.editable) {\r\n this.tinyMCE = this.previewFrame.contentWindow.tinyMCE;\r\n var options = Librarian.Utils.getTinyMCEOptions({\r\n toolbar: [\"undo redo | bold italic underline strikethrough | alignleft aligncenter alignright | indent outdent | subscript superscript | removeformat | code\",\r\n \"forecolor | fontfamily fontsize | bullist numlist | hr link insertimage insertdisclosure\"],\r\n selector: this.options.editableSelector,\r\n inline: true,\r\n height: 150,\r\n forced_root_block: 'p',\r\n noneditable_regexp: /{!disclosure.*?}/g,\r\n indent_use_margin: true,\r\n setup: function(editor) {\r\n Librarian.Utils.addTinyMCEButton(editor, \"insertimage\");\r\n Librarian.Utils.addTinyMCEButton(editor, \"insertdisclosure\");\r\n }.bind(this)\r\n });\r\n\r\n options.plugins += \" noneditable\";\r\n\r\n this.tinyMCE.init(options);\r\n this.setEditMode(this.options.editMode);\r\n }\r\n }\r\n },\r\n\r\n setEditMode: function(enabled) {\r\n this.options.editMode = enabled;\r\n if (this.previewContentEl)\r\n this.previewContentEl.toggleClass(\"editing\", enabled);\r\n\r\n this.tinyMCE.get().forEach(function(editor) {\r\n if (enabled)\r\n editor.show();\r\n else\r\n editor.hide();\r\n });\r\n\r\n var itemEl = this.getElement(\"editButton\");\r\n if (itemEl)\r\n itemEl.value = (enabled ? \"Disable\" : \"Enable\") + \" Editing\";\r\n },\r\n\r\n onTemplateSelect: function(tempItem) {\r\n MUI.selected(tempItem, tempItem.parentElement);\r\n\r\n this.setTemplate(tempItem.data);\r\n this.getPreview();\r\n },\r\n\r\n setTemplate: function(template) {\r\n this.template = template;\r\n\r\n if (typeof this.onTemplateChange == \"function\")\r\n this.onTemplateChange(template);\r\n },\r\n\r\n getTemplateId: function() {\r\n if (this.template)\r\n return this.template.supportfileid;\r\n\r\n return this.options.templateId;\r\n },\r\n\r\n save: function () {\r\n var itemEl = this.getElement(\"saveButton\");\r\n if (itemEl && itemEl.disabled)\r\n return;\r\n Librarian.Utils.setButtonDisabled(itemEl, true);\r\n\r\n if (this.tinyMCE)\r\n this.tinyMCE.remove();\r\n\r\n if (this.previewContentEl && typeof this.onSave == \"function\")\r\n this.onSave(this.previewContentEl);\r\n\r\n this.close();\r\n },\r\n\r\n onClose: function() {\r\n this.parent();\r\n }\r\n});\r\n","Librarian.Window.MetaTreeWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onSubmitClicked\", \"onNodeChecked\", \"onTreeChildLoaded\"],\r\n\r\n options: {\r\n id: \"metaTreeWindow\",\r\n treeContainer: \"metaTreeCtrl\",\r\n width: 360,\r\n height: 385,\r\n title: null,\r\n attributeId: -1,\r\n attributeName: null,\r\n selectedData: null,\r\n checkChildren: false\r\n },\r\n\r\n selectedData: [],\r\n treeView: null,\r\n onSubmit: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n if ((this.options.attributeId < 0) && ((this.options.attributeName || '').trim().length == 0))\r\n throw \"Valid attribute ID not provided (\" + this.options.attributeId + ')';\r\n\r\n if (options) {\r\n if (typeof options.onSubmit == \"function\")\r\n this.onSubmit = options.onSubmit;\r\n\r\n this.selectedData = options.selectedData || [];\r\n }\r\n\r\n // Set the title on init so that we can use the localization\r\n if ((this.options.title || '').trim().length == 0)\r\n this.options.title = Librarian.Lang.getString(\"metatree_title\");\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/metatreewindow.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var itemEl = this.getElement(\"metaTreeSubmit\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.onSubmitClicked);\r\n\r\n itemEl = this.getElement(\"metaTreeCancel\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n this.loadTree();\r\n },\r\n\r\n onSubmitClicked: function() {\r\n if (typeof this.onSubmit == \"function\")\r\n this.onSubmit(this.selectedData);\r\n this.close();\r\n },\r\n\r\n onNodeChecked: function(node, checked) {\r\n if (checked) {\r\n if (!this.isSelected(node.data.attribcatid))\r\n this.selectedData.push(Object.subset(node, [\"name\", \"descr\", \"data\"]));\r\n }\r\n else\r\n this.removeSelected(node.data.attribcatid);\r\n\r\n // Make sure the children of this item have the same state\r\n if (this.options.checkChildren && node.hasChildren()) {\r\n node.recursive(function() {\r\n this.setCheckboxState(checked ? \"checked\" : \"unchecked\");\r\n });\r\n }\r\n },\r\n\r\n isSelected: function(attribCatId) {\r\n for (var i = this.selectedData.length; i--;) {\r\n if (this.selectedData[i].data.attribcatid == attribCatId)\r\n return true;\r\n }\r\n },\r\n \r\n removeSelected: function(attribCatId) {\r\n for (var i = this.selectedData.length; i--;) {\r\n if (this.selectedData[i].data.attribcatid == attribCatId) {\r\n this.selectedData.remove(i);\r\n break;\r\n }\r\n }\r\n },\r\n\r\n loadTree: function() {\r\n var contEl = this.getElement(this.options.treeContainer);\r\n if (!contEl)\r\n return;\r\n\r\n // Empty the tree container so we don't get duplicates\r\n contEl.empty();\r\n\r\n this.treeView = new Librarian.TreeView({\r\n container: contEl.id,\r\n method: \"getatcat\",\r\n rootMethod: \"getatcat\",\r\n checkBoxes: true,\r\n cookieStorage: false,\r\n rootCat: 0,\r\n params: {\r\n atid: this.options.attributeId,\r\n atname: this.options.attributeName\r\n },\r\n forest: true\r\n });\r\n\r\n this.treeView.load = function() {\r\n var url = this.options.rootUrl + \"&m=\" + this.options.rootMethod + \"&out=mtree&pcid=\" + this.options.rootCat;\r\n\r\n // If any extra parameters are given to pass in the request, add them here\r\n if ((typeof this.options.params == \"object\") && (this.options.params != null)) {\r\n for (var key in this.options.params) {\r\n if (!this.options.params.hasOwnProperty(key))\r\n continue;\r\n\r\n url += '&' + key + '=' + this.options.params[key];\r\n }\r\n }\r\n\r\n this.baseLoad.apply(this, [\r\n {\r\n noCache: true,\r\n url: url\r\n }\r\n ]);\r\n }.bind(this.treeView);\r\n\r\n this.treeView.loadOptions = function(node) {\r\n var method = this.options.method,\r\n url = this.options.url;\r\n\r\n url += \"&m=\" + method + \"&out=mtree&pcid=\";\r\n\r\n if (node)\r\n url += node.data.attribcatid;\r\n else\r\n url += this.options.rootCat;\r\n\r\n // If any extra parameters are given to pass in the request, add them here\r\n if ((typeof this.options.params == \"object\") && (this.options.params != null)) {\r\n for (var key in this.options.params) {\r\n if (!this.options.params.hasOwnProperty(key))\r\n continue;\r\n\r\n url += '&' + key + '=' + this.options.params[key];\r\n }\r\n }\r\n\r\n var options = {\r\n noCache: true,\r\n url: url,\r\n onFailure: Librarian.Utils.onFailure\r\n };\r\n\r\n return options;\r\n }.bind(this.treeView);\r\n\r\n this.treeView.addEvent(\"nodeCreate\", this.onTreeChildLoaded);\r\n this.treeView.addEvent(\"switch\", this.onNodeChecked);\r\n this.treeView.load();\r\n },\r\n\r\n onTreeChildLoaded: function(node) {\r\n if (!node)\r\n return;\r\n\r\n var checked = false;\r\n // Set previously selected items to be \"Checked\" on initial node load\r\n if (node.data && this.isSelected(node.data.attribcatid))\r\n checked = true;\r\n // If we're told to, check all children whose parent is checked\r\n else if (this.options.checkChildren) {\r\n var parent = node.getParent();\r\n if (parent && parent.state && (parent.state.checked == \"checked\"))\r\n checked = true;\r\n }\r\n\r\n if (checked)\r\n node.setCheckboxState(\"checked\");\r\n }\r\n});","Librarian.OnBehalfWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"loginOnBehalf\"],\r\n\r\n options: {\r\n id: \"OnBehalfWindow\",\r\n width: 625,\r\n height: 570\r\n },\r\n\r\n grid: null,\r\n currentFilter: null,\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"login_on_behalf\");\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/onbehalf.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n\r\n this.setupElements();\r\n\r\n function doFilter() {\r\n var value = (Librarian.Utils.getElementValue(this.getElement(\"behalfSearchBox\")) || '').trim(),\r\n url = null;\r\n // Add the \"name\" parameter if we have a filter\r\n if (value.length > 0)\r\n url = this.grid.options.url + \"&name=\" + encodeURIComponent(value);\r\n\r\n this.grid.loadData(url);\r\n }\r\n\r\n var itemEl = this.getElement(\"behalfSearchBox\");\r\n if (itemEl) {\r\n itemEl.addEvent(\"keypress\", function(e) {\r\n var evt = new Event(e);\r\n if (evt.keyCode == 13) {\r\n doFilter.bind(this)();\r\n evt.stop();\r\n return false;\r\n }\r\n }.bind(this));\r\n }\r\n\r\n itemEl = this.getElement(\"behalfSearchButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(doFilter, this);\r\n\r\n itemEl = this.getElement(\"behalfCloseButton\");\r\n if (itemEl) {\r\n itemEl.show();\r\n itemEl.addOnClick(this.close);\r\n }\r\n\r\n var self = this,\r\n filterEls = $$(\"a.filterLetter\");\r\n for (var i = 0; i < filterEls.length; i++) {\r\n filterEls[i].addOnClick(function() {\r\n // Reset to the filter box to make it clear that is not being used\r\n Librarian.Utils.setElementValue(self.getElement(\"behalfSearchBox\"), '');\r\n\r\n var term = this.get(\"text\");\r\n if (term == \"All\")\r\n term = null;\r\n\r\n self.currentFilter = term;\r\n\r\n // If there is a grid, reload it with the new data\r\n if (self.grid) {\r\n var url = null;\r\n // Add the \"name\" parameter if we have a filter\r\n if (self.currentFilter != null)\r\n url = self.grid.options.url + \"&name=\" + encodeURIComponent(self.currentFilter + '%');\r\n\r\n // Reset the current page so we don't load page 2 of 1\r\n self.grid.options.page = 1;\r\n\r\n self.grid.loadData(url);\r\n }\r\n });\r\n }\r\n\r\n itemEl = this.getElement(\"behalfGrid\");\r\n if (itemEl) {\r\n var gridOptions = this.getGridOptions();\r\n\r\n this.grid = new omniGrid(itemEl.id, gridOptions);\r\n\r\n this.grid.addEvent(\"dblclick\", this.loginOnBehalf);\r\n }\r\n },\r\n\r\n getGridOptions: function() {\r\n var self = this;\r\n\r\n var url = this.getUrl();\r\n var columnModel = this.getColumnModel();\r\n\r\n var gridOptions = {\r\n url: url,\r\n columnModel: columnModel,\r\n resizable: false,\r\n pagination: true,\r\n serverSort: true,\r\n sortHeader: true,\r\n perPage: 20,\r\n width: 600,\r\n height: this.options.height - 100,\r\n pageChangeHandler: function(grid /*, page, pages, perPage*/) {\r\n var url = null;\r\n // Add the \"name\" parameter if we have a filter\r\n if (self.currentFilter != null)\r\n url = grid.options.url + \"&name=\" + encodeURIComponent(self.currentFilter) + \"%\";\r\n\r\n grid.loadData(url);\r\n },\r\n customSortHandler: function(grid, sortOn, sortBy) {\r\n grid.options.sortOn = sortOn;\r\n grid.options.sortBy = sortBy;\r\n\r\n var url = null;\r\n // Add the \"name\" parameter if we have a filter\r\n if (self.currentFilter != null)\r\n url = grid.options.url + \"&name=\" + encodeURIComponent(self.currentFilter) + \"%\";\r\n\r\n grid.loadData(url);\r\n return true;\r\n }\r\n };\r\n\r\n return gridOptions;\r\n },\r\n\r\n getUrl: function() {\r\n var url = Librarian.path.getMethodUrl(\"getusers\") + \"&out=dgrid\";\r\n\r\n return url;\r\n },\r\n\r\n getColumnModel: function() {\r\n var columnModel = [\r\n {\r\n header: Librarian.Lang.getString(\"name\"),\r\n labelFunction: Librarian.Utils.renderContactName,\r\n dataIndex: \"lastname\",\r\n dataType: \"string\",\r\n width: 225\r\n },\r\n {\r\n header: Librarian.Lang.getString(\"email\"),\r\n dataIndex: \"email\",\r\n dataType: \"string\",\r\n width: 375\r\n }\r\n ];\r\n\r\n return columnModel;\r\n },\r\n\r\n loginOnBehalf: function(obj) {\r\n var data = this.grid.getDataByRow(obj.row);\r\n\r\n if (!data)\r\n return;\r\n\r\n var url = Librarian.path.getMethodUrl(\"logob\") + \"&obuid=\" + data.userid;\r\n\r\n new Librarian.Request({\r\n url: url,\r\n onSuccess: function() {\r\n // Refresh the page once logged in\r\n location.reload(true);\r\n },\r\n onFailure: Librarian.Utils.onFailure\r\n }).send();\r\n\r\n this.close();\r\n }\r\n});","Librarian.PermissionWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"save\"],\r\n\r\n options: {\r\n id: \"PermissionWindow\",\r\n width: 625,\r\n height: 580,\r\n itemData: null\r\n },\r\n\r\n content: null, \r\n grid: null,\r\n checkedUsers: {},\r\n filter: null,\r\n \r\n initialize: function (options) {\r\n this.setOptions(options);\r\n\r\n if (!this.options.itemData)\r\n throw \"Missing data\";\r\n\r\n this.content = Librarian.Utils.getStandardContent(this.options.itemData);\r\n\r\n if (!this.content.contentid || !this.content.contenttype)\r\n throw \"Invalid data\";\r\n\r\n // Set the title on init so that we can use the localization\r\n this.options.title = Librarian.Lang.getString(\"permission_edit\");\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/permission.html\";\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function () {\r\n this.parent();\r\n this.setupElements();\r\n\r\n var itemEl = this.getElement(\"filterButton\");\r\n if (itemEl) {\r\n itemEl.addOnClick(function() {\r\n itemEl = this.getElement(\"filterBox\");\r\n if (itemEl) {\r\n this.filter = itemEl.value;\r\n this.reloadGrid();\r\n }\r\n }.bind(this));\r\n }\r\n\r\n itemEl = this.getElement(\"okButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.save);\r\n\r\n itemEl = this.getElement(\"closeButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n var self = this,\r\n filterEls = $$(\"a.filterLetter\");\r\n\r\n for (var i = 0; i < filterEls.length; i++) {\r\n filterEls[i].addOnClick(function() {\r\n var term = this.get(\"text\");\r\n if (term == \"All\")\r\n self.filter = '';\r\n else\r\n self.filter = term + '%';\r\n\r\n self.reloadGrid();\r\n });\r\n }\r\n\r\n this.getPermissions();\r\n },\r\n\r\n getPermissions: function () {\r\n var url = Librarian.path.getMethodUrl(\"getcp\") + \"&out=cjson&cntid=\" + this.content.contentid + \"&cnttype=\" + this.content.contenttype;\r\n\r\n new Librarian.Request.JSON({\r\n url: url,\r\n onSuccess: function (json) {\r\n if (!json)\r\n return;\r\n\r\n json.forEach(function (user) {\r\n this.checkedUsers[user.entityId] = user.permissions;\r\n }.bind(this));\r\n\r\n this.loadGrid();\r\n }.bind(this)\r\n }).send();\r\n },\r\n\r\n loadGrid: function () {\r\n var itemEl = this.getElement(\"userGrid\");\r\n if (itemEl) {\r\n var cmu =\r\n [\r\n {\r\n header: Librarian.Lang.getString(\"read\"),\r\n id: \"read\",\r\n dataType: \"checkbox\",\r\n width: 40,\r\n onChange: true,\r\n customCheckValue: function (row) {\r\n return this.getRowPermission(row) >= 4;\r\n }.bind(this)\r\n },\r\n {\r\n header: Librarian.Lang.getString(\"write\"),\r\n id: \"write\",\r\n dataType: \"checkbox\",\r\n width: 40,\r\n onChange: true,\r\n customCheckValue: function (row) {\r\n return this.getRowPermission(row) >= 6;\r\n }.bind(this)\r\n },\r\n {\r\n header: Librarian.Lang.getString(\"name\"),\r\n labelFunction: Librarian.Utils.renderContactName,\r\n className: Librarian.Utils.getContactNameClass,\r\n dataIndex: \"lastname\",\r\n dataType: \"string\",\r\n width: 225\r\n },\r\n {\r\n header: Librarian.Lang.getString(\"email\"),\r\n dataIndex: \"email\",\r\n dataType: \"string\",\r\n width: 350\r\n }\r\n ];\r\n\r\n this.grid = new omniGrid(itemEl.id, {\r\n columnModel: cmu,\r\n url: this.getUrl(),\r\n resizable: false,\r\n pagination: true,\r\n serverSort: false,\r\n sortHeader: true,\r\n perPage: 20,\r\n width: 600,\r\n height: 480\r\n });\r\n\r\n this.grid.onSelect = function (obj) {\r\n var columnModel = obj.columnModel,\r\n checkbox = obj.input,\r\n li = this.grid.getLiParent(checkbox),\r\n data = this.grid.getDataByRow(obj.row);\r\n\r\n if (!li || !data)\r\n return;\r\n\r\n var checkboxes = li.getElements(\"[type=checkbox]\"),\r\n readBox = checkboxes[0],\r\n writeBox = checkboxes[1];\r\n\r\n if (columnModel.id == \"read\" && !checkbox.checked && writeBox)\r\n writeBox.checked = false;\r\n else if (columnModel.id == \"write\" && checkbox.checked && readBox)\r\n readBox.checked = true;\r\n\r\n var permission = 0;\r\n if (writeBox && writeBox.checked)\r\n permission = 6;\r\n else if (readBox && readBox.checked)\r\n permission = 4;\r\n\r\n if (permission > 0)\r\n this.checkedUsers[data.userid] = permission;\r\n else\r\n delete this.checkedUsers[data.userid];\r\n }.bind(this);\r\n }\r\n },\r\n\r\n getRowPermission: function (row) {\r\n var data = this.grid.getDataByRow(row);\r\n if (data)\r\n return this.checkedUsers[data.userid];\r\n\r\n return 0;\r\n },\r\n\r\n save: function () {\r\n var permissions = [];\r\n Object.forEach(this.checkedUsers, function (value, key) {\r\n permissions.push({\r\n entityId: key,\r\n permissions: value\r\n });\r\n });\r\n\r\n var buttonEl = this.getElement(\"okButton\");\r\n Librarian.Utils.setButtonDisabled(buttonEl, true);\r\n\r\n var url = Librarian.path.getMethodUrl(\"setcp\") + \"&in=json&out=ujson&cntid=\" + this.content.contentid + \"&cnttype=\" + this.content.contenttype;\r\n\r\n new Librarian.Request.JSON({\r\n url: url,\r\n method: \"post\",\r\n data: Base64.encode(JSON.stringify(permissions)),\r\n onSuccess: function () {\r\n Librarian.Utils.notification(Librarian.Lang.getString(\"permission_saved\"));\r\n\r\n this.close();\r\n }.bind(this),\r\n onFailure: function(error) {\r\n Librarian.Utils.onFailure(error);\r\n Librarian.Utils.setButtonDisabled(buttonEl, false);\r\n }\r\n }).send();\r\n },\r\n\r\n reloadGrid: function() {\r\n this.grid.removeAll();\r\n this.grid.options.url = this.getUrl();\r\n // Resets page and refreshes\r\n this.grid.perPageChange();\r\n },\r\n\r\n getUrl: function() {\r\n var url = Librarian.path.getMethodUrl(\"getusers\") + \"&out=dgrid&all=1\";\r\n\r\n if (this.filter)\r\n url += \"&name=\" + this.filter;\r\n\r\n return url;\r\n }\r\n});","Librarian.Popup = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onCancel\", \"onSelectBU\", \"submitSurvey\", \"addResponse\"],\r\n\r\n options: {\r\n id: \"popup\",\r\n type: \"modal\",\r\n title: \"\",\r\n width: 625,\r\n height: 350,\r\n contentURL: null,\r\n // Make the window square\r\n cornerRadius: 0,\r\n // Increase height of the header and center controls in new space\r\n headerHeight: 25,\r\n controlsOffset: {\r\n right: 5,\r\n top: 5\r\n },\r\n headerStartColor: [0, 0, 0],\r\n headerStopColor: [0, 0, 0],\r\n bodyBgColor: [255, 255, 255, 0],\r\n toolbarHeight: 32,\r\n footerHide: true,\r\n maximizeBgAlpha: 0,\r\n maximizeAlpha: 0,\r\n minimizeBgAlpha: 0,\r\n minimizeAlpha: 0,\r\n closeBgAlpha: 0,\r\n closeAlpha: 0,\r\n padding: {\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0\r\n },\r\n showOnce: false,\r\n popup: null,\r\n businessUnitsDropdown: null,\r\n onClose: null,\r\n image: null,\r\n htmlFile: null,\r\n isSurvey: false,\r\n useIframe: true,\r\n showOnceLinkClicked: false\r\n },\r\n\r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n\r\n if (!this.options.contentURL) {\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/popup.html\";\r\n }\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n this.setImage();\r\n this.setHtml();\r\n this.saveSetting();\r\n },\r\n\r\n saveSetting: function() {\r\n if (this.hasCompletedForm || (this.options.showOnce && !this.options.isSurvey)) {\r\n Librarian.PopupSetup.saveSetting(this.options.popupOptions);\r\n } else {\r\n Librarian.PopupSetup.deleteSetting(this.options.popupOptions);\r\n }\r\n },\r\n\r\n setImage: function() {\r\n var imgEl = this.getElement(\"popup_bg\");\r\n if (imgEl) {\r\n if (this.options.image && this.options.image.length > 0) {\r\n var imageUrl = Librarian.path.getDownloadUrl(\"dnld\") + \"&track=false&fname=\" + this.options.image;\r\n imgEl.set(\"src\", imageUrl);\r\n }\r\n else\r\n imgEl.destroy();\r\n }\r\n },\r\n\r\n setHtml: function() {\r\n if (this.options.htmlFile && this.options.htmlFile.length > 0) {\r\n var contEl = this.getElement(\"popup_htmlContent\");\r\n var self = this;\r\n\r\n if (this.options.useIframe) {\r\n var htmlIFrame = new IFrame({\r\n src: Librarian.path.getDownloadUrl(\"open\") + \"&fname=\" + this.options.htmlFile,\r\n\r\n events: {\r\n load: function() {\r\n var document = this.contentDocument || this.contentWindow.document;\r\n var form = document.getElementsByTagName(\"form\");\r\n\r\n if (form && form.length > 0) {\r\n form[0].addEventListener(\"submit\", function() {\r\n var formData = Librarian.Utils.getFormData(serialize(this));\r\n\r\n if (self.options.isSurvey) {\r\n self.submitSurvey(formData);\r\n }\r\n });\r\n }\r\n\r\n var anchors = document.getElementsByTagName(\"a\");\r\n for (var i = 0, len = anchors.length; i < len; i++) {\r\n\r\n if (anchors[i].classList.contains('static')) {\r\n continue;\r\n }\r\n\r\n anchors[i].addEventListener(\"click\", function() {\r\n setTimeout(function () {\r\n if (self.options.showOnceLinkClicked) {\r\n self.hasCompletedForm = true;\r\n }\r\n self.close();\r\n }, 100);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n htmlIFrame.addClass(\"popup_htmlContent_Iframe\");\r\n contEl.grab(htmlIFrame);\r\n } else {\r\n Librarian.Utils.getSlideText({ filename: this.options.htmlFile, slidenumber: 1 }, function(data) {\r\n contEl.set(\"html\", data.Text);\r\n this.closeWindowOnLinkClick();\r\n }.bind(this));\r\n }\r\n\r\n }\r\n },\r\n\r\n submitSurvey: function(formData) {\r\n Object.each(formData, this.addResponse);\r\n this.hasCompletedForm = true;\r\n this.close();\r\n },\r\n\r\n addResponse: function(response, topic) {\r\n var self = this;\r\n var subject = this.options.popupOptions.id + \"_\" + this.options.popupOptions.version + \"_\" + topic;\r\n\r\n this.getTopic(subject, function(topics) {\r\n if (topics && topics.length > 0) {\r\n var topicObj = topics[0];\r\n self.addTopicMessage(topicObj.topicId, response);\r\n\r\n } else {\r\n self.createTopic(subject, topic, function(topic) {\r\n self.addTopicMessage(topic.topicId, response);\r\n });\r\n }\r\n });\r\n },\r\n\r\n getTopic: function(topicSubject, callBack) {\r\n var url = Librarian.path.getCollaborationUrl(\"getTopics\");\r\n var topicOptions = {\r\n SubjectFilter: topicSubject\r\n }\r\n var data = JSON.stringify(topicOptions);\r\n if (typeof Base64 != \"undefined\")\r\n data = Base64.encode(data);\r\n\r\n new Librarian.Request.JSON({\r\n method: \"post\",\r\n url: url + \"&in=cjson&out=cjson\",\r\n data: data,\r\n onSuccess: callBack || Librarian.Utils.blankFunction,\r\n onFailure: Librarian.Utils.onFailure\r\n }).send();\r\n\r\n },\r\n\r\n createTopic: function(subject, message, callBack) {\r\n var url = Librarian.path.getCollaborationUrl(\"addtopic\");\r\n var topic = {\r\n subject: subject,\r\n message: message,\r\n flags: Librarian.topicFlags.internal\r\n };\r\n\r\n var data = JSON.stringify(topic);\r\n if (typeof Base64 != \"undefined\")\r\n data = Base64.encode(data);\r\n\r\n new Librarian.Request.JSON({\r\n method: \"post\",\r\n url: url + \"&in=cjson&out=cjson\",\r\n data: data,\r\n onSuccess: callBack || Librarian.Utils.blankFunction,\r\n onFailure: Librarian.Utils.onFailure\r\n }).send();\r\n\r\n },\r\n\r\n addTopicMessage: function(topicId, message, callback) {\r\n var url = Librarian.path.getCollaborationUrl(\"addtopicmsg\");\r\n var topicMessage = {\r\n topicId: topicId,\r\n message: message\r\n }\r\n\r\n var data = JSON.stringify(topicMessage);\r\n if (typeof Base64 != \"undefined\")\r\n data = Base64.encode(data);\r\n\r\n new Librarian.Request.JSON({\r\n method: \"post\",\r\n url: url + \"&in=cjson&out=cjson\",\r\n data: data,\r\n onSuccess: callback || Librarian.Utils.blankFunction,\r\n onFailure: Librarian.Utils.onFailure\r\n }).send();\r\n\r\n },\r\n\r\n closeWindowOnLinkClick: function() {\r\n var elements = this.windowEl.getElements(\"a\");\r\n var self = this;\r\n\r\n elements.addOnClick(function () {\r\n setTimeout(function () {\r\n if (self.options.showOnceLinkClicked) {\r\n self.hasCompletedForm = true;\r\n }\r\n self.close();\r\n }, 100);\r\n }.bind(this));\r\n },\r\n\r\n onClose: function() {\r\n this.saveSetting();\r\n },\r\n\r\n onCancel: function () {\r\n this.close();\r\n }\r\n});\r\n\r\nLibrarian.PopupSetup =\r\n{\r\n getSettings: function() {\r\n // If the popups are already defined in settings, use those\r\n if (Librarian.loginPopup.popups) {\r\n Librarian.PopupSetup.initPopups({\r\n popups: Librarian.loginPopup.popups\r\n });\r\n return;\r\n }\r\n\r\n // Otherwise, load popups from json file\r\n var jsonFile = Librarian.loginPopup.jsonFile;\r\n if (!jsonFile)\r\n return;\r\n\r\n Librarian.Utils.getSlideText({ filename: jsonFile }, function (slideText) {\r\n if (slideText && slideText.Text) {\r\n var jsonText = slideText.Text.replace(/\\/\\/.+/g, \"\");\r\n Librarian.PopupSetup.initPopups(JSON.parse(jsonText));\r\n }\r\n });\r\n },\r\n\r\n initPopups: function(popups) {\r\n var windowChain = new Chain();\r\n\r\n Array.each(popups.popups, function(popup) {\r\n if (Librarian.PopupSetup.isPopupEnabled(popup) && !popup.linkedTo) {\r\n var showPopup = function(popup, parent) {\r\n if (parent && !Librarian.PopupSetup.hasCompletedForm(parent)) {\r\n windowChain.callChain();\r\n } else {\r\n var modalClose = popup.modalOverlayClose;\r\n if(modalClose != false) modalClose = true;\r\n var windowPopup = new Librarian.Popup({\r\n height: popup.height,\r\n width: popup.width,\r\n image: popup.image,\r\n businessUnitsDropdown: popup.businessUnitsDropdown,\r\n showOnce: popup.showOnce,\r\n popupOptions: popup,\r\n htmlFile: popup.htmlFile,\r\n isSurvey: popup.isSurvey,\r\n useIframe: popup.useIframe,\r\n modalOverlayClose: modalClose,\r\n showOnceLinkClicked: popup.showOnceLinkClicked\r\n });\r\n windowPopup.show();\r\n\r\n windowPopup.addEvent(\"onCloseComplete\", function() {\r\n setTimeout(function() {\r\n windowChain.callChain();\r\n }, 250);\r\n\r\n });\r\n }\r\n }\r\n windowChain.chain(showPopup.pass(popup));\r\n\r\n var popupChildren = popups.popups.filter(function(item) {\r\n return item.linkedTo === popup.id;\r\n });\r\n\r\n popupChildren.each(function(item) {\r\n windowChain.chain(showPopup.pass([item, popup]));\r\n });\r\n }\r\n });\r\n\r\n windowChain.callChain();\r\n },\r\n\r\n isPopupEnabled: function(popup) {\r\n var today = new Date();\r\n\r\n // Do not show if scheduled in the future\r\n if (popup.startDate) {\r\n var startDate = Librarian.Utils.extractDateFromString(popup.startDate);\r\n if (startDate && startDate > today) {\r\n return false;\r\n }\r\n }\r\n\r\n // Do not show if campaign ended already\r\n if (popup.endDate) {\r\n var endDate = Librarian.Utils.extractDateFromString(popup.endDate);\r\n if (endDate && endDate < today) {\r\n return false;\r\n }\r\n }\r\n\r\n // Do not show if they should only see it once\r\n if (popup.showOnce || popup.showOnceLinkClicked) {\r\n if (Librarian.PopupSetup.hasCompletedForm(popup)) {\r\n return false;\r\n }\r\n }\r\n\r\n // Do not show if they are part of the exclusion list\r\n if (popup.exclusionList && popup.exclusionList.length > 0) {\r\n if (Librarian.Utils.isUserMemberOfGroupLike(popup.exclusionList)) {\r\n return false;\r\n } \r\n }\r\n\r\n // Do not show if they are not part of the inclusion list\r\n if (popup.inclusionList && popup.inclusionList.length > 0) {\r\n if (!Librarian.Utils.isUserMemberOfGroupLike(popup.inclusionList)) {\r\n return false;\r\n }\r\n } else {\r\n return true;\r\n }\r\n\r\n return true;\r\n },\r\n\r\n getSettingName: function(popup) {\r\n if (popup)\r\n return \"webclient.popup.\" + Librarian.path.getUrlLibraryName() + \".\" + popup.id + \".\" + popup.version;\r\n },\r\n\r\n getCookieName: function(popup) {\r\n if (popup)\r\n return \"AccentPopup-\" + popup.id + \"-ver-\" + popup.version + \"-\" + Librarian.path.getUrlLibraryName() + \"-\" + Librarian.userInfo.UserId;\r\n },\r\n\r\n hasCompletedForm: function(popup) {\r\n var settingName = Librarian.PopupSetup.getSettingName(popup);\r\n var cookieName = Librarian.PopupSetup.getCookieName(popup); // TODO: For backwards compatibility. Remove later\r\n\r\n return Librarian.Utils.getUserSetting(settingName, cookieName);\r\n },\r\n\r\n saveSetting: function(popup) {\r\n var settingName = Librarian.PopupSetup.getSettingName(popup);\r\n\r\n Librarian.Utils.setUserSetting(settingName, true);\r\n },\r\n\r\n deleteSetting: function(popup) {\r\n var settingName = Librarian.PopupSetup.getSettingName(popup);\r\n\r\n Librarian.Utils.deleteUserSetting(settingName);\r\n }\r\n}","Librarian.ShareOnLinkedInWindow = new Class({\r\n Extends: Librarian.Window, \r\n Binds: [\"onWindowLoaded\", \"onSubmitClicked\", \"authenticateAndShare\", \"watchChildWindow\", \"openWindowCentered\"], \r\n\r\n options: {\r\n /* Window Params */\r\n id: \"ShareOnLinkedInWindow\",\r\n title: \"Share File on LinkedIn\",\r\n height: 270, \r\n width: 450, \r\n type: 'modal',\r\n\r\n /* LinkedIn API Params */\r\n clientId: \"86q7qihzfkj1kt\", \r\n auth_type: \"linkedin\", \r\n authEndpoint: \"https://www.linkedin.com/oauth/v2/authorization?\",\r\n shareStatusCookieName: \"linkedin_share_status\",\r\n\r\n downloadUrl: null,\r\n thumbnailUrl: null,\r\n filename: null, \r\n comment: null, \r\n linkedinaudience: null\r\n }, \r\n\r\n initialize: function(options) {\r\n this.setOptions(options);\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"core/shareonlinkedin/shareonlinkedin.html\";\r\n this.parent(this.options);\r\n }, \r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n $(\"ShareOnLinkedInWindow_shareOnLinkedInFilename\").set(\"text\", this.options.filename);\r\n $(\"ShareOnLinkedInWindow_shareOnLinkedInSubmit\").addEvent(\"click\", this.onSubmitClicked);\r\n },\r\n\r\n onSubmitClicked: function() {\r\n // get input forms values\r\n this.options.comment = $(\"ShareOnLinkedInWindow_shareOnLinkedInComment\").get(\"value\");\r\n this.options.linkedinaudience = $$(\"input[name=linkedinaudience]:checked\")[0].value;\r\n\r\n // validate input form values\r\n if(!(this.options.comment && this.options.linkedinaudience)) {\r\n return;\r\n }\r\n else if(!(this.options.linkedinaudience === \"anyone\" || this.options.linkedinaudience === \"connections-only\")) {\r\n return;\r\n } \r\n\r\n // authenticate linkedIn\r\n this.authenticateAndShare();\r\n },\r\n\r\n authenticateAndShare: function() {\r\n\r\n var state = {\r\n type: this.options.auth_type,\r\n library: Librarian.sessionInfo.ShortName, \r\n clientId: this.options.clientId, \r\n origin: window.location.hostname,\r\n shareStatusCookieName: this.options.shareStatusCookieName,\r\n\r\n // file share parameters\r\n comment: this.options.comment,\r\n title: this.options.filename,\r\n submittedUrl: this.options.downloadUrl,\r\n submittedImageUrl: this.options.thumbnailUrl,\r\n audience: this.options.linkedinaudience\r\n };\r\n\r\n this.startLoadingPhase();\r\n\r\n // encode json object to pass in query string\r\n state = this.encodeStateParameter(state);\r\n\r\n // launch linkedin auth window\r\n var redirectUri = \"https://\" + window.location.hostname + \"/webclient/apps/oauth2redirect/oauth2redirect.htm\";\r\n var authPageUrl = this.options.authEndpoint + \"response_type=code\" + \"&client_id=\" + this.options.clientId + \"&redirect_uri=\" + redirectUri + \"&state=\" + state; \r\n var childWindow = this.openWindowCentered(authPageUrl, \"LinkedIn Authentication\", 600, 600);\r\n\r\n // wait for childwindow to close, access token cookie should be set\r\n this.watchChildWindow(childWindow);\r\n\r\n }, \r\n\r\n watchChildWindow: function(childWindow) {\r\n var self = this;\r\n\r\n var watcher = setInterval(function() {\r\n if(childWindow.closed) {\r\n clearInterval(watcher);\r\n self.endLoadingPhase();\r\n\r\n // get share status from redirectURI\r\n var shareStatus = Cookie.read(self.options.shareStatusCookieName);\r\n Cookie.dispose(self.options.shareStatusCookieName);\r\n\r\n if(shareStatus && shareStatus === \"success\") {\r\n // share succeded\r\n Librarian.Utils.notification(\"Share Successful\", false);\r\n self.close();\r\n } else {\r\n // share failed\r\n Librarian.Utils.error(\"Share Failed\");\r\n }\r\n\r\n }\r\n }, 500);\r\n\r\n },\r\n\r\n\r\n /* Utils */\r\n\r\n encodeStateParameter: function(state) {\r\n return encodeURIComponent(Base64.encode(JSON.stringify(state)));\r\n }, \r\n\r\n openWindowCentered: function(url, title, w, h) {\r\n var left = ((screen.width / 2) - (w / 2));\r\n var top = ((screen.height / 2) - (h / 2));\r\n return window.open(url, title, 'scrollbars=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);\r\n }, \r\n\r\n startLoadingPhase: function() {\r\n $(\"ShareOnLinkedInWindow_shareOnLinkedInOverlay\").show();\r\n $(\"ShareOnLinkedInWindow_shareOnLinkedInLoadingImage\").show();\r\n }, \r\n\r\n endLoadingPhase: function() {\r\n $(\"ShareOnLinkedInWindow_shareOnLinkedInOverlay\").hide();\r\n $(\"ShareOnLinkedInWindow_shareOnLinkedInLoadingImage\").hide();\r\n }\r\n\r\n});","Librarian.SubscribeWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"onSaveClicked\", \"allowRecipients\", \"isExternal\"],\r\n\r\n options: {\r\n id: \"SubscribeWindow\",\r\n width: 420,\r\n height: 400,\r\n data: null,\r\n recipientType: null // ContactType. Defaults to current user only.\r\n },\r\n\r\n onComplete: null,\r\n data: null,\r\n\r\n digestMode: 0,\r\n\r\n selectedContacts: [],\r\n\r\n initialize: function(options) {\r\n if (!options.data)\r\n throw \"No 'data' provided to SubscribeWindow\";\r\n\r\n if (options.onComplete) {\r\n this.onComplete = options.onComplete;\r\n options.onComplete = null;\r\n }\r\n\r\n this.data = Librarian.Utils.getStandardContent(options.data);\r\n options.data = null;\r\n\r\n this.setOptions(options);\r\n\r\n this.options.title = Librarian.Lang.getString(\"subscribe_title\");\r\n\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/subscribe.html\";\r\n\r\n if (this.allowRecipients())\r\n this.options.height += 85;\r\n\r\n this.parent(this.options);\r\n },\r\n\r\n onWindowLoaded: function() {\r\n this.parent();\r\n this.setupElements();\r\n\r\n if (this.allowRecipients())\r\n this.setUpRecipients();\r\n\r\n var itemEl = this.getElement(\"saveButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.onSaveClicked);\r\n\r\n itemEl = this.getElement(\"cancelButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n var subjectCont = this.getElement(\"subjectCont\"),\r\n messageCont = this.getElement(\"messageCont\"),\r\n data = this.data;\r\n\r\n Librarian.Utils.setElementValue(this.getElement(\"contentName\"), data.filename || data.groupname || data.name);\r\n Librarian.Utils.setElementValue(this.getElement(\"subscriptionSubject\"), Librarian.subscriptions.defaultSubject || '');\r\n Librarian.Utils.setElementValue(this.getElement(\"subscriptionMessage\"), Librarian.subscriptions.defaultMessage || '');\r\n\r\n var notifyEl = this.getElement(\"notifyWrapper\"),\r\n subfoldersEl = this.getElement(\"subfoldersWrapper\");\r\n if (notifyEl && subfoldersEl && data.contenttype == Librarian.contentType.category) {\r\n // Folders can only notify on updates for now\r\n notifyEl.hide();\r\n\r\n subfoldersEl.show();\r\n }\r\n\r\n var mode = this.digestMode = Librarian.digestMode,\r\n external = this.isExternal();\r\n\r\n // Hide subject and message for digests\r\n if ((external && (mode & 2)) || (!external && (mode & 1))) {\r\n subjectCont.hide();\r\n messageCont.hide();\r\n\r\n this.options.height -= 280;\r\n this.resize();\r\n }\r\n },\r\n\r\n allowRecipients: function() {\r\n return this.options.recipientType > 0;\r\n },\r\n\r\n isExternal: function() {\r\n return this.options.recipientType == Librarian.Contacts.contactTypes.contact;\r\n },\r\n\r\n setUpRecipients: function () {\r\n var wrapperEl = this.getElement(\"toBoxWrapper\");\r\n if (wrapperEl)\r\n wrapperEl.show();\r\n\r\n var toBoxEl = this.getElement(\"toBox\");\r\n if (!toBoxEl)\r\n return;\r\n\r\n var self = this,\r\n url = Librarian.path.getContactUrl(\"getconts\") + \"&out=dgrid&perpage=7&orderby=\" + encodeURIComponent(\"firstname,lastname,name,activeemail\");\r\n\r\n if (this.options.recipientType == Librarian.Contacts.contactTypes.user)\r\n url = Librarian.path.getContactUrl(\"getusers\") + \"&out=dgrid&perpage=7&all=true&orderby=\" + encodeURIComponent(\"firstname,lastname,email\");\r\n\r\n this.recipientSelect = new MooSelect.Remote(toBoxEl, {\r\n url: url,\r\n minSearchLength: 1,\r\n messages: {\r\n minSearch: Librarian.Lang.getString(\"deeplink_contact_search\")\r\n },\r\n remoteOptions: {\r\n dataPrepareFn: function(term) {\r\n return { name: term + '%' };\r\n },\r\n requestResponseHandler: function(response) {\r\n var data = response.data;\r\n\r\n data.forEach(function(contact) {\r\n contact.text = contact.displayname;\r\n\r\n if (contact.contactid && contact.contacttype)\r\n contact.value = contact.contactid + '-' + contact.contacttype;\r\n else\r\n contact.value = contact.id || contact.email;\r\n });\r\n\r\n return data;\r\n }\r\n },\r\n allowOtherResult: false,\r\n onChange: function() {\r\n self.selectedContacts = this.getStage().getResultData();\r\n },\r\n resizeContainerBasedOnInput: false,\r\n className: \"container toBoxSelect\",\r\n defaultWidth: 373,\r\n searchOnValue: true,\r\n customBuildStageResultHTML: Librarian.Contacts.renderContactSelectResult,\r\n customBuildResultHTML: Librarian.Contacts.renderContactSelectOption\r\n });\r\n },\r\n\r\n onSaveClicked: function() {\r\n var buttonEl = this.getElement(\"saveButton\");\r\n Librarian.Utils.setButtonDisabled(buttonEl, true);\r\n\r\n // Build JSON object\r\n var subscription = {\r\n subject: (Librarian.Utils.getElementValue(this.getElement(\"subscriptionSubject\")) || '').trim(),\r\n message: (Librarian.Utils.getElementValue(this.getElement(\"subscriptionMessage\")) || '').trim(),\r\n subscriptionType: Librarian.Utils.getElementValue(this.getElement(\"subscriptionType\"))\r\n };\r\n\r\n if (subscription.message.length > 2000) {\r\n Librarian.Utils.error(Librarian.Lang.getArgString(\"required_field_toolong\", [\"Message\", \"2,000\"]));\r\n Librarian.Utils.setButtonDisabled(buttonEl, false);\r\n return;\r\n }\r\n\r\n subscription.contentId = this.data.contentid;\r\n subscription.contentType = this.data.contenttype;\r\n\r\n var itemEl = this.getElement(\"includeSubfolders\");\r\n if (itemEl && subscription.contentType == Librarian.contentType.category)\r\n subscription.recursive = itemEl.checked;\r\n \r\n if (this.allowRecipients() && !this.selectedContacts.length) {\r\n Librarian.Utils.error(Librarian.Lang.getString(\"event_nocontacts\"));\r\n return;\r\n }\r\n\r\n var mode = this.isExternal() ? \"external\" : \"internal\";\r\n\r\n var digest = \"nonDigest\";\r\n if (this.digestMode & Librarian.subscriptionDigestFlags[mode])\r\n digest = \"digest\";\r\n\r\n var subType = subscription.subscriptionType;\r\n if (digest == \"digest\" && (this.digestMode & Librarian.subscriptionDigestFlags.combinedDigest))\r\n subType = Librarian.subscriptionType.combinedDigest;\r\n\r\n var flags = Librarian.subscriptionFlags[mode] | Librarian.subscriptionFlags[digest];\r\n\r\n // Auto-select template ID based on selected subscription type\r\n var self = this,\r\n onComplete = function (file) {\r\n if (file)\r\n subscription.templateId = file.supportFileId;\r\n else\r\n subscription.templateId = -1;\r\n\r\n if (self.allowRecipients()) {\r\n self.selectedContacts.forEach(function(contact) {\r\n subscription.contactid = contact.contactid;\r\n subscription.contacttype = contact.contacttype;\r\n\r\n self.save(subscription);\r\n });\r\n }\r\n else\r\n self.save(subscription);\r\n },\r\n supportRequest = new Librarian.Request.JSON({\r\n url: Librarian.path.getSupportUrl(\"getfi\") + \"&ftype=\" + Librarian.supportFileType.subscriptionNotification + \"&subtype=\" + subType + \"&type=\" + flags + \"&tmpl=1&out=cjson\",\r\n onComplete: onComplete\r\n });\r\n supportRequest.send();\r\n },\r\n\r\n save: function(subscription) {\r\n subscription = JSON.stringify(subscription);\r\n if (typeof Base64 == \"object\")\r\n subscription = Base64.encode(subscription);\r\n\r\n var self = this,\r\n saveRequest = new Librarian.Request.JSON({\r\n url: Librarian.path.getMethodUrl(\"addcs\") + \"&in=cjson&out=cjson\",\r\n method: \"POST\",\r\n data: subscription,\r\n onSuccess: function(data) {\r\n Librarian.Utils.notification(Librarian.Lang.getString(\"subscribed\"), false);\r\n\r\n if (typeof self.onComplete == \"function\")\r\n self.onComplete(data);\r\n self.close();\r\n },\r\n onFailure: Librarian.Utils.onFailure\r\n });\r\n saveRequest.send();\r\n }\r\n});","Librarian.TimeStampShareWindow = new Class({\r\n Extends: Librarian.Window,\r\n\r\n options: {\r\n id: \"TimeStampShareWindow\",\r\n height: 180,\r\n width: 350,\r\n title: \"Share Moment\",\r\n data: null,\r\n timestamp: \"00:00:00\"\r\n },\r\n\r\n className: \"timestamp-share\",\r\n minDuration: 0,\r\n maxDuration: null,\r\n\r\n bodyHtml: \"\\\r\n
\" +\r\n \"
Click on a recipient property to \" +\r\n \"use them in your greeting.
\" +\r\n \"