/*
 * Copyright 2009 Apple Inc. All rights reserved. 
 * IMPORTANT NOTE: This file is licensed only for use in providing the iWork.com
 * service, or any part thereof, and is subject to the iWork.com Terms of Service.
 */

Heckler=SC.Object.create({server:Mac.Server,DEFAULT_PANEL_GRAD_BG_PATH:"/sw/shared/de/d3bced03efd15736141cf474823b5e450f783489/images/panels/panel_grad_bg.png"});Array.from=$A;require("core");require("controllers/document_comment");Heckler.ClearCommentsButtonView=SC.ButtonView.extend({init:function(){arguments.callee.base.apply(this,arguments);this.set("title",CoreDocs.loc("clear all",""));this.set("toolTip",CoreDocs.loc("Delete all document notes.",""))},commentsObserver:function(b){var a=CoreHeckler.documentCommentController.numberUndeletedComments(true)>0;this.set("isVisible",a&&CoreHeckler.commentator.guid==CoreHeckler.author.guid)}.observes("CoreHeckler.documentCommentController.content.records"),action:function(){CoreHeckler.documentCommentController.clearCommentsPrompt()}});require("core");require("controllers/downloads");Heckler.DownloadButtonView=SC.PopupButtonView.extend({downloadsObserver:function(){if(CoreDocs.downloadsController.downloadsAvailable&&!CoreDocs.downloadsController.get("downloadsDisabled")){this.set("toolTip",CoreDocs.loc("Download this document.",""))}else{this.set("toolTip",CoreDocs.loc("Download has been disabled by the publisher.","Download disabled tooltip."))}}.observes("CoreDocs.downloadsController.downloadsAvailable","CoreDocs.downloadsController.downloadsDisabled")});require("core");Heckler.UserView=SC.LabelView.extend({emptyElement:'<div><div class="user_menu"><div class="button" ></div></div> <span class="test"></span> <span class="username"></span></div>',outlets:["user_menu","username"],user_menu:SC.PopupButtonView.extend({contentBinding:"*owner.content",menuName:"userMenu",className:"focus",action:function(a){Heckler.collaboratorsController.menuUser=this.get("content").guid;arguments.callee.base.apply(this,arguments);this.set("isFocused",true)},authorObserver:function(c,b,a){if(CoreHeckler.commentator&&CoreHeckler.author&&CoreHeckler.commentator.guid!=CoreHeckler.author.guid){this.set("isVisible",false)}else{this.set("isVisible",true)}}.observes("*owner.content.author","CoreHeckler.isDocumentReady")}).outletFor(".user_menu?"),username:SC.LabelView.extend({valueBinding:"*owner.content",authorTemplate:'<span class="%@"/>%@</span>',escapeHTML:false,formatter:function(c,a){var b=c.get("colorClass");return a.authorTemplate.fmt(b,c.get("displayName"))}}).outletFor(".username?"),updateVisibility:function(){var a=this.get("content");var b=(!(a.get("deleted"))&&(a.get("guid")!=1));this.set("isVisible",b)}.observes("content",".content.deleted")});require("core");require("controllers/floating_comment");Heckler.ToggleFloatingCommentsButtonView=SC.ButtonView.extend({init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Hide all comments in the document.","Tooltip"))},changeCommentVisibility:function(a){CoreHeckler.floatingCommentController.set("commentsVisible",a)},showComments:function(){this.changeCommentVisibility(true);this.set("toolTip",CoreDocs.loc("Hide all comments in the document.","Tooltip"))},hideComments:function(){this.changeCommentVisibility(false);this.set("toolTip",CoreDocs.loc("Show all comments in the document.","Tooltip"))},action:function(){if(CoreHeckler.floatingCommentController.get("commentsVisible")){this.hideComments()}else{this.showComments()}}});require("core");Heckler.CatalogueButtonView=SC.ButtonView.extend({init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Manage your shared documents.","Tooltip"))},getCataloguePrefix:function(){return"/shareddocuments/"+String.currentLanguage()+"/"},action:function(){window.location=this.getCataloguePrefix()+"?a="+CoreHeckler.adaptor.iDiskOwner}});require("core");require("main");Heckler.AuthorView=SC.ImageView.extend({imageDidFail:function(b,a){this.rootElement.src="/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/document_blank_author.png"}});require("core");require("controllers/document_comment");Heckler.AddViewersButtonView=SC.ButtonView.extend({MAX_VIEWERS:50,init:function(){arguments.callee.base.apply(this,arguments);this.set("title",CoreDocs.loc("add","Lower case button title"));this.set("toolTip",CoreDocs.loc("Give another viewer permission to see this document.","Tooltip."))},action:function(){$view("#add_collaborator").startAddViewerMode()},countObserver:function(){if(CoreHeckler.documentInfo.get("viewers")>=this.MAX_VIEWERS){this.set("isEnabled",false)}else{this.set("isEnabled",true)}}.observes("CoreHeckler.documentInfo.viewers","CoreHeckler.pageController.firstDisplay"),dataLoadedObserver:function(){if(CoreHeckler.get("isDocumentReady")){this.set("isVisible",CoreHeckler.commentator.guid==CoreHeckler.author.guid)}}.observes("CoreHeckler.isDocumentReady")});require("core");Heckler.ZoomDropdownView=SC.PopupButtonView.extend({menuName:"zoomMenu",init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Click to enlarge or reduce the view of the document.","Tooltip"))},pageScaleObserver:function(){var a=CoreDocs.loc("View: ","Zoom level.")+CoreHeckler.pageController.get("formattedPageScale");this.set("title",a)}.observes("CoreHeckler.pageController.pageScale")});require("core");Heckler.sidebarController=SC.Object.create({author:null,documentInfo:null,nameField:null,emailField:null,boundViewerFormKey:null,sendInviteDelay:2,init:function(){arguments.callee.base.apply(this,arguments);this.nameField=$("viewer_name");Event.observe(this.nameField,"focus",this.focusField);Event.observe(this.nameField,"blur",this.blurField);this.emailField=$("viewer_email");Event.observe(this.emailField,"focus",this.focusField);Event.observe(this.emailField,"blur",this.blurField);var a=this.emailChanged.bind(this),b=function(){a.defer()};Event.observe(this.emailField,"keyup",a);Event.observe(this.emailField,"input",a);Event.observe(this.emailField,"cut",b);Event.observe(this.emailField,"paste",b);this.boundViewerFormKey=this.viewerFormKey.bind(this);$("add_collaborator").hide();var d=$$("#upsell_ad .trial_text_link").first();var c=$$("#upsell_ad .trial_image_link").first();d.observe("click",function(){CoreDocs.Marketeer.reportTrialDownload()});c.observe("click",function(){CoreDocs.Marketeer.reportTrialDownload()})},allowViewerComments:YES,allowViewerDownloads:YES,emailAuthor:function(){var a="mailto:"+this.get("author").get("email");a=a+"?subject="+encodeURIComponent(CoreHeckler.documentInfo.get("title"));window.location=a},emailChanged:function(){$view("#add_collaborator").updatePostButton()},canAddViewer:function(){return !(this.emailField.value==this.emailField.defaultValue||this.emailField.value==="")},showAddViewerEmail:function(){Event.observe($("add_collaborator"),"keydown",this.boundViewerFormKey);$view("#add_collaborator").showAddViewerEmail()},endAddViewerMode:function(){Event.stopObserving($("add_collaborator"),"keydown",this.boundViewerFormKey);$view("#add_collaborator").endAddViewerMode()},addViewer:function(c,b){$view("#add_collaborator").endAddViewerMode.delay(this.get("sendInviteDelay"));if(!Heckler.collaboratorsController.userCount()){CoreHeckler.documentInfo.set("usersAllowedToComment",this.get("allowViewerComments"));CoreHeckler.documentInfo.set("usersAllowedToDownload",this.get("allowViewerDownloads"))}var a=Heckler.collaboratorsController.addUser(b,c);this.emailField.value="";this.nameField.value="";var d=a.get("initial_link");if(d){Heckler.collaboratorsController.showNewLink(a.get("displayName"),d)}},submitAddForm:function(){if(this.canAddViewer()){var b=$("viewer_email").value;var a=$("viewer_name").value;if(CoreHeckler.User.find({email:b,deleted:false})||CoreHeckler.User.find({email:b,role:CoreHeckler.CommentRole.PUBLISHER})){CoreDocs.errorController.reportError(CoreDocs.loc("Viewer already added","Dialog box title"),b+CoreDocs.loc(" is already a viewer on this document.",""))}else{if(!b.match(/^[A-Z0-9_%+-]+(\.[A-Z0-9_%+-]+)*@[A-Z0-9_%+-]+(\.[A-Z0-9_%+-]+)*\.[A-Z]{2,6}$/i)){$("email_prompt").hide();$("email_error").show()}else{this.addViewer(b,a)}}}},viewerFormKey:function(a){if(a.keyCode==Event.KEY_RETURN&&!CoreDocs.dialogController.isShowing()){a.stopPropagation();this.submitAddForm();Event.stopObserving($("add_collaborator"),"keydown",this.boundViewerFormKey)}},focusField:function(a){clearDefaultValue(a.target);this.activate()},blurField:function(a){setToDefaultValueIfEmpty(a.target)},upsellAdVisible:function(){return(!CoreHeckler.isOwner&&SC.browser.mac)},serverMessageVisible:function(){return(this.upsellAdVisible()||CoreDocs.serverStatusController.warningHTML)},updateServerMessageVisibility:function(){if(CoreDocs.serverStatusController.warningHTML){$("server_warning_text").innerHTML=CoreDocs.serverStatusController.warningHTML;$("upsell_ad").hide();$("server_warning").show();$("sidebar").addClassName("server_message_visible")}else{if(this.upsellAdVisible()){$("server_warning").hide();$("upsell_ad").show();$("sidebar").addClassName("server_message_visible")}else{$("upsell_ad").hide();$("server_warning").hide();$("sidebar").removeClassName("server_message_visible")}}}.observes("author","CoreDocs.serverStatusController.warningHTML")});require("core");Heckler.ThumbnailListItemView=SC.View.extend({indentLevelSize:10,thumbnailURI:"",emptyElement:['<div class="thumbnail">','  <div class="thumbnail_content">','    <div class="number"></div>','    <div class="image">','      <div class="thumb" ><img class="thumbImage" src="',"/sw/core_docs/de/aa607ecdaeb59b4f021dc5a234ec751fdbc0fcf3/images/blank.gif",'"/></div>','      <img class="glyph" src="',"/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thumbnail_comment_glyph.png",'" />',"    </div>","  </div>","</div>"].join(""),outlets:["pageNumber","image","button"],pageNumber:SC.LabelView.extend({valueBinding:"*owner.content.pageNumber"}).outletFor(".number?"),hasComments:function(){if(!this.get("content")){return}var a=this.get("content").get("pageNumber");var b=CoreHeckler.Canvascomment.findAll({page:a,deleted:false}).length;return(b>0)},updateGlyph:function(){if(this.$S(".glyph")){if(this.hasComments()){this.$S(".glyph").style.visibility="visible"}else{this.$S(".glyph").style.visibility="hidden"}}},isSelectedObserver:function(){this.setClassName("selected",this.get("isSelected"));if(this.get("isSelected")){$("thumb_selection").style.width=$("thumbnail_sidebar").scrollWidth+"px";$("thumb_selection").style.height=this.rootElement.style.height;$("thumb_selection").style.top=this.rootElement.style.top}}.observes("isSelected","CoreHeckler.pageController.firstDisplay"),setSize:function(){this.rootElement.style.width=$("thumbnail_sidebar").scrollWidth+"px";$("thumb_selection").style.display="block"}.observes("CoreHeckler.pageController.firstDisplay"),contentObserver:function(){if(!this.get("content")){return}var d=this.get("content").get("indentLevel");if(d){var c=((d-1)*this.indentLevelSize)+"px";this.$S(".thumbnail_content").style.paddingLeft=c}var b=this.$S(".thumbImage");if(b){var a=this.get("content").get("pageNumber");b.src=CoreHeckler.pageController.pageThumbnailBitmapURI(a)}this.updateGlyph()}.observes("content")});require("core");require("views/thumbnail_list_item");require("controllers/page");Heckler.ThumbnailListView=SC.ListView.extend(SC.Scrollable,{exampleView:Heckler.ThumbnailListItemView,selectionBinding:"CoreHeckler.pageController.selection",allowDeselectAll:false,rowHeight:38,keyboardEnabled:YES,documentReadyObserver:function(){if(CoreHeckler.get("isDocumentReady")){this.set("content",CoreHeckler.pageController.arrangedObjects);if(CoreHeckler.documentInfo.get("documentType")==CoreDocs.DocumentType.NUMBERS){this.set("exampleView",Heckler.ThumbnailListItemNumbersView);this.rootElement.parentNode.className="numbers"}else{var a=12+Math.min(CoreHeckler.pageController.documentRatio()*64,90);this.set("rowHeight",a)}}}.observes("CoreHeckler.isDocumentReady"),currentPageObserver:function(){this.scrollToCurrentPage()}.observes("selection","CoreHeckler.isDocumentReady"),scrollToCurrentPage:function(){var b=this.get("selection");if(b&&b.length){var a=b[0].get("pageNumber");if(CoreHeckler.get("isDocumentReady")&&a>0){this.scrollToPage(a)}}},scrollToPage:function(a){rowHeight=this.get("rowHeight");maxTop=Math.max(0,(a-1)*rowHeight);minTop=maxTop+rowHeight-$("thumbnail_sidebar").offsetHeight;if($("thumbnail_sidebar").scrollTop<minTop){$("thumbnail_sidebar").scrollTop=minTop}else{if($("thumbnail_sidebar").scrollTop>maxTop){$("thumbnail_sidebar").scrollTop=maxTop}}},moveUp:function(){CoreHeckler.pageController.loadPreviousPage()},moveDown:function(){CoreHeckler.pageController.loadNextPage()},updateThumbnail:function(b){if(!b){return}var a=CoreHeckler.Page.find({pageNumber:b});var c=this.itemViewForContent(a);if(c){c.updateGlyph()}},keyDown:function(a){if(this.get("keyboardEnabled")){return arguments.callee.base.apply(this,arguments)}else{return true}},contentRangeInFrame:function(){var a=arguments.callee.base.apply(this,arguments),c=Math.max(0,a.start-Math.floor(a.length/2)),b=a.length*2;return{start:c,length:b}}});require("core");require("controllers/document_comment");Heckler.AddCommentButtonView=SC.ButtonView.extend({inUse:false,init:function(){arguments.callee.base.apply(this,arguments);Event.observe(this.rootElement,"click",this.go.bind(this));this.set("toolTip",CoreDocs.loc("Add a comment to this document.","tooltip for enabled add comment button"))},updateEnabled:function(){if(CoreHeckler.pageController.get("readOnlyFlag")){this.set("isEnabled",false);this.set("toolTip",CoreDocs.loc("Commenting has been disabled by the publisher.","Tooltip for when comments are disabled."));return}if(this.get("inUse")){this.set("isEnabled",false);return}if(CoreHeckler.documentInfo.get("documentType")==CoreDocs.DocumentType.PAGES){if(CoreHeckler.rangedSelectionController.get("currentSelection")||CoreHeckler.cellSelectionController.get("currentSelection")||CoreHeckler.objectSelectionController.get("currentSelection")){this.set("isEnabled",true);if(CoreHeckler.rangedSelectionController.get("currentSelection")){this.set("toolTip",CoreDocs.loc("Add a comment to the selected text.","tooltip for add comment button with selected text"))}else{if(CoreHeckler.cellSelectionController.get("currentSelection")){this.set("toolTip",CoreDocs.loc("Add a comment to the selected table cell.","tooltip for enabled add comment button with selected cell"))}else{this.set("toolTip",CoreDocs.loc("Add a comment to the selected object.","tooltip for enabled add comment button with selected object"))}}}else{this.set("isEnabled",false);this.set("toolTip",CoreDocs.loc("Select text or a table cell to add a comment.",""))}}else{this.set("isEnabled",true)}}.observes("CoreHeckler.rangedSelectionController.currentSelection","CoreHeckler.cellSelectionController.currentSelection","CoreHeckler.objectSelectionController.currentSelection","inUse"),go:function(a){if(this.get("isEnabled")){a.stop();Heckler.commentController.addCanvasComment()}}});function IWScrollbar(a){}IWScrollbar.prototype._init=function(){var b=null;var a=null;this._track=$(document.createElement("div"));b=this._track.style;b.height="100%";b.width="100%";this.scrollbar.appendChild(this._track);a=$(document.createElement("div"));a.style.position="absolute";this._setObjectStart(a,0);this._track.appendChild(a);a=$(document.createElement("div"));a.style.position="absolute";this._track.appendChild(a);a=$(document.createElement("div"));a.style.position="absolute";windowsInternetExplorer||this._setObjectEnd(a,0);this._track.appendChild(a);this._thumb=$(document.createElement("div"));b=this._thumb.style;b.position="absolute";this._setObjectSize(this._thumb,this.minThumbSize);this._track.appendChild(this._thumb);a=$(document.createElement("div"));a.style.position="absolute";this._setObjectStart(a,0);this._thumb.appendChild(a);a=$(document.createElement("div"));a.style.position="absolute";this._thumb.appendChild(a);a=$(document.createElement("div"));a.style.position="absolute";windowsInternetExplorer||this._setObjectEnd(a,0);this._thumb.appendChild(a);this.setSize(this.size);this.setTrackStart(this.trackStartPath,this.trackStartLength);this.setTrackMiddle(this.trackMiddlePath);this.setTrackEnd(this.trackEndPath,this.trackEndLength);this.setThumbStart(this.thumbStartPath,this.thumbStartLength);this.setThumbMiddle(this.thumbMiddlePath);this.setThumbEnd(this.thumbEndPath,this.thumbEndLength);this._thumb.style.display="none";Event.observe(this._track,"mousedown",this._mousedownTrackHandler,false);Event.observe(this._thumb,"mousedown",this._mousedownThumbHandler,false)};IWScrollbar.prototype.remove=function(){this.scrollbar.removeChild(this._track)};IWScrollbar.prototype._captureEvent=function(a){a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._mousedownThumb=function(a){Event.observe(document,"mousemove",this._mousemoveThumbHandler,true);Event.observe(document,"mouseup",this._mouseupThumbHandler,true);Event.observe(document,"mouseover",this._captureEventHandler,true);Event.observe(document,"mouseout",this._captureEventHandler,true);this._thumbStart_temp=this._getMousePosition(a);this._scroll_thumbStartPos=this._getThumbStartPos();a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._mousemoveThumb=function(b){var c=this._getMousePosition(b)-this._thumbStart_temp;var a=this._scroll_thumbStartPos+c;this.scrollTo(this._contentPositionForThumbPosition(a));b.stopPropagation();b.preventDefault()};IWScrollbar.prototype._mouseupThumb=function(a){Event.stopObserving(document,"mousemove",this._mousemoveThumbHandler,true);Event.stopObserving(document,"mouseup",this._mouseupThumbHandler,true);Event.stopObserving(document,"mouseover",this._captureEventHandler,true);Event.stopObserving(document,"mouseout",this._captureEventHandler,true);delete this._thumbStart_temp;delete this._scroll_thumbStartPos;a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._mousedownTrack=function(a){this._track_mouse_temp=this._getMousePosition(a)-this._trackOffset;if(a.altKey){this.scrollTo(this._contentPositionForThumbPosition(this._track_mouse_temp-(this._thumbLength/2)));delete this._track_mouse_temp}else{this._track_scrolling=true;Event.observe(this._track,"mousemove",this._mousemoveTrackHandler,true);Event.observe(this._track,"mouseover",this._mouseoverTrackHandler,true);Event.observe(this._track,"mouseout",this._mouseoutTrackHandler,true);Event.observe(document,"mouseup",this._mouseupTrackHandler,true);this._trackScrollOnePage(this);this._track_timer=setInterval(this._trackScrollDelay,500,this)}a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._trackScrollDelay=function(a){if(!a._track_scrolling){return}clearInterval(a._track_timer);a._trackScrollOnePage(a);a._track_timer=setInterval(a._trackScrollOnePage,150,a)};IWScrollbar.prototype._mousemoveTrack=function(a){this._track_mouse_temp=this._getMousePosition(a)-this._trackOffset;a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._mouseoverTrack=function(a){this._track_mouse_temp=this._getMousePosition(a)-this._trackOffset;this._track_scrolling=true;a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._mouseoutTrack=function(a){this._track_scrolling=false;a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._mouseupTrack=function(a){clearInterval(this._track_timer);Event.stopObserving(this._track,"mousemove",this._mousemoveTrackHandler,true);Event.stopObserving(this._track,"mouseover",this._mouseoverTrackHandler,true);Event.stopObserving(this._track,"mouseout",this._mouseoutTrackHandler,true);Event.stopObserving(document,"mouseup",this._mouseupTrackHandler,true);delete this._track_mouse_temp;delete this._track_scrolling;delete this._track_timer;a.stopPropagation();a.preventDefault()};IWScrollbar.prototype._trackScrollOnePage=function(a){if(!a._track_scrolling){return}var b=Math.round(a._trackLength*a._getViewToContentRatio());if(a._track_mouse_temp<a._thumbStart){a.scrollByThumbDelta(-b)}else{if(a._track_mouse_temp>(a._thumbStart+a._thumbLength)){a.scrollByThumbDelta(b)}}};IWScrollbar.prototype.setScrollArea=function(a){if(this.scrollarea){Event.stopObserving(this.scrollbar,"mousewheel",this.scrollarea._mousewheelScrollHandler,true);Event.stopObserving(this.scrollbar,"DOMMouseScroll",this.scrollarea._mousewheelScrollHandler,true)}this.scrollarea=a;Event.observe(this.scrollbar,"mousewheel",this.scrollarea._mousewheelScrollHandler,true);Event.observe(this.scrollbar,"DOMMouseScroll",this.scrollarea._mousewheelScrollHandler,true)};IWScrollbar.prototype.refresh=function(){this._trackOffset=this._computeTrackOffset();this._trackLength=this._computeTrackLength();var a=this._getViewToContentRatio();if(a>=1||!this._canScroll()){if(this.autohide){this.hide()}this._thumb.style.display="none";this.scrollbar.style.appleDashboardRegion="none"}else{this._thumbLength=Math.max(Math.round(this._trackLength*a),this.minThumbSize);this._numScrollablePixels=this._trackLength-this._thumbLength-(2*this.padding);this._setObjectLength(this._thumb,this._thumbLength);if(windowsInternetExplorer){this._setObjectStart(this._thumb.down().next(),this.thumbStartLength);this._setObjectLength(this._thumb.down().next(),this._thumbLength-this.thumbStartLength-this.thumbEndLength);this._setObjectStart(this._thumb.down().next(1),this._thumbLength-this.thumbEndLength);this._setObjectLength(this._thumb.down().next(1),this.thumbEndLength);if(!this.fixedUpIEPNGBGs){fixupIEPNGBGsInTree(this._track);Event.stopObserving(this._track,"mousedown",this._mousedownTrackHandler);Event.stopObserving(this._thumb,"mousedown",this._mousedownThumbHandler);Event.observe(this._track,"mousedown",this._mousedownTrackHandler);Event.observe(this._thumb,"mousedown",this._mousedownThumbHandler);this.fixedUpIEPNGBGs=true}}this._thumb.style.display="block";this.scrollbar.style.appleDashboardRegion="dashboard-region(control rectangle)";this.show()}this.verticalHasScrolled();this.horizontalHasScrolled()};IWScrollbar.prototype.setAutohide=function(a){this.autohide=a;if(this._getViewToContentRatio()>=1&&a){this.hide()}else{this.show()}};IWScrollbar.prototype.hide=function(){this._track.style.display="none";this.scrollbar.style.visibility="hidden";this.hidden=true};IWScrollbar.prototype.show=function(){this._track.style.display="block";this.scrollbar.style.visibility="visible";this.hidden=false};IWScrollbar.prototype.setSize=function(a){this.size=a;this._setObjectSize(this.scrollbar,a);this._setObjectSize(this._track.down().next(),a);this._setObjectSize(this._thumb.down().next(),a)};IWScrollbar.prototype.setTrackStart=function(a,c){this.trackStartPath=a;this.trackStartLength=c;var b=this._track.down();b.style.background="url("+a+") no-repeat top left";this._setObjectLength(b,c);this._setObjectSize(b,this.size);this._setObjectStart(this._track.down().next(),c)};IWScrollbar.prototype.setTrackMiddle=function(a){this.trackMiddlePath=a;this._track.down().next().style.background="url("+a+") "+this._repeatType+" top left"};IWScrollbar.prototype.setTrackEnd=function(a,c){this.trackEndPath=a;this.trackEndLength=c;var b=this._track.down().next(1);b.style.background="url("+a+") no-repeat top left";this._setObjectLength(b,c);this._setObjectSize(b,this.size);windowsInternetExplorer||this._setObjectEnd(this._track.down().next(),c)};IWScrollbar.prototype.setThumbStart=function(a,c){this.thumbStartPath=a;this.thumbStartLength=c;var b=this._thumb.down();b.style.background="url("+a+") no-repeat top left";this._setObjectLength(b,c);this._setObjectSize(b,this.size);this._setObjectStart(this._thumb.down().next(),c)};IWScrollbar.prototype.setThumbMiddle=function(a){this.thumbMiddlePath=a;this._thumb.down().next().style.background="url("+a+") "+this._repeatType+" top left"};IWScrollbar.prototype.setThumbEnd=function(a,c){this.thumbEndPath=a;this.thumbEndLength=c;var b=this._thumb.down().next(1);b.style.background="url("+a+") no-repeat top left";this._setObjectLength(b,c);this._setObjectSize(b,this.size);windowsInternetExplorer||this._setObjectEnd(this._thumb.down().next(),c)};IWScrollbar.prototype._contentPositionForThumbPosition=function(a){if(this._getViewToContentRatio()>=1){return 0}else{return(a-this.padding)*((this._getContentLength()-this._getViewLength())/this._numScrollablePixels)}};IWScrollbar.prototype._thumbPositionForContentPosition=function(b){if(this._getViewToContentRatio()>=1){return this.padding}else{var a=this.padding+(b/((this._getContentLength()-this._getViewLength())/this._numScrollablePixels));if(isNaN(a)){a=0}return a}};IWScrollbar.prototype.scrollByThumbDelta=function(a){if(a===0){return}this.scrollTo(this._contentPositionForThumbPosition(this._thumbStart+a))};function IWVerticalScrollbar(b){this.scrollarea=null;this.scrollbar=$(b);this.minThumbSize=28;this.padding=-1;this.autohide=true;this.hidden=true;this.size=19;this.trackStartPath=transparentGifURL();this.trackStartLength=18;this.trackMiddlePath=transparentGifURL();this.trackEndPath=transparentGifURL();this.trackEndLength=18;this.thumbStartPath=transparentGifURL();this.thumbStartLength=9;this.thumbMiddlePath=transparentGifURL();this.thumbEndPath=transparentGifURL();this.thumbEndLength=9;this._track=null;this._thumb=null;this._trackOffset=0;this._trackLength=0;this._numScrollablePixels=0;this._thumbLength=0;this._repeatType="repeat-y";this._thumbStart=this.padding;var a=this;this._captureEventHandler=function(c){a._captureEvent(c)};this._mousedownThumbHandler=function(c){a._mousedownThumb(c)};this._mousemoveThumbHandler=function(c){a._mousemoveThumb(c)};this._mouseupThumbHandler=function(c){a._mouseupThumb(c)};this._mousedownTrackHandler=function(c){a._mousedownTrack(c)};this._mousemoveTrackHandler=function(c){a._mousemoveTrack(c)};this._mouseoverTrackHandler=function(c){a._mouseoverTrack(c)};this._mouseoutTrackHandler=function(c){a._mouseoutTrack(c)};this._mouseupTrackHandler=function(c){a._mouseupTrack(c)};this._init()}IWVerticalScrollbar.prototype=new IWScrollbar(null);IWVerticalScrollbar.prototype.scrollTo=function(a){this.scrollarea.verticalScrollTo(a)};IWVerticalScrollbar.prototype._setObjectSize=function(a,b){a.style.width=b+"px"};IWVerticalScrollbar.prototype._setObjectLength=function(a,b){a.style.height=b+"px"};IWVerticalScrollbar.prototype._setObjectStart=function(a,b){a.style.top=b+"px"};IWVerticalScrollbar.prototype._setObjectEnd=function(b,a){b.style.bottom=a+"px"};IWVerticalScrollbar.prototype._getMousePosition=function(a){if(a!=undefined){return Event.pointerY(a)}else{return 0}};IWVerticalScrollbar.prototype._getThumbStartPos=function(){return this._thumb.offsetTop};IWVerticalScrollbar.prototype._computeTrackOffset=function(){var b=this.scrollbar;var a=0;while(b.offsetParent){a+=b.offsetTop;b=b.offsetParent}return a};IWVerticalScrollbar.prototype._computeTrackLength=function(){return this.scrollbar.offsetHeight};IWVerticalScrollbar.prototype._getViewToContentRatio=function(){return this.scrollarea.viewToContentHeightRatio};IWVerticalScrollbar.prototype._getContentLength=function(){return this.scrollarea.content.scrollHeight};IWVerticalScrollbar.prototype._getViewLength=function(){return this.scrollarea.viewHeight};IWVerticalScrollbar.prototype._canScroll=function(){return this.scrollarea.scrollsVertically};IWVerticalScrollbar.prototype.verticalHasScrolled=function(){var a=this._thumbPositionForContentPosition(this.scrollarea.content.scrollTop);this._thumbStart=a;this._thumb.style.top=a+"px"};IWVerticalScrollbar.prototype.horizontalHasScrolled=function(){};function IWHorizontalScrollbar(b){this.scrollarea=null;this.scrollbar=$(b);this.minThumbSize=28;this.padding=-1;this.autohide=true;this.hidden=true;this.size=19;this.trackStartPath=transparentGifURL();this.trackStartLength=18;this.trackMiddlePath=transparentGifURL();this.trackEndPath=transparentGifURL();this.trackEndLength=18;this.thumbStartPath=transparentGifURL();this.thumbStartLength=9;this.thumbMiddlePath=transparentGifURL();this.thumbEndPath=transparentGifURL();this.thumbEndLength=9;this._track=null;this._thumb=null;this._trackOffset=0;this._trackLength=0;this._numScrollablePixels=0;this._thumbLength=0;this._repeatType="repeat-x";this._thumbStart=this.padding;var a=this;this._captureEventHandler=function(c){a._captureEvent(c)};this._mousedownThumbHandler=function(c){a._mousedownThumb(c)};this._mousemoveThumbHandler=function(c){a._mousemoveThumb(c)};this._mouseupThumbHandler=function(c){a._mouseupThumb(c)};this._mousedownTrackHandler=function(c){a._mousedownTrack(c)};this._mousemoveTrackHandler=function(c){a._mousemoveTrack(c)};this._mouseoverTrackHandler=function(c){a._mouseoverTrack(c)};this._mouseoutTrackHandler=function(c){a._mouseoutTrack(c)};this._mouseupTrackHandler=function(c){a._mouseupTrack(c)};this._init()}IWHorizontalScrollbar.prototype=new IWScrollbar(null);IWHorizontalScrollbar.prototype.scrollTo=function(a){this.scrollarea.horizontalScrollTo(a)};IWHorizontalScrollbar.prototype._setObjectSize=function(a,b){a.style.height=b+"px"};IWHorizontalScrollbar.prototype._setObjectLength=function(a,b){a.style.width=b+"px"};IWHorizontalScrollbar.prototype._setObjectStart=function(a,b){a.style.left=b+"px"};IWHorizontalScrollbar.prototype._setObjectEnd=function(b,a){b.style.right=a+"px"};IWHorizontalScrollbar.prototype._getMousePosition=function(a){if(a!=undefined){return Event.pointerX(a)}else{return 0}};IWHorizontalScrollbar.prototype._getThumbStartPos=function(){return this._thumb.offsetLeft};IWHorizontalScrollbar.prototype._computeTrackOffset=function(){var b=this.scrollbar;var a=0;while(b.offsetParent){a+=b.offsetLeft;b=b.offsetParent}return a};IWHorizontalScrollbar.prototype._computeTrackLength=function(){return this.scrollbar.offsetWidth};IWHorizontalScrollbar.prototype._getViewToContentRatio=function(){return this.scrollarea.viewToContentWidthRatio};IWHorizontalScrollbar.prototype._getContentLength=function(){return this.scrollarea.content.scrollWidth};IWHorizontalScrollbar.prototype._getViewLength=function(){return this.scrollarea.viewWidth};IWHorizontalScrollbar.prototype._canScroll=function(){return this.scrollarea.scrollsHorizontally};IWHorizontalScrollbar.prototype.verticalHasScrolled=function(){};IWHorizontalScrollbar.prototype.horizontalHasScrolled=function(){var a=this._thumbPositionForContentPosition(this.scrollarea.content.scrollLeft);this._thumbStart=a;this._thumb.style.left=a+"px"};function IWScrollArea(d){this.content=$(d);this.scrollsVertically=true;this.scrollsHorizontally=true;this.singlepressScrollPixels=10;this.viewHeight=0;this.viewToContentHeightRatio=1;this.viewWidth=0;this.viewToContentWidthRatio=1;this._scrollbars=new Array();var a=this;this._refreshHandler=function(){a.refresh()};this._keyPressedHandler=function(){a.keyPressed(event)};this._mousewheelScrollHandler=function(c){a.mousewheelScroll(c)};this.content.style.overflow="hidden";this.content.scrollTop=0;this.content.scrollLeft=0;Event.observe(this.content,"mousewheel",this._mousewheelScrollHandler,true);Event.observe(this.content,"DOMMouseScroll",this._mousewheelScrollHandler,true);this.refresh();var e=arguments.length;for(var b=1;b<e;++b){this.addScrollbar(arguments[b])}}IWScrollArea.prototype.addScrollbar=function(a){a.setScrollArea(this);this._scrollbars.push(a);a.refresh()};IWScrollArea.prototype.removeScrollbar=function(e){var b=this._scrollbars;var d=b.length;for(var a=0;a<d;++a){if(b[a]==e){b.splice(a,1);break}}};IWScrollArea.prototype.remove=function(){Event.stopObserving(this.content,"mousewheel",this._mousewheelScrollHandler,true);Event.stopObserving(this.content,"DOMMouseScroll",this._mousewheelScrollHandler,true);var b=this._scrollbars;var d=b.length;for(var a=0;a<d;++a){b[a].setScrollArea(null)}};IWScrollArea.prototype.refresh=function(){this.viewHeight=this.content.offsetHeight;this.viewWidth=this.content.offsetWidth;if(this.content.scrollHeight>this.viewHeight){this.viewToContentHeightRatio=this.viewHeight/this.content.scrollHeight;this.verticalScrollTo(this.content.scrollTop)}else{this.viewToContentHeightRatio=1;this.verticalScrollTo(0)}if(this.content.scrollWidth>this.viewWidth){this.viewToContentWidthRatio=this.viewWidth/this.content.scrollWidth;this.horizontalScrollTo(this.content.scrollLeft)}else{this.viewToContentWidthRatio=1;this.horizontalScrollTo(0)}var b=this._scrollbars;var d=b.length;for(var a=0;a<d;++a){b[a].refresh()}};IWScrollArea.prototype.focus=function(){Event.observe(document,"keypress",this._keyPressedHandler,true)};IWScrollArea.prototype.blur=function(){Event.stopObserving(document,"keypress",this._keyPressedHandler,true)};IWScrollArea.prototype.reveal=function(b){var d=0;var c=b;do{d+=c.offsetTop;c=c.offsetParent}while(c&&c!=this.content);var a=0;c=b;do{a+=c.offsetLeft;c=c.offsetParent}while(c&&c!=this.content);this.verticalScrollTo(d);this.horizontalScrollTo(a)};IWScrollArea.prototype.verticalScrollTo=function(e){if(!this.scrollsVertically){return}var a=this.content.scrollHeight-this.viewHeight;if(e<0){e=0}else{if(e>a){e=a}}this.content.scrollTop=e;var d=this._scrollbars;var f=d.length;for(var b=0;b<f;++b){d[b].verticalHasScrolled()}};IWScrollArea.prototype.horizontalScrollTo=function(f){if(!this.scrollsHorizontally){return}var b=this.content_width-this.viewWidth;if(f<0){f=0}else{if(f>b){f=b}}this.content.scrollLeft=f;var d=this._scrollbars;var e=d.length;for(var a=0;a<e;++a){d[a].horizontalHasScrolled()}};IWScrollArea.prototype.keyPressed=function(a){var b=true;if(a.altKey){return}if(a.shiftKey){return}switch(a.keyIdentifier){case"Home":this.verticalScrollTo(0);break;case"End":this.verticalScrollTo(this.content.scrollHeight-this.viewHeight);break;case"Up":this.verticalScrollTo(this.content.scrollTop-this.singlepressScrollPixels);break;case"Down":this.verticalScrollTo(this.content.scrollTop+this.singlepressScrollPixels);break;case"PageUp":this.verticalScrollTo(this.content.scrollTop-this.viewHeight);break;case"PageDown":this.verticalScrollTo(this.content.scrollTop+this.viewHeight);break;case"Left":this.horizontalScrollTo(this.content.scrollLeft-this.singlepressScrollPixels);break;case"Right":this.horizontalScrollTo(this.content.scrollLeft+this.singlepressScrollPixels);break;default:b=false;break}if(b){a.stopPropagation();a.preventDefault()}};IWScrollArea.prototype.mousewheelScroll=function(a){var b=a.wheelDelta?(a.wheelDelta/120*this.singlepressScrollPixels):(a.detail/-2*this.singlepressScrollPixels);this.verticalScrollTo(this.content.scrollTop-b);a.stopPropagation();a.preventDefault()};require("core");require("models/user");Heckler.collaboratorsController=SC.CollectionController.create({allowsSelection:false,arrangedObjectsBinding:"CoreHeckler.users.records",userCount:function(){var a=CoreHeckler.User.findAll({deleted:false}).length;if(!CoreHeckler.author.get("deleted")){--a}return a},addUser:function(y,k){var g=CoreHeckler.documentInfo.get("shareLevel");var h="";var m="";var d=y.replace(/^\s+|\s+$/g,"");k=escape(k.toLowerCase()).escapeHTML();if(d!==""&&d!=$("viewer_name").defaultValue){d=d.escapeHTML().split(" ");h=d.shift();m=d.join(" ")}else{h=k.split("@")[0]}var j=CoreHeckler.CommentRole;var l=j.VIEWER;var c=CoreHeckler.documentInfo.get("usersAllowedToComment");if(c){l=j.COMMENTER}else{if(c===false){l=j.VIEWER}else{l=(CoreHeckler.User.findAll({role:j.VIEWER}).length>0)?j.VIEWER:j.COMMENTER}}var w=CoreHeckler.DownloadRole;var o=w.VIEWER;var r=CoreHeckler.documentInfo.get("usersAllowedToDownload");if(r===false){o=w.VIEWER}else{if((Heckler.downloads&&Heckler.downloads.get("count"))){o=w.DOWNLOADER}}var v;var b;if(v=CoreHeckler.User.find({email:k})){v.set("firstName",h);v.set("lastName",m);v.set("deleted",false);v.set("role",l);v.set("downloadRole",o);b=CoreHeckler.adaptor.addUser(v);var x=$view("#collaborators").itemViewForContent(v).username;x.rootElement.innerHTML=x.displayValue()}else{var p=CoreHeckler.User.findAll("").get("guid").max();var e=p+1;var n="color"+(Math.floor(Math.random()*8)+1);var u={guid:e,type:"User",firstName:h,lastName:m,email:k,colorClass:n,role:l,downloadRole:o,added:null,deleted:false,page:1,zoom:CoreHeckler.ZoomPreference.FIT_TO_WIDTH};v=CoreHeckler.users.newRecord(u);CoreHeckler.users.refresh();b=CoreHeckler.adaptor.addUser(v)}$view("#add_collaborator").showAddingMessage();var f=$view("#collaborators");f.scrollToItemView(f.itemViewForContent(v));if(f.scrollArea){f.scrollArea.refresh()}f.quantityUpdater();var s=this.makeViewerLink(v.get("email"),b);var t="http://"+CoreDocs.PUBLIC_DOMAIN+"/iw/"+CoreHeckler.adaptor.iDiskOwner+"/"+CoreHeckler.adaptor.documentName+"/thumbnail_180x134.png";var q=CoreHeckler.adaptor.checkMailStatus();if(q){var a=CoreHeckler.adaptor.sendEmail(CoreHeckler.getPath("documentInfo.title"),v.get("email"),s,t);if(a==200){v.set("initial_link","")}else{if(a==406){CoreDocs.errorController.reportError(CoreDocs.loc("You've already sent the maximum number of iWork.com email invitations today. Invitation emails won't be sent to your viewers.","Heckler - Daily mail limit reached error title"),CoreDocs.loc("For more information, view the iWork.com <a href='http://www.apple.com/legal/iworkcom/en/terms.html'>Terms of Service</a>.","Heckler - Daily mail limit reached error description"))}else{if(a==500){CoreDocs.errorController.reportError(CoreDocs.loc("The invitation email couldn't be sent to @@.","Heckler - email send error title").fmt(h),CoreDocs.loc("It will be sent as soon as possible.","Heckler - email send error description"))}else{CoreDocs.errorController.reportError(CoreDocs.loc("The invitation email couldn't be sent to @@.","Heckler - email send error title").fmt(h),CoreDocs.loc("Try adding the user again.","Heckler - email send error description"))}}}}else{v.set("initial_link",link)}this.updateDocumentViewers();CoreDocs.Marketeer.reportViewerAdded();if(g!=CoreHeckler.documentInfo.get("shareLevel")){Heckler.publicSharingController.save()}else{CoreHeckler.adaptor.saveDocument(CoreHeckler.documentInfo)}return v},removeUser:function(c){var b=CoreHeckler.documentInfo.get("shareLevel");var a=CoreHeckler.User.find({guid:c});a.set("deleted",true);CoreHeckler.users.refresh();CoreHeckler.adaptor.deleteUser(a);CoreHeckler.adaptor.saveUserData(a);this.updateDocumentViewers();CoreDocs.Marketeer.reportViewerDeleted();if(b!=CoreHeckler.documentInfo.get("shareLevel")){Heckler.publicSharingController.save()}else{CoreHeckler.adaptor.saveDocument(CoreHeckler.documentInfo)}},updateDocumentViewers:function(){CoreHeckler.documentInfo.set("viewers",this.userCount())},showRemove:function(){setTimeout(function(){var a=CoreHeckler.User.find({guid:this.menuUser}).get("displayName");CoreDocs.dialogController.showDialog(CoreDocs.loc("Are you sure you want to remove this viewer?","Dialog title"),"<b>"+a+"</b>"+CoreDocs.loc(" will not be able to view this document any longer. This action cannot be undone.",""),CoreDocs.loc("Remove","Verb to remove item."),CoreDocs.loc("Cancel","Verb to cancel dialog."),function(b){if(b){this.removeUser(Heckler.collaboratorsController.menuUser)}}.bind(this))}.bind(this),50)},makeViewerLink:function(b,a){var d=window.location.protocol,c=window.location.host;d=d+"//"+c+"/r/"+String.currentLanguage()+"/?a="+CoreHeckler.adaptor.iDiskOwner+"&d="+encodeURIComponent(CoreHeckler.adaptor.documentName)+"&u="+encodeURIComponent(b)+"&p="+a;if(CoreHeckler.documentInfo.get("documentPassword")){d=d+"&s=1"}return d},showLink:function(){setTimeout(function(){var b=CoreHeckler.User.find({guid:this.menuUser});var c=CoreHeckler.adaptor.getPassword(b);var a=b.get("displayName");var d="<input type='text' value='"+this.makeViewerLink(b.get("email"),c)+"' />";CoreDocs.dialogController.showDialog(CoreDocs.loc("This is the link @@ uses to view this document.","Dialog title").fmt(a),d+CoreDocs.loc("You can copy and paste this link into an email or iChat message.",""),CoreDocs.loc("Close","Verb to close dialog."))}.bind(this),50)},showNewLink:function(b,a){setTimeout(function(){var c="<input type='text' value='"+a+"' />";CoreDocs.dialogController.showDialog(CoreDocs.loc("Copy and paste this link into an email message to @@ so that they can view this document.","Dialog title").fmt(b),c+"<p>Upgrade to the latest version of iWork for email invites to be sent automatically to newly added viewers.</p>",CoreDocs.loc("Close","Verb to close dialog."))}.bind(this),50)}});require("core");require("lib/utility");require("lib/WidgetCommon");require("views/user");require("controllers/collaborators");Heckler.CollaboratorsView=CoreDocs.SortedCollectionView.extend(SC.Scrollable,{exampleView:Heckler.UserView,contentBinding:"Heckler.collaboratorsController.arrangedObjects",selectionBinding:"Heckler.collaboratorsController.selection",orderBy:"displayName",scrollArea:null,scrollbar:null,init:function(){arguments.callee.base.apply(this,arguments);Event.observe(window,"resize",this.resize)},initScrollbar:function(){if(!Prototype.Browser.IE){if(!this.scrollArea){this.scrollArea=new IWScrollArea(this.rootElement);var a=$("collaborators_scrollbar");this.scrollbar=new IWVerticalScrollbar(a);this.scrollArea.addScrollbar(this.scrollbar);this.scrollbar.setSize(8);this.scrollbar.setTrackStart("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bg-top.png",3);this.scrollbar.setTrackMiddle("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bg-fill.png");this.scrollbar.setTrackEnd("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bg-bottom.png",3);this.scrollbar.setThumbStart("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-top.png",6);this.scrollbar.setThumbMiddle("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-fill.png");this.scrollbar.setThumbEnd("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bottom.png",4)}}else{$("collaborators").style.overflow="auto"}},quantityUpdater:function(){if(CoreHeckler.get("isDocumentReady")){$("viewers_quantity").innerHTML=Heckler.collaboratorsController.userCount();if(!Heckler.sidebarController.get("addingViewer")){if(Heckler.collaboratorsController.userCount()){$("collaborators_wrapper").show()}else{$("collaborators_wrapper").hide()}var a=$view("#document_comment_container");if(a){a.resizeSidebar()}}}}.observes("content","CoreHeckler.isDocumentReady"),resize:function(){var e=$("sidebar");var d=$("collaborators");var c=$("collaborators_scrollbar");if(e&&d){var b=d.getHeight();var f=parseInt(Element.getStyle(c,"margin-top"),10)+parseInt(Element.getStyle(c,"margin-bottom"),10);var a=Math.max(0,(b-f));c.style.height=a+"px";if(this.scrollArea){this.scrollArea.refresh()}}},setNoCommentText:function(){},contentObserver:function(){this.initScrollbar();this.resize()}.observes("content")});require("core");require("views/thumbnail_list_item");Heckler.ThumbnailListItemNumbersView=Heckler.ThumbnailListItemView.extend({emptyElement:['<div class="thumbnail">','  <div class="thumbnail_content">','    <img class="image" />','    <span class="name"></span>',"  </div>","</div>"].join(""),outlets:["name","image"],name:SC.LabelView.extend({valueBinding:"*owner.content.name"}).outletFor(".name?"),image:SC.ImageView.extend({update:function(){var a="";if(this.owner.hasComments()){a="/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thumbnail_numbers_comment.png"}else{a="/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thumbnail_numbers.png"}this.rootElement.src=a;this.owner.setSize()}}).outletFor(".image?"),updateGlyph:function(){this.image.update()}});require("core");Heckler.documentDownloadsDelegate=SC.Object.create({getDocument:function(){return CoreHeckler.documentInfo},getBaseResourceName:function(){return CoreHeckler.adaptor.getBaseResourceName()},getResourcesPath:function(){return CoreHeckler.adaptor.getCredentialedURI(CoreHeckler.adaptor.getiDiskResourcesPath())},getURI:function(){return CoreHeckler.adaptor.getURI()},handle404:function(){CoreHeckler.documentController.fatalError(CoreDocs.loc("Document doesn't exist.","Title"),CoreDocs.loc("The publisher has removed this document.","Details"))},isDemo:function(){return CoreHeckler.isDemo},getDownloadsMenu:function(){return SC.page.get("downloadSheetMenu")}});require("core");Heckler.commentController=SC.Object.create({addCanvasComment:function(){if(CoreHeckler.documentInfo.get("documentType")==CoreDocs.DocumentType.PAGES&&CoreHeckler.rangedSelectionController.get("currentSelection")){CoreHeckler.rangedCommentController.addComment()}else{if((CoreHeckler.documentInfo.get("documentType")==CoreDocs.DocumentType.NUMBERS||CoreHeckler.documentInfo.get("documentType")==CoreDocs.DocumentType.PAGES)&&CoreHeckler.cellSelectionController.get("currentSelection")){CoreHeckler.cellCommentController.addComment()}else{if(CoreHeckler.documentInfo.get("documentType")==CoreDocs.DocumentType.PAGES&&CoreHeckler.objectSelectionController.get("currentSelection")){CoreHeckler.objectCommentController.addComment()}else{if(CoreHeckler.documentInfo.get("documentType")==CoreDocs.DocumentType.PAGES){CoreDocs.errorController.reportError(CoreDocs.loc("Pages does not support floating comments","Dialog box title"),CoreDocs.loc("To make a comment in this document, select some text or a cell and press the Add Comment button again.",""))}else{CoreHeckler.floatingCommentController.addComment()}}}}},addCommentHelper:function(a,j,c,f,h){var d=null;var e=null;if(h){var g=j.find({guid:h});d=g.get("commentType").newRecord({guid:a.guid});d.updateAttributes(a,false,true);g.recalculateChildren();var b=f.viewForContentRecord(g);e=b.entireComments.firstChild.subComments.viewForContentRecord(d)}else{d=c.newRecord({guid:a.guid});d.updateAttributes(a,false,true);c.refresh();var k=f.viewForContentRecord(d);if(k){e=k.entireComments.firstChild.subComments.firstChild;k.updateCoordinates();k.invokeLater(k.expand,100)}else{CoreDocs.error("Couldn't get the comment view for the created record")}}if(e){e.invokeLater(e.initiateInlineEdit,100)}CoreDocs.Marketeer.reportCommentAdded();return d},getNewCommentPosition:function(f){var e=$view(".preview_image").get("frame");var a=e.width;var d=CoreHeckler.pageController.get("pageScale");var f={x:f.commentLeft*d,y:f.commentY*d,width:(f.commentRight-f.commentLeft)*d,height:(f.commentBottom-f.commentY)*d};var c=20;var b=-20;if(f.x+f.width+CoreHeckler.DEFAULT_BUBBLE_WIDTH+c+10>=a){bubbleX=(a-f.x-f.width-CoreHeckler.DEFAULT_BUBBLE_WIDTH-c)/d;bubbleY=f.height/d+5}else{bubbleX=c;bubbleY=b}return{x:bubbleX,y:bubbleY}}});require("core");require("controllers/page");require("lib/scriptaculous/scriptaculous");require("views/toggle_navigator_button");require("models/user");require("views/ntree");Heckler.PageView=CoreDocs.NtreeView.extend({spinning:true,pageScaleRequired:false,spinnerDelay:0.75,slowRenderingCutoff:200,slowRenderingArea:0,lastRenderingTime:0,lastResizeTimestamp:0,windowResizeTimer:null,init:function(){arguments.callee.base.apply(this,arguments);this.detectFullscreen();Event.observe(window,"resize",this.detectFullscreen.bind(this));Event.observe(window,"resize",this.windowResized.bind(this));Event.observe(document,"keydown",this.globalKeyPress);Event.observe(window,"focus",this.gotFocus);this.set("isSelectable",false)},gotFocus:function(){CoreHeckler.documentController.pollIfStale()},cancelOutstandingResize:function(){if((this.windowResizeTimer)&&(this.windowResizeTimer.get("isValid"))){this.windowResizeTimer.invalidate()}},windowResized:function(){this.cancelOutstandingResize();var b=CoreHeckler.pageController.currentPageScaledWidth()*CoreHeckler.pageController.currentPageScaledHeight();if(((Date.now()-this.lastResizeTimestamp)<=this.lastRenderingTime)||(this.lastRenderingTime>=this.slowRenderingCutoff)||((b>=this.slowRenderingArea)&&(this.slowRenderingArea))){this.lastResizeTimestamp=Date.now();var a=this.slowRenderingCutoff;if(this.lastRenderingTime>a){a=Math.min(this.lastRenderingTime*2,500)}this.windowResizeTimer=this.invokeLater(this.resizePage,a)}else{this.lastResizeTimestamp=Date.now();this.resizePage()}},mouseDown:function(){return false},globalKeyPress:function(a){if(a.keyCode==Event.KEY_PAGEUP){CoreHeckler.pageController.loadPreviousPage()}else{if(a.keyCode==Event.KEY_PAGEDOWN){CoreHeckler.pageController.loadNextPage()}}},firstDisplayObserver:function(){if(CoreHeckler.pageController.get("firstDisplay")==false){return}CoreDocs.errorController.hideLoadingScreen();if(CoreHeckler.pageController.arrangedObjects.length==1){$view("#show_navigator_button").hideThumbnailView()}else{$view("#show_navigator_button").showThumbnailView()}$view("#document_comment_container").resizeSidebar();if(CoreHeckler.get("isPublicViewer")){$view("#show_document_info_button").showDocumentInfo()}CoreDocs.Marketeer.reportLoadTime(new Date()-CoreHeckler.loadDocumentStartTime);var a=10000;CoreHeckler.documentController.startPollingForChangesAfterDelay(a)}.observes("CoreHeckler.pageController.firstDisplay"),imageDidFail:function(b,a){},imageDidLoad:function(a){this.resizePage();CoreHeckler.pageController.set("loadingPageImageRendered",this.pageNumber);setTimeout(CoreHeckler.pageController.preloadPages.bind(CoreHeckler.pageController),500)},fadeSpinnerIn:function(){if(!this.spinning){this.spinning=true;new Effect.Appear($("loading_page"),{duration:0.15,delay:this.spinnerDelay,queue:{position:"end",scope:"pagespinnerscope"}})}},fadeSpinnerOut:function(){if(this.spinning){this.spinning=false;var a=Effect.Queues.get("pagespinnerscope");a.each(function(b){b.cancel()});new Effect.Fade($("loading_page"),{duration:0.15,queue:{position:"end",scope:"pagespinnerscope"}})}},loadingObserver:function(){if(SC.browser.msie){CoreHeckler.pageController.get("loadingInProgress")?$("canvas").style.overflowY="hidden":setTimeout(function(){$("canvas").style.overflowY="auto"},100)}if(CoreHeckler.pageController.get("loadingInProgress")){this.fadeSpinnerIn()}else{this.fadeSpinnerOut()}}.observes("CoreHeckler.pageController.loadingInProgress"),imageElement:function(){return this.image.rootElement},changeToPage:function(a){if(CoreHeckler.pageController.resizeOnPageChange){this.removeAllChildren();this.image.rootElement.src="";this.resizePage()}this.tilingEnabled=CoreHeckler.pageController.tiled();this.pageNumber=a;this.tileName=CoreHeckler.pageController.pageBitmapFilename(a,true);this.rows=CoreHeckler.pageController.currentPageNativeRows();this.columns=CoreHeckler.pageController.currentPageNativeColumns();this.set("value",CoreHeckler.pageController.rootURI(a));CoreDocs.Marketeer.reportPageViewed()},pageChangedObserver:function(){CoreHeckler.documentController.pollIfStale();var a=CoreHeckler.pageController.get("currentPageNumber");if(a>0){this.changeToPage(a)}}.observes("CoreHeckler.pageController.currentPageNumber"),readOnlyObserver:function(){$view("#add_comment_to_page_button").updateEnabled();if(CoreHeckler.pageController.get("readOnlyFlag")){$("sidebar").addClassName("commentsDisabled");var a=$$(".add_nested_button",".delete_button");for(i=0;i<a.length;i++){a[i].hide()}}else{$("sidebar").removeClassName("commentsDisabled");var a=$$(".add_nested_button",".delete_button");for(i=0;i<a.length;i++){a[i].show()}}}.observes("CoreHeckler.pageController.readOnlyFlag"),resizeToFitWidth:function(){var b=CoreHeckler.pageController.currentPageNativeWidth();var a=this.rootElement.parentNode.clientWidth/b;this.zoomToPageScale(a)},resizeToMaxPreservingAspectRatio:function(){var e=CoreHeckler.pageController.currentPageNativeWidth();var c=CoreHeckler.pageController.currentPageNativeHeight();var a=e/c;var b=this.rootElement.parentNode.getWidth()/this.rootElement.parentNode.getHeight();var d=1;if(a>b){d=this.rootElement.parentNode.getWidth()/e}else{d=this.rootElement.parentNode.getHeight()/c}this.zoomToPageScale(d)},resizePage:function(){var d=Date.now();var b=CoreHeckler.pageController.currentPageScaledWidth()*CoreHeckler.pageController.currentPageScaledHeight();if(CoreHeckler.pageController.get("currentPageNumber")>0){if(CoreHeckler.pageController.fitToWidthOrHeight){this.resizeToMaxPreservingAspectRatio()}else{if(CoreHeckler.pageController.fitToWidth){this.resizeToFitWidth()}}if(CoreHeckler.pageController.fitToWidthOrHeight||CoreHeckler.pageController.fitToWidth){CoreHeckler.pageController.setPageScale(this.pageScale())}else{this.zoomToPageScale(CoreHeckler.pageController.get("pageScale"))}}var a=CoreHeckler.pageController.currentPageScaledWidth()*CoreHeckler.pageController.currentPageScaledHeight();this.lastRenderingTime=Date.now()-d;if(this.lastRenderingTime>this.slowRenderingCutoff){var c=Math.max(b,a);if((this.slowRenderingArea==0)||(c<this.slowRenderingArea)){this.slowRenderingArea=c}}},pageScale:function(){var c=CoreHeckler.pageController.currentPageNativeWidth();var a=CoreHeckler.pageController.currentPageNativeHeight();var b=this.get("frame");scale=b.width/c;return scale},setOverflow:function(){if(CoreHeckler.pageController.fitToWidthOrHeight){$("canvas").style.overflowX="hidden";$("canvas").style.overflowY="hidden"}else{if(CoreHeckler.pageController.fitToWidth){$("canvas").style.overflowX="hidden";$("canvas").style.overflowY="scroll"}else{$("canvas").style.overflowX="auto";$("canvas").style.overflowY="auto"}}},zoomToPageScale:function(d){this.setOverflow();var a=CoreHeckler.pageController.currentPageNativeWidth()*d;var b=CoreHeckler.pageController.currentPageNativeHeight()*d;var c=this.get("frame");c.width=a;c.height=b;this.set("frame",c);if(!CoreHeckler.pageController.get("loadingInProgress")&&CoreHeckler.pageController.get("loadingPageImageRendered")==CoreHeckler.pageController.get("loadingPageNumber")){CoreHeckler.pageController.setPageScale(this.pageScale())}else{CoreHeckler.pageController.setPageScale(d);this.pageScaleRequired=true}},renderedPageObserver:function(){if(this.pageScaleRequired&&CoreHeckler.pageController.get("loadingPageImageRendered")==CoreHeckler.pageController.get("loadingPageNumber")){this.pageScaleRequired=false;CoreHeckler.pageController.setPageScale(this.pageScale())}}.observes("CoreHeckler.pageController.loadingPageImageRendered","CoreHeckler.pageController.loadingPageNumber"),toggleNavigatorButtons:function(){var a=CoreHeckler.pageController.get("currentPageNumber");var c=CoreHeckler.pageController.get("arrangedObjects").length;var d=$view("#prev_nav_button");var b=$view("#next_nav_button");if(a<=1){d.set("isEnabled",false)}else{d.set("isEnabled",true)}if(a==c){b.set("isEnabled",false)}else{b.set("isEnabled",true)}}.observes("CoreHeckler.pageController.currentPageNumber"),detectFullscreen:function(){if(isFullScreen()){$view("body").addClassName("fullscreen")}else{$view("body").removeClassName("fullscreen")}}});require("core");require("views/page");Heckler.ToggleNavigatorButtonView=SC.ButtonView.extend({properties:["navigatorVisible"],init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Hide document thumbnails.","Tooltip"))},showThumbnailView:function(){this.set("navigatorVisible",true);this.set("title",CoreDocs.loc("Hide Navigator","Button to hide thumbnails sidebar"));$("thumbnail_sidebar").style.left="0px";$("canvas").style.left=$("thumbnail_sidebar").getWidth()+"px";this.set("toolTip",CoreDocs.loc("Hide document thumbnails.","Tooltip"))},hideThumbnailView:function(){this.set("navigatorVisible",false);this.set("title",CoreDocs.loc("Show Navigator","Button to show thumbnails sidebar"));$("thumbnail_sidebar").style.left="-"+$("thumbnail_sidebar").getWidth()+"px";$("canvas").style.left="0px";this.set("toolTip",CoreDocs.loc("Show document thumbnails to navigate through the document.","Tooltip"))},action:function(){if(this.get("navigatorVisible")){this.hideThumbnailView()}else{this.showThumbnailView()}$view("#preview_image").resizePage()}});require("core");require("main");Heckler.UserMenuView=SC.PopupMenuView.extend({visibilityObserver:function(b){var a=this.get("isVisible");var c=CoreHeckler.User.find({guid:Heckler.collaboratorsController.menuUser});var d=$view("#collaborators").itemViewForContent(c);if(d){if(a){d.addClassName("fakehover")}else{d.removeClassName("fakehover")}}}.observes("isVisible")});require("core");Heckler.publicSharingController=SC.Object.create({dataLoadedObserver:function(){if(CoreHeckler.get("isDocumentReady")){this.set("isChangeEnabled",CoreHeckler.commentator.guid==CoreHeckler.author.guid);$view(".set_share_level").set("toolTip",CoreDocs.loc("Select to enable public access to this @@.","").fmt(CoreHeckler.documentInfo.get("formattedDocumentInstanceName")));$view("#show_public_url").set("toolTip",CoreDocs.loc("Display the public link to this @@.","").fmt(CoreHeckler.documentInfo.get("formattedDocumentInstanceName")));$view("#show_embed_code").set("toolTip",CoreDocs.loc("Display the embed code for this @@.","").fmt(CoreHeckler.documentInfo.get("formattedDocumentInstanceName")));if(CoreHeckler.commentator.guid==CoreHeckler.author.guid&&CoreHeckler.documentInfo.get("hasKPF")){new Ajax.Request("/st/embed/template.html",{method:"get",onSuccess:function(c){var j=CoreHeckler.documentInfo,g=CoreHeckler.pages.records()[0],l={},m=c.responseText.split("\n"),k=[];for(var d=0;d<m.length;d++){var e=m[d].match(/<!--# ([^=]*)=(.*) -->/);if(e){l[e[1]]=e[2]}else{k.push(m[d])}}var b=parseInt(l.SLIDE_WIDTH,10),f=Math.round(b*g.get("h")/g.get("w"));var h={width:b+parseInt(l.UI_WIDTH,10),height:f+parseInt(l.UI_HEIGHT,10),slide_width:b,original_height:g.get("h"),original_width:g.get("w"),author:CoreHeckler.adaptor.iDiskOwner,doc:CoreHeckler.adaptor.documentName};var a=k.join("\n").replace(/{{{([^}]*)}}}/g,function(o,n){return h[n]});CoreHeckler.documentInfo.set("embedCode",a)}})}}}.observes("CoreHeckler.isDocumentReady"),isEnabled:function(){if(!this.get("isChangeEnabled")){return false}else{return true}}.property("content","isChangeEnabled"),isChangeEnabled:false,addPermissionsChangedComment:function(){var b=this.getPath("content.shareLevel"),a=null;switch(b){case CoreDocs.ShareLevel.PRIVATE:a=CoreDocs.SystemCommentType.PERMISSIONS_PRIVATE;break;case CoreDocs.ShareLevel.SHARED:a=CoreDocs.SystemCommentType.PERMISSIONS_SHARED;break;case CoreDocs.ShareLevel.PUBLIC:a=CoreDocs.SystemCommentType.PERMISSIONS_PUBLIC;break}if(a!==null){CoreHeckler.documentCommentController.addComment("",a,true);CoreHeckler.documentInfo.set("lastModifiedDate",Math.floor(new Date().getTime()/1000));CoreHeckler.documentInfo.set("lastModifiedComment",a)}},save:function(){this.addPermissionsChangedComment();CoreHeckler.adaptor.saveDocumentPrivacy(this.get("content"),CoreHeckler.Documentcomment.findAll({author:1}))},promptPublicUrl:function(){var a=this.getPath("content.formattedDocumentInstanceName");CoreDocs.dialogController.showDialog(CoreDocs.loc("This is the public link to your @@.","Dialog box title").fmt(a),'<input id="public_sharing_textbox" type="text" value="'+this.get("publicSharingUrl")+'" />'+CoreDocs.loc("Copy and paste this link into a message or post it online.","Dialog describing how to share the link"))},promptEmbedCode:function(){var a=this.getPath("content.formattedDocumentInstanceName");CoreDocs.dialogController.showDialog(CoreDocs.loc("This is the embed code for your @@.","Dialog box title").fmt(a),'<input id="public_sharing_textbox" type="text" value="'+this.get("embedCode").replace(/"/g,'\\"').replace(/\s+/g," ")+'" />'+CoreDocs.loc("Use this code to embed your @@ in a website, blog, or social networking site.","Dialog describing how to share the code").fmt(a))},setPublic:function(b){var a=this.getPath("content.formattedDocumentInstanceName");if(b==true){this.setPath("content.isPublic",b);this.save()}else{CoreDocs.dialogController.showDialog(CoreDocs.loc("Are you sure you want to disable public access to this @@?","Dialog box title").fmt(a),CoreDocs.loc("Any existing links to this @@ will no longer work.","Dialog describing consequences of making a document private").fmt(a),CoreDocs.loc("Disable","Disable"),CoreDocs.loc("Cancel","Cancel"),this.setPublicCallback.bind(this))}CoreDocs.Marketeer.reportURLMadePublic(b)},setPublicCallback:function(a){if(a){this.setPath("content.isPublic",NO);this.save()}},publicSharingUrl:function(){if(this.get("content")){return this.getPath("content.publicSharingUrl")}else{return null}}.property("content","*content.publicSharingUrl"),embedCode:function(){if(this.get("content")){return this.getPath("content.embedCode")}else{return null}}.property("content","*content.embedCode"),isEmbeddable:function(){if(this.get("content")){return this.getPath("content.hasKPF")}return true}.property("content","*content.embedCode")});require("core");require("controllers/error");Heckler.DocumentPasswordButtonView=SC.ButtonView.extend({keyEquivalent:"return",action:function(){if($("document_password_field").value&&$("document_password_field").value!=""){CoreDocs.errorController.setDocumentPasswordProcessing(true);CoreDocs.errorController.setInvalidPasswordWarningVisible(false);var a=$("document_password_field").value;CoreHeckler.adaptor.checkDocumentPassword(a)}else{CoreDocs.errorController.setInvalidPasswordWarningVisible(true)}}});require("core");Heckler.PlaySlideshowButtonView=SC.ButtonView.extend({firstDisplayObserver:function(){this.set("isVisible",CoreHeckler.documentInfo.get("hasKPF"));Event.observe(this.rootElement,"click",this.go.bind(this));this.set("toolTip",CoreDocs.loc("Play this presentation.","Tooltip."))}.observes("CoreHeckler.pageController.firstDisplay"),go:function(a){a.stopPropagation();CoreHeckler.playbackController.startSlideshow()},slideshowToggled:function(){var a=CoreHeckler.playbackController.getPath("slideshow.isOpen");this.setToolTipVisible(!a)}.observes("CoreHeckler.playbackController*slideshow.isOpen"),setToolTipVisible:function(a){if(a){this.rootElement.title=this.get("toolTip")}else{this.rootElement.title=""}}});require("core");require("utility");require("lib/scriptaculous/scriptaculous");Heckler.DocumentCommentItemView=SC.View.extend({isVisibleBinding:SC.Binding.Not(".content.deleted"),emptyElement:['<div class="document_comment">','  <div class="header">','    <div class="delete_button"><img class="button" src="/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/comment_delete.png"/></div>','    <span class="name"></span><span class="time"></span>',"  </div>",'  <div class="body"></div>',"</div>"].join(""),outlets:["body","author","time","deleted"],init:function(){arguments.callee.base.apply(this,arguments)},body:SC.LabelView.extend({valueBinding:"*owner.content.safeBody",escapeHTML:false}).outletFor(".body?"),contentObserver:function(){if(this.get("content").get("system")){this.addClassName("system_message")}}.observes("*content.system_message"),author:SC.LabelView.extend({valueBinding:"*owner.content",escapeHTML:false,authorTemplate:'<span class="%@"/>%@</span>',formatter:function(e,a){var d;var c;if((e.get("system")==null||e.get("system")==CoreDocs.SystemCommentType.USER)&&(e.get("author")>=0)){var b=CoreHeckler.User.find({guid:e.get("author")});d=b.get("displayName");c=b.get("colorClass")}else{if(e.get("system")==CoreDocs.SystemCommentType.UPDATED){d=CoreDocs.loc("Document updated.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.CLEARED){d=CoreDocs.loc("Notes have been cleared.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.PERMISSIONS_PRIVATE){d=CoreDocs.loc("Document made private.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.PERMISSIONS_SHARED){d=CoreDocs.loc("Document shared.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.PERMISSIONS_PUBLIC){d=CoreDocs.loc("Document made public.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.FIRST_PUBLIC){d=CoreDocs.loc("Document first published.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.FIRST_SHARED){d=CoreDocs.loc("Document first shared.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.FIRST_PRIVATE){d=CoreDocs.loc("Document first uploaded.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.UPDATED_PUBLIC){d=CoreDocs.loc("Document updated and made public.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.UPDATED_SHARED){d=CoreDocs.loc("Document updated and shared.","")+"<br/>";c=""}else{if(e.get("system")==CoreDocs.SystemCommentType.UPDATED_PRIVATE){d=CoreDocs.loc("Document updated and made private.","")+"<br/>";c=""}}}}}}}}}}}}return a.authorTemplate.fmt(c,d)}}).outletFor(".name?"),time:SC.LabelView.extend({valueBinding:"*owner.content",formatter:function(c,a){var b=timeStamp(c.get("time"));b="("+b+")";return b}}).outletFor(".time?"),deleted:SC.ButtonView.extend({contentBinding:"*owner.content.deleted",init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Delete this note.","Tooltip"))},action:function(){var a=new Effect.BlindUp(this.owner.rootElement,{duration:0.2,transition:Effect.Transitions.linear,from:0,to:0.7,afterFinish:function(){if(CoreHeckler.isOwner&&(this.owner.get("content").get("author")!=CoreHeckler.commentator.get("guid"))){CoreHeckler.documentController.poll()}this.owner.content.set("body"," ");var b=new Date();var c=Math.round(b.getTime()/1000);this.owner.content.set("time",c);this.set("content",true);CoreHeckler.documentCommentController.save(this.owner.get("content").get("author"));CoreDocs.Marketeer.reportNoteDeleted()}.bind(this)})}}).outletFor(".delete_button?"),authorObserver:function(c,b,a){if(!this.get("content").get("system")&&(CoreHeckler.commentator.guid==CoreHeckler.author.guid||CoreHeckler.commentator.guid==this.get("content").get("author"))){this.addClassName("deletable")}}.observes("author","CoreHeckler.commentator")});require("core");require("lib/utility");require("lib/WidgetCommon");require("views/document_comment_item");require("controllers/sidebar");Heckler.DocumentCommentView=CoreDocs.SortedCollectionView.extend(SC.Scrollable,{exampleView:Heckler.DocumentCommentItemView,contentBinding:"CoreHeckler.documentCommentController.arrangedObjects",orderBy:"time",scrollArea:null,scrollbar:null,distanceToBottomOfPage:function(){var a=40;if(CoreDocs.serverStatusController.warningHTML){a=$("server_warning").getHeight()+83}else{if(Heckler.sidebarController.upsellAdVisible()){a=$("upsell_ad").getHeight()+83}}return a},init:function(){arguments.callee.base.apply(this,arguments);Event.observe(window,"resize",this.resizeSidebar.bind(this));setInterval(this.updateCommentTimes.bind(this),60000)},initScrollbar:function(){if(!Prototype.Browser.IE){if(!this.scrollArea){this.scrollArea=new IWScrollArea(this.rootElement);var a=$("document_comment_scrollbar");this.scrollbar=new IWVerticalScrollbar(a);this.scrollArea.addScrollbar(this.scrollbar);this.scrollbar.setSize(8);this.scrollbar.setTrackStart("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bg-top.png",3);this.scrollbar.setTrackMiddle("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bg-fill.png");this.scrollbar.setTrackEnd("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bg-bottom.png",3);this.scrollbar.setThumbStart("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-top.png",6);this.scrollbar.setThumbMiddle("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-fill.png");this.scrollbar.setThumbEnd("/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thin-scroll-bottom.png",4)}}else{$("document_comment_container").style.overflow="auto"}},resizeSidebar:function(){var a=$("sidebar");var e=$("document_comment_container");var k=$("sidebar_post_comment_button");var d=$("document_comment_scrollbar");if(a&&e&&k){var b=a.getHeight()+a.viewportOffset().top;var c=k.getHeight()+k.viewportOffset().top;var g=e.getHeight();if((c)!=(b-this.distanceToBottomOfPage())){var h=c-(b-this.distanceToBottomOfPage());g=[g-h,58].max();g=Math.max(0,g);e.style.height=g+"px"}var f=parseInt(Element.getStyle(d,"margin-top"),10)+parseInt(Element.getStyle(d,"margin-bottom"),10);var j=Math.max(0,(g-f));d.style.height=j+"px";if(this.scrollArea){this.scrollArea.refresh()}}},contentObserver:function(){this.initScrollbar();this.resizeSidebar()}.observes("content"),updateCommentTimes:function(){var a=$A(this.get("content"));a.each(function(c){var b=this.itemViewForContent(c).time;b.rootElement.innerHTML=b.displayValue()}.bind(this))}});require("core");require("views/page");Heckler.ToggleDocumentInfoButtonView=SC.ButtonView.extend({documentInfoVisible:YES,init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Hide document information.","Tooltip"))},showDocumentInfo:function(){this.set("documentInfoVisible",true);this.set("title",CoreDocs.loc("Hide Document Info","Button to hide document info sidebar"));$("sidebar").style.right="";$("canvas").style.right="";this.set("toolTip",CoreDocs.loc("Hide document information.","Tooltip"))},hideDocumentInfo:function(){this.set("documentInfoVisible",false);this.set("title",CoreDocs.loc("Show Document Info","Button to document info sidebar"));$("sidebar").style.right="100%";$("canvas").style.right="0px";this.set("toolTip",CoreDocs.loc("Show document information.","Tooltip"))},action:function(){if(this.get("documentInfoVisible")){this.hideDocumentInfo()}else{this.showDocumentInfo()}$view("#preview_image").resizePage()}});var windowsInternetExplorer=Prototype.Browser.IE;function transparentGifURL(){return"/sw/core_docs/de/aa607ecdaeb59b4f021dc5a234ec751fdbc0fcf3/images/blank.gif"}require("core");Heckler.AddViewerPane=SC.View.extend({startAddViewerMode:function(){Heckler.sidebarController.set("addingViewer",YES);Heckler.sidebarController.nameField.defaultValue=CoreDocs.loc("Name","A reviewer's given name");Heckler.sidebarController.emailField.defaultValue=CoreDocs.loc("Email","A reviewer's email address");$view("#edit_viewers_button").set("isEnabled",false);$("collaborators_wrapper").addClassName("special_hide");$("adding_message").hide();if(!Heckler.collaboratorsController.userCount()){$("adding_form").hide();$("viewer_permissions_form").show()}else{this.showAddViewerEmail()}$("email_error").hide();$("email_prompt").show();var b=$A([Heckler.sidebarController.nameField,Heckler.sidebarController.emailField]);b.each(function(c){c.value="";c.blur();setToDefaultValueIfEmpty(c)});Heckler.sidebarController.set("allowViewerComments",YES);Heckler.sidebarController.set("allowViewerDownloads",!!this.downloadView.get("isEnabled"));this.updatePostButton();this.rootElement.show();var a=$view("#document_comment_container");if(a){a.resizeSidebar()}},showAddViewerEmail:function(){$("adding_form").show();$("viewer_permissions_form").hide()},showAddingMessage:function(){$("adding_form").hide();$("adding_message").show()},endAddViewerMode:function(){Heckler.sidebarController.set("addingViewer",NO);$("add_collaborator").hide();$("collaborators_wrapper").removeClassName("special_hide");if(Heckler.collaboratorsController.userCount()){$("collaborators_wrapper").show()}if($view("#collaborators").scrollArea){$view("#collaborators").scrollArea.refresh()}$view("#edit_viewers_button").set("isEnabled",true);var a=$view("#document_comment_container");if(a){a.resizeSidebar()}},updatePostButton:function(a){var b=$view("#add_viewer");if(Heckler.sidebarController.canAddViewer()){b.addClassName("blue");b.removeClassName("disabled")}else{b.addClassName("disabled");b.removeClassName("blue")}}});require("core");Heckler.LogoutButtonView=SC.ButtonView.extend({init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Sign out.","Tooltip"))},action:function(){CoreHeckler.documentController.unloadDocument();CoreHeckler.adaptor.logout();CoreHeckler.documentController.hasSignedOut=true;window.location=CoreDocs.getSigninURL()}});require("core");Heckler.PrintButtonView=SC.ButtonView.extend({init:function(){arguments.callee.base.apply(this,arguments);this.set("toolTip",CoreDocs.loc("Download PDF to print.","Tooltip."))},action:function(){url=CoreDocs.downloadsController.pdfUrl(true);CoreDocs.downloadsController.download("pdf",url)}});require("core");Heckler.SlideshowView=SC.View.extend({playerWidth:"100%",playerHeight:"100%",delegate:null,slideshowStartTime:null,navigatorToggleDuration:0.5,navigatorFadeDelay:1,navigatorFlipDelay:0.3,openDelay:0,isOpen:NO,isFullscreen:NO,isNavigatorBarVisible:YES,volume:3,delegateName:"CoreHeckler.playbackController",mode:function(){return CoreHeckler.get("isPublicViewer")?"PUBLIC":"NON-EMBED"}.property("CoreHeckler.isPublicViewer"),isFirstSlideReady:NO,isSlideAnimating:NO,init:function(){arguments.callee.base.apply(this,arguments);this.boundClose=this.close.bind(this);this.boundKeyPress=this.onKeyPress.bind(this);this.boundToggle=this.toggleNavigator.bind(this);this.setDelegate(SC.Object.objectForPropertyPath(this.delegateName));Event.observe($("slideshow_container"),"mousedown",this.onMouseDown.bind(this));Event.observe($("slideshow_container"),"contextmenu",function(a){a.stop();return false});Event.observe(window,"resize",this.boundResize=this.slideshowResize.bind(this));Event.observe($("slideshow_wrapper"),"scroll",this.boundScroll=this.slideshowScroll.bind(this));this.slideshowResize();["isNavigatorBarVisible","volume"].each(function(a){var b=readCookie(a);if(b){this[b]=b}}.bind(this))},open:function(){if(this.get("isOpen")){return}this.set("isOpen",YES);this.rootElement.setStyle({maxWidth:CoreHeckler.pageController.currentPageNativeWidth()+"px",minHeight:CoreHeckler.pageController.documentRatio()*420+84+"px"});Event.observe(document,"keydown",this.boundKeyPress);$view("#thumbnail_container").set("keyboardEnabled",NO);this.delegate.showWillOpen();this.slideshowStartTime=new Date();$view("body").addClassName("slideshow_visible");if(isFullScreen()){$("slideshow_container").setStyle({zIndex:9999})}if(!this.thumbBackgroundPreloaded){(this.thumbBackgroundPreloaded=new Image()).src="/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thumbnail-selected-background-alt.png"}this.openTransitionFinished()},openDHTML:function(){var a=true;if(SC.Platform.Safari&&parseInt(SC.browser.webkit,10)>=532){a=false}if(SC.Platform.isChrome||(SC.Platform.MacOS.major==10&&SC.Platform.MacOS.minor<5)){a=true}var b=new Element("iframe",{id:"slideshowEmbed",src:(a?"/keynote-fallback-player/":"/keynote-dhtml-player/")+String.currentLanguage()+"/?"+["showUrl="+CoreHeckler.adaptor.getiDiskResourcesPath()+"kpf/","currentSlide="+(this.delegate?this.delegate.get("currentSlideNumber"):1),"delegate="+encodeURIComponent("parent."+this.get("delegateName")),"volume="+this.get("volume"),"isNavigationBarVisible="+this.get("isNavigatorBarVisible")].join("&")}).setStyle({visibility:"hidden"});b.frameBorder="0";b.allowTransparency="true";Event.observe(b,"load",function(){this.setStyle({visibility:""})});this.rootElement.insert(b);CoreDocs.Marketeer.reportKeynotePlayed()},openTransitionFinished:function(){this.openDHTML();this.hideSlideshow();window.focus();$("slideshow_container").setStyle({zIndex:""});var b=$view("#thumbnail_sidebar");b.rootElement.setStyle({opacity:0,left:0});$("slideshow_navigator").insert({top:b.rootElement});b.viewFrameDidChange();var a=CoreHeckler.pageController.get("currentPageNumber");$view("#thumbnail_container").scrollToPage(a);this.slideshowScroll();Event.observe(document,"mousemove",this.boundToggle);Event.observe($("slideshowEmbed"),"mouseover",this.boundToggle);var c=$("thumb_selection");this.oldThumbSrc=c.src;c.src="/sw/document/de/d3cd22a320b7f02c06f422aa32f66f745adbe4cd/images/thumbnail-selected-background-alt.png";this.showSlideshow()},toggleNavigator:function(b){var a=true;if(!b.findElement("#slideshow_navigator")){a=false}if(this.navigatingVisible==a){return}this.navigatingVisible=a;var c=$view("#thumbnail_sidebar").rootElement;if(!SC.Platform.IE){var d=this.get("navigatorToggleDuration");if(this.navigatorAnimation){this.navigatorAnimation.cancel();d=d*(a?1-parseFloat(c.getStyle("opacity")):parseFloat(c.getStyle("opacity")))}this.navigatorAnimation=CoreDocs.animateElement(c,a?"opacity:1.0":"opacity:0.0",{duration:d*1000,onComplete:function(){this.navigatorAnimation=null}.bind(this)})}else{c.setStyle({opacity:(a?1:0)})}},close:function(){this.hideSlideshow();$("slideshowEmbed").stopObserving("mouseover",this.boundToggle).remove();CoreDocs.Marketeer.reportKeynotePlayTime(new Date()-this.slideshowStartTime);Event.stopObserving(document,"keydown",this.boundKeyPress);$view("#thumbnail_container").set("keyboardEnabled",YES);if(this.navigatorAnimation){this.navigatorAnimation.cancel()}var b=$view("#show_navigator_button");if(b.get("navigatorVisible")){b.showThumbnailView()}else{b.hideThumbnailView()}Event.stopObserving(document,"mousemove",this.boundToggle);var a=$view("#thumbnail_sidebar");$("thumbnail_sidebar_container").insert({top:a.rootElement.setStyle({opacity:"",bottom:"",top:""})});$("thumb_selection").src=this.oldThumbSrc;a.viewFrameDidChange();$view("#thumbnail_container").scrollToCurrentPage();$view("body").removeClassName("slideshow_visible");this.set("isOpen",NO);window.focus();writeCookie("isNavigatorBarVisible",this.isNavigatorBarVisible);writeCookie("volume",this.volume)},getEmbed:function(){var a=$("slideshowEmbed");if(!a){return a}if(a.tagName=="IFRAME"){return a.contentWindow.gShowController}else{return null}},getPreviewImage:function(){return $$("#preview_image .image")[0]},setDelegate:function(a){this.delegate=a;this.delegate.setDelegate(this)},onKeyPress:function(a){a.stopPropagation();this.delegate.onKeyPress(a)},hideSlideshow:function(){$("slideshowEmbed").setStyle({left:"-10000px"})},showSlideshow:function(){$("slideshowEmbed").setStyle({left:""})},onFirstSlideReady:function(){},slideshowResize:function(){this.resizeBounds(document.body.offsetWidth,document.body.offsetHeight);this.slideshowScroll()},resizeBounds:function(a,b){var c=$("slideshow_wrapper");c.setStyle({width:Math.max(1,a-140*2)+"px",height:Math.max(1,b-37-10*2)+"px"})},slideshowScroll:function(){var b=$("slideshow_wrapper");if(this.get("isOpen")){var a=b.offsetHeight-b.clientHeight;$("slideshow_navigator").setStyle({bottom:a>5?a+"px":""})}},onMouseDown:function(a){if(!a.findElement("#thumbnail_sidebar")&&!a.findElement("#slideshowEmbed")){this.delegate.onMouseDown(a)}},triggerReflow:function(){this.resizeBounds(document.body.offsetWidth-1,document.body.offsetHeight-1)}});require("core");Heckler.PublicSharingCheckboxView=SC.CheckboxView.extend({init:function(){arguments.callee.base.apply(this,arguments)},_action:function(a){var b=this.get("value");Heckler.publicSharingController.setPublic(!b)},checkboxObserver:function(b,c,d){if(d){$("public_url_panel").show();$("sharing_status").removeClassName("disabled").select("span")[0].innerHTML=CoreDocs.loc("Enabled","Describing enabled state")}else{$("sharing_status").addClassName("disabled").select("span")[0].innerHTML=CoreDocs.loc("Disabled","Describing disabled state");$("public_url_panel").hide()}var a=$view("#document_comment_container");if(a){a.resizeSidebar()}}.observes("value")});require("core");Heckler.NextNavButtonView=SC.ButtonView.extend({documentReadyObserver:function(){if(CoreHeckler.documentInfo){var a=CoreDocs.loc("Show the next @@.","Page navigation.").fmt(CoreHeckler.documentInfo.get("pageType").toLowerCase());this.set("toolTip",a)}}.observes("CoreHeckler.isDocumentReady")});require("core");Heckler.PrevNavButtonView=SC.ButtonView.extend({documentReadyObserver:function(){if(CoreHeckler.get("isDocumentReady")){var a=CoreDocs.loc("Show the previous @@.","Page navigation").fmt(CoreHeckler.documentInfo.get("pageType").toLowerCase());this.set("toolTip",a)}}.observes("CoreHeckler.isDocumentReady")});
