var renameFolderDialogs=[];
var _portal={};
function portalInit(C){Ext.apply(_portal,C);
if(_portal.canManage){new ug.DropZone("pageLayout-body-inner",{});
var J=Ext.get("pageLayout-body-inner");
var A=J.query(".portlet");
var D=Ext.get("pageLayout-body-inner"),E=D.dom;
var H=D.getScroll(),M=D.getXY();
var G={x:M[0]+H.left,y:M[1]+H.top,width:E.clientWidth,height:E.clientHeight};
for(var F=0;
F<A.length;
++F){var B=A[F].id;
var K=new ug.PortletDragSource(B,{});
K.setHandleElId(B+"-header")
}var L=J.query(".folderEntry");
for(var F=0;
F<L.length;
++F){var B=L[F].id;
if(B){var I=Ext.fly(B).query(".dragHandle")[0];
if(I){var K=new ug.PortletDragSource(B,{});
K.setHandleElId(I.id)
}}}}}function confirmRemoveExternalLink(A,C){var B=function(D){ug.rpc({rpc:"LinkRpc.removeLink",params:{link:C},timeout:120000,dialog:D.findParentByType(ug.Dialog),hideDialog:false,callback:ug.reload})
};
ug.confirm(A,{title:"Remove Link",message:"Click Delete to remove this link from the portlet.",okay:{text:"Delete",handler:B,autoHide:false},cancel:"Cancel"})
}function confirmDeleteSite(B,D,C){var A=function(E){ug.rpc({rpc:"PortalModuleFolderRpc.deleteItem",params:{link:D,site:C},timeout:120000,dialog:E.findParentByType(ug.Dialog),hideDialog:false,callback:ug.reload})
};
ug.doubleConfirm(B,{initial:{title:"Delete Content Item",message:"Click Delete to permanently delete this content item from the system.",okay:"Delete",cancel:"Cancel"},subsequent:{title:"Abort Delete",message:"This operation cannot be undone. Do you want to abort this operation?",okay:"Abort",cancel:{text:"Delete",handler:A,autoHide:false}}})
}function renameFolder(B,F){if(!renameFolderDialogs[F]){var C=Ext.getDom("portlet-"+F+"-title");
var E=Ext.util.Format.htmlDecode(C.innerHTML);
var D=function(){var G=A.getValue();
if(G&&(G.trim().length!=0)){renameFolderDialogs[F].hide();
ug.rpc({rpc:"PortalRpc.renameFolderModule",disable:renameFolderDialogs[F],params:{module:F,name:G},callback:function(){C.innerHTML=A.getValue()
}})
}};
var A=new Ext.form.TextField({fieldLabel:"Name",maxLength:"255",allowBlank:false,msgTarget:"under",value:E,validator:function(){if(A.getValue().trim().length==0){return false
}else{return true
}}});
renameFolderDialogs[F]=new ug.Dialog({id:"renameFolderDialog-"+F,title:"Rename Portlet",width:320,height:110,layout:"fit",defaultButton:A,items:new Ext.form.FormPanel({items:A,onSubmit:function(G){G.stopEvent();
D()
}}),okay:{text:"Rename",handler:D},cancel:{text:"Cancel",handler:function(){A.reset()
}}})
}renameFolderDialogs[F].show(B)
}function sharingFolder(A,B){ug.go(B+"!sharing")
}function confirmRemoveFolder(B,C){var A=function(D){ug.rpc({rpc:"PortalRpc.deleteFolderModule",params:{module:C},timeout:120000,dialog:D.findParentByType(ug.Dialog),hideDialog:false,callback:ug.reload})
};
ug.confirm(B,{title:"Delete Portlet",message:"Click Delete to delete this portlet.",okay:{text:"Delete",handler:A,autoHide:false},cancel:"Cancel"})
}ug.PortletProxy=function(B,A){ug.PortletProxy.superclass.constructor.call(this,Ext.apply({id:B+"-ddproxy",shadow:false},A));
this.proxy=Ext.get(B)
};
Ext.extend(ug.PortletProxy,Ext.dd.StatusProxy,{insertProxy:true,getEl:function(){return this.ghost
},getProxy:function(){return this.proxy
},update:function(A){if(typeof A=="string"){this.ghost.update(A)
}else{this.ghost.update("");
A.style.margin="0";
this.ghost.dom.appendChild(A);
Ext.DomHelper.append(this.ghost.dom,{"class":"allClear"})
}},hide:function(){this.proxy.setOpacity(1);
ug.PortletProxy.superclass.hide.apply(this,arguments)
},show:function(){ug.PortletProxy.superclass.show.apply(this,arguments);
this.proxy.setOpacity(0.5);
this.proxyParent=this.oldParent=this.proxy.dom.parentNode;
this.proxyBefore=this.oldBefore=this.proxy.dom.nextSibling
},repair:function(B,C,A){if(this.el.getX()<0){B=null
}ug.PortletProxy.superclass.repair.call(this,B,C,A)
},afterRepair:function(){this.proxyParent.insertBefore(this.proxy.dom,this.proxyBefore);
this.fixFirstLast(this.proxyParent);
if(this.proxyParent!=this.oldParent){this.fixFirstLast(this.oldParent)
}ug.PortletProxy.superclass.afterRepair.apply(this,arguments)
},moveProxy:function(A,B){if((A!==this.oldParent)||(B!==this.oldBefore)){A.insertBefore(this.proxy.dom,B);
this.fixFirstLast(this.oldParent);
if(A!=this.oldParent){this.fixFirstLast(A)
}this.oldParent=A;
this.oldBefore=B
}},fixFirstLast:function(B){if(this.proxy.id.match(/folderEntry/)){var A=Ext.fly(B).query(".folderEntry");
if(A.length>0){Ext.fly(A[0]).radioClass("first");
Ext.fly(A[A.length-1]).radioClass("last")
}}}});
ug.PortletDragSource=function(B,A){this.proxy=new ug.PortletProxy(B,A.proxyCfg||{});
ug.PortletDragSource.superclass.constructor.call(this,B,A);
this.setXConstraint(0,0);
this.setYConstraint(0,0)
};
Ext.extend(ug.PortletDragSource,Ext.dd.DragSource,{constrainTo:function(E){var H=Ext.get(this.getEl()).getBox();
var G=Ext.get(this.proxy.getEl()).getBox();
H.width=G.width;
H.height=G.height;
var A=Ext.get(E),J=A.getScroll(),B=A.dom,I=A.getXY();
var F={x:I[0]+J.left,y:I[1]+J.top,width:B.clientWidth,height:B.clientHeight};
var D=H.y-F.y,C=H.x-F.x;
this.resetConstraints();
this.setXConstraint(C,F.width-C-H.width,this.xTickSize);
this.setYConstraint(D,F.height-D-H.height,this.yTickSize)
},onStartDrag:function(){this.constrainTo("pageLayout-body-inner")
},afterRepair:function(){this.dragging=false
}});
ug.DropZone=function(B,A){ug.DropZone.superclass.constructor.call(this,B,A)
};
Ext.extend(ug.DropZone,Ext.dd.DropTarget,{notifyOver:function(A,C,B){if(A.id.match(/folderEntry/)){return this.notifyOverFolderEntry(A,C,B)
}else{return this.notifyOverPortalModule(A,C,B)
}},notifyOverPortalModule:function(Q,O,R){var E=O.getXY(),J=Q.proxy;
if(!this.grid){this.grid=this.getGrid()
}var C=Ext.getDom("pageLayout-body-inner").clientWidth;
if(!this.lastCW){this.lastCW=C
}else{if(this.lastCW!=C){this.lastCW=C;
this.grid=this.getGrid()
}}var D=0,H=this.grid.columnX,I=false;
for(var N=H.length;
D<N;
D++){if(E[0]<(H[D].x+H[D].w)){I=true;
break
}}if(!I){D--
}var K,G=false,F=0,A=Ext.get("pageLayout-body-inner"),B=A.query(".portalColumnInner"),P=Ext.get(B[D]),L=P.query(".portletArea");
for(var N=L.length;
F<N;
F++){K=Ext.get(L[F]);
var M=K.getHeight();
if(M!==0&&(K.getY()+(M/2))>E[1]){G=true;
break
}}if((G&&K.hasClass("fixedStart"))||(!G&&K&&K.hasClass("fixedEnd"))){return this.dropNotAllowed
}this.lastPos={parent:P,before:K,col:D};
if(K){J.moveProxy(K.dom.parentNode,G?K.dom:null)
}else{J.moveProxy(P.dom,null)
}return this.dropAllowed
},notifyOverFolderEntry:function(N,K,G){var O=K.getXY(),M=N.proxy;
var L=Ext.get("pageLayout-body-inner");
var B=L.query(".folderContents .portletBody");
var H=0,C=B.length,E=null;
while(H<C){var A=Ext.get(B[H++]);
if((O[0]>=A.getX())&&(O[0]<A.getX()+A.getWidth())&&((O[1]>=A.getY())&&(O[1]<A.getY()+A.getHeight()))){E=A;
break
}}if(!E){delete this.lastPos;
return this.dropNotAllowed
}var J=E.query(".folderEntry");
var F=0,D=J.length,L=null;
while(F<D){var A=Ext.get(J[F++]);
var I=A.getHeight();
if((I!=0)&&(A.getY()+(I/2)>O[1])){L=A;
break
}}this.lastPos={parent:E,before:L};
if(L){M.moveProxy(L.dom.parentNode,L.dom)
}else{M.moveProxy(E.dom,E.dom.lastChild)
}return this.dropAllowed
},notifyOut:function(){delete this.grid
},notifyDrop:function(J,E,D){delete this.grid;
if(!this.lastPos){return 
}var H=this.lastPos.parent;
var G=this.lastPos.before;
if(J.proxy.proxy.id.match(/folderEntry/)){if(G){J.el.insertBefore(G);
G=J.el.next()
}else{J.el.insertBefore(H.last())
}var I=H.findParent(".portlet");
ug.log(I.id);
var F=/portlet-(\d+)/.exec(I.id)[1];
var A=G&&/folderEntry-(\d+)/.exec(G.id);
var B=A?A[1]:null;
var C=/folderEntry-(\d+)/.exec(J.id)[1];
ug.rpc("PortalRpc.moveLink",{link:C,destination:F,before:B},Ext.emptyFn)
}else{if(G){J.el.insertBefore(G);
G=J.el.next()
}else{H.appendChild(J.el)
}var F=/portlet-(\d+)/.exec(J.id)[1];
var B=(G&&!G.hasClass("fixedEnd"))?/portlet-(\d+)/.exec(G.id)[1]:null;
ug.rpc("PortalRpc.updatePosition",{portal:_portal.portalId,portlet:F,page:_portal.pageId,column:this.lastPos.col,before:B},Ext.emptyFn)
}delete this.lastPos;
return true
},getGrid:function(){var E,D=Ext.get("pageLayout-body-inner"),A=D.query(".portalColumnInner");
var C=D.getBox();
C.columnX=[];
for(var B=0;
B<A.length;
++B){var F=Ext.fly(A[B]);
C.columnX.push({x:F.getX(),w:F.getWidth()})
}return C
}});
function processAccountRequest(B,E,C){var A=function(){var G=Ext.fly(B).parent(".folderEntry");
var F=G.next(".folderEntry");
if(F&&G.hasClass("first")){F.addClass("first")
}Ext.destroy(G)
};
var D=C?"acceptAccountRequest":"rejectAccountRequest";
ug.rpc("Login."+D,{user:E},A)
}function goTab(B,D){var A="";
if(D){var C={};
Ext.iterate(D,function(E,F){if(F){C[E]=F
}});
A="?"+Ext.urlEncode(C)
}document.location.hash="#tab-"+B+A
}function reloadTab(){showTab(document.location.hash.substring(5))
}function showTab(C){stripTinyMceIfNecessary();
if(Ext.fly("portal-body")){Ext.fly("portal-body").setOpacity(0.5,true);
Ext.fly("portal-strip-inner").setOpacity(0.5,true)
}var A=null,B=C&&C.match(/^(.*)\?(.*)$/),D={owner:_portal.ownerId};
if(B){D.page=B[1];
Ext.apply(D,Ext.urlDecode(B[2]))
}else{D.page=C
}ug.rpc({url:"/control/component/loi.cp.portal.Portal/renderPage",params:D,callback:ug.updater("portal-page",false,true),errafter:function(){if(Ext.fly("portal-body")){Ext.fly("portal-body").setOpacity(1);
Ext.fly("portal-strip-inner").setOpacity(1)
}}})
}function stripTinyMceIfNecessary(){if((typeof tinyMCEContainerMap)!="undefined"){for(var A in tinyMCEContainerMap){var C=tinyMCEContainerMap[A];
if((typeof C)!="undefined"&&(typeof C.getActiveEditorId)!="undefined"&&C.getActiveEditorId()!=null){var B=C.getActiveEditorId();
C.removeFrom(B);
C.setMyTinyMCE(null)
}}}}ug.History=(function(){var E,C;
var J=false;
var D;
function F(){var K=document.location.href,L=K.indexOf("#");
return L>=0?K.substr(L+1):null
}function A(){C.value=D
}function G(K){D=K;
ug.History.fireEvent("change",K)
}function H(L){var K=['<html><body><div id="state">',Ext.util.Format.htmlEncode(L),"</div></body></html>"].join("");
try{var N=E.contentWindow.document;
N.open();
N.write(K);
N.close();
return true
}catch(M){return false
}}function B(){if(!E.contentWindow||!E.contentWindow.document){setTimeout(B,10);
return 
}var N=E.contentWindow.document;
var L=N.getElementById("state");
var K=L?L.innerText:null;
var M=F();
setInterval(function(){N=E.contentWindow.document;
L=N.getElementById("state");
var P=L?L.innerText:null;
var O=F();
if(P!==K){K=P;
G(K);
document.location.hash=K;
M=K;
A()
}else{if(O!==M){M=O;
H(O)
}}},50);
J=true;
ug.History.fireEvent("ready",ug.History)
}function I(){D=C.value?C.value:F();
if(Ext.isIE){B()
}else{var K=F();
setInterval(function(){var L=F();
if(L!==K){K=L;
G(K);
A()
}},50);
J=true;
ug.History.fireEvent("ready",ug.History)
}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(L,K){if(J){Ext.callback(L,K,[this]);
return 
}if(!Ext.isReady){Ext.onReady(function(){ug.History.init(L,K)
});
return 
}C=Ext.getDom(ug.History.fieldId);
if(Ext.isIE){E=Ext.getDom(ug.History.iframeId)
}this.addEvents("ready","change");
if(L){this.on("ready",L,K,{single:true})
}I()
},add:function(K,L){if(L!==false){if(this.getToken()==K){return true
}}if(Ext.isIE){return H(K)
}else{document.location.hash=K;
return true
}},back:function(){history.go(-1)
},forward:function(){history.go(1)
},getToken:function(){return J?D:F()
}}
})();
Ext.apply(ug.History,new Ext.util.Observable());
ug.initialiseHistory=function(){this.historyForm=Ext.getBody().createChild({tag:"form",action:"#",cls:"x-hidden",id:"history-form",children:[{tag:"div",children:[{tag:"input",id:ug.History.fieldId,type:"hidden"},{tag:"iframe",id:ug.History.iframeId}]}]})
};

