/* Copyright (C) 2008 Microsoft Corporation */Microsoft.Live.Folders.Web.Scripts.InlineEdit=function(){this.requestTimeout=20000};var __ie=Microsoft.Live.Folders.Web.Scripts.InlineEdit,__ie_proto=__ie.prototype;__ie_proto.enqueue=function(b,d,c,f,g,e,h){var a={isComplete:false,element:b,verb:d,value:c,cb:h,expireTime:getTickCount()+this.requestTimeout};if(!document.requests)document.requests=[];a.name=document.requests.push(a)-1;a.frame=this.createFrame(b,a.name,f);a.timerId=setTimeout(this.cleanupRequests,this.requestTimeout);this.renderPost(a.frame,d,c,g,e)};__ie_proto.createFrame=function(c,d,b){var a=document.createElement("iframe");a.style.visibility="hidden";a.style.position="absolute";a.src=b;a.name=d;c.appendChild(a);return a};__ie_proto.renderPost=function(c,g,f,e,d){var a=c.contentDocument;if(a==undefined||a==null)a=c.contentWindow.document;a.open();a.write("<html><body><form id='actionForm' accept-charset='UTF-8' method='POST'><input name='actionVerb'/><textarea name='actionValue'></textarea><input name='canary'/></form></body></html>");a.close();var b=a.getElementById("actionForm");b.action=e;b.actionVerb.value=g;b.actionValue.value=f;b.canary.value=d;setTimeout(function(){b.submit()},0)};__ie_proto.cleanupRequests=function(){for(var b=0;b<document.requests.length;b++){var a=document.requests[b];if(a!=null){if(a.isComplete==false&&getTickCount()>a.expireTime)document.completeInlineEdit(b,false,null);if(a.isComplete==true){a.element.removeChild(a.frame);a.frame=null;document.requests[b]=null}}}};document.completeInlineEdit=function(d,b,c){var a=document.requests[d];if(a){a.isComplete=true;a.cb(a.element,b,c)}};var InlineEdit=new __ie;Microsoft.Live.Folders.Web.Scripts.EditableCaption=function(b,e,c,f,g,h,d){var a=this;a.captionElement=b;a.originalValue=e;a.emptyText=c;a.timeoutText=f;a.defaultUrl=g;a.postUrl=h;a.canaryValue=d;a.errorMessage=null;a.link=getChildByClassName(b,"captionLink");a.savingDiv=getChildByClassName(b,"captionSaving");a.editorDiv=getChildByClassName(b,"captionEditor");a.textArea=getChildByClassName(b,"captionTextArea");a.errorDiv=getChildByClassName(b,"captionError");a.errorText=getChildByClassName(b,"captionErrorText");setText(a.link,isNullOrEmpty(a.originalValue)?a.emptyText:a.originalValue);a.submitButton=$("captionSubmit");a.cancelButton=$("captionCancel");b.editableCaption=a.link.editableCaption=a.submitButton.editableCaption=a.cancelButton.editableCaption=a.textArea.editableCaption=a;a.link.onmouseover=function(){window.status=c;return true};a.link.onmouseout=function(){window.status="";return true};a.textArea.onkeypress=function(a){callHandlerOnEnterKey(a,function(a){a.editableCaption.submitButton.onclick()});callHandlerOnEscKey(a,function(a){a.editableCaption.cancelButton.onclick()})};a.link.onclick=function(){this.editableCaption.startEdit()};a.submitButton.onclick=function(){this.editableCaption.saveEdit()};a.cancelButton.onclick=function(){this.editableCaption.cancelEdit()};this.reset()};var __ec=Microsoft.Live.Folders.Web.Scripts.EditableCaption,__ec_proto=__ec.prototype;__ec_proto.reset=function(){var b=this,a=b.link;if(isNullOrEmpty(this.originalValue)){setText(a,b.emptyText);a.className="captionLink captionEmpty"}else{setText(a,b.originalValue);a.className="captionLink captionNotEmpty"}setVisible(a,true);setVisible(b.editorDiv,false);setVisible(b.savingDiv,false)};__ec_proto.startEdit=function(){var a=this;if(isNullOrEmpty(a.errorMessage)){a.textArea.value=a.originalValue;setVisible(a.errorDiv,false)}else{setText(a.errorText,a.errorMessage);setVisible(a.errorDiv,true)}setVisible(a.link,false);setVisible(a.editorDiv,true);a.textArea.focus();a.textArea.select()};__ec_proto.cancelEdit=function(){this.errorMessage=null;this.reset()};__ec_proto.saveEdit=function(){var a=this;a.errorMessage=null;setVisible(a.editorDiv,false);setVisible(a.savingDiv,true);InlineEdit.enqueue(a.captionElement,"updateCaption",a.textArea.value,a.defaultUrl,a.postUrl,a.canaryValue,a.completeEdit)};__ec_proto.completeEdit=function(d,c,b){var a=d.editableCaption;setVisible(a.savingDiv,false);if(c==true){a.originalValue=b;a.reset()}else{a.errorMessage=isNullOrEmpty(b)?a.timeoutText:b;a.startEdit()}};Microsoft.Live.Folders.Web.Scripts.VirtualizedPanel=function(d,e,c,b){var a=this;a._panelDiv=d;a._panelDiv.panel=a;a._view=e;a._dataModels=c;a._viewableRange=new Range(-1,-1);a._itemsOnScreen=[];a._recycled=[];a._view.initialize(a._panelDiv,a._dataModels.length,b)};var __vp_proto=Microsoft.Live.Folders.Web.Scripts.VirtualizedPanel.prototype;__vp_proto.refreshViewableWindow=function(){var a=this;a._viewableRange=a._view.getViewableRange();a.removeHiddenItems();a.addVisibleItems()};__vp_proto.removeHiddenItems=function(){var a=this,c=a._itemsOnScreen;for(var b=0;b<c.length;b++)if(!a._viewableRange.contains(c[b].index)){var d=c.splice(b--,1)[0];a._view.removeItem(d);a._recycled.push(d)}};__vp_proto.addVisibleItems=function(){var a=this;if(a._viewableRange.isValid()){var h=a._viewableRange.start,f=[],b,e=a._viewableRange,d=a._itemsOnScreen;for(var c=e.start,g=0;c<=e.end;c++,g++){if(d.length>0&&d[0].index==c)b=d.shift();else{b=a.getItem(c);a._view.addItem(b,g)}a._view.positionItem(b);f.push(b)}a._itemsOnScreen=f}};__vp_proto.getItem=function(b){var a;if(this._recycled.length>0)a=this._recycled.pop();else a=this._view.createItem();a.index=b;this._view.populateItem(a,this._dataModels[b]);return a};__vp_proto.repopulate=function(){for(var a=0;a<this._itemsOnScreen.length;a++)this._view.populateItem(this._itemsOnScreen[a],this._dataModels[this._itemsOnScreen[a].index])};Microsoft.Live.Folders.Web.Scripts.Tween=function(){var a=this;a._maxObjectsPerFrame=20;a._updatesEnqueued=false;a._tweenables=[];a._tweenableIndex=-1;a._defaultUnit="px";a._delayBetweenFrames=0};var __t=Microsoft.Live.Folders.Web.Scripts.Tween,__t_proto=__t.prototype;__t_proto.clearTweens=function(a){a.tweens=null};__t_proto.tween=function(a,d,b,c,e){b=parseInt(b);c=parseInt(c);var f={"propertyName":d,"begin":b,"end":c,"duration":e,"startTime":getTickCount()};if(!a.tweens)a.tweens=[];if(a.tweens.length==0)this._tweenables.unshift(a);a.tweens.push(f);this.enqueueUpdate()};__t_proto.enqueueUpdate=function(){var a=this;if(a._updatesEnqueued==false){this._updatesEnqueued=true;var b=a;setTimeout(function(){b.updateTweens()},a._delayBetweenFrames)}};__t_proto.updateTweens=function(){var a=this;a._updatesEnqueued=false;var g=Math.min(this._maxObjectsPerFrame,this._tweenables.length);for(var e=0;e<g;e++){this._tweenableIndex=a._tweenables.length>0?(a._tweenableIndex+1)%a._tweenables.length:-1;if(a._tweenableIndex>=0){var f=a._tweenables[a._tweenableIndex],c=f.tweens,d=true;if(c)for(var b=0;b<c.length;b++)if(!this.updateTween(f,c[b]))d=false;else c.splice(b--,1);if(d==true)a._tweenables.splice(a._tweenableIndex--,1)}else break}if(a._tweenables.length>0)a.enqueueUpdate()};__t_proto.updateTween=function(d,a){var c=this,b=a.duration>0?Math.min(1,(getTickCount()-a.startTime)/a.duration):0;d[a.propertyName]=Math.round(c.calculateNewTweenValue(a.begin,a.end-a.begin,b))+c._defaultUnit;return b==1};__t_proto.calculateNewTweenValue=function(d,b,a){var c=1.2;return d+(b+b*(1-a)/c)*a};var Animator=new __t;Microsoft.Live.Folders.Web.Scripts.IteratorView=function(b){var a=this;a._showThumbnails=b;a._panelDiv=null;a._containerDiv=null;a._itemCount=0;a._itemSize={width:96,height:88};a._normalScrollSpeed=400;a._fastScrollSpeed=200;a._minItemPadding=1;a._verticalPadding=0;a._columnCount=3;a._extendedViewingWindow=6;a._columnWidth=0;a._selectedIndex=0;a._currentIndex=0;a._isInitialized=false;a._selectedItem=null;a._focusedItem=null};var __iv_proto=Microsoft.Live.Folders.Web.Scripts.IteratorView.prototype;__iv_proto.initialize=function(b,d,c){var a=this;a._itemCount=d;a._selectedIndex=c;b.view=this;if(b!=a._panelDiv){a._panelDiv=b;a._panelDiv.style.overflow="hidden";a._panelDiv.onscroll=function(){this.scrollLeft=0};a._panelDiv.onkeydown=function(a){a=a?a:window.event?window.event:"";var e=a.target||a.srcElement,d=a.which?a.which:a.keyCode;switch(d){case 37:var b=this.view._focusedItem.getItemElement().previousSibling;if(b!=null)b.item.setFocus();break;case 39:var c=this.view._focusedItem.getItemElement().nextSibling;if(c!=null)c.item.setFocus()}};a._containerDiv=document.createElement("div");a._containerDiv.className="iteratorContentContainer";a._panelDiv.appendChild(a._containerDiv)}var e=a._itemSize.width+2*a._minItemPadding;a._columnWidth=a._panelDiv.offsetWidth/a._columnCount;a._containerDiv.style.top="0";a._containerDiv.style.width=a._columnWidth*d+"px";a._containerDiv.style.height=a._panelDiv.offsetHeight+"px";a._isInitialized=true;a.moveToIndex(c,0);if(a._selectedItem!=null)a._selectedItem.setFocus()};__iv_proto.updateScrollPosition=function(b){var a=this;if(!a._isInitialized)return;Animator.clearTweens(a._containerDiv.style);var d=a._currentIndex-Math.floor(a._columnCount/2),c=-(a._columnWidth*d)-2;if(b>0)Animator.tween(a._containerDiv.style,"left",a._containerDiv.offsetLeft,c,b);else a._containerDiv.style.left=c+"px"};__iv_proto.moveByIncrement=function(a){return this.moveToIndex(this._currentIndex+a,this._normalScrollSpeed)};__iv_proto.moveToIndex=function(b,c){var a=this;if(!a._isInitialized)return;b=Math.max(0,b);b=Math.min(a._itemCount-1,b);a._currentIndex=b;a.updateScrollPosition(c);a._panelDiv.panel.refreshViewableWindow();a.refreshIteratorButtons()};__iv_proto.getViewableRange=function(){var a=this,b;if(a._itemCount==0)b=new Range(-1,-1);else b=new Range(Math.max(0,a._currentIndex-a._extendedViewingWindow),Math.min(a._itemCount-1,a._currentIndex+a._extendedViewingWindow));return b};__iv_proto.createItem=function(){return new Microsoft.Live.Folders.Web.Scripts.IteratorItem};__iv_proto.addItem=function(c,b){var a=this;if(b<a._containerDiv.childNodes.length)a._containerDiv.insertBefore(c.getItemElement(),a._containerDiv.childNodes[b]);else a._containerDiv.appendChild(c.getItemElement())};__iv_proto.positionItem=function(c){var a=this,e=c.getItemElement(),d=(a._columnWidth-a._itemSize.width)/2,b=e.style;b.width=a._itemSize.width+"px";b.height=a._itemSize.height+"px";b.left=Math.floor(c.index*a._columnWidth+d)+"px";b.top="0"};__iv_proto.populateItem=function(a,b){var c=this,d=a.getItemElement();a.view=c;b.isSelected=a.index==c._selectedIndex;if(b.isSelected)c._selectedItem=a;b.showThumbnail=c._showThumbnails;a.populateItem(b);a.receivedFocus=function(a){a.view._focusedItem=a;if(a.view.isItemInView(a)==false)a.view.moveToIndex(a.index,a.view._fastScrollSpeed)};d.onclick=function(){this.item.view.selectItem(this.item)}};__iv_proto.selectItem=function(a){a.view._selectedIndex=a.index;a.view.moveToIndex(a.index,a.view._fastScrollSpeed);a.view._panelDiv.panel.repopulate()};__iv_proto.removeItem=function(a){this._containerDiv.removeChild(a.getItemElement())};__iv_proto.isItemInView=function(c){var a=this,b=(a._columnCount-1)/2;return c.index>=a._currentIndex-b&&c.index<=a._currentIndex+b};__iv_proto.showThumbnails=function(){var a=this;a._showThumbnails=true;if(a._panelDiv)a._panelDiv.panel.repopulate()};__iv_proto.updateIteratorButton=function(b,c){var a="iteratorButton";b.isHovered=c;if(b.isEnabled){if(c)a+=" iteratorButtonHover"}else a+=" iteratorButtonDisabled";b.className=a};__iv_proto.initIteratorButton=function(a,b){a.isEnabled=b;a.view=this;if(a.actualOnClick===undefined){a.isHovered=false;a.onmouseover=function(){this.view.updateIteratorButton(this,true)};a.onmouseout=function(){this.view.updateIteratorButton(this,false)};a.actualOnClick=a.onclick;a.onclick=function(){if(this.isEnabled)this.actualOnClick()};if(document.all)a.ondblclick=a.onclick}this.updateIteratorButton(a,a.isHovered)};__iv_proto.refreshIteratorButtons=function(){var a=this;a.initIteratorButton($("iteratorPageLeft"),a._currentIndex>0);a.initIteratorButton($("iteratorPageRight"),a._currentIndex+1<a._itemCount)};Microsoft.Live.Folders.Web.Scripts.IteratorItem=function(){this.index=-1;this._itemElement=null;this._dataModel=null};var __ii_proto=Microsoft.Live.Folders.Web.Scripts.IteratorItem.prototype;__ii_proto.getItemElement=function(){if(this._itemElement==null){this._itemElement=document.createElement("div");var a=[];a.push('<table cellpadding="0" cellspacing="0">');a.push('<tr><td class="ii_imageCell"><img class="ii_image" /></td></tr>');a.push('<tr><td class="ii_textCell"><div class="ii_text" /></td></tr>');a.push("</table>");a.push('<a class="ii_link"></a>');this._itemElement.innerHTML=a.join("");this._itemElement.item=this}return this._itemElement};__ii_proto.populateItem=function(b){var d="iteratorItem",j="ii_hover",e="ii_image",l="ii_text",k="ii_link",i="ii_selected",g=" ",m="tvItemBorderedImage",a=this.getItemElement();if(b.isSelected==true){a.className=d+g+i;a.onmouseover=null;a.onmouseout=null}else{a.className=d;a.onmouseover=function(){this.className=d+g+j};a.onmouseout=function(){this.className=d}}a.url=b.url;var c=getChildByClassName(a,e);if(c.src!=""){var f=document.createElement("img");f.className=c.className;c.parentNode.replaceChild(f,c);c=f}if(b.showThumbnail&&!isNullOrEmpty(b.thumbnailImageUrl)){c.src=b.thumbnailImageUrl;c.className=e+g+m}else{c.src=b.fileTypeImageUrl;c.className=e}var n=getChildByClassName(a,l);setText(n,b.displayName);var h=getChildByClassName(a,k);h.title=b.tooltip;h.href=b.url;h.onfocus=function(){this.parentNode.item.receivedFocus(this.parentNode.item)}};__ii_proto.setFocus=function(){var a=getChildByClassName(this.getItemElement(),"ii_link");a.focus()}