{"version":3,"sources":["_layouts/core/upload/html5uploadwindow.js","_layouts/core/userprofile/userprofilewindow.js","_layouts/core/userprofile/changepassword.js"],"names":["Librarian","Html5UploadWindow","Class","Extends","Window","Binds","options","id","title","width","height","acceptType","complete","contentURL","allowedFileTypes","fileName","infoText","maxImageWidth","maxImageHeight","uploader","multiple","initialize","this","setOptions","Lang","getString","path","getLayoutsPath","Html5Uploader","onComplete","files","successCount","failureCount","Utils","notifyUploadComplete","close","bind","parent","onWindowLoaded","setupElements","itemEl","getElement","set","setAttribute","addOnClick","uploadClicked","self","fileEl","fileList","length","validateFileTypes","performUpload","img","Image","onload","error","src","window","URL","createObjectURL","i","indexOf","type","formData","FormData","append","get","coverEl","showModalCover","contentWrapperEl","progressID","showProgressImage","uploadFiles","UserProfileWindow","padding","event","htmlEditor","top","right","bottom","left","uploadWindow","profile","custom","getLibraryPath","size","showPasswordChange","disableChangePassword","sessionType","Session","sessionTypes","sso","allowSSOPassword","getAttribute","toInt","userPhoto","userLogo","el","setStyle","getStyle","uploadPhoto","uploadLogo","hide","ChangePasswordWindow","show","destroy","editSignature","saveProfile","addEvent","initEmailGreetingHelp","loadProfileImage","loadLogoImage","loadProfile","resize","userInfo","formEl","getElements","forEach","selectEl","list","attributes","name","typeOf","value","Element","text","inject","FirstName","LastName","Email","PhoneNumber","attributeEl","getAttributeFromArray","Attributes","setElementValue","contEl","deleteEl","getImagesPath","style","class","injectInside","removeUserPhoto","removeEvents","getFullPath","root","getDownloadUrl","SupportFiles","supportFileTypes","userProfileImage","Date","getTime","removeUserLogo","getFileID","deleteFile","getSupportFiles","json","data","SupportFileId","getProfileInfo","url","getMethodUrl","Request","JSON","method","Base64","encode","stringify","onSuccess","notification","onFailure","send","getElementValue","push","fid","FileUploadWindow","successText","uploadUrl","getSupportUrl","message","setTimeout","initialValue","onSubmit","messageEl","editor","tinymce","each","dom","select","n","innerHTML","HTMLInputWindow","InputWindow","emailGreetingOptions","greetingHelpEl","greetingInputEl","greetingHelpContentEl","html","bodyEl","$","document","body","grab","e","stopPropagation","position","relativeTo","edge","offset","x","target","getParent","getNext","currentText","hideGreetingHelp","onClose","removeEvent","extend","changePassword","isVisible","focus","onkeydown","Event","key","oldPass","newPass","confirmPass","userSession","onUpdateComplete"],"mappings":"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","file":"userprofilewindow.bundle.min.js","sourcesContent":["Librarian.Html5UploadWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"uploadClicked\", \"promptRename\", \"sendUploadRequest\", \"onAddFileClick\", \"onRemoveFileClick\"],\r\n\r\n options: {\r\n id: \"Html5UploadWindow\",\r\n title: \"upload_file\",\r\n width: 315,\r\n height: 120,\r\n acceptType: null,\r\n complete: null,\r\n contentURL: null,\r\n allowedFileTypes: [],\r\n fileName: null,\r\n infoText: \"\",\r\n maxImageWidth: null,\r\n maxImageHeight: null\r\n },\r\n\r\n uploader: null,\r\n multiple: true,\r\n\r\n initialize: function (options) {\r\n this.setOptions(options);\r\n if (this.options.fileName) {\r\n this.multiple = false;\r\n }\r\n\r\n this.options.title = Librarian.Lang.getString(this.options.title);\r\n\r\n if (!this.options.contentURL) {\r\n this.options.contentURL = Librarian.path.getLayoutsPath() + \"pages/html5upload.html\";\r\n }\r\n\r\n this.uploader = new Librarian.Html5Uploader({\r\n onComplete: function (files, successCount, failureCount) {\r\n Librarian.Utils.notifyUploadComplete(successCount, failureCount);\r\n\r\n if (typeof this.options.complete == \"function\")\r\n this.options.complete(files);\r\n\r\n this.close();\r\n }.bind(this)\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 var itemEl = this.getElement(\"selectFile\");\r\n if (itemEl) {\r\n itemEl.set(\"multiple\", this.multiple);\r\n\r\n if (typeof this.options.acceptType == \"string\") {\r\n itemEl.setAttribute(\"accept\", this.options.acceptType);\r\n }\r\n }\r\n\r\n itemEl = this.getElement(\"submitButton\");\r\n if (itemEl) {\r\n itemEl.addOnClick(this.uploadClicked);\r\n }\r\n\r\n itemEl = this.getElement(\"cancelButton\");\r\n if (itemEl) {\r\n itemEl.addOnClick(this.close);\r\n }\r\n\r\n itemEl = this.getElement(\"upload-info-text\");\r\n if (itemEl) {\r\n itemEl.set('text', this.options.infoText);\r\n }\r\n },\r\n\r\n uploadClicked: function() {\r\n var self = this;\r\n var fileEl = this.getElement(\"selectFile\");\r\n if (!fileEl) {\r\n return;\r\n }\r\n\r\n var fileList = fileEl.files;\r\n\r\n if (fileList.length == 0) {\r\n Librarian.Utils.error(Librarian.Lang.getString(\"upload_select\"), null, 4000);\r\n return;\r\n }\r\n\r\n if (self.validateFileTypes(fileList, fileEl)) {\r\n //If specified, file should be image and be smaller than these settings. Only supports single file uploads\r\n if (!this.multiple && (this.options.maxImageWidth || this.options.maxImageHeight)) {\r\n var img = new Image();\r\n img.onload = function() {\r\n if ((self.options.maxImageWidth && this.width > self.options.maxImageWidth) ||\r\n (self.options.maxImageHeight && this.height > self.options.maxImageHeight)) {\r\n Librarian.Utils.error(Librarian.Lang.getString(\"upload_file_unapproved_filetype_error\"),\r\n null,\r\n 4000);\r\n fileEl.set(\"value\", \"\");\r\n return false;\r\n }\r\n\r\n self.performUpload(fileList);\r\n\r\n };\r\n\r\n img.src = window.URL.createObjectURL(fileList[0]);\r\n\r\n } else {\r\n this.performUpload(fileList);\r\n }\r\n }\r\n },\r\n\r\n validateFileTypes: function(fileList, fileEl) {\r\n // if allowed file types are specified, verify all selected files are of approved type\r\n if (this.options.allowedFileTypes && this.options.allowedFileTypes.length > 0) {\r\n for (var i = 0; i < fileList.length; i++) {\r\n // if any files are not of approved type...\r\n if (this.options.allowedFileTypes.indexOf(fileList[i].type) === -1) {\r\n // clear file selection\r\n fileEl.set(\"value\", \"\");\r\n\r\n // show unapproved file type message\r\n Librarian.Utils.error(Librarian.Lang.getString(\"upload_file_unapproved_filetype_error\"), null, 4000);\r\n\r\n // do not proceed\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n performUpload: function (fileList) {\r\n if (this.options.fileName) {\r\n var formData = new FormData();\r\n formData.append('file',\r\n fileList[0],\r\n this.options.fileName + \".png\");\r\n fileList = [formData.get('file')];\r\n }\r\n\r\n // Show spinner\r\n this.coverEl = Librarian.Utils.showModalCover(this.contentWrapperEl);\r\n if (this.coverEl) {\r\n this.progressID = Librarian.Utils.showProgressImage(this.coverEl);\r\n }\r\n\r\n // upload files\r\n this.uploader.uploadFiles(fileList);\r\n }\r\n});","Librarian.UserProfileWindow = new Class({\r\n Extends: Librarian.Window,\r\n Binds: [\"loadProfile\", \"loadProfileImage\", \"loadLogoImage\", \"saveProfile\", \"uploadPhoto\", \"uploadLogo\", \"removeUserProfile\"],\r\n\r\n options: {\r\n id: \"userProfileWindow\",\r\n width: 500,\r\n height: 400,\r\n padding: Librarian.event.htmlEditor ? {\r\n top: 5,\r\n right: 5,\r\n bottom: 0,\r\n left: 5\r\n } : {}\r\n },\r\n\r\n uploadWindow: 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(\"profile_title\");\r\n\r\n this.options.contentURL = Librarian.profile.custom\r\n ? Librarian.path.getLibraryPath()\r\n : (Librarian.path.getLayoutsPath() + \"pages/\");\r\n this.options.contentURL += \"userprofile.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 size = this.getElement(\"size\"),\r\n showPasswordChange = !Librarian.profile.disableChangePassword && ((Librarian.sessionType != Librarian.Session.sessionTypes.sso) || Librarian.profile.allowSSOPassword);\r\n if (size) {\r\n this.options.width = size.getAttribute(\"data-width\").toInt();\r\n this.options.height = size.getAttribute(\"data-height\").toInt();\r\n }\r\n else if (!Librarian.profile.userPhoto) {\r\n this.options.height -= 60;\r\n this.options.width -= 60;\r\n\r\n if (!showPasswordChange)\r\n this.options.width -= 140;\r\n } else if (!Librarian.profile.userLogo) {\r\n this.options.height -= 50;\r\n var el = this.getElement(\"userProfilePhotoContainer\");\r\n el.setStyle('height', el.getStyle('height').toInt() - 50);\r\n }\r\n\r\n var itemEl = this.getElement(\"userProfileUploadButton\");\r\n if (itemEl) {\r\n itemEl.addOnClick(this.uploadPhoto);\r\n }\r\n\r\n itemEl = this.getElement(\"userLogoUploadButton\");\r\n\r\n if (itemEl) {\r\n if (Librarian.profile.userLogo) {\r\n itemEl.addOnClick(this.uploadLogo);\r\n } else {\r\n itemEl.hide();\r\n }\r\n }\r\n\r\n itemEl = this.getElement(\"userProfilePasswordButton\");\r\n if (itemEl) {\r\n // SSO users don't have passwords\r\n if (showPasswordChange) {\r\n itemEl.addOnClick(function () {\r\n new Librarian.ChangePasswordWindow().show();\r\n });\r\n }\r\n else\r\n itemEl.destroy();\r\n }\r\n\r\n itemEl = this.getElement(\"userProfileEditSignatureButton\");\r\n if (itemEl && Librarian.event.editSignature) {\r\n itemEl.show(\"inline-block\");\r\n itemEl.addOnClick(this.editSignature);\r\n }\r\n\r\n itemEl = this.getElement(\"userProfileCancelButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.close);\r\n\r\n itemEl = this.getElement(\"userProfileSaveButton\");\r\n if (itemEl)\r\n itemEl.addOnClick(this.saveProfile);\r\n\r\n itemEl = this.getElement(\"userProfileEmail\");\r\n if (itemEl) {\r\n // Cancel key presses so that backspace doesn't pass on to the browser, causing it to go to the previous page\r\n itemEl.addEvent(\"keydown\", function () {\r\n return false;\r\n });\r\n }\r\n\r\n this.initEmailGreetingHelp();\r\n\r\n //height is the difference between the photo and the form or 0\r\n this.loadProfileImage();\r\n this.loadLogoImage();\r\n this.loadProfile();\r\n\r\n //Save height to resize later\r\n this.resize({\r\n width: this.options.width,\r\n height: this.options.height\r\n });\r\n },\r\n\r\n loadProfile: function () {\r\n var userInfo = Librarian.userInfo;\r\n\r\n var formEl = this.getElement(\"userProfileForm\");\r\n if (!formEl)\r\n return;\r\n\r\n // Populate drop downs\r\n var selectEls = formEl.getElements(\"select[name]\");\r\n selectEls.forEach(function (selectEl) {\r\n var list = Librarian.UserProfileWindow.attributes[selectEl.name];\r\n if (typeOf(list) == \"array\") {\r\n list.forEach(function (value) {\r\n new Element(\"option\", { text: value }).inject(selectEl);\r\n });\r\n }\r\n });\r\n\r\n if (formEl.FirstName)\r\n formEl.FirstName.value = userInfo.FirstName;\r\n\r\n if (formEl.LastName)\r\n formEl.LastName.value = userInfo.LastName;\r\n\r\n if (formEl.Email)\r\n formEl.Email.value = userInfo.Email;\r\n\r\n if (formEl.PhoneNumber)\r\n formEl.PhoneNumber.value = userInfo.PhoneNumber;\r\n\r\n // Custom user attributes\r\n var attributes = formEl.getElements(\".profile-attribute\");\r\n attributes.forEach(function (attributeEl) {\r\n var value = Librarian.Utils.getAttributeFromArray(Librarian.userInfo.Attributes, attributeEl.name);\r\n if (value)\r\n Librarian.Utils.setElementValue(attributeEl, value);\r\n });\r\n },\r\n\r\n loadProfileImage: function () {\r\n var contEl = this.getElement(\"userPhotoCont\"),\r\n itemEl = this.getElement(\"userPhoto\");\r\n if (contEl && itemEl && Librarian.profile.userPhoto)\r\n contEl.show();\r\n else\r\n return;\r\n\r\n var deleteEl = this.getElement(\"deleteUserProfile\");\r\n if (deleteEl)\r\n deleteEl.show();\r\n else {\r\n deleteEl = new Element(\"img\", {\r\n \"src\": Librarian.path.getImagesPath() + \"delete.gif\",\r\n \"style\": \"position:absolute; top:0;right:0\",\r\n \"id\": \"deleteUserProfile\",\r\n \"class\": \"pointer\"\r\n }).injectInside(contEl);\r\n deleteEl.addOnClick(this.removeUserPhoto, this);\r\n }\r\n\r\n itemEl.addEvent(\"error\", function () {\r\n itemEl.removeEvents(\"error\");\r\n itemEl.src = Librarian.path.getFullPath(Librarian.path.root + \"/img/NoPhoto.jpg\");\r\n if (deleteEl)\r\n deleteEl.hide();\r\n });\r\n itemEl.src = Librarian.path.getDownloadUrl() + \"mode=dsf&format=image/jpeg&ftype=\" + Librarian.SupportFiles.supportFileTypes.userProfileImage + '&' + new Date().getTime();\r\n },\r\n\r\n loadLogoImage: function () {\r\n var contEl = this.getElement(\"userLogoCont\"),\r\n itemEl = this.getElement(\"userLogo\");\r\n if (contEl && itemEl && Librarian.profile.userLogo) {\r\n contEl.show();\r\n } else {\r\n return;\r\n }\r\n\r\n var deleteEl = this.getElement(\"deleteUserLogo\");\r\n if (deleteEl) {\r\n deleteEl.show();\r\n } else {\r\n deleteEl = new Element(\"img\",\r\n {\r\n \"src\": Librarian.path.getImagesPath() + \"delete.gif\",\r\n \"style\": \"position:absolute; top:0;right:0\",\r\n \"id\": \"deleteUserLogo\",\r\n \"class\": \"pointer\"\r\n }).injectInside(contEl);\r\n deleteEl.addOnClick(this.removeUserLogo, this);\r\n }\r\n\r\n itemEl.addEvent(\"error\", function () {\r\n itemEl.removeEvents(\"error\");\r\n itemEl.src = Librarian.path.getFullPath(Librarian.path.root + \"/img/PersonalLogo_NoLogo.png\");\r\n if (deleteEl) {\r\n deleteEl.hide();\r\n }\r\n });\r\n itemEl.src = Librarian.path.getDownloadUrl() + \"mode=dnld&format=image/jpeg&cattype=2&fname=PersonalLogoImage&\" + new Date().getTime();\r\n },\r\n\r\n removeUserLogo: function () {\r\n Librarian.Utils.getFileID(Librarian.userInfo.Email + \"_PersonalLogoImage\",\r\n function (id) {\r\n if (id) {\r\n Librarian.Utils.deleteFile(id, function () {\r\n this.loadLogoImage();\r\n }.bind(this));\r\n }\r\n }.bind(this), null, true);\r\n },\r\n\r\n removeUserPhoto: function () {\r\n Librarian.SupportFiles.getSupportFiles(Librarian.SupportFiles.supportFileTypes.userProfileImage, null, null,\r\n function (json) {\r\n var data;\r\n if (json.length > 0)\r\n data = json[0].SupportFileId;\r\n else\r\n data = json.SupportFileId;\r\n if (data) {\r\n Librarian.SupportFiles.deleteFile(data, function () {\r\n this.loadProfileImage();\r\n }.bind(this));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n saveProfile: function () {\r\n var userInfo = this.getProfileInfo(),\r\n url = Librarian.path.getMethodUrl(\"setupi\") + \"&in=ujson&out=ujson\";\r\n\r\n new Librarian.Request.JSON({\r\n url: url,\r\n method: \"post\",\r\n data: Base64.encode(JSON.stringify(userInfo)),\r\n onSuccess: function (json) {\r\n Librarian.Utils.notification(Librarian.Lang.getString(\"profile_saved\"), null, 3000);\r\n Librarian.userInfo = json;\r\n this.close();\r\n }.bind(this),\r\n onFailure: Librarian.Utils.onFailure\r\n }).send();\r\n },\r\n\r\n getProfileInfo: function () {\r\n var userInfo = {\r\n attributes: []\r\n };\r\n\r\n var formEl = this.getElement(\"userProfileForm\");\r\n if (!formEl)\r\n return userInfo;\r\n\r\n if (formEl.FirstName)\r\n userInfo.FirstName = formEl.FirstName.value;\r\n\r\n if (formEl.LastName)\r\n userInfo.LastName = formEl.LastName.value;\r\n\r\n if (formEl.Email)\r\n userInfo.Email = formEl.Email.value;\r\n\r\n if (formEl.PhoneNumber)\r\n userInfo.PhoneNumber = formEl.PhoneNumber.value;\r\n\r\n // Custom user attributes\r\n var attributes = formEl.getElements(\".profile-attribute\");\r\n attributes.forEach(function (attributeEl) {\r\n var value = Librarian.Utils.getElementValue(attributeEl);\r\n if (attributeEl.name) {\r\n userInfo.attributes.push({\r\n name: attributeEl.name,\r\n value: value || \"\"\r\n });\r\n }\r\n });\r\n\r\n return userInfo;\r\n },\r\n\r\n uploadPhoto: function () {\r\n var fid = '';\r\n Librarian.SupportFiles.getSupportFiles(Librarian.SupportFiles.supportFileTypes.userProfileImage, null, null, function (JSON) {\r\n var data;\r\n if (JSON.length > 0)\r\n data = JSON[0].SupportFileId;\r\n else\r\n data = JSON.SupportFileId;\r\n if (data)\r\n fid = \"&fid=\" + data;\r\n\r\n this.uploadWindow = new Librarian.FileUploadWindow({\r\n acceptType: \"image/*\",\r\n successText: Librarian.Lang.getString(\"profile_upload_success\"),\r\n uploadUrl: Librarian.path.getSupportUrl(\"uplfile\") + \"&replace=1&ftype=\" + Librarian.SupportFiles.supportFileTypes.userProfileImage + fid,\r\n onSuccess: function () {\r\n this.loadProfileImage();\r\n }.bind(this)\r\n }).show();\r\n }.bind(this));\r\n },\r\n\r\n uploadLogo: function () {\r\n var self = this;\r\n this.uploadWindow = new Librarian.Html5UploadWindow({\r\n acceptType: \"image/tiff, image/jpeg, image/png\",\r\n allowedFileTypes: [\"image/tiff\", \"image/jpeg\", \"image/png\"],\r\n fileName: \"PersonalLogoImage\",\r\n height: 165,\r\n maxImageHeight: 600,\r\n maxImageWidth: 600,\r\n infoText: Librarian.Lang.getString(\"uploader_personal_logo_description\"),\r\n complete: function () {\r\n Librarian.Utils.message(Librarian.Lang.getString(\"profile_upload_success\"), null, 3000);\r\n window.setTimeout(function () {\r\n //Hack because complete function is firing before file is saved\r\n self.loadLogoImage();\r\n },\r\n 3000);\r\n }.bind(this)\r\n }).show();\r\n },\r\n\r\n editSignature: function () {\r\n var initialValue = Librarian.Utils.getAttributeFromArray(Librarian.userInfo.Attributes, \"Email_Signature\"),\r\n options = {\r\n title: Librarian.Lang.getString(\"deeplink_edit_signature_title\"),\r\n initialValue: initialValue,\r\n onSubmit: function (value) {\r\n var url = Librarian.path.getMethodUrl(\"setuat\") + \"&out=ujson&name=Email_Signature\";\r\n new Librarian.Request.JSON({\r\n url: url,\r\n method: \"post\",\r\n data: Base64.encode(value),\r\n onFailure: Librarian.Utils.onFailure,\r\n onSuccess: function (attributes) {\r\n Librarian.Utils.notification(Librarian.Lang.getString(\"deeplink_edit_signature_changed\"));\r\n Librarian.userInfo.Attributes = attributes;\r\n\r\n var messageEl = this.getElement(\"messageBox\");\r\n if (messageEl && messageEl.editor) {\r\n tinymce.each(messageEl.editor.dom.select(\"#email-signature\"), function (n) {\r\n n.innerHTML = value;\r\n });\r\n }\r\n }.bind(this)\r\n }).send();\r\n }.bind(this)\r\n };\r\n (Librarian.event.htmlEditor ? new Librarian.HTMLInputWindow(options) : new Librarian.InputWindow(options)).show();\r\n },\r\n\r\n emailGreetingOptions:\r\n \"
\" +\r\n \"

Email Greeting:

\" +\r\n \"

\" +\r\n \"

This greeting will be used \" +\r\n \"as your default email greeting \" +\r\n \"when sharing to a contact.
\" +\r\n \"

\" +\r\n \"

Recipient Placeholders:

\" +\r\n \"

Click on a recipient property to \" +\r\n \"use them in your greeting.

\" +\r\n \"

\" +\r\n \"\" +\r\n \"
{RecipientInfo.FirstName}
\" +\r\n \"\" +\r\n \"
{RecipientInfo.LastName}
\" +\r\n \"\" +\r\n \"
{RecipientInfo.DisplayName}
\" +\r\n \"\" +\r\n \"
{RecipientInfo.Email}
\" +\r\n \"
\" +\r\n \"
\",\r\n\r\n initEmailGreetingHelp: function () {\r\n var greetingHelpEl = this.getElement(\"emailGreetingHelp\");\r\n var greetingInputEl = this.getElement(\"emailGreetingInput\");\r\n var greetingHelpContentEl = new Element(\"div\", {\r\n \"id\": \"emailGreetingHelpCont\",\r\n \"class\": \"emailGreetingHelpCont\",\r\n \"html\": this.emailGreetingOptions\r\n });\r\n var bodyEl = $(document.body);\r\n bodyEl.grab(greetingHelpContentEl);\r\n greetingHelpContentEl.hide();\r\n\r\n if (greetingHelpEl) {\r\n greetingHelpEl.addOnClick(function (e) {\r\n e.stopPropagation();\r\n greetingHelpContentEl.show();\r\n\r\n greetingHelpContentEl.position({\r\n relativeTo: greetingHelpEl,\r\n edge: \"upperLeft\",\r\n offset: {\r\n x: 10\r\n }\r\n });\r\n }.bind(this));\r\n }\r\n\r\n var placeHoldersEl = greetingHelpContentEl.getElements(\".emailGreetingPlaceholder\");\r\n placeHoldersEl.addOnClick(function (e) {\r\n var targetEl = e.target.getParent().getNext();\r\n var text = targetEl.get(\"text\");\r\n\r\n var currentText = greetingInputEl.get(\"value\");\r\n greetingInputEl.set(\"value\", currentText + \" \" + text);\r\n });\r\n\r\n bodyEl.addOnClick(this.hideGreetingHelp);\r\n\r\n greetingHelpContentEl.addOnClick(function (e) {\r\n e.stopPropagation();\r\n });\r\n },\r\n\r\n hideGreetingHelp: function () {\r\n var greetingHelpEl = $(\"emailGreetingHelpCont\");\r\n greetingHelpEl.hide();\r\n },\r\n\r\n onClose: function () {\r\n if (this.uploadWindow)\r\n this.uploadWindow.close();\r\n\r\n var greetingHelpEl = $(\"emailGreetingHelpCont\");\r\n greetingHelpEl.destroy();\r\n\r\n $(document.body).removeEvent(\"click\", this.hideGreetingHelp);\r\n }\r\n});\r\n\r\nLibrarian.UserProfileWindow.extend({\r\n attributes: {}\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});"]}