
var eXo={animation:{},browser:{},desktop:{},core:{},env:{portal:{},client:{},server:{}},portal:{},util:{},webui:{},widget:{},gadget:{},application:{browser:{}},ecm:{},calendar:{},contact:{},forum:{},mail:{},faq:{}};eXo.require=function(module,jsLocation){try{if(eval(module+' != null'))return;}catch(err){}
window.status="Loading Javascript Module "+module;if(jsLocation==null)jsLocation='/eXoResources/javascript/';var path=jsLocation+module.replace(/\./g,'/')+'.js';eXo.loadJS(path);};eXo.loadJS=function(path){var request=eXo.core.Browser.createHttpRequest();request.open('GET',path,false);request.setRequestHeader("Cache-Control","max-age=86400");request.send(null);try{eval(request.responseText);}catch(err){alert(err+" : "+request.responseText);}};eXo.env.server.createPortalURL=function(targetComponentId,actionName,useAjax,params){var href=eXo.env.server.portalBaseURL+"?portal:componentId="+targetComponentId+"&portal:action="+actionName;if(params!=null){var len=params.length;for(var i=0;i<len;i++){href+="&"+params[i].name+"="+params[i].value;}}
if(useAjax)href+="&ajaxRequest=true";return href;};eXo.portal.logout=function(){window.location=eXo.env.server.createPortalURL("UIPortal","Logout",false);}
function ApplicationDescriptor(appId,application){this.appId=appId;this.application=application;};ApplicationDescriptor.prototype.createApplication=function(){return this.application.createApplicationInstance(this);};ApplicationDescriptor.prototype.destroyApplication=function(){return this.application.destroyApplicationInstance(this);};eXo.application.ApplicationDescriptor=ApplicationDescriptor.prototype.constructor;Array.prototype.clear=function(){this.length=0;};Array.prototype.remove=function(element){var result=false;var array=[];for(var i=0;i<this.length;i++){if(this[i]==element){result=true;}else{array.push(this[i]);}}
this.clear();for(var i=0;i<array.length;i++){this.push(array[i]);}
array=null;return result;};Array.prototype.contains=function(element){for(var i=0;i<this.length;i++){if(this[i]==element){return true;}}
return false;};Array.prototype.insertAt=function(what,iIndex){if(iIndex<this.length){var aAfter=this.splice(iIndex,100000,what);for(var i=0;i<aAfter.length;i++){this.push(aAfter[i]);}}else{this.push(what);}};Array.prototype.pushAll=function(array){if(array!=null){for(var i=0;i<array.length;i++){this.push(array[i]);}}};Array.prototype.each=function(iterator,context){iterator=iterator.bind(context);for(var i=0;i<this.length;i++){iterator(this[i]);}};function HashMap(){this.properties=new Object();this.length=0;};HashMap.prototype.copyProperties=function(names,object){for(var i=0;i<names.length;i++){var name=names[i];this.put(name,object[name]);}};HashMap.prototype.setProperties=function(object,clear){for(var name in this.properties){object[name]=this.properties[name];}};HashMap.prototype.get=function(name){return this.properties[name];};HashMap.prototype.remove=function(name){var value=this.properties[name];if(value!=null){this.properties[name]=null;this.length--;return value;}else{return null;}};HashMap.prototype.put=function(name,value){if(this.properties[name]==null){this.length++;}
this.properties[name]=value;};HashMap.prototype.size=function(){return this.length;};HashMap.prototype.clear=function(){this.properties=new Object();this.length=0;};eXo.core.HashMap=HashMap.prototype.constructor;function ExoDateTime(){};ExoDateTime.prototype.getTime=function(){var dateTime=new Date();var hour=dateTime.getHours();var minute=dateTime.getMinutes();var second=dateTime.getSeconds();if(hour<=9)hour="0"+hour;if(minute<=9)minute="0"+minute;var AM_PM="";if(hour<12){AM_PM="AM";}else if(hour==12){AM_PM="PM";}else{AM_PM="PM";hour=hour-12;}
var time="";time+=hour+":"+minute+" "+AM_PM;var digitalClock=document.getElementById("DigitalClock");digitalClock.innerHTML=time;setTimeout("eXo.core.ExoDateTime.getTime()",60000);};ExoDateTime.prototype.getDate=function(){var dateTime=new Date();var date=dateTime.getDate();var month=dateTime.getMonth();var year=dateTime.getFullYear();if(date<=9)date="0"+date;switch(month){case 0:month="Jan";break;case 1:month="Feb";break;case 2:month="Mar";break;case 3:month="Apl";break;case 4:month="May";break;case 5:month="Jun";break;case 6:month="Jul";break;case 7:month="Aug";break;case 8:month="Sep";break;case 9:month="Oct";break;case 10:month="Nov";break;case 11:month="Dec";break;default:month=month;break;}
var today=date+" "+month+" "+year;var dateElement=eXo.core.DOMUtil.findFirstDescendantByClass(document.body,"div","Date");dateElement.innerHTML=today;};eXo.core.ExoDateTime=new ExoDateTime();String.prototype.trim=function(){var tmp=this.replace(/^\s*/,'');return tmp.replace(/\s*$/,'');}
Function.prototype.bind=function(object){var method=this;return function(){method.apply(object,arguments);}}
Function.prototype.inherits=function(parentCtor){function tempCtor(){};tempCtor.prototype=parentCtor.prototype;this.superClass_=parentCtor.prototype;this.prototype=new tempCtor();this.prototype.constructor=this;};function DOMUtil(){this.hideElementList=new Array();};DOMUtil.prototype.hasClass=function(elemt,className){var reg=new RegExp('(^|\\s+)'+className+'(\\s+|$)');return reg.test(elemt['className']);};DOMUtil.prototype.addClass=function(elemt,className){if(this.hasClass(elemt,className))return;elemt['className']=[elemt['className'],className].join(' ');};DOMUtil.prototype.removeClass=function(elemt,className){var reg=new RegExp('(^|\\s+)'+className);elemt['className']=elemt['className'].replace(reg,'');};DOMUtil.prototype.replaceClass=function(elemt,oldClazz,newClazz){elemt['className']=elemt['className'].replace(oldClazz,newClazz);};DOMUtil.prototype.getChildrenByTagName=function(element,tagName){var ln=0;var list=[];if(element&&element.childNodes)ln=element.childNodes.length;for(var k=0;k<ln;k++){if(element.childNodes[k].nodeName==tagName.toUpperCase())list.push(element.childNodes[k]);}
return list;};DOMUtil.prototype.findChildrenByClass=function(root,elementName,cssClass){if(elementName)elementName=elementName.toUpperCase();var elements=root.childNodes;var ln=elements.length;var list=[];for(var k=0;k<ln;k++){if(elementName==elements[k].nodeName&&this.hasClass(elements[k],cssClass)){list.push(elements[k]);}}
return list;};DOMUtil.prototype.findChildrenByAttribute=function(root,elementName,attrName,attrValue){if(elementName)elementName=elementName.toUpperCase();var elements=root.childNodes;var ln=elements.length;var list=[];for(var k=0;k<ln;k++){if(elementName==elements[k].nodeName){var retValue=elements[k].getAttribute(attrName);if(retValue==attrValue)list.push(elements[k]);}}
return list;};DOMUtil.prototype.findFirstChildByClass=function(root,elementName,cssClass){if(elementName!=null)elementName=elementName.toUpperCase();var elements=root.childNodes;for(var k=0;k<elements.length;k++){if(elementName==elements[k].nodeName&&this.hasClass(elements[k],cssClass)){return elements[k];}}
return null;};DOMUtil.prototype.findAncestorByClass=function(element,clazz){if(element==null)return null;var parent=element.parentNode;while(parent!=null){if(this.hasClass(parent,clazz))return parent;parent=parent.parentNode;}
return null;};DOMUtil.prototype.findAncestorsByClass=function(element,clazz){var list=[];var parent=element.parentNode;while(parent!=null){if(this.hasClass(parent,clazz))list.push(parent);parent=parent.parentNode;}
return list;};DOMUtil.prototype.findAncestorById=function(element,id){var parent=element.parentNode;while(parent!=null){if(parent.getAttributeNode&&parent.getAttributeNode("id")&&parent.getAttributeNode("id").value==id)return parent;parent=parent.parentNode;}
return null;};DOMUtil.prototype.findAncestorByTagName=function(element,tagName){var parent=element.parentNode;while(parent!=null){if(parent.nodeName&&parent.nodeName.toLowerCase()==tagName)return parent;parent=parent.parentNode;}
return null;};DOMUtil.prototype.findDescendantsByTag=function(root,tagName,list){var children=root.childNodes;var ln=children.length;var child=null;for(var k=0;k<ln;k++){child=children[k];if(tagName==null){list[list.length]=child;}else if(child.nodeName==null){continue;}else{if(tagName==child.nodeName.toLowerCase())list[list.length]=child;}
this.findDescendantsByTag(child,tagName,list);}};DOMUtil.prototype.findDescendantsByTagName=function(root,tagName){var list=[];this.findDescendantsByTag(root,tagName,list);return list;};DOMUtil.prototype.findDescendantsByClass=function(root,elementName,clazz){var elements=root.getElementsByTagName(elementName);var ln=elements.length;var list=[];this.findDescendantsByTag(root,elementName,elements);for(var k=0;k<ln;k++){if(this.hasClass(elements[k],clazz))list.push(elements[k]);}
return list;};DOMUtil.prototype.findFirstDescendantByClass=function(root,elementName,clazz){if(!root)return;var elements=root.getElementsByTagName(elementName);var ln=elements.length;for(var k=0;k<ln;k++){if(this.hasClass(elements[k],clazz))return elements[k];}
return null;};DOMUtil.prototype.findDescendantById=function(root,id){var elements=root.getElementsByTagName('*');var ln=elements.length;for(var i=0;i<ln;i++){if(elements[i].getAttributeNode&&elements[i].getAttributeNode("id")&&elements[i].getAttributeNode("id").value==id)return elements[i];}
return null;};DOMUtil.prototype.hasDescendant=function(root,obj){var elements=root.getElementsByTagName("*");var ln=elements.length;for(var k=0;k<ln;k++){if(elements[k]==obj)return true;}
return false;};DOMUtil.prototype.hasDescendantClass=function(root,clazz){var elements=root.getElementsByTagName("*");var ln=elements.length;for(var k=0;k<ln;k++){if(this.hasClass(elements[k],clazz))return true;}
return false;};DOMUtil.prototype.findNextElementByTagName=function(element,tagName){var nextElement=element.nextSibling;while(nextElement!=null){var nodeName=nextElement.nodeName;if(nodeName!=null)nodeName=nodeName.toLowerCase();if(nodeName==tagName)return nextElement;nextElement=nextElement.nextSibling;}
return null;};DOMUtil.prototype.findPreviousElementByTagName=function(element,tagName){var previousElement=element.previousSibling;while(previousElement!=null){var nodeName=previousElement.nodeName;if(nodeName!=null)nodeName=nodeName.toLowerCase();if(nodeName==tagName)return previousElement;previousElement=previousElement.previousSibling;}
return null;};DOMUtil.prototype.moveElemt=function(srcElemt,destElemt){if(typeof(srcElemt)=="string")srcElemt=document.getElementById(srcElemt);if(typeof(destElemt)=="string")destElemt=document.getElementById(destElemt);if(srcElemt&&destElemt)destElemt.appendChild(srcElemt);}
DOMUtil.prototype.createElementNode=function(innerHTML,tagName){var temporaryContainer=document.createElement(tagName);temporaryContainer.innerHTML=innerHTML;var applicationNode=this.getChildrenByTagName(temporaryContainer,"div")[0];return applicationNode;};DOMUtil.prototype.generateId=function(objectId){return(objectId+"-"+new Date().getTime()+Math.random().toString().substring(2));};DOMUtil.prototype.getStyle=function(element,style,intValue){var result=null;if(element.style[style]){result=element.style[style];}else if(element.currentStyle){result=element.currentStyle[style];}else if(document.defaultView&&document.defaultView.getComputedStyle){style=style.replace(/([A-Z])/g,"-$1");style=style.toLowerCase();var s=document.defaultView.getComputedStyle(element,"");result=s&&s.getPropertyValue(style);}
if(intValue&&result){var intRes=Number(result.match(/\d+/));if(!isNaN(intRes))result=intRes;}
return result;};DOMUtil.prototype.hideElements=function(){document.onclick=eXo.core.DOMUtil.cleanUpHiddenElements;};DOMUtil.prototype.cleanUpHiddenElements=function(){var ln=eXo.core.DOMUtil.hideElementList.length;if(ln>0){for(var i=0;i<ln;i++){eXo.core.DOMUtil.hideElementList[i].style.display="none";}
eXo.core.DOMUtil.hideElementList.clear();}};DOMUtil.prototype.listHideElements=function(object){if(!eXo.core.DOMUtil.hideElementList.contains(object)){eXo.core.DOMUtil.hideElementList.push(object);}};DOMUtil.prototype.removeElement=function(elemt){if(typeof(elemt)=="string")elemt=document.getElementById(elemt);if(!elemt)return;var parentElement=elemt.parentNode;parentElement.removeChild(elemt);};DOMUtil.prototype.getElementsBy=function(method,tag,root,apply){tag=tag||'*';root=(root)?this.get(root):null||document;if(!root){return[];}
var nodes=[],elements=root.getElementsByTagName(tag);for(var i=0,len=elements.length;i<len;++i){if(method(elements[i])){nodes[nodes.length]=elements[i];if(apply){apply(elements[i]);}}}
return nodes;}
DOMUtil.prototype.get=function(el){if(el&&(el.nodeType||el.item)){return el;}
if((typeof el==='string')||!el){return document.getElementById(el);}
if(el.length!==undefined){var c=[];for(var i=0,len=el.length;i<len;++i){c[c.length]=eXo.core.DOMUtil.get(el[i]);}
return c;}
return el;}
eXo.core.DOMUtil=new DOMUtil();function MouseObject(){this.init(null);};MouseObject.prototype.init=function(mouseEvent){this.mousexInPage=null;this.mouseyInPage=null;this.lastMousexInPage=null;this.lastMouseyInPage=null;this.mousexInClient=null;this.mouseyInClient=null;this.lastMousexInClient=null;this.lastMouseyInClient=null;this.deltax=null;this.deltay=null;if(mouseEvent!=null)this.update(mouseEvent);};MouseObject.prototype.update=function(mouseEvent){var x=eXo.core.Browser.findMouseXInPage(mouseEvent);var y=eXo.core.Browser.findMouseYInPage(mouseEvent);this.lastMousexInPage=this.mousexInPage!=null?this.mousexInPage:x;this.lastMouseyInPage=this.mouseyInPage!=null?this.mouseyInPage:y;this.mousexInPage=x;this.mouseyInPage=y;x=eXo.core.Browser.findMouseXInClient(mouseEvent);y=eXo.core.Browser.findMouseYInClient(mouseEvent);this.lastMousexInClient=this.mousexInClient!=null?this.mousexInClient:x;this.lastMouseyInClient=this.mouseyInClient!=null?this.mouseyInClient:y;this.mousexInClient=x;this.mouseyInClient=y;this.deltax=this.mousexInClient-this.lastMousexInClient;this.deltay=this.mouseyInClient-this.lastMouseyInClient;};function Browser(){this.onLoadCallback=new eXo.core.HashMap();this.onResizeCallback=new eXo.core.HashMap();this.onScrollCallback=new eXo.core.HashMap();this.breakStream;window.onresize=this.managerResize;window.onscroll=this.onScroll;this.initCommon();this.detectBrowser();if(this.opera)this.initOpera();else if(this.ie)this.initIE();else if(this.webkit)this.initSafari();else this.initMozilla();};Browser.prototype.detectBrowser=function(){this.ie=0;this.opera=0;this.gecko=0;this.webkit=0;this.mobile=null;this.air=0;var ua=navigator.userAgent,m;if((/KHTML/).test(ua)){this.webkit=1;}
m=ua.match(/AppleWebKit\/([^\s]*)/);if(m&&m[1]){this.webkit=parseFloat(m[1]);if(/ Mobile\//.test(ua)){this.mobile="Apple";}else{m=ua.match(/NokiaN[^\/]*/);if(m){this.mobile=m[0];}}
m=ua.match(/AdobeAIR\/([^\s]*)/);if(m){this.air=m[0];}}
if(!this.webkit){m=ua.match(/Opera[\s\/]([^\s]*)/);if(m&&m[1]){this.opera=parseFloat(m[1]);m=ua.match(/Opera Mini[^;]*/);if(m){this.mobile=m[0];}}else{m=ua.match(/MSIE\s([^;]*)/);if(m&&m[1]){this.ie=parseFloat(m[1]);}else{m=ua.match(/Gecko\/([^\s]*)/);if(m){this.gecko=1;m=ua.match(/rv:([^\s\)]*)/);if(m&&m[1]){this.gecko=parseFloat(m[1]);}}}}}}
Browser.prototype.managerResize=function(){var Browser=eXo.core.Browser;clearTimeout(Browser.breakStream);Browser.breakStream=setTimeout(eXo.core.Browser.onResize,100);}
Browser.prototype.initCommon=function(){this.getBrowserHeight=function(){return document.documentElement.clientHeight;}
this.getBrowserWidth=function(){return document.documentElement.clientWidth;}
this.createHttpRequest=function(){return new XMLHttpRequest();}};Browser.prototype.initIE=function(){this.browserType="ie";this.createHttpRequest=function(){return new ActiveXObject("Msxml2.XMLHTTP");}
this.eventListener=function(object,event,operation){event="on"+event;object.attachEvent(event,operation);}
this.setOpacity=function(component,value){component.style.filter="alpha(opacity="+value+")";}
this.getEventSource=function(e){return window.event.srcElement;}};Browser.prototype.initMozilla=function(){this.browserType="mozilla";this.eventListener=function(object,event,operation){object.addEventListener(event,operation,false);}
this.setOpacity=function(component,value){component.style.opacity=value/100;}
this.getEventSource=function(e){return e.target;}};Browser.prototype.initSafari=function(){this.browserType="safari";this.getBrowserHeight=function(){return self.innerHeight;};this.getBrowserWidth=function(){return self.innerWidth;};this.eventListener=function(object,event,operation){object.addEventListener(event,operation,false);}
this.setOpacity=function(component,value){component.style.opacity=value/100;}
this.getEventSource=function(e){var targ=e.target;if(targ.nodeType==3)targ=targ.parentNode;return targ;}};Browser.prototype.initOpera=function(){this.browserType="opera";this.getBrowserHeight=function(){return document.body.clientHeight;}
this.getBrowserWidth=function(){return document.body.clientWidth;}};Browser.prototype.isIE6=function(){var agent=navigator.userAgent;return(agent.indexOf("MSIE 6")>=0);};Browser.prototype.isIE7=function(){var agent=navigator.userAgent;return(agent.indexOf("MSIE 7")>=0);};Browser.prototype.isFF=function(){return this.gecko;};Browser.prototype.findMouseXInClient=function(e){if(!e)e=window.event;return e.clientX;};Browser.prototype.findMouseYInClient=function(e){if(!e)e=window.event;return e.clientY;};Browser.prototype.addOnLoadCallback=function(id,method){this.onLoadCallback.put(id,method);};Browser.prototype.onLoad=function(){try{var callback=eXo.core.Browser.onLoadCallback;for(var name in callback.properties){var method=callback.get(name);if(typeof(method)=="function")method();}}catch(e){}
this.onLoadCallback=new eXo.core.HashMap();};Browser.prototype.addOnResizeCallback=function(id,method){this.onResizeCallback.put(id,method);};Browser.prototype.onResize=function(event){var callback=eXo.core.Browser.onResizeCallback;for(var name in callback.properties){var method=callback.get(name);if(typeof(method)=="function")method(event);}};Browser.prototype.addOnScrollCallback=function(id,method){this.onScrollCallback.put(id,method);};Browser.prototype.onScroll=function(event){var callback=eXo.core.Browser.onScrollCallback;for(var name in callback.properties){var method=callback.get(name);try{if(typeof(method)=="function")method(event);}catch(err){}}};Browser.prototype.getBrowserType=function(){return this.browserType;};Browser.prototype.findPosX=function(obj){var curleft=0;while(obj){curleft+=obj.offsetLeft;obj=obj.offsetParent;}
return curleft;};Browser.prototype.findPosY=function(obj){var curtop=0;while(obj){curtop+=obj.offsetTop;obj=obj.offsetParent;}
return curtop;};Browser.prototype.findPosXInContainer=function(obj,container){var objX=eXo.core.Browser.findPosX(obj);var containerX=eXo.core.Browser.findPosX(container);return(objX-containerX);};Browser.prototype.findPosYInContainer=function(obj,container){var objY=eXo.core.Browser.findPosY(obj);var containerY=eXo.core.Browser.findPosY(container);return(objY-containerY);};Browser.prototype.findMouseXInPage=function(e){var posx=-1;if(!e)e=window.event;if(e.pageX||e.pageY){posx=e.pageX;}else if(e.clientX||e.clientY){posx=e.clientX+document.body.scrollLeft;}
return posx;};Browser.prototype.findMouseYInPage=function(e){var posy=-1;if(!e)e=window.event;if(e.pageY){posy=e.pageY;}else if(e.clientX||e.clientY){if(document.documentElement&&document.documentElement.scrollTop){posy=e.clientY+document.documentElement.scrollTop;}else{posy=e.clientY+document.body.scrollTop;}}
return posy;};Browser.prototype.findMouseRelativeX=function(object,e){var posx=-1;var posXObject=eXo.core.Browser.findPosX(object);if(eXo.core.Browser.isIE7()){posXObject=posXObject/2;}
if(!e)e=window.event;if(e.pageX||e.pageY){posx=e.pageX-posXObject;}else if(e.clientX||e.clientY){posx=e.clientX+document.body.scrollLeft-posXObject;}
return posx;};Browser.prototype.findMouseRelativeY=function(object,e){var posy=-1;var posYObject=eXo.core.Browser.findPosY(object);if(!e)e=window.event;if(e.pageY){posy=e.pageY-posYObject;}else if(e.clientX||e.clientY){if(document.documentElement&&document.documentElement.scrollTop){posy=e.clientY+document.documentElement.scrollTop-posYObject;}else{posy=e.clientY+document.body.scrollTop-posYObject;}}
return posy;};Browser.prototype.setPositionInContainer=function(container,component,posX,posY){var offsetX=component.offsetLeft;var offsetY=component.offsetTop;var posXInContainer=eXo.core.Browser.findPosXInContainer(component,container);var posYInContainer=eXo.core.Browser.findPosYInContainer(component,container);var deltaX=posX-(posXInContainer-offsetX);var deltaY=posY-(posYInContainer-offsetY);component.style.left=deltaX+"px";component.style.top=deltaY+"px";};Browser.prototype.setCookie=function(name,value,expiredays){var exdate=new Date();exdate.setDate(exdate.getDate()+expiredays);document.cookie=name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString());};Browser.prototype.getCookie=function(name){if(document.cookie.length>0){var start=document.cookie.indexOf(name+"=")
if(start!=-1){start=start+name.length+1;var end=document.cookie.indexOf(";",start);if(end==-1)end=document.cookie.length;return unescape(document.cookie.substring(start,end));}}
return"";};eXo.core.Browser=new Browser();eXo.core.Mouse=new MouseObject();function MouseEventManager(){};MouseEventManager.prototype.addMouseDownHandler=function(method){document.onmousedown=this.docMouseDownEvt;this.onMouseDownHandlers=method;};MouseEventManager.prototype.docMouseDownEvt=function(evt){if(!evt)evt=window.event;evt.cancelBubble=true;if(eXo.core.MouseEventManager.onMouseDownHandlers==null)return;if(typeof(eXo.core.MouseEventManager.onMouseDownHandlers)=="string")eval(eXo.core.MouseEventManager.onMouseDownHandlers);else eXo.core.MouseEventManager.onMouseDownHandlers(evt);document.onmousedown=null;};MouseEventManager.prototype.addMouseUpHandler=function(method){document.onmouseup=this.docMouseUpEvt;this.onMouseUpHandlers=method;};MouseEventManager.prototype.docMouseUpEvt=function(){var mouseUpHandlers=eXo.core.MouseEventManager.onMouseUpHandlers;};MouseEventManager.prototype.docMouseClickEvt=function(evt){if(!evt)evt=window.event;evt.cancelBubble=true;if(typeof(eXo.core.MouseEventManager.onMouseClickHandlers)=="string")eval(eXo.core.MouseEventManager.onMouseClickHandlers);else eXo.core.MouseEventManager.onMouseClickHandlers(evt);document.onclick=null;};MouseEventManager.prototype.addMouseClickHandler=function(method){document.onclick=this.docMouseClickEvt;this.onMouseClickHandlers=method;};eXo.core.MouseEventManager=new MouseEventManager();function UIMaskLayer(){};UIMaskLayer.prototype.createTransparentMask=function(){var mask=document.getElementById("TransparentMaskLayer");if(!mask){mask=document.createElement("div");mask.id="TransparentMaskLayer";mask.style.top="0px";mask.style.left="0px";eXo.core.Browser.setOpacity(mask,0);mask.style.backgroundColor="white";mask.style.zIndex="2";mask.style.position="absolute";mask.style.cursor="wait";mask.style.display="block";document.getElementsByTagName("body")[0].appendChild(mask);}
mask.style.width="100%";mask.style.height="100%";};UIMaskLayer.prototype.removeTransparentMask=function(){var mask=document.getElementById("TransparentMaskLayer");if(mask){mask.style.height="0";mask.style.width="0";}};UIMaskLayer.prototype.removeMasks=function(maskLayer){eXo.core.UIMaskLayer.removeTransparentMask();eXo.core.UIMaskLayer.removeMask(maskLayer);};UIMaskLayer.prototype.createMask=function(blockContainerId,object,opacity,position){try{var Browser=eXo.core.Browser;var blockContainer=document.getElementById(blockContainerId);var maskLayer=document.createElement("div");this.object=object;this.blockContainer=blockContainer;this.position=position;if(document.getElementById("MaskLayer")){document.getElementById("MaskLayer").id="subMaskLayer";}
blockContainer.appendChild(maskLayer);maskLayer.className="MaskLayer";maskLayer.id="MaskLayer";maskLayer.maxZIndex=3;maskLayer.style.width="100%";maskLayer.style.height="100%";maskLayer.style.top="1px";maskLayer.style.left="1px";maskLayer.style.zIndex=maskLayer.maxZIndex;if(opacity){Browser.setOpacity(maskLayer,opacity);}
if(object!=null){if(object.nextSibling){maskLayer.nextSiblingOfObject=object.nextSibling;maskLayer.parentOfObject=null;}else{maskLayer.nextSiblingOfObject=null;maskLayer.parentOfObject=object.parentNode;}
object.style.zIndex=maskLayer.maxZIndex+1;object.style.display="block";blockContainer.appendChild(object);eXo.core.UIMaskLayer.setPosition();if((blockContainer.offsetWidth>object.offsetLeft+object.offsetWidth)&&(position=="TOP-RIGHT")||(position=="BOTTOM-RIGHT")){object.style.left=blockContainer.offsetWidth-object.offsetWidth+"px";}
eXo.core.UIMaskLayer.doScroll();}
if(maskLayer.parentNode.id=="UIPage"){eXo.core.UIMaskLayer.enablePageDesktop(false);}}catch(err){alert(err);}
return maskLayer;};UIMaskLayer.prototype.createMaskForFrame=function(blockContainerId,object,opacity){try{var Browser=eXo.core.Browser;if(typeof(blockContainerId)=="string")blockContainerId=document.getElementById(blockContainerId);var blockContainer=blockContainerId;var maskLayer=document.createElement("div");blockContainer.appendChild(maskLayer);maskLayer.className="MaskLayer";maskLayer.id=object.id+"MaskLayer";maskLayer.maxZIndex=3;maskLayer.style.width=blockContainer.offsetWidth+"px";maskLayer.style.height=blockContainer.offsetHeight+"px";maskLayer.style.top="1px";maskLayer.style.left="1px";maskLayer.style.zIndex=maskLayer.maxZIndex;if(opacity){Browser.setOpacity(maskLayer,opacity);}
if(object!=null){if(object.nextSibling){maskLayer.nextSiblingOfObject=object.nextSibling;maskLayer.parentOfObject=null;}else{maskLayer.nextSiblingOfObject=null;maskLayer.parentOfObject=object.parentNode;}
object.style.zIndex=maskLayer.maxZIndex+1;object.style.display="block";blockContainer.appendChild(object);}}catch(err){}
return maskLayer;};UIMaskLayer.prototype.doScroll=function(){if(document.getElementById("MaskLayer")){var maskLayer=document.getElementById("MaskLayer");maskLayer.style.top=document.documentElement.scrollTop+"px";setTimeout("eXo.core.UIMaskLayer.doScroll()",1);}else if(document.getElementById("subMaskLayer")){var subMaskLayer=document.getElementById("subMaskLayer");subMaskLayer.id="MaskLayer";eXo.core.UIMaskLayer.doScroll();}};UIMaskLayer.prototype.setPosition=function(){var UIMaskLayer=eXo.core.UIMaskLayer;var Browser=eXo.core.Browser;var object=UIMaskLayer.object;var blockContainer=UIMaskLayer.blockContainer;var position=UIMaskLayer.position;object.style.position="absolute";var left;var top;if(position=="TOP-LEFT"){left=0;top=0;}else if(position=="TOP-RIGHT"){return;}else if(position=="BOTTOM-LEFT"){left=0;top=Browser.getBrowserHeight()-object.offsetHeight+document.documentElement.scrollTop;}else if(position=="BOTTOM-RIGHT"){left=blockContainer.offsetWidth-object.offsetWidth;top=Browser.getBrowserHeight()-object.offsetHeight+document.documentElement.scrollTop;}else{left=(blockContainer.offsetWidth-object.offsetWidth)/2;top=(Browser.getBrowserHeight()-object.offsetHeight)/2+document.documentElement.scrollTop;}
object.style.left=left+"px";object.style.top=top+"px";};UIMaskLayer.prototype.removeMask=function(maskLayer){if(maskLayer){var parentNode=maskLayer.parentNode;maskLayer.nextSibling.style.display="none";if(maskLayer.nextSiblingOfObject){maskLayer.nextSiblingOfObject.parentNode.insertBefore(maskLayer.nextSibling,maskLayer.nextSiblingOfObject);maskLayer.nextSiblingOfObject=null;}else{maskLayer.parentOfObject.appendChild(maskLayer.nextSibling);maskLayer.parentOfObject=null;}
parentNode.removeChild(maskLayer);}};UIMaskLayer.prototype.enablePageDesktop=function(enabled){var pageDesktop=document.getElementById("UIPageDesktop");if(pageDesktop){if(enabled){pageDesktop.style.zIndex="";}else{pageDesktop.style.zIndex="-1";}}};UIMaskLayer.prototype.resizeMaskLayer=function(){return;};eXo.core.UIMaskLayer=new UIMaskLayer();function Skin(){};Skin.prototype.addSkin=function(componentId,url){var skin=document.getElementById(componentId);if(skin!=null)return;var link=document.createElement('link');link.setAttribute('id',componentId);link.setAttribute('rel','stylesheet');link.setAttribute('type','text/css');link.setAttribute('href',url);var head=document.getElementsByTagName("head")[0];head.appendChild(link);};Skin.prototype.addCoreSkin=function(componentId,url){if(document.getElementById(componentId)==null){var coreSkin=document.getElementById("CoreSkin");var head=coreSkin.parentNode;var link=document.createElement('link');link.setAttribute('id',componentId);link.setAttribute('rel','stylesheet');link.setAttribute('type','text/css');link.setAttribute('href',url);head.insertBefore(link,coreSkin);}};Skin.prototype.addApplicationSkin=function(componentId,url){if(document.getElementById(componentId)==null){var coreSkin=document.getElementById("PortalSkin");var head=coreSkin.parentNode;var link=document.createElement('link');link.setAttribute('id',componentId);link.setAttribute('rel','stylesheet');link.setAttribute('type','text/css');link.setAttribute('href',url);head.insertBefore(link,coreSkin);}};if(!eXo.core.Skin){eXo.core.Skin=new Skin();};function DragDropEvent(clickObject,dragObject){this.clickObject=clickObject;if(dragObject&&dragObject!=null){this.dragObject=dragObject;}else{this.dragObject=clickObject;}
this.foundTargetObject=null;this.lastFoundTargetObject=null;this.junkMove=false;if(isNaN(parseInt(this.dragObject.style.left)))this.dragObject.style.left="0px";if(isNaN(parseInt(this.dragObject.style.top)))this.dragObject.style.top="0px";};DragDropEvent.prototype.update=function(foundTargetObject,junkMove){this.lastFoundTargetObject=this.foundTargetObject;this.foundTargetObject=foundTargetObject;this.junkMove=junkMove;}
DragDropEvent.prototype.isJunkMove=function(){return this.junkMove;};function DragDrop(){this.dropableTargets=null;this.dndEvent=null;this.initCallback=null;this.dragCallback=null;this.dropCallback=null;this.destroyCallback=null;this.isJunkMoveCallback=null;};DragDrop.prototype.init=function(dropableTargets,clickObject,dragObject,evt){eXo.core.Mouse.init(evt);this.dropableTargets=dropableTargets;var dndEvent=this.dndEvent=new DragDropEvent(clickObject,dragObject);document.onmousemove=this.onMouseMove;document.onmouseup=this.onDrop;document.onkeypress=this.onKeyPressEvt;if(this.initCallback!=null){this.initCallback(dndEvent);}};DragDrop.prototype.onKeyPressEvt=function(evt){if(!evt)evt=window.event;if(evt.keyCode==27)eXo.core.DragDrop.onDrop(evt);}
DragDrop.prototype.onMouseMove=function(evt){eXo.core.Mouse.update(evt);var dndEvent=eXo.core.DragDrop.dndEvent;dndEvent.backupMouseEvent=evt;var dragObject=dndEvent.dragObject;var y=parseInt(dragObject.style.top);var x=parseInt(dragObject.style.left);dragObject.style["left"]=x+eXo.core.Mouse.deltax+"px";dragObject.style["top"]=y+eXo.core.Mouse.deltay+"px";if(eXo.core.DragDrop.dragCallback!=null){var foundTarget=eXo.core.DragDrop.findDropableTarget(dndEvent,eXo.core.DragDrop.dropableTargets,evt);var junkMove=eXo.core.DragDrop.isJunkMove(dragObject,foundTarget);dndEvent.update(foundTarget,junkMove);eXo.core.DragDrop.dragCallback(dndEvent);}
return false;};DragDrop.prototype.onDrop=function(evt){if(eXo.core.DragDrop.dropCallback!=null){var dndEvent=eXo.core.DragDrop.dndEvent;dndEvent.backupMouseEvent=evt;var dragObject=dndEvent.dragObject;var foundTarget=eXo.core.DragDrop.findDropableTarget(dndEvent,eXo.core.DragDrop.dropableTargets,evt);var junkMove=eXo.core.DragDrop.isJunkMove(dragObject,foundTarget);dndEvent.update(foundTarget,junkMove);eXo.core.DragDrop.dropCallback(dndEvent);}
eXo.core.DragDrop.destroy();};DragDrop.prototype.destroy=function(){if(this.destroyCallback!=null){this.destroyCallback(this.dndEvent);}
document.onmousemove=null;document.onmouseup=null;document.onkeypress=null;this.dndEvent=null;this.dropableTargets=null;this.initCallback=null;this.dragCallback=null;this.dropCallback=null;this.destroyCallback=null;this.isJunkMoveCallback=null;};DragDrop.prototype.findDropableTarget=function(dndEvent,dropableTargets,mouseEvent){if(dropableTargets==null)return null;var mousexInPage=eXo.core.Browser.findMouseXInPage(mouseEvent);var mouseyInPage=eXo.core.Browser.findMouseYInPage(mouseEvent);var clickObject=dndEvent.clickObject;var dragObject=dndEvent.dragObject;var foundTarget=null;var len=dropableTargets.length;for(var i=0;i<len;i++){var ele=dropableTargets[i];if(dragObject!=ele&&this.isIn(mousexInPage,mouseyInPage,ele)){if(foundTarget==null){foundTarget=ele;}else{if(this.isAncestor(foundTarget,ele)){foundTarget=ele;}}}}
return foundTarget;};DragDrop.prototype.isAncestor=function(ancestor,child){var path=child.id;var parent=child.parentNode;while(parent!=null){path=parent.className+"/"+path;if(parent==ancestor)return true;var tmp=parent.parentNode;parent=tmp;}
return false;};DragDrop.prototype.isIn=function(x,y,component){var componentLeft=eXo.core.Browser.findPosX(component);var componentRight=componentLeft+component.offsetWidth;var componentTop=eXo.core.Browser.findPosY(component);var componentBottom=componentTop+component.offsetHeight;var isOver=false;var uiWorkspaceContainer=document.getElementById("UIWorkspaceContainer");if((uiWorkspaceContainer&&uiWorkspaceContainer.style.display!="none")&&eXo.core.Browser.isIE7()){componentRight=componentRight-uiWorkspaceContainer.clientWidth;}
if(eXo.core.Browser.getBrowserType()=="ie"){componentLeft=componentLeft/2;}
if((componentLeft<x)&&(x<componentRight)){if((componentTop<y)&&(y<componentBottom)){isOver=true;}}
return isOver;};DragDrop.prototype.isJunkMove=function(src,target){if(this.isJunkMoveCallback!=null){return this.isJunkMoveCallback(src,target);}
if(target==null)return true;return false;};eXo.core.DragDrop=new DragDrop();var count=1;eXo.core.DragDrop2={obj:null,init:function(o,oRoot){o.onmousedown=eXo.core.DragDrop2.start;o.root=oRoot&&oRoot!=null?oRoot:o;o.root.onmousedown=function(){this.style.zIndex=++count;}
o.root.onDragStart=new Function();o.root.onDragEnd=new Function();o.root.onDrag=new Function();},start:function(e){if(!e)e=window.event;if(((e.which)&&(e.which==2||e.which==3))||((e.button)&&(e.button==2))){return;}
var o=eXo.core.DragDrop2.obj=this;e=eXo.core.DragDrop2.fixE(e);var y=parseInt(eXo.core.DOMUtil.getStyle(o.root,"top"));var x=parseInt(eXo.core.DOMUtil.getStyle(o.root,"left"));if(isNaN(x))x=0;if(isNaN(y))y=0;o.lastMouseX=eXo.core.Browser.findMouseXInPage(e);o.lastMouseY=eXo.core.Browser.findMouseYInPage(e);o.root.onDragStart(x,y,o.lastMouseX,o.lastMouseY,e);document.onmousemove=eXo.core.DragDrop2.drag;document.onmouseup=eXo.core.DragDrop2.end;return false;},drag:function(e){e=eXo.core.DragDrop2.fixE(e);var o=eXo.core.DragDrop2.obj;var ey=eXo.core.Browser.findMouseYInPage(e);var ex=eXo.core.Browser.findMouseXInPage(e);var y=parseInt(eXo.core.DOMUtil.getStyle(o.root,"top"));var x=parseInt(eXo.core.DOMUtil.getStyle(o.root,"left"));if(isNaN(x))x=0;if(isNaN(y))y=0;var nx,ny;nx=x+(ex-o.lastMouseX);ny=y+(ey-o.lastMouseY);eXo.core.DragDrop2.obj.root.style["left"]=nx+"px";eXo.core.DragDrop2.obj.root.style["top"]=ny+"px";eXo.core.DragDrop2.obj.lastMouseX=ex;eXo.core.DragDrop2.obj.lastMouseY=ey;eXo.core.DragDrop2.obj.root.onDrag(nx,ny,ex,ey,e);return false;},end:function(e){e=eXo.core.DragDrop2.fixE(e);document.onmousemove=null;document.onmouseup=null;eXo.core.DragDrop2.obj.root.onDragEnd(parseInt(eXo.core.DragDrop2.obj.root.style["left"]),parseInt(eXo.core.DragDrop2.obj.root.style["top"]),e.clientX,e.clientY);eXo.core.DragDrop2.obj=null;},fixE:function(e){if(typeof e=='undefined')e=window.event;if(typeof e.layerX=='undefined')e.layerX=e.offsetX;if(typeof e.layerY=='undefined')e.layerY=e.offsetY;return e;}};function Topic(){this.topics={};this.nextListenerInstanceId_=0;}
Topic.prototype._normalizeTopicName=function(topic){if(topic.charAt(topic.length-1)!='/'){topic=topic+"/";}
return topic;}
Topic.prototype._getNextListenerInstanceId=function(){return this.nextListenerInstanceId_++;};Topic.prototype.publish=function(senderId,topicName,message){topicName=this._normalizeTopicName(topicName);var event={senderId:senderId,message:message,topic:topicName};for(var topic in this.topics){if(topic&&topicName.indexOf(topic)===0){var callbacks=this.topics[topic];for(var j=0;j<callbacks.length;j++){callback=callbacks[j];callback["func"](event);}}}}
Topic.prototype.isSubscribed=function(topic,func){topic=this._normalizeTopicName(topic);callbacks=this.topics[topic];if(!callbacks)
return false;for(var i=0;i<callbacks.length;i++){callback=callbacks[i];if(callback["func"]==func){return true;}}
return false;}
Topic.prototype.subscribe=function(topic,func){topic=this._normalizeTopicName(topic);if(this.isSubscribed(topic,func))
return-1;if(!this.topics[topic]){this.topics[topic]=new Array();}
var id=this._getNextListenerInstanceId();this.topics[topic][this.topics[topic].length]={id:id,func:func};return id;}
Topic.prototype.unsubscribe=function(topic,id){topic=this._normalizeTopicName(topic);callbacks=this.topics[topic];if(!callbacks)
return false;var removed=false;for(var i=0;i<callbacks.length;i++){callback=callbacks[i];if(removed){callbacks[i-1]=callbacks[i];}
if(callback["id"]==id){delete callbacks[i];removed=true;}}
if(removed){callbacks.length=callbacks.length-1;}
return removed;}
Topic.prototype.initCometdBridge=function(){eXo.core.Cometd.subscribe("/eXo/topics",function(event){if(event.data!=null&&event.data.topic!=null&&event.data.sender!=null&&event.data.message!=null){eXo.core.Topic.publish(event.data.sender,event.data.topic,event.data.message);}
else{eXo.core.Topic.publish("Topic Cometd bridge","/eXo/portal/notification","error in the message received from Cometd:"+event);}});}
eXo.core.Topic=new Topic();if(!eXo.core.JSON){JSON=function(){function f(n){return n<10?'0'+n:n;}
Date.prototype.toJSON=function(){return this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z';};var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};function stringify(value,whitelist){var a,i,k,l,r=/["\\\x00-\x1f\x7f-\x9f]/g,v;switch(typeof value){case'string':return r.test(value)?'"'+value.replace(r,function(a){var c=m[a];if(c){return c;}
c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+
(c%16).toString(16);})+'"':'"'+value+'"';case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
if(typeof value.toJSON==='function'){return stringify(value.toJSON());}
a=[];if(typeof value.length==='number'&&!(value.propertyIsEnumerable('length'))){l=value.length;for(i=0;i<l;i+=1){a.push(stringify(value[i],whitelist)||'null');}
return'['+a.join(',')+']';}
if(whitelist){l=whitelist.length;for(i=0;i<l;i+=1){k=whitelist[i];if(typeof k==='string'){v=stringify(value[k],whitelist);if(v){a.push(stringify(k)+':'+v);}}}}else{for(k in value){if(typeof k==='string'){v=stringify(value[k],whitelist);if(v){a.push(stringify(k)+':'+v);}}}}
return'{'+a.join(',')+'}';}}
return{stringify:stringify,parse:function(text,filter){var j;function walk(k,v){var i,n;if(v&&typeof v==='object'){for(i in v){if(Object.prototype.hasOwnProperty.apply(v,[i])){n=walk(i,v[i]);if(n!==undefined){v[i]=n;}}}}
return filter(k,v);}
if(/^[\],:{}\s]*$/.test(text.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof filter==='function'?walk('',j):j;}
throw new SyntaxError('parseJSON');}};}();eXo.core.JSON=JSON;}
function Cometd(){this._connected=false;this._polling=false;this._connecting=false;this.currentTransport=null;this.url='/cometd/cometd';this.id=null;this.exoId=null;this.exoToken=null;var Browser=eXo.core.Browser;this.clientId=Browser.getCookie('cometdClientID')||false;this.messageId=0;this.batch=0;this._subscriptions=[];this._messageQ=[];this._connectionReadyCallbacks=[];this._maxInterval=5*1000;this._backoffInterval=1000;this._maxTry=5;this._tryToOpenTunnelCnt=0;this._retryInterval=0;this._multiClientsDetectCnt=0;}
Cometd.prototype.init=function(forceDisconnect){this._tryToOpenTunnelCnt=0;if((!forceDisconnect&&this._connected)||this._connecting){return;}
if(!this.currentTransport){this.currentTransport=new eXo.portal.LongPollTransport();this.currentTransport.init(this);}
if(this.clientId)
this.currentTransport.initTunnel();else
this.currentTransport.initHandshake();};Cometd.prototype.addOnConnectionReadyCallback=function(handle){if(handle){this._connectionReadyCallbacks.push(handle);}};Cometd.prototype.removeOnConnectionReadtCallback=function(handle){for(var i=0;i<this._connectionReadyCallbacks.length;i++){if(this._connectionReadyCallbacks[i]==handle){this._connectionReadyCallbacks[i]=this._connectionReadyCallbacks[this._connectionReadyCallbacks.length-1];this._connectionReadyCallbacks.pop();break;}}};Cometd.prototype.deliver=function(messages){messages.each(this._deliver,this);return messages;}
Cometd.prototype.isConnected=function(){return this._connected;}
Cometd.prototype._deliver=function(message){if(!message['channel']){if(message['success']!==true){return;}}
this.lastMessage=message;if(message.advice){this.adviceBackup=this.advice;this.advice=message.advice;this.multiClients=message.advice['multiple-clients'];if(this.multiClients){this._multiClientsDetectCnt++;if(this._multiClientsDetectCnt==1){window.alert('You has multiple tab/window using Cometd!\nPlease keep only once.');}}else{this._multiClientsDetectCnt=0;this.resetRetryInterval();}}
if((message['channel'])&&(message.channel.length>5)&&(message.channel.substr(0,5)=='/meta')){switch(message.channel){case'/meta/connect':if(message.successful&&!this._connected){this._connected=true;this.endBatch();}
break;case'/meta/subscribe':if(!message.successful){alert('todo manage error subscription');return;}
break;case'/meta/unsubscribe':if(!message.successful){alert('todo manage error unsubscription');return;}
break;}}
if(message.data){var tname=message.channel;var def=this._subscriptions[tname];if(def)
def(message);}}
Cometd.prototype._sendMessage=function(message){if(this.currentTransport&&this._connected&&this.batch==0){return this.currentTransport.sendMessages([message]);}
else{this._messageQ.push(message);}}
Cometd.prototype.subscribe=function(channel,callback){if(callback){var tname=channel;var subs=this._subscriptions[tname];if(!subs||subs.length==0){subs=[];var message={channel:'/meta/subscribe',subscription:channel,exoId:this.exoId,exoToken:this.exoToken}
this._sendMessage(message);}
this._subscriptions[tname]=callback;}}
Cometd.prototype.unsubscribe=function(channel){var tname=channel;if(this._subscriptions[tname]){this._subscriptions[tname]=null;}
this._sendMessage({channel:'/meta/unsubscribe',subscription:channel,exoId:this.exoId,exoToken:this.exoToken});}
Cometd.prototype.startBatch=function(){this.batch++;}
Cometd.prototype.increaseRetryInterval=function(){this.advice=this.advice||{};if(!this.advice.interval||(this.advice.interval&&this.advice.interval>this._maxInterval)){this.resetRetryInterval();}else{this._retryInterval+=this._backoffInterval;this.advice.interval=this._retryInterval;}}
Cometd.prototype.resetRetryInterval=function(){if(this.advice)
this.advice.interval=0;this._retryInterval=0;}
Cometd.prototype.endBatch=function(){this._tryToOpenTunnelCnt=0;this._connecting=false;for(var i=0;i<this._connectionReadyCallbacks.length;i++){var handler=this._connectionReadyCallbacks[i];if(handler){handler();}}
if(--this.batch<=0&&this.currentTransport&&this._connected){this.batch=0;var messages=this._messageQ;this._messageQ=[];if(messages.length>0){this.currentTransport.sendMessages(messages);}}}
Cometd.prototype.disconnect=function(){this._tryToOpenTunnelCnt=0;this._subscriptions.each(this.unsubscribe,this);this._messageQ=[];if(this.currentTransport){this.currentTransport.disconnect();}
if(!this._polling)
this._connected=false;}
Cometd.prototype._backoff=function(){if(!this.advice||!this.advice.interval){this.advice={reconnect:'retry',interval:0};}
this.increaseRetryInterval();}
function LongPollTransport(){var instance=new Object();instance.init=function(cometd){this._connectionType='long-polling';this._cometd=cometd;}
instance.startup=function(){var request=new eXo.portal.AjaxRequest('POST',this._cometd.url);request.onSuccess=this._cometd.deliver;request.process();}
instance.initHandshake=function(){var message={channel:'/meta/handshake',id:this._cometd.messageId++,exoId:this._cometd.exoId,exoToken:this._cometd.exoToken};var query='message='+eXo.core.JSON.stringify(message);var request=new eXo.portal.AjaxRequest('POST',this._cometd.url,query);request.onSuccess=function(request){this.finishInitHandshake(request.evalResponse());}.bind(this);request.onError=function(err){throw(new Error('request Error, need to manage this error'));}.bind(this);request.process();}
instance.finishInitHandshake=function(data){data=data[0];this._cometd.handshakeReturn=data;if(data['advice']){this._cometd.advice=data.advice;}
if(!data.successful){if(this._cometd.advice&&this._cometd.advice['reconnect']=='none'){return;}
if(this._cometd.advice&&this._cometd.advice['interval']&&this._cometd.advice.interval>0){setTimeout(function(){eXo.core.Cometd.init();},this._cometd._retryInterval);}else{this._cometd.init(this.url,this._props);}
return;}
if(data.version<this.minimumVersion){return;}
this._cometd.clientId=data.clientId;eXo.core.Browser.setCookie('cometdClientID',this._cometd.clientId,1);this.initTunnel();}
instance.initTunnel=function(){var message={channel:'/meta/connect',clientId:this._cometd.clientId,connectionType:this._connectionType,id:this._cometd.messageId++};this.openTunnelWith({message:eXo.core.JSON.stringify(message)});}
instance.openTunnelWith=function(content,url){this._cometd._polling=true;var query='message='+content.message;var request=new eXo.portal.AjaxRequest('POST',(url||this._cometd.url),query);request.timeout=180000;request.onSuccess=function(request){this._cometd._polling=false;if(request.status>=200&&request.status<300){this._cometd.deliver(request.evalResponse());}
else
this._cometd._backoff();this.tunnelReq=null;this.tunnelCollapse();}.bind(this);request.onError=function(err){this.tunnelReq=null;this._cometd._polling=false;this._cometd._tryToOpenTunnelCnt++;this.tunnelCollapse();throw(new Error('tunnel opening failed'));}.bind(this);request.process();}
instance.tunnelCollapse=function(){if(this._cometd._tryToOpenTunnelCnt>this._cometd._maxTry){return;}
if(!this._cometd._polling){this._cometd._polling=false;if(this._cometd['advice']){if(this._cometd.advice['reconnect']=='none'){return;}
if((this._cometd.advice['interval'])&&(this._cometd.advice.interval>0)){var transport=this;setTimeout(function(){transport._connect();},this._cometd._retryInterval);this._cometd.increaseRetryInterval();}else{this._connect();this._cometd.increaseRetryInterval();}}else{this._connect();this._cometd.increaseRetryInterval();}}}
instance._connect=function(){if((this._cometd['advice'])&&(this._cometd.advice['reconnect']=='handshake')){this._cometd.clientId=null;this._cometd.init(this._cometd.url,this._cometd._props);}else if(this._cometd._connected){this.openTunnelWith({message:eXo.core.JSON.stringify([{channel:'/meta/connect',connectionType:this._connectionType,clientId:this._cometd.clientId,timestamp:this.lastTimestamp,id:''+this._cometd.messageId++}])});}}
instance.sendMessages=function(messages){for(var i=0;i<messages.length;i++){messages[i].clientId=this._cometd.clientId;messages[i].id=''+this._cometd.messageId++;}
var query='message='+eXo.core.JSON.stringify(messages);var request=new eXo.portal.AjaxRequest('POST',this._cometd.url,query);request.onSuccess=function(request){this._cometd.deliver(request.evalResponse());}.bind(this);request.onError=function(err){throw(new Error('error sending the message'));}.bind(this);request.process();}
instance.disconnect=function(){var query='message='+eXo.core.JSON.stringify([{channel:'/meta/disconnect',clientId:this._cometd.clientId,id:''+this._cometd.messageId++}]);var request=new eXo.portal.AjaxRequest('POST',this._cometd.url,query);request.process();}
return instance;}
eXo.core.Cometd=new Cometd();eXo.portal.LongPollTransport=LongPollTransport.prototype.constructor;function Spliter(){};Spliter.prototype.exeRowSplit=function(e,markerobj){_e=(window.event)?window.event:e;this.posY=_e.clientY;var marker=(typeof(markerobj)=="string")?document.getElementById(markerobj):markerobj;this.beforeArea=eXo.core.DOMUtil.findPreviousElementByTagName(marker,"div");this.afterArea=eXo.core.DOMUtil.findNextElementByTagName(marker,"div");this.beforeArea.style.height=this.beforeArea.offsetHeight+"px";this.afterArea.style.height=this.afterArea.offsetHeight+"px";this.beforeY=this.beforeArea.offsetHeight;this.afterY=this.afterArea.offsetHeight;document.onmousemove=eXo.core.Spliter.adjustHeight;document.onmouseup=eXo.core.Spliter.clear;};Spliter.prototype.adjustHeight=function(evt){evt=(window.event)?window.event:evt;var Spliter=eXo.core.Spliter;var delta=evt.clientY-Spliter.posY;var afterHeight=(Spliter.afterY-delta);var beforeHeight=(Spliter.beforeY+delta);if(beforeHeight<=0||afterHeight<=0)return;Spliter.beforeArea.style.height=beforeHeight+"px";Spliter.afterArea.style.height=afterHeight+"px";};Spliter.prototype.clear=function(){document.onmousemove=null;};eXo.core.Spliter=new Spliter();function AnimationSlider(){this.timerlen=5;this.slideAniLen=1000;this.timerID=new Array();this.startTime=new Array();this.obj=new Array();this.endHeight=new Array();this.moving=new Array();this.endSlideUpCallback=new Array();this.dir=new Array();}
AnimationSlider.prototype.slidedown=function(objname){if(this.moving[objname])
return;if(document.getElementById(objname).style.display!="none")
return;this.moving[objname]=true;this.dir[objname]="down";this.startslide(objname);}
AnimationSlider.prototype.slidedownup=function(objname,endSlideUpCallback){this.slidedown(objname);this.endSlideUpCallback[objname]=endSlideUpCallback;setTimeout("eXo.core.Notification.AnimationSlider.slideup('"+objname+"')",3000);}
AnimationSlider.prototype.slideup=function(objname){if(this.moving[objname])
return;if(document.getElementById(objname).style.display=="none")
return;this.moving[objname]=true;this.dir[objname]="up";this.startslide(objname);}
AnimationSlider.prototype.startslide=function(objname){this.obj[objname]=document.getElementById(objname);this.endHeight[objname]=parseInt(this.obj[objname].style.height);this.startTime[objname]=(new Date()).getTime();if(this.dir[objname]=="down"){this.obj[objname].style.height="1px";}
this.obj[objname].style.display="block";this.timerID[objname]=setInterval('eXo.core.Notification.AnimationSlider.slidetick(\''+objname+'\');',this.timerlen);}
AnimationSlider.prototype.slidetick=function(objname){var elapsed=(new Date()).getTime()-this.startTime[objname];if(elapsed>this.slideAniLen)
this.endSlide(objname);else{var before="before:"+this.obj[objname].id+"-"+this.obj[objname].style.height+"-";var d=Math.round(elapsed/this.slideAniLen*this.endHeight[objname]);if(this.dir[objname]=="up")
d=this.endHeight[objname]-d;this.obj[objname].style.height=d+"px";}
return;}
AnimationSlider.prototype.endSlide=function(objname){clearInterval(this.timerID[objname]);if(this.dir[objname]=="up"){this.obj[objname].style.display="none";if(this.endSlideUpCallback[objname]){this.endSlideUpCallback[objname](objname);}}
this.obj[objname].style.height=this.endHeight[objname]+"px";delete(this.moving[objname]);delete(this.timerID[objname]);delete(this.startTime[objname]);delete(this.endHeight[objname]);delete(this.obj[objname]);delete(this.dir[objname]);return;}
function Notification(){this.msgId=0;if(eXo.core.Topic!=null){eXo.core.Topic.subscribe("/eXo/portal/notification",function(event){eXo.core.Notification.addMessage(event.message);})}}
Notification.prototype.deleteBox=function(objname){var el=document.getElementById(objname);el.parentNode.removeChild(el);}
Notification.prototype.addMessage=function(msg){var currBoxId="messageBox_"+this.msgId++;var msgEl=document.createElement('div');msgEl.id=currBoxId;msgEl.style.width="200px";msgEl.style.height="75px";msgEl.style.display="none";msgEl.className="messageBox";msgEl.innerHTML="<div id='messageContent'>"+msg+"</div>";var msgsEl=document.getElementById("msgs");if(msgsEl==null){document.body.appendChild(document.createElement('div')).id="msgs";msgsEl=document.getElementById("msgs");}
msgsEl.appendChild(msgEl);eXo.core.Notification.AnimationSlider.slidedownup(currBoxId,this.deleteBox);}
eXo.core.Notification=new Notification();eXo.core.Notification.AnimationSlider=new AnimationSlider();var using=window.using=function(scriptName,callback,context){function durl(sc){var su=sc;if(sc&&sc.substring(0,4)=="url("){su=sc.substring(4,sc.length-1);}
var r=using.registered[su];return(!r&&(!using.__durls||!using.__durls[su])&&sc&&sc.length>4&&sc.substring(0,4)=="url(");}
var a=-1;var scriptNames=new Array();if(typeof(scriptName)!="string"&&scriptName.length){var _scriptNames=scriptName;for(var s=0;s<_scriptNames.length;s++){if(using.registered[_scriptNames[s]]||durl(_scriptNames[s])){scriptNames.push(_scriptNames[s]);}}
scriptName=scriptNames[0];a=1;}else{while(typeof(arguments[++a])=="string"){if(using.registered[scriptName]||durl(scriptName)){scriptNames.push(arguments[a]);}}}
callback=arguments[a];context=arguments[++a];if(scriptNames.length>1){var cb=callback;callback=function(){using(scriptNames,cb,context);}}
var reg=using.registered[scriptName];if(!using.__durls)using.__durls={};if(durl(scriptName)&&scriptName.substring(0,4)=="url("){scriptName=scriptName.substring(4,scriptName.length-1);if(!using.__durls[scriptName]){scriptNames[0]=scriptName;using.register(scriptName,true,scriptName);reg=using.registered[scriptName];var callbackQueue=using.prototype.getCallbackQueue(scriptName);var cbitem=new using.prototype.CallbackItem(function(){using.__durls[scriptName]=true;});callbackQueue.push(cbitem);callbackQueue.push(new using.prototype.CallbackItem(callback,context));callback=undefined;context=undefined;}}
if(reg){for(var r=reg.requirements.length-1;r>=0;r--){if(using.registered[reg.requirements[r].name]){using(reg.requirements[r].name,function(){using(scriptName,callback,context);},context);return;}}
for(var u=0;u<reg.urls.length;u++){if(u==reg.urls.length-1){if(callback){using.load(reg.name,reg.urls[u],reg.remote,reg.asyncWait,new using.prototype.CallbackItem(callback,context));}else{using.load(reg.name,reg.urls[u],reg.remote,reg.asyncWait);}}else{using.load(reg.name,reg.urls[u],reg.remote,reg.asyncWait);}}}else{var cb=callback;if(cb){cb.call(context);}}}
using.prototype={CallbackItem:function(_callback,_context){this.callback=_callback;this.context=_context;this.invoke=function(){if(this.context)this.callback.call(this.context);else this.callback();};},Registration:function(_name,_version,_remote,_asyncWait,_urls){this.name=_name;var a=0;var arg=arguments[++a];var v=true;if(typeof(arg)=="string"){for(var c=0;c<arg.length;c++){if("1234567890.".indexOf(arg.substring(c))==-1){v=false;break;}}
if(v){this.version=arg;arg=arguments[++a];}else{this.version="1.0.0";}}
if(arg&&typeof(arg)=="boolean"){this.remote=arg;arg=arguments[++a];}else{this.remote=false;}
if(arg&&typeof(arg)=="number"){this.asyncWait=_asyncWait;}else{this.asyncWait=0;}
this.urls=new Array();if(arg&&arg.length&&typeof(arg)!="string"){this.urls=arg;}else{for(a=a;a<arguments.length;a++){if(arguments[a]&&typeof(arguments[a])=="string"){this.urls.push(arguments[a]);}}}
this.requirements=new Array();this.requires=function(resourceName,minimumVersion){if(!minimumVersion)minimumVersion="1.0.0";this.requirements.push({name:resourceName,minVersion:minimumVersion});return this;}
this.register=function(name,version,remote,asyncWait,urls){return using.register(name,version,remote,asyncWait,urls);}
return this;},register:function(name,version,remote,asyncWait,urls){var reg;if(typeof(name)=="object"){reg=name;reg=new using.prototype.Registration(reg.name,reg.version,reg.remote,reg.asyncWait,urls);}else{reg=new using.prototype.Registration(name,version,remote,asyncWait,urls);}
if(!using.registered)using.registered={};if(using.registered[name]&&window.console){window.console.log("Warning: Resource named \""+name+"\" was already registered with using.register(); overwritten.");}
using.registered[name]=reg;return reg;},wait:1,defaultAsyncWait:250,getCallbackQueue:function(scriptUrl){if(!using.__callbackQueue){using.__callbackQueue={};}
var callbackQueue=using.__callbackQueue[scriptUrl];if(!callbackQueue){callbackQueue=using.__callbackQueue[scriptUrl]=new Array();}
return callbackQueue;},load:function(scriptName,scriptUrl,remote,asyncWait,cb){if(asyncWait==undefined)asyncWait=using.wait;if(remote&&asyncWait==0)asyncWait=using.defaultAsyncWait;if(!using.loadedScripts)using.loadedScripts=new Array();var callbackQueue=using.prototype.getCallbackQueue(scriptUrl);callbackQueue.push(new using.prototype.CallbackItem(function(){using.loadedScripts.push(using.registered[scriptName]);using.registered[scriptName]=false;},null));if(cb){callbackQueue.push(cb);if(callbackQueue.length>2)return;}
if(remote){using.srcScript(scriptUrl,asyncWait,callbackQueue);}else{var request=eXo.core.Browser.createHttpRequest();request.open('GET',scriptUrl,false);request.send(null);using.injectScript(request.responseText,scriptName);if(callbackQueue){for(var q=0;q<callbackQueue.length;q++){callbackQueue[q].invoke();}}
using.__callbackQueue[scriptUrl]=undefined;}},genScriptNode:function(){var scriptNode=document.createElement("script");scriptNode.setAttribute("type","text/javascript");scriptNode.setAttribute("language","JavaScript");return scriptNode;},srcScript:function(scriptUrl,asyncWait,callbackQueue){var scriptNode=using.prototype.genScriptNode();scriptNode.setAttribute("src",scriptUrl);if(callbackQueue){var execQueue=function(){using.__callbackQueue[scriptUrl]=undefined;for(var q=0;q<callbackQueue.length;q++){callbackQueue[q].invoke();}
callbackQueue=new Array();}
scriptNode.onload=scriptNode.onreadystatechange=function(){if((!scriptNode.readyState)||scriptNode.readyState=="loaded"||scriptNode.readyState=="complete"||scriptNode.readyState==4&&scriptNode.status==200){if(asyncWait>0){setTimeout(execQueue,asyncWait);}
else{execQueue();}}};}
var headNode=document.getElementsByTagName("head")[0];headNode.appendChild(scriptNode);},injectScript:function(scriptText,scriptName){var scriptNode=using.prototype.genScriptNode();try{scriptNode.setAttribute("name",scriptName);}catch(err){}
scriptNode.text=scriptText;var headNode=document.getElementsByTagName("head")[0];headNode.appendChild(scriptNode);}};using.register=using.prototype.register;using.load=using.prototype.load;using.wait=using.prototype.wait;using.defaultAsyncWait=using.prototype.defaultAsyncWait;using.srcScript=using.prototype.srcScript;using.injectScript=using.prototype.injectScript;eXo.core.Using=using;function I18n(){this.init();}
I18n.prototype.init=function(){var html=document.getElementsByTagName('html')[0];var lang=html.getAttribute('xml:lang')||html.getAttribute('lang')||"en";var dir=html.getAttribute('dir')||"lt";this.lang=lang;this.dir=dir;this.orientation="rtl"==dir?"rt":"lt";this.lt=this.orientation=="lt";}
I18n.prototype.getLanguage=function(){return this.language;}
I18n.prototype.getOrientation=function(){return this.orientation;}
I18n.prototype.getDir=function(){return!this.lt;}
I18n.prototype.isLT=function(){return this.lt;}
I18n.prototype.isRT=function(){return!this.lt;}
eXo.core.I18n=new I18n();eXo.gadget.UIGadget={createGadget:function(url,id,metadata,userPref,view){window.gadgets=window.gadgets||{};eXo.gadgets=window.gadgets;if(!eXo.gadgets||!eXo.gadgets.rpc){eXo.core.Using.register('rpc','/eXoGadgetServer/gadgets/js/rpc.js?c=1&debug=1&p=1');eXo.core.Using.register('eXo.gadgets.Gadgets','/eXoGadgets/javascript/eXo/gadgets/Gadgets.js');eXo.core.Using.register('eXo.gadgets.ExoBasedUserPrefStore','/eXoGadgets/javascript/eXo/gadgets/ExoBasedUserPrefStore.js');eXo.core.Using("rpc");eXo.core.Using("eXo.gadgets.Gadgets");eXo.core.Using("eXo.gadgets.ExoBasedUserPrefStore");}
var gadget;if(metadata!=null){gadget=gadgets.container.createGadget({specUrl:url,height:metadata.gadgets[0].height,secureToken:metadata.gadgets[0].secureToken,view:view});gadget.metadata=metadata.gadgets[0];}else{gadget=gadgets.container.createGadget({specUrl:url});}
gadget.parentId=id;gadgets.container.addGadget(gadget);if(userPref!=null)gadget.userPrefs_=userPref;var gadgetBlock=document.getElementById(id);gadgetBlock.innerHTML="<div id='gadget_"+gadget.id+"' class='UIGadgetContent'> </div>";gadgets.container.renderGadgets();var uiGadget=eXo.core.DOMUtil.findAncestorByClass(gadgetBlock,"UIGadget");if(uiGadget!=null){var isDesktop=false;if(uiGadget.parentNode.className=="UIPageDesktop"){uiGadget.style.position="absolute";isDesktop=true;}
else uiGadget.style.width="auto";eXo.gadget.UIGadget.init(uiGadget,isDesktop,gadget.metadata);}},init:function(uiGadget,inDesktop,metadata){var portletFragment=eXo.core.DOMUtil.findAncestorByClass(uiGadget,"PORTLET-FRAGMENT");if(portletFragment==null){uiGadget.onmouseover=eXo.gadget.UIGadget.showGadgetControl;uiGadget.onmouseout=eXo.gadget.UIGadget.hideGadgetControl;}else{var gadgetControl=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadget,"div","GadgetControl");gadgetControl.style.display="block";var gadgetTitle=eXo.core.DOMUtil.findFirstDescendantByClass(gadgetControl,"div","GadgetTitle");gadgetTitle.style.display="block";if(metadata&&metadata.title.length>0)gadgetTitle.innerHTML=metadata.title;}
if(inDesktop){var dragHandleArea=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadget,"div","GadgetDragHandleArea");if(uiGadget.style.zIndex<0)uiGadget.style.zIndex=0;eXo.core.DragDrop2.init(dragHandleArea,uiGadget);var uiPageDesktop=document.getElementById("UIPageDesktop");var offsetHeight=uiPageDesktop.offsetHeight-uiGadget.offsetHeight;var offsetWidth=uiPageDesktop.offsetWidth-uiGadget.offsetWidth;var dragPosX=uiGadget.offsetLeft;var dragPosY=uiGadget.offsetTop;if(dragPosX<0)uiGadget.style.left="0px";if(dragPosY<0)uiGadget.style.top="0px";if(dragPosY>offsetHeight)uiGadget.style.top=offsetHeight+"px";if(dragPosX>offsetWidth)uiGadget.style.left=offsetWidth+"px";uiGadget.onDragStart=function(x,y,lastMouseX,lastMouseY,e){var uiPageDesktop=document.getElementById("UIPageDesktop");if(uiPageDesktop==null)return;var uiGadgets=eXo.core.DOMUtil.findChildrenByClass(uiPageDesktop,"div","UIGadget");for(var i=0;i<uiGadgets.length;i++){var uiMask=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadgets[i],"div","UIMask");if(uiMask!=null){var gadgetContent=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadgets[i],"div","gadgets-gadget-content");uiMask.style.marginTop=-gadgetContent.offsetHeight+"px";uiMask.style.height=gadgetContent.offsetHeight+"px";uiMask.style.width=gadgetContent.offsetWidth+"px";uiMask.style.backgroundColor="white";eXo.core.Browser.setOpacity(uiMask,3);uiMask.style.display="block";}}}
uiGadget.onDrag=function(nx,ny,ex,ey,e){if(nx<0)uiGadget.style.left="0px";if(ny<0)uiGadget.style.top="0px";}
uiGadget.onDragEnd=function(x,y,clientX,clientY){var uiPageDesktop=document.getElementById("UIPageDesktop");var uiGadgets=eXo.core.DOMUtil.findChildrenByClass(uiPageDesktop,"div","UIGadget");for(var i=0;i<uiGadgets.length;i++){var uiMask=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadgets[i],"div","UIMask");if(uiMask){uiMask.style.display="none";}}
var offsetHeight=uiPageDesktop.offsetHeight-uiGadget.offsetHeight;var offsetWidth=uiPageDesktop.offsetWidth-uiGadget.offsetWidth;var dragPosX=uiGadget.offsetLeft;var dragPosY=uiGadget.offsetTop;if(dragPosX<0)uiGadget.style.left="0px";if(dragPosY<0)uiGadget.style.top="0px";if(dragPosY>offsetHeight)uiGadget.style.top=offsetHeight+"px";if(dragPosX>offsetWidth)uiGadget.style.left=offsetWidth+"px";eXo.gadget.UIGadget.saveWindowProperties(uiGadget);}}},showGadgetControl:function(e){if(!e)e=window.event;e.cancelBubble=true;var DOMUtil=eXo.core.DOMUtil;var uiGadget=this;var gadgetControl=DOMUtil.findFirstDescendantByClass(uiGadget,"div","GadgetControl");gadgetControl.style.visibility="visible";var uiPageDesktop=DOMUtil.findAncestorByClass(uiGadget,"UIPageDesktop");if(uiPageDesktop){var dragHandleArea=DOMUtil.findFirstDescendantByClass(gadgetControl,"div","GadgetTitle");}},hideGadgetControl:function(e){if(!e)e=window.event;e.cancelBubble=true;var uiGadget=this;var gadgetControl=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadget,"div","GadgetControl");gadgetControl.style.visibility="hidden";uiGadget.style.border="none";},editGadget:function(id){var DOMUtil=eXo.core.DOMUtil;var uiapp=document.getElementById(id);var id=eXo.core.DOMUtil.findFirstDescendantByClass(uiapp,"iframe","gadgets-gadget");var tempId=id.id.split('_')[2];gadgets.container.getGadget(tempId).handleOpenUserPrefsDialog();},minimizeGadget:function(selectedElement){var DOMUtil=eXo.core.DOMUtil;var uiGadget=DOMUtil.findAncestorByClass(selectedElement,"UIGadget");var portletFrag=DOMUtil.findAncestorByClass(uiGadget,"PORTLET-FRAGMENT");if(!portletFrag)return;var gadgetApp=DOMUtil.findFirstChildByClass(uiGadget,"div","GadgetApplication");var minimized=false;if(gadgetApp.style.display!="none"){minimized=true;gadgetApp.style.display="none";DOMUtil.replaceClass(selectedElement,"MinimizeGadget","RestoreGadget");}else{minimized=false;gadgetApp.style.display="block";DOMUtil.replaceClass(selectedElement,"RestoreGadget","MinimizeGadget");}
var compId=portletFrag.parentNode.id;var uicomp=DOMUtil.getChildrenByTagName(portletFrag,"div")[0].className;var href=eXo.env.server.portalBaseURL+"?portal:componentId="+compId;href+="&amp;portal:type=action&amp;uicomponent="+uicomp;href+="&amp;op=MinimizeGadget";href+="&amp;minimized="+minimized;href+="&amp;objectId="+uiGadget.id+"&amp;ajaxRequest=true";ajaxAsyncGetRequest(href);if(uiGadget.minimizeCallback)uiGadget.minimizeCallback(portletFrag.parentNode.id);},deleteGadget:function(selectedElement){var DOMUtil=eXo.core.DOMUtil;var uiGadgetContainer=DOMUtil.findAncestorByClass(selectedElement,"UIWidgetContainer");var uiPage=DOMUtil.findAncestorByClass(selectedElement,"UIPage");var uiGadget=DOMUtil.findAncestorByClass(selectedElement,"UIGadget");var containerBlockId;var isInControlWorkspace=false;gadgetId=uiGadget.id;var portletFragment=DOMUtil.findAncestorByClass(uiGadget,"PORTLET-FRAGMENT");if(portletFragment!=null){var compId=portletFragment.parentNode.id;var uicomp="";if(DOMUtil.findChildrenByClass(portletFragment,"div","UIDashboard")){uicomp="UIDashboard";}
else
uicomp=DOMUtil.getChildrenByTagName(portletFragment,"div")[0].className;if(confirm("Are you sure you want to delete this gadget ?")){var href=eXo.env.server.portalBaseURL+"?portal:componentId="+compId;href+="&portal:type=action&uicomponent="+uicomp;href+="&op=DeleteGadget";href+="&objectId="+gadgetId+"&ajaxRequest=true";ajaxGet(href);}}else{if(uiPage){var uiPageIdNode=DOMUtil.findFirstDescendantByClass(uiPage,"div","id");containerBlockId=uiPageIdNode.innerHTML;}
else{containerBlockId=uiGadgetContainer.id;isInControlWorkspace=true;}
if(confirm("Are you sure you want to delete this gadget ?")){var params=[{name:"objectId",value:gadgetId}];var result=ajaxAsyncGetRequest(eXo.env.server.createPortalURL(containerBlockId,"DeleteGadget",true,params),false);if(result=="OK"){DOMUtil.removeElement(uiGadget);if(isInControlWorkspace)eXo.webui.UIVerticalScroller.refreshScroll(0);}}}},saveWindowProperties:function(object){var DOMUtil=eXo.core.DOMUtil;var uiPage=DOMUtil.findAncestorByClass(object,"UIPage");var uiPageIdNode=DOMUtil.findFirstDescendantByClass(uiPage,"div","id");containerBlockId=uiPageIdNode.innerHTML;var gadgetApp=DOMUtil.findFirstDescendantByClass(object,"div","GadgetApplication");var gadgetId=object.id;var params=[{name:"objectId",value:gadgetId},{name:"posX",value:object.offsetLeft},{name:"posY",value:object.offsetTop},{name:"zIndex",value:object.style.zIndex}];ajaxAsyncGetRequest(eXo.env.server.createPortalURL(containerBlockId,"SaveGadgetProperties",true,params),false);},resizeContainer:function(){var widgets=document.getElementById("UIWidgets");if(widgets==null)return;var DOMUtil=eXo.core.DOMUtil;var workspacePanel=document.getElementById("UIWorkspacePanel");if(workspacePanel.style.display=="none")return;var uiWidgetContainer=DOMUtil.findFirstDescendantByClass(widgets,"div","UIWidgetContainer");if(uiWidgetContainer==null)return;var widgetNavigator=DOMUtil.findFirstChildByClass(uiWidgetContainer,"div","WidgetNavigator");var widgetContainerScrollArea=DOMUtil.findFirstChildByClass(uiWidgetContainer,"div","WidgetContainerScrollArea");var itemSelectorContainer=DOMUtil.findFirstChildByClass(widgets,"div","ItemSelectorContainer");var availableHeight=workspacePanel.offsetHeight-(itemSelectorContainer.offsetHeight+widgetNavigator.offsetHeight+40);if(eXo.core.Browser.isIE6()||workspacePanel.offsetHeight<1){var uiControlWorkspace=document.getElementById("UIControlWorkspace");var fixHeight=uiControlWorkspace.offsetHeight-153;fixHeight=(fixHeight<0)?0:fixHeight;if(widgetContainerScrollArea.offsetHeight==fixHeight)return;widgetContainerScrollArea.style.height=fixHeight+"px";}else{if(availableHeight<0)return;widgetContainerScrollArea.style.height=availableHeight+"px";}
widgetContainerScrollArea.style.overflow="hidden";}}
function UIItemSelector(){this.backupClass;this.backupItem;};UIItemSelector.prototype.onOver=function(selectedElement,mouseOver){if(selectedElement.className=="Item"){eXo.webui.UIItemSelector.beforeActionHappen(selectedElement);}
if(mouseOver){this.backupClass=selectedElement.className;selectedElement.className="OverItem Item";}else{selectedElement.className=this.backupClass;}};UIItemSelector.prototype.onClick=function(clickedElement){var itemListContainer=clickedElement.parentNode;var allItems=eXo.core.DOMUtil.findDescendantsByClass(itemListContainer,"div","Item");eXo.webui.UIItemSelector.beforeActionHappen(clickedElement);if(this.allItems.length<=0)return;for(var i=0;i<allItems.length;i++){if(allItems[i]!=clickedElement){allItems[i].className="Item";this.onChangeItemDetail(clickedElement,true);}else{allItems[i].className="SelectedItem Item";this.backupClass="SelectedItem Item";this.onChangeItemDetail(clickedElement,false);}}};UIItemSelector.prototype.onChangeItemDetail=function(itemSelected,mouseOver){if(!this.allItems||this.allItems.length<=0)return;if(mouseOver){for(var i=0;i<this.allItems.length;i++){if(this.allItems[i]==itemSelected){this.itemDetails[i].style.display="block";}else{this.itemDetails[i].style.display="none";}}}else{for(var i=0;i<this.allItems.length;i++){if(this.allItems[i].className=="SelectedItem Item"){this.itemDetails[i].style.display="block";}else{this.itemDetails[i].style.display="none";}}}};UIItemSelector.prototype.onClickCategory=function(clickedElement,form,component,option){eXo.webui.UIItemSelector.onClick(clickedElement);if(eXo.webui.UIItemSelector.SelectedItem==null){eXo.webui.UIItemSelector.SelectedItem=new Object();}
eXo.webui.UIItemSelector.SelectedItem.component=component;eXo.webui.UIItemSelector.SelectedItem.option=option;};UIItemSelector.prototype.onClickOption=function(clickedElement,form,component,option){var itemDetailList=eXo.core.DOMUtil.findAncestorByClass(clickedElement,"ItemDetailList");var selectedItems=eXo.core.DOMUtil.findDescendantsByClass(itemDetailList,"div","SelectedItem");for(var i=0;i<selectedItems.length;i++){selectedItems[i].className="NormalItem";}
clickedElement.className="SelectedItem";if(eXo.webui.UIItemSelector.SelectedItem==null){eXo.webui.UIItemSelector.SelectedItem=new Object();}
eXo.webui.UIItemSelector.SelectedItem.component=component;eXo.webui.UIItemSelector.SelectedItem.option=option;};UIItemSelector.prototype.beforeActionHappen=function(selectedItem){DOMUtil=eXo.core.DOMUtil;this.uiItemSelector=DOMUtil.findAncestorByClass(selectedItem,"UIItemSelector");this.itemList=DOMUtil.findAncestorByClass(selectedItem,"ItemList");this.itemListContainer=DOMUtil.findAncestorByClass(selectedItem,"ItemListContainer");this.itemListAray=DOMUtil.findDescendantsByClass(this.itemListContainer.parentNode,"div","ItemList");if(this.itemListAray.length>1){this.itemDetailLists=DOMUtil.findDescendantsByClass(this.itemListContainer.parentNode,"div","ItemDetailList");this.itemDetailList=null;for(var i=0;i<this.itemListAray.length;i++){if(this.itemListAray[i].style.display=="none"){this.itemDetailLists[i].style.display="none";}else{this.itemDetailList=this.itemDetailLists[i];this.itemDetailList.style.display="block";}}}else{this.itemDetailList=DOMUtil.findFirstDescendantByClass(this.itemListContainer.parentNode,"div","ItemDetailList");}
this.itemDetails=DOMUtil.findDescendantsByClass(this.itemDetailList,"div","ItemDetail");var firstItemDescendant=DOMUtil.findFirstDescendantByClass(this.itemList,"div","Item");var firstItemParent=firstItemDescendant.parentNode;this.allItems=DOMUtil.findChildrenByClass(firstItemParent,"div","Item");};UIItemSelector.prototype.showPopupCategory=function(selectedNode){var DOMUtil=eXo.core.DOMUtil;var itemListContainer=DOMUtil.findAncestorByClass(selectedNode,"ItemListContainer");var uiPopupCategory=DOMUtil.findFirstDescendantByClass(itemListContainer,"div","UIPopupCategory");itemListContainer.style.position="relative";if(uiPopupCategory.style.display=="none"){uiPopupCategory.style.position="absolute";uiPopupCategory.style.top="23px";uiPopupCategory.style.left="0px";uiPopupCategory.style.display="block";uiPopupCategory.style.width="100%";}else{uiPopupCategory.style.display="none";}};UIItemSelector.prototype.selectCategory=function(selectedNode){var DOMUtil=eXo.core.DOMUtil;var uiPopupCategory=DOMUtil.findAncestorByClass(selectedNode,"UIPopupCategory");var itemListContainer=DOMUtil.findAncestorByClass(selectedNode,"OverflowContainer");var selectedNodeIndex=eXo.webui.UIItemSelector.findIndex(selectedNode);var itemLists=DOMUtil.findDescendantsByClass(itemListContainer,"div","ItemList");var itemDetailLists=DOMUtil.findDescendantsByClass(itemListContainer,"div","ItemDetailList");for(var i=0;i<itemLists.length;i++){if(i!=selectedNodeIndex){itemLists[i].style.display="none";itemDetailLists[i].style.display="none";}else{itemDetailLists[i].style.display="block";itemLists[i].style.display="block";}}
uiPopupCategory.style.display="none";};UIItemSelector.prototype.findIndex=function(object){var parentNode=object.parentNode;var objectElements=eXo.core.DOMUtil.findChildrenByClass(parentNode,"div",object.className);for(var i=0;i<objectElements.length;i++){if(objectElements[i]==object)return i;}};UIItemSelector.prototype.selectPageLayout=function(id,selectedIndex){var DOMUtil=eXo.core.DOMUtil;var uiDropDownControl=document.getElementById(id);var itemSelectorAncestor=DOMUtil.findAncestorByClass(uiDropDownControl,"ItemSelectorAncestor");var itemList=DOMUtil.findDescendantsByClass(itemSelectorAncestor,"div","ItemList");var itemSelectorLabel=DOMUtil.findDescendantsByClass(itemSelectorAncestor,"a","OptionItem");var uiItemSelector=DOMUtil.findAncestorByClass(uiDropDownControl,"UIItemSelector");var itemDetailList=DOMUtil.findDescendantsByClass(uiItemSelector,"div","ItemDetailList");if(itemList==null)return;for(i=0;i<itemSelectorLabel.length;++i){if(i>=itemList.length)continue;if(i==selectedIndex){itemList[i].style.display="block";if(itemDetailList.length<1)continue;itemDetailList[i].style.display="block";var selectedItem=DOMUtil.findFirstDescendantByClass(itemList[i],"div","SelectedItem");if(selectedItem==null)continue;var setValue=DOMUtil.findDescendantById(selectedItem,"SetValue");if(setValue==null)continue;eval(setValue.innerHTML);}else{itemList[i].style.display="none";if(itemDetailList.length>0)itemDetailList[i].style.display="none";}}};eXo.webui.UIItemSelector=new UIItemSelector();function UIForm(){};UIForm.prototype.getFormElemt=function(pattern){if(pattern.indexOf("#")==-1)return document.getElementById(pattern);var strArr=pattern.split("#");var portlet=document.getElementById(strArr[0]);return eXo.core.DOMUtil.findDescendantById(portlet,strArr[1]);}
UIForm.prototype.submitForm=function(formId,action,useAjax,callback){if(!callback)callback=null;var form=this.getFormElemt(formId);try{if(FCKeditorAPI&&typeof FCKeditorAPI=="object"){for(var name in FCKeditorAPI.__Instances){var oEditor;try{oEditor=FCKeditorAPI.__Instances[name];if(oEditor&&oEditor.GetParentForm&&oEditor.GetParentForm()==form){oEditor.UpdateLinkedField();}}catch(e){continue;}}}}catch(e){}
form.elements['formOp'].value=action;if(useAjax)ajaxPost(form,callback);else form.submit();};UIForm.prototype.submitEvent=function(formId,action,params){var form=this.getFormElemt(formId);try{if(FCKeditorAPI&&typeof FCKeditorAPI=="object"){for(var name in FCKeditorAPI.__Instances){var oEditor=FCKeditorAPI.__Instances[name];if(oEditor.GetParentForm&&oEditor.GetParentForm()==form){oEditor.UpdateLinkedField();}}}}catch(e){}
form.elements['formOp'].value=action;if(!form.originalAction)form.originalAction=form.action;form.action=form.originalAction+encodeURI(params);ajaxPost(form);};UIForm.prototype.selectBoxOnChange=function(formId,elemt){var selectBox=eXo.core.DOMUtil.findAncestorByClass(elemt,"UISelectBoxOnChange");var contentContainer=eXo.core.DOMUtil.findFirstDescendantByClass(selectBox,"div","SelectBoxContentContainer");var tabs=eXo.core.DOMUtil.findChildrenByClass(contentContainer,"div","SelectBoxContent");for(var i=0;i<tabs.length;i++){tabs[i].style.display="none";}
tabs[elemt.selectedIndex].style.display="block";};UIForm.prototype.setHiddenValue=function(formId,typeId,hiddenValue){var form=document.getElementById(formId);if(form==null){maskWorkspace=document.getElementById("UIMaskWorkspace");form=eXo.core.DOMUtil.findDescendantById(maskWorkspace,formId);}
form.elements[typeId].value=hiddenValue;};UIForm.prototype.serializeForm=function(formElement){var queryString="";var element;var elements=formElement.elements;this.addField=function(name,value){if(queryString.length>0)queryString+="&";queryString+=name+"="+encodeURIComponent(value);};for(var i=0;i<elements.length;i++){element=elements[i];switch(element.type){case"text":case"hidden":case"password":case"textarea":this.addField(element.name,element.value.replace(/\r/gi,""));break;case"checkbox":case"radio":if(element.checked)this.addField(element.name,element.value);break;case"select-one":if(element.selectedIndex>-1){this.addField(element.name,element.options[element.selectedIndex].value);}
break;case"select-multiple":while(element.selectedIndex!=-1){this.addField(element.name,element.options[element.selectedIndex].value);element.options[element.selectedIndex].selected=false;}
break;}}
return queryString;};eXo.webui.UIForm=new UIForm();function UIPopup(){this.zIndex=3;};UIPopup.prototype.init=function(popup,containerId){if(typeof(popup)=="string")popup=document.getElementById(popup);if(containerId)popup.containerId=containerId;popup.onmousedown=this.changezIndex;};UIPopup.prototype.changezIndex=function(){this.style.zIndex=++eXo.webui.UIPopup.zIndex;};UIPopup.prototype.create=function(){var popup=document.createElement("div");with(popup.style){position="relative";display="none";}
return popup;};UIPopup.prototype.setSize=function(popup,w,h){popup.style.width=w+"px";popup.style.height=h+"px";};UIPopup.prototype.show=function(popup){if(typeof(popup)=="string"){popup=document.getElementById(popup);}
var uiMaskWS=document.getElementById("UIMaskWorkspace");if(uiMaskWS){uiMaskWSzIndex=eXo.core.DOMUtil.getStyle(uiMaskWS,"zIndex");if(uiMaskWSzIndex&&(uiMaskWSzIndex>eXo.webui.UIPopup.zIndex)){eXo.webui.UIPopup.zIndex=uiMaskWSzIndex;}}
popup.style.zIndex=++eXo.webui.UIPopup.zIndex;popup.style.display="block";};UIPopup.prototype.hide=function(popup){if(typeof(popup)=="string"){popup=document.getElementById(popup);}
popup.style.display="none";};UIPopup.prototype.setPosition=function(popup,x,y){if(popup.containerId){var container=document.getElementById(popup.containerId);container.style.position="relative";}
popup.style.position="absolute";popup.style.top=y+"px";popup.style.left=x+"px";};UIPopup.prototype.setAlign=function(popup,pos){if(typeof(popup)=='string')popup=document.getElementById(popup);var intTop=0;var intLeft=0;switch(pos){case 1:intTop=0;intLeft=0;break;case 2:intTop=0;intLeft=(eXo.core.Browser.getBrowserWidth()-popup.offsetWidth);break;case 3:intTop=(eXo.core.Browser.getBrowserHeight()-popup.offsetHeight);intLeft=0;break;case 4:intTop=(eXo.core.Browser.getBrowserHeight()-popup.offsetHeight);intLeft=(eXo.core.Browser.getBrowserWidth()-popup.offsetWidth);break;default:intTop=(eXo.core.Browser.getBrowserHeight()-popup.offsetHeight)/2;intLeft=(eXo.core.Browser.getBrowserWidth()-popup.offsetWidth)/2;break;}
this.setPosition(popup,intLeft,intTop);};UIPopup.prototype.initDND=function(evt){var DragDrop=eXo.core.DragDrop;DragDrop.initCallback=null;DragDrop.dragCallback=null;DragDrop.dropCallback=null;var clickBlock=this;var dragBlock=eXo.core.DOMUtil.findAncestorByClass(this,"UIDragObject");DragDrop.init(null,clickBlock,dragBlock,evt);};eXo.webui.UIPopup=new UIPopup();function UIPopupSelectCategory(){};UIPopupSelectCategory.prototype.hide=function(){var ln=eXo.core.DOMUtil.hideElementList.length;if(ln>0){for(var i=0;i<ln;i++){eXo.core.DOMUtil.hideElementList[i].style.display="none";}}};UIPopupSelectCategory.prototype.show=function(obj,evt){if(!evt)evt=window.event;evt.cancelBubble=true;var DOMUtil=eXo.core.DOMUtil;var uiPopupCategory=DOMUtil.findFirstDescendantByClass(obj,'div','UIPopupCategory');if(!uiPopupCategory)return;if(uiPopupCategory.style.display=="none"){eXo.webui.UIPopupSelectCategory.hide();uiPopupCategory.style.display="block";eXo.core.DOMUtil.listHideElements(uiPopupCategory);}
else uiPopupCategory.style.display="none";}
eXo.webui.UIPopupSelectCategory=new UIPopupSelectCategory();function UIPopupWindow(){};UIPopupWindow.prototype.init=function(popupId,isShow,isResizable,showCloseButton,isShowMask){var DOMUtil=eXo.core.DOMUtil;this.superClass=eXo.webui.UIPopup;var popup=document.getElementById(popupId);var portalApp=document.getElementById("UIPortalApplication");if(popup==null)return;popup.style.visibility="hidden";var contentBlock=DOMUtil.findFirstDescendantByClass(popup,'div','PopupContent');if((eXo.core.Browser.getBrowserHeight()-100)<contentBlock.offsetHeight){contentBlock.style.height=(eXo.core.Browser.getBrowserHeight()-100)+"px";}
var popupBar=DOMUtil.findFirstDescendantByClass(popup,'div','PopupTitle');popupBar.onmousedown=this.initDND;if(isShow==false){this.superClass.hide(popup);if(isShowMask)eXo.webui.UIPopupWindow.showMask(popup,false);}
if(isResizable){var resizeBtn=DOMUtil.findFirstDescendantByClass(popup,"div","ResizeButton");resizeBtn.style.display='block';resizeBtn.onmousedown=this.startResizeEvt;portalApp.onmouseup=this.endResizeEvt;}
popup.style.visibility="hidden";if(isShow==true){var iframes=DOMUtil.findDescendantsByTagName(popup,"iframe");if(iframes.length>0){setTimeout("eXo.webui.UIPopupWindow.show('"+popupId+"',"+isShowMask+")",500);}else{this.show(popup,isShowMask);}}};UIPopupWindow.prototype.showMask=function(popup,isShowPopup){var maskId=popup.id+"MaskLayer";var mask=document.getElementById(maskId);if(isShowPopup){if(mask==null)eXo.core.UIMaskLayer.createMaskForFrame(popup.parentNode,popup,1);}else{if(mask!=null)eXo.core.UIMaskLayer.removeMask(mask);}};UIPopupWindow.prototype.show=function(popup,isShowMask,middleBrowser){var DOMUtil=eXo.core.DOMUtil;if(typeof(popup)=="string")popup=document.getElementById(popup);var portalApp=document.getElementById("UIPortalApplication");var maskLayer=DOMUtil.findFirstDescendantByClass(portalApp,"div","UIMaskWorkspace");var zIndex=0;var currZIndex=0;if(maskLayer!=null){currZIndex=DOMUtil.getStyle(maskLayer,"zIndex");if(!isNaN(currZIndex)&&currZIndex>zIndex)zIndex=currZIndex;}
var popupWindows=DOMUtil.findDescendantsByClass(portalApp,"div","UIPopupWindow");var len=popupWindows.length;for(var i=0;i<len;i++){currZIndex=DOMUtil.getStyle(popupWindows[i],"zIndex");if(!isNaN(currZIndex)&&currZIndex>zIndex)zIndex=currZIndex;}
if(zIndex==0)zIndex=2000;if(isShowMask)eXo.webui.UIPopupWindow.showMask(popup,true);popup.style.visibility="hidden";this.superClass.show(popup);var offsetParent=popup.offsetParent;var scrollY=0;if(window.pageYOffset!=undefined)scrollY=window.pageYOffset;else if(document.documentElement!=undefined)scrollY=document.documentElement.scrollTop;else scrollY=document.body.scrollTop;if(offsetParent){var middleWindow=(eXo.core.DOMUtil.hasClass(offsetParent,"UIPopupWindow")||eXo.core.DOMUtil.hasClass(offsetParent,"UIWindow"));if(middleWindow){popup.style.top=Math.ceil((offsetParent.offsetHeight-popup.offsetHeight)/2)+"px";}
if(middleBrowser||!middleWindow){popup.style.top=Math.ceil((eXo.core.Browser.getBrowserHeight()-popup.offsetHeight)/2)+scrollY+"px";}
var checkHeight=popup.offsetHeight>300;if(document.getElementById("UIDockBar")&&checkHeight){popup.style.top="6px";}
popup.style.left=Math.ceil((offsetParent.offsetWidth-popup.offsetWidth)/2)+"px";}
if(eXo.core.Browser.findPosY(popup)<0)popup.style.top=scrollY+"px";popup.style.visibility="visible";};UIPopupWindow.prototype.increasezIndex=function(popup){var DOMUtil=eXo.core.DOMUtil;if(typeof(popup)=="string")popup=document.getElementById(popup);var portalApp=document.getElementById("UIPortalApplication");var uiLogin=DOMUtil.findFirstDescendantByClass(portalApp,"div","UILoginForm");if(uiLogin){var curMaskzIndex=parseInt(DOMUtil.getStyle(document.getElementById('UIMaskWorkspace'),"zIndex"));popup.style.zIndex=++curMaskzIndex+"";}}
UIPopupWindow.prototype.closePopupEvt=function(evt){eXo.core.DOMUtil.findAncestorByClass(this,"UIDragObject").style.display="none";}
UIPopupWindow.prototype.startResizeEvt=function(evt){var portalApp=document.getElementById("UIPortalApplication");eXo.webui.UIPopupWindow.popupId=eXo.core.DOMUtil.findAncestorByClass(this,"UIPopupWindow").id;portalApp.onmousemove=eXo.webui.UIPopupWindow.resize;portalApp.onmouseup=eXo.webui.UIPopupWindow.endResizeEvt;}
UIPopupWindow.prototype.resize=function(evt){var targetPopup=document.getElementById(eXo.webui.UIPopupWindow.popupId);var content=eXo.core.DOMUtil.findFirstDescendantByClass(targetPopup,"div","PopupContent");var pointerX=eXo.core.Browser.findMouseRelativeX(targetPopup,evt);var pointerY=eXo.core.Browser.findMouseRelativeY(targetPopup,evt);var delta=eXo.core.Browser.findPosYInContainer(content,targetPopup)+
content.style.borderWidth+content.style.padding+content.style.margin;if((1*pointerY-delta)>0)content.style.height=(1*pointerY-delta)+"px";targetPopup.style.height="auto";if(pointerX>200)targetPopup.style.width=(pointerX+5)+"px";};UIPopupWindow.prototype.endResizeEvt=function(evt){delete eXo.webui.UIPopupWindow.popupId;this.onmousemove=null;var portalApp=document.getElementById("UIPortalApplication");portalApp.onmouseup=null;eXo.portal.UIPortalControl.initAllManagers();}
UIPopupWindow.prototype.initDND=function(evt){var DragDrop=eXo.core.DragDrop;var DOMUtil=eXo.core.DOMUtil;DragDrop.initCallback=function(dndEvent){var dragObject=dndEvent.dragObject;dragObject.uiWindowContent=DOMUtil.findFirstDescendantByClass(dragObject,"div","PopupContent");if(eXo.core.Browser.browserType=="mozilla"){dragObject.uiWindowContent.style.overflow="hidden";var elements=eXo.core.DOMUtil.findDescendantsByClass(dragObject.uiWindowContent,"div","PopupMessageBox");for(var i=0;i<elements.length;i++){elements[i].style.overflow="hidden";}}}
DragDrop.dragCallback=function(dndEvent){}
DragDrop.dropCallback=function(dndEvent){var dragObject=dndEvent.dragObject;if(eXo.core.Browser.browserType=="mozilla"){dragObject.uiWindowContent.style.overflow="auto";var elements=eXo.core.DOMUtil.findDescendantsByClass(dragObject.uiWindowContent,"div","PopupMessageBox");for(var i=0;i<elements.length;i++){elements[i].style.overflow="auto";}}
var DOMUtil=eXo.core.DOMUtil;var offsetParent=dragObject.offsetParent;if(offsetParent){if(eXo.core.Browser.findPosY(dragObject)<0)dragObject.style.top=(0-offsetParent.offsetTop)+"px";}else{dragObject.style.top="0px";}}
var clickBlock=this;var dragBlock=eXo.core.DOMUtil.findAncestorByClass(this,"UIDragObject");DragDrop.init(null,clickBlock,dragBlock,evt);};eXo.webui.UIPopupWindow=new UIPopupWindow();UIVerticalScroller=function(){};UIVerticalScroller.prototype.init=function(){eXo.gadget.UIGadget.resizeContainer();eXo.webui.UIVerticalScroller.refreshScroll(0);};UIVerticalScroller.prototype.refreshScroll=function(id){var DOMUtil=eXo.core.DOMUtil;var container=document.getElementById("UIWorkspaceContainer");if((container.style.display!="block")||!container)return;var itemContainer=document.getElementById("UIWidgets");if(itemContainer==null)return;var items=DOMUtil.findDescendantsByClass(itemContainer,"div","UIGadget");if(items==null||items.length<1)return;var scrollZone=DOMUtil.findFirstDescendantByClass(itemContainer,"div","ScrollZone");var widgetNavigator=DOMUtil.findFirstDescendantByClass(container,"div","WidgetNavigator");var iconButton=DOMUtil.findDescendantsByClass(widgetNavigator,"div","Icon");var downButton=iconButton[1];var upButton=iconButton[2];var itemSize=items.length;var index=0;for(var i=0;i<itemSize;++i){if(items[i].style.display=="block"){index=i;break;}}
if(index-id>itemSize-1||index==itemSize-1)downButton.className="Icon DisableScrollDownButton";if(index==0){upButton.className="Icon DisableScrollUpButton";if(id==1)return;}
if(itemSize<=0)return;for(var i=index;i<itemSize;++i){items[i].style.display="block";}
var maxHeight=scrollZone.offsetHeight+10;var itemsHeight=0;var tmp=0;var maxIndex=0;var temp=items[index].offsetHeight;if(id<0){items[index].style.display="none";}else{items[index-id].style.display="block";}
if(index<0)index=0;for(var i=index-id;i<itemSize;++i){tmp=items[i].offsetHeight;if(tmp>0&&tmp<209){tmp=229;}
if(DOMUtil.findFirstDescendantByClass(items[i],"div","UIWelcomeWidget")){tmp=146;}
itemsHeight+=tmp;if(itemsHeight>maxHeight){items[i].style.display="none";}else{maxIndex=i;}}
if(maxIndex==(itemSize-1))downButton.className="Icon DisableScrollDownButton";else downButton.className="Icon ScrollDownButton";if(maxHeight>=itemsHeight+temp){if(id<0){items[index].style.display="block";downButton.className="Icon DisableScrollDownButton";if(index==0)index=-1;}}
if(id<0)++index;else--index;if(index>0)upButton.className="Icon ScrollUpButton";else upButton.className="Icon DisableScrollUpButton";};eXo.webui.UIVerticalScroller=new UIVerticalScroller();function UIHorizontalTabs(){this.backupNavigationTabStyle;this.backupItemStyle;};UIHorizontalTabs.prototype.init=function(){};UIHorizontalTabs.prototype.changeTabNavigationStyle=function(clickedEle,over){if(clickedEle==null)return;if(!eXo.core.DOMUtil.hasClass(clickedEle,"UITab"))clickedEle=eXo.core.DOMUtil.findAncestorByClass(clickedEle,"UITab");var tabStyle=eXo.core.DOMUtil.getChildrenByTagName(clickedEle,"div")[0];if(over){this.backupNavigationTabStyle=tabStyle.className;tabStyle.className="HighlightNavigationTab";}else if(this.backupNavigationTabStyle){tabStyle.className=this.backupNavigationTabStyle;}}
UIHorizontalTabs.prototype.itemOver=function(selectedElement,over){if(over){this.backupItemStyle=selectedElement.className;if(selectedElement.className=="MenuItem"){selectedElement.className="MenuItemSelected";}else{selectedElement.className="MenuItemSelected MenuItemExpand";}}else{selectedElement.className=this.backupItemStyle;}};UIHorizontalTabs.prototype.displayTabContent=function(clickedEle){this.changeTabForUITabPane(clickedEle,null,null);};UIHorizontalTabs.prototype.changeTabForUITabPane=function(clickedEle,tabId,url){var DOMUtil=eXo.core.DOMUtil;var uiSelectTab=DOMUtil.findAncestorByClass(clickedEle,"UITab");var uiHorizontalTabs=DOMUtil.findAncestorByClass(clickedEle,"UIHorizontalTabs");var uiTabs=eXo.core.DOMUtil.findDescendantsByClass(uiHorizontalTabs,"div","UITab");var parentdHorizontalTab=uiHorizontalTabs.parentNode;var contentTabContainer=DOMUtil.findFirstDescendantByClass(parentdHorizontalTab,"div","UITabContentContainer");var uiTabContents=DOMUtil.findChildrenByClass(contentTabContainer,"div","UITabContent");var form=DOMUtil.getChildrenByTagName(contentTabContainer,"form");if(form.length>0){var tmp=DOMUtil.findChildrenByClass(form[0],"div","UITabContent");for(var i=0;i<tmp.length;i++){uiTabContents.push(tmp[i]);}}
var index=0;for(var i=0;i<uiTabs.length;i++){var styleTabDiv=DOMUtil.getChildrenByTagName(uiTabs[i],"div")[0];if(styleTabDiv.className=="DisabledTab")continue;if(uiSelectTab==uiTabs[i]){styleTabDiv.className="SelectedTab";index=i;continue;}
styleTabDiv.className="NormalTab";uiTabContents[i].style.display="none";}
uiTabContents[index].style.display="block";if(eXo.ecm.UIJCRExplorer){try{eXo.ecm.UIJCRExplorer.initViewNodeScroll();}catch(e){void(0);}}};UIHorizontalTabs.prototype.changeTabForUIFormTabpane=function(clickedElemt,formId,hiddenValue){this.displayTabContent(clickedElemt,formId,hiddenValue);eXo.webui.UIForm.setHiddenValue(formId,'currentSelectedTab',hiddenValue);};eXo.webui.UIHorizontalTabs=new UIHorizontalTabs();function UIPopupMenu(){this.elementsToHide=new Array();this.currentVisibleContainers=new Array();this.currentElement=null;};UIPopupMenu.prototype.init=function(popupMenu,container,x,y){this.superClass=eXo.webui.UIPopup;this.superClass.init(popupMenu,container.id);};UIPopupMenu.prototype.setPosition=function(popupMenu,x,y){this.superClass.setPosition(popupMenu,x,y);};UIPopupMenu.prototype.setSize=function(popup,w,h){this.superClass.setSize(popupMenu,w,h);};UIPopupMenu.prototype.pushVisibleContainer=function(containerId){eXo.webui.UIPopupMenu.currentVisibleContainers.push(containerId);};UIPopupMenu.prototype.popVisibleContainer=function(){eXo.webui.UIPopupMenu.currentVisibleContainers.pop();};UIPopupMenu.prototype.pushHiddenContainer=function(containerId){eXo.webui.UIPopupMenu.elementsToHide.push(containerId);};UIPopupMenu.prototype.setCloseTimeout=function(time){if(!time)time=100;setTimeout("eXo.webui.UIPopupMenu.doOnMenuItemOut()",time);};UIPopupMenu.prototype.createLink=function(menuItem,link){if(link&&link.href){menuItem.onclick=function(e){if(link.href.substr(0,7)=="http://")window.location.href=link.href;else eval(link.href);if(!e)e=window.event;if(e.stopPropagation)e.stopPropagation();e.cancelBubble=true;return false;}}};UIPopupMenu.prototype.doOnMenuItemOut=function(){while(eXo.webui.UIPopupMenu.elementsToHide.length>0){var container=document.getElementById(eXo.webui.UIPopupMenu.elementsToHide.shift());if(container){if(!eXo.webui.UIPopupMenu.currentVisibleContainers.contains(container.id)){eXo.webui.UIPopupMenu.hide(container);}}}};UIPopupMenu.prototype.showMenuItemContainer=function(menuItemContainer,x,y){this.superClass.setPosition(menuItemContainer,x,y);};UIPopupMenu.prototype.hide=function(object){if(typeof(object)=="string")object=document.getElementById(object);object.style.display="none";};UIPopupMenu.prototype.show=function(object){if(typeof(object)=="string")object=document.getElementById(object);object.style.display="block";};eXo.webui.UIPopupMenu=new UIPopupMenu();function UIDropDownControl(){};UIDropDownControl.prototype.init=function(id){};UIDropDownControl.prototype.selectItem=function(method,id,selectedIndex){if(method)method(id,selectedIndex);};UIDropDownControl.prototype.show=function(obj,evt){if(!evt)evt=window.event;evt.cancelBubble=true;var DOMUtil=eXo.core.DOMUtil;var Browser=eXo.core.Browser;var dropDownAnchor=DOMUtil.findNextElementByTagName(obj,'div');if(dropDownAnchor){if(dropDownAnchor.style.display=="none"){dropDownAnchor.style.display="block";var middleCont=DOMUtil.findFirstDescendantByClass(dropDownAnchor,"div","MiddleItemContainer");var topCont=DOMUtil.findPreviousElementByTagName(middleCont,"div");var bottomCont=DOMUtil.findNextElementByTagName(middleCont,"div");topCont.style.display="block";bottomCont.style.display="block";var visibleHeight=Browser.getBrowserHeight()-Browser.findPosY(middleCont)-40;var scrollHeight=middleCont.scrollHeight;if(scrollHeight>visibleHeight){topCont.style.display="block";bottomCont.style.display="block";middleCont.style.height=visibleHeight-topCont.offsetHeight-bottomCont.offsetHeight+"px";}else{topCont.style.display="none";bottomCont.style.display="none";middleCont.scrollTop=0;middleCont.style.height="auto";}}
else dropDownAnchor.style.display="none";}};UIDropDownControl.prototype.hide=function(obj){if(typeof(obj)=="string")obj=document.getElementById(obj);obj.style.display="none";};UIDropDownControl.prototype.onclickEvt=function(obj){var DOMUtil=eXo.core.DOMUtil;var uiDropDownAnchor=DOMUtil.findAncestorByClass(obj,'UIDropDownAnchor');var uiDropDownTitle=DOMUtil.findPreviousElementByTagName(uiDropDownAnchor,'div');var uiDropDownMiddleTitle=DOMUtil.findFirstDescendantByClass(uiDropDownTitle,'div','DropDownSelectLabel');uiDropDownMiddleTitle.innerHTML=obj.innerHTML;uiDropDownAnchor.style.display='none';};eXo.webui.UIDropDownControl=new UIDropDownControl();function UIRightClickPopupMenu(){};UIRightClickPopupMenu.prototype.init=function(contextMenuId){var contextMenu=document.getElementById(contextMenuId);if(!contextMenu)return;contextMenu.onmousedown=function(e){if(!e)e=window.event;e.cancelBubble=true;}
var parentNode=contextMenu.parentNode;this.disableContextMenu(parentNode);}
UIRightClickPopupMenu.prototype.hideContextMenu=function(contextId){if(document.getElementById(contextId)){document.getElementById(contextId).style.display='none';eXo.core.MouseEventManager.onMouseDownHandlers=null;}}
UIRightClickPopupMenu.prototype.disableContextMenu=function(comp){if(typeof(comp)=="string")comp=document.getElementById(comp);comp.onmouseover=function(){document.oncontextmenu=function(){return false};}
comp.onmouseout=function(){document.oncontextmenu=function(){return true};}};UIRightClickPopupMenu.prototype.prepareObjectId=function(evt,elemt){var contextMenu=eXo.core.DOMUtil.findAncestorByClass(elemt,"UIRightClickPopupMenu");contextMenu.style.display="none";var href=elemt.getAttribute('href');if(href.indexOf("javascript")==0){eval(unescape(href).replace('_objectid_',encodeURI(contextMenu.objId.replace(/'/g,"\\'"))));eXo.core.MouseEventManager.docMouseDownEvt(evt);return false;}
elemt.setAttribute('href',href.replace('_objectid_',encodeURI(contextMenu.objId.replace(/'/g,"\\'"))));return true;}
UIRightClickPopupMenu.prototype.clickRightMouse=function(event,elemt,menuId,objId,params,opt){if(!event)event=window.event;eXo.core.MouseEventManager.docMouseDownEvt(event);var contextMenu=document.getElementById(menuId);contextMenu.objId=objId;if(!(((event.which)&&(event.which==2||event.which==3))||((event.button)&&(event.button==2)))){contextMenu.style.display='none';return;}
eXo.core.MouseEventManager.addMouseDownHandler("eXo.webui.UIRightClickPopupMenu.hideContextMenu('"+menuId+"');")
if(params){params=","+params+",";var items=contextMenu.getElementsByTagName("a");for(var i=0;i<items.length;i++){if(params.indexOf(items[i].getAttribute("exo:attr"))>-1){items[i].style.display='block';}else{items[i].style.display='none';}}}
var customItem=eXo.core.DOMUtil.findFirstDescendantByClass(elemt,"div","RightClickCustomItem");var tmpCustomItem=eXo.core.DOMUtil.findFirstDescendantByClass(contextMenu,"div","RightClickCustomItem");if(tmpCustomItem){if(customItem){tmpCustomItem.innerHTML=customItem.innerHTML;tmpCustomItem.style.display="block";}else{tmpCustomItem.style.display="none";}}
var fixWidthForIE7=0;var UIWorkingWorkspace=document.getElementById("UIWorkingWorkspace");if(eXo.core.Browser.isIE7()&&document.getElementById("UIDockBar")){if(event.clientX>UIWorkingWorkspace.offsetLeft)fixWidthForIE7=UIWorkingWorkspace.offsetLeft;}
eXo.core.Mouse.update(event);eXo.webui.UIPopup.show(contextMenu);var intTop=eXo.core.Mouse.mouseyInPage-(eXo.core.Browser.findPosY(contextMenu)-contextMenu.offsetTop);var intLeft=eXo.core.Mouse.mousexInPage-(eXo.core.Browser.findPosX(contextMenu)-contextMenu.offsetLeft)+fixWidthForIE7;var ctxMenuContainer=eXo.core.DOMUtil.findFirstChildByClass(contextMenu,"div","UIContextMenuContainer");switch(opt){case 1:intTop-=ctxMenuContainer.offsetHeight;break;case 2:break;case 3:break;case 4:break;default:if((eXo.core.Mouse.mouseyInClient+ctxMenuContainer.offsetHeight)>eXo.core.Browser.getBrowserHeight()){intTop-=ctxMenuContainer.offsetHeight;}
break;}
contextMenu.style.top=intTop+"px";contextMenu.style.left=intLeft+"px";};eXo.webui.UIRightClickPopupMenu=new UIRightClickPopupMenu();function UIVerticalSlideTabs(){};UIVerticalSlideTabs.prototype.slideInEffect=function(){if((parseInt(this.selectedTab.style.height)-30)>0){this.selectedTab.style.height=(parseInt(this.selectedTab.style.height)-30)+"px";setTimeout("eXo.webui.UIVerticalSlideTabs.slideInEffect()",3);}else{this.selectedTab.style.height="0px";this.selectedTab.style.display="none";delete this.selectedTab;this.clickedTab.style.display="block";setTimeout("eXo.webui.UIVerticalSlideTabs.slideOutEffect()",3);}}
UIVerticalSlideTabs.prototype.slideOutEffect=function(){if((parseInt(this.clickedTab.style.height)+30)<this.clickedTab.scrollHeight){this.clickedTab.style.height=(parseInt(this.clickedTab.style.height)+30)+"px";setTimeout("eXo.webui.UIVerticalSlideTabs.slideOutEffect()",3);}else{this.clickedTab.style.height=this.clickedTab.scrollHeight+"px";delete this.clickedTab;}}
UIVerticalSlideTabs.prototype.switchVTab=function(clickedElement){var uiClickedVTab=eXo.core.DOMUtil.findAncestorByClass(clickedElement,"UIVTab");var uiClickedVTabContent=eXo.core.DOMUtil.findFirstChildByClass(uiClickedVTab,"div","UIVTabContent");var uiVerticalSlideTabs=eXo.core.DOMUtil.findAncestorByClass(clickedElement,"UIVerticalSlideTabs");var uiVTabs=eXo.core.DOMUtil.findChildrenByClass(uiVerticalSlideTabs,"div","UIVTab");for(var i=0;i<uiVTabs.length;i++){if(eXo.core.DOMUtil.getChildrenByTagName(uiVTabs[i],"div")[0].className=="SelectedTab"){this.selectedTab=eXo.core.DOMUtil.findFirstChildByClass(uiVTabs[i],"div","UIVTabContent");eXo.core.DOMUtil.getChildrenByTagName(uiVTabs[i],"div")[0].className="NormalTab";break;}}
eXo.core.DOMUtil.getChildrenByTagName(uiClickedVTab,"div")[0].className="SelectedTab";this.clickedTab=uiClickedVTabContent;if(this.clickedTab!=this.selectedTab){if(this.selectedTab)this.slideInEffect();else{this.clickedTab.style.display="block";this.slideOutEffect();}}};UIVerticalSlideTabs.prototype.onTabClick=function(clickedElement,normalStyle,selectedStyle){var uiClickedVTab=eXo.core.DOMUtil.findAncestorByClass(clickedElement,"UIVTab");var uiClickedVTabContent=eXo.core.DOMUtil.findFirstChildByClass(uiClickedVTab,"div","UIVTabContent");var uiVerticalSlideTabs=eXo.core.DOMUtil.findAncestorByClass(clickedElement,"UIVerticalSlideTabs");var uiVTab=eXo.core.DOMUtil.findChildrenByClass(uiVerticalSlideTabs,"div","UIVTab");if(eXo.core.DOMUtil.getChildrenByTagName(uiClickedVTab,"div")[0].className==normalStyle){for(var i=0;i<uiVTab.length;i++){eXo.core.DOMUtil.getChildrenByTagName(uiVTab[i],"div")[0].className=normalStyle;eXo.core.DOMUtil.findFirstChildByClass(uiVTab[i],"div","UIVTabContent").style.display="none";}
eXo.core.DOMUtil.getChildrenByTagName(uiClickedVTab,"div")[0].className=selectedStyle;uiClickedVTabContent.style.display="block";}else{eXo.core.DOMUtil.getChildrenByTagName(uiClickedVTab,"div")[0].className=normalStyle;uiClickedVTabContent.style.display="none";}};UIVerticalSlideTabs.prototype.onResize=function(uiVerticalSlideTabs,width,height){var vTabHeight=35;var uiVTabs=eXo.core.DOMUtil.findChildrenByClass(uiVerticalSlideTabs,"div","UIVTab");var uiVTab=this.getSelectedUIVTab(uiVerticalSlideTabs,"div","UIVTab");if(uiVTab==null)return;if(height!=null){var totalTabHeight=(vTabHeight*uiVTabs.length);var controlArea=eXo.core.DOMUtil.findFirstDescendantByClass(uiVTab,"div","ControlArea");var controlAreaHeight=0;if(controlArea!=null)controlAreaHeight=controlArea.offsetHeight;scrollArea=eXo.core.DOMUtil.findFirstDescendantByClass(uiVTab,"div","ScrollArea");if(scrollArea!=null){scrollArea.style.height=(height-controlAreaHeight-totalTabHeight-35)+"px";}}
if(width!=null){scrollArea.style.width=width+"px";}};UIVerticalSlideTabs.prototype.isSelectedUIVTab=function(uiVtab){var tabRight=eXo.core.DOMUtil.findFirstDescendantByClass(uiVtab,"div","TabRight");var changeIcon=eXo.core.DOMUtil.getChildrenByTagName(tabRight,"div")[0];if(changeIcon.className=="ExpandButton")return true;return false;};UIVerticalSlideTabs.prototype.getSelectedUIVTab=function(uiVerticalSlideTabs){var uiVTab=eXo.core.DOMUtil.findChildrenByClass(uiVerticalSlideTabs,"div","UIVTab");for(var i=0;i<uiVTab.length;i++){if(this.isSelectedUIVTab(uiVTab[i]))return uiVTab[i];}
return null;};UIVerticalSlideTabs.prototype.fitParentHeight=function(obj){this.onResize(obj,null,obj.parentNode.offsetHeight);}
eXo.webui.UIVerticalSlideTabs=new UIVerticalSlideTabs();function UIPermissionSelectorTab(){};UIPermissionSelectorTab.prototype.init=function(){};UIPermissionSelectorTab.prototype.displayBlockContent=function(clickedEle){var permissionTypeBar=eXo.core.DOMUtil.findAncestorByClass(clickedEle,"PermissionTypeBar");var permissionButton=eXo.core.DOMUtil.findChildrenByClass(permissionTypeBar,"div","PermissionButton");var selectedPermissionInfo=eXo.core.DOMUtil.findChildrenByClass(permissionTypeBar.parentNode,"div","SelectedPermissionInfo");for(var i=0;i<permissionButton.length;i++){if(permissionButton[i]==clickedEle){permissionButton[i].style.fontWeight="bold";selectedPermissionInfo[i].style.display="block";}else{permissionButton[i].style.fontWeight="100";selectedPermissionInfo[i].style.display="none";}}};eXo.webui.UIPermissionSelectorTab=new UIPermissionSelectorTab();eXo.webui.UIDashboard={currCol:null,targetObj:null,init:function(dragItem,dragObj){eXo.core.DragDrop2.init(dragItem,dragObj);dragObj.onDragStart=function(x,y,lastMouseX,lastMouseY,e){var DOMUtil=eXo.core.DOMUtil;var uiDashboard=eXo.webui.UIDashboard;var portletFragment=DOMUtil.findAncestorByClass(dragObj,"PORTLET-FRAGMENT");if(!portletFragment)return;var uiWorkingWS=document.getElementById("UIWorkingWorkspace");var gadgetContainer=DOMUtil.findFirstDescendantByClass(portletFragment,"div","GadgetContainer");var ggwidth=dragObj.offsetWidth;var ggheight=dragObj.offsetHeight;var mx=eXo.webui.UIDashboardUtil.findMouseRelativeX(uiWorkingWS,e);var ox=eXo.webui.UIDashboardUtil.findMouseRelativeX(dragObj,e);var x=mx-ox;var my=eXo.webui.UIDashboardUtil.findMouseRelativeY(uiWorkingWS,e);var oy=eXo.webui.UIDashboardUtil.findMouseRelativeY(dragObj,e);var y=my-oy;var temp=dragObj;while(temp.parentNode&&DOMUtil.hasDescendant(portletFragment,temp)){if(temp.scrollLeft>0)
x-=temp.scrollLeft;if(temp.scrollTop>0)
y-=temp.scrollTop;temp=temp.parentNode;}
var slideBar=document.getElementById("ControlWorkspaceSlidebar");if(slideBar!=null&&slideBar.style.display!="none"&&eXo.core.Browser.getBrowserType()=="ie")
x-=slideBar.offsetWidth;var uiTarget=null;if(!DOMUtil.hasClass(dragObj,"SelectItem")){uiTarget=uiDashboard.createTarget(ggwidth,0);dragObj.parentNode.insertBefore(uiTarget,dragObj.nextSibling);uiDashboard.currCol=eXo.webui.UIDashboardUtil.findColIndexInDashboard(dragObj);}else{var dragCopyObj=dragObj.cloneNode(true);DOMUtil.addClass(dragCopyObj,"CopyObj");dragObj.parentNode.insertBefore(dragCopyObj,dragObj);uiDashboard.targetObj=null;}
dragObj.style.width=ggwidth+"px";var uiGadgets=DOMUtil.findDescendantsByClass(gadgetContainer,"div","UIGadget");for(var i=0;i<uiGadgets.length;i++){var uiMask=DOMUtil.findFirstDescendantByClass(uiGadgets[i],"div","UIMask");if(uiMask!=null){var gadgetApp=DOMUtil.findFirstDescendantByClass(uiGadgets[i],"div","GadgetApplication");uiMask.style.marginTop=-gadgetApp.offsetHeight+"px";uiMask.style.height=gadgetApp.offsetHeight+"px";uiMask.style.width=gadgetApp.offsetWidth+"px";uiMask.style.display="block";uiMask.style.backgroundColor="white";eXo.core.Browser.setOpacity(uiMask,3);}}
if(!DOMUtil.hasClass(dragObj,"Dragging"))
DOMUtil.addClass(dragObj,"Dragging");dragObj.style.position="absolute";eXo.webui.UIDashboardUtil.setPositionInContainer(uiWorkingWS,dragObj,x,y);if(uiTarget!=null){uiTarget.style.height=ggheight+"px";uiDashboard.targetObj=uiTarget;}}
dragObj.onDrag=function(nx,ny,ex,ey,e){var DOMUtil=eXo.core.DOMUtil;var uiTarget=eXo.webui.UIDashboard.targetObj;var portletFragment=DOMUtil.findAncestorByClass(dragObj,"PORTLET-FRAGMENT");if(!portletFragment)return;var dashboardCont=DOMUtil.findFirstDescendantByClass(portletFragment,"div","GadgetContainer");var cols=null;eXo.webui.UIDashboard.scrollOnDrag(dragObj);if(eXo.webui.UIDashboardUtil.isIn(ex,ey,dashboardCont)){if(!uiTarget){uiTarget=eXo.webui.UIDashboard.createTargetOfAnObject(dragObj);eXo.webui.UIDashboard.targetObj=uiTarget;}
var uiCol=eXo.webui.UIDashboard.currCol;if(!uiCol){if(!cols)cols=DOMUtil.findDescendantsByClass(dashboardCont,"div","UIColumn");for(var i=0;i<cols.length;i++){var uiColLeft=eXo.webui.UIDashboardUtil.findPosX(cols[i])-dashboardCont.scrollLeft;if(uiColLeft<ex&&ex<uiColLeft+cols[i].offsetWidth){uiCol=cols[i];eXo.webui.UIDashboard.currCol=uiCol;break;}}}
if(!uiCol)return;var uiColLeft=eXo.webui.UIDashboardUtil.findPosX(uiCol)-dashboardCont.scrollLeft;if(uiColLeft<ex&&ex<uiColLeft+uiCol.offsetWidth){var gadgets=DOMUtil.findDescendantsByClass(uiCol,"div","UIGadget");for(var i=0;i<gadgets.length;i++){if(dragObj.id==gadgets[i].id){gadgets.splice(i,1);break;}}
if(gadgets.length==0){uiCol.appendChild(uiTarget);return;}
for(var i=0;i<gadgets.length;i++){var oy=eXo.webui.UIDashboardUtil.findPosY(gadgets[i])+(gadgets[i].offsetHeight/3)-dashboardCont.scrollTop;if(ey<=oy){uiCol.insertBefore(uiTarget,gadgets[i]);break;}
if(i==gadgets.length-1&&ey>oy)uiCol.appendChild(uiTarget);}}else{if(cols==null)cols=DOMUtil.findDescendantsByClass(dashboardCont,"div","UIColumn");for(var i=0;i<cols.length;i++){var uiColLeft=eXo.webui.UIDashboardUtil.findPosX(cols[i])-dashboardCont.scrollLeft;if(uiColLeft<ex&&ex<uiColLeft+cols[i].offsetWidth){eXo.webui.UIDashboard.currCol=cols[i];break;}}}}else{if(uiTarget!=null&&DOMUtil.hasClass(dragObj,"SelectItem")){uiTarget.parentNode.removeChild(uiTarget);eXo.webui.UIDashboard.targetObj=uiTarget=null;}}}
dragObj.onDragEnd=function(x,y,clientX,clientY){var uiDashboard=eXo.webui.UIDashboard;var uiDashboardUtil=eXo.webui.UIDashboardUtil;var portletFragment=eXo.core.DOMUtil.findAncestorByClass(dragObj,"PORTLET-FRAGMENT");if(!portletFragment)return;var masks=eXo.core.DOMUtil.findDescendantsByClass(portletFragment,"div","UIMask");for(var i=0;i<masks.length;i++){eXo.core.Browser.setOpacity(masks[i],100);masks[i].style.display="none";}
var uiTarget=uiDashboard.targetObj;if(uiTarget&&!uiTarget.parentNode){uiTarget=null;}
dragObj.style.position="static";if(eXo.core.DOMUtil.hasClass(dragObj,"Dragging")){eXo.core.DOMUtil.replaceClass(dragObj," Dragging","");}
var dragCopyObj=eXo.core.DOMUtil.findFirstDescendantByClass(portletFragment,"div","CopyObj");if(dragCopyObj){dragCopyObj.parentNode.replaceChild(dragObj,dragCopyObj);dragObj.style.width="auto";}
if(uiTarget){var col=uiDashboardUtil.findColIndexInDashboard(uiTarget);var row=uiDashboardUtil.findRowIndexInDashboard(uiTarget);var compId=portletFragment.parentNode.id;if(eXo.core.DOMUtil.hasClass(dragObj,"SelectItem")){var url=uiDashboardUtil.createRequest(compId,'AddNewGadget',col,row,dragObj.id);ajaxGet(url);}else{if(uiDashboardUtil.findColIndexInDashboard(dragObj)==col&&uiDashboardUtil.findRowIndexInDashboard(dragObj)==(row-1)){uiTarget.parentNode.removeChild(uiTarget);}else{uiTarget.parentNode.replaceChild(dragObj,uiTarget);row=uiDashboardUtil.findRowIndexInDashboard(dragObj);gadgetId=dragObj.id;var url=uiDashboardUtil.createRequest(compId,'MoveGadget',col,row,gadgetId);ajaxAsyncGetRequest(url);}}}
uiTarget=eXo.core.DOMUtil.findFirstDescendantByClass(portletFragment,"div","UITarget");while(uiTarget){eXo.core.DOMUtil.removeElement(uiTarget);uiTarget=eXo.core.DOMUtil.findFirstDescendantByClass(portletFragment,"div","UITarget");}
uiDashboard.targetObj=uiDashboard.currCol=uiDashboard.compId=null;}},onLoad:function(windowId,canEdit){var portletWindow=document.getElementById(windowId);if(!portletWindow)return;var DOMUtil=eXo.core.DOMUtil;var uiDashboard=DOMUtil.findFirstDescendantByClass(portletWindow,"div","UIDashboard");var portletFragment=DOMUtil.findAncestorByClass(uiDashboard,"PORTLET-FRAGMENT");var uiContainer=DOMUtil.findFirstDescendantByClass(uiDashboard,"div","UIDashboardContainer");if(!uiContainer)return;var gadgetContainer=DOMUtil.findFirstChildByClass(uiContainer,"div","GadgetContainer");uiDashboard.style.overflow="hidden";portletFragment.style.overflow="hidden";if(eXo.core.Browser.isIE6())gadgetContainer.style.width="99.5%";var uiSelect=DOMUtil.findFirstDescendantByClass(uiDashboard,"div","UIDashboardSelectContainer");if(!uiSelect||uiSelect.style.display=="none"){uiContainer.style.marginLeft="0px";}else{uiContainer.style.marginLeft="211px";}
var colsContainer=DOMUtil.findFirstChildByClass(gadgetContainer,"div","UIColumns");var columns=DOMUtil.findChildrenByClass(colsContainer,"div","UIColumn");var colsSize=0;for(var i=0;i<columns.length;i++){if(columns[i].style.display!="none")colsSize++;}
colsContainer.style.width=colsSize*320+20+"px";eXo.webui.UIDashboard.initHeight(windowId);setTimeout("eXo.webui.UIDashboard.initDragDrop('"+windowId+"',"+canEdit+");",300);},initDragDrop:function(windowId,canEdit){var DOMUtil=eXo.core.DOMUtil;var portletWindow=document.getElementById(windowId);var gadgetControls=DOMUtil.findDescendantsByClass(portletWindow,"div","GadgetControl");for(var j=0;j<gadgetControls.length;j++){var uiGadget=DOMUtil.findAncestorByClass(gadgetControls[j],"UIGadget");var iframe=DOMUtil.findFirstDescendantByClass(uiGadget,"iframe","gadgets-gadget");if(iframe){iframe.onResizeCallback=eXo.webui.UIDashboard.initHeight;iframe.style.width="auto";}
var minimizeButton=DOMUtil.findFirstDescendantByClass(gadgetControls[j],"div","MinimizeAction");if(canEdit){eXo.webui.UIDashboard.init(gadgetControls[j],uiGadget);if(minimizeButton)minimizeButton.style.display="block";uiGadget.minimizeCallback=eXo.webui.UIDashboard.initHeight;}else{if(minimizeButton){minimizeButton.style.display="none";var controlBar=minimizeButton.parentNode;var closeButton=DOMUtil.findFirstChildByClass(controlBar,"div","CloseGadget");var editButton=DOMUtil.findFirstChildByClass(controlBar,"div","EditGadget");closeButton.style.display="none";editButton.style.display="none";}}}},initHeight:function(windowId){var DOMUtil=eXo.core.DOMUtil;var portletWindow=document.getElementById(windowId);var uiDashboard=DOMUtil.findFirstDescendantByClass(portletWindow,"div","UIDashboard");var portletFragment=DOMUtil.findAncestorByClass(uiDashboard,"PORTLET-FRAGMENT");var uiSelect=DOMUtil.findFirstDescendantByClass(uiDashboard,"div","UIDashboardSelectContainer");if(uiSelect&&document.getElementById("UIPageDesktop")){var itemCont=DOMUtil.findFirstChildByClass(uiSelect,"div","DashboardItemContainer");var middleItemCont=DOMUtil.findFirstDescendantByClass(uiSelect,"div","MiddleItemContainer");var topItemCont=DOMUtil.findNextElementByTagName(middleItemCont,"div");var bottomItemCont=DOMUtil.findPreviousElementByTagName(middleItemCont,"div");var uiContainer=DOMUtil.findFirstDescendantByClass(uiDashboard,"div","UIDashboardContainer");var minusHeight=0;var minusHeightEle=DOMUtil.findPreviousElementByTagName(middleItemCont.parentNode,"div");while(minusHeightEle){minusHeight+=minusHeightEle.offsetHeight;minusHeightEle=DOMUtil.findPreviousElementByTagName(minusHeightEle,"div");}
minusHeightEle=DOMUtil.findPreviousElementByTagName(itemCont,"div");while(minusHeightEle){minusHeight+=minusHeightEle.offsetHeight;minusHeightEle=DOMUtil.findPreviousElementByTagName(minusHeightEle,"div");}
minusHeightEle=null;var windowHeight=portletWindow.offsetHeight;var uiWindow=DOMUtil.findAncestorByClass(portletWindow,"UIWindow");if(uiWindow&&uiWindow.style.display=="none"){windowHeight=parseInt(DOMUtil.getStyle(portletFragment,"height"));}
middleItemCont.style.height=windowHeight-minusHeight
-parseInt(DOMUtil.getStyle(itemCont,"paddingTop"))
-parseInt(DOMUtil.getStyle(itemCont,"paddingBottom"))
-5+"px";if(middleItemCont.scrollHeight>middleItemCont.offsetHeight){topItemCont.style.display="block";bottomItemCont.style.display="block";middleItemCont.style.height=middleItemCont.offsetHeight-topItemCont.offsetHeight-bottomItemCont.offsetHeight+"px";}else{topItemCont.style.display="none";bottomItemCont.style.display="none";}}},createTarget:function(width,height){var uiTarget=document.createElement("div");uiTarget.id="UITarget";uiTarget.className="UITarget";uiTarget.style.width=width+"px";uiTarget.style.height=height+"px";return uiTarget;},createTargetOfAnObject:function(obj){var ggwidth=obj.offsetWidth;var ggheight=obj.offsetHeight;var uiTarget=document.createElement("div");uiTarget.id="UITarget";uiTarget.className="UITarget";uiTarget.style.height=ggheight+"px";return uiTarget;},showHideSelectContainer:function(comp){var DOMUtil=eXo.core.DOMUtil;var uiDashboardPortlet=DOMUtil.findAncestorByClass(comp,"UIDashboard");var portletFragment=DOMUtil.findAncestorByClass(uiDashboardPortlet,"PORTLET-FRAGMENT");var uiSelectContainer=DOMUtil.findFirstDescendantByClass(uiDashboardPortlet,"div","UIDashboardSelectContainer");var uiContainer=DOMUtil.findFirstDescendantByClass(uiDashboardPortlet,"div","UIDashboardContainer");var portletId=portletFragment.parentNode.id;var addButton=DOMUtil.findFirstDescendantByClass(uiContainer,"div","ContainerControlBarL");var url=eXo.env.server.portalBaseURL+'?portal:componentId='+portletId+'&portal:type=action&portal:isSecure=false&uicomponent='+uiDashboardPortlet.id+'&op=SetShowSelectContainer&ajaxRequest=true';if(uiSelectContainer.style.display!="none"){uiSelectContainer.style.display="none";url+='&isShow=false';addButton.style.visibility="visible";uiContainer.style.marginLeft="0px";}else{uiSelectContainer.style.display="block";url+='&isShow=true';addButton.style.visibility="hidden";uiContainer.style.marginLeft="211px";}
ajaxAsyncGetRequest(url,false);},onTabClick:function(clickElement,normalStyle,selectedType){var DOMUtil=eXo.core.DOMUtil;var category=DOMUtil.findAncestorByClass(clickElement,"GadgetCategory");var categoryContent=DOMUtil.findFirstChildByClass(category,"div","ItemsContainer");var categoriesContainer=DOMUtil.findAncestorByClass(category,"GadgetItemsContainer");var categories=DOMUtil.findChildrenByClass(categoriesContainer,"div","GadgetCategory");var gadgetTab=DOMUtil.findFirstChildByClass(category,"div","GadgetTab");if(DOMUtil.hasClass(gadgetTab,normalStyle)){for(var i=0;i<categories.length;i++){DOMUtil.findFirstChildByClass(categories[i],"div","GadgetTab").className="GadgetTab "+normalStyle;DOMUtil.findFirstChildByClass(categories[i],"div","ItemsContainer").style.display="none";}
DOMUtil.findFirstChildByClass(category,"div","GadgetTab").className="GadgetTab "+selectedType;categoryContent.style.display="block";}else{DOMUtil.findFirstChildByClass(category,"div","GadgetTab").className="GadgetTab "+normalStyle;categoryContent.style.display="none";}},enableContainer:function(elemt){var DOMUtil=eXo.core.DOMUtil;if(DOMUtil.hasClass(elemt,"DisableContainer")){DOMUtil.replaceClass(elemt," DisableContainer","");}
var arrow=DOMUtil.findFirstChildByClass(elemt,"div","Arrow");if(DOMUtil.hasClass(arrow,"DisableArrowIcon"))DOMUtil.replaceClass(arrow," DisableArrowIcon","");},disableContainer:function(elemt){var DOMUtil=eXo.core.DOMUtil;if(!DOMUtil.hasClass(elemt,"DisableContainer")){DOMUtil.addClass(elemt,"DisableContainer");}
var arrow=DOMUtil.findFirstChildByClass(elemt,"div","Arrow");if(!DOMUtil.hasClass(arrow,"DisableArrowIcon"))DOMUtil.addClass(arrow," DisableArrowIcon");},scrollOnDrag:function(dragObj){var DOMUtil=eXo.core.DOMUtil;var dashboardUtil=eXo.webui.UIDashboardUtil;var uiDashboard=DOMUtil.findAncestorByClass(dragObj,"UIDashboard");var gadgetContainer=DOMUtil.findFirstDescendantByClass(uiDashboard,"div","GadgetContainer");var colCont=DOMUtil.findFirstChildByClass(gadgetContainer,"div","UIColumns");if(!DOMUtil.findFirstDescendantByClass(colCont,"div","UITarget"))return;var visibleWidth=gadgetContainer.offsetWidth;var visibleHeight=gadgetContainer.offsetHeight;var trueWidth=colCont.offsetWidth;var trueHeight=colCont.offsetHeight;var objLeft=dashboardUtil.findPosXInContainer(dragObj,gadgetContainer);var objRight=objLeft+dragObj.offsetWidth;var objTop=dashboardUtil.findPosYInContainer(dragObj,gadgetContainer);var objBottom=objTop+dragObj.offsetHeight;var deltaX=gadgetContainer.scrollLeft;if((trueWidth-(visibleWidth+deltaX)>0)&&objRight>visibleWidth){gadgetContainer.scrollLeft+=5;}else{if(objLeft<0&&deltaX>0)gadgetContainer.scrollLeft-=5;}
var controlBar=DOMUtil.findFirstChildByClass(gadgetContainer,"div","ContainerControlBarL");var buttonHeight=0;if(controlBar)buttonHeight=controlBar.offsetHeight;var deltaY=gadgetContainer.scrollTop;if((trueHeight-(visibleHeight-10-buttonHeight+deltaY)>0)&&objBottom>visibleHeight){gadgetContainer.scrollTop+=5;}else{if(objTop<0&&deltaY>0)gadgetContainer.scrollTop-=5;}}}
eXo.webui.UIDashboardUtil={findPosX:function(obj){var curleft=0;var uiWorkspaceContainer=document.getElementById("UIWorkspaceContainer");var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");while(obj){if(uiWorkspaceContainer!=null&&uiWorkspaceContainer.style.display!="none"&&eXo.core.Browser.getBrowserType()=="ie"){var uiPageDesktop=document.getElementById("UIPageDesktop");if((uiPageDesktop!=null&&eXo.core.DOMUtil.hasClass(obj,"UIPageDesktop")&&eXo.core.Browser.isIE7())||(uiPageDesktop==null&&eXo.core.DOMUtil.hasClass(obj,"PORTLET-FRAGMENT"))){curleft+=(obj.offsetLeft-uiWorkingWorkspace.offsetLeft);obj=obj.offsetParent;continue;}}
curleft+=obj.offsetLeft;obj=obj.offsetParent;}
return curleft;},findPosY:function(obj){var curtop=0;while(obj){curtop+=obj.offsetTop;obj=obj.offsetParent;}
return curtop;},findMouseRelativeX:function(object,e){var posx=-1;var posXObject=eXo.webui.UIDashboardUtil.findPosX(object);if(!e)e=window.event;if(e.pageX||e.pageY){posx=e.pageX-posXObject;}else if(e.clientX||e.clientY){posx=e.clientX+document.body.scrollLeft-posXObject;}
return posx;},findMouseRelativeY:function(object,e){var posy=-1;var posYObject=eXo.webui.UIDashboardUtil.findPosY(object);if(!e)e=window.event;if(e.pageY){posy=e.pageY-posYObject;}else if(e.clientX||e.clientY){if(document.documentElement&&document.documentElement.scrollTop){posy=e.clientY+document.documentElement.scrollTop-posYObject;}else{posy=e.clientY+document.body.scrollTop-posYObject;}}
return posy;},findPosXInContainer:function(obj,container){var objX=eXo.webui.UIDashboardUtil.findPosX(obj);var containerX=eXo.webui.UIDashboardUtil.findPosX(container);return(objX-containerX);},findPosYInContainer:function(obj,container){var objY=eXo.webui.UIDashboardUtil.findPosY(obj);var containerY=eXo.webui.UIDashboardUtil.findPosY(container);return(objY-containerY);},setPositionInContainer:function(container,component,posX,posY){var offsetX=component.offsetLeft;var offsetY=component.offsetTop;var posXInContainer=eXo.webui.UIDashboardUtil.findPosXInContainer(component,container);var posYInContainer=eXo.webui.UIDashboardUtil.findPosYInContainer(component,container);var deltaX=posX-(posXInContainer-offsetX);var deltaY=posY-(posYInContainer-offsetY);component.style.left=deltaX+"px";component.style.top=deltaY+"px";},isIn:function(x,y,component){var componentLeft=eXo.webui.UIDashboardUtil.findPosX(component);var componentRight=componentLeft+component.offsetWidth;var componentTop=eXo.webui.UIDashboardUtil.findPosY(component);var componentBottom=componentTop+component.offsetHeight;var isOver=false;if((componentLeft<x)&&(x<componentRight)){if((componentTop<y)&&(y<componentBottom)){isOver=true;}}
return isOver;},findColIndexInDashboard:function(dragObj){var col=dragObj.parentNode;if(col==null)return null;var dashboardContainer=eXo.core.DOMUtil.findAncestorByClass(col,"DashboardContainer");var columns=eXo.core.DOMUtil.findDescendantsByClass(dashboardContainer,"div","UIColumn");for(var i=0;i<columns.length;i++){if(col.id==columns[i].id){return i;}}},findRowIndexInDashboard:function(dragObj){var modules=eXo.core.DOMUtil.getChildrenByTagName(dragObj.parentNode,"div");for(var i=0;i<modules.length;i++){if(modules[i].id==dragObj.id)return i;}},createRequest:function(componentId,action,colIndex,rowIndex,objectId){var url=eXo.env.server.portalBaseURL;url+='?portal:componentId='+componentId+'&portal:type=action&uicomponent=UIDashboard&op='+action;if(objectId!=null)
url+='&objectId='+objectId;url+='&colIndex='+colIndex;url+='&rowIndex='+rowIndex;url+='&ajaxRequest=true';return url;}}
function UINotification(){this.timerlen=5;this.slideAniLen=1000;this.timerID=new Array();this.startTime=new Array();this.object=new Array();this.endHeight=new Array();this.moving=new Array();this.endSlideUpCallback=new Array();this.dir=new Array();this.importantNoti=new Array();this.flagNoti=new Array();this.totalCurrentMessage=0;this.numberMessageRecepted=0;this.numImptNoti=0;if(eXo.core.Topic!=null){eXo.core.Topic.subscribe("/eXo/portal/notification",function(event){eXo.webui.UINotification.addMessage(event.message);})}}
UINotification.prototype.slideDown=function(objectName){if(this.moving[objectName])return;if(document.getElementById(objectName).style.display!="none")return;this.moving[objectName]=true;this.dir[objectName]="down";this.startSlide(objectName);}
UINotification.prototype.slideDownUp=function(objectName,endSlideUpCallback){this.slideDown(objectName);this.endSlideUpCallback[objectName]=endSlideUpCallback;if(this.flagNoti[objectName])setTimeout("eXo.webui.UINotification.slideUp('"+objectName+"')",3000);}
UINotification.prototype.closeNotification=function(){for(var i=0;i<this.importantNoti.length;i++){this.flagNoti[this.importantNoti[i]]=true;setTimeout("eXo.webui.UINotification.slideUp('"+this.importantNoti[i]+"')",100);}}
UINotification.prototype.slideUp=function(objectName){if(this.moving[objectName])return;if(document.getElementById(objectName).style.display=="none")return;this.moving[objectName]=true;this.dir[objectName]="up";this.startSlide(objectName);}
UINotification.prototype.startSlide=function(objectName){this.object[objectName]=document.getElementById(objectName);this.endHeight[objectName]=parseInt(this.object[objectName].style.height);this.startTime[objectName]=(new Date()).getTime();if(this.dir[objectName]=="down"){this.object[objectName].style.height="1px";}
this.object[objectName].style.display="block";this.timerID[objectName]=setInterval('eXo.webui.UINotification.slideTick(\''+objectName+'\');',this.timerlen);}
UINotification.prototype.slideTick=function(objectName){var elapsed=(new Date()).getTime()-this.startTime[objectName];if(elapsed>this.slideAniLen)
this.endSlide(objectName);else{var before="before:"+this.object[objectName].id+"-"+this.object[objectName].style.height+"-";var d=Math.round(elapsed/this.slideAniLen*this.endHeight[objectName]);if(this.dir[objectName]=="up")
d=this.endHeight[objectName]-d;this.object[objectName].style.height=d+"px";}
return;}
UINotification.prototype.destroyUINotification=function(){var UINotification=document.getElementById("UINotification");document.getElementsByTagName("body")[0].removeChild(UINotification);}
UINotification.prototype.endSlide=function(objectName){clearInterval(this.timerID[objectName]);if(this.dir[objectName]=="up"){this.object[objectName].style.display="none";if(this.endSlideUpCallback[objectName]){this.endSlideUpCallback[objectName](objectName);this.totalCurrentMessage--;if(this.totalCurrentMessage==0){this.destroyUINotification();return;}}}
this.object[objectName].style.height=this.endHeight[objectName]+"px";delete(this.moving[objectName]);delete(this.timerID[objectName]);delete(this.startTime[objectName]);delete(this.endHeight[objectName]);delete(this.object[objectName]);delete(this.dir[objectName]);delete(this.flagNoti[objectName]);return;}
UINotification.prototype.deleteBox=function(objectName){var el=document.getElementById(objectName);el.parentNode.removeChild(el);}
UINotification.prototype.createFrameForMessages=function(){var htmlString="";htmlString+="<div class=\"UIPopupNotification\">";htmlString+="<div class=\"TLPopupNotification\">";htmlString+="<div class=\"TRPopupNotification\">";htmlString+="<div class=\"TCPopupNotification\" ></div>";htmlString+="</div>";htmlString+="</div>";htmlString+="<div class=\"MLPopupNotification\">";htmlString+="<div class=\"MRPopupNotification\">";htmlString+="<div class=\"MCPopupNotification\">";htmlString+="<div class=\"TitleNotification\">";htmlString+="<a class=\"ItemTitle\" href=\"#\">Notification</a>";htmlString+="<a class=\"Close\" href=\"#\" onclick=\"eXo.webui.UINotification.closeNotification();\"></a>";htmlString+="</div>";htmlString+="<div id=\"UINotificationContent\">";htmlString+="</div>";htmlString+="</div>";htmlString+="</div>";htmlString+="</div>";htmlString+="<div class=\"BLPopupNotification\">";htmlString+="<div class=\"BRPopupNotification\">";htmlString+="<div class=\"BCPopupNotification\"></div>";htmlString+="</div>";htmlString+="</div>";htmlString+="</div>";return htmlString;}
UINotification.prototype.addMessage=function(messageContent,flag){var currMessageBoxId="UIMessageBox_"+this.numberMessageRecepted++;var UIMessageContent=document.createElement('div');this.totalCurrentMessage++;this.flagNoti[currMessageBoxId]=flag;if(!flag){this.importantNoti[this.numImptNoti]=currMessageBoxId;this.numImptNoti++;}
UIMessageContent.id=currMessageBoxId;UIMessageContent.style.height="75px";UIMessageContent.style.display="none";UIMessageContent.className="Item";UIMessageContent.innerHTML="<div id='UIMessageContent'>"+messageContent+"</div>";var UINotification=document.getElementById("UINotification");if(UINotification==null){document.body.appendChild(document.createElement('div')).id="UINotification";UINotification=document.getElementById("UINotification");UINotification.className='UINotification';UINotification.innerHTML=this.createFrameForMessages();}
var msPanel=document.getElementById("UINotificationContent");msPanel.appendChild(UIMessageContent);eXo.webui.UINotification.slideDownUp(currMessageBoxId,this.deleteBox);}
eXo.webui.UINotification=new UINotification();function UIUserSelector(){};UIUserSelector.prototype.init=function(cont){if(typeof(cont)=="string")cont=document.getElementById(cont);var checkboxes=eXo.core.DOMUtil.findDescendantsByClass(cont,"input","checkbox");if(checkboxes.length<=0)return;checkboxes[0].onclick=this.checkAll;var len=checkboxes.length;for(var i=1;i<len;i++){checkboxes[i].onclick=this.check;}};UIUserSelector.prototype.checkAll=function(){eXo.webui.UIUserSelector.checkAllItem(this);};UIUserSelector.prototype.getItems=function(obj){var table=eXo.core.DOMUtil.findAncestorByTagName(obj,"table");var checkboxes=eXo.core.DOMUtil.findDescendantsByClass(table,"input","checkbox");return checkboxes;};UIUserSelector.prototype.check=function(){eXo.webui.UIUserSelector.checkItem(this);};UIUserSelector.prototype.checkAllItem=function(obj){var checked=obj.checked;var items=eXo.webui.UIUserSelector.getItems(obj);var len=items.length;for(var i=1;i<len;i++){items[i].checked=checked;}};UIUserSelector.prototype.checkItem=function(obj){var checkboxes=eXo.webui.UIUserSelector.getItems(obj);var len=checkboxes.length;var state=true;if(!obj.checked){checkboxes[0].checked=false;}
else{for(var i=1;i<len;i++){state=state&&checkboxes[i].checked;}
checkboxes[0].checked=state;}};UIUserSelector.prototype.getKeynum=function(event){var keynum=false;if(window.event){keynum=window.event.keyCode;event=window.event;}else if(event.which){keynum=event.which;}
if(keynum==0){keynum=event.keyCode;}
return keynum;};UIUserSelector.prototype.captureInput=function(input,action){if(typeof(input)=="string")input=document.getElementById(input);input.form.onsubmit=eXo.webui.UIUserSelector.cancelSubmit;input.onkeypress=eXo.webui.UIUserSelector.onEnter;};UIUserSelector.prototype.onEnter=function(evt){var _e=evt||window.event;_e.cancelBubble=true;var keynum=eXo.webui.UIUserSelector.getKeynum(_e);if(keynum==13){var action=eXo.core.DOMUtil.findNextElementByTagName(this,"a");if(!action)action=eXo.core.DOMUtil.findPreviousElementByTagName(this,"a");action=String(action.href).replace("javascript:","").replace("%20","");eval(action);}};UIUserSelector.prototype.cancelSubmit=function(){return false;};eXo.webui.UIUserSelector=new UIUserSelector();function PortletResponse(responseDiv){var DOMUtil=eXo.core.DOMUtil;var div=eXo.core.DOMUtil.getChildrenByTagName(responseDiv,"div");this.portletId=div[0].innerHTML;this.portletTitle=div[1].innerHTML;this.portletMode=div[2].innerHTML;this.portletState=div[3].innerHTML;this.portletData=div[4].innerHTML;this.blocksToUpdate=null;var blocks=DOMUtil.findChildrenByClass(div[4],"div","BlockToUpdate");if(blocks.length>0){this.blocksToUpdate=new Array();for(var i=0;i<blocks.length;i++){var obj=new Object();var div=eXo.core.DOMUtil.getChildrenByTagName(blocks[i],"div");obj.blockId=div[0].innerHTML;obj.data=div[1];this.blocksToUpdate[i]=obj;}}else{this.scripts=eXo.core.DOMUtil.findDescendantsByTagName(div[4],"script");}};function PortalResponse(responseDiv){var DOMUtil=eXo.core.DOMUtil;this.portletResponses=new Array();var div=DOMUtil.getChildrenByTagName(responseDiv,"div");for(var i=0;i<div.length;i++){if(div[i].className=="PortletResponse"){this.portletResponses[this.portletResponses.length]=new PortletResponse(div[i]);}else if(div[i].className=="PortalResponseData"){this.data=div[i];var blocks=DOMUtil.findChildrenByClass(div[i],"div","BlockToUpdate");this.blocksToUpdate=new Array();for(var j=0;j<blocks.length;j++){var obj=new Object();var dataBlocks=DOMUtil.getChildrenByTagName(blocks[j],"div");obj.blockId=dataBlocks[0].innerHTML;obj.data=dataBlocks[1];this.blocksToUpdate[j]=obj;this.blocksToUpdate[j].scripts=eXo.core.DOMUtil.findDescendantsByTagName(dataBlocks[1],"script");}}else if(div[i].className=="PortalResponseScript"){this.script=div[i].innerHTML;div[i].style.display="none";}}};function appendScriptToHead(scriptId,scriptElement){var head=document.getElementsByTagName("head")[0];var descendant=eXo.core.DOMUtil.findDescendantById(head,scriptId);var script;if(descendant){head.removeChild(descendant);}
script=document.createElement('script');script.id=scriptId;script.type='text/javascript';if(scriptElement.src){script.src=scriptElement.src}else{script.text=scriptElement.innerHTML;}
head.appendChild(script);};function AjaxRequest(method,url,queryString){var instance=new Object();instance.timeout=80000;instance.aborted=false;if(method!=null)instance.method=method;else instance.method="GET";if(url!=null)instance.url=url;else instance.url=window.location.href;if(queryString!=null)instance.queryString=queryString;else instance.queryString=null;instance.request=null;instance.responseReceived=false;instance.status=null;instance.statusText=null;instance.responseText=null;instance.responseXML=null;instance.onTimeout=null;instance.onLoading=null;instance.onLoaded=null;instance.onInteractive=null;instance.onComplete=null;instance.onSuccess=null;instance.callBack=null;instance.onError=null;instance.onLoadingInternalHandled=false;instance.onLoadedInternalHandled=false;instance.onInteractiveInternalHandled=false;instance.onCompleteInternalHandled=false;instance.request=eXo.core.Browser.createHttpRequest();instance.request.onreadystatechange=function(){if(instance==null||instance.request==null){return;}
if(instance.request.readyState==1){instance.onLoadingInternal(instance);}
if(instance.request.readyState==2){instance.onLoadedInternal(instance);}
if(instance.request.readyState==3){instance.onInteractiveInternal(instance);}
if(instance.request.readyState==4){instance.onCompleteInternal(instance);}};instance.onLoadingInternal=function(){if(instance.onLoadingInternalHandled)return;if(typeof(instance.onLoading)=="function")instance.onLoading(instance);instance.onLoadingInternalHandled=true;};instance.onLoadedInternal=function(){if(instance.onLoadedInternalHandled)return;if(typeof(instance.onLoaded)=="function")instance.onLoaded(instance);instance.onLoadedInternalHandled=true;};instance.onInteractiveInternal=function(){if(instance.onInteractiveInternalHandled)return;if(typeof(instance.onInteractive)=="function")instance.onInteractive(instance);instance.onInteractiveInternalHandled=true;};instance.evalResponse=function(){try{return eval((instance.responseText||''));}catch(e){throw(new Error('Cannot eval the response'));}};instance.onCompleteInternal=function(){if(instance.onCompleteInternalHandled||instance.aborted)return;try{instance.responseReceived=true;instance.status=instance.request.status;instance.statusText=instance.request.statusText;instance.responseText=instance.request.responseText;instance.responseXML=instance.request.responseXML;}catch(err){instance.status=0;}
if(typeof(instance.onComplete)=="function")instance.onComplete(instance);if(instance.status==200&&typeof(instance.onSuccess)=="function"){instance.onSuccess(instance);instance.onCompleteInternalHandled=true;if(typeof(instance.callBack)=="function"){instance.callBack(instance);}else if(instance.callBack){try{eval(instance.callBack);}
catch(e){throw(new Error('Can not execute callback...'));}}}else if(typeof(instance.onError)=="function"){instance.onError(instance);instance.onCompleteInternalHandled=false;}
delete instance.request['onreadystatechange'];instance.request=null;};instance.onTimeoutInternal=function(){if(instance==null||instance.request==null||instance.onCompleteInternalHandled)return;instance.aborted=true;instance.request.abort();if(typeof(instance.onTimeout)=="function")instance.onTimeout(instance);delete instance.request['onreadystatechange'];instance.request=null;};instance.process=function(){if(instance.request==null)return;instance.request.open(instance.method,instance.url,true);if(instance.method=="POST"){instance.request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");}else{instance.request.setRequestHeader("Content-Type","text/plain;charset=UTF-8");}
if(instance.timeout>0)setTimeout(instance.onTimeoutInternal,instance.timeout);instance.request.send(instance.queryString);};return instance;};function HttpResponseHandler(){var instance=new Object();instance.to=null;instance.executeScript=function(script){if(script==null||script=="")return;try{eval(script);return;}catch(err){}
var elements=script.split(';');if(elements!=null&&elements.length>0){for(var i=0;i<elements.length;i++){try{eval(elements[i]);}catch(err){alert(err+" : "+elements[i]+"  -- "+i);}}}};instance.updateBlocks=function(blocksToUpdate,parentId){if(blocksToUpdate==null)return;var parentBlock=null;if(parentId!=null&&parentId!="")parentBlock=document.getElementById(parentId);for(var i=0;i<blocksToUpdate.length;i++){var blockToUpdate=blocksToUpdate[i];var target=null;if(parentBlock!=null){target=eXo.core.DOMUtil.findDescendantById(parentBlock,blockToUpdate.blockId);}else{target=document.getElementById(blockToUpdate.blockId);}
if(target==null)alert("target  BlockToUpdate.blockId "+blockToUpdate.blockId);var newData=eXo.core.DOMUtil.findDescendantById(blockToUpdate.data,blockToUpdate.blockId);if(newData==null)alert("block to update Id "+blockToUpdate.blockId);target.innerHTML=newData.innerHTML;if(blockToUpdate.scripts){if(blockToUpdate.scripts.length>0){for(var k=0;k<blockToUpdate.scripts.length;k++){var encodedName='script_'+k+'_'+blockToUpdate.blockId;appendScriptToHead(encodedName,blockToUpdate.scripts[k]);}}}}};instance.ajaxTimeout=function(request){eXo.core.UIMaskLayer.removeMasks(eXo.portal.AjaxRequest.maskLayer);eXo.portal.AjaxRequest.maskLayer=null;eXo.portal.CurrentRequest=null;window.location.reload();}
instance.ajaxResponse=function(request){var temp=document.createElement("div");temp.innerHTML=this.request.responseText;var responseDiv=eXo.core.DOMUtil.findFirstDescendantByClass(temp,"div","PortalResponse");var response=new PortalResponse(responseDiv);var portletResponses=response.portletResponses;if(portletResponses!=null){for(var i=0;i<portletResponses.length;i++){var portletResponse=portletResponses[i];if(portletResponse.blocksToUpdate==null){var parentBlock=document.getElementById(portletResponse.portletId);var target=eXo.core.DOMUtil.findFirstDescendantByClass(parentBlock,"div","PORTLET-FRAGMENT");target.innerHTML=portletResponse.portletData;if(portletResponse.scripts){if(portletResponse.scripts.length>0){for(var k=0;k<portletResponse.scripts.length;k++){var encodedName='script_'+k+'_'+portletResponse.portletId;appendScriptToHead(encodedName,portletResponse.scripts[k]);}}}}else{instance.updateBlocks(portletResponse.blocksToUpdate,portletResponse.portletId);}}}
if(response.blocksToUpdate==undefined){if(confirm("Session timeout. Refresh your browser?"))instance.ajaxTimeout(request);}
instance.updateBlocks(response.blocksToUpdate);instance.executeScript(response.script);clearTimeout(instance.to);eXo.core.UIMaskLayer.removeMasks(eXo.portal.AjaxRequest.maskLayer);eXo.portal.AjaxRequest.maskLayer=null;eXo.portal.CurrentRequest=null;};instance.ajaxLoading=function(request){eXo.core.UIMaskLayer.createTransparentMask();instance.to=setTimeout(function(){if(eXo.portal.AjaxRequest.maskLayer==null){var mask=document.getElementById("AjaxLoadingMask");eXo.portal.AjaxRequest.maskLayer=eXo.core.UIMaskLayer.createMask("UIPortalApplication",mask,30);eXo.core.Browser.addOnScrollCallback("5439383",eXo.core.UIMaskLayer.setPosition);}},2000);}
return instance;};function ajaxGet(url,callback){if(!callback)callback=null;doRequest("Get",url,null,callback);};function ajaxPost(formElement,callback){if(!callback)callback=null;var queryString=eXo.webui.UIForm.serializeForm(formElement);var url=formElement.action+"&ajaxRequest=true";doRequest("POST",url,queryString,callback);};function doRequest(method,url,queryString,callback){request=new AjaxRequest(method,url,queryString);handler=new HttpResponseHandler();request.onSuccess=handler.ajaxResponse;request.onLoading=handler.ajaxLoading;request.onTimeout=handler.ajaxTimeout;request.callBack=callback;eXo.portal.CurrentRequest=request;request.process();};function ajaxAbort(){eXo.core.UIMaskLayer.removeMasks(eXo.portal.AjaxRequest.maskLayer);eXo.portal.AjaxRequest.maskLayer=null;eXo.portal.CurrentRequest.request.abort();eXo.portal.CurrentRequest.aborted=true;eXo.portal.CurrentRequest=null;};function ajaxAsyncGetRequest(url,async){if(async==undefined)async=true;var request=eXo.core.Browser.createHttpRequest();request.open('GET',url,async);request.setRequestHeader("Cache-Control","max-age=86400");request.send(null);if(!async)return request.responseText;}
function ajaxRedirect(url){url=url.replace(/&amp;/g,"&");window.location.href=url;}
eXo.portal.AjaxRequest=AjaxRequest.prototype.constructor;function UIComponent(node){this.node=node;if(node)this.type=node.className;var children=eXo.core.DOMUtil.getChildrenByTagName(node,"div");if(children.length>0){this.metaData=children[0];this.control=children[1];this.layout=children[2];this.view=children[3];}
this.component="";var div=eXo.core.DOMUtil.getChildrenByTagName(this.metaData,"div");if(div.length>0){this.id=div[0].firstChild.nodeValue;this.title=div[1].firstChild.nodeValue;}};UIComponent.prototype.getId=function(){return this.id;};UIComponent.prototype.getTitle=function(){return this.title;};UIComponent.prototype.getElement=function(){return this.node;};UIComponent.prototype.getUIComponentType=function(){return this.type;};UIComponent.prototype.getUIComponentBlock=function(){return this.node;};UIComponent.prototype.getControlBlock=function(){return this.control;};UIComponent.prototype.getLayoutBlock=function(){return this.layout;};UIComponent.prototype.getViewBlock=function(){return this.view;};function UIPortal(){this.portalUIComponentDragDrop=false;};UIPortal.prototype.getUIPortlets=function(){var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var founds=eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div","UIPortlet");var components=new Array();for(j=0;j<founds.length;j++){components[components.length]=new UIComponent(founds[j]);}
return components;};UIPortal.prototype.getUIPortletsInUIPortal=function(){var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var founds=eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div","UIPortlet");var components=new Array();for(var j=0;j<founds.length;j++){if(eXo.core.DOMUtil.findAncestorByClass(founds[j],'UIPage')==null){components[components.length]=new UIComponent(founds[j]);}}
return components;};UIPortal.prototype.getUIPortletsInUIPage=function(){var uiPage=document.getElementById("UIPage");var founds=eXo.core.DOMUtil.findDescendantsByClass(uiPage,"div","UIPortlet");var components=new Array();for(var j=0;j<founds.length;j++){components[components.length]=new UIComponent(founds[j]);}
return components;};UIPortal.prototype.getUIContainers=function(){var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var founds=eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div","UIContainer");var components=new Array();for(var j=0;j<founds.length;j++){components[j]=new UIComponent(founds[j]);}
return components;};UIPortal.prototype.getUIPageBody=function(){return new UIComponent(document.getElementById("UIPageBody"));};UIPortal.prototype.getUIPortal=function(){var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");return new UIComponent(eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkingWorkspace,"div","UIPortal"));};UIPortal.prototype.switchViewModeToLayoutMode=function(uicomponent,swapContent){var layoutBlock=uicomponent.getLayoutBlock();if(!layoutBlock||layoutBlock.style.display=='block')return;var viewBlock=uicomponent.getViewBlock();if(swapContent){var contentNode=eXo.core.DOMUtil.findDescendantById(viewBlock,uicomponent.getId());if(contentNode!=null){layoutBlock.appendChild(contentNode);}}
try{viewBlock.style.display="none";layoutBlock.style.display="block";}catch(err){}};UIPortal.prototype.switchLayoutModeToViewMode=function(uicomponent,swapContent){var viewBlock=uicomponent.getViewBlock();if(!viewBlock||viewBlock.style.display=='block')return;var layoutBlock=uicomponent.getLayoutBlock();if(swapContent){var contentNode=eXo.core.DOMUtil.findDescendantById(layoutBlock,uicomponent.getId());if(contentNode!=null){viewBlock.appendChild(contentNode);}}
viewBlock.style.display="block";layoutBlock.style.display="none";};UIPortal.prototype.switchMode=function(elemtClicked){if(elemtClicked.className=="Icon PreviewIcon"){elemtClicked.className="Icon LayoutModeIcon";this.showViewMode();this.showMaskLayer();}else{this.hideMaskLayer();elemtClicked.className="Icon PreviewIcon";this.showLayoutModeForPortal();}};UIPortal.prototype.switchModeForPage=function(elemtClicked){var layoutMode=this.showViewLayoutModeForPage();if(layoutMode==1){elemtClicked.className="Icon PagePreviewIcon";this.hideMaskLayer();}else if(layoutMode==0){elemtClicked.className="Icon PageLayoutModeIcon";this.showMaskLayer();}};UIPortal.prototype.showUIComponentControl=function(uicomponent,flag){var controlBlock=uicomponent.getControlBlock();if(!controlBlock)return;var clickObject=eXo.core.DOMUtil.findFirstDescendantByClass(controlBlock,"div","DragControlArea");if(flag){clickObject.onmousedown=eXo.portal.PortalDragDrop.init;controlBlock.style.display='block';}else{controlBlock.onmousedown=null;controlBlock.style.display='none';}};UIPortal.prototype.showViewLayoutModeForPage=function(){var layoutMode=-1;var container=this.getUIContainers();var portlet=this.getUIPortletsInUIPage();if(portlet.length>0&&container.length>=0){for(var i=0;i<container.length;i++){var viewBlock=container[i].getViewBlock();if(viewBlock.style.display=='block'){this.switchViewModeToLayoutMode(container[i],true);this.showUIComponentControl(container[i],this.component=='UIContainer');if(layoutMode==-1)layoutMode=1;}else if(viewBlock.style.display=='none'){this.switchLayoutModeToViewMode(container[i],true);this.showUIComponentControl(container[i],false);if(layoutMode==-1)layoutMode=0;}}
for(var i=0;i<portlet.length;i++){var viewBlock=portlet[i].getViewBlock();if(viewBlock.style.display=='block'){this.switchViewModeToLayoutMode(portlet[i],false);this.showUIComponentControl(portlet[i],this.component=='UIPortlet');if(layoutMode==-1)layoutMode=1;}else if(viewBlock.style.display=='none'){this.switchLayoutModeToViewMode(portlet[i],false);this.showUIComponentControl(portlet[i],false);if(layoutMode==-1)layoutMode=0;}}}
return layoutMode;};UIPortal.prototype.showLayoutModeForPage=function(control){var uiPage=eXo.core.DOMUtil.findFirstDescendantByClass(document.body,"div","UIPage");if(uiPage==null)return;var viewPage=eXo.core.DOMUtil.findFirstChildByClass(uiPage,"div","VIEW-PAGE");var uiPageDesktop=document.getElementById("UIPageDesktop");var uiPortalApplication=document.getElementById("UIPortalApplication");if(uiPortalApplication.className!="Vista"){viewPage.style.border="solid 3px #dadada";}
viewPage.style.paddingTop="50px";viewPage.style.paddingRight="0px";viewPage.style.paddingBottom="50px";viewPage.style.paddingLeft="0px";if(control)this.component=control;var container=this.getUIContainers();for(var i=0;i<container.length;i++){this.switchViewModeToLayoutMode(container[i],true);this.showUIComponentControl(container[i],this.component=='UIContainer');var uiContainer=eXo.core.DOMUtil.findFirstDescendantByClass(viewPage,"div","UIContainer");if(uiContainer!=null){viewPage.style.border="none";viewPage.style.paddingTop="5px";viewPage.style.paddingRight="5px";viewPage.style.paddingBottom="5px";viewPage.style.paddingLeft="5px";}}
var portlet=this.getUIPortletsInUIPage();for(var i=0;i<portlet.length;i++){this.switchViewModeToLayoutMode(portlet[i],false);this.showUIComponentControl(portlet[i],this.component=='UIPortlet');var uiPortlet=eXo.core.DOMUtil.findFirstDescendantByClass(viewPage,"div","UIPortlet");if(uiPortlet!=null){viewPage.style.border="none";viewPage.style.paddingTop="5px";viewPage.style.paddingRight="5px";viewPage.style.paddingBottom="5px";viewPage.style.paddingLeft="5px";}}};UIPortal.prototype.showViewMode=function(){var portal=this.getUIPortal();this.switchLayoutModeToViewMode(portal,true);this.showUIComponentControl(portal,false);var uiPageDesktop=document.getElementById("UIPageDesktop");if(!uiPageDesktop){var pageBody=this.getUIPageBody();this.switchLayoutModeToViewMode(pageBody,true);this.showUIComponentControl(pageBody,false);}
var container=this.getUIContainers();for(var i=0;i<container.length;i++){this.switchLayoutModeToViewMode(container[i],true);this.showUIComponentControl(container[i],false);}
var portlet=this.getUIPortletsInUIPortal();for(var i=0;i<portlet.length;i++){this.switchLayoutModeToViewMode(portlet[i],false);this.showUIComponentControl(portlet[i],false);}};UIPortal.prototype.showLayoutModeForPortal=function(control){if(control)this.component=control;var portal=this.getUIPortal();this.switchViewModeToLayoutMode(portal,true);this.showUIComponentControl(portal,this.component=='UIPortal');var pageBody=this.getUIPageBody();this.switchViewModeToLayoutMode(pageBody,false);this.showUIComponentControl(pageBody,this.component=='UIPageBody');var container=this.getUIContainers();for(var i=0;i<container.length;i++){this.switchViewModeToLayoutMode(container[i],true);this.showUIComponentControl(container[i],this.component=='UIContainer');}
var portlet=this.getUIPortletsInUIPortal();for(var i=0;i<portlet.length;i++){this.switchViewModeToLayoutMode(portlet[i],false);this.showUIComponentControl(portlet[i],this.component=='UIPortlet');}};UIPortal.prototype.findUIComponentOf=function(element){var parent=element.parentNode;while(parent!=null){var className=parent.className;if(className=='UIPortlet'||className=='UIContainer'||className=='UIPageBody'||className=='UIPortal'){return parent;}
parent=parent.parentNode;}
return null;};UIPortal.prototype.showMaskLayer=function(){var uiPortalApplication=document.getElementById("UIPortalApplication");var object=document.createElement("div");object.className="PreviewMode";object.style.display="none";uiPortalApplication.appendChild(object);this.maskLayer=eXo.core.UIMaskLayer.createMask("UIPortalApplication",object,30,"TOP-RIGHT");this.maskLayer.title="Click here to turn off preview mode";this.maskLayer.style.cursor="pointer";this.maskLayer.onclick=function(){var layoutModeIcon=eXo.core.DOMUtil.findFirstDescendantByClass(uiPortalApplication,"a","LayoutModeIcon");var pageLayoutModeIcon=eXo.core.DOMUtil.findFirstDescendantByClass(uiPortalApplication,"a","PageLayoutModeIcon");if(layoutModeIcon){eXo.portal.UIPortal.switchMode(layoutModeIcon);}
if(pageLayoutModeIcon){eXo.portal.UIPortal.switchModeForPage(pageLayoutModeIcon);}}
this.maskLayer.style.zIndex=parseInt(object.style.zIndex)+1;eXo.core.Browser.addOnScrollCallback("3743892",eXo.core.UIMaskLayer.setPosition);};UIPortal.prototype.hideMaskLayer=function(){if(this.maskLayer){var uiPortalApplication=document.getElementById("UIPortalApplication");eXo.core.UIMaskLayer.removeMask(this.maskLayer);this.maskLayer=null;var maskObject=eXo.core.DOMUtil.findFirstDescendantByClass(uiPortalApplication,"div","PreviewMode");uiPortalApplication.removeChild(maskObject);}};UIPortal.prototype.changeSkin=function(url){var skin='';if(eXo.webui.UIItemSelector.SelectedItem!=undefined){skin=eXo.webui.UIItemSelector.SelectedItem.option;}
if(skin==undefined)skin='';ajaxAsyncGetRequest(url+'&skin='+skin,false);window.location.reload();};UIPortal.prototype.changeLanguage=function(url){var language='';if(eXo.webui.UIItemSelector.SelectedItem!=undefined){language=eXo.webui.UIItemSelector.SelectedItem.option;}
if(language==undefined)language='';ajaxAsyncGetRequest(url+'&language='+language,false);window.location.reload();};UIPortal.prototype.changePortal=function(accessPath,portal){window.location=eXo.env.server.context+"/"+accessPath+"/"+portal+"/";};UIPortal.prototype.popupButton=function(url,action){if(action==undefined)action='';window.location=url+'&action='+action;};UIPortal.prototype.createJSApplication=function(application,applicationId,instanceId,appLocation){if(application){eXo.require(application,appLocation);var createApplication=application+'.initApplication(\''+applicationId+'\',\''+instanceId+'\');';eval(createApplication);}};eXo.portal.UIPortalComponent=UIComponent.prototype.constructor;eXo.portal.UIPortal=new UIPortal();eXo.portal.UIComponent=UIPortal.prototype.constructor;function UIWorkspace(id){this.id=id;this.showControlWorkspace=false;this.isFirstTime=true;};eXo.portal.UIWorkspace=new UIWorkspace("UIWorkspace");if(!eXo.portal.UIControlWorkspace){eXo.portal.UIControlWorkspace=new UIWorkspace("UIControlWorkspace");};eXo.portal.UIControlWorkspace.onResize=function(width,height){this.width=width;this.height=height;var uiWorkspace=document.getElementById(this.id);var uiWorkspaceContainer=document.getElementById("UIWorkspaceContainer");this.uiWorkspaceControl=document.getElementById("UIWorkspaceControl");var uiWorkspacePanel=document.getElementById("UIWorkspacePanel");uiWorkspace.style.width=width+"px";uiWorkspace.style.height=height+"px";if(eXo.portal.UIControlWorkspace.showControlWorkspace){uiWorkspaceContainer.style.display="block";uiWorkspaceContainer.style.width=eXo.portal.UIControlWorkspace.defaultWidth+"px";}
var startMenuContainer=document.getElementById("StartMenuContainer");startMenuContainer.style.display="none";uiWorkspacePanel.style.height=(height-this.uiWorkspaceControl.offsetHeight-23)+"px";uiWorkspacePanel.style.overflow="hidden";eXo.portal.UIControlWorkspace.slidebar.style.height=height+"px";eXo.portal.UIControlWorkspace.slidebar.style.overflow="hidden";uiWorkspace.style.top=document.documentElement.scrollTop+"px";};eXo.portal.UIControlWorkspace.onResizeDefault=function(){var cws=eXo.portal.UIControlWorkspace;cws.defaultWidth=250;cws.slidebarDefaultWidth=6;cws.slidebar=document.getElementById("ControlWorkspaceSlidebar");if(this.isFirstTime){cws.originalSlidebarWidth=cws.slidebar.offsetWidth;}
if(cws.showControlWorkspace){cws.slidebar.style.display="none";cws.onResize(cws.defaultWidth,eXo.core.Browser.getBrowserHeight());}else{cws.slidebar.style.display="block";cws.onResize(cws.slidebar.offsetWidth,eXo.core.Browser.getBrowserHeight());}};eXo.portal.UIControlWorkspace.setVisible=function(visible){var cws=eXo.portal.UIControlWorkspace;if(cws.isFirstTime==true&&visible&&cws.showControlWorkspace==false){cws.isFirstTime=false;cws.showWorkspace();}};eXo.portal.UIControlWorkspace.showWorkspace=function(){var cws=eXo.portal.UIControlWorkspace;var uiWorkspace=document.getElementById(this.id);var uiWorkspaceContainer=document.getElementById("UIWorkspaceContainer");var uiWorkspacePanel=document.getElementById("UIWorkspacePanel");var slidebar=document.getElementById("ControlWorkspaceSlidebar");var uiControlWorkspace=document.getElementById("UIControlWorkspace");if(cws.showControlWorkspace){cws.showControlWorkspace=false;uiWorkspaceContainer.style.display="none";slidebar.style.display="block";eXo.portal.UIControlWorkspace.width=eXo.portal.UIControlWorkspace.slidebar.offsetWidth;uiWorkspace.style.width=slidebar.offsetWidth+"px";eXo.portal.UIWorkingWorkspace.onResize(null,null);}else{cws.showControlWorkspace=true;slidebar.style.display="none";eXo.portal.UIControlWorkspace.width=cws.defaultWidth;uiWorkspace.style.width=cws.defaultWidth+"px";eXo.portal.UIWorkingWorkspace.onResize(null,null);uiWorkspaceContainer.style.display="block";uiWorkspaceContainer.style.width=cws.defaultWidth+"px";uiWorkspacePanel.style.height=(eXo.portal.UIControlWorkspace.height-
eXo.portal.UIControlWorkspace.uiWorkspaceControl.offsetHeight-23)+"px";eXo.webui.UIVerticalScroller.init();eXo.portal.UIPortalControl.fixHeight();}
var uiPageDesktop=document.getElementById("UIPageDesktop");if(uiPageDesktop)eXo.desktop.UIDockbar.resizeDockBar();eXo.portal.UIPortalControl.initAllManagers();if(uiPageDesktop){var DOMUtil=eXo.core.DOMUtil;var uiWidget=DOMUtil.findChildrenByClass(uiPageDesktop,"div","UIWidget");var uiControlWorkspace=document.getElementById("UIControlWorkspace");var size=uiWidget.length;var limitX=50;for(var i=0;i<size;i++){var dragObject=uiWidget[i];if(cws.showControlWorkspace){dragObject.style.left=(dragObject.offsetLeft-uiControlWorkspace.offsetWidth)+"px";}
else{dragObject.style.left=(dragObject.offsetLeft+uiControlWorkspace.offsetWidth+dragObject.offsetWidth)+"px";}
var offsetHeight=uiPageDesktop.offsetHeight-dragObject.offsetHeight-limitX;var offsetTop=dragObject.offsetTop;var offsetWidth=uiPageDesktop.offsetWidth-dragObject.offsetWidth-limitX;var offsetLeft=dragObject.offsetLeft;if(dragObject.offsetLeft<0)dragObject.style.left="0px";if(dragObject.offsetTop<0)dragObject.style.top="0px";if(offsetTop>offsetHeight)dragObject.style.top=(offsetHeight+limitX)+"px";if(offsetLeft>offsetWidth)dragObject.style.left=(offsetWidth+limitX)+"px";}
var uiGadgets=DOMUtil.findChildrenByClass(uiPageDesktop,"div","UIGadget");var limitXGadget=80;for(var i=0;i<uiGadgets.length;i++){var dragObject=uiGadgets[i];if(cws.showControlWorkspace){dragObject.style.left=(parseInt(dragObject.style.left)-uiControlWorkspace.offsetWidth)+"px";}
else{dragObject.style.left=(parseInt(dragObject.style.left)+uiControlWorkspace.offsetWidth+dragObject.offsetWidth-limitXGadget)+"px";}
var offsetHeight=uiPageDesktop.offsetHeight-dragObject.offsetHeight;var offsetWidth=uiPageDesktop.offsetWidth-dragObject.offsetWidth;var dragPosX=parseInt(dragObject.style.left);var dragPosY=parseInt(dragObject.style.top);if(dragPosX<0)dragObject.style.left="0px";if(dragPosY<0)dragObject.style.top="0px";if(dragPosY>offsetHeight)dragObject.style.top=offsetHeight+"px";if(dragPosX>offsetWidth)dragObject.style.left=offsetWidth+"px";}}
var dropDownAnchors=eXo.core.DOMUtil.findDescendantsByClass(document,"div","UIDropDownAnchor");for(var i=0;i<dropDownAnchors.length;i++){if(dropDownAnchors[i].style.display!="none"){dropDownAnchors[i].style.display="none";}}
var params=[{name:"objectId",value:cws.showControlWorkspace}];ajaxAsyncGetRequest(eXo.env.server.createPortalURL(this.id,"SetVisible",true,params),false);};if(eXo.portal.UIWorkingWorkspace==undefined){eXo.portal.UIWorkingWorkspace=new UIWorkspace("UIWorkingWorkspace");};eXo.portal.UIWorkingWorkspace.onResize=function(){var uiWorkspace=document.getElementById(eXo.portal.UIWorkingWorkspace.id);var uiControlWorkspace=document.getElementById("UIControlWorkspace");var controlWorkspaceWidth=eXo.portal.UIControlWorkspace.width;if(eXo.core.Browser.isIE6()){var tabs=eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkspace,"div","UIHorizontalTabs");if(tabs)tabs.style.left=0;}
if(uiControlWorkspace){uiWorkspace.style.marginLeft=controlWorkspaceWidth+"px";}else{uiWorkspace.style.marginLeft="0px";}};eXo.portal.UIWorkingWorkspace.resizeWorkspacePanel=function(h){var workspacePanel=document.getElementById("UIWorkspacePanel");workspacePanel.style.height=h+"px";};eXo.portal.UIWorkingWorkspace.reorganizeWindows=function(showControlWorkspace){var uiDesk=document.getElementById("UIPageDesktop");if(uiDesk){var uiCtrl=document.getElementById("UIControlWorkspace");var uiWindows=eXo.core.DOMUtil.findDescendantsByClass(uiDesk,"div","UIWindow");for(var k=0;k<uiWindows.length;k++){if(uiWindows[k].style.display!="none"){var uiWindow=uiWindows[k];if(showControlWorkspace){uiWindow.oldW=uiWindow.offsetWidth;if((uiWindow.offsetLeft+uiWindow.offsetWidth)>uiDesk.offsetWidth){uiWindow.style.width=(uiWindow.offsetWidth-eXo.portal.UIControlWorkspace.defaultWidth+eXo.portal.UIControlWorkspace.slidebarDefaultWidth)+"px";if((eXo.desktop.UIWindow.originalWidth+uiWindow.offsetLeft)>uiDesk.offsetWidth&&uiWindow.maximized){eXo.desktop.UIWindow.originalWidth-=eXo.portal.UIControlWorkspace.defaultWidth;}}}else{if(uiWindow.maximized){uiWindow.style.width=uiDesk.offsetWidth+"px";}else{uiWindow.style.width=uiWindow.oldW+"px";}}}}}};function UIPortalControl(){this.scrollManagers=new Array();this.t=0;};UIPortalControl.prototype.changeWindowState=function(id,state){var params=[{name:"portletId",value:id},{name:"objectId",value:state}];ajaxGet(eXo.env.server.createPortalURL("UIPortal","ChangeWindowState",true,params));};UIPortalControl.prototype.collapseTree=function(selectedElement){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(selectedElement,"Node");var childrenContainer=DOMUtil.findFirstDescendantByClass(parentNode,"div","ChildrenContainer");var expandIcon=document.createElement('a');expandIcon.href=childrenContainer.getAttribute("actionLink");expandIcon.className="ExpandIcon";expandIcon.innerHTML=selectedElement.innerHTML;parentNode.removeChild(childrenContainer);parentNode.insertBefore(expandIcon,selectedElement);parentNode.removeChild(selectedElement);eXo.portal.UIPortalControl.fixHeight();};UIPortalControl.prototype.fixHeight=function(){var objectParent=document.getElementById("UIControlWorkspace");if(!objectParent)return;clearTimeout(objectParent.recall);var DOMUtil=eXo.core.DOMUtil;var uiControlWSWorkingArea=document.getElementById("UIControlWSWorkingArea");var uiWorkspacePanel=document.getElementById("UIWorkspacePanel");var uiWorkspaceContainer=DOMUtil.findFirstDescendantByClass(objectParent,"div","UIWorkspaceContainer");if(uiWorkspaceContainer.style.display=="block"){var scrollArea=DOMUtil.findFirstDescendantByClass(objectParent,"div","ScrollArea");if(scrollArea!=null){var baseHeight=parseInt(uiWorkspacePanel.style.height);scrollArea.style.height="auto";var scrollAreaHeight=scrollArea.scrollHeight;var contentHeight=0;if(uiControlWSWorkingArea)
contentHeight=uiControlWSWorkingArea.offsetHeight;var deltaResize=contentHeight-baseHeight;if(deltaResize>0&&(scrollAreaHeight>deltaResize)){scrollArea.style.height=scrollAreaHeight-deltaResize+"px";scrollArea.style.overflowY="auto";scrollArea.style.overflowX="hidden";var children=DOMUtil.getChildrenByTagName(scrollArea,"div");if(children.length>0){children[0].style.borderTop="1px solid white";children[0].style.height="auto";children[0].style.height=children[0].offsetHeight+"px";}}}}};UIPortalControl.prototype.onEnterPress=function(e){var e=window.event||e;var uiPortalLoginFormAction=document.getElementById("UIPortalLoginFormAction");if(uiPortalLoginFormAction){var code;if(!e)e=window.event;if(e.keyCode)code=e.keyCode;else if(e.which)code=e.which;if(code==13){if(this.t!=13){uiPortalLoginFormAction.onclick();}
this.t=code;}}};function ScrollManager(){this.id=null;this.elements=new Array();this.firstVisibleIndex=0;this.lastVisibleIndex=-1;this.otherHiddenElements=new Array();this.axis=0;this.currDirection=null;this.callback=null;this.initFunction=null;this.leftArrow=null;this.rightArrow=null;this.mainContainer=null;this.arrowsContainer=null
this.margin=6.9;};ScrollManager.prototype.initArrowButton=function(arrow,dir,normalClass,overClass,disabledClass){if(arrow){arrow.direction=dir;arrow.overClass=overClass;arrow.disabledClass=disabledClass;arrow.styleClass=normalClass;arrow.scrollMgr=this;arrow.onmouseover=this.mouseOverArrow;arrow.onmouseout=this.mouseOutArrow;arrow.onclick=this.scroll;if(dir=="left")this.leftArrow=arrow;else if(dir=="right")this.rightArrow=arrow;}};ScrollManager.prototype.enableArrow=function(arrow,enabled){if(arrow&&!enabled){arrow.className=arrow.disabledClass;arrow.onclick=null;}else if(arrow&&enabled){arrow.className=arrow.styleClass;arrow.onclick=this.scroll;}};ScrollManager.prototype.mouseOverArrow=function(e){var arrow=this;if(arrow.onclick&&arrow.className==arrow.styleClass){if(!e)e=window.event;if(arrow==eXo.core.Browser.getEventSource(e))arrow.className=arrow.overClass;}};ScrollManager.prototype.mouseOutArrow=function(e){var arrow=this;if(arrow.onclick&&arrow.className==arrow.overClass){arrow.className=arrow.styleClass;}};ScrollManager.prototype.init=function(){this.firstVisibleIndex=0;this.lastVisibleIndex=-1;if(this.arrowsContainer){this.arrowsContainer.style.display="none";this.arrowsContainer.space=null;this.mainContainer.space=null;}
var uiNavigationPortlet=eXo.core.DOMUtil.findAncestorByClass(this.mainContainer,"UINavigationPortlet");if(uiNavigationPortlet){var uiApplication=uiNavigationPortlet.parentNode;uiApplication.style.display="inline";}};ScrollManager.prototype.loadElements=function(elementClass,clean){if(clean)this.cleanElements();this.elements.clear();this.elements.pushAll(eXo.core.DOMUtil.findDescendantsByClass(this.mainContainer,"div",elementClass));};ScrollManager.prototype.checkAvailableSpace=function(maxSpace){if(!maxSpace)maxSpace=this.getElementSpace(this.mainContainer)-this.getElementSpace(this.arrowsContainer);var elementsSpace=0;var margin=0;var length=this.elements.length;for(var i=0;i<length;i++){elementsSpace+=this.getElementSpace(this.elements[i]);if(i+1<length)margin=this.getElementSpace(this.elements[i+1])/3;else margin=this.margin;if(elementsSpace+margin<maxSpace){this.elements[i].isVisible=true;this.lastVisibleIndex=i;}else{this.elements[i].isVisible=false;}}};ScrollManager.prototype.getElementsSpace=function(indexStart,indexEnd){if(indexStart==null&&indexEnd==null){indexStart=0;indexEnd=this.elements.length-1;}
var elementsSpace=0;if(indexStart>=0&&indexEnd<=this.elements.length-1){for(var i=indexStart;i<=indexEnd;i++){elementsSpace+=this.getElementSpace(this.elements[i]);}}
return elementsSpace;};ScrollManager.prototype.getElementSpace=function(element){if(element&&element.space){return element.space;}
var elementSpace=0;var wasHidden=false;if(element){if(element.style.display=="none"){element.style.display="block";wasHidden=true;}
if(this.axis==0){elementSpace+=element.offsetWidth;elementSpace+=eXo.core.DOMUtil.getStyle(element,"marginLeft",true);elementSpace+=eXo.core.DOMUtil.getStyle(element,"marginRight",true);if(element.decorator)elementSpace+=this.getElementSpace(element.decorator);}else if(this.axis==1){elementSpace+=element.offsetHeight;elementSpace+=eXo.core.DOMUtil.getStyle(element,"marginTop",true);elementSpace+=eXo.core.DOMUtil.getStyle(element,"marginBottom",true);if(element.decorator)elementSpace+=this.getElementSpace(element.decorator);}
if(wasHidden)element.style.display="none";element.space=elementSpace;}
return elementSpace;};ScrollManager.prototype.cleanElements=function(){for(var i=0;i<this.elements.length;i++){this.elements[i].space=null;if(this.elements[i].decorator)this.elements[i].decorator.space=null;}};ScrollManager.prototype.scroll=function(e){if(!e)e=window.event;e.cancelBubble=true;var src=eXo.core.Browser.getEventSource(e);if(src.scrollMgr&&src.onclick){if(src.scrollMgr.otherHiddenElements.length>0){for(var i=0;i<src.scrollMgr.otherHiddenElements.length;i++){src.scrollMgr.otherHiddenElements[i].isVisible=true;src.scrollMgr.otherHiddenElements[i].style.display="block";if(src.scrollMgr.currDirection==1)src.scrollMgr.firstVisibleIndex--;else if(src.scrollMgr.currDirection==0)src.scrollMgr.lastVisibleIndex++;}
src.scrollMgr.otherHiddenElements.clear();}
if(src.direction=="left")src.scrollMgr.scrollLeft();else if(src.direction=="right")src.scrollMgr.scrollRight();}
return false;};ScrollManager.prototype.scrollLeft=function(){if(this.firstVisibleIndex>0){this.currDirection=0;this.elements[this.lastVisibleIndex--].isVisible=false;this.getVisibleElements();this.renderElements();}};ScrollManager.prototype.scrollUp=function(){if(this.scrollMgr)this.scrollMgr.scrollLeft();};ScrollManager.prototype.scrollRight=function(){if(this.lastVisibleIndex<this.elements.length-1){this.currDirection=1;this.elements[this.firstVisibleIndex++].isVisible=false;this.getVisibleElements();this.renderElements();}};ScrollManager.prototype.scrollDown=function(){if(this.scrollMgr)this.scrollMgr.scrollRight();};ScrollManager.prototype.getVisibleElements=function(){var availableSpace=this.getElementSpace(this.mainContainer)-this.getElementSpace(this.arrowsContainer);var refereceIndex=0;var margin=0;var elementsSpace=0;if(this.currDirection){var length=this.elements.length;for(var i=this.firstVisibleIndex;i<length;i++){elementsSpace+=this.getElementSpace(this.elements[i]);if(i+1<length)margin=this.getElementSpace(this.elements[i+1])/3;else margin=this.margin;if(elementsSpace+margin<availableSpace){this.elements[i].isVisible=true;refereceIndex=i;}else this.elements[i].isVisible=false;}
if(this.lastVisibleIndex==refereceIndex)this.scrollRight();else this.lastVisibleIndex=refereceIndex;}else{for(var i=this.lastVisibleIndex;i>=0;i--){elementsSpace+=this.getElementSpace(this.elements[i]);margin=this.getElementSpace(this.elements[this.lastVisibleIndex])/3;if(elementsSpace+margin<availableSpace){this.elements[i].isVisible=true;refereceIndex=i;}else this.elements[i].isVisible=false;}
if(this.firstVisibleIndex==refereceIndex)this.scrollLeft();else this.firstVisibleIndex=refereceIndex;}};ScrollManager.prototype.renderElements=function(){for(var i=0;i<this.elements.length;i++){if(this.elements[i].isVisible){this.elements[i].style.display="block";}else{this.elements[i].style.display="none";this.arrowsContainer.style.display="block";}}
if(this.arrowsContainer.style.display=="block"){this.renderArrows();}
if(typeof(this.callback)=="function")this.callback();};ScrollManager.prototype.renderArrows=function(){if(this.firstVisibleIndex==0)this.enableArrow(this.leftArrow,false);else this.enableArrow(this.leftArrow,true);if(this.lastVisibleIndex==this.elements.length-1)this.enableArrow(this.rightArrow,false);else this.enableArrow(this.rightArrow,true);};UIPortalControl.prototype.initAllManagers=function(){var managers=eXo.portal.UIPortalControl.scrollManagers;for(var i=0;i<managers.length;i++){var mgrContainer=document.getElementById(managers[i].id);var mgrParent=eXo.core.DOMUtil.findAncestorByClass(mgrContainer,"UIWindow");var toInit=(mgrContainer!==null)&&(mgrParent===null||(mgrParent!==null&&mgrParent.style.display=="block"))&&(typeof(managers[i].initFunction)=="function");if(toInit){managers[i].initFunction();}}};UIPortalControl.prototype.newScrollManager=function(id_){if(eXo.portal.UIPortalControl.scrollManagers.length==0){eXo.core.Browser.addOnResizeCallback("initAllManagers",eXo.portal.UIPortalControl.initAllManagers);}
if(id_){var tmpMgr=new ScrollManager();tmpMgr.id=id_;eXo.portal.UIPortalControl.scrollManagers.push(tmpMgr);return tmpMgr;}else{alert('You must set an id to the new scroll manager !!');return null;}};function VerticalScrollManager(){repeat=null;}
VerticalScrollManager.prototype.initScroll=function(clickedEle,isUp,step){var DOMUtil=eXo.core.DOMUtil;var verticalScroll=eXo.portal.VerticalScrollManager;var container=DOMUtil.findAncestorByClass(clickedEle,"ItemContainer");var middleCont=DOMUtil.findFirstDescendantByClass(container,"div","MiddleItemContainer");if(!middleCont.id)middleCont.id="IC"+new Date().getTime()+Math.random().toString().substring(2);document.onmouseup=verticalScroll.cancelScroll;verticalScroll.scrollComponent(middleCont.id,isUp,step);};VerticalScrollManager.prototype.scrollComponent=function(id,isUp,step){var verticalScroll=eXo.portal.VerticalScrollManager;var scrollComp=document.getElementById(id);if(isUp){scrollComp.scrollTop-=step;}else{scrollComp.scrollTop+=step;}
if(verticalScroll.repeat){clearTimeout(verticalScroll.repeat);verticalScroll.repeat=null;}
verticalScroll.repeat=setTimeout("eXo.portal.VerticalScrollManager.scrollComponent('"+id+"',"+isUp+","+step+")",100);};VerticalScrollManager.prototype.cancelScroll=function(){clearTimeout(eXo.portal.VerticalScrollManager.repeat);eXo.portal.VerticalScrollManager.repeat=null;};eXo.portal.VerticalScrollManager=new VerticalScrollManager();eXo.portal.UIPortalControl=new UIPortalControl();function PortalDragDrop(){this.count=0;};PortalDragDrop.prototype.init=function(e){if(!e)e=window.event;if(((e.which)&&(e.which==2||e.which==3))||((e.button)&&(e.button==2)))return;var DOMUtil=eXo.core.DOMUtil;var Browser=eXo.core.Browser;var DragDrop=eXo.core.DragDrop;DragDrop.initCallback=function(dndEvent){var PortalDragDrop=eXo.portal.PortalDragDrop;this.origDragObjectStyle=new eXo.core.HashMap();var dragObject=dndEvent.dragObject;var properties=["top","left","zIndex","opacity","filter","position"];this.origDragObjectStyle.copyProperties(properties,dragObject.style);PortalDragDrop.originalDragObjectTop=Browser.findPosY(dragObject);var originalDragObjectLeft=Browser.findPosX(dragObject);var originalMousePositionY=Browser.findMouseYInPage(e);var originalMousePositionX=Browser.findMouseXInPage(e);PortalDragDrop.deltaYDragObjectAndMouse=originalMousePositionY-PortalDragDrop.originalDragObjectTop;PortalDragDrop.deltaXDragObjectAndMouse=originalMousePositionX-originalDragObjectLeft;PortalDragDrop.parentDragObject=dragObject.parentNode;PortalDragDrop.backupDragObjectWidth=dragObject.offsetWidth;PortalDragDrop.backupTopPosition=PortalDragDrop.originalDragObjectTop;PortalDragDrop.backupLeftPosition=originalDragObjectLeft;PortalDragDrop.backupOffsetWidth=dragObject.offsetWidth;PortalDragDrop.backupOffsetHeight=dragObject.offsetHeight;if(DOMUtil.findFirstChildByClass(dragObject,"div","CONTROL-BLOCK")==null){var cloneObject=dragObject.cloneNode(true);dragObject.parentNode.insertBefore(cloneObject,dragObject);dndEvent.dragObject=cloneObject;cloneObject.style.position="absolute";cloneObject.style.left=(Browser.findMouseXInPage(e)-
PortalDragDrop.deltaXDragObjectAndMouse)+"px";cloneObject.style.top=(Browser.findMouseYInPage(e)-
PortalDragDrop.deltaYDragObjectAndMouse-document.documentElement.scrollTop)+"px";cloneObject.style.opacity=0.5;cloneObject.style.filter="alpha(opacity=50)";cloneObject.style.width=PortalDragDrop.backupDragObjectWidth+"px";}}
DragDrop.dragCallback=function(dndEvent){var dragObject=dndEvent.dragObject;eXo.portal.PortalDragDrop.scrollOnDrag(dragObject,dndEvent);if((dndEvent.foundTargetObject)&&(dndEvent.lastFoundTargetObject)){var uiComponentLayout;if(dndEvent.foundTargetObject.className=="UIPage"){uiComponentLayout=DOMUtil.findFirstDescendantByClass(dndEvent.foundTargetObject,"div","VIEW-PAGE");}else if(dndEvent.foundTargetObject.className=="UIPortal"){uiComponentLayout=DOMUtil.findFirstDescendantByClass(dndEvent.foundTargetObject,"div","LAYOUT-PORTAL");}else{var foundUIComponent=new eXo.portal.UIPortalComponent(dndEvent.foundTargetObject);uiComponentLayout=foundUIComponent.getLayoutBlock();}
if(uiComponentLayout.className=="LAYOUT-CONTAINER")uiComponentLayout.style.height="auto";try{if(eXo.portal.PortalDragDrop.backupLastFoundTarget){var lastFoundUIComponent=new eXo.portal.UIPortalComponent(eXo.portal.PortalDragDrop.backupLastFoundTarget);var lastFoundComponentLayout=lastFoundUIComponent.getLayoutBlock();if((lastFoundComponentLayout.className=="LAYOUT-CONTAINER")&&(lastFoundComponentLayout.offsetHeight<30)){if(eXo.core.DOMUtil.findFirstDescendantByClass(lastFoundComponentLayout,"div","UIContainer")==null){lastFoundComponentLayout.style.height="60px";}}}}catch(err){}
dndEvent.foundTargetObject.uiComponentLayoutType=uiComponentLayout;var componentIdElement=DOMUtil.getChildrenByTagName(uiComponentLayout,"div")[0];var layoutTypeElement=DOMUtil.getChildrenByTagName(componentIdElement,"div")[0];eXo.portal.PortalDragDrop.layoutTypeElementNode=layoutTypeElement;if(layoutTypeElement!=null){var rowContainer=DOMUtil.findFirstDescendantByClass(uiComponentLayout,"div","UIRowContainer");var childRowContainer=DOMUtil.getChildrenByTagName(rowContainer,"div");var listComponent=new Array();for(var i=0;i<childRowContainer.length;i++){if((childRowContainer[i].className!="DragAndDropPreview")&&(childRowContainer[i]!=dragObject)){listComponent.push(childRowContainer[i]);}}
dndEvent.foundTargetObject.listComponentInTarget=listComponent;eXo.portal.PortalDragDrop.setDragObjectProperties(dragObject,childRowContainer,"row",dndEvent.backupMouseEvent);var insertPosition=eXo.portal.PortalDragDrop.findInsertPosition(listComponent,dragObject,"row");dndEvent.foundTargetObject.foundIndex=insertPosition;if(dndEvent.lastFoundTargetObject!=null){eXo.portal.PortalDragDrop.backupLastFoundTarget=dndEvent.lastFoundTargetObject;eXo.portal.PortalDragDrop.undoPreview(dndEvent);}
if(insertPosition>=0){rowContainer.insertBefore(eXo.portal.PortalDragDrop.createPreview("row"),listComponent[insertPosition]);}else{rowContainer.appendChild(eXo.portal.PortalDragDrop.createPreview("row"));}}else{var columnContainer=DOMUtil.findFirstDescendantByClass(uiComponentLayout,"table","UITableColumnContainer");var trContainer=DOMUtil.findFirstDescendantByClass(uiComponentLayout,"tr","TRContainer");var tdElementList=DOMUtil.getChildrenByTagName(trContainer,"td");var listComponent=new Array();for(var i=0;i<tdElementList.length;i++){if(DOMUtil.hasDescendantClass(uiComponentLayout,"DragAndDropPreview")){var previewBlock=DOMUtil.findFirstDescendantByClass(trContainer,"div","DragAndDropPreview");if((tdElementList[i]!=previewBlock.parentNode)&&(tdElementList[i]!=dragObject.parentNode)){listComponent.push(tdElementList[i]);}}else{listComponent.push(tdElementList[i]);}}
dndEvent.foundTargetObject.listComponentInTarget=listComponent;var insertPosition=eXo.portal.PortalDragDrop.findInsertPosition(listComponent,dragObject,"column");if(dndEvent.foundTargetObject==dndEvent.lastFoundTargetObject&&dndEvent.lastFoundTargetObject.foundIndex==insertPosition){return;}
dndEvent.foundTargetObject.foundIndex=insertPosition;if(dndEvent.lastFoundTargetObject!=null){eXo.portal.PortalDragDrop.undoPreview(dndEvent);}
eXo.portal.PortalDragDrop.tdInserted=document.createElement('td');eXo.portal.PortalDragDrop.tdInserted.appendChild(eXo.portal.PortalDragDrop.createPreview("column"));if(insertPosition>=0){trContainer.insertBefore(eXo.portal.PortalDragDrop.tdInserted,listComponent[insertPosition]);}else{trContainer.appendChild(eXo.portal.PortalDragDrop.tdInserted);}
eXo.portal.PortalDragDrop.setDragObjectProperties(dragObject,tdElementList,"column",dndEvent.backupMouseEvent);}
if((Browser.findPosY(dragObject)<2)||(Browser.findPosX(dragObject)+64>eXo.core.Browser.getBrowserWidth())){DragDrop.dropCallback(dndEvent);document.onmousemove=null;}}};DragDrop.dropCallback=function(dndEvent){this.origDragObjectStyle.setProperties(dndEvent.dragObject.style,false);if(dndEvent.foundTargetObject!=null){eXo.portal.PortalDragDrop.doDropCallback(dndEvent);}else{if(DOMUtil.findFirstChildByClass(dndEvent.dragObject,"div","CONTROL-BLOCK")==null){dndEvent.dragObject.parentNode.removeChild(dndEvent.dragObject);}
eXo.portal.PortalDragDrop.removeNullPreview();}}
var clickObject=this;var controlBlock=DOMUtil.findAncestorByClass(clickObject,"CONTROL-BLOCK");if(controlBlock!=null){var dragBlock=eXo.portal.UIPortal.findUIComponentOf(controlBlock);DragDrop.init(eXo.portal.PortalDragDrop.findDropableTargets(),clickObject,dragBlock,e);}else{var dragBlock=DOMUtil.findAncestorByClass(clickObject,"DragObjectPortlet");if(dragBlock){DragDrop.init(eXo.portal.PortalDragDrop.findDropableTargets(),clickObject,dragBlock,e);}else{DragDrop.init(eXo.portal.PortalDragDrop.findDropableTargets(),clickObject,clickObject,e);}}};PortalDragDrop.prototype.doDropCallback=function(dndEvent){if(!dndEvent.lastFoundTargetObject){dndEvent.lastFoundTargetObject=eXo.portal.PortalDragDrop.backupLastFoundTarget;}
eXo.portal.PortalDragDrop.undoPreview(dndEvent);var srcElement=dndEvent.dragObject;var targetElement=dndEvent.foundTargetObject;var newComponent=false;if(eXo.core.DOMUtil.hasDescendantClass(srcElement,"DragControlArea")&&(targetElement.foundIndex!=null)){if(eXo.portal.PortalDragDrop.layoutTypeElementNode!=null){eXo.portal.PortalDragDrop.divRowContainerAddChild(srcElement,targetElement,targetElement.foundIndex);}else{eXo.portal.PortalDragDrop.tableColumnContainerAddChild(srcElement,targetElement,targetElement.foundIndex);}}
if(eXo.core.DOMUtil.findFirstChildByClass(dndEvent.dragObject,"div","CONTROL-BLOCK")==null){dndEvent.dragObject.parentNode.removeChild(dndEvent.dragObject);newComponent=true;}
var params=[{name:"srcID",value:(srcElement.id.replace(/^UIPortlet-/,"")).replace(/^UIContainer-/,"")},{name:"targetID",value:targetElement.id.replace(/^.*-/,"")},{name:"insertPosition",value:targetElement.foundIndex},{name:"newComponent",value:newComponent}];try{dndEvent.lastFoundTargetObject.foundIndex=-1;}catch(err){}
ajaxGet(eXo.env.server.createPortalURL("UIPortal","MoveChild",true,params));};PortalDragDrop.prototype.findDropableTargets=function(){var dropableTargets=new Array();var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var uiPortal=eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkingWorkspace,"div","UIPortal");var viewPagebody=eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkingWorkspace,"div","VIEW-PAGEBODY");var uiContainers=eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div","UIContainer");if(viewPagebody&&viewPagebody.style.display=="none"){dropableTargets.push(uiPortal);}else{var uiPage=eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkingWorkspace,"div","UIPage");if(uiPage)dropableTargets.push(uiPage);}
for(var i=0;i<uiContainers.length;i++){dropableTargets.push(uiContainers[i]);}
return dropableTargets;};PortalDragDrop.prototype.scrollOnDrag=function(dragObject,dndEvent){var dragObjectTop=eXo.core.Browser.findPosY(dragObject);var browserHeight=eXo.core.Browser.getBrowserHeight();var mouseY=eXo.core.Browser.findMouseYInClient(dndEvent.backupMouseEvent);var deltaTopMouse=eXo.core.Browser.findMouseYInPage(dndEvent.backupMouseEvent)-mouseY;var deltaTop=mouseY-(Math.round(browserHeight*5/6));var deltaBottom=mouseY-(Math.round(browserHeight/6));if(deltaTop>0){document.documentElement.scrollTop+=deltaTop-5;}
if(deltaBottom<0&&document.documentElement.scrollTop>0){document.documentElement.scrollTop+=deltaBottom;}};PortalDragDrop.prototype.findInsertPosition=function(components,dragObject,layout){var dragObjectX=eXo.core.Browser.findPosX(dragObject);if(layout=="row"){for(var i=0;i<components.length;i++){var componentTop=eXo.core.Browser.findPosY(components[i]);var dragObjectTop=eXo.core.Browser.findPosY(dragObject);var componentMiddle=componentTop+Math.round(components[i].offsetHeight/2);if(dragObjectTop>componentMiddle)continue;else return i;}
return-1;}else{for(var i=0;i<components.length;i++){var componentInTD=eXo.core.DOMUtil.getChildrenByTagName(components[i],"div")[0];var componentX=eXo.core.Browser.findPosX(components[i]);if(dragObjectX>componentX)continue;else return i;}
return-1;}};PortalDragDrop.prototype.setDragObjectProperties=function(dragObject,listComponent,layout,e){var uiControlWorkspace=document.getElementById("UIControlWorkspace");var uiPage=eXo.core.DOMUtil.findAncestorByClass(dragObject,"UIPage");var csWidth=uiControlWorkspace.offsetWidth;if(eXo.core.Browser.isIE7()||(eXo.core.Browser.isIE6()&&(uiPage==null)))csWidth=csWidth*2;dragObject.style.position="absolute";if(eXo.core.DOMUtil.findFirstChildByClass(dragObject,"div","CONTROL-BLOCK")==null){dragObject.style.top=(eXo.core.Browser.findMouseYInPage(e)-
eXo.portal.PortalDragDrop.deltaYDragObjectAndMouse-document.documentElement.scrollTop)+"px";dragObject.style.left=(eXo.core.Browser.findMouseXInPage(e)-
eXo.portal.PortalDragDrop.deltaXDragObjectAndMouse)+"px";}else{dragObject.style.top=(eXo.core.Browser.findMouseYInPage(e)-
eXo.portal.PortalDragDrop.deltaYDragObjectAndMouse)+"px";dragObject.style.left=(eXo.core.Browser.findMouseXInPage(e)-csWidth-
eXo.portal.PortalDragDrop.deltaXDragObjectAndMouse)+"px";}
dragObject.style.width="300px";};PortalDragDrop.prototype.createPreview=function(layoutType){var previewBlock=document.createElement("div");var components=eXo.core.DragDrop.dndEvent.foundTargetObject.listComponentInTarget;previewBlock.className="DragAndDropPreview";previewBlock.id="DragAndDropPreview";if((layoutType=="column")&&(components.length>0)){var offsetWidthTR=components[0].parentNode.offsetWidth;var widthComponent=0;if(eXo.core.DOMUtil.findAncestorByClass(eXo.portal.PortalDragDrop.parentDragObject,"TRContainer")!=null){widthComponent=Math.round(offsetWidthTR/(components.length))-1;}else{widthComponent=Math.round(offsetWidthTR/(components.length+1))-1;}
eXo.portal.PortalDragDrop.tdInserted.style.width=widthComponent+"px";for(var i=0;i<components.length;i++){if(components[i]==eXo.portal.PortalDragDrop.parentDragObject){components[i].style.width="0px";}else{components[i].style.width=widthComponent+"px";}}
eXo.portal.PortalDragDrop.widthComponentInTarget=widthComponent;}
return previewBlock;};PortalDragDrop.prototype.removeNullPreview=function(){var dropObject=document.getElementById("DragAndDropPreview");if(dropObject&&dropObject.innerHTML==""){dropObject.parentNode.removeChild(dropObject);}}
PortalDragDrop.prototype.undoPreview=function(dndEvent){var DOMUtil=eXo.core.DOMUtil;var uiComponentLayout;try{if(dndEvent.lastFoundTargetObject.className=="UIPage"){uiComponentLayout=DOMUtil.findFirstDescendantByClass(dndEvent.lastFoundTargetObject,"div","VIEW-PAGE");}else if(dndEvent.lastFoundTargetObject.className=="UIPortal"){uiComponentLayout=DOMUtil.findFirstDescendantByClass(dndEvent.lastFoundTargetObject,"div","LAYOUT-PORTAL");}else{var foundUIComponent=new eXo.portal.UIPortalComponent(dndEvent.lastFoundTargetObject);uiComponentLayout=foundUIComponent.getLayoutBlock();}}catch(e){}
var componentIdElement=DOMUtil.getChildrenByTagName(uiComponentLayout,"div")[0];var layoutTypeElement=DOMUtil.getChildrenByTagName(componentIdElement,"div")[0];var dropHere=document.getElementById("DragAndDropPreview");var dragObject=dndEvent.dragObject;if(dropHere!=null){if(layoutTypeElement!=null){dropHere.parentNode.removeChild(dropHere);}else{var tableLayoutElement=DOMUtil.getChildrenByTagName(componentIdElement,"table")[0];var trContainer=DOMUtil.findFirstDescendantByClass(tableLayoutElement,"tr","TRContainer");trContainer.removeChild(dropHere.parentNode);childTRContainer=DOMUtil.getChildrenByTagName(trContainer,"td");for(var i=0;i<childTRContainer.length;i++){if(childTRContainer[i]==eXo.portal.PortalDragDrop.parentDragObject){childTRContainer[i].style.width="0px";}}}}
dragObject.style.border="none";};PortalDragDrop.prototype.divRowContainerAddChild=function(insertBlock,targetElement,insertPosition){var listComponent=eXo.core.DragDrop.dndEvent.foundTargetObject.listComponentInTarget;var uiRowContainer=eXo.core.DOMUtil.findFirstDescendantByClass(targetElement,"div","UIRowContainer");insertBlock.style.width="auto";if(insertPosition>=0){uiRowContainer.insertBefore(insertBlock,listComponent[insertPosition]);}else{uiRowContainer.appendChild(insertBlock);}
if(eXo.portal.PortalDragDrop.parentDragObject.parentNode.className=="TRContainer"){eXo.portal.PortalDragDrop.parentDragObject.parentNode.removeChild(eXo.portal.PortalDragDrop.parentDragObject);}};PortalDragDrop.prototype.tableColumnContainerAddChild=function(insertBlock,targetElement,insertPosition){var listComponent=eXo.core.DragDrop.dndEvent.foundTargetObject.listComponentInTarget;var DOMUtil=eXo.core.DOMUtil;var trContainer=DOMUtil.findFirstDescendantByClass(targetElement,"tr","TRContainer");var tdInserted=document.createElement('td');var checkTRContainerInsertBlock=DOMUtil.findAncestorByClass(insertBlock,"TRContainer");tdInserted.style.width=eXo.portal.PortalDragDrop.widthComponentInTarget+"px";tdInserted.appendChild(insertBlock);if(insertPosition>=0){trContainer.insertBefore(tdInserted,listComponent[insertPosition]);}else{trContainer.appendChild(tdInserted);}
insertBlock.style.width="auto";if(checkTRContainerInsertBlock){trContainer.removeChild(eXo.portal.PortalDragDrop.parentDragObject);}};PortalDragDrop.prototype.fixCss=function(){return;var DOMUtil=eXo.core.DOMUtil;uiPortal=document.getElementById("UIPortal-UIPortal");if(uiPortal){parentByClass=DOMUtil.findAncestorByClass(uiPortal,"Vista");if(parentByClass){layoutPortal=DOMUtil.findFirstDescendantByClass(uiPortal,"div","LAYOUT-PORTAL");viewPortal=DOMUtil.findFirstDescendantByClass(uiPortal,"div","VIEW-PORTAL");uiRowContainer=DOMUtil.findFirstDescendantByClass(uiPortal,"div","UIRowContainer");if(uiRowContainer!=null){if(layoutPortal.style.display=="block"||viewPortal.style.display=="none"){uiPortal.style.paddingTop="8px";uiPortal.style.paddingRight="0px";uiPortal.style.paddingBottom="0px";uiPortal.style.paddingLeft="0px";}else{uiPortal.style.padding="0px";}}}}};eXo.portal.PortalDragDrop=new PortalDragDrop();function UIPortalNavigation(){this.currentOpenedMenu=null;this.scrollMgr=null;this.scrollManagerLoaded=false;};UIPortalNavigation.prototype.init=function(popupMenu,container,x,y){this.superClass=eXo.webui.UIPopupMenu;this.superClass.init(popupMenu,container,x,y);this.tabStyleClass="MenuItem";this.itemStyleClass="NormalItem";this.selectedItemStyleClass="SelectedItem";this.itemOverStyleClass="OverItem";this.containerStyleClass="MenuItemContainer";this.buildMenu(popupMenu);};UIPortalNavigation.prototype.onLoad=function(){var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var uiNavPortlets=eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div","UINavigationPortlet");if(uiNavPortlets.length){var mainContainer=eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlets[0],"div","TabsContainer");eXo.portal.UIPortalNavigation.init(uiNavPortlets[0],mainContainer,0,0);for(var i=1;i<uiNavPortlets.length;++i){uiNavPortlets[i].style.display="none";}}};UIPortalNavigation.prototype.buildMenu=function(popupMenu){var DOMUtil=eXo.core.DOMUtil;var topContainer=DOMUtil.findFirstDescendantByClass(popupMenu,"div","TabsContainer");topContainer.id="PortalNavigationTopContainer";var topItems=DOMUtil.findDescendantsByClass(topContainer,"div","UITab");for(var i=0;i<topItems.length;i++){var item=topItems[i];item.onmouseover=eXo.portal.UIPortalNavigation.setTabStyleOnMouseOver;item.onmouseout=eXo.portal.UIPortalNavigation.setTabStyleOnMouseOut;if(!item.getAttribute('hidesubmenu')){item.onmousemove=eXo.portal.UIPortalNavigation.tabOnMouseMove;}
item.style.width=item.offsetWidth+"px";var container=DOMUtil.findFirstDescendantByClass(item,"div",this.containerStyleClass);if(container){if(eXo.core.Browser.browserType=="mozilla"||eXo.core.Browser.isIE7()){container.style.minWidth=item.offsetWidth+"px";}else{container.style.width=item.offsetWidth+"px";}}}
var menuItems=DOMUtil.findDescendantsByClass(topContainer,"div",this.tabStyleClass);for(var i=0;i<menuItems.length;i++){var menuItem=menuItems[i];menuItem.onmouseover=eXo.portal.UIPortalNavigation.onMenuItemOver;menuItem.onmouseout=eXo.portal.UIPortalNavigation.onMenuItemOut;var cont=DOMUtil.findAncestorByClass(menuItem,this.containerStyleClass);if(!cont.id)cont.id="PortalNavigationContainer-"+i+Math.random();cont.resized=false;}};UIPortalNavigation.prototype.setTabStyle=function(){var tab=this;var tabChildren=eXo.core.DOMUtil.getChildrenByTagName(tab,"div");if(tabChildren[0].className!="HighlightNavigationTab"){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,true);}else{if(tabChildren.length<=1||tabChildren[1].id!=eXo.portal.UIPortalNavigation.currentOpenedMenu){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}}}
UIPortalNavigation.prototype.setTabStyleOnMouseOver=function(e){var tab=this;if(eXo.portal.UIPortalNavigation.previousMenuItem!=tab){eXo.portal.UIPortalNavigation.hideMenu();}
eXo.portal.UIPortalNavigation.setTabStyleOnMouseOut(e,tab);eXo.portal.UIPortalNavigation.previousMenuItem=tab;if(!eXo.portal.UIPortalNavigation.menuVisible){var menuItemContainer=eXo.core.DOMUtil.findFirstDescendantByClass(tab,"div",eXo.portal.UIPortalNavigation.containerStyleClass);var hideSubmenu=tab.getAttribute('hideSubmenu');if(menuItemContainer&&!hideSubmenu){eXo.portal.UIPortalNavigation.toggleSubMenu(e,tab,menuItemContainer);}}
eXo.portal.UIPortalNavigation.menuVisible=true;};UIPortalNavigation.prototype.setTabStyleOnMouseOut=function(e,src){var tab=src||this;var tabChildren=eXo.core.DOMUtil.getChildrenByTagName(tab,"div");if(tabChildren.length<=0){return;}
if(tabChildren[0].className!="HighlightNavigationTab"){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,true);}else{if(tabChildren.length<=1||tabChildren[1].id!=eXo.portal.UIPortalNavigation.currentOpenedMenu){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}}
eXo.portal.UIPortalNavigation.hideMenuTimeout(500);}
UIPortalNavigation.prototype.tabOnMouseMove=function(){eXo.portal.UIPortalNavigation.cancelHideMenuContainer();};UIPortalNavigation.prototype.toggleSubMenu=function(e,tab,menuItemContainer){if(!e)e=window.event;e.cancelBubble=true;var src=eXo.core.Browser.getEventSource(e);if(src.tagName.toLowerCase()=="a"&&!menuItemContainer){if(src.href.substr(0,7)=="http://"){if(!src.target){window.location.href=src.href}else{return true;}}else eval(src.href);return false;}
var item=tab;var DOMUtil=eXo.core.DOMUtil;if(menuItemContainer){if(menuItemContainer.style.display=="none"){if(eXo.portal.UIPortalNavigation.currentOpenedMenu)eXo.portal.UIPortalNavigation.hideMenu();eXo.portal.UIPortalNavigation.superClass.pushVisibleContainer(menuItemContainer.id);var y=item.offsetHeight+item.offsetTop;var x=item.offsetLeft+2;eXo.portal.UIPortalNavigation.superClass.setPosition(menuItemContainer,x,y);eXo.portal.UIPortalNavigation.superClass.show(menuItemContainer);menuItemContainer.style.width=menuItemContainer.offsetWidth+2+"px";eXo.portal.UIPortalNavigation.currentOpenedMenu=menuItemContainer.id;var uiPortalApplication=document.getElementById("UIPortalApplication");uiPortalApplication.onclick=eXo.portal.UIPortalNavigation.hideMenu;}else{eXo.portal.UIPortalNavigation.hideMenuContainer();}}};UIPortalNavigation.prototype.cancelHideMenuContainer=function(){if(this.hideMenuTimeoutId){window.clearTimeout(this.hideMenuTimeoutId);}};UIPortalNavigation.prototype.closeMenuTimeout=function(){eXo.portal.UIPortalNavigation.hideMenuTimeout(200);};UIPortalNavigation.prototype.hideMenuTimeout=function(time){this.cancelHideMenuContainer();if(!time||time<=0){time=200;}
this.hideMenuTimeoutId=window.setTimeout('eXo.portal.UIPortalNavigation.hideMenu() ;',time);};UIPortalNavigation.prototype.hideMenuContainer=function(){var menuItemContainer=document.getElementById(eXo.portal.UIPortalNavigation.currentOpenedMenu);if(menuItemContainer){eXo.portal.UIPortalNavigation.superClass.pushHiddenContainer(menuItemContainer.id);eXo.portal.UIPortalNavigation.superClass.popVisibleContainer();eXo.portal.UIPortalNavigation.superClass.setCloseTimeout();eXo.portal.UIPortalNavigation.superClass.hide(menuItemContainer);eXo.portal.UIPortalNavigation.currentOpenedMenu=null;}
this.previousMenuItem=false;eXo.portal.UIPortalNavigation.menuVisible=false;};UIPortalNavigation.prototype.hideMenu=function(){if(eXo.portal.UIPortalNavigation.currentOpenedMenu){var currentItemContainer=document.getElementById(eXo.portal.UIPortalNavigation.currentOpenedMenu);var tab=eXo.core.DOMUtil.findAncestorByClass(currentItemContainer,"UITab");eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}
eXo.portal.UIPortalNavigation.hideMenuContainer();};UIPortalNavigation.prototype.onMenuItemOver=function(e){var menuItem=this;var DOMUtil=eXo.core.DOMUtil;var subContainer=DOMUtil.findFirstDescendantByClass(menuItem,"div",eXo.portal.UIPortalNavigation.containerStyleClass);if(subContainer){eXo.portal.UIPortalNavigation.superClass.pushVisibleContainer(subContainer.id);eXo.portal.UIPortalNavigation.showMenuItemContainer(menuItem,subContainer);if(!subContainer.firstTime){subContainer.style.width=subContainer.offsetWidth+2+"px";subContainer.firstTime=true;}}
eXo.portal.UIPortalNavigation.cancelHideMenuContainer();};UIPortalNavigation.prototype.showMenuItemContainer=function(menuItem,menuItemContainer){var x=menuItem.offsetWidth;var y=menuItem.offsetTop;this.superClass.setPosition(menuItemContainer,x,y);this.superClass.show(menuItemContainer);};UIPortalNavigation.prototype.onMenuItemOut=function(e){var menuItem=this;var subContainer=eXo.core.DOMUtil.findFirstDescendantByClass(menuItem,"div",eXo.portal.UIPortalNavigation.containerStyleClass);if(subContainer){eXo.portal.UIPortalNavigation.superClass.pushHiddenContainer(subContainer.id);eXo.portal.UIPortalNavigation.superClass.popVisibleContainer();eXo.portal.UIPortalNavigation.superClass.setCloseTimeout(300);}};UIPortalNavigation.prototype.loadScroll=function(e){var uiNav=eXo.portal.UIPortalNavigation;var portalNav=document.getElementById("PortalNavigationTopContainer");if(portalNav){uiNav.scrollMgr=eXo.portal.UIPortalControl.newScrollManager("PortalNavigationTopContainer");uiNav.scrollMgr.initFunction=uiNav.initScroll;var tabs=eXo.core.DOMUtil.findAncestorByClass(portalNav,"UIHorizontalTabs");uiNav.scrollMgr.mainContainer=tabs;uiNav.scrollMgr.arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(tabs,"div","ScrollButtons");uiNav.scrollMgr.loadElements("UITab");var arrowButtons=eXo.core.DOMUtil.findDescendantsByTagName(uiNav.scrollMgr.arrowsContainer,"div");if(arrowButtons.length==2){uiNav.scrollMgr.initArrowButton(arrowButtons[0],"left","ScrollLeftButton","HighlightScrollLeftButton","DisableScrollLeftButton");uiNav.scrollMgr.initArrowButton(arrowButtons[1],"right","ScrollRightButton","HighlightScrollRightButton","DisableScrollRightButton");}
uiNav.scrollMgr.callback=uiNav.scrollCallback;uiNav.scrollManagerLoaded=true;uiNav.initScroll();}};UIPortalNavigation.prototype.initScroll=function(e){if(!eXo.portal.UIPortalNavigation.scrollManagerLoaded)eXo.portal.UIPortalNavigation.loadScroll();var scrollMgr=eXo.portal.UIPortalNavigation.scrollMgr;scrollMgr.init();scrollMgr.checkAvailableSpace();scrollMgr.renderElements();};UIPortalNavigation.prototype.scrollCallback=function(){};eXo.portal.UIPortalNavigation=new UIPortalNavigation();function UIMaskWorkspace(){};UIMaskWorkspace.prototype.init=function(maskId,show,width,height){var maskWorkpace=document.getElementById(maskId);this.maskWorkpace=maskWorkpace;if(this.maskWorkpace){if(width>-1)this.maskWorkpace.style.width=width+"px";if(show){if(eXo.portal.UIMaskWorkspace.maskLayer==null){var maskLayer=eXo.core.UIMaskLayer.createMask("UIPortalApplication",this.maskWorkpace,30);eXo.portal.UIMaskWorkspace.maskLayer=maskLayer;}
this.maskWorkpace.style.margin="auto";this.maskWorkpace.style.display="block";}else{if(eXo.portal.UIMaskWorkspace.maskLayer==undefined)return;eXo.core.UIMaskLayer.removeMask(eXo.portal.UIMaskWorkspace.maskLayer);eXo.portal.UIMaskWorkspace.maskLayer=null;this.maskWorkpace.style.display="none";}
if(height<0)return;}};UIMaskWorkspace.prototype.resetPosition=function(){var maskWorkpace=eXo.portal.UIMaskWorkspace.maskWorkpace;if(maskWorkpace&&(maskWorkpace.style.display=="block")){try{eXo.core.UIMaskLayer.blockContainer=document.getElementById("UIPortalApplication");eXo.core.UIMaskLayer.object=maskWorkpace;eXo.core.UIMaskLayer.setPosition();}catch(e){}}};eXo.portal.UIMaskWorkspace=new UIMaskWorkspace();function UIExoStartMenu(){this.buttonClicked=false;this.clipTop=1;this.clipBottom=1;this.stepScroll=10;this.itemStyleClass="MenuItem";this.itemOverStyleClass="MenuItemOver";this.containerStyleClass="MenuItemContainer";this.superClass=eXo.webui.UIPopupMenu;};UIExoStartMenu.prototype.init=function(popupMenu,container,x,y){var uiStart=eXo.portal.UIExoStartMenu;this.superClass.init(popupMenu,container.id,x,y);this.exoStartButton=eXo.core.DOMUtil.findFirstDescendantByClass(container,"div","ExoStartButton");this.exoStartButton.onmouseover=function(){if(!eXo.portal.UIExoStartMenu.buttonClicked)this.className="ExoStartButton ButtonOver";};this.exoStartButton.onmouseout=function(){if(!eXo.portal.UIExoStartMenu.buttonClicked)this.className="ExoStartButton ButtonNormal";};this.buildMenu(popupMenu);};UIExoStartMenu.prototype.onLoad=function(){var uiStartContainer=document.getElementById("StartMenuContainer");var uiExoStart=document.getElementById("UIExoStart");eXo.portal.UIExoStartMenu.init(uiStartContainer,uiExoStart,0,0);eXo.webui.UIPopupMenu.hide(uiStartContainer);eXo.core.ExoDateTime.getTime();};UIExoStartMenu.prototype.buildMenu=function(popupMenu){if(typeof(popupMenu)=="string")popupMenu=document.getElementById(popupMenu);var blockMenuItems=eXo.core.DOMUtil.findDescendantsByClass(popupMenu,"div",this.containerStyleClass);for(var i=0;i<blockMenuItems.length;i++){if(!blockMenuItems[i].id)blockMenuItems[i].id=Math.random().toString();blockMenuItems[i].resized=false;}
var menuItems=eXo.core.DOMUtil.findDescendantsByClass(popupMenu,"div",this.itemStyleClass);for(var i=0;i<menuItems.length;i++){var menuItemContainer=eXo.core.DOMUtil.findFirstChildByClass(menuItems[i],"div","MenuItemContainer");if(menuItemContainer)menuItems[i].menuItemContainer=menuItemContainer;menuItems[i].onmouseover=this.onMenuItemOver;menuItems[i].onmouseout=this.onMenuItemOut;var labelItem=eXo.core.DOMUtil.findFirstDescendantByClass(menuItems[i],"div","LabelItem");var link=eXo.core.DOMUtil.findDescendantsByTagName(labelItem,"a")[0];this.superClass.createLink(menuItems[i],link);}};UIExoStartMenu.prototype.onMenuItemOver=function(event){this.className=eXo.portal.UIExoStartMenu.itemOverStyleClass;this.style.position="relative";if(this.menuItemContainer){var menuItemContainer=this.menuItemContainer;var x=this.offsetWidth+this.offsetLeft;var rootX=eXo.core.Browser.findPosX(this);if(x+menuItemContainer.offsetWidth+rootX>eXo.core.Browser.getBrowserWidth()){x-=(menuItemContainer.offsetWidth+this.offsetWidth);}
if(eXo.core.Browser.isIE6())x-=10;menuItemContainer.style.left=x+"px";eXo.portal.UIExoStartMenu.createSlide(this);eXo.portal.UIExoStartMenu.superClass.pushVisibleContainer(this.menuItemContainer.id);}};UIExoStartMenu.prototype.createSlide=function(menuItem){var menuItemContainer=menuItem.menuItemContainer;menuItemContainer.style.display="block";if(!menuItemContainer.resized)eXo.portal.UIExoStartMenu.setContainerSize(menuItemContainer);var blockMenu=eXo.core.DOMUtil.findFirstDescendantByClass(menuItemContainer,"div","BlockMenu");var parentMenu=blockMenu.parentNode;var topElement=eXo.core.DOMUtil.findFirstChildByClass(parentMenu,"div","TopNavigator");var bottomElement=eXo.core.DOMUtil.findFirstChildByClass(parentMenu,"div","BottomNavigator");var menuContainer=eXo.core.DOMUtil.findFirstDescendantByClass(blockMenu,"div","MenuContainer");if(!menuContainer.id)menuContainer.id="eXo"+new Date().getTime()+Math.random().toString().substring(2);var browserHeight=eXo.core.Browser.getBrowserHeight();if(menuContainer.offsetHeight+64>browserHeight){var curentHeight=browserHeight-64;blockMenu.style.height=curentHeight+"px";topElement.style.display="block";bottomElement.style.display="block";if(!menuContainer.curentHeight||(menuContainer.curentHeight!=curentHeight)){eXo.portal.UIExoStartMenu.initSlide(menuContainer,curentHeight);}
topElement.onmousedown=function(){eXo.portal.UIExoStartMenu.scrollDown(menuContainer.id,curentHeight);};topElement.onmouseoup=function(){if(menuContainer.repeat){clearTimeout(menuContainer.repeat);menuContainer.repeat=null;}};topElement.onclick=function(event){clearTimeout(menuContainer.repeat);menuContainer.repeat=null;event=event||window.event;event.cancelBubble=true;};bottomElement.onmousedown=function(){eXo.portal.UIExoStartMenu.scrollUp(menuContainer.id,curentHeight);};bottomElement.onmouseoup=function(){if(menuContainer.repeat){clearTimeout(menuContainer.repeat);menuContainer.repeat=null;}};bottomElement.onclick=function(event){clearTimeout(menuContainer.repeat);menuContainer.repeat=null;event=event||window.event;event.cancelBubble=true;};}else{blockMenu.style.height=menuContainer.offsetHeight+"px";menuContainer.style.clip="rect(0px 1280px auto auto)";menuContainer.curentHeight=null;menuContainer.style.position="static";topElement.style.display="none";bottomElement.style.display="none";}
var Y=eXo.portal.UIExoStartMenu.getDimension(menuItem);if(Y!=undefined)menuItemContainer.style.top=Y+"px";};UIExoStartMenu.prototype.onMenuItemOut=function(event){this.className=eXo.portal.UIExoStartMenu.itemStyleClass;if(this.menuItemContainer){eXo.portal.UIExoStartMenu.superClass.pushHiddenContainer(this.menuItemContainer.id);eXo.portal.UIExoStartMenu.superClass.popVisibleContainer();eXo.portal.UIExoStartMenu.superClass.setCloseTimeout();}};UIExoStartMenu.prototype.showStartMenu=function(event){event=event||window.event;event.cancelBubble=true;var uiStartContainer=document.getElementById("StartMenuContainer");eXo.portal.UIExoStartMenu.exoStartButton.className="ExoStartButton ButtonClicked";if(uiStartContainer.style.display=="block"){eXo.portal.UIExoStartMenu.hideUIStartMenu();}else{eXo.portal.UIExoStartMenu.buttonClicked=true;var menuY=eXo.core.Browser.findPosY(eXo.portal.UIExoStartMenu.exoStartButton);this.superClass.show(uiStartContainer);var y=menuY-uiStartContainer.offsetHeight;if(window.pageYOffset)y-=window.pageYOffset;else if(document.documentElement.scrollTop)y-=document.documentElement.scrollTop;else if(document.body.scrollTop)y-=document.body.scrollTop;this.superClass.setPosition(uiStartContainer,0,y);uiStartContainer.style.width="238px";uiStartContainer.style.height=uiStartContainer.offsetHeight+"px";}
var uiPortalApplication=document.getElementById("UIPortalApplication");uiPortalApplication.onclick=eXo.portal.UIExoStartMenu.hideUIStartMenu;};UIExoStartMenu.prototype.hideUIStartMenu=function(){var uiStartContainer=document.getElementById("StartMenuContainer");eXo.webui.UIPopupMenu.hide(uiStartContainer);eXo.portal.UIExoStartMenu.buttonClicked=false;eXo.portal.UIExoStartMenu.exoStartButton.className="ExoStartButton ButtonNormal";eXo.portal.UIExoStartMenu.clearStartMenu();};UIExoStartMenu.prototype.clearStartMenu=function(){eXo.webui.UIPopupMenu.currentVisibleContainers.clear();eXo.webui.UIPopupMenu.setCloseTimeout();};UIExoStartMenu.prototype.getDimension=function(menuItem){if(document.documentElement.scrollTop!=undefined)var topPage=document.documentElement.scrollTop;else if(document.body)var topPage=document.body.scrollTop;var PosY=eXo.core.Browser.findPosY(menuItem)-topPage;var browserHeight=eXo.core.Browser.getBrowserHeight();var menuItemContainer=menuItem.menuItemContainer;var offsetHeight=menuItemContainer.offsetHeight;var deltaDown=browserHeight-PosY;if(offsetHeight<deltaDown)var y=0;else if(offsetHeight<PosY)var y=(-offsetHeight+menuItem.offsetHeight);else if(offsetHeight<browserHeight)var y=(-offsetHeight+deltaDown-6);return y;};UIExoStartMenu.prototype.initSlide=function(menuContainer,clipBottom){menuContainer.curentHeight=clipBottom;menuContainer.style.position="absolute";menuContainer.style.top=0+"px";menuContainer.style.clip='rect(0px, 1280px,'+clipBottom+'px, 0px)';};UIExoStartMenu.prototype.scrollUp=function(id,height){var scrollObject=document.getElementById(id);var menuHeight=scrollObject.offsetHeight-height-this.stepScroll;if(eXo.portal.UIExoStartMenu.clipBottom<menuHeight){eXo.portal.UIExoStartMenu.clipTop+=this.stepScroll;eXo.portal.UIExoStartMenu.clipBottom+=this.stepScroll;var clipTop=eXo.portal.UIExoStartMenu.clipTop;var clipBottom=eXo.portal.UIExoStartMenu.clipBottom+height;scrollObject.style.clip='rect('+clipTop+'px, 1280px,'+clipBottom+'px, 0px)';scrollObject.style.top=-clipTop+"px";if(scrollObject.repeat){clearTimeout(scrollObject.repeat);scrollObject.repeat=null;}
scrollObject.repeat=setTimeout("eXo.portal.UIExoStartMenu.scrollUp('"+id+"', "+height+")",1);}};UIExoStartMenu.prototype.scrollDown=function(id,height){var scrollObject=document.getElementById(id);if(eXo.portal.UIExoStartMenu.clipTop>this.stepScroll){eXo.portal.UIExoStartMenu.clipTop-=this.stepScroll;eXo.portal.UIExoStartMenu.clipBottom-=this.stepScroll;var clipTop=eXo.portal.UIExoStartMenu.clipTop;var clipBottom=eXo.portal.UIExoStartMenu.clipBottom+height;scrollObject.style.clip='rect('+clipTop+'px, 1280px,'+clipBottom+'px, 0px)';scrollObject.style.top=-clipTop+"px";if(scrollObject.repeat){clearTimeout(scrollObject.repeat);scrollObject.repeat=null;}
scrollObject.repeat=setTimeout("eXo.portal.UIExoStartMenu.scrollDown('"+id+"', "+height+")",1);}};UIExoStartMenu.prototype.setContainerSize=function(menuItemContainer){var menuCenter=eXo.core.DOMUtil.findFirstDescendantByClass(menuItemContainer,"div","StartMenuML");var menuTop=eXo.core.DOMUtil.findFirstDescendantByClass(menuItemContainer,"div","StartMenuTL");var decorator=eXo.core.DOMUtil.findFirstDescendantByClass(menuTop,"div","StartMenuTR");var menuBottom=menuTop.nextSibling;while(menuBottom.className!="StartMenuBL")menuBottom=menuBottom.nextSibling;var w=menuCenter.offsetWidth-decorator.offsetLeft;menuTop.style.width=w+"px";menuBottom.style.width=w+"px";menuCenter.style.width=w+"px";menuItemContainer.resized=true;if(eXo.core.Browser.isIE7()){var pageOwnerContainer=eXo.core.DOMUtil.findDescendantsByClass(menuItemContainer,"div","PageOwnerContainer");for(var i=0;i<pageOwnerContainer.length;i++){pageOwnerContainer[i].style.width="auto";pageOwnerContainer[i].style.width=pageOwnerContainer[i].offsetWidth+"px";}}};eXo.portal.UIExoStartMenu=new UIExoStartMenu();function UIBrowseContent(){this.bcManagers=new Array();};UIBrowseContent.prototype.waitForLoadComplete=function(){var homeButton=null;var bcPortlet=document.getElementById("UIBrowseContainer");if(bcPortlet)homeButton=eXo.core.DOMUtil.findFirstDescendantByClass(bcPortlet,"div","HomeTab");var tabs=eXo.core.DOMUtil.findFirstDescendantByClass(bcPortlet,"div","UIHorizontalTabs");if(homeButton&&tabs&&homeButton.offsetWidth==tabs.offsetWidth)window.setTimeout(eXo.portal.UIBrowseContent.waitForLoadComplete,100);else eXo.portal.UIBrowseContent.loadScroll();};UIBrowseContent.prototype.loadScroll=function(){var uiBC=eXo.portal.UIBrowseContent;uiBC.bcManagers.clear();var bcPortlet=document.getElementById("UIBrowseContainer");if(bcPortlet){var mainNav=eXo.core.DOMUtil.findFirstDescendantByClass(bcPortlet,"div","UICBMainNavigation");var mainBarMgr=eXo.portal.UIPortalControl.newScrollManager("UIBrowseContainer");mainBarMgr.mainContainer=mainNav;mainBarMgr.arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(mainNav,"div","NavigationButtonContainer");mainBarMgr.loadElements("UITab",true);var mainArrows=eXo.core.DOMUtil.findDescendantsByClass(mainBarMgr.arrowsContainer,"div","NavigationIcon");if(mainArrows.length==2){mainBarMgr.initArrowButton(mainArrows[0],"left","NavigationIcon ScrollBackArrow16x16Icon","NavigationIcon DisableBackArrow16x16Icon","NavigationIcon DisableBackArrow16x16Icon");mainBarMgr.initArrowButton(mainArrows[1],"right","NavigationIcon ScrollNextArrow16x16Icon","NavigationIcon DisableNextArrow16x16Icon","NavigationIcon DisableNextArrow16x16Icon");}
mainBarMgr.initFunction=uiBC.initScroll;mainBarMgr.callback=uiBC.mainMenuScrollCallback;uiBC.bcManagers.push(mainBarMgr);var subNav=eXo.core.DOMUtil.findFirstDescendantByClass(bcPortlet,"div","UICBSubNavigation");var subBarMgr=eXo.portal.UIPortalControl.newScrollManager("UIBrowseContainer");subBarMgr.mainContainer=subNav;subBarMgr.arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(subNav,"div","NavigationButtonContainer");subBarMgr.loadElements("ChildNodeItem",true);for(var i=0;i<subBarMgr.elements.length;i++){subBarMgr.elements[i].decorator=eXo.core.DOMUtil.findNextElementByTagName(subBarMgr.elements[i],"div");}
var subArrows=eXo.core.DOMUtil.findDescendantsByClass(subBarMgr.arrowsContainer,"div","NavigationIcon");if(subArrows.length==2){subBarMgr.initArrowButton(subArrows[0],"left","NavigationIcon ScrollBackArrow16x16Icon","NavigationIcon DisableBackArrow16x16Icon","NavigationIcon DisableBackArrow16x16Icon");subBarMgr.initArrowButton(subArrows[1],"right","NavigationIcon ScrollNextArrow16x16Icon","NavigationIcon DisableNextArrow16x16Icon","NavigationIcon DisableNextArrow16x16Icon");}
subBarMgr.initFunction=uiBC.initScroll;subBarMgr.callback=uiBC.subMenuScrollCallback;uiBC.bcManagers.push(subBarMgr);var pageNav=eXo.core.DOMUtil.findFirstDescendantByClass(bcPortlet,"div","UIEventViewer");var pageMenus=eXo.core.DOMUtil.findDescendantsByClass(pageNav,"div","SubContentTitle");for(var i=0;i<pageMenus.length;i++){var currMgr=eXo.portal.UIPortalControl.newScrollManager("UIBrowseContainer");currMgr.mainContainer=eXo.core.DOMUtil.findFirstDescendantByClass(pageMenus[i],"div","MiddleBar");currMgr.arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(pageMenus[i],"div","NavigationButtonContainer");currMgr.loadElements("ChildNode",true);for(var j=0;j<currMgr.elements.length;j++){currMgr.elements[j].decorator=eXo.core.DOMUtil.findNextElementByTagName(currMgr.elements[j],"div");}
var currArrows=eXo.core.DOMUtil.findDescendantsByClass(currMgr.arrowsContainer,"div","NavigationIcon");if(currArrows.length==2){currMgr.initArrowButton(currArrows[0],"left","NavigationIcon ScrollBackArrow16x16Icon","NavigationIcon DisableBackArrow16x16Icon","NavigationIcon DisableBackArrow16x16Icon");currMgr.initArrowButton(currArrows[1],"right","NavigationIcon ScrollNextArrow16x16Icon","NavigationIcon DisableNextArrow16x16Icon","NavigationIcon DisableNextArrow16x16Icon");}
currMgr.initFunction=uiBC.initScroll;currMgr.callback=uiBC.subMenuScrollCallback;uiBC.bcManagers.push(currMgr);}
uiBC.initScroll();}};UIBrowseContent.prototype.initScroll=function(){var uiBC=eXo.portal.UIBrowseContent;var bcPortlet=document.getElementById("UIBrowseContainer");var mainNav=eXo.core.DOMUtil.findFirstDescendantByClass(bcPortlet,"div","UICBMainNavigation");if(mainNav){if(uiBC.bcManagers.length>=1){var mainBarMgr=uiBC.bcManagers[0];mainBarMgr.init();mainBarMgr.loadElements("UITab",true);var homeButton=eXo.core.DOMUtil.findFirstDescendantByClass(mainBarMgr.mainContainer,"div","HomeTab");var maxSpace=mainBarMgr.getElementSpace(mainBarMgr.mainContainer)-mainBarMgr.getElementSpace(mainBarMgr.arrowsContainer)-mainBarMgr.margin-100;if(homeButton){maxSpace=maxSpace+100-mainBarMgr.getElementSpace(homeButton);}
mainBarMgr.checkAvailableSpace(maxSpace);mainBarMgr.renderElements();var subBarMgr=uiBC.bcManagers[1];subBarMgr.init();subBarMgr.loadElements("ChildNodeItem",true);subBarMgr.checkAvailableSpace();subBarMgr.renderElements();}
if(uiBC.bcManagers.length>=2){for(var i=2;i<uiBC.bcManagers.length;i++){var currMgr=uiBC.bcManagers[i];currMgr.init();currMgr.loadElements("ChildNode",true);currMgr.checkAvailableSpace();currMgr.renderElements();}}}};UIBrowseContent.prototype.mainMenuScrollCallback=function(){var homeButton=eXo.core.DOMUtil.findFirstDescendantByClass(this.mainContainer,"div","HomeTab");if(eXo.core.Browser.isIE7())this.cleanElements();var maxSpace=this.getElementSpace(this.mainContainer)-this.getElementSpace(this.arrowsContainer)-this.margin-100;if(homeButton){maxSpace=maxSpace+100-this.getElementSpace(homeButton);}
var elementsSpace=this.getElementsSpace(this.firstVisibleIndex,this.lastVisibleIndex);var delta=maxSpace-elementsSpace;if(delta<0){this.hideElements(delta);}};UIBrowseContent.prototype.subMenuScrollCallback=function(){for(var i=0;i<this.elements.length;i++){if(!this.elements[i].isVisible){this.elements[i].decorator.style.display="none";}else{this.elements[i].decorator.style.display="block";}}};eXo.portal.UIBrowseContent=new UIBrowseContent();function UIPortlet(){this.maxIndex=0;};UIPortlet.prototype.onControlOver=function(element,isOver){var originalElementName=element.className;if(isOver){var overElementName="ControlIcon Over"+originalElementName.substr(originalElementName.indexOf(" ")+1,30);element.className=overElementName;if(element.className=="ControlIcon OverRestoreIcon"){element.title=element.getAttribute("modeTitle");}
if(element.className=="ControlIcon OverMaximizedIcon"){element.title=element.getAttribute("normalTitle");}}else{var over=originalElementName.indexOf("Over");if(over>=0){var overElementName="ControlIcon "+originalElementName.substr(originalElementName.indexOf(" ")+5,30);element.className=overElementName;}}};eXo.webui.UIPortlet=new UIPortlet();var FCKeditor=function(instanceName,width,height,toolbarSet,value)
{this.InstanceName=instanceName;this.Width=width||'100%';this.Height=height||'200';this.ToolbarSet=toolbarSet||'Default';this.Value=value||'';this.BasePath=FCKeditor.BasePath;this.CheckBrowser=true;this.DisplayErrors=true;this.Config=new Object();this.OnError=null;}
FCKeditor.BasePath='/portal/fckeditor/';FCKeditor.MinHeight=200;FCKeditor.MinWidth=750;FCKeditor.prototype.Version='2.6.3';FCKeditor.prototype.VersionBuild='19836';FCKeditor.prototype.Create=function()
{document.write(this.CreateHtml());}
FCKeditor.prototype.CreateHtml=function()
{if(!this.InstanceName||this.InstanceName.length==0)
{this._ThrowError(701,'You must specify an instance name.');return'';}
var sHtml='';if(!this.CheckBrowser||this._IsCompatibleBrowser())
{sHtml+='<input type="hidden" id="'+this.InstanceName+'" name="'+this.InstanceName+'" value="'+this._HTMLEncode(this.Value)+'" style="display:none" />';sHtml+=this._GetConfigHtml();sHtml+=this._GetIFrameHtml();}
else
{var sWidth=this.Width.toString().indexOf('%')>0?this.Width:this.Width+'px';var sHeight=this.Height.toString().indexOf('%')>0?this.Height:this.Height+'px';sHtml+='<textarea name="'+this.InstanceName+'" rows="4" cols="40" style="width:'+sWidth+';height:'+sHeight;if(this.TabIndex)
sHtml+='" tabindex="'+this.TabIndex;sHtml+='">'+
this._HTMLEncode(this.Value)+'<\/textarea>';}
return sHtml;}
FCKeditor.prototype.ReplaceTextarea=function()
{if(!this.CheckBrowser||this._IsCompatibleBrowser())
{var oTextarea=document.getElementById(this.InstanceName);var value=oTextarea.value;value=value.replace(/  /g,"&#32;&nbsp;");oTextarea.value=value;var colElementsByName=document.getElementsByName(this.InstanceName);var i=0;while(oTextarea||i==0)
{if(oTextarea&&oTextarea.tagName.toLowerCase()=='textarea')
break;oTextarea=colElementsByName[i++];}
if(!oTextarea)
{alert('Error: The TEXTAREA with id or name set to "'+this.InstanceName+'" was not found');return;}
oTextarea.style.display='none';if(oTextarea.tabIndex)
this.TabIndex=oTextarea.tabIndex;this._InsertHtmlBefore(this._GetConfigHtml(),oTextarea);this._InsertHtmlBefore(this._GetIFrameHtml(),oTextarea);}}
FCKeditor.prototype._InsertHtmlBefore=function(html,element)
{if(element.insertAdjacentHTML)
element.insertAdjacentHTML('beforeBegin',html);else
{var oRange=document.createRange();oRange.setStartBefore(element);var oFragment=oRange.createContextualFragment(html);element.parentNode.insertBefore(oFragment,element);}}
FCKeditor.prototype._GetConfigHtml=function()
{var sConfig='';for(var o in this.Config)
{if(sConfig.length>0)sConfig+='&amp;';sConfig+=encodeURIComponent(o)+'='+encodeURIComponent(this.Config[o]);}
return'<input type="hidden" id="'+this.InstanceName+'___Config" value="'+sConfig+'" style="display:none" />';}
FCKeditor.prototype._GetIFrameHtml=function()
{var sFile='fckeditor.html';try
{if((/fcksource=true/i).test(window.top.location.search))
sFile='fckeditor.original.html';}
catch(e){}
var sLink=this.BasePath+'editor/'+sFile+'?InstanceName='+encodeURIComponent(this.InstanceName);if(this.ToolbarSet)
sLink+='&amp;Toolbar='+this.ToolbarSet;html='<iframe id="'+this.InstanceName+'___Frame" src="'+sLink+'" width="'+this.Width+'" height="'+this.Height;if(this.TabIndex)
html+='" tabindex="'+this.TabIndex;html+='" frameborder="0" scrolling="no"></iframe>';return html;}
FCKeditor.prototype._IsCompatibleBrowser=function()
{return FCKeditor_IsCompatibleBrowser();}
FCKeditor.prototype._ThrowError=function(errorNumber,errorDescription)
{this.ErrorNumber=errorNumber;this.ErrorDescription=errorDescription;if(this.DisplayErrors)
{document.write('<div style="COLOR: #ff0000">');document.write('[ FCKeditor Error '+this.ErrorNumber+': '+this.ErrorDescription+' ]');document.write('</div>');}
if(typeof(this.OnError)=='function')
this.OnError(this,errorNumber,errorDescription);}
FCKeditor.prototype._HTMLEncode=function(text)
{if(typeof(text)!="string")
text=text.toString();text=text.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return text;};(function()
{var textareaToEditor=function(textarea)
{var editor=new FCKeditor(textarea.name);editor.Width=Math.max(textarea.offsetWidth,FCKeditor.MinWidth);editor.Height=Math.max(textarea.offsetHeight,FCKeditor.MinHeight);return editor;}
FCKeditor.ReplaceAllTextareas=function()
{var textareas=document.getElementsByTagName('textarea');for(var i=0;i<textareas.length;i++)
{var editor=null;var textarea=textareas[i];var name=textarea.name;if(!name||name.length==0)
continue;if(typeof arguments[0]=='string')
{var classRegex=new RegExp('(?:^| )'+arguments[0]+'(?:$| )');if(!classRegex.test(textarea.className))
continue;}
else if(typeof arguments[0]=='function')
{editor=textareaToEditor(textarea);if(arguments[0](textarea,editor)===false)
continue;}
if(!editor)
editor=textareaToEditor(textarea);editor.ReplaceTextarea();}}})();function FCKeditor_IsCompatibleBrowser()
{return true;var sAgent=navigator.userAgent.toLowerCase();if(false&&sAgent.indexOf("mac")==-1)
{var sBrowserVersion=navigator.appVersion.match(/MSIE (.\..)/)[1];return(sBrowserVersion>=5.5);}
if(navigator.product=="Gecko"&&navigator.productSub>=20030210&&!(typeof(opera)=='object'&&opera.postError))
return true;if(window.opera&&window.opera.version&&parseFloat(window.opera.version())>=9.5)
return true;if(sAgent.indexOf(' adobeair/')!=-1)
return(sAgent.match(/ adobeair\/(\d+)/)[1]>=1);if(sAgent.indexOf(' applewebkit/')!=-1)
return(sAgent.match(/ applewebkit\/(\d+)/)[1]>=522);return false;}
function ECMUtils(){var Self=this;var DOM=eXo.core.DOMUtil;var Browser=eXo.core.Browser;var RightClick=eXo.webui.UIRightClickPopupMenu;ECMUtils.prototype.popupArray=[];ECMUtils.prototype.init=function(portletId){var portlet=document.getElementById(portletId);if(!portlet)return;RightClick.disableContextMenu(portletId);portlet.onmousedown=function(event){eXo.ecm.ECMUtils.closeAllPopup();}
if(document.getElementById("UIPageDesktop")){Self.fixHeight(portletId);var uiPageDeskTop=document.getElementById("UIPageDesktop");var uiJCRExplorers=DOM.findDescendantsByClass(uiPageDeskTop,'div','UIJCRExplorer');if(uiJCRExplorers.length){for(var i=0;i<uiJCRExplorers.length;i++){var uiResizeBlock=DOM.findAncestorByClass(uiJCRExplorers[i],"UIResizableBlock");if(uiResizeBlock)uiResizeBlock.style.overflow="hidden";}}}else{Self.controlLayout(portletId);eXo.core.Browser.addOnResizeCallback('controlLayout',function(){eXo.ecm.ECMUtils.controlLayout(portletId);});}};ECMUtils.prototype.fixHeight=function(portletId){var portlet=document.getElementById(portletId);var refElement=DOM.findAncestorByClass(portlet,"UIApplication");if(refElement==null)return;var delta=(parseInt(refElement.style.height)-portlet.offsetHeight);var resizeObj=DOM.findDescendantsByClass(portlet,'div','UIResizableBlock');if(resizeObj.length){for(var i=0;i<resizeObj.length;i++){resizeObj[i].style.height=(resizeObj[i].offsetHeight+delta)+"px";}}};ECMUtils.prototype.controlLayout=function(portletId){var portlet=document.getElementById(portletId);var uiWorkingArea=DOM.findFirstDescendantByClass(portlet,'div','UIWorkingArea');if(!uiWorkingArea)return;var delta=document.body.scrollHeight-eXo.core.Browser.getBrowserHeight();if(delta<0){var resizeObj=DOM.findDescendantsByClass(portlet,'div','UIResizableBlock');if(resizeObj.length){for(var i=0;i<resizeObj.length;i++){resizeObj[i].style.height=resizeObj[i].offsetHeight-delta+"px";}}
var uiDocumentWorkspace=DOM.findFirstDescendantByClass(portlet,'div','UIDocumentWorkspace');if(uiDocumentWorkspace)uiDocumentWorkspace.style.height=uiDocumentWorkspace.offsetHeight-delta+"px";}
eXo.core.Browser.addOnResizeCallback('controlLayout',function(){eXo.ecm.ECMUtils.controlLayout(portletId)});};ECMUtils.prototype.clickLeftMouse=function(event,clickedElement,position,option){var event=event||window.event;event.cancelBubble=true;popupSelector=DOM.findAncestorByClass(clickedElement,"UIPopupSelector");showBlock=DOM.findFirstDescendantByClass(popupSelector,"div","UISelectContent");if(option==1){showBlock.style.width=(popupSelector.offsetWidth-2)+"px";}
if(showBlock.style.display=="block"){eXo.webui.UIPopup.hide(showBlock);return;}
eXo.webui.UIPopup.show(showBlock);showBlock.onmousedown=function(event){var event=event||window.event;event.cancelBubble=true;}
Self.popupArray.push(showBlock);showBlock.style.top=popupSelector.offsetHeight+"px";};ECMUtils.prototype.closeAllPopup=function(){for(var i=0;i<Self.popupArray.length;i++){Self.popupArray[i].style.display="none";}
Self.popupArray.clear();};ECMUtils.prototype.initVote=function(voteId,rate){var vote=document.getElementById(voteId);vote.rate=rate=parseInt(rate);var optsContainer=DOM.findFirstDescendantByClass(vote,"div","OptionsContainer");var options=DOM.getChildrenByTagName(optsContainer,"div");for(var i=0;i<options.length;i++){options[i].onmouseover=Self.overVote;if(i<rate)options[i].className="RatedVote";}
vote.onmouseover=function(){var optsCon=DOM.findFirstDescendantByClass(this,"div","OptionsContainer");var opts=DOM.getChildrenByTagName(optsCon,"div");for(var j=0;j<opts.length;j++){if(j<this.rate)opts[j].className="RatedVote";else opts[j].className="NormalVote";}}
optsContainer.onmouseover=function(event){var event=event||window.event;event.cancelBubble=true;}};ECMUtils.prototype.overVote=function(event){var optionsContainer=DOM.findAncestorByClass(this,"OptionsContainer");var opts=DOM.getChildrenByTagName(optionsContainer,"div");var i=opts.length;for(--i;i>=0;i--){if(opts[i]==this)break;opts[i].className="NormalVote";}
if(opts[i].className=="OverVote")return;for(;i>=0;i--){opts[i].className="OverVote";}};ECMUtils.prototype.showHideComponent=function(elemtClicked){var nodeReference=DOM.findAncestorByClass(elemtClicked,"ShowHideContainer");var elemt=DOM.findFirstDescendantByClass(nodeReference,"div","ShowHideComponent");if(elemt.style.display=='none'){elemtClicked.childNodes[0].style.display='none';elemtClicked.childNodes[1].style.display='block';elemt.style.display='block';}else{elemtClicked.childNodes[0].style.display='block';elemtClicked.childNodes[1].style.display='none';elemt.style.display='none';}};ECMUtils.prototype.collapseExpand=function(element){var node=element.parentNode;var subGroup=DOM.findFirstChildByClass(node,"div","NodeGroup");if(!subGroup)return false;if(subGroup.style.display=="none"){if(element.className=="ExpandIcon")element.className="CollapseIcon";subGroup.style.display="block";}else{if(element.className=="CollapseIcon")element.className="ExpandIcon";subGroup.style.display="none";}
return true;};ECMUtils.prototype.collapseExpandPart=function(element){var node=element.parentNode;var subGroup1=DOM.findFirstChildByClass(node,"div","NodeGroup1");var subGroup2=DOM.findFirstChildByClass(node,"div","NodeGroup2");if(subGroup1.style.display=="none"){if(element.className=="CollapseIcon")element.className="ExpandIcon";subGroup1.style.display="block";subGroup2.style.display="none";}else{if(element.className=="ExpandIcon")element.className="CollapseIcon";subGroup1.style.display="none";subGroup2.style.display="block";}
return true;};ECMUtils.prototype.filterValue=function(frmId){var form=document.getElementById(frmId);if(eXo.core.Browser.browserType=="ie"){var text=document.createTextNode(form['tempSel'].innerHTML);form['result'].appendChild(text);}else{form['result'].innerHTML=form['tempSel'].innerHTML;}
var filterValue=form['filter'].value;filterValue=filterValue.replace("*",".*");var re=new RegExp(filterValue,"i");var elSel=form['result'];var i;for(i=elSel.length-1;i>=0;i--){if(!re.test(elSel.options[i].value)){elSel.remove(i);}}};ECMUtils.prototype.convertElemtToHTML=function(id){var elemt=document.getElementById(id);var text=elemt.innerHTML;text=text.toString();text=text.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");elemt.innerHTML=text;};ECMUtils.prototype.onKeyPress=function(){var uiAddressBarControl=document.getElementById("UIAddressBarControl");if(uiAddressBarControl){uiAddressBarControl.onkeypress=Self.onEnterPress;}};ECMUtils.prototype.onEnterPress=function(event){var uiAdressBarAction=document.getElementById("UIAddressBarAction");var event=event||window.event;if(uiAdressBarAction&&event.keyCode==13){eval(uiAdressBarAction.href);return false;}};ECMUtils.prototype.replaceToIframe=function(txtAreaId){if(!document.getElementById(txtAreaId)){return;}
var txtArea=document.getElementById(txtAreaId);var ifrm=document.createElement("IFRAME");with(ifrm){className='ECMIframe';src='javascript:void(0)';frameBorder=0;scrolling="auto";}
var strValue=txtArea.value;txtArea.parentNode.replaceChild(ifrm,txtArea);try{var doc=ifrm.contentWindow.document;doc.open();doc.write(strValue);doc.close();}catch(ex){}};ECMUtils.prototype.generateWebDAVLink=function(serverInfo,portalName,repository,workspace,nodePath,mimetype){if(eXo.core.Browser.getBrowserType()=="ie"){if(mimetype=="application/xls"||mimetype=="application/msword"||mimetype=="application/ppt"){var path="/";nodePath=nodePath.substr(1).split("\/");if(typeof(nodePath.length)=='number'){for(var i=0;i<nodePath.length;i++){path+=encodeURIComponent(nodePath[i])+"/";}}
window.location=serverInfo+"/"+portalName+"/rest/private/lnkproducer/openit.lnk?path=/"+repository+"/"+workspace+path;}else{window.location=serverInfo+"/"+portalName+"/rest/private/jcr/"+repository+"/"+workspace+nodePath;}}else{window.location=serverInfo+"/"+portalName+"/rest/private/jcr/"+repository+"/"+workspace+nodePath;}};ECMUtils.prototype.pushToClipboard=function(event,url){if(window.clipboardData){window.clipboardData.setData('text',url);}else{var clipboard=document.getElementById('ecm-clipboard');if(clipboard==null){clipboard=document.createElement('div');clipboard.setAttribute("id","ecm-clipboard");clipboard.style.display="block";document.body.appendChild(clipboard);}
clipboard.innerHTML='<embed src="/ecm/javascript/eXo/ecm/ECMClipboard.swf" FlashVars="clipboard='+encodeURIComponent(url)
+'"width="0" height="0" type="application/x-shockwave-flash"></embed>';}
eXo.core.MouseEventManager.docMouseDownEvt(event);return false;};ECMUtils.prototype.concatMethod=function(){var oArg=arguments;var nSize=oArg.length;if(nSize<2)return;var mSelf=oArg[0];return function(){var aArg=[];for(var i=0;i<arguments.length;++i){aArg.push(arguments[i]);}
mSelf.apply(mSelf,aArg);for(i=1;i<nSize;++i){var oSet={method:oArg[i].method||function(){},param:oArg[i].param||aArg}
oSet.method.apply(oSet.method,oSet.param);}}};};eXo.ecm.ECMUtils=new ECMUtils();var ListView=function(){var Self=this;var DOM=eXo.core.DOMUtil;ListView.prototype.temporaryItem=null;ListView.prototype.itemsSelected=[];ListView.prototype.allItems=[];ListView.prototype.contextMenuId=null;ListView.prototype.actionAreaId=null;ListView.prototype.enableDragDrop=null;ListView.prototype.colorSelected="#e7f3ff";ListView.prototype.colorHover="#f2f8ff";ListView.prototype.initAllEvent=function(actionAreaId){Self.contextMenuId="JCRContextMenu";Self.actionAreaId=actionAreaId;var actionArea=document.getElementById(actionAreaId);Self.allItems=DOM.findDescendantsByClass(actionArea,"div","RowView");var mousedown=null;for(var i in Self.allItems){if(Array.prototype[i])continue;var item=Self.allItems[i];item.storeIndex=i;if(item.getAttribute("onmousedown")){mousedown=item.getAttributeNode("onmousedown").value;item.setAttribute("mousedown",mousedown);item.onmousedown=null;item.removeAttribute("onmousedown");}
item.onmouseover=Self.mouseOverItem;item.onmousedown=Self.mouseDownItem;item.onmouseup=Self.mouseUpItem;item.onmouseout=Self.mouseOutItem;}
actionArea.onmousedown=Self.mouseDownGround;actionArea.onmouseup=Self.mouseUpGround;var contextMenu=document.getElementById(Self.contextMenuId);if(contextMenu)contextMenu.parentNode.removeChild(contextMenu);var UIWorkingArea=DOM.findAncestorByClass(actionArea,"UIWorkingArea");var UITreeExplorer=DOM.findFirstDescendantByClass(UIWorkingArea,"div","UITreeExplorer");if(UITreeExplorer){DOM.getElementsBy(function(element){return element.getAttribute("objectId");},"div",UITreeExplorer,function(element){if(element.getAttribute("onmousedown")){mousedown=element.getAttributeNode("onmousedown").value;element.setAttribute("mousedown",mousedown);}
element.onmousedown=Self.mouseDownTree;element.onmouseup=Self.mouseUpTree;element.onmouseover=Self.mouseOverTree;element.onmouseout=Self.mouseOutTree;});}};ListView.prototype.mouseOverTree=function(event){var event=event||window.event;var element=this;var mobileElement=document.getElementById(Self.mobileId);if(mobileElement&&mobileElement.move){var expandElement=DOM.findAncestorByClass(element,"ExpandIcon");if(expandElement&&expandElement.onclick){if(expandElement.onclick instanceof Function)expandElement.onclick();}}};ListView.prototype.mouseOutTree=function(event){};ListView.prototype.mouseDownTree=function(event){var event=event||window.event;var element=this;Self.enableDragDrop=true;resetArrayItemsSelected();var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(rightClick){eval(element.getAttribute("mousedown"));}else{document.onmousemove=Self.dragItemsSelected;document.onmouseup=Self.dropOutActionArea;var itemSelected=element.cloneNode(true);Self.itemsSelected=new Array(itemSelected);var uiResizableBlock=DOM.findAncestorByClass(element,"UIResizableBlock");if(uiResizableBlock)uiResizableBlock.style.overflow="hidden";var mobileElement=newElement({className:"UIJCRExplorerPortlet",id:DOM.generateId('Id'),style:{position:"absolute",display:"none",overflow:"hidden",background:"white",width:element.offsetWidth+"px"}});Self.mobileId=mobileElement.id;var coverElement=newElement({className:"UITreeExplorer",style:{margin:"0px 3px",padding:"3px 0px"}});coverElement.appendChild(itemSelected);mobileElement.appendChild(coverElement);document.body.appendChild(mobileElement);}};ListView.prototype.mouseUpTree=function(event){var event=event||window.event;var element=this;revertResizableBlock();Self.enableDragDrop=null;var mobileElement=document.getElementById(Self.mobileId);if(mobileElement&&mobileElement.move){var actionArea=document.getElementById(Self.actionAreaId);var moveAction=DOM.findFirstDescendantByClass(actionArea,"div","JCRMoveAction");var wsTarget=element.getAttribute('workspacename');var idTarget=element.getAttribute('objectId');Self.postGroupAction(moveAction.getAttribute('request'),"&destInfo="+idTarget+";"+wsTarget);}};ListView.prototype.mouseOverItem=function(event){var event=event||window.event;var element=this;if(!element.selected){element.style.background=Self.colorHover;element.temporary=true;}};ListView.prototype.mouseOutItem=function(event){var event=event||window.event;var element=this;element.temporary=false;if(!element.selected){element.style.background="none";}};ListView.prototype.mouseDownItem=function(event){var event=event||window.event;event.cancelBubble=true;var element=this;removeMobileElement();Self.hideContextMenu();Self.enableDragDrop=true;document.onselectstart=function(){return false};var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(!rightClick){if(!inArray(Self.itemsSelected,element)&&!event.ctrlKey&&!event.shiftKey){Self.clickItem(event,element);};document.onmousemove=Self.dragItemsSelected;document.onmouseup=Self.dropOutActionArea;var mobileElement=newElement({className:"UIJCRExplorerPortlet MoveItem",id:DOM.generateId('Id'),style:{position:"absolute",display:"none",padding:"1px",background:"white",border:"1px solid gray",width:document.getElementById(Self.actionAreaId).offsetWidth+"px"}});eXo.core.Browser.setOpacity(mobileElement,64);Self.mobileId=mobileElement.getAttribute('id');var coverElement=newElement({className:"UIListGrid"});for(var i in Self.itemsSelected){if(Array.prototype[i])continue;var childNode=Self.itemsSelected[i].cloneNode(true);childNode.style.background="#dbdbdb";coverElement.appendChild(childNode);}
mobileElement.appendChild(coverElement);document.body.appendChild(mobileElement);}};ListView.prototype.dragItemsSelected=function(event){var event=event||window.event;document.onselectstart=function(){return false;}
var mobileElement=document.getElementById(Self.mobileId);if(Self.enableDragDrop&&mobileElement&&!event.ctrlKey){mobileElement.style.display="block";var X=eXo.core.Browser.findMouseXInPage(event);var Y=eXo.core.Browser.findMouseYInPage(event);mobileElement.style.top=Y+5+"px";mobileElement.style.left=X+5+"px";mobileElement.move=true;}};ListView.prototype.dropOutActionArea=function(event){var event=event||window.event;Self.enableDragDrop=null;revertResizableBlock();if(document.getElementById(Self.mobileId)){mobileElement=document.getElementById(Self.mobileId);mobileElement.parentNode.removeChild(mobileElement);}
document.onmousemove=null;document.onmouseup=null;document.onselectstart=function(){return true;}};ListView.prototype.clickItem=function(event,element,callback){var event=event||window.event;resetArrayItemsSelected();element.selected=true;Self.temporaryItem=element;Self.itemsSelected=new Array(element);element.style.background=Self.colorSelected;};ListView.prototype.mouseUpItem=function(event){var event=event||window.event;var element=this;Self.enableDragDrop=null;document.onmousemove=null;revertResizableBlock();var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);var leftClick=!rightClick;if(leftClick){var mobileElement=document.getElementById(Self.mobileId);if(mobileElement&&mobileElement.move&&element.temporary){var actionArea=document.getElementById(Self.actionAreaId);var moveAction=DOM.findFirstDescendantByClass(actionArea,"div","JCRMoveAction");var wsTarget=element.getAttribute('workspacename');var idTarget=element.getAttribute('objectId');Self.postGroupAction(moveAction.getAttribute('request'),"&destInfo="+idTarget+";"+wsTarget);}else{if(event.ctrlKey&&!element.selected){element.selected=true;Self.temporaryItem=element;Self.itemsSelected.push(element);}else if(event.ctrlKey&&element.selected){element.selected=null;element.style.background="none";removeItem(Self.itemsSelected,element);}else if(event.shiftKey){var lowIndex=0;var heightIndex=element.storeIndex;if(Self.temporaryItem){lowIndex=Math.min(Self.temporaryItem.storeIndex,element.storeIndex);heightIndex=Math.max(Self.temporaryItem.storeIndex,element.storeIndex);}
resetArrayItemsSelected();for(var i=lowIndex;i<=heightIndex;i++){Self.allItems[i].selected=true;Self.itemsSelected.push(Self.allItems[i]);}}else{Self.clickItem(event,element);}
for(var i in Self.itemsSelected){if(Array.prototype[i])continue;Self.itemsSelected[i].style.background=Self.colorSelected;}}}else{event.cancelBubble=true;if(inArray(Self.itemsSelected,element)&&Self.itemsSelected.length>1){Self.showItemContextMenu(event,element);}else{Self.clickItem(event,element);eval(element.getAttribute("mousedown"));}}};ListView.prototype.mouseDownGround=function(event){var event=event||window.event;var element=this;element.holdMouse=true;Self.hideContextMenu();Self.temporaryItem=null;document.onselectstart=function(){return false};var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(!rightClick){resetArrayItemsSelected();element.onmousemove=Self.mutipleSelect;var mask=DOM.findFirstDescendantByClass(element,"div","Mask");mask.storeX=eXo.core.Browser.findMouseRelativeX(element,event);mask.storeY=eXo.core.Browser.findMouseRelativeY(element,event);addStyle(mask,{left:mask.storeX+"px",top:mask.storeY+"px",zIndex:1,width:"0px",height:"0px",backgroundColor:"gray",border:"1px dotted black"});eXo.core.Browser.setOpacity(mask,17);var listGrid=DOM.findFirstDescendantByClass(element,"div","UIListGrid");for(var i=0;i<Self.allItems.length;++i){Self.allItems[i].posX=Math.abs(eXo.core.Browser.findPosXInContainer(Self.allItems[i],element))-listGrid.scrollLeft;Self.allItems[i].posY=Math.abs(eXo.core.Browser.findPosYInContainer(Self.allItems[i],element))-listGrid.scrollTop;}}};ListView.prototype.mutipleSelect=function(event){var event=event||window.event;var element=this;var mask=DOM.findFirstDescendantByClass(element,"div","Mask");var top=mask.storeY-2;var right=element.offsetWidth-mask.storeX-2;var bottom=element.offsetHeight-mask.storeY-2;var left=mask.storeX-2;if(element.holdMouse){resetArrayItemsSelected();mask.X=eXo.core.Browser.findMouseRelativeX(element,event);mask.Y=eXo.core.Browser.findMouseRelativeY(element,event);mask.deltaX=mask.X-mask.storeX;mask.deltaY=mask.Y-mask.storeY;mask.style.width=Math.abs(mask.deltaX)+"px";mask.style.height=Math.abs(mask.deltaY)+"px";if(mask.deltaX<0&&mask.deltaY>0){if(mask.offsetHeight>bottom){mask.style.height=bottom+"px";}
mask.style.top=mask.storeY+"px";if(mask.offsetWidth>left){mask.style.width=left+"px";mask.style.left=0+"px";}else{mask.style.left=mask.X+"px";}}else if(mask.deltaX<0&&mask.deltaY<0){if(mask.offsetHeight>top){mask.style.height=top+"px";mask.style.top=0+"px";}else{mask.style.top=mask.Y+"px";}
if(mask.offsetWidth>left){mask.style.width=left+"px";mask.style.left=0+"px";}else{mask.style.left=mask.X+"px";}
for(var i in Self.allItems){if(Array.prototype[i])continue;var itemBox=Self.allItems[i];var posX=itemBox.posX+itemBox.offsetWidth/2;var posY=itemBox.posY+itemBox.offsetHeight/2;if(mask.Y<posY&&posY<mask.storeY){itemBox.selected=true;itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.style.background="none";}}}else if(mask.deltaX>0&&mask.deltaY<0){if(mask.offsetHeight>top){mask.style.height=top+"px";mask.style.top=0+"px";}else{mask.style.top=mask.Y+"px";}
if(mask.offsetWidth>right){mask.style.width=right+"px";}
mask.style.left=mask.storeX+"px";for(var i in Self.allItems){if(Array.prototype[i])continue;var itemBox=Self.allItems[i];var posX=itemBox.posX+itemBox.offsetWidth/2;var posY=itemBox.posY+itemBox.offsetHeight/2;if(mask.Y<posY&&posY<mask.storeY){itemBox.selected=true;itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.style.background="none";}}}else{if(mask.offsetHeight>bottom){mask.style.height=bottom+"px";}
mask.style.top=mask.storeY+"px";if(mask.offsetWidth>right){mask.style.width=right+"px";}
mask.style.left=mask.storeX+"px";}}};ListView.prototype.mouseUpGround=function(event){var event=event||window.event;var element=this;element.holdMouse=null;element.onmousemove=null;revertResizableBlock();removeMobileElement();Self.enableDragDrop=null;document.onselectstart=function(){return true};var mask=DOM.findFirstDescendantByClass(element,"div","Mask");addStyle(mask,{width:"0px",height:"0px",top:"0px",left:"0px",border:"none"});var item=null;for(var i in Self.allItems){if(Array.prototype[i])continue;item=Self.allItems[i];if(item.selected&&!inArray(Self.itemsSelected,item))Self.itemsSelected.push(item);}
var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(rightClick)Self.showGroundContextMenu(event,element);};ListView.prototype.showItemContextMenu=function(event,element){var event=event||window.event;event.cancelBubble=true;if(document.getElementById(Self.contextMenuId)){var contextMenu=document.getElementById(Self.contextMenuId);contextMenu.parentNode.removeChild(contextMenu);}
var actionArea=document.getElementById(Self.actionAreaId);var context=DOM.findFirstDescendantByClass(actionArea,"div","ItemContextMenu");var contextMenu=newElement({innerHTML:context.innerHTML,id:Self.contextMenuId,style:{position:"absolute",height:"0px",width:"0px",top:"-1000px",display:"block"}});document.body.appendChild(contextMenu);var X=eXo.core.Browser.findMouseXInPage(event);var Y=eXo.core.Browser.findMouseYInPage(event);var portWidth=eXo.core.Browser.getBrowserWidth();var portHeight=eXo.core.Browser.getBrowserHeight();var contentMenu=DOM.findFirstChildByClass(contextMenu,"div","UIRightClickPopupMenu");if(event.clientX+contentMenu.offsetWidth>portWidth)X-=contentMenu.offsetWidth;if(event.clientY+contentMenu.offsetHeight>portHeight)Y-=contentMenu.offsetHeight+5;contextMenu.style.top=Y+5+"px";contextMenu.style.left=X+5+"px";var checkUnlock=false;for(var i in Self.itemsSelected){if(Array.prototype[i])continue;if(Self.itemsSelected[i].getAttribute('locked')=="true")checkUnlock=true;}
var lockAction=DOM.findFirstDescendantByClass(contextMenu,"div","Lock16x16Icon");var unlockAction=DOM.findFirstDescendantByClass(contextMenu,"div","Unlock16x16Icon");if(checkUnlock){unlockAction.parentNode.style.display="block";lockAction.parentNode.style.display="none";}else{unlockAction.parentNode.style.display="none";lockAction.parentNode.style.display="block";}
contextMenu.onmouseup=Self.hideContextMenu;document.body.onmousedown=Self.hideContextMenu;};ListView.prototype.showGroundContextMenu=function(event,element){var event=event||window.event;resetArrayItemsSelected();if(document.getElementById(Self.contextMenuId)){var contextMenu=document.getElementById(Self.contextMenuId);contextMenu.parentNode.removeChild(contextMenu);}
var actionArea=document.getElementById(Self.actionAreaId);var context=DOM.findFirstDescendantByClass(actionArea,"div","GroundContextMenu");var contextMenu=newElement({innerHTML:context.innerHTML,id:Self.contextMenuId,style:{position:"absolute",height:"0px",width:"0px",top:"-1000px",display:"block"}});document.body.appendChild(contextMenu);var X=eXo.core.Browser.findMouseXInPage(event);var Y=eXo.core.Browser.findMouseYInPage(event);var portWidth=eXo.core.Browser.getBrowserWidth();var portHeight=eXo.core.Browser.getBrowserHeight();var contentMenu=DOM.findFirstChildByClass(contextMenu,"div","UIRightClickPopupMenu");if(event.clientX+contentMenu.offsetWidth>portWidth)X-=contentMenu.offsetWidth;if(event.clientY+contentMenu.offsetHeight>portHeight)Y-=contentMenu.offsetHeight+5;contextMenu.style.top=Y+5+"px";contextMenu.style.left=X+5+"px";contextMenu.onmouseup=Self.hideContextMenu;document.body.onmousedown=Self.hideContextMenu;};ListView.prototype.hideContextMenu=function(){var contextMenu=document.getElementById(Self.contextMenuId);if(contextMenu)contextMenu.style.display="none";eval(eXo.core.MouseEventManager.onMouseDownHandlers);eXo.core.MouseEventManager.onMouseDownHandlers=null;};ListView.prototype.postGroupAction=function(url,ext){var objectId=[];var workspaceName=[];var ext=ext?ext:"";if(Self.itemsSelected.length){for(var i in Self.itemsSelected){if(Array.prototype[i])continue;var currentNode=Self.itemsSelected[i];currentNode.isSelect=false;var wsname=currentNode.getAttribute("workspaceName");if(wsname)workspaceName.push(wsname);else workspaceName.push("");var oid=currentNode.getAttribute("objectId");if(oid)objectId.push(oid);else objectId.push("");}
url=url.replace("MultiSelection",objectId.join(";")+"&workspaceName="+workspaceName.join(";")+ext);eval(url);}};function newElement(option){var div=document.createElement('div');addStyle(div,option.style);delete option.style;for(var o in option){div[o]=option[o];}
return div;}
function addStyle(element,style){for(var o in style){if(Object.prototype[o])continue;element.style[o]=style[o];}}
function removeMobileElement(){var mobileElement=document.getElementById(Self.mobileId);if(mobileElement)document.body.removeChild(mobileElement);}
function resetArrayItemsSelected(){for(var i in Self.itemsSelected){if(Array.prototype[i])continue;Self.itemsSelected[i].selected=null;Self.itemsSelected[i].style.background="none";}
Self.itemsSelected=new Array();}
function removeItem(arr,item){for(var i=0,nSize=arr.length;i<nSize;++i){if(arr[i]==item){arr.splice(i,1);break;}}}
function inArray(arr,item){for(var i=0,nSize=arr.length;i<nSize;++i){if(arr[i]==item)return true;}
return false;}
function revertResizableBlock(){var actionArea=document.getElementById(Self.actionAreaId);var uiWorkingArea=DOM.findAncestorByClass(actionArea,"UIWorkingArea");var uiResizableBlock=DOM.findFirstDescendantByClass(uiWorkingArea,"div","UIResizableBlock");if(uiResizableBlock)uiResizableBlock.style.overflow="auto";}};eXo.ecm.UIListView=new ListView();var SimpleView=function(){var Self=this;var DOM=eXo.core.DOMUtil;SimpleView.prototype.temporaryItem=null;SimpleView.prototype.itemsSelected=[];SimpleView.prototype.allItems=[];SimpleView.prototype.contextMenuId=null;SimpleView.prototype.actionAreaId=null;SimpleView.prototype.enableDragDrop=null;SimpleView.prototype.colorSelected="#e7f3ff";SimpleView.prototype.colorHover="#f2f8ff";SimpleView.prototype.initAllEvent=function(actionAreaId){Self.contextMenuId="JCRContextMenu";Self.actionAreaId=actionAreaId;var actionArea=document.getElementById(actionAreaId);Self.allItems=DOM.findDescendantsByClass(actionArea,"div","ActionIconBox");var mousedown=null;for(var i in Self.allItems){if(Array.prototype[i])continue;var item=Self.allItems[i];item.storeIndex=i;if(item.getAttribute("onmousedown")){mousedown=Self.allItems[i].getAttributeNode("onmousedown").value;item.setAttribute("mousedown",mousedown);item.onmousedown=null;item.removeAttribute("onmousedown");}
item.onmouseover=Self.mouseOverItem;item.onmousedown=Self.mouseDownItem;item.onmouseup=Self.mouseUpItem;item.onmouseout=Self.mouseOutItem;}
actionArea.onmousedown=Self.mouseDownGround;actionArea.onmouseup=Self.mouseUpGround;actionArea.onmouseover=Self.mouseOverGround;actionArea.onmouseout=Self.mouseOutGround;var contextMenu=document.getElementById(Self.contextMenuId);if(contextMenu)contextMenu.parentNode.removeChild(contextMenu);var UIWorkingArea=DOM.findAncestorByClass(actionArea,"UIWorkingArea");var UITreeExplorer=DOM.findFirstDescendantByClass(UIWorkingArea,"div","UITreeExplorer");if(UITreeExplorer){DOM.getElementsBy(function(element){return element.getAttribute("objectId");},"div",UITreeExplorer,function(element){if(element.getAttribute("onmousedown")){mousedown=element.getAttributeNode("onmousedown").value;element.setAttribute("mousedown",mousedown);}
element.onmousedown=Self.mouseDownTree;element.onmouseup=Self.mouseUpTree;element.onmouseover=Self.mouseOverTree;element.onmouseout=Self.mouseOutTree;});}};SimpleView.prototype.mouseOverTree=function(event){var event=event||window.event;var element=this;var mobileElement=document.getElementById(Self.mobileId);if(mobileElement&&mobileElement.move){var expandElement=DOM.findAncestorByClass(element,"ExpandIcon");if(expandElement&&expandElement.onclick){if(expandElement.onclick instanceof Function)expandElement.onclick();}}};SimpleView.prototype.mouseOutTree=function(event){};SimpleView.prototype.mouseDownTree=function(event){var event=event||window.event;var element=this;Self.enableDragDrop=true;resetArrayItemsSelected();var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(rightClick){eval(element.getAttribute("mousedown"));}else{document.onmousemove=Self.dragItemsSelected;document.onmouseup=Self.dropOutActionArea;var itemSelected=element.cloneNode(true);Self.itemsSelected=new Array(itemSelected);var uiResizableBlock=DOM.findAncestorByClass(element,"UIResizableBlock");if(uiResizableBlock)uiResizableBlock.style.overflow="hidden";var mobileElement=newElement({className:"UIJCRExplorerPortlet",id:DOM.generateId('Id'),style:{position:"absolute",display:"none",overflow:"hidden",background:"white",width:element.offsetWidth+"px"}});Self.mobileId=mobileElement.id;var coverElement=newElement({className:"UITreeExplorer",style:{margin:"0px 3px",padding:"3px 0px"}});coverElement.appendChild(itemSelected);mobileElement.appendChild(coverElement);document.body.appendChild(mobileElement);}};SimpleView.prototype.mouseUpTree=function(event){var event=event||window.event;var element=this;revertResizableBlock();Self.enableDragDrop=null;var mobileElement=document.getElementById(Self.mobileId);if(mobileElement&&mobileElement.move){var actionArea=document.getElementById(Self.actionAreaId);var moveAction=DOM.findFirstDescendantByClass(actionArea,"div","JCRMoveAction");var wsTarget=element.getAttribute('workspacename');var idTarget=element.getAttribute('objectId');Self.postGroupAction(moveAction.getAttribute('request'),"&destInfo="+idTarget+";"+wsTarget);}};SimpleView.prototype.mouseOverItem=function(event){var event=event||window.event;var element=this;if(!element.selected){element.style.background=Self.colorHover;element.temporary=true;}};SimpleView.prototype.mouseOutItem=function(event){var event=event||window.event;var element=this;element.temporary=false;if(!element.selected){element.style.background="none";}};SimpleView.prototype.mouseDownItem=function(event){var event=event||window.event;event.cancelBubble=true;var element=this;removeMobileElement();Self.hideContextMenu();Self.enableDragDrop=true;document.onselectstart=function(){return false};var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(!rightClick){if(!inArray(Self.itemsSelected,element)&&!event.ctrlKey&&!event.shiftKey){Self.clickItem(event,element);};document.onmousemove=Self.dragItemsSelected;document.onmouseup=Self.dropOutActionArea;var mobileElement=newElement({className:"UIJCRExplorerPortlet",id:DOM.generateId('Id'),style:{position:"absolute",display:"none",background:"#dbdbdb",border:"1px solid gray"}});eXo.core.Browser.setOpacity(mobileElement,64);Self.mobileId=mobileElement.getAttribute('id');var coverElement=newElement({className:"UIThumbnailsView",style:{clear:"left"}});for(var i in Self.itemsSelected){if(Array.prototype[i])continue;coverElement.appendChild(Self.itemsSelected[i].cloneNode(true));}
mobileElement.appendChild(coverElement);document.body.appendChild(mobileElement);}};SimpleView.prototype.dragItemsSelected=function(event){var event=event||window.event;document.onselectstart=function(){return false;}
var mobileElement=document.getElementById(Self.mobileId);if(Self.enableDragDrop&&mobileElement&&!event.ctrlKey){mobileElement.style.display="block";var X=eXo.core.Browser.findMouseXInPage(event);var Y=eXo.core.Browser.findMouseYInPage(event);mobileElement.style.top=Y+5+"px";mobileElement.style.left=X+5+"px";mobileElement.move=true;}};SimpleView.prototype.dropOutActionArea=function(event){var event=event||window.event;Self.enableDragDrop=null;revertResizableBlock();if(document.getElementById(Self.mobileId)){mobileElement=document.getElementById(Self.mobileId);mobileElement.parentNode.removeChild(mobileElement);}
document.onmousemove=null;document.onmouseup=null;document.onselectstart=function(){return true;}};SimpleView.prototype.clickItem=function(event,element,callback){var event=event||window.event;resetArrayItemsSelected();element.selected=true;Self.temporaryItem=element;Self.itemsSelected=new Array(element);element.style.background=Self.colorSelected;};SimpleView.prototype.mouseUpItem=function(event){var event=event||window.event;var element=this;Self.enableDragDrop=null;document.onmousemove=null;revertResizableBlock();var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);var leftClick=!rightClick;if(leftClick){var mobileElement=document.getElementById(Self.mobileId);if(mobileElement&&mobileElement.move&&element.temporary){var actionArea=document.getElementById(Self.actionAreaId);var moveAction=DOM.findFirstDescendantByClass(actionArea,"div","JCRMoveAction");var wsTarget=element.getAttribute('workspacename');var idTarget=element.getAttribute('objectId');Self.postGroupAction(moveAction.getAttribute('request'),"&destInfo="+idTarget+";"+wsTarget);}else{if(event.ctrlKey&&!element.selected){element.selected=true;Self.temporaryItem=element;Self.itemsSelected.push(element);}else if(event.ctrlKey&&element.selected){element.selected=null;element.style.background="none";removeItem(Self.itemsSelected,element);}else if(event.shiftKey){var lowIndex=0;var heightIndex=element.storeIndex;if(Self.temporaryItem){lowIndex=Math.min(Self.temporaryItem.storeIndex,element.storeIndex);heightIndex=Math.max(Self.temporaryItem.storeIndex,element.storeIndex);}
resetArrayItemsSelected();for(var i=lowIndex;i<=heightIndex;i++){Self.allItems[i].selected=true;Self.itemsSelected.push(Self.allItems[i]);}}else{Self.clickItem(event,element);}
for(var i in Self.itemsSelected){if(Array.prototype[i])continue;Self.itemsSelected[i].style.background=Self.colorSelected;}}}else{event.cancelBubble=true;if(inArray(Self.itemsSelected,element)&&Self.itemsSelected.length>1){Self.showItemContextMenu(event,element);}else{Self.clickItem(event,element);eval(element.getAttribute("mousedown"));}}};SimpleView.prototype.mouseOverGround=function(event){var event=event||window.event;var element=this;document.onkeydown=function(event){var event=event||window.event;if(event.ctrlKey&&event.keyCode==65){Self.selectAllItems();return false;}}};SimpleView.prototype.mouseOutGround=function(event){document.onkeydown=function(event){return true;}};SimpleView.prototype.selectAllItems=function(){if(Self.allItems){resetArrayItemsSelected();for(var i in Self.allItems){if(Array.prototype[i])continue;var item=Self.allItems[i];item.selected=true;item.style.background=Self.colorSelected;Self.itemsSelected.push(item);}}};SimpleView.prototype.mouseDownGround=function(event){var event=event||window.event;var element=this;element.holdMouse=true;Self.hideContextMenu();Self.temporaryItem=null;document.onselectstart=function(){return false};var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(!rightClick){resetArrayItemsSelected();element.onmousemove=Self.mutipleSelect;var mask=DOM.findFirstDescendantByClass(element,"div","Mask");mask.storeX=eXo.core.Browser.findMouseRelativeX(element,event);mask.storeY=eXo.core.Browser.findMouseRelativeY(element,event);addStyle(mask,{left:mask.storeX+"px",top:mask.storeY+"px",zIndex:1,width:"0px",height:"0px",backgroundColor:"gray",border:"1px dotted black"});eXo.core.Browser.setOpacity(mask,17);var thumbnailView=DOM.findFirstDescendantByClass(element,"div","UIThumbnailsView");for(var i=0;i<Self.allItems.length;++i){Self.allItems[i].posX=Math.abs(eXo.core.Browser.findPosXInContainer(Self.allItems[i],element))-thumbnailView.scrollLeft;Self.allItems[i].posY=Math.abs(eXo.core.Browser.findPosYInContainer(Self.allItems[i],element))-thumbnailView.scrollTop;}}};SimpleView.prototype.mutipleSelect=function(event){var event=event||window.event;var element=this;var mask=DOM.findFirstDescendantByClass(element,"div","Mask");var top=mask.storeY-2;var right=element.offsetWidth-mask.storeX-2;var bottom=element.offsetHeight-mask.storeY-2;var left=mask.storeX-2;if(element.holdMouse){resetArrayItemsSelected();mask.X=eXo.core.Browser.findMouseRelativeX(element,event);mask.Y=eXo.core.Browser.findMouseRelativeY(element,event);mask.deltaX=mask.X-mask.storeX;mask.deltaY=mask.Y-mask.storeY;mask.style.width=Math.abs(mask.deltaX)+"px";mask.style.height=Math.abs(mask.deltaY)+"px";if(mask.deltaX<0&&mask.deltaY>0){if(mask.offsetHeight>bottom){mask.style.height=bottom+"px";}
mask.style.top=mask.storeY+"px";if(mask.offsetWidth>left){mask.style.width=left+"px";mask.style.left=0+"px";}else{mask.style.left=mask.X+"px";}
for(var i in Self.allItems){if(Array.prototype[i])continue;var itemBox=Self.allItems[i];var posX=itemBox.posX+itemBox.offsetWidth/2;var posY=itemBox.posY+itemBox.offsetHeight/2;if(mask.X<posX&&posX<mask.storeX&&posY<mask.Y&&mask.storeY<posY){itemBox.selected=true;itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.style.background="none";}}}else if(mask.deltaX<0&&mask.deltaY<0){if(mask.offsetHeight>top){mask.style.height=top+"px";mask.style.top=0+"px";}else{mask.style.top=mask.Y+"px";}
if(mask.offsetWidth>left){mask.style.width=left+"px";mask.style.left=0+"px";}else{mask.style.left=mask.X+"px";}
for(var i in Self.allItems){if(Array.prototype[i])continue;var itemBox=Self.allItems[i];var posX=itemBox.posX+itemBox.offsetWidth/2;var posY=itemBox.posY+itemBox.offsetHeight/2;if(mask.X<posX&&posX<mask.storeX&&mask.Y<posY&&posY<mask.storeY){itemBox.selected=true;itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.style.background="none";}}}else if(mask.deltaX>0&&mask.deltaY<0){if(mask.offsetHeight>top){mask.style.height=top+"px";mask.style.top=0+"px";}else{mask.style.top=mask.Y+"px";}
if(mask.offsetWidth>right){mask.style.width=right+"px";}
mask.style.left=mask.storeX+"px";for(var i in Self.allItems){if(Array.prototype[i])continue;var itemBox=Self.allItems[i];var posX=itemBox.posX+itemBox.offsetWidth/2;var posY=itemBox.posY+itemBox.offsetHeight/2;if(posX<mask.X&&mask.storeX<posX&&mask.Y<posY&&posY<mask.storeY){itemBox.selected=true;itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.style.background="none";}}}else{if(mask.offsetHeight>bottom){mask.style.height=bottom+"px";}
mask.style.top=mask.storeY+"px";if(mask.offsetWidth>right){mask.style.width=right+"px";}
mask.style.left=mask.storeX+"px";for(var i=0;i<Self.allItems.length;++i){var itemBox=Self.allItems[i];var posX=itemBox.posX+itemBox.offsetWidth/2;var posY=itemBox.posY+itemBox.offsetHeight/2;if(mask.storeX<posX&&posX<mask.X&&mask.storeY<posY&&posY<mask.Y){itemBox.selected=true;itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.style.background="none";}}}}};SimpleView.prototype.mouseUpGround=function(event){var event=event||window.event;var element=this;element.holdMouse=null;element.onmousemove=null;revertResizableBlock();removeMobileElement();Self.enableDragDrop=null;document.onselectstart=function(){return true};var mask=DOM.findFirstDescendantByClass(element,"div","Mask");addStyle(mask,{width:"0px",height:"0px",top:"0px",left:"0px",border:"none"});var item=null;for(var i in Self.allItems){if(Array.prototype[i])continue;item=Self.allItems[i];if(item.selected&&!inArray(Self.itemsSelected,item))Self.itemsSelected.push(item);}
var rightClick=(event.which&&event.which>1)||(event.button&&event.button==2);if(rightClick)Self.showGroundContextMenu(event,element);};SimpleView.prototype.showItemContextMenu=function(event,element){var event=event||window.event;event.cancelBubble=true;if(document.getElementById(Self.contextMenuId)){var contextMenu=document.getElementById(Self.contextMenuId);contextMenu.parentNode.removeChild(contextMenu);}
var actionArea=document.getElementById(Self.actionAreaId);var context=DOM.findFirstDescendantByClass(actionArea,"div","ItemContextMenu");var contextMenu=newElement({innerHTML:context.innerHTML,id:Self.contextMenuId,style:{position:"absolute",height:"0px",width:"0px",top:"-1000px",display:"block"}});document.body.appendChild(contextMenu);var X=eXo.core.Browser.findMouseXInPage(event);var Y=eXo.core.Browser.findMouseYInPage(event);var portWidth=eXo.core.Browser.getBrowserWidth();var portHeight=eXo.core.Browser.getBrowserHeight();var contentMenu=DOM.findFirstChildByClass(contextMenu,"div","UIRightClickPopupMenu");if(event.clientX+contentMenu.offsetWidth>portWidth)X-=contentMenu.offsetWidth;if(event.clientY+contentMenu.offsetHeight>portHeight)Y-=contentMenu.offsetHeight+5;contextMenu.style.top=Y+5+"px";contextMenu.style.left=X+5+"px";var checkUnlock=false;for(var i in Self.itemsSelected){if(Array.prototype[i])continue;if(Self.itemsSelected[i].getAttribute('locked')=="true")checkUnlock=true;}
var lockAction=DOM.findFirstDescendantByClass(contextMenu,"div","Lock16x16Icon");var unlockAction=DOM.findFirstDescendantByClass(contextMenu,"div","Unlock16x16Icon");if(checkUnlock){unlockAction.parentNode.style.display="block";lockAction.parentNode.style.display="none";}else{unlockAction.parentNode.style.display="none";lockAction.parentNode.style.display="block";}
contextMenu.onmouseup=Self.hideContextMenu;document.body.onmousedown=Self.hideContextMenu;};SimpleView.prototype.showGroundContextMenu=function(event,element){var event=event||window.event;resetArrayItemsSelected();if(document.getElementById(Self.contextMenuId)){var contextMenu=document.getElementById(Self.contextMenuId);contextMenu.parentNode.removeChild(contextMenu);}
var actionArea=document.getElementById(Self.actionAreaId);var context=DOM.findFirstDescendantByClass(actionArea,"div","GroundContextMenu");var contextMenu=newElement({innerHTML:context.innerHTML,id:Self.contextMenuId,style:{position:"absolute",height:"0px",width:"0px",top:"-1000px",display:"block"}});document.body.appendChild(contextMenu);var X=eXo.core.Browser.findMouseXInPage(event);var Y=eXo.core.Browser.findMouseYInPage(event);var portWidth=eXo.core.Browser.getBrowserWidth();var portHeight=eXo.core.Browser.getBrowserHeight();var contentMenu=DOM.findFirstChildByClass(contextMenu,"div","UIRightClickPopupMenu");if(event.clientX+contentMenu.offsetWidth>portWidth)X-=contentMenu.offsetWidth;if(event.clientY+contentMenu.offsetHeight>portHeight)Y-=contentMenu.offsetHeight+5;contextMenu.style.top=Y+5+"px";contextMenu.style.left=X+5+"px";contextMenu.onmouseup=Self.hideContextMenu;document.body.onmousedown=Self.hideContextMenu;};SimpleView.prototype.hideContextMenu=function(){var contextMenu=document.getElementById(Self.contextMenuId);if(contextMenu)contextMenu.style.display="none";eval(eXo.core.MouseEventManager.onMouseDownHandlers);eXo.core.MouseEventManager.onMouseDownHandlers=null;};SimpleView.prototype.postGroupAction=function(url,ext){var objectId=[];var workspaceName=[];var ext=ext?ext:"";if(Self.itemsSelected.length){for(var i in Self.itemsSelected){if(Array.prototype[i])continue;var currentNode=Self.itemsSelected[i];currentNode.isSelect=false;var wsname=currentNode.getAttribute("workspaceName");if(wsname)workspaceName.push(wsname);else workspaceName.push("");var oid=currentNode.getAttribute("objectId");if(oid)objectId.push(oid);else objectId.push("");}
url=url.replace("MultiSelection",objectId.join(";")+"&workspaceName="+workspaceName.join(";")+ext);eval(url);}};SimpleView.prototype.errorCallback=function(obj){var img=eXo.core.DOMUtil.findNextElementByTagName(obj.parentNode,"span");img.style.display="block";obj.parentNode.style.display="none";};function newElement(option){var div=document.createElement('div');addStyle(div,option.style);delete option.style;for(var o in option){div[o]=option[o];}
return div;}
function addStyle(element,style){for(var o in style){if(Object.prototype[o])continue;element.style[o]=style[o];}}
function removeMobileElement(){var mobileElement=document.getElementById(Self.mobileId);if(mobileElement)document.body.removeChild(mobileElement);}
function resetArrayItemsSelected(){for(var i in Self.itemsSelected){if(Array.prototype[i])continue;Self.itemsSelected[i].selected=null;Self.itemsSelected[i].style.background="none";}
Self.itemsSelected=new Array();}
function removeItem(arr,item){for(var i=0,nSize=arr.length;i<nSize;++i){if(arr[i]==item){arr.splice(i,1);break;}}}
function inArray(arr,item){for(var i=0,nSize=arr.length;i<nSize;++i){if(arr[i]==item)return true;}
return false;}
function revertResizableBlock(){var actionArea=document.getElementById(Self.actionAreaId);var uiWorkingArea=DOM.findAncestorByClass(actionArea,"UIWorkingArea");var uiResizableBlock=DOM.findFirstDescendantByClass(uiWorkingArea,"div","UIResizableBlock");if(uiResizableBlock)uiResizableBlock.style.overflow="auto";}};eXo.ecm.UISimpleView=new SimpleView();var CoverFlow=function(){var Self=this;var DOM=eXo.core.DOMUtil;var Browser=eXo.core.Browser;CoverFlow.prototype.portletId=null;CoverFlow.prototype.initEvent=function(portletId){Self.portletId=portletId;var portlet=document.getElementById(portletId);var album=DOM.getChildrenByTagName(portlet,"textarea")[0];var iframe=document.createElement("iframe");iframe.setAttribute("frameborder","0");iframe.setAttribute("border","0");iframe.style.border="none";var workingArea=DOM.findAncestorByClass(portlet,"UIWorkingArea");iframe.style.width="98%";iframe.style.height=workingArea.offsetHeight-47+"px";iframe.style.margin="auto";portlet.insertBefore(iframe,album);var idoc=iframe.contentWindow.document;idoc.open();idoc.write(album.value);setTimeout(function(){idoc.close()},1000);};CoverFlow.prototype.errorCallbackImage=function(obj){var img=eXo.core.DOMUtil.findNextElementByTagName(obj.parentNode,"image");img.style.display="block";obj.style.display="none";};};eXo.ecm.UICoverFlow=new CoverFlow();window.onerror=function(){return false;}