var eXo={animation:{},browser:{},desktop:{},core:{},env:{portal:{},client:{},server:{}},portal:{},util:{},webui:{},widget:{},gadget:{},application:{browser:{}},ecm:{},calendar:{},contact:{},forum:{},mail:{},faq:{},i18n:{}};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);}
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){var reg=new RegExp('(^|\\s+)'+oldClazz);elemt['className']=elemt['className'].replace(reg,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(){if(eXo.core.Browser.currheight!=document.documentElement.clientHeight){clearTimeout(eXo.core.Browser.breakStream);eXo.core.Browser.breakStream=setTimeout(eXo.core.Browser.onResize,100);}
eXo.core.Browser.currheight=document.documentElement.clientHeight;}
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.isFF2=function(){return(navigator.userAgent.indexOf("Firefox/2")>=0);};Browser.prototype.isFF3=function(){return(navigator.userAgent.indexOf("Firefox/3")>=0);};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){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,isRTL){var curleft=0;var tmpObj=obj;while(tmpObj){curleft+=tmpObj.offsetLeft;tmpObj=tmpObj.offsetParent;}
if(isRTL)return curleft+obj.offsetWidth;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,isRTL){var objX=eXo.core.Browser.findPosX(obj,isRTL);var containerX=eXo.core.Browser.findPosX(container,isRTL);if(isRTL)return-(objX-containerX);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"";};Browser.prototype.isDesktop=function(){if(document.getElementById("UIPageDesktop"))return true;return false;}
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="0px";maskLayer.style.left="0px";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(eXo.core.I18n.isLT()){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="0px";maskLayer.style.left="0px";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");if(document.documentElement&&document.documentElement.scrollTop){maskLayer.style.top=document.documentElement.scrollTop+"px";}else{maskLayer.style.top=document.body.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;var topPos;if(document.documentElement&&document.documentElement.scrollTop){topPos=document.documentElement.scrollTop;}else{topPos=document.body.scrollTop;}
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+topPos;}else if(position=="BOTTOM-RIGHT"){left=blockContainer.offsetWidth-object.offsetWidth;top=Browser.getBrowserHeight()-object.offsetHeight+topPos;}else{left=(blockContainer.offsetWidth-object.offsetWidth)/2;top=(Browser.getBrowserHeight()-object.offsetHeight)/2+topPos;}
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(eXo.core.I18n.isLT()&&isNaN(parseInt(this.dragObject.style.left)))this.dragObject.style.left="0px";if(eXo.core.I18n.isRT()&&isNaN(parseInt(this.dragObject.style.right)))this.dragObject.style.right="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=eXo.core.I18n.isRT()?parseInt(dragObject.style.right):parseInt(dragObject.style.left);if(eXo.core.I18n.isLT())dragObject.style["left"]=x+eXo.core.Mouse.deltax+"px";else dragObject.style["right"]=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()){if(eXo.core.I18n.isLT())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){}}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.lang;}
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,isdev,debug,nocache){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');eXo.core.Using.register('eXo.gadgets.Gadgets','/eXoResources/javascript/eXo/gadget/Gadgets.js');eXo.core.Using.register('eXo.gadgets.ExoBasedUserPrefStore','/eXoResources/javascript/eXo/gadget/ExoBasedUserPrefStore.js');eXo.core.Using("rpc");eXo.core.Using("eXo.gadgets.Gadgets");eXo.core.Using("eXo.gadgets.ExoBasedUserPrefStore");}
var language=eXo.core.I18n.getLanguage();gadgets.container.setLanguage(language);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;gadget.debug=debug;gadget.nocache=nocache;gadget.isdev=isdev;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");var gadgetControl=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadget,"div","GadgetControl");if(portletFragment==null){uiGadget.onmouseover=eXo.gadget.UIGadget.showGadgetControl;uiGadget.onmouseout=eXo.gadget.UIGadget.hideGadgetControl;}else if(gadgetControl){gadgetControl.style.display="block";var gadgetTitle=eXo.core.DOMUtil.findFirstDescendantByClass(gadgetControl,"div","GadgetTitle");gadgetTitle.style.display="block";if(metadata&&metadata.title!=null&&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(this.confirmDeleteGadget)){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,isRTL){if(popup.containerId){var container=document.getElementById(popup.containerId);container.style.position="relative";}
popup.style.position="absolute";popup.style.top=y+"px";if(isRTL){popup.style.right=x+"px";popup.style.left="";}
else{popup.style.left=x+"px";popup.style.right="";}};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";if(!isShowMask)isShowMask=false;popup.isShowMask=isShowMask;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&&document.documentElement.scrollTop)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";}
if(eXo.core.DOMUtil.hasClass(offsetParent,"UIMaskWorkspace")){popup.style.top=Math.ceil((offsetParent.offsetHeight-popup.offsetHeight)/2)+"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.isIE6()&&eXo.core.I18n.isRT()){var right=document.getElementById("UIWorkingWorkspace").style.marginRight;if(right&&right.length>0){right=parseInt(right);}
var pos=Math.ceil((offsetParent.offsetWidth-popup.offsetWidth)/2);if(right>0)pos+=right;popup.style.right=pos+"px";popup.style.left="";}}
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 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.webui.UIVerticalScroller.loopCount=0;eXo.webui.UIVerticalScroller.maxLoopTime=10;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||(container.style.display!="block"))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=null;eXo.webui.UIVerticalScroller.loopCount++;if(eXo.webui.UIVerticalScroller.loopStream)clearTimeout(this.loopStream);for(var i=0;i<itemSize;++i){if((items[i].style.display=="block")&&(index==null))index=i;var iframe=DOMUtil.findFirstDescendantByClass(items[i],"iframe","gadgets-gadget");if((!iframe||!iframe.height)&&(eXo.webui.UIVerticalScroller.loopCount<eXo.webui.UIVerticalScroller.maxLoopTime)){eXo.webui.UIVerticalScroller.loopStream=setTimeout("eXo.webui.UIVerticalScroller.refreshScroll("+id+");",200);return;}}
this.loopCount=0;if(index==null)index=0;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;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,isRTL){this.superClass.setPosition(popupMenu,x,y,isRTL);};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.onclick){menuItem.onclick=function(e){link.onclick();return;}}};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";object.style.visibility="hidden";};UIPopupMenu.prototype.show=function(object){if(typeof(object)=="string")object=document.getElementById(object);object.style.display="block";object.style.visibility="";};eXo.webui.UIPopupMenu=new UIPopupMenu();function UIDropDownControl(){};UIDropDownControl.prototype.init=function(id,limitHeight){this.limitHeight=limitHeight;};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";dropDownAnchor.style.visibility="visible";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=this.limitHeight;if(!visibleHeight||visibleHeight==0)visibleHeight=Browser.getBrowserHeight()-Browser.findPosY(middleCont);var scrollHeight=middleCont.scrollHeight;if(scrollHeight>(visibleHeight-40)){topCont.style.display="block";bottomCont.style.display="block";middleCont.style.height=visibleHeight-topCont.offsetHeight-bottomCont.offsetHeight+"px";topCont.onclick=function(event){event=event||window.event;event.cancelBubble=true;};bottomCont.onclick=function(event){event=event||window.event;event.cancelBubble=true;}}else{topCont.style.display="none";bottomCont.style.display="none";middleCont.scrollTop=0;middleCont.style.height="auto";}
DOMUtil.listHideElements(dropDownAnchor);}
else{dropDownAnchor.style.display="none";dropDownAnchor.style.visibility="hidden";}}};UIDropDownControl.prototype.hide=function(obj){if(typeof(obj)=="string")obj=document.getElementById(obj);obj.style.display="none";};UIDropDownControl.prototype.onclickEvt=function(obj,evt){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 ctxMenuContainer=eXo.core.DOMUtil.findFirstChildByClass(contextMenu,"div","UIContextMenuContainer");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;if(eXo.core.I18n.isRT()){var scrollWidth=16;if(eXo.core.Browser.getBrowserType()=="mozilla")scrollWidth=0;intLeft=contextMenu.offsetParent.offsetWidth-intLeft+fixWidthForIE7+scrollWidth;var clickCenter=eXo.core.DOMUtil.findFirstDescendantByClass(contextMenu,"div","ClickCenterBottom");if(clickCenter){var clickCenterWidth=clickCenter?parseInt(eXo.core.DOMUtil.getStyle(clickCenter,"marginRight")):0;intLeft+=(ctxMenuContainer.offsetWidth-2*clickCenterWidth);}}
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;}
if(eXo.core.I18n.isLT()){contextMenu.style.left=eXo.core.Browser.getBrowserWidth()*0.5+"px";ctxMenuContainer.style.width="auto";ctxMenuContainer.style.width=ctxMenuContainer.offsetWidth+2+"px";contextMenu.style.left=intLeft+"px";}else{contextMenu.style.right=eXo.core.Browser.getBrowserWidth()*0.5+"px";ctxMenuContainer.style.width="auto";ctxMenuContainer.style.width=ctxMenuContainer.offsetWidth+2+"px";contextMenu.style.right=intLeft+"px";}
ctxMenuContainer.style.width=ctxMenuContainer.offsetWidth+"px";contextMenu.style.top=intTop+"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";eXo.core.DOMUtil.removeClass(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;}},test:function(){document.title=new Date().getTime();},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 uiWindow=DOMUtil.findAncestorByClass(portletWindow,"UIWindow");if(uiWindow){if(!uiWindow.resizeCallback)uiWindow.resizeCallback=new eXo.core.HashMap();uiWindow.resizeCallback.put(DOMUtil.generateId(windowId),eXo.webui.UIDashboard.initHeight);}
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"){if(eXo.core.I18n.isLT())uiContainer.style.marginLeft="0px";else uiContainer.style.marginRight="0px";}else{if(eXo.core.I18n.isLT())uiContainer.style.marginLeft="211px";else uiContainer.style.marginRight="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.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,uiWindow;if(typeof(windowId)!="string"){uiWindow=eXo.desktop.UIWindow.portletWindow;portletWindow=document.getElementById(uiWindow.id.replace(/^UIWindow-/,""));}else{portletWindow=document.getElementById(windowId);uiWindow=DOMUtil.findAncestorByClass("UIWindow");}
var uiDashboard=DOMUtil.findFirstDescendantByClass(portletWindow,"div","UIDashboard");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;if(uiWindow&&uiWindow.style.display=="none"){windowHeight=parseInt(DOMUtil.getStyle(portletFragment,"height"));}
var middleItemContHeight=windowHeight-minusHeight
-parseInt(DOMUtil.getStyle(itemCont,"paddingTop"))
-parseInt(DOMUtil.getStyle(itemCont,"paddingBottom"))
-5;if(middleItemContHeight<0){middleItemContHeight=0;}
middleItemCont.style.height=middleItemContHeight+"px";if(middleItemCont.offsetHeight>0){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";middleItemCont.scrollTop=0;}}}},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";if(eXo.core.I18n.isLT())uiContainer.style.marginLeft="0px";else uiContainer.style.marginRight="0px";}else{uiSelectContainer.style.display="block";url+='&isShow=true';addButton.style.visibility="hidden";if(eXo.core.I18n.isLT())uiContainer.style.marginLeft="211px";else uiContainer.style.marginRight="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\" ><span></span></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();\"><span></span></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\"><span></span></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;this.blocksToUpdate[i].scripts=eXo.core.DOMUtil.findDescendantsByTagName(div[1],"script");}}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(eXo.i18n.I18NMessage.getMessage("TargetBlockNotFound",new Array(blockToUpdate.blockId)));var newData=eXo.core.DOMUtil.findDescendantById(blockToUpdate.data,blockToUpdate.blockId);if(newData==null)alert(eXo.i18n.I18NMessage.getMessage("BlockUpdateNotFound",new Array(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(eXo.i18n.I18NMessage.getMessage("SessionTimeout")))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=this.previewTitle;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='';window.location=url+'&skin='+skin;};UIPortal.prototype.changeLanguage=function(url){var language='';if(eXo.webui.UIItemSelector.SelectedItem!=undefined){language=eXo.webui.UIItemSelector.SelectedItem.option;}
if(language==undefined)language='';window.location=url+'&language='+language;};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;};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";if(document.documentElement&&document.documentElement.scrollTop){uiWorkspace.style.top=document.documentElement.scrollTop+"px";}else{uiWorkspace.style.top=document.body.scrollTop+"px";}
if(eXo.core.Browser.getBrowserType()=="ie"&&eXo.core.I18n.isRT()){uiWorkspace.style.width=width+1+"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";dropDownAnchors[i].style.visibility="hidden";}}
var popupWindows=eXo.core.DOMUtil.findDescendantsByClass(document,"div","UIPopupWindow");for(var i=0;i<popupWindows.length;i++){if(popupWindows[i].style.display!="none"){eXo.webui.UIPopupWindow.show(popupWindows[i],popupWindows[i].isShowMask);}}
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){if(eXo.core.I18n.isLT())uiWorkspace.style.marginLeft=controlWorkspaceWidth+"px";else uiWorkspace.style.marginRight=controlWorkspaceWidth+"px";}else{if(eXo.core.I18n.isLT())uiWorkspace.style.marginLeft="0px";else uiWorkspace.style.marginRight="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);verticalScroll.scrollComponent(middleCont.id,isUp,step);document.onmouseup=verticalScroll.cancelScroll;};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){verticalScroll.cancelScroll();}
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",eXo.core.I18n.isLT()?"left":"right","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";if(eXo.core.I18n.isLT())cloneObject.style.left=originalDragObjectLeft+"px";else cloneObject.style.right=(Browser.getBrowserWidth()-originalDragObjectLeft-dragObject.offsetWidth)+"px";cloneObject.style.top=(PortalDragDrop.originalDragObjectTop-document.documentElement.scrollTop)+"px";cloneObject.style.opacity=0.5;cloneObject.style.filter="alpha(opacity=50)";cloneObject.style.width=PortalDragDrop.backupDragObjectWidth+"px";}
if(eXo.core.I18n.isRT()&&Browser.isIE6()&&DOMUtil.findFirstChildByClass(dragObject,"div","CONTROL-BLOCK")){dragObject.style.right=parseInt(dragObject.style.right)
+document.getElementById("UIControlWorkspace").offsetWidth+"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);}
var srcElement=dndEvent.dragObject;srcElement.style.width="auto";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";if(eXo.core.I18n.isLT())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";if(eXo.core.I18n.isLT())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.isIE6()){container.style.width=item.offsetWidth+"px";}else{container.style.minWidth=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 offParent=item.offsetParent;var y=item.offsetHeight+item.offsetTop;var x=item.offsetLeft+2;if(eXo.core.I18n.isRT()){x=eXo.core.Browser.findPosX(offParent)+offParent.offsetWidth-eXo.core.Browser.findPosX(item)-item.offsetWidth;}
eXo.portal.UIPortalNavigation.superClass.setPosition(menuItemContainer,x,y,eXo.core.I18n.isRT());eXo.portal.UIPortalNavigation.superClass.show(menuItemContainer);menuItemContainer.style.width=menuItemContainer.offsetWidth-parseInt(DOMUtil.getStyle(menuItemContainer,"borderLeftWidth"))
-parseInt(DOMUtil.getStyle(menuItemContainer,"borderRightWidth"))+"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.show(menuItemContainer);var posRight=eXo.core.Browser.getBrowserWidth()-eXo.core.Browser.findPosX(menuItem)-menuItem.offsetWidth;var rootX=(eXo.core.I18n.isLT()?eXo.core.Browser.findPosX(menuItem):posRight);if(x+menuItemContainer.offsetWidth+rootX>eXo.core.Browser.getBrowserWidth()){x-=(menuItemContainer.offsetWidth+menuItem.offsetWidth);}
this.superClass.setPosition(menuItemContainer,x,y,eXo.core.I18n.isRT());};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;if(this.menuItemContainer){var menuItemContainer=this.menuItemContainer;menuItemContainer.style.display="block";menuItemContainer.style.visibility="";var x=this.offsetWidth;var posRight=eXo.core.Browser.getBrowserWidth()-eXo.core.Browser.findPosX(this)-this.offsetWidth;var rootX=(eXo.core.I18n.isLT()?eXo.core.Browser.findPosX(this):posRight);if(x+menuItemContainer.offsetWidth+rootX>eXo.core.Browser.getBrowserWidth()){x-=(menuItemContainer.offsetWidth+this.offsetWidth);}
if(eXo.core.I18n.isLT()){var padWidth=eXo.core.Browser.findPosX(this)-eXo.core.Browser.findPosX(menuItemContainer.offsetParent);menuItemContainer.style.left=x+padWidth+"px";}else{var padWidth=(eXo.core.Browser.findPosX(menuItemContainer.offsetParent)+menuItemContainer.offsetParent.offsetWidth)
-(eXo.core.Browser.findPosX(this)+this.offsetWidth);menuItemContainer.style.right=x+padWidth+"px";}
eXo.portal.UIExoStartMenu.createSlide(this);eXo.portal.UIExoStartMenu.superClass.pushVisibleContainer(this.menuItemContainer.id);var y;var browserHeight=eXo.core.Browser.getBrowserHeight();var hline=eXo.core.DOMUtil.findFirstChildByClass(this.parentNode,"div","HLineSeparator");if(hline){var posParent=eXo.portal.UIExoStartMenu.findPositionParent(this);var objTop=eXo.core.Browser.findPosY(this);y=objTop-eXo.core.Browser.findPosY(posParent);var topPos;if(document.documentElement&&document.documentElement.scrollTop){topPos=document.documentElement.scrollTop;}else{topPos=document.body.scrollTop;}
if(objTop+menuItemContainer.offsetHeight>=browserHeight){y+=(this.offsetHeight-menuItemContainer.offsetHeight);if(y+(eXo.core.Browser.findPosY(posParent)-topPos)<0){var objBottom=objTop+this.offsetHeight;y+=(browserHeight-objBottom)-(browserHeight-menuItemContainer.offsetHeight)/2+topPos;}}}else{var parentMenu=eXo.core.DOMUtil.findAncestorByClass(this,"MenuItemContainer");var blockMenu=eXo.core.DOMUtil.findAncestorByClass(this,"BlockMenu");var objTop=eXo.core.Browser.findPosY(this);y=objTop-eXo.core.Browser.findPosY(parentMenu)-blockMenu.scrollTop;if(y+menuItemContainer.offsetHeight+15>browserHeight){y+=(this.offsetHeight-menuItemContainer.offsetHeight);if(y<=0)y=1;}}
menuItemContainer.style.top=y+"px";}};UIExoStartMenu.prototype.findPositionParent=function(comp){var pr=comp.parentNode;while(pr){if((pr.style.position!="")&&(pr.style.position!="static"))return pr;pr=pr.parentNode;}
return null;}
UIExoStartMenu.prototype.createSlide=function(menuItem){var menuItemContainer=menuItem.menuItemContainer;var icon=eXo.core.DOMUtil.findFirstDescendantByClass(menuItem,"div","Icon");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(!blockMenu.id)blockMenu.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";blockMenu.style.overflowY="hidden";topElement.style.display="block";bottomElement.style.display="block";if(!menuContainer.curentHeight||(menuContainer.curentHeight!=curentHeight)){eXo.portal.UIExoStartMenu.initSlide(menuContainer,curentHeight);}
topElement.onmousedown=function(evt){if(!evt)evt=window.event;evt.cancelBubble=true;eXo.portal.VerticalScrollManager.scrollComponent(blockMenu.id,true,15);};topElement.onmouseup=function(evt){if(!evt)evt=window.event;evt.cancelBubble=true;eXo.portal.VerticalScrollManager.cancelScroll();};topElement.onclick=function(event){event=event||window.event;event.cancelBubble=true;};bottomElement.onmousedown=function(evt){if(!evt)evt=window.event;evt.cancelBubble=true;eXo.portal.VerticalScrollManager.scrollComponent(blockMenu.id,false,15);};bottomElement.onmouseup=function(evt){if(!evt)evt=window.event;evt.cancelBubble=true;eXo.portal.VerticalScrollManager.cancelScroll();};bottomElement.onclick=function(event){event=event||window.event;event.cancelBubble=true;};}else{blockMenu.scrollTop=0;blockMenu.style.height=menuContainer.offsetHeight+"px";blockMenu.style.overflowY="";menuContainer.curentHeight=null;topElement.style.display="none";bottomElement.style.display="none";}};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.initSlide=function(menuContainer,clipBottom){menuContainer.curentHeight=clipBottom;menuContainer.style.top=0+"px";};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;if(eXo.core.Browser.isIE7()&&eXo.core.I18n.isRT()){w=menuCenter.offsetWidth;}
menuTop.style.width=w+"px";menuBottom.style.width=w+"px";menuCenter.style.width=w+"px";menuItemContainer.resized=true;};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"){var hiddenAttribute=eval('('+eXo.core.DOMUtil.findFirstChildByClass(element,"div","").innerHTML+')');element.title=hiddenAttribute.modeTitle;}
if(element.className=="ControlIcon OverMaximizedIcon"){var hiddenAttribute=eval('('+eXo.core.DOMUtil.findFirstChildByClass(element,"div","").innerHTML+')');element.title=hiddenAttribute.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;}
ImplodeExplode=function(){};ImplodeExplode.prototype.doInit=function(uiWindow,clickedElement,containerId,numberOfFrame){var container=document.getElementById(containerId);this.object=uiWindow;this.object.loop=numberOfFrame;this.object.iconY=eXo.core.Browser.findPosYInContainer(clickedElement,container);this.object.iconX=eXo.core.Browser.findPosXInContainer(clickedElement,container,eXo.core.I18n.isRT());this.object.iconW=clickedElement.offsetWidth;this.object.iconH=clickedElement.offsetHeight;if(this.object.animation==null){this.object.animation=document.createElement("div");container.appendChild(this.object.animation);this.object.animation.style.display="block";this.object.animation.style.background="#ffffff";this.object.animation.style.position="absolute";eXo.core.Browser.setOpacity(this.object.animation,50);this.object.animation.style.zIndex=this.object.maxIndex;}};ImplodeExplode.prototype.doCenterInit=function(uiWindow,clickedElement,containerId,numberOfFrame){var container=document.getElementById(containerId);this.object=uiWindow;this.object.loop=numberOfFrame;if(this.object.style.display=="none"){this.object.iconY=this.object.originalY+this.object.originalH/2;this.object.iconX=this.object.originalX+this.object.originalW/2;}else{this.object.iconY=eXo.core.Browser.findPosYInContainer(this.object,container)+this.object.offsetHeight/2;this.object.iconX=eXo.core.Browser.findPosXInContainer(this.object,container,eXo.core.I18n.isRT())+this.object.offsetWidth/2;}
this.object.iconW=1;this.object.iconH=1;if(this.object.animation==null){this.object.animation=document.createElement("div");container.appendChild(this.object.animation);this.object.animation.style.display="block";this.object.animation.style.background="white";this.object.animation.style.position="absolute";eXo.core.Browser.setOpacity(this.object.animation,40);this.object.animation.style.zIndex=this.object.maxIndex;}
uiWindow=this.object;};ImplodeExplode.prototype.explode=function(uiWindow,clickedElement,containerId,numberOfFrame,type){if(!this.busy){if(type){eXo.animation.ImplodeExplode.doCenterInit(uiWindow,clickedElement,containerId,numberOfFrame);}else{eXo.animation.ImplodeExplode.doInit(uiWindow,clickedElement,containerId,numberOfFrame);}
this.object.step=numberOfFrame-1;this.object.isShowed=true;eXo.animation.ImplodeExplode.doExplode(containerId);}};ImplodeExplode.prototype.implode=function(uiWindow,clickedElement,containerId,numberOfFrame,type){if(!this.busy){if(type){eXo.animation.ImplodeExplode.doCenterInit(uiWindow,clickedElement,containerId,numberOfFrame);}else{eXo.animation.ImplodeExplode.doInit(uiWindow,clickedElement,containerId,numberOfFrame);}
this.object.originalY=this.object.offsetTop;if(eXo.core.I18n.isLT())this.object.originalX=this.object.offsetLeft;else this.object.originalX=eXo.core.Browser.findPosXInContainer(this.object,this.object.offsetParent,true);this.object.originalW=this.object.offsetWidth;this.object.originalH=this.object.offsetHeight;this.object.step=1;if(this.object.style.display=="block"){this.object.style.display="none";}
this.object.isShowed=false;eXo.animation.ImplodeExplode.doImplode(containerId);}};ImplodeExplode.prototype.doImplode=function(containerId){this.busy=true;var container=document.getElementById(containerId);var win=this.object;var Y0=win.originalY+(win.step*(win.iconY-win.originalY))/win.loop;var X0=win.originalX+((Y0-win.originalY)*(win.iconX-win.originalX))/(win.iconY-win.originalY);var W0=((win.originalW-win.iconW)*(win.loop-win.step))/win.loop+win.iconW;var H0=((win.originalH-win.iconH)*(win.loop-win.step))/win.loop+win.iconH;win.animation.style.top=Y0+"px";if(eXo.core.I18n.isLT())win.animation.style.left=X0+"px";else win.animation.style.right=X0+"px";win.animation.style.width=W0+"px";win.animation.style.height=H0+"px";win.step++;if(W0>win.iconW){setTimeout("eXo.animation.ImplodeExplode.doImplode('"+containerId+"');",0);}else{container.removeChild(win.animation);win.animation=null;this.busy=false;}};ImplodeExplode.prototype.doExplode=function(containerId){this.busy=true;var container=document.getElementById(containerId);var win=this.object;var Y0=win.originalY+(win.step*(win.iconY-win.originalY))/win.loop;var X0=win.originalX+((Y0-win.originalY)*(win.iconX-win.originalX))/(win.iconY-win.originalY);var W0=((win.originalW-win.iconW)*(win.loop-win.step))/win.loop+win.iconW;var H0=((win.originalH-win.iconH)*(win.loop-win.step))/win.loop+win.iconH;win.animation.style.top=Y0+"px";if(eXo.core.I18n.isLT())win.animation.style.left=X0+"px";else win.animation.style.right=X0+"px";win.animation.style.width=W0+"px";win.animation.style.height=H0+"px";win.step--;if(W0<win.originalW){setTimeout("eXo.animation.ImplodeExplode.doExplode('"+containerId+"');",0);}else{win.style.top=Y0+"px";if(eXo.core.I18n.isLT())win.style.left=X0+"px";else win.style.right=X0+"px";win.style.width=(!win.maximized)?W0+"px":win.style.width;win.style.height=H0+"px";win.style.display="block";if(win.maximized){var pageDesktop=eXo.core.DOMUtil.findAncestorByClass(win,"UIPageDesktop");win.style.height="100%";var resizeBlock=eXo.core.DOMUtil.findFirstDescendantByClass(win,"div","UIResizableBlock");var topEle=eXo.core.DOMUtil.findFirstChildByClass(win,"div","WindowBarLeft");var bottomEle=eXo.core.DOMUtil.findFirstChildByClass(win,"div","BottomDecoratorLeft");if(resizeBlock)resizeBlock.style.height=win.clientHeight-topEle.offsetHeight-bottomEle.offsetHeight+"px";}
container.removeChild(win.animation);win.animation=null;this.busy=false;}};eXo.animation.ImplodeExplode=new ImplodeExplode();function UIWindow(){this.maxIndex=0;};UIWindow.prototype.init=function(popup,isShow,posX,posY){this.superClass=eXo.webui.UIPopup;if(typeof(popup)=="string")popup=document.getElementById(popup);if(popup==null)return;var DOMUtil=eXo.core.DOMUtil;var uiPageDesktop=document.getElementById("UIPageDesktop");var uiApplication=DOMUtil.findFirstDescendantByClass(popup,"div","UIApplication");if(!uiApplication)return;if(popup.style.zIndex=="")popup.style.zIndex=++eXo.webui.UIPopup.zIndex;popup.onmousedown=this.mousedownOnPopup;var windowPortletInfo=DOMUtil.findFirstDescendantByClass(popup,"div","WindowPortletInfo");this.superClass.setPosition(popup,posX,posY,eXo.core.I18n.isRT());try{windowPortletInfo.onmousedown=this.initDND;}catch(err){alert("Error In DND: "+err);}
var windowPortletControl=DOMUtil.findFirstDescendantByClass(popup,"div","WindowPortletControl");var minimizedIcon=DOMUtil.findFirstDescendantByClass(popup,"div","MinimizedIcon");minimizedIcon.onmouseup=this.minimizeWindowEvt;var maximizedIcon=DOMUtil.findFirstDescendantByClass(popup,"div","MaximizedIcon");maximizedIcon.onmouseup=this.maximizeWindowEvt;var resizeArea=DOMUtil.findFirstDescendantByClass(popup,"div","ResizeArea");resizeArea.onmousedown=this.startResizeWindowEvt;if(posX==posY&&posX==0){popup.style.width="100%";popup.maximized=true;this.posX=15;this.posY=15;this.originalWidth=800;this.originalHeight=400;maximizedIcon.className="ControlIcon RestoreIcon";maximizedIcon.title=maximizedIcon.getAttribute("modeTitle");setTimeout(eXo.desktop.UIWindow.toForcus,1000);}
popup.resizeCallback=new eXo.core.HashMap();};UIWindow.prototype.fixHeight=function(portletId){var portlet=document.getElementById(portletId);var delta=portlet.parentNode.offsetHeight-portlet.offsetHeight;var resizeObj=eXo.core.DOMUtil.findDescendantsByClass(portlet,'div','UIResizableBlock');for(var i=0;i<resizeObj.length;i++){var nHeight=parseInt(resizeObj[i].offsetHeight)+delta;if(nHeight<0)nHeight="0px";resizeObj[i].style.height=nHeight+'px';}};UIWindow.prototype.toForcus=function(){var DOMUtil=eXo.core.DOMUtil;var uiPageDesktop=document.getElementById("UIPageDesktop");var uiWidgets=DOMUtil.findDescendantsByClass(uiPageDesktop,"div","UIGadget");if(uiWidgets.length){for(var i=0;i<uiWidgets.length;i++){uiWidgets[i].style.zIndex=1;}}};UIWindow.prototype.mousedownOnPopup=function(evt){var isMaxZIndex=eXo.desktop.UIDesktop.isMaxZIndex(this);if(!isMaxZIndex)eXo.desktop.UIDesktop.resetZIndex(this);};UIWindow.prototype.maximizeWindowEvt=function(evt){var DOMUtil=eXo.core.DOMUtil;var portletWindow=DOMUtil.findAncestorByClass(this,"UIResizeObject");var uiWindow=eXo.desktop.UIWindow;var uiPageDesktop=document.getElementById("UIPageDesktop");var desktopWidth=uiPageDesktop.offsetWidth;var desktopHeight=uiPageDesktop.offsetHeight;var uiResizableBlock=DOMUtil.findDescendantsByClass(portletWindow,"div","UIResizableBlock");if(portletWindow.maximized){portletWindow.maximized=false;portletWindow.style.top=uiWindow.posY+"px";if(eXo.core.I18n.isLT())portletWindow.style.left=uiWindow.posX+"px";else portletWindow.style.right=uiWindow.posX+"px";portletWindow.style.width=uiWindow.originalWidth+"px";for(var i=0;i<uiResizableBlock.length;i++){if(uiResizableBlock[i].originalHeight){uiResizableBlock[i].style.height=uiResizableBlock[i].originalHeight+"px";}else{uiResizableBlock[i].style.height=400+"px";}}
this.className="ControlIcon MaximizedIcon";}else{uiWindow.backupObjectProperties(portletWindow,uiResizableBlock);portletWindow.style.top="0px";if(eXo.core.I18n.isLT())portletWindow.style.left="0px";else portletWindow.style.right="0px";portletWindow.style.width="100%";portletWindow.style.height="auto";var delta=eXo.core.Browser.getBrowserHeight()-portletWindow.clientHeight;for(var i=0;i<uiResizableBlock.length;i++){uiResizableBlock[i].style.height=(parseInt(uiResizableBlock[i].clientHeight)+delta)+"px";}
portletWindow.style.height=portletWindow.clientHeight+"px";portletWindow.maximized=true;this.className="ControlIcon RestoreIcon";}
eXo.desktop.UIWindow.saveWindowProperties(portletWindow);eXo.portal.UIPortalControl.initAllManagers();};UIWindow.prototype.minimizeWindowEvt=function(evt){var DOMUtil=eXo.core.DOMUtil;var popup=DOMUtil.findAncestorByClass(this,"UIDragObject");var windows=DOMUtil.getChildrenByTagName(popup.parentNode,"div");var index=0;for(var j=0;j<windows.length;j++){if(popup==windows[j]){index=j;break;}}
var iconContainer=document.getElementById("IconContainer");var children=DOMUtil.findChildrenByClass(iconContainer,"img","Icon");eXo.desktop.UIDesktop.showHideWindow(popup,children[index+1]);};UIWindow.prototype.startResizeWindowEvt=function(evt){var portletWindow=eXo.core.DOMUtil.findAncestorByClass(this,"UIResizeObject");var uiWindow=eXo.desktop.UIWindow;if(portletWindow.maximized||uiWindow.portletWindow)return;if(!evt)evt=window.event;var uiPageDesktop=document.getElementById("UIPageDesktop");var uiApplication=eXo.core.DOMUtil.findFirstDescendantByClass(portletWindow,"div","UIApplication");var hasResizableClass=eXo.core.DOMUtil.hasDescendantClass(uiApplication,"UIResizableBlock");if(hasResizableClass)uiApplication.style.overflow="hidden";var portlet=eXo.core.DOMUtil.getChildrenByTagName(uiApplication,"div")[0];uiWindow.resizableObject=eXo.core.DOMUtil.findDescendantsByClass(portletWindow,"div","UIResizableBlock");uiWindow.initMouseX=evt.clientX;uiWindow.initMouseY=evt.clientY;uiWindow.backupObjectProperties(portletWindow,uiWindow.resizableObject);uiWindow.portletWindow=portletWindow;uiPageDesktop.onmousemove=uiWindow.resizeWindowEvt;uiPageDesktop.onmouseup=uiWindow.endResizeWindowEvt;};UIWindow.prototype.resizeWindowEvt=function(evt){if(!evt)evt=window.event;var uiWindow=eXo.desktop.UIWindow;var uiPageDesktop=document.getElementById("UIPageDesktop");if(eXo.core.I18n.isLT()){var deltaX=evt.clientX-uiWindow.initMouseX;var deltaY=evt.clientY-uiWindow.initMouseY;}else{var deltaX=uiWindow.initMouseX-evt.clientX;var deltaY=evt.clientY-uiWindow.initMouseY;}
var uiApplication=eXo.core.DOMUtil.findFirstDescendantByClass(uiWindow.portletWindow,"div","UIApplication");uiWindow.portletWindow.style.width=Math.max(200,(uiWindow.originalWidth+deltaX))+"px";for(var i=0;i<uiWindow.resizableObject.length;i++){uiWindow.resizableObject[i].style.height=Math.max(10,(uiWindow.resizableObject[i].originalHeight+deltaY))+"px";}};UIWindow.prototype.endResizeWindowEvt=function(evt){var uiWindow=eXo.desktop.UIWindow.portletWindow;for(var name in uiWindow.resizeCallback.properties){var method=uiWindow.resizeCallback.get(name);if(typeof(method)=="function")method(evt);}
eXo.portal.UIPortalControl.initAllManagers();eXo.desktop.UIWindow.portletWindow=null;eXo.desktop.UIWindow.resizableObject=null;this.onmousemove=null;this.onmouseup=null;};UIWindow.prototype.backupObjectProperties=function(windowPortlet,resizableComponents){var UIWindow=eXo.desktop.UIWindow;for(var i=0;i<resizableComponents.length;i++){resizableComponents[i].originalWidth=resizableComponents[i].offsetWidth;resizableComponents[i].originalHeight=resizableComponents[i].offsetHeight;}
UIWindow.posX=eXo.desktop.UIDesktop.findPosXInDesktop(windowPortlet,eXo.core.I18n.isRT());UIWindow.posY=eXo.desktop.UIDesktop.findPosYInDesktop(windowPortlet);UIWindow.originalWidth=windowPortlet.offsetWidth;UIWindow.originalHeight=windowPortlet.offsetHeight;};UIWindow.prototype.initDND=function(e){var DOMUtil=eXo.core.DOMUtil;var DragDrop=eXo.core.DragDrop;var clickBlock=this;var dragBlock=DOMUtil.findAncestorByClass(this,"UIDragObject");var uiPageDeskTop=document.getElementById("UIPageDesktop");var maxIndex=eXo.desktop.UIWindow.maxIndex;var dragObjects=DOMUtil.findDescendantsByClass(uiPageDeskTop,"div","UIDragObject");if(dragObjects.length>0){for(var i=0;i<dragObjects.length;i++){var zIndex=dragObjects[i].style.zIndex||1;if(maxIndex<zIndex)maxIndex=parseInt(zIndex);}
maxIndex+=1;dragBlock.style.zIndex=maxIndex;}
if(!dragBlock.maximized){var uiApplication=DOMUtil.findFirstDescendantByClass(dragBlock,"div","UIApplication");var hiddenElements=new Array();DragDrop.initCallback=function(dndEvent){if(eXo.core.Browser.getBrowserType()=="mozilla"&&DOMUtil.getStyle(uiApplication,"overflow")=="auto"){hiddenElements.push(uiApplication);uiApplication.style.overflow="hidden";}
uiAppDescendants=DOMUtil.findDescendantsByTagName(uiApplication,"div");for(var i=0;i<uiAppDescendants.length;i++){if(DOMUtil.getStyle(uiAppDescendants[i],"overflow")=="auto"){hiddenElements.push(uiAppDescendants[i]);uiAppDescendants[i].style.overflow="hidden";}}};DragDrop.dragCallback=function(dndEvent){var dragObject=dndEvent.dragObject;var dragObjectY=eXo.core.Browser.findPosY(dragObject);var browserHeight=eXo.core.Browser.getBrowserHeight();var browserWidth=eXo.core.Browser.getBrowserWidth();var mouseX=eXo.core.Browser.findMouseXInPage(dndEvent.backupMouseEvent);if(dragObjectY<0){dragObject.style.top="0px";document.onmousemove=DragDrop.onDrop;}
if(dragObjectY>(browserHeight-25)){dragObject.style.top=(browserHeight-25)+"px";document.onmousemove=DragDrop.onDrop;}
var uiPageDesktop=document.getElementById("UIPageDesktop");var uiPageDesktopX=eXo.core.Browser.findPosX(uiPageDesktop);if(eXo.core.Browser.isIE7()){uiPageDesktopX=uiPageDesktopX/2;}
if((mouseX<uiPageDesktopX)||(mouseX>browserWidth)){document.onmousemove=DragDrop.onDrop;}};DragDrop.dropCallback=function(dndEvent){var dragObject=dndEvent.dragObject;eXo.desktop.UIWindow.saveWindowProperties(dragBlock);for(var i=0;i<hiddenElements.length;i++){hiddenElements[i].style.overflow="auto";}};DragDrop.init(null,clickBlock,dragBlock,e);}};UIWindow.prototype.saveWindowProperties=function(object,appStatus){var DOMUtil=eXo.core.DOMUtil;var uiPage=DOMUtil.findAncestorByClass(object,"UIPage");var uiPageIdNode=DOMUtil.findFirstDescendantByClass(uiPage,"div","id");containerBlockId=uiPageIdNode.innerHTML;var uiResizableBlock=DOMUtil.findFirstDescendantByClass(object,"div","UIResizableBlock");var params;if(!appStatus){params=[{name:"objectId",value:object.id.replace(/^UIWindow-/,"")},{name:"posX",value:(eXo.core.I18n.isLT()?parseInt(object.style.left):parseInt(object.style.right))},{name:"posY",value:parseInt(object.style.top)},{name:"zIndex",value:object.style.zIndex},{name:"windowWidth",value:object.offsetWidth},{name:"windowHeight",value:uiResizableBlock.offsetHeight}];}else{params=[{name:"objectId",value:object.id.replace(/^UIWindow-/,"")},{name:"appStatus",value:appStatus}];}
ajaxAsyncGetRequest(eXo.env.server.createPortalURL(containerBlockId,"SaveWindowProperties",true,params),true);};eXo.desktop.UIWindow=new UIWindow();function UIDesktop(){};UIDesktop.prototype.init=function(){var pageDesktop=document.getElementById("UIPageDesktop");if(pageDesktop){eXo.desktop.UIDesktop.fixDesktop();eXo.desktop.UIDockbar.init();var uiWindows=eXo.core.DOMUtil.findChildrenByClass(pageDesktop,"div","UIWindow");for(var i=0;i<uiWindows.length;i++){if(uiWindows[i].isFirstTime==false)continue;eXo.desktop.UIDesktop.backupWindowProperties(uiWindows[i]);}}};UIDesktop.prototype.fixDesktop=function(){var pageDesktop=document.getElementById("UIPageDesktop");var browserHeight=eXo.core.Browser.getBrowserHeight();if(pageDesktop)pageDesktop.style.height=browserHeight+"px";window.scroll(0,0);setTimeout("eXo.desktop.UIDockbar.resizeDockBar()",0);};UIDesktop.prototype.resetZIndex=function(windowObject){var windowsInDesktop=eXo.core.DOMUtil.getChildrenByTagName(windowObject.parentNode,"div");var maxZIndex=windowObject.style.zIndex;var uiPopupWindow=eXo.core.DOMUtil.findDescendantsByClass(windowObject.parentNode,'div','UIPopupWindow');for(var i=0;i<uiPopupWindow.length;i++){if(uiPopupWindow[i].style.display=="block")return;}
for(var i=0;i<windowsInDesktop.length;i++){if((windowsInDesktop[i].className.indexOf("UIWindow")>=0)||(windowsInDesktop[i].className.indexOf("UIWidget")>=0)){if(parseInt(maxZIndex)<parseInt(windowsInDesktop[i].style.zIndex)){maxZIndex=windowsInDesktop[i].style.zIndex;}}
if(windowsInDesktop[i].style.zIndex<0)windowsInDesktop[i].style.zIndex=1;}
windowObject.style.zIndex=parseInt(maxZIndex)+1;};UIDesktop.prototype.isMaxZIndex=function(object){var isMax=false;var DOMUtil=eXo.core.DOMUtil;var uiPageDesktop=document.getElementById("UIPageDesktop");var desktopApps=DOMUtil.getChildrenByTagName(uiPageDesktop,"div");var maxZIndex=parseInt(object.style.zIndex);for(var i=0;i<desktopApps.length;i++){if((desktopApps[i].className.indexOf("UIWindow")>=0)||(desktopApps[i].className.indexOf("UIWidget")>=0)){if(parseInt(desktopApps[i].style.zIndex)>maxZIndex)maxZIndex=desktopApps[i].style.zIndex;}}
if(object.style.zIndex==maxZIndex)isMax=true;return isMax;};UIDesktop.prototype.showHideWindow=function(uiWindow,clickedElement,mode){var DOMUtil=eXo.core.DOMUtil;if(typeof(uiWindow)=="string")this.object=document.getElementById(uiWindow);else this.object=uiWindow;var portletId=(this.object?this.object.id:uiWindow).replace(/^UIWindow-/,"");var portletFrag=DOMUtil.findFirstDescendantByClass(this.object,"div","PORTLET-FRAGMENT");var dockIcon=document.getElementById("DockItem"+portletId);var isMaxZIndex=eXo.desktop.UIDesktop.isMaxZIndex(this.object);if(!isMaxZIndex)eXo.desktop.UIDesktop.resetZIndex(this.object);var numberOfFrame=10;if(mode=="QUIT"){if(this.object.style.display=="block"){eXo.animation.ImplodeExplode.implode(this.object,clickedElement,"UIPageDesktop",numberOfFrame,false);this.object.isShowed=false;}
eXo.desktop.UIWindow.saveWindowProperties(this.object,"QUIT");if(dockIcon)DOMUtil.removeClass(dockIcon,"ShowIcon");return;}
if(this.object.style.display=="block"){eXo.animation.ImplodeExplode.implode(this.object,clickedElement,"UIPageDesktop",numberOfFrame,false);eXo.desktop.UIWindow.saveWindowProperties(this.object,"HIDE");this.object.isShowed=false;if(dockIcon)DOMUtil.addClass(dockIcon,"ShowIcon");}else{if(DOMUtil.getChildrenByTagName(portletFrag,"div").length<1){var uiPage=eXo.core.DOMUtil.findAncestorByClass(this.object,"UIPage");var uiPageIdNode=eXo.core.DOMUtil.findFirstDescendantByClass(uiPage,"div","id");containerBlockId=uiPageIdNode.innerHTML;var params=[{name:"objectId",value:portletId}];ajaxGet(eXo.env.server.createPortalURL(containerBlockId,"ShowPortlet",true,params));}
var uiDockBar=document.getElementById("UIDockBar");var uiPageDesktop=document.getElementById("UIPageDesktop");eXo.desktop.UIDockbar.resetDesktopShowedStatus(uiPageDesktop,uiDockBar);eXo.animation.ImplodeExplode.explode(this.object,clickedElement,"UIPageDesktop",numberOfFrame,false);eXo.desktop.UIWindow.saveWindowProperties(this.object,"SHOW");this.object.isShowed=true;if(dockIcon)DOMUtil.addClass(dockIcon,"ShowIcon");if(eXo.core.Browser.isIE6()){this.object.style.filter="";}}};UIDesktop.prototype.findPosXInDesktop=function(object,isRTL){var uiPageDesktop=eXo.core.DOMUtil.findAncestorByClass(object,"UIPageDesktop");return eXo.core.Browser.findPosXInContainer(object,uiPageDesktop,isRTL);};UIDesktop.prototype.findPosYInDesktop=function(object){var uiPageDesktop=eXo.core.DOMUtil.findAncestorByClass(object,"UIPageDesktop");var posYUIPageDesktop=eXo.core.Browser.findPosY(uiPageDesktop);var posYObject=eXo.core.Browser.findPosY(object);return(posYObject-posYUIPageDesktop);};UIDesktop.prototype.backupWindowProperties=function(uiWindow){uiWindow.originalX=eXo.desktop.UIDesktop.findPosXInDesktop(uiWindow,eXo.core.I18n.isRT());uiWindow.originalY=eXo.desktop.UIDesktop.findPosYInDesktop(uiWindow);uiWindow.originalW=uiWindow.offsetWidth;uiWindow.originalH=uiWindow.offsetHeight;uiWindow.style.visibility="visible";if(uiWindow.style.display=="")uiWindow.style.display="none";uiWindow.isShowed=false;uiWindow.isFirstTime=false;};UIDesktop.prototype.removeApp=function(uri){var result=ajaxAsyncGetRequest(uri,false);if(result=="OK"){var appId=uri.substr(uri.lastIndexOf("=")+1);eXo.desktop.UIDesktop.removeWindow("UIWindow-"+appId);eXo.desktop.UIDockbar.removeDockbarIcon("DockItem"+appId);}};UIDesktop.prototype.removeWindow=function(idWindow){var uiWindow=document.getElementById(idWindow);if(uiWindow)eXo.core.DOMUtil.removeElement(uiWindow);};UIDesktop.prototype.removeWindowContent=function(idWindow){var uiWindow=document.getElementById("UIWindow-"+idWindow);if(uiWindow){var portletFrag=eXo.core.DOMUtil.findFirstDescendantByClass(uiWindow,"div","PORTLET-FRAGMENT");for(var i=0;i<portletFrag.childNodes.length;i++){portletFrag.removeChild(portletFrag.childNodes[i]);}
portletFrag.innerHTML="<span></span>";eXo.desktop.UIDesktop.showHideWindow(uiWindow,document.getElementById("DockItem"+idWindow),"QUIT");}};eXo.desktop.UIDesktop=new UIDesktop();function UIDockbar(){this.curve=3;this.weight=2.3;this.isFirstTime=true;this.showDesktop=false;this.arrayImage=false;};UIDockbar.prototype.init=function(){var UIDockbar=eXo.desktop.UIDockbar;var uiDockbar=document.getElementById("UIDockBar");if(!uiDockbar)return;var imgObject=eXo.core.DOMUtil.findDescendantsByClass(uiDockbar,"img","Icon");UIDockbar.arrayImage=imgObject;uiDockbar.defaultIconSize=40;uiDockbar.originalBGDockbarHeight=47;if(imgObject.length>0&&imgObject[0].onmousemove==undefined)this.isFirstTime=true;if(this.isFirstTime==true){setTimeout("eXo.desktop.UIDockbar.waitOnLoad(eXo.desktop.UIDockbar.arrayImage)",0);this.isFirstTime=false;}
uiDockbar.originalDockbarHeight=uiDockbar.offsetHeight;var portletsViewer=document.getElementById("PortletsViewer");var gadgetsViewer=document.getElementById("GadgetsViewer");portletsViewer.onclick=this.viewPortlets;gadgetsViewer.onclick=this.viewGadgets;};UIDockbar.prototype.waitOnLoad=function(images){var UIDockbar=eXo.desktop.UIDockbar;for(var i=0;i<images.length;i++){images[i].onmousemove=UIDockbar.animationEvt;images[i].onmouseover=UIDockbar.iconOverEvt;images[i].onmouseout=UIDockbar.iconOutEvt;if(eXo.core.Browser.isIE6()){images[i].runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+images[i].src+"', sizingMethod='scale')";images[i].src="/eXoResources/skin/sharedImages/Blank.gif";}}};UIDockbar.prototype.startDockBarEvt=function(evt){evt.cancelBubble=true;document.oncontextmenu=document.body.oncontextmenu=function(){return false};var uiPageDesktop=document.getElementById("UIPageDesktop");uiPageDesktop.onmouseover=eXo.desktop.UIDockbar.endDockBarEvt;};UIDockbar.prototype.endDockBarEvt=function(){this.onmouseover=null;document.oncontextmenu=document.body.oncontextmenu=function(){return true};eXo.webui.UIRightClickPopupMenu.hideContextMenu("DockbarContextMenu");eXo.desktop.UIDockbar.hideNavigation();eXo.desktop.UIDockbar.reset();};UIDockbar.prototype.iconOverEvt=function(){var uiDockbar=document.getElementById("UIDockBar");var objectXInDockbar=eXo.core.Browser.findPosXInContainer(this,uiDockbar);var iconContainer=document.getElementById("IconContainer");var tooltip=this.nextSibling;eXo.webui.UIRightClickPopupMenu.hideContextMenu("DockbarContextMenu");eXo.desktop.UIDockbar.hideNavigation();tooltip.style.display="block";tooltip.style.top=(-tooltip.offsetHeight)+"px";tooltip.style.left=objectXInDockbar+"px";}
UIDockbar.prototype.iconOutEvt=function(){var uiDockbar=document.getElementById("UIDockBar");var objectXInDockbar=eXo.core.Browser.findPosXInContainer(this,uiDockbar);var iconContainer=document.getElementById("IconContainer");var tooltipObjects=eXo.core.DOMUtil.findChildrenByClass(iconContainer,"span","Tooltip");this.nextSibling.style.display="none";}
UIDockbar.prototype.viewPortlets=function(){var uiPageDesktop=document.getElementById("UIPageDesktop");var children=eXo.core.DOMUtil.findDescendantsByClass(uiPageDesktop,"div","UIWindow");var srcMonitoringImage="/eXoResources/skin/sharedImages/Icon80x80/Hide"+this.id+".png";var srcPortletsViewerImage="/eXoResources/skin/sharedImages/Icon80x80/Show"+this.id+".png";eXo.desktop.UIDockbar.showDesktop=false;for(var i=0;i<children.length;i++){if(children[i].style.display=="block"){children[i].style.display="none";children[i].isShowed=true;eXo.desktop.UIDockbar.showDesktop=false;}else{if(children[i].isShowed){children[i].style.display="block";eXo.desktop.UIDockbar.showDesktop=true;}}}
if(eXo.desktop.UIDockbar.showDesktop){if(eXo.core.Browser.isIE6()){this.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+srcMonitoringImage+"', sizingMethod='scale')";}else{this.src=srcMonitoringImage;}}else{if(eXo.core.Browser.isIE6()){this.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+srcPortletsViewerImage+"', sizingMethod='scale')";}else{this.src=srcPortletsViewerImage;}}};UIDockbar.prototype.viewGadgets=function(){var uiPageDesktop=document.getElementById("UIPageDesktop");var children=eXo.core.DOMUtil.findChildrenByClass(uiPageDesktop,"div","UIGadget");for(var i=0;i<children.length;i++){if(children[i].style.display!="none"){children[i].style.display="none";}else{children[i].style.display="block";}}};UIDockbar.prototype.animationEvt=function(e){var UIDockbar=eXo.desktop.UIDockbar;var curve=UIDockbar.curve;var weight=UIDockbar.weight;var fixBugImageElement=document.getElementById("FixBug");var uiPageDesktop=document.getElementById("UIPageDesktop");var selectedIconX=eXo.desktop.UIDesktop.findPosXInDesktop(this,eXo.core.I18n.isRT());var middleIcon=selectedIconX+(this.offsetWidth/2);var mouseX=eXo.core.Browser.findMouseRelativeX(uiPageDesktop,e);if(eXo.core.I18n.isRT())mouseX=uiPageDesktop.offsetWidth-mouseX;var distanceWeight=(middleIcon-mouseX)/(2*curve*(middleIcon-selectedIconX));var selectedIconIndex=UIDockbar.findIndex(this);var icons=eXo.core.DOMUtil.findChildrenByClass(this.parentNode,"img","Icon");var uiDockbar=document.getElementById("UIDockBar");var dockbarCenter=document.getElementById("DockbarCenter");fixBugImageElement.style.height=uiDockbar.defaultIconSize+(uiDockbar.defaultIconSize*(weight-1))+"px";dockbarCenter.style.height=uiDockbar.originalBGDockbarHeight+(uiDockbar.defaultIconSize*(weight-1))+"px";for(var i=0;i<icons.length;i++){var deltaCurve=Math.abs(selectedIconIndex-i);var size=uiDockbar.defaultIconSize;if(deltaCurve<curve){if(i==selectedIconIndex){size=Math.round(uiDockbar.defaultIconSize+
uiDockbar.defaultIconSize*(weight-1)*((curve-deltaCurve)/curve-Math.abs(distanceWeight)));distanceWeight*=-1;}else{size=Math.round(uiDockbar.defaultIconSize+
uiDockbar.defaultIconSize*(weight-1)*((curve-deltaCurve)/curve+distanceWeight));}}
icons[i].style.width=size+"px";icons[i].style.height=size+"px";}
UIDockbar.resizeDockBar();};UIDockbar.prototype.findIndex=function(object){var icons=eXo.core.DOMUtil.findChildrenByClass(object.parentNode,"img","Icon");for(var i=0;i<icons.length;i++){if(icons[i]==object)return i;}};UIDockbar.prototype.removeDockbarIcon=function(iconId){var icon=document.getElementById(iconId);if(icon){var toolTip=eXo.core.DOMUtil.findNextElementByTagName(icon,"span");if(icon.previousSibling.nodeType==3)eXo.core.DOMUtil.removeElement(icon.previousSibling);eXo.core.DOMUtil.removeElement(icon);eXo.core.DOMUtil.removeElement(toolTip);}};UIDockbar.prototype.reset=function(){var UIDockbar=eXo.desktop.UIDockbar;var uiDockbar=document.getElementById("UIDockBar");var dockbarCenter=document.getElementById("DockbarCenter");dockbarCenter.style.height=uiDockbar.originalBGDockbarHeight+"px";var iconContainer=document.getElementById("IconContainer");var icons=eXo.core.DOMUtil.findChildrenByClass(iconContainer,"img","Icon");for(var i=0;i<icons.length;i++){icons[i].style.width=uiDockbar.defaultIconSize+"px";icons[i].style.height=uiDockbar.defaultIconSize+"px";}
var fixBugImageElement=document.getElementById("FixBug");fixBugImageElement.style.height=uiDockbar.defaultIconSize+"px";UIDockbar.resizeDockBar();};UIDockbar.prototype.resizeDockBar=function(){var uiPageDesktop=document.getElementById("UIPageDesktop");var uiDockbar=document.getElementById("UIDockBar");var iconContainer=document.getElementById("IconContainer");var icons=eXo.core.DOMUtil.findChildrenByClass(iconContainer,"img","Icon");var widthItemControl=0;for(var i=0;i<icons.length;i++){var iconWidth=icons[i].offsetWidth;if(uiDockbar.defaultIconSize&&(iconWidth<uiDockbar.defaultIconSize))iconWidth=uiDockbar.defaultIconSize;widthItemControl=(widthItemControl+iconWidth+5);}
var separators=eXo.core.DOMUtil.findChildrenByClass(iconContainer,"img","Separator");var totalWidthSeparators=0;for(var i=0;i<separators.length;i++){totalWidthSeparators=totalWidthSeparators+separators[i].offsetWidth+10;}
iconContainer.style.width=(widthItemControl+totalWidthSeparators+10)+"px";if(!uiDockbar.totalPadding){var pr=iconContainer.parentNode;var totalPadding=0;while(pr){var pad=parseInt(eXo.core.DOMUtil.getStyle(pr,"paddingRight"));if(!isNaN(pad))totalPadding+=pad;pad=parseInt(eXo.core.DOMUtil.getStyle(pr,"paddingLeft"));if(!isNaN(pad))totalPadding+=pad;if(pr.parentNode==uiDockbar)break;pr=pr.parentNode;}
uiDockbar.totalPadding=totalPadding;}
uiDockbar.style.width=(iconContainer.offsetWidth+uiDockbar.totalPadding)+"px";uiDockbar.style.left=((uiPageDesktop.offsetWidth-uiDockbar.offsetWidth)/2)+"px";};UIDockbar.prototype.resetDesktopShowedStatus=function(uiPageDesktop,uiDockBar){var uiPageDesktopChildren=eXo.core.DOMUtil.getChildrenByTagName(uiPageDesktop,"div");for(var i=0;i<uiPageDesktopChildren.length;i++){if(uiPageDesktopChildren[i].isShowed==true&&uiPageDesktopChildren[i].style.display=="none"){uiPageDesktopChildren[i].isShowed=false;}}
if(this.showDesktop){var portletsViewer=eXo.core.DOMUtil.findDescendantById(uiDockBar,"PortletsViewer");var blankImage=portletsViewer.src;var srcMonitoringImage="/eXoResources/skin/sharedImages/Icon80x80/HidePortletsViewer.png";if(eXo.core.Browser.isIE6()){portletsViewer.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+srcMonitoringImage+"', sizingMethod='scale')";portletsViewer.src=blankImage;}else{portletsViewer.src=srcMonitoringImage;}
this.showDesktop=false;}};UIDockbar.prototype.initNav=function(){var nav=document.getElementById("DockNavigation");eXo.portal.UIExoStartMenu.buildMenu(nav);};UIDockbar.prototype.showNavigation=function(event){event=event||window.event;event.cancelBubble=true;var uiDockbar=document.getElementById("UIDockBar");var dockNavigation=document.getElementById("DockNavigation");dockNavigation.style.display="block";var menuItemContainer=eXo.core.DOMUtil.findFirstDescendantByClass(dockNavigation,"div","MenuItemContainer");dockNavigation.menuItemContainer=menuItemContainer;eXo.portal.UIExoStartMenu.createSlide(dockNavigation);eXo.core.Mouse.update(event);var fixWidthForIE7=0;var uiWorkingWS=document.getElementById("UIWorkingWorkspace");if(eXo.core.I18n.isLT()){if(eXo.core.Browser.isIE7()&&document.getElementById("UIDockBar")){fixWidthForIE7=uiWorkingWS.offsetLeft;}}else if(eXo.core.Browser.getBrowserType()=="ie")fixWidthForIE7=16;menuItemContainer.style.top=-(menuItemContainer.offsetHeight)+"px";if(eXo.core.Browser.isIE6()){var blockMenu=eXo.core.DOMUtil.findFirstDescendantByClass(menuItemContainer,"div","BlockMenu");blockMenu.style.borderBottom="solid 1px white";blockMenu.style.filter="chroma(color=white)";}
var dockLeft=eXo.core.Browser.findPosX(dockNavigation);var dockRight=dockLeft+dockNavigation.offsetWidth;var menuLeft=eXo.core.Browser.findPosX(menuItemContainer);var menuRight=menuLeft+menuItemContainer.offsetWidth;if(eXo.core.I18n.isLT()){var intLeft=dockLeft-menuLeft;intLeft+=eXo.core.Mouse.mousexInPage-eXo.core.Browser.findPosX(uiDockbar)+fixWidthForIE7;dockNavigation.style.left=intLeft+"px";}else{var intRight=menuRight-dockRight;intRight+=(eXo.core.Browser.findPosX(uiDockbar)+uiDockbar.offsetWidth-eXo.core.Mouse.mousexInPage)+fixWidthForIE7;dockNavigation.style.right=intRight+"px";}
var intTop=eXo.core.Mouse.mouseyInPage-(eXo.core.Browser.findPosY(dockNavigation)-dockNavigation.offsetTop);var browserHeight=eXo.core.Browser.getBrowserHeight();if(eXo.core.Mouse.mouseyInPage-menuItemContainer.offsetHeight<0){intTop=uiDockbar.offsetHeight-((browserHeight-menuItemContainer.offsetHeight)/2);}
dockNavigation.style.top=intTop+"px";};UIDockbar.prototype.hideNavigation=function(event){var nav=document.getElementById("DockNavigation");nav.style.display="none";};eXo.desktop.UIDockbar=new UIDockbar();if(!eXo.cs){eXo.cs={};}
function CheckBoxManager(){};CheckBoxManager.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;}};CheckBoxManager.prototype.checkAll=function(){eXo.cs.CheckBox.checkAllItem(this);};CheckBoxManager.prototype.getItems=function(obj){var table=eXo.core.DOMUtil.findAncestorByTagName(obj,"table");var checkboxes=eXo.core.DOMUtil.findDescendantsByClass(table,"input","checkbox");return checkboxes;};CheckBoxManager.prototype.check=function(){eXo.cs.CheckBox.checkItem(this);};CheckBoxManager.prototype.checkAllItem=function(obj){var checked=obj.checked;var items=eXo.cs.CheckBox.getItems(obj);var len=items.length;for(var i=1;i<len;i++){items[i].checked=checked;this.highlight(items[i],checked);}};CheckBoxManager.prototype.checkItem=function(obj){var checkboxes=eXo.cs.CheckBox.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;}
this.highlight(obj,obj.checked);};CheckBoxManager.prototype.highlight=function(obj,isChecked){obj=eXo.core.DOMUtil.findAncestorByTagName(obj,"tr");if(!obj)return;if(isChecked)eXo.core.DOMUtil.addClass(obj,"UIHightLight");else eXo.core.DOMUtil.replaceClass(obj,"UIHightLight","");};eXo.cs.CheckBox=new CheckBoxManager();function LayoutSpliter(){};LayoutSpliter.prototype.doResize=function(e,markerobj){_e=(window.event)?window.event:e;var DOMUtil=eXo.core.DOMUtil;this.posY=eXo.core.Browser.findMouseYInPage(_e);var marker=(typeof(markerobj)=="string")?document.getElementById(markerobj):markerobj;var container=marker.parentNode;var areas=DOMUtil.findDescendantsByClass(container,"div","SpliterResizableListArea");if((areas.length<2)||(areas[0].style.display=="none"))return;this.beforeArea=areas[0];this.afterArea=areas[1];this.beforeArea.style.overflowY="auto";this.afterArea.style.overflowY="auto";this.beforeY=this.beforeArea.offsetHeight;this.afterY=this.afterArea.offsetHeight;document.onmousemove=eXo.cs.Spliter.adjustHeight;document.onmouseup=eXo.cs.Spliter.clear;};LayoutSpliter.prototype.adjustHeight=function(evt){evt=(window.event)?window.event:evt;var Spliter=eXo.cs.Spliter;var delta=eXo.core.Browser.findMouseYInPage(evt)-Spliter.posY;var afterHeight=Spliter.afterY-delta;var beforeHeight=Spliter.beforeY+delta;if(beforeHeight<=0||afterHeight<=0)return;Spliter.beforeArea.style.height=beforeHeight+"px";if(Spliter.afterY>0)Spliter.afterArea.style.height=afterHeight+"px";};LayoutSpliter.prototype.clear=function(){try{var Spliter=eXo.cs.Spliter;document.onmousemove=null;delete Spliter.beforeY;delete Spliter.afterY;delete Spliter.beforeArea;delete Spliter.afterArea;delete Spliter.posY;}catch(e){window.statuts="Message : "+e.message;};};eXo.cs.Spliter=new LayoutSpliter();function Utils(){}
Utils.prototype.show=function(obj,evt){if(!evt)evt=window.event;evt.cancelBubble=true;var DOMUtil=eXo.core.DOMUtil;var uiPopupCategory=DOMUtil.findFirstDescendantByClass(obj,'div','UIRightClickPopupMenu');if(!uiPopupCategory)return;if(uiPopupCategory.style.display=="none"){DOMUtil.cleanUpHiddenElements();uiPopupCategory.style.display="block";DOMUtil.listHideElements(uiPopupCategory);if(eXo.core.I18n.isRT())uiPopupCategory.style.left=(obj.offsetWidth-uiPopupCategory.offsetWidth)+"px";}
else uiPopupCategory.style.display="none";};Utils.prototype.showHidePane=function(clickobj,beforeobj,afterobj){var container=eXo.core.DOMUtil.findAncestorByClass(clickobj,"SpliterContainer");var areas=eXo.core.DOMUtil.findDescendantsByClass(container,"div","SpliterResizableListArea");var uiGrid=eXo.core.DOMUtil.findFirstDescendantByClass(areas[1],"table","UIGrid");var uiPreview=eXo.core.DOMUtil.findAncestorByClass(areas[1],"UIPreview");if(areas.length<2)return;if(areas[0].style.display!="none"){clickobj.className="MinimizeButton";areas[1].style.height=(areas[1].offsetHeight+areas[0].offsetHeight-4)+"px";areas[0].style.display="none";}else{areas[0].style.display="block";clickobj.className="MaximizeButton";areas[1].style.height=(areas[1].offsetHeight-areas[0].offsetHeight+4)+"px";}};Utils.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;};Utils.prototype.captureInput=function(input,action){if(typeof(input)=="string")input=document.getElementById(input);input.form.onsubmit=eXo.cs.Utils.cancelSubmit;input.onkeypress=eXo.cs.Utils.onEnter;};Utils.prototype.onEnter=function(evt){var _e=evt||window.event;_e.cancelBubble=true;var keynum=eXo.cs.Utils.getKeynum(_e);if(keynum==13){var action=eXo.core.DOMUtil.findPreviousElementByTagName(this,"div");if(!action)action=eXo.core.DOMUtil.findNextElementByTagName(this,"div");action.onclick();}};Utils.prototype.cancelSubmit=function(){return false;};Utils.prototype.confirmAction=function(obj,msg,parentId){var cont=eXo.core.DOMUtil.findAncestorById(obj,parentId);var checkboxes=eXo.core.DOMUtil.findDescendantsByClass(cont,"input","checkbox");var i=checkboxes.length;var actionLink=obj.getAttribute("actionLink");var check=false;var n=1;if(parentId=="UICalendarViewContainer")n=0;while(i>n){i--;if(checkboxes[i].checked){check=true;break;}}
if(check)eval(actionLink);else alert(msg);};Utils.prototype.swapClass=function(obj,hoverClass){var domUtil=eXo.core.DOMUtil;if(domUtil.hasClass(obj,hoverClass))domUtil.replaceClass(obj,hoverClass,"");else domUtil.addClass(obj,hoverClass);};Utils.prototype.getScrollTop=function(obj){var curtop=0;while(obj){if(obj.scrollTop)
curtop+=obj.scrollTop;obj=obj.parentNode;}
return curtop;};Utils.prototype.createUrl=function(href,params){if(params!=null){var len=params.length;for(var i=0;i<len;i++){href+="&"+params[i].name+"="+params[i].value;}}
href+="&ajaxRequest=true";href=href.replace("&op=","&formOp=");return href;};Utils.prototype.getScrollLeft=function(obj){var curleft=0;while(obj){if(obj.scrollLeft)
curleft+=obj.scrollLeft;obj=obj.parentNode;}
return curleft;};Utils.prototype.json2xml=function(o,tab){var toXml=function(v,name,ind){var xml="";if(v instanceof Array){for(var i=0,n=v.length;i<n;i++)
xml+=ind+toXml(v[i],name,ind+"\t")+"\n";}
else if(typeof(v)=="object"){var hasChild=false;xml+=ind+"<"+name;for(var m in v){if(m.charAt(0)=="@")
xml+=" "+m.substr(1)+"=\""+v[m].toString()+"\"";else
hasChild=true;}
xml+=hasChild?">":"/>";if(hasChild){for(var m in v){if(m=="#text"){xml+=v[m];}
else if(m=="#cdata"){xml+="<![CDATA["+v[m]+"]]>";}
else if(m.charAt(0)!="@"){xml+=toXml(v[m],m,ind+"\t");}}
xml+=(xml.charAt(xml.length-1)=="\n"?ind:"")+"</"+name+">";}}
else{xml+=ind+"<"+name+">"+v.toString()+"</"+name+">";}
return xml;},xml="";for(var m in o)
xml+=toXml(o[m],m,"");return tab?xml.replace(/\t/g,tab):xml.replace(/\t|\n/g,"");}
Utils.prototype.xml2json=function(xml,tab){var X={toObj:function(xml){var o={};if(xml.nodeType==1){if(xml.attributes.length)
for(var i=0;i<xml.attributes.length;i++)
o["@"+xml.attributes[i].nodeName]=(xml.attributes[i].nodeValue||"").toString();if(xml.firstChild){var textChild=0,cdataChild=0,hasElementChild=false;for(var n=xml.firstChild;n;n=n.nextSibling){if(n.nodeType==1)hasElementChild=true;else if(n.nodeType==3&&n.nodeValue.match(/[^ \f\n\r\t\v]/))textChild++;else if(n.nodeType==4)cdataChild++;}
if(hasElementChild){if(textChild<2&&cdataChild<2){X.removeWhite(xml);for(var n=xml.firstChild;n;n=n.nextSibling){if(n.nodeType==3)
o["#text"]=X.escape(n.nodeValue);else if(n.nodeType==4)
o["#cdata"]=X.escape(n.nodeValue);else if(o[n.nodeName]){if(o[n.nodeName]instanceof Array)
o[n.nodeName][o[n.nodeName].length]=X.toObj(n);else
o[n.nodeName]=[o[n.nodeName],X.toObj(n)];}
else
o[n.nodeName]=X.toObj(n);}}
else{if(!xml.attributes.length)
o=X.escape(X.innerXml(xml));else
o["#text"]=X.escape(X.innerXml(xml));}}
else if(textChild){if(!xml.attributes.length)
o=X.escape(X.innerXml(xml));else
o["#text"]=X.escape(X.innerXml(xml));}
else if(cdataChild){if(cdataChild>1)
o=X.escape(X.innerXml(xml));else
for(var n=xml.firstChild;n;n=n.nextSibling)
o["#cdata"]=X.escape(n.nodeValue);}}
if(!xml.attributes.length&&!xml.firstChild)o=null;}
else if(xml.nodeType==9){o=X.toObj(xml.documentElement);}
else
alert("unhandled node type: "+xml.nodeType);return o;},toJson:function(o,name,ind){var json=name?("\""+name+"\""):"";if(o instanceof Array){for(var i=0,n=o.length;i<n;i++)
o[i]=X.toJson(o[i],"",ind+"\t");json+=(name?":[":"[")+(o.length>1?("\n"+ind+"\t"+o.join(",\n"+ind+"\t")+"\n"+ind):o.join(""))+"]";}
else if(o==null)
json+=(name&&":")+"null";else if(typeof(o)=="object"){var arr=[];for(var m in o)
arr[arr.length]=X.toJson(o[m],m,ind+"\t");json+=(name?":{":"{")+(arr.length>1?("\n"+ind+"\t"+arr.join(",\n"+ind+"\t")+"\n"+ind):arr.join(""))+"}";}
else if(typeof(o)=="string")
json+=(name&&":")+"\""+o.toString()+"\"";else
json+=(name&&":")+o.toString();return json;},innerXml:function(node){var s=""
if("innerHTML"in node)
s=node.innerHTML;else{var asXml=function(n){var s="";if(n.nodeType==1){s+="<"+n.nodeName;for(var i=0;i<n.attributes.length;i++)
s+=" "+n.attributes[i].nodeName+"=\""+(n.attributes[i].nodeValue||"").toString()+"\"";if(n.firstChild){s+=">";for(var c=n.firstChild;c;c=c.nextSibling)
s+=asXml(c);s+="</"+n.nodeName+">";}
else
s+="/>";}
else if(n.nodeType==3)
s+=n.nodeValue;else if(n.nodeType==4)
s+="<![CDATA["+n.nodeValue+"]]>";return s;};for(var c=node.firstChild;c;c=c.nextSibling)
s+=asXml(c);}
return s;},escape:function(txt){return txt.replace(/[\\]/g,"\\\\").replace(/[\"]/g,'\\"').replace(/[\n]/g,'\\n').replace(/[\r]/g,'\\r');},removeWhite:function(e){e.normalize();for(var n=e.firstChild;n;){if(n.nodeType==3){if(!n.nodeValue.match(/[^ \f\n\r\t\v]/)){var nxt=n.nextSibling;e.removeChild(n);n=nxt;}
else
n=n.nextSibling;}
else if(n.nodeType==1){X.removeWhite(n);n=n.nextSibling;}
else
n=n.nextSibling;}
return e;}};if(xml.nodeType==9)
xml=xml.documentElement;var json=X.toJson(X.toObj(X.removeWhite(xml)),xml.nodeName,"\t");return"{\n"+tab+(tab?json.replace(/\t/g,tab):json.replace(/\t|\n/g,""))+"\n}";};Utils.prototype.getScrollbarWidth=function(){var inner=document.createElement("p");inner.style.width="100%";inner.style.height="200px";var outer=document.createElement("div");outer.style.position="absolute";outer.style.top="0px";outer.style.left="0px";outer.style.visibility="hidden";outer.style.width="200px";outer.style.height="150px";outer.style.overflow="hidden";outer.appendChild(inner);document.body.appendChild(outer);var w1=inner.offsetWidth;outer.style.overflow="scroll";var w2=inner.offsetWidth;if(w1==w2)w2=outer.clientWidth;document.body.removeChild(outer);return(w1-w2);};Utils.prototype.getElementWidth=function(obj){var w=0;if(obj.style.display=="none"){obj.style.display="block";w=obj.offsetWidth;obj.style.display="none"
return w;}
return obj.offsetWidth;};eXo.cs.Utils=new Utils();function EventManager(){}
EventManager.prototype.addEvent=function(obj,type,fn){if(obj.attachEvent){obj['e'+type+fn]=fn;obj[type+fn]=function(){obj['e'+type+fn](window.event);}
obj.attachEvent('on'+type,obj[type+fn]);}else
obj.addEventListener(type,fn,false);};EventManager.prototype.removeEvent=function(obj,type,fn){if(obj.detachEvent){obj.detachEvent('on'+type,obj[type+fn]);obj[type+fn]=null;}else
obj.removeEventListener(type,fn,false);};EventManager.prototype.getMouseButton=function(evt){var evt=evt||window.event;return evt.button;};EventManager.prototype.getEventTarget=function(evt){var evt=evt||window.event;var target=evt.target||evt.srcElement;if(target.nodeType==3){target=target.parentNode;}
return target;};EventManager.prototype.getEventTargetByClass=function(evt,className){var target=this.getEventTarget(evt);if(eXo.core.DOMUtil.hasClass(target,className))
return target;else
return eXo.core.DOMUtil.findAncestorByClass(target,className);};EventManager.prototype.getEventTargetByTagName=function(evt,tagName){var target=this.getEventTarget(evt);if(target.tagName.toLowerCase()==tagName.trim())
return target;else
return eXo.core.DOMUtil.findAncestorByTagName(target,tagName);};EventManager.prototype.cancelBubble=function(evt){if(eXo.core.Browser.browserType=='ie')
window.event.cancelBubble=true;else
evt.stopPropagation();};EventManager.prototype.cancelEvent=function(evt){eXo.core.EventManager.cancelBubble(evt);if(eXo.core.Browser.browserType=='ie')
window.event.returnValue=true;else
evt.preventDefault();};eXo.core.EventManager=new EventManager();function UINavigation(){this.scrollManagerLoaded=false;};UINavigation.prototype.loadScroll=function(){var uiNav=eXo.cs.UINavigation;var container=document.getElementById("UIActionBar");if(container){this.scrollMgr=eXo.portal.UIPortalControl.newScrollManager("UIActionBar");this.scrollMgr.initFunction=uiNav.iniScroll;this.scrollMgr.mainContainer=eXo.core.DOMUtil.findFirstDescendantByClass(container,"div","CenterBar");this.scrollMgr.arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(container,"div","ScrollButtons");this.scrollMgr.loadElements("ControlButton",true);var button=eXo.core.DOMUtil.findDescendantsByTagName(this.scrollMgr.arrowsContainer,"div");if(button.length>=2){this.scrollMgr.initArrowButton(button[0],"left","ScrollLeftButton","HighlightScrollLeftButton","DisableScrollLeftButton");this.scrollMgr.initArrowButton(button[1],"right","ScrollRightButton","HighlightScrollRightButton","DisableScrollRightButton");}
this.scrollMgr.callback=uiNav.scrollCallback;uiNav.scrollManagerLoaded=true;uiNav.initScroll();}};UINavigation.prototype.initScroll=function(){var uiNav=eXo.cs.UINavigation;if(!uiNav.scrollManagerLoaded)uiNav.loadScroll();var elements=uiNav.scrollMgr.elements;uiNav.scrollMgr.init();uiNav.scrollMgr.checkAvailableSpace();uiNav.scrollMgr.renderElements();};UINavigation.prototype.scrollCallback=function(){};eXo.cs.UINavigation=new UINavigation();function LayoutManager(id){this.layoutId=id;}
LayoutManager.prototype.check=function(){var layoutcookie=eXo.core.Browser.getCookie(this.layoutId);var i=layoutcookie.length;while(i--){if(!this.layouts[parseInt(layoutcookie.charAt(i))-1])continue;this.layouts[parseInt(layoutcookie.charAt(i))-1].style.display="none";}
if(this.callback)this.callback(layoutcookie);};LayoutManager.prototype.switchLayout=function(layout){var layoutcookie=eXo.core.Browser.getCookie(this.layoutId);var status=this.setValue(layout,layoutcookie);if(!status)this.layouts[layout-1].style.display="none";else this.layouts[layout-1].style.display="block";if(this.switchCallback)this.switchCallback(layout,status);};LayoutManager.prototype.setValue=function(value,str){var status=null;if(str.indexOf(value)<0){str=str.concat(value);status=false;}else{str=str.replace(value,'');status=true;}
eXo.core.Browser.setCookie(this.layoutId,str,1);return status;};LayoutManager.prototype.reset=function(){var i=this.layouts.length;while(i--){if(this.layouts[i])this.layouts[i].style.display="block";}
eXo.core.Browser.setCookie(this.layoutId,"",1);if(this.resetCallback)this.resetCallback();};eXo.cs.UINavigation=new UINavigation();function DateTimeFormater(){};DateTimeFormater.prototype.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};DateTimeFormater.prototype.token=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g;DateTimeFormater.prototype.timezone=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;DateTimeFormater.prototype.timezoneClip=/[^-+\dA-Z]/g;DateTimeFormater.prototype.pad=function(val,len){val=String(val);len=len||2;while(val.length<len)val="0"+val;return val;};DateTimeFormater.prototype.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};DateTimeFormater.prototype.format=function(date,mask,utc){var dF=eXo.cs.DateTimeFormater;if(arguments.length==1&&(typeof date=="string"||date instanceof String)&&!/\d/.test(date)){mask=date;date=undefined;}
date=date?new Date(date):new Date();if(isNaN(date))throw new SyntaxError("invalid date");mask=String(dF.masks[mask]||mask||dF.masks["default"]);if(mask.slice(0,4)=="UTC:"){mask=mask.slice(4);utc=true;}
var _=utc?"getUTC":"get",d=date[_+"Date"](),D=date[_+"Day"](),m=date[_+"Month"](),y=date[_+"FullYear"](),H=date[_+"Hours"](),M=date[_+"Minutes"](),s=date[_+"Seconds"](),L=date[_+"Milliseconds"](),o=utc?0:date.getTimezoneOffset(),flags={d:d,dd:dF.pad(d),ddd:dF.i18n.dayNames[D],dddd:dF.i18n.dayNames[D+7],m:m+1,mm:dF.pad(m+1),mmm:dF.i18n.monthNames[m],mmmm:dF.i18n.monthNames[m+12],yy:String(y).slice(2),yyyy:y,h:H%12||12,hh:dF.pad(H%12||12),H:H,HH:dF.pad(H),M:M,MM:dF.pad(M),s:s,ss:dF.pad(s),l:dF.pad(L,3),L:dF.pad(L>99?Math.round(L/10):L),t:H<12?"a":"p",tt:H<12?"am":"pm",T:H<12?"A":"P",TT:H<12?"AM":"PM",Z:utc?"UTC":(String(date).match(dF.timezone)||[""]).pop().replace(dF.timezoneClip,""),o:(o>0?"-":"+")+dF.pad(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4),S:["th","st","nd","rd"][d%10>3?0:(d%100-d%10!=10)*d%10]};return mask.replace(dF.token,function($0){return $0 in flags?flags[$0]:$0.slice(1,$0.length-1);});};eXo.cs.DateTimeFormater=new DateTimeFormater();function CSCometd(){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;}
CSCometd.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();};CSCometd.prototype.addOnConnectionReadyCallback=function(handle){if(handle){this._connectionReadyCallbacks.push(handle);}};CSCometd.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;}}};CSCometd.prototype.deliver=function(messages){messages.each(this._deliver,this);return messages;}
CSCometd.prototype.isConnected=function(){return this._connected;}
CSCometd.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){if(window.console&&window.console.error)
window.console.error('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){throw(new Error('todo manage error subscription'));return;}
break;case'/meta/unsubscribe':if(!message.successful){throw(new('todo manage error unsubscription'));return;}
break;}}
if(message.data){var tname=message.channel;var def=this._subscriptions[tname];if(def)
def(message);}}
CSCometd.prototype._sendMessage=function(message){if(this.currentTransport&&this._connected&&this.batch==0){return this.currentTransport.sendMessages([message]);}
else{this._messageQ.push(message);}}
CSCometd.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;}}
CSCometd.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});}
CSCometd.prototype.startBatch=function(){this.batch++;}
CSCometd.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;}}
CSCometd.prototype.resetRetryInterval=function(){if(this.advice)
this.advice.interval=1000;this._retryInterval=1000;}
CSCometd.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);}}}
CSCometd.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;}
CSCometd.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.cs.CSCometd=new CSCometd();eXo.portal.LongPollTransport=LongPollTransport.prototype.constructor;function AdvancedTooltip(){}
AdvancedTooltip.prototype.onLoad=function(root,tmpl){if(!this.tooltipE){this.tooltipE=document.createElement('div');with(this.tooltipE.style){display='none';position='absolute';boder='ridge 2px red';padding='10px';background='#fff';opacity='80';filter='alpha(opacity=0.8)';}
document.body.appendChild(this.tooltipE);}
this.init(root,tmpl);};AdvancedTooltip.prototype.init=function(root,tmpl){root=(typeof(root)=='string')?document.getElementById(root):root;this.tmpl=(typeof(tmpl)=='string')?document.getElementById(tmpl):tmpl;var nodeLst=root.getElementsByTagName('*');for(var i=0;i<nodeLst.length;i++){if(nodeLst[i].getAttribute('advancedtooltip')){nodeLst[i].onmousemove=this.showAdvancedTooltip;nodeLst[i].onmouseout=this.hideAdvancedTooltip;}}
this.tooltipE.className=this.tmpl.className;};AdvancedTooltip.prototype.applyTemplate=function(template,nodeData){var regx=/(\$[_a-z0-9]+)/gim;var var4Rep=template.match(regx);for(var i=0;i<var4Rep.length;i++){var property=nodeData.getAttribute(var4Rep[i].replace(/\$/,''));if(property){template=template.replace(var4Rep[i],property);}}
return template;};AdvancedTooltip.prototype.showAdvancedTooltip=function(e){e=e?e:window.event;return eXo.cs.AdvancedTooltip.show(e,this);};AdvancedTooltip.prototype.show=function(e,element){var compiledTmpl=this.applyTemplate(this.tmpl.innerHTML,element);this.tooltipE.innerHTML=compiledTmpl;this.tooltipE.style['top']=eXo.core.Browser.findMouseRelativeY(document.body,e)+2+'px';this.tooltipE.style['left']=eXo.core.Browser.findMouseRelativeX(document.body,e)+2+'px';if(this.tooltipE.style['display']=='none'){this.cancelShowTimeout();this.showTimeoutId=window.setTimeout("eXo.cs.AdvancedTooltip.tooltipE.style['display'] = 'block' ;",2*1000)}};AdvancedTooltip.prototype.hideAdvancedTooltip=function(e){e=e?e:window.event;return eXo.cs.AdvancedTooltip.hide(e,this);};AdvancedTooltip.prototype.hide=function(e,element){this.cancelShowTimeout();window.setTimeout("eXo.cs.AdvancedTooltip.tooltipE.style['display'] = 'none' ;",0.1*1000);};AdvancedTooltip.prototype.cancelShowTimeout=function(){if(this.showTimeoutId){window.clearTimeout(this.showTimeoutId);this.showTimeoutId=false;}};eXo.cs.AdvancedTooltip=new AdvancedTooltip();function FormHelper(){}
FormHelper.prototype.isSelected=function(element){return(element.checked||element.selected);};FormHelper.prototype.checkAllElement=function(root){var eList=eXo.core.DOMUtil.findDescendantsByTagName(root,'input');for(var i=0;i<eList.length;i++){eList[i].checked=true;}}
FormHelper.prototype.getSelectedElementByClass=function(root,klazz,e2selectIfFalse){var inputEList=eXo.core.DOMUtil.findDescendantsByTagName(root,'input');var selectedItems=[];var foundCheckObj=false;for(var i=0;i<inputEList.length;i++){if(inputEList[i].checked){selectedItems[selectedItems.length]=eXo.core.DOMUtil.findAncestorByClass(inputEList[i],klazz);if(e2selectIfFalse==selectedItems[selectedItems.length-1]){foundCheckObj=true;}}}
if(!foundCheckObj){selectedItems[selectedItems.length]=e2selectIfFalse;}
return selectedItems;}
if(!eXo.cs){eXo.cs={};}
eXo.cs.FormHelper=new FormHelper();eXo.core.UIMaskLayer.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="0px";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);}
if(object)eXo.core.UIMaskLayer.objectTop=eXo.core.UIMaskLayer.object.offsetTop-document.documentElement.scrollTop;return maskLayer;};function MaskLayerControl(){this.domUtil=eXo.core.DOMUtil;}
MaskLayerControl.prototype.init=function(root){root=(typeof(root)=='string')?document.getElementById(root):root;var nodeList=this.domUtil.findDescendantsByClass(root,'span','ViewDownloadIcon');for(var i=0;i<nodeList.length;i++){var linkNode=nodeList[i].getElementsByTagName('a')[0];linkNode.onclick=this.showPictureWrapper;}};MaskLayerControl.prototype.showPictureWrapper=function(){eXo.cs.MaskLayerControl.showPicture(this);return false;};MaskLayerControl.prototype.showPicture=function(node){var attachmentContent=this.domUtil.findAncestorByClass(node,'AttachmentContent');var imgSrcNode=this.domUtil.findDescendantsByClass(attachmentContent,'img','AttachmentFile')[0];this.isMail=this.domUtil.findAncestorByClass(node,"UIMailPortlet");var containerNode=document.createElement('div');with(containerNode.style){margin='auto';top='20px';left='5%';width='90%';height='95%';textAlign='center';}
var imageNode=document.createElement('img');imageNode.src=imgSrcNode.src;imageNode.setAttribute('alt','Click to close.');with(imageNode.style){height='100%';width='auto';}
containerNode.appendChild(imageNode);containerNode.setAttribute('title','Click to close');containerNode.onclick=this.hidePicture;var maskNode=eXo.core.UIMaskLayer.createMask('UIPortalApplication',containerNode,30,'CENTER');eXo.core.Browser.addOnScrollCallback('MaskLayerControl',this.scrollHandler);};MaskLayerControl.prototype.scrollHandler=function(){if(eXo.cs.MaskLayerControl.isMail){eXo.core.UIMaskLayer.object.style.top=document.documentElement.scrollTop+20+'px';return;}
eXo.core.UIMaskLayer.object.style.top=eXo.core.UIMaskLayer.objectTop+document.documentElement.scrollTop+'px';};MaskLayerControl.prototype.hidePicture=function(){eXo.core.Browser.onScrollCallback.remove('MaskLayerControl');var maskContent=eXo.core.UIMaskLayer.object;var maskNode=document.getElementById("MaskLayer")||document.getElementById("subMaskLayer");if(maskContent)maskContent.parentNode.removeChild(maskContent);if(maskNode)maskNode.parentNode.removeChild(maskNode);};if(!eXo.cs)eXo.cs={};eXo.cs.MaskLayerControl=new MaskLayerControl();function TableDnD(){this.scKey='border';this.scValue='solid 1px #000';this.DOMUtil=eXo.core.DOMUtil;this.DragDrop=eXo.core.DragDrop;this.tableMan=eXo.cs.TableMan;this.dropableLst=[];};TableDnD.prototype.init=function(root){this.root=(typeof(root)=='string')?document.getElementById(root):root;this.tableMan.init(this.root);if(!this.tableMan.tableData||!this.tableMan.tableData.data||this.tableMan.tableData.data.length<=0){return;}
this.dropableLst=this.tableMan.getHeader();var dragableLst=this.tableMan.getHeader();for(var i=0;i<dragableLst.length;i++){dragableLst[i].onmousedown=this.dndTrigger;dragableLst[i].style['cursor']='pointer';}}
TableDnD.prototype.dndTrigger=function(e){e=e?e:window.event;var srcE=eXo.core.Browser.getEventSource(e);if((srcE.tagName+'')!='th'&&(srcE.onclick)){return true;}
return eXo.cs.TableDnD.initDnD(eXo.cs.TableDnD.dropableLst,this,this,e);};TableDnD.prototype.initDnD=function(dropableObjs,clickObj,dragObj,e){var clickBlock=(clickObj&&clickObj.tagName)?clickObj:document.getElementById(clickObj);var dragBlock=(dragObj&&dragObj.tagName)?dragObj:document.getElementById(dragObj);var tableNode=document.createElement('table');var tableWidth=clickBlock.offsetWidth;with(tableNode.style){display='none';position='absolute';top='0px';left='0px';background='#fff';opacity='0.8';filter='alpha(opacity=80)';width=tableWidth+'px';}
var headerRow=document.createElement('tr');var tableData=this.tableMan.tableData;var cellIndex=this.tableMan.cellIndexOf(clickBlock);headerRow.appendChild(tableData.header[cellIndex].cloneNode(true));tableNode.appendChild(headerRow);var colNodes=this.tableMan.getCol(cellIndex);document.body.appendChild(tableNode);this.DragDrop.initCallback=this.initCallback;this.DragDrop.dragCallback=this.dragCallback;this.DragDrop.dropCallback=this.dropCallback;this.DragDrop.init(dropableObjs,clickBlock,tableNode,e);return false;};TableDnD.prototype.synDragObjectPos=function(dndEvent){if(!dndEvent.backupMouseEvent){dndEvent.backupMouseEvent=window.event;if(!dndEvent.backupMouseEvent){return;}}
var dragObject=dndEvent.dragObject;var mouseX=eXo.core.Browser.findMouseXInPage(dndEvent.backupMouseEvent)+1;var mouseY=eXo.core.Browser.findPosYInContainer(dndEvent.clickObject,document.body);dragObject.style.top=mouseY+'px';dragObject.style.left=mouseX+'px';};TableDnD.prototype.initCallback=function(dndEvent){eXo.cs.TableDnD.synDragObjectPos(dndEvent);};TableDnD.prototype.dragCallback=function(dndEvent){var dragObject=dndEvent.dragObject;if(dragObject.style['display']||dragObject.style['display']!='none'){dragObject.style['display']='table';}
eXo.cs.TableDnD.synDragObjectPos(dndEvent);if(dndEvent.foundTargetObject){if(this.foundTargetObjectCatch!=dndEvent.foundTargetObject){if(this.foundTargetObjectCatch){this.foundTargetObjectCatch.style[eXo.cs.TableDnD.scKey]=this.foundTargetObjectCatchStyle;}
this.foundTargetObjectCatch=dndEvent.foundTargetObject;this.foundTargetObjectCatchStyle=this.foundTargetObjectCatch.style[eXo.cs.TableDnD.scKey];this.foundTargetObjectCatch.style[eXo.cs.TableDnD.scKey]=eXo.cs.TableDnD.scValue;}}else{if(this.foundTargetObjectCatch){this.foundTargetObjectCatch.style[eXo.cs.TableDnD.scKey]=this.foundTargetObjectCatchStyle;}
this.foundTargetObjectCatch=null;}};TableDnD.prototype.dropCallback=function(dndEvent){if(dndEvent.dragObject){dndEvent.dragObject.parentNode.removeChild(dndEvent.dragObject);}
try{if(this.foundTargetObjectCatch){this.foundTargetObjectCatch.style[eXo.cs.TableDnD.scKey]=this.foundTargetObjectCatchStyle;}
this.foundTargetObjectCatch=dndEvent.foundTargetObject;if(this.foundTargetObjectCatch){var tableMan=eXo.cs.TableMan;var x1=tableMan.cellIndexOf(this.foundTargetObjectCatch);var x2=tableMan.cellIndexOf(dndEvent.clickObject);tableMan.swapColumn(x1,x2);}}catch(e){}
eXo.core.DragDrop.destroy();return true;};if(!eXo.cs){eXo.cs={};}
eXo.cs.TableDnD=new TableDnD();function TableMan(){};TableMan.prototype.init=function(rootE){rootE=(typeof(rootE)=='string')?document.getElementById(rootE):rootE;if(!rootE){return;}
if(rootE.tagName.toLowerCase()!='table'){this.tableE=rootE.getElementsByTagName('table')[0];}else{this.tableE=rootE;}
this.tableData=this.toTableData(this.tableE);};TableMan.prototype.toArray=function(tabE){var tabArray=[];var trList=tabE.getElementsByTagName('tr');if(!trList||trList.length<0){return tabArray;}
var headerArray=tabE.getElementsByTagName('th');var cellArray=[];cellArray[0]=headerArray;for(var i=0;i<trList.length;i++){cellArray[i+1]=trList[i].getElementsByTagName('td');};return cellArray;};TableMan.prototype.toTableData=function(tabE){var tabArray=[];var trList=tabE.getElementsByTagName('tr');if(!trList||trList.length<0){return tabArray;}
var headerArray=tabE.getElementsByTagName('th');var cellArray=[];for(var i=0;i<trList.length;i++){var tdLst=trList[i].getElementsByTagName('td');if(tdLst.length>0){cellArray[cellArray.length]=tdLst;}};return{header:headerArray,data:cellArray};};TableMan.prototype.serialize=function(){var cellLst=[];for(var i=0;i<this.tableData.data;i++){var row=this.tableData.data[i];for(var j=0;j<row.length;j++){cellLst[cellLst.length]=row[j];}}
return cellLst;};TableMan.prototype.getData=function(){return this.tableData.data;};TableMan.prototype.getHeader=function(){return this.tableData.header;};TableMan.prototype.getRowAt=function(i){return this.tableData.data[i];};TableMan.prototype.getCellAt=function(x,y){return(this.tableData.data[x])[y];};TableMan.prototype.getCol=function(cellIndex){var data=this.tableData.data;var cellNodes=[];for(var i=0;i<data.length;i++){if(data[i][cellIndex]){cellNodes[cellNodes.length]=data[i][cellIndex]}}
return cellNodes;};TableMan.prototype.cellIndexOf=function(cellNode){var nodeLst=eXo.core.DOMUtil.findAncestorByTagName(cellNode,'tr').getElementsByTagName('td');nodeLst=nodeLst.length>0?nodeLst:eXo.core.DOMUtil.findAncestorByTagName(cellNode,'tr').getElementsByTagName('th');for(var i=0;i<nodeLst.length;i++){if(nodeLst[i]==cellNode){return i;}}};TableMan.prototype.swapColumn=function(x1,x2){var header=this.getHeader();var data=this.getData();this.swapElement(header[x1],header[x2]);for(var y=0;y<data.length;y++){this.swapElement(this.getCellAt(y,x1),this.getCellAt(y,x2));}};TableMan.prototype.swapElement=function(e1,e2){var e1Clone=e1.cloneNode(true);e1Clone.onmousedown=e1.onmousedown;var e2Clone=e2.cloneNode(true);e2Clone.onmousedown=e2.onmousedown;e1.parentNode.insertBefore(e2Clone,e1);e1.parentNode.removeChild(e1);e2.parentNode.insertBefore(e1Clone,e2);e2.parentNode.removeChild(e2);};TableMan.prototype.cellBold=function(){var header=this.getHeader();for(var i=0;i<header.length;i++){var headCol=header[i];headCol.style.fontWeight='bold';}
var data=this.getData();for(var i=0;i<data.length;i++){for(var j=0;j<data[i].length;j++){var cell=data[i][j];cell.style.fontWeight='bold';cell.style.color='#f00';}}};if(!eXo.cs){eXo.cs={};}
eXo.cs.TableMan=new TableMan();function UIContextMenu(){this.menus=new Array,this.attachedElement=null;this.menuElement=null;this.preventDefault=true;this.preventForms=true;this.portletCssClass="UICalendarPortlet";}
UIContextMenu.prototype.getCallback=function(menu){if(!menu)return;var callback=menu.getAttribute("eXoCallback");return callback;};UIContextMenu.prototype.init=function(conf){this.IE=(eXo.core.Browser.browserType=="ie")?true:false;try{this.preventDefault=conf.preventDefault;this.preventForms=conf.preventForms;}catch(e){}
document.getElementById(this.portletName).onmouseover=this.setup;document.getElementById(this.portletName).onmouseout=this.setup;};UIContextMenu.prototype.setup=function(evt){var _e=window.event||evt;var type=_e.type;if(type=="mouseover")document.oncontextmenu=eXo.webui.UIContextMenu.show;if(type=="mouseout")document.oncontextmenu=function(){return true;};};UIContextMenu.prototype.attach=function(classNames,menuId){if(typeof(classNames)=="string"){this.menus[classNames]=menuId;}
if(typeof(classNames)=="object"){for(x=0;x<classNames.length;x++){this.menus[classNames[x]]=menuId;}}};UIContextMenu.prototype.getMenuElementId=function(){while(this.attachedElement!=null){var className=this.attachedElement.className;if(typeof(className)!="undefined"){className=className.replace(/^\s+/g,"").replace(/\s+$/g,"")
var classArray=className.split(/[ ]+/g);for(i=0;i<classArray.length;i++){if(this.menus[classArray[i]]){return this.menus[classArray[i]];}}}
if(this.IE){this.attachedElement=this.attachedElement.parentElement;}else{this.attachedElement=this.attachedElement.parentNode;}}
return null;};UIContextMenu.prototype.getReturnValue=function(){var returnValue=true;try{var tname=this.attachedElement.tagName.toLowerCase();}catch(e){return true;}
if((tname=="input"||tname=="textarea")){if(!this.preventForms){returnValue=true;}else{returnValue=false;}}else{if(!this.preventDefault){returnValue=true;}else{returnValue=false;}}
return returnValue;};UIContextMenu.prototype.hasChild=function(root,obj){if(typeof(obj)=="string")obj=document.getElementById(obj);var children=eXo.core.DOMUtil.findChildrenByClass(root,"div","UIRightClickPopupMenu");var len=children.length;for(var i=0;i<len;i++){if(children[i].id==obj.id)return children[i];}
return false;};UIContextMenu.prototype.getSource=function(evt){var _e=window.event||evt;var src=_e.target||_e.srcElement;return src;};UIContextMenu.prototype.autoHide=function(evt){var _e=window.event||evt;var eventType=_e.type;if(eventType=='mouseout'&&(this.style.display!="none")){eXo.cs.Utils.contextMenuTimeout=window.setTimeout("document.getElementById('"+this.id+"').style.display='none'",5000);}else{if(eXo.cs.Utils.contextMenuTimeout){window.clearTimeout(eXo.cs.Utils.contextMenuTimeout);eXo.cs.Utils.contextMenuTimeout.timeout=null;}}};UIContextMenu.prototype.replaceall=function(string,obj){var p=new Array();var i=0;for(var reg in obj){p.push(new RegExp(reg));string=string.replace(p[i],obj[reg]);i++;}
if(!string)alert("Not match");return string;};UIContextMenu.prototype.changeAction=function(obj,id){var actions=eXo.core.DOMUtil.findDescendantsByTagName(obj,"a");var len=actions.length;var href="";if(typeof(id)=="string"){var pattern=/objectId\s*=\s*[A-Za-z0-9_]*(?=&|'|")/;for(var i=0;i<len;i++){href=String(actions[i].href);if(!pattern.test(href))continue;actions[i].href=href.replace(pattern,"objectId="+id);}}else if(typeof(id)=="object"){for(var i=0;i<len;i++){href=String(actions[i].href);actions[i].href=this.replaceall(href,id);}}else{return;}};UIContextMenu.prototype.showHide=function(){if(!this.menuElement)return;if(this.menuElement.style.display!="block"){eXo.core.DOMUtil.cleanUpHiddenElements();this.menuElement.style.display="block";eXo.core.DOMUtil.listHideElements(this.menuElement);}else{this.menuElement.style.display="none";}};UIContextMenu.prototype.swapMenu=function(oldmenu,mousePos,evt){var DOMUtil=eXo.core.DOMUtil;var Browser=eXo.core.Browser;var browserHeight=eXo.core.Browser.getBrowserHeight()+document.documentElement.scrollTop||document.body.scrollTop;var browserWidth=eXo.core.Browser.getBrowserWidth()+document.documentElement.scrollLeft||document.body.scrollLeft;if(document.getElementById("tmpMenuElement"))DOMUtil.removeElement(document.getElementById("tmpMenuElement"));var tmpMenuElement=oldmenu.cloneNode(true);tmpMenuElement.setAttribute("id","tmpMenuElement");DOMUtil.addClass(tmpMenuElement,this.portletCssClass+" UIEmpty");this.menuElement=tmpMenuElement;var callback=this.getCallback(tmpMenuElement);if(callback){callback=callback+"(evt)";eval(callback);}
var uiApplication=document.getElementById("UIPortalApplication");if(this.menuElement){document.body.insertBefore(this.menuElement,uiApplication);var left=mousePos.x-2;var top=mousePos.y-2;if(Browser.isIE6())this.menuElement.style.width="140px";if(eXo.core.I18n.isRT()){left-=(eXo.cs.Utils.getElementWidth(this.menuElement)-3);if(Browser.isIE6()||Browser.isIE7())left-=eXo.cs.Utils.getScrollbarWidth()+3;}
this.menuElement.style.zIndex=2000;this.menuElement.style.top=top+"px";this.menuElement.style.left=left+"px";this.menuElement.style.display="block";this.menuElement.style.visibility="hidden";if((this.menuElement.offsetHeight+mousePos.y)>browserHeight)this.menuElement.style.top=mousePos.y-this.menuElement.offsetHeight+2+"px";if((this.menuElement.offsetWidth+mousePos.x)>browserWidth)this.menuElement.style.left=mousePos.x-this.menuElement.offsetWidth+2+"px";this.menuElement.style.display="none";this.menuElement.style.visibility="visible";}
this.showHide();};UIContextMenu.prototype.show=function(evt){var _e=window.event||evt
var UIContextMenu=eXo.webui.UIContextMenu;UIContextMenu.attachedElement=UIContextMenu.getSource(_e);var menuPos={"x":eXo.core.Browser.findMouseXInPage(_e),"y":eXo.core.Browser.findMouseYInPage(_e)};var menuElementId=UIContextMenu.getMenuElementId();var currentPortlet=eXo.core.DOMUtil.findAncestorByClass(UIContextMenu.attachedElement,UIContextMenu.portletCssClass);if(menuElementId){UIContextMenu.menuElement=eXo.core.DOMUtil.findDescendantById(currentPortlet,menuElementId);eXo.core.DOMUtil.listHideElements(UIContextMenu.menuElement);eXo.core.DOMUtil.cleanUpHiddenElements();UIContextMenu.swapMenu(document.getElementById(menuElementId),menuPos,_e);if(!UIContextMenu.menuElement)return false;UIContextMenu.menuElement.onmouseover=UIContextMenu.autoHide;UIContextMenu.menuElement.onmouseout=UIContextMenu.autoHide;return false;}
return UIContextMenu.getReturnValue();};eXo.webui.UIContextMenu=new UIContextMenu();function UIContextMenuCon(){}
UIContextMenuCon.prototype=new UIContextMenu();UIContextMenuCon.prototype.portletCssClass="UIContactPortlet";UIContextMenuCon.prototype.setup=function(evt){var _e=window.event||evt;var type=_e.type;if(type=="mouseover")document.oncontextmenu=eXo.webui.UIContextMenuCon.show;if(type=="mouseout")document.oncontextmenu=function(){return true;};};UIContextMenuCon.prototype.show=function(evt){var _e=window.event||evt
var UIContextMenu=eXo.webui.UIContextMenuCon;UIContextMenu.attachedElement=UIContextMenu.getSource(_e);var menuPos={"x":eXo.core.Browser.findMouseXInPage(_e),"y":eXo.core.Browser.findMouseYInPage(_e)};var menuElementId=UIContextMenu.getMenuElementId();var currentPortlet=eXo.core.DOMUtil.findAncestorByClass(UIContextMenu.attachedElement,UIContextMenu.portletCssClass);if(menuElementId){UIContextMenu.menuElement=eXo.core.DOMUtil.findDescendantById(currentPortlet,menuElementId);eXo.core.DOMUtil.listHideElements(UIContextMenu.menuElement);eXo.core.DOMUtil.cleanUpHiddenElements();UIContextMenu.swapMenu(document.getElementById(menuElementId),menuPos,_e);if(!UIContextMenu.menuElement)return false;UIContextMenu.menuElement.onmouseover=UIContextMenu.autoHide;UIContextMenu.menuElement.onmouseout=UIContextMenu.autoHide;return false;}
return UIContextMenu.getReturnValue();};eXo.webui.UIContextMenuCon=new UIContextMenuCon();function UIContextMenuMail(){}
UIContextMenuMail.prototype=new UIContextMenu();UIContextMenuMail.prototype.portletCssClass="UIMailPortlet";UIContextMenuMail.prototype.setup=function(evt){var _e=window.event||evt;var type=_e.type;if(type=="mouseover")document.oncontextmenu=eXo.webui.UIContextMenuMail.show;if(type=="mouseout")document.oncontextmenu=function(){return true;};};UIContextMenuMail.prototype.show=function(evt){var _e=window.event||evt
var UIContextMenu=eXo.webui.UIContextMenuMail;UIContextMenu.attachedElement=UIContextMenu.getSource(_e);var menuPos={"x":eXo.core.Browser.findMouseXInPage(_e),"y":eXo.core.Browser.findMouseYInPage(_e)};var menuElementId=UIContextMenu.getMenuElementId();var currentPortlet=eXo.core.DOMUtil.findAncestorByClass(UIContextMenu.attachedElement,UIContextMenu.portletCssClass);if(menuElementId){UIContextMenu.menuElement=eXo.core.DOMUtil.findDescendantById(currentPortlet,menuElementId);var callback=UIContextMenu.getCallback(UIContextMenu.menuElement);if(callback){callback=callback+"(_e)";eval(callback);}
eXo.core.DOMUtil.listHideElements(UIContextMenu.menuElement);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";}}
UIContextMenu.swapMenu(document.getElementById(menuElementId),menuPos,_e);if(!UIContextMenu.menuElement)return false;UIContextMenu.menuElement.onmouseover=UIContextMenu.autoHide;UIContextMenu.menuElement.onmouseout=UIContextMenu.autoHide;return false;}
return UIContextMenu.getReturnValue();};eXo.webui.UIContextMenuMail=new UIContextMenuMail();if(!window.console){window.console={info:function(){},warn:function(){},error:function(){},dir:function(){}}}
if(!eXo.cs.webservice){eXo.cs.webservice={};}
if(!eXo.cs.webservice.core){eXo.cs.webservice.core={};}
function WebserviceHandler(){this.HTTP_GET='GET';this.HTTP_POST='POST';this.LOADING_STATE='Loading';this.SUCCESS_STATE='Success';this.ERROR_STATE='Error';this.TIMEOUT_STATE='Timeout';this.action=false;this.manager=false;this.action=false;this.debugFlag=false;}
WebserviceHandler.prototype={init:function(manager){if(!manager){throw(new Message('Can not initialize WebserviceHandler instance without manager'));}
this.manager=manager;},makeRequest:function(url,method,data,action){if(!this.manager){throw(new Message("Can not make request without manager object."));}
this.action=action;var request=new eXo.portal.AjaxRequest(method,url,data);this.manager.initRequest(request,this);request.process();},onLoading:function(requestObj){if(this.debugFlag){console.info('['+this.handler.action+'] '+this.handler.LOADING_STATE);}
this.handler.update(this.handler.LOADING_STATE,requestObj,this.handler.action);},onSuccess:function(requestObj){if(this.debugFlag){console.info('['+this.handler.action+'] '+this.handler.SUCCESS_STATE);}
this.handler.update(this.handler.SUCCESS_STATE,requestObj,this.handler.action);},onError:function(requestObj){if(this.debugFlag){console.info('['+this.handler.action+'] '+this.handler.ERROR_STATE);}
this.handler.update(this.handler.ERROR_STATE,requestObj,this.handler.action);},onTimeout:function(requestObj){if(this.debugFlag){console.info('['+this.handler.action+'] '+this.handler.TIMEOUT_STATE);}
this.handler.update(this.handler.TIMEOUT_STATE,requestObj,this.handler.action);},update:function(state,requestObj,action){}};eXo.cs.webservice.core.WebserviceHandler=WebserviceHandler;function WebserviceManager(){}
WebserviceManager.prototype.init=function(){};WebserviceManager.prototype.ajaxProcessOverwrite=function(contentType,ajaxRequest){if(ajaxRequest.request==null)return;ajaxRequest.request.open(ajaxRequest.method,ajaxRequest.url,true);if(!contentType){if(ajaxRequest.method=="POST"){ajaxRequest.request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");}else{ajaxRequest.request.setRequestHeader("Content-Type","text/plain;charset=UTF-8");}}else{ajaxRequest.request.setRequestHeader("Content-Type",contentType);}
if(ajaxRequest.timeout>0)setTimeout(ajaxRequest.onTimeoutInternal,ajaxRequest.timeout);ajaxRequest.request.send(ajaxRequest.queryString);};WebserviceManager.prototype.ajaxProcessXmlContent=function(ajaxRequest){this.ajaxProcessOverwrite("text/xml;charset=UTF-8",ajaxRequest);};WebserviceManager.prototype.initRequest=function(ajaxRequest,handler){ajaxRequest.onSuccess=handler.onSuccess;ajaxRequest.onLoading=handler.onLoading;ajaxRequest.onTimeout=handler.onTimeout;ajaxRequest.onError=handler.onError;ajaxRequest.callBack=handler.callBack;ajaxRequest.handler=handler;this.currentRequest=ajaxRequest;};eXo.cs.webservice.core.WebserviceManager=new WebserviceManager();window.wcm=function(){}
wcm.insertCSSFromTextArea2FCK=function(Instance,ContentCSS){if(!Instance)return;var eContentCSS=document.getElementById(ContentCSS);var sContentCSSId=ContentCSS+"_Inline";var count=1;eContentCSS.onblur=updateStyle;function updateStyle(){var sValue=eContentCSS.value;if(!sValue)return;var iDoc=FCKeditorAPI.Instances[Instance].EditorWindow.document;var eHead=iDoc.getElementsByTagName("head")[0];var eStyle=iDoc.getElementById(sContentCSSId);if(eStyle){eHead.removeChild(eStyle);}
eStyle=iDoc.createElement("style");eStyle.setAttribute("type","text/css");eStyle.setAttribute("id",sContentCSSId);if(eXo.core.Browser.isFF()){eStyle.innerHTML=sValue;}else{eStyle.styleSheet.cssText=sValue;}
eHead.appendChild(eStyle);};(function checkFCKEditorAPI(){if(count<=5){try{updateStyle();if(updateStyle.time){clearTimeout(updateStyle.time);updateStyle.time=null;}}catch(e){count++;updateStyle.time=setTimeout(checkFCKEditorAPI,500);}}})();}
Utils=function(){Utils.prototype.removeQuickeditingBlock=function(portletID,quickEditingBlockId){var presentation=document.getElementById(portletID);var pNode=presentation.parentNode;var quickEditingBlock=document.getElementById(quickEditingBlockId);if(quickEditingBlock!=null){pNode.removeChild(quickEditingBlock);}};Utils.prototype.insertQuickeditingBlock=function(portletID,quickEditingBlockId){var presentation=document.getElementById(portletID);var parentNode=presentation.parentNode;var fistChild=eXo.core.DOMUtil.getChildrenByTagName(parentNode,"div")[0];if(fistChild.id==quickEditingBlockId){var quickEditingBlock=document.getElementById(quickEditingBlockId);quickEditingBlock.parentNode.removeChild(quickEditingBlock);}
var quickEditingBlock=document.getElementById(quickEditingBlockId);if(quickEditingBlock!=null){if(eXo.core.Browser.browserType=="ie"){var portalName=eXo.env.portal.portalName;if(portalName!="classic"){if(portletID==(portalName+"-signin"))quickEditingBlock.style.left=presentation.offsetWidth+quickEditingBlock.offsetWidth+'px';}else{if(portletID==(portalName+"-logo")||portletID==(portalName+"-signin")){quickEditingBlock.style.left=presentation.offsetWidth+quickEditingBlock.offsetWidth+'px';}}}
parentNode.insertBefore(quickEditingBlock,presentation);}};}
eXo.wcm=new Utils();function showObject(obj){var element=eXo.core.DOMUtil.findNextElementByTagName(obj,"div");if(!element.style.display||element.style.display=='none'){element.style.display='block';}else{element.style.display='none';}}
function getHostName(){var parentLocation=window.parent.location;return parentLocation.href.substring(0,parentLocation.href.indexOf(parentLocation.pathname));}
function getRuntimeContextPath(){return getHostName()+eXo.env.portal.context+'/'+eXo.env.portal.accessMode+'/'+eXo.env.portal.portalName+'/';}
function getKeynum(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;}
function quickSearch(resultPageURI){var searchBox=document.getElementById("siteSearchBox");var keyWordInput=eXo.core.DOMUtil.findFirstDescendantByClass(searchBox,"input","keyword");var keyword=encodeURI(keyWordInput.value);var resultPageURIDefault="searchResult";var params="portal="+eXo.env.portal.portalName+"&keyword="+keyword;var baseURI=getHostName()+eXo.env.portal.context+"/"+eXo.env.portal.accessMode+"/"+eXo.env.portal.portalName;if(resultPageURI!=undefined){baseURI=baseURI+"/"+resultPageURI;}else{baseURI=baseURI+"/"+resultPageURIDefault;}
window.location=baseURI+"?"+params;}
function quickSearchOnEnter(event,resultPageURI){var keyNum=getKeynum(event);if(keyNum==13){quickSearch(resultPageURI);}}
function search(comId){var searchForm=document.getElementById(comId);var inputKey=eXo.core.DOMUtil.findDescendantById(searchForm,"keywordInput");searchForm.onsubmit=function(){return false;};inputKey.onkeypress=function(event){var keyNum=getKeynum(event);if(keyNum==13){var searchButton=eXo.core.DOMUtil.findFirstDescendantByClass(this.form,"div","SearchButton");searchButton.onclick();}}}
function keepKeywordOnBoxSearch(){var queryRegex=/^portal=[\w%]+&keyword=[\w%]+/;var searchBox=document.getElementById("siteSearchBox");var keyWordInput=eXo.core.DOMUtil.findFirstDescendantByClass(searchBox,"input","keyword");var queryString=location.search.substring(1);if(!queryString.match(queryRegex)){return;}
var portalParam=queryString.split('&')[0];var keyword=decodeURI(queryString.substring((portalParam+"keyword=").length+1));if(keyword!=undefined&&keyword.length!=0){keyWordInput.value=unescape(keyword);}}
eXo.core.Browser.addOnLoadCallback("keepKeywordOnBoxSearch",keepKeywordOnBoxSearch);UIPopupWindow.prototype.init=function(popupId,isShow,isResizable,showCloseButton,isShowMask){window.scroll(0,0);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";if(!isShowMask)isShowMask=false;popup.isShowMask=isShowMask;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{if(popup.offsetHeight==0){setTimeout("eXo.webui.UIPopupWindow.show('"+popupId+"',"+isShowMask+")",500);return;}
this.show(popup,isShowMask);}}};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 popupWindows=eXo.core.DOMUtil.findDescendantsByClass(document,"div","UIPopupWindow");for(var i=0;i<popupWindows.length;i++){if(popupWindows[i].style.display!="none"){eXo.webui.UIPopupWindow.show(popupWindows[i],popupWindows[i].isShowMask);}}
var params=[{name:"objectId",value:cws.showControlWorkspace}];ajaxAsyncGetRequest(eXo.env.server.createPortalURL(this.id,"SetVisible",true,params),false);};function initCheckedRadio(id){eXo.core.Browser.chkRadioId=id;};function initCondition(formid){var formElement=document.getElementById(formid);var radioboxes=[];for(var i=0;i<formElement.elements.length;i++){if(formElement.elements[i].type=="radio")radioboxes.push(formElement.elements[i]);}
var i=radioboxes.length;while(i--){radioboxes[i].onclick=chooseCondition;}
if(eXo.core.Browser.chkRadioId&&eXo.core.Browser.chkRadioId!="null"){var selectedRadio=document.getElementById(eXo.core.Browser.chkRadioId);}else{var selectedRadio=radioboxes[0];}
var itemSelectedContainer=eXo.core.DOMUtil.findAncestorByClass(selectedRadio,"ContentSearchForm");var itemContainers=eXo.core.DOMUtil.findDescendantsByClass(selectedRadio.form,"div","ContentSearchForm");for(var i=1;i<itemContainers.length;i++){setCondition(itemContainers[i],true);}
enableCondition(itemSelectedContainer);}
function chooseCondition(){var me=this;var hiddenField=eXo.core.DOMUtil.findFirstDescendantByClass(me.form,"input","hidden");hiddenField.value=me.id;var itemSelectedContainer=eXo.core.DOMUtil.findAncestorByClass(me,"ContentSearchForm");var itemContainers=eXo.core.DOMUtil.findDescendantsByClass(me.form,"div","ContentSearchForm");for(var i=1;i<itemContainers.length;i++){setCondition(itemContainers[i],true);}
enableCondition(itemSelectedContainer);window.wcm.lastCondition=itemSelectedContainer;};function enableCondition(itemContainer){if(window.wcm.lastCondition)setCondition(window.wcm.lastCondition,true);setCondition(itemContainer,false);};function setCondition(itemContainer,state){var domUtil=eXo.core.DOMUtil;var action=domUtil.findDescendantsByTagName(itemContainer,"img");if(action&&(action.length>0)){for(var i=0;i<action.length;i++){if(state){action[i].style.visibility="hidden";}else{action[i].style.visibility="";}}}
var action=domUtil.findDescendantsByTagName(itemContainer,"input");if(action&&(action.length>0)){for(i=0;i<action.length;i++){if(action[i].type!="radio")action[i].disabled=state;}}
var action=domUtil.findDescendantsByTagName(itemContainer,"select");if(action&&(action.length>0)){for(i=0;i<action.length;i++){action[i].disabled=state;}}};function removeCondition(){};function setHiddenValue(){var inputHidden=document.getElementById("checkedRadioId");if(eXo.core.Browser.chkRadioId=="null"){inputHidden.value="name";document.getElementById("name").checked=true;}else{inputHidden.value=eXo.core.Browser.chkRadioId;document.getElementById(eXo.core.Browser.chkRadioId).checked=true;}}
function showHideOrderBy(){var formObj=document.getElementById('UIViewerManagementForm');var viewerModeObj=formObj['ViewerMode'];var orderXXX=eXo.core.DOMUtil.findDescendantsByClass(formObj,'tr','OrderBlock');viewerModeObj[0].onclick=function(){for(var i=0;i<orderXXX.length;i++){orderXXX[i].style.display='';}}
viewerModeObj[1].onclick=function(){for(var i=0;i<orderXXX.length;i++){orderXXX[i].style.display='none';}}}
function showPopupMenu(obj){if(!obj)return;var uiNavi=document.getElementById('PortalNavigationTopContainer');var uiACMENavi=document.getElementById('navigation-generator');var uiWCMNavigationPortlet=eXo.core.DOMUtil.findFirstDescendantByClass(uiACMENavi,"div","UIWCMNavigationPortlet");if(eXo.core.Browser.browserType=='ie'){if(uiNavi)uiNavi.style.position="static";if(uiWCMNavigationPortlet)uiWCMNavigationPortlet.style.position="static";}
if(obj.Timeout)clearTimeout(obj.Timeout);var DOMUtil=eXo.core.DOMUtil;var mnuItemContainer=DOMUtil.findNextElementByTagName(obj,"div");var objParent=DOMUtil.findAncestorByClass(obj,"TBItem");if(mnuItemContainer&&mnuItemContainer.style.display!="block"){mnuItemContainer.style.display='block';mnuItemContainer.style.width=mnuItemContainer.offsetWidth-parseInt(DOMUtil.getStyle(mnuItemContainer,"borderLeftWidth"))-parseInt(DOMUtil.getStyle(mnuItemContainer,"borderRightWidth"))+'px';objParent.className='TBItemHover';mnuItemContainer.onmouseout=function(){if(eXo.core.Browser.browserType=='ie'){if(uiNavi)uiNavi.style.position="relative";if(uiWCMNavigationPortlet)uiWCMNavigationPortlet.style.position="relative";}
obj.Timeout=setTimeout(function(){mnuItemContainer.style.display='none';objParent.className='TBItem';mnuItemContainer.onmouseover=null;mnuItemContainer.onmouseout=null;},1*10);}
mnuItemContainer.onmouseover=function(){objParent.className='TBItemHover';if(eXo.core.Browser.browserType=='ie'){if(uiNavi)uiNavi.style.position="static";if(uiWCMNavigationPortlet)uiWCMNavigationPortlet.style.position="static";}
if(obj.Timeout)clearTimeout(obj.Timeout);obj.Timeout=null;}
obj.onmouseout=mnuItemContainer.onmouseout;}}
function showPopupSubMenu(obj){if(!obj)return;if(obj.Timeout)clearTimeout(obj.Timeout);var DOMUtil=eXo.core.DOMUtil;var objParent=DOMUtil.findAncestorByClass(obj,"ArrowIcon");var subMenuItemContainer=false;if(objParent)subMenuItemContainer=DOMUtil.findNextElementByTagName(objParent,"div");if(subMenuItemContainer&&subMenuItemContainer.style.display!="block"){subMenuItemContainer.style.display='block';objParent.className='MenuItemHover ArrowIcon';subMenuItemContainer.onmouseout=function(){objParent.Timeout=setTimeout(function(){subMenuItemContainer.style.display='none';objParent.className='MenuItem ArrowIcon';subMenuItemContainer.onmouseover=null;subMenuItemContainer.onmouseout=null;},1*10);}
subMenuItemContainer.onmouseover=function(){objParent.className='MenuItemHover ArrowIcon';if(objParent.Timeout)clearTimeout(objParent.Timeout);objParent.Timeout=null;}
obj.onmouseout=subMenuItemContainer.onmouseout;subMenuItemContainer.style.width=subMenuItemContainer.offsetWidth-parseInt(DOMUtil.getStyle(subMenuItemContainer,"borderLeftWidth"))-parseInt(DOMUtil.getStyle(subMenuItemContainer,"borderRightWidth"))+'px';subMenuItemContainer.style.left=objParent.offsetLeft+objParent.offsetWidth+'px';subMenuItemContainer.style.top=eXo.core.Browser.findPosYInContainer(objParent,subMenuItemContainer.offsetParent)+'px';}}
function getCurrentNodes(navigations,selectedNodeUri){var currentNodes=new Array();var currentNodeUris=new Array();currentNodeUris=selectedNodeUri.split("/");for(var i in navigations){for(var j in navigations[i].nodes){if(navigations[i].nodes[j].name==currentNodeUris[0]){currentNodes[0]=navigations[i].nodes[j];break;}}}
var parent=currentNodes[0];for(var k=1;k<currentNodeUris.length;k++){if(parent.children=='null'){break;}
for(var n in parent.children){var node=parent.children[n];if(currentNodeUris[k]==node.name){currentNodes[k]=node;parent=node;break;}}}
return currentNodes;}
function getBreadcrumbArr(navigations,previousURI,wcmContentTitle){var breadcrumbNodes=new Array();var breadcrumbForNavigations=new Array();var previousNodeUris=previousURI.split("/");var JsonObj={};for(var i in navigations){for(var j in navigations[i].nodes){if(navigations[i].nodes[j].name==previousNodeUris[0]){JsonObj={resolvedLabel:navigations[i].nodes[j].resolvedLabel,uri:navigations[i].nodes[j].uri}
breadcrumbForNavigations[0]=navigations[i].nodes[j];breadcrumbNodes[0]=JsonObj;break;}}}
function getChild(previousNodeUris,children,index){var breadcrumbForNavigations=new Array();for(var i in children){if(previousNodeUris[index]==children[i].name){JsonObj={resolvedLabel:children[i].resolvedLabel,uri:children[i].uri}
breadcrumbNodes[index]=JsonObj;breadcrumbForNavigations[index]=children[i];break;}}
if(breadcrumbForNavigations[index].length>0){getChild(previousNodeUris,breadcrumbForNavigations[index].children,++index);}}
if(previousNodeUris.length>1)
getChild(previousNodeUris,breadcrumbForNavigations[0].children,1);JsonObj={resolvedLabel:wcmContentTitle,uri:"#"}
breadcrumbNodes[breadcrumbNodes.length]=JsonObj;return breadcrumbNodes;}
function getBreadcrumbs(){var navigations=eXo.env.portal.navigations;var selectedNodeUri=eXo.env.portal.selectedNodeUri;var wcmContentTitle=eXo.env.portal.wcmContentTitle;var previousURI=eXo.env.portal.previousURI;var breadcumbs=new Array();if(wcmContentTitle!='null'){breadcumbs=getBreadcrumbArr(navigations,previousURI,wcmContentTitle);}else{breadcumbs=getCurrentNodes(navigations,selectedNodeUri);}
return breadcumbs;}
ScrollManager.prototype.checkAvailableSpace=function(maxSpace){if(!maxSpace)maxSpace=this.getElementSpace(this.mainContainer)-this.getElementSpace(this.arrowsContainer)-50;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.getVisibleElements=function(){var availableSpace=this.getElementSpace(this.mainContainer)-this.getElementSpace(this.arrowsContainer)-50;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;}};function UIWCMNavigation(){this.currentOpenedMenu=null;this.scrollMgr=null;this.scrollManagerLoaded=false;};UIWCMNavigation.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);};UIWCMNavigation.prototype.onLoad=function(navigationId){var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var uiNavPortlets=eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div",navigationId);if(uiNavPortlets.length){var mainContainer=eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlets[0],"div","TabsContainer");eXo.portal.UIWCMNavigation.init(uiNavPortlets[0],mainContainer,0,0);for(var i=1;i<uiNavPortlets.length;++i){uiNavPortlets[i].style.display="none";}}};UIWCMNavigation.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.UIWCMNavigation.setTabStyleOnMouseOver;item.onmouseout=eXo.portal.UIWCMNavigation.setTabStyleOnMouseOut;if(!item.getAttribute('hidesubmenu')){item.onmousemove=eXo.portal.UIWCMNavigation.tabOnMouseMove;}
item.style.width=item.offsetWidth+3+"px";var container=DOMUtil.findFirstDescendantByClass(item,"div",this.containerStyleClass);if(container){if(eXo.core.Browser.browserType=="mozilla"||eXo.core.Browser.isIE7()||eXo.core.Browser.browserType=="safari"){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.UIWCMNavigation.onMenuItemOver;menuItem.onmouseout=eXo.portal.UIWCMNavigation.onMenuItemOut;var cont=DOMUtil.findAncestorByClass(menuItem,this.containerStyleClass);if(!cont.id)cont.id="PortalNavigationContainer-"+i+Math.random();cont.resized=false;}};UIWCMNavigation.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.UIWCMNavigation.currentOpenedMenu){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}}}
UIWCMNavigation.prototype.setTabStyleOnMouseOver=function(e){var tab=this;if(eXo.portal.UIWCMNavigation.previousMenuItem!=tab){eXo.portal.UIWCMNavigation.hideMenu();}
eXo.portal.UIWCMNavigation.setTabStyleOnMouseOut(e,tab);eXo.portal.UIWCMNavigation.previousMenuItem=tab;if(!eXo.portal.UIWCMNavigation.menuVisible){var menuItemContainer=eXo.core.DOMUtil.findFirstDescendantByClass(tab,"div",eXo.portal.UIWCMNavigation.containerStyleClass);var hideSubmenu=tab.getAttribute('hideSubmenu');if(menuItemContainer&&!hideSubmenu){eXo.portal.UIWCMNavigation.toggleSubMenu(e,tab,menuItemContainer);}}
eXo.portal.UIWCMNavigation.menuVisible=true;};UIWCMNavigation.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.UIWCMNavigation.currentOpenedMenu){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}}
eXo.portal.UIWCMNavigation.hideMenuTimeout(500);}
UIWCMNavigation.prototype.tabOnMouseMove=function(){eXo.portal.UIWCMNavigation.cancelHideMenuContainer();};UIWCMNavigation.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.UIWCMNavigation.currentOpenedMenu)eXo.portal.UIWCMNavigation.hideMenu();eXo.portal.UIWCMNavigation.superClass.pushVisibleContainer(menuItemContainer.id);var y=item.offsetHeight+item.offsetTop;var x=item.offsetLeft+2;eXo.portal.UIWCMNavigation.superClass.setPosition(menuItemContainer,x,y);eXo.portal.UIWCMNavigation.superClass.show(menuItemContainer);menuItemContainer.style.width=menuItemContainer.offsetWidth-parseInt(DOMUtil.getStyle(menuItemContainer,'borderLeftWidth'))-parseInt(DOMUtil.getStyle(menuItemContainer,'borderRightWidth'))+"px";eXo.portal.UIWCMNavigation.currentOpenedMenu=menuItemContainer.id;var uiPortalApplication=document.getElementById("UIPortalApplication");uiPortalApplication.onclick=eXo.portal.UIWCMNavigation.hideMenu;}else{eXo.portal.UIWCMNavigation.hideMenuContainer();}}};UIWCMNavigation.prototype.cancelHideMenuContainer=function(){if(this.hideMenuTimeoutId){window.clearTimeout(this.hideMenuTimeoutId);}};UIWCMNavigation.prototype.closeMenuTimeout=function(){eXo.portal.UIWCMNavigation.hideMenuTimeout(200);};UIWCMNavigation.prototype.hideMenuTimeout=function(time){this.cancelHideMenuContainer();if(!time||time<=0){time=200;}
this.hideMenuTimeoutId=window.setTimeout('eXo.portal.UIWCMNavigation.hideMenu() ;',time);};UIWCMNavigation.prototype.hideMenuContainer=function(){var menuItemContainer=document.getElementById(eXo.portal.UIWCMNavigation.currentOpenedMenu);if(menuItemContainer){eXo.portal.UIWCMNavigation.superClass.pushHiddenContainer(menuItemContainer.id);eXo.portal.UIWCMNavigation.superClass.popVisibleContainer();eXo.portal.UIWCMNavigation.superClass.setCloseTimeout();eXo.portal.UIWCMNavigation.superClass.hide(menuItemContainer);eXo.portal.UIWCMNavigation.currentOpenedMenu=null;}
this.previousMenuItem=false;eXo.portal.UIWCMNavigation.menuVisible=false;};UIWCMNavigation.prototype.hideMenu=function(){if(eXo.portal.UIWCMNavigation.currentOpenedMenu){var currentItemContainer=document.getElementById(eXo.portal.UIWCMNavigation.currentOpenedMenu);var tab=eXo.core.DOMUtil.findAncestorByClass(currentItemContainer,"UITab");eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}
eXo.portal.UIWCMNavigation.hideMenuContainer();};UIWCMNavigation.prototype.onMenuItemOver=function(e){var menuItem=this;var DOMUtil=eXo.core.DOMUtil;var subContainer=DOMUtil.findFirstDescendantByClass(menuItem,"div",eXo.portal.UIWCMNavigation.containerStyleClass);if(subContainer){eXo.portal.UIWCMNavigation.superClass.pushVisibleContainer(subContainer.id);eXo.portal.UIWCMNavigation.showMenuItemContainer(menuItem,subContainer);if(!subContainer.firstTime){subContainer.style.width=subContainer.offsetWidth+2+"px";subContainer.firstTime=true;}}
eXo.portal.UIWCMNavigation.cancelHideMenuContainer();};UIWCMNavigation.prototype.showMenuItemContainer=function(menuItem,menuItemContainer){var x=menuItem.offsetWidth;var y=menuItem.offsetTop;this.superClass.setPosition(menuItemContainer,x,y);this.superClass.show(menuItemContainer);};UIWCMNavigation.prototype.onMenuItemOut=function(e){var menuItem=this;var subContainer=eXo.core.DOMUtil.findFirstDescendantByClass(menuItem,"div",eXo.portal.UIWCMNavigation.containerStyleClass);if(subContainer){eXo.portal.UIWCMNavigation.superClass.pushHiddenContainer(subContainer.id);eXo.portal.UIWCMNavigation.superClass.popVisibleContainer();eXo.portal.UIWCMNavigation.superClass.setCloseTimeout(300);}};UIWCMNavigation.prototype.loadScroll=function(e){var uiNav=eXo.portal.UIWCMNavigation;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();}};UIWCMNavigation.prototype.initScroll=function(e){if(!eXo.portal.UIWCMNavigation.scrollManagerLoaded)eXo.portal.UIWCMNavigation.loadScroll();var scrollMgr=eXo.portal.UIWCMNavigation.scrollMgr;scrollMgr.init();scrollMgr.checkAvailableSpace();scrollMgr.renderElements();};UIWCMNavigation.prototype.scrollCallback=function(){};eXo.portal.UIWCMNavigation=new UIWCMNavigation();WCMServices=function(){WCMServices.prototype.parseXML=function(text){var xmlDoc;try
{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.loadXML(text);}
catch(e)
{try
{parser=new DOMParser();xmlDoc=parser.parseFromString(text,"text/xml");}
catch(e)
{alert(e.message);return;}}
return xmlDoc;}}
eXo.wcm.services=new WCMServices();Vote=function(){Vote.prototype.getVote=function(repository,workspace,path){var retText=ajaxAsyncGetRequest("/rest/private/contents/vote/getVote/?repositoryName="+repository+"&workspaceName="+workspace+"&jcrPath="+path,false);var doc=parseXML(retText);rate=doc.getElementsByTagName("rate")[0].childNodes[0].nodeValue;total=doc.getElementsByTagName("total")[0].childNodes[0].nodeValue;document.all['result'].innerHTML=rate+' / '+total;};Vote.prototype.addVote=function(repository,workspace,path,vote,lang){var mode=(eXo.env.portal.accessMode=="private")?"/private":"";ajaxAsyncGetRequest("/rest"+mode+"/contents/vote/postVote/?repositoryName="+repository+"&workspaceName="+workspace+"&jcrPath="+path+"&vote="+vote+"&lang="+lang,false);};Vote.prototype.showVoteWindow=function(div){var target=document.getElementById(div);target.style.display="inline";var html='<div style="border:1px solid #FF0000;">';for(i=1;i<=5;i++){html+='<a href="#" onclick="javascript:eXo.wcm.vote.addVote(\'repository\', \'collaboration\', \'/sites%20content/live/classic/categories/Classic/test\',  \''+i+'.0\', \'en\')">'+i+'</a>';}
html+='</div>';target.innerHTML=html;};}
eXo.wcm.vote=new Vote();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)return;var uiControl=document.getElementById('UIControl');var uiSideBar=document.getElementById('UISideBar');if(!uiControl||!uiSideBar)return;var uiSideBarControl=DOM.findFirstDescendantByClass(uiSideBar,'div','UISideBarControl');if(!uiSideBarControl)return;var deltaH=refElement.offsetHeight-uiControl.offsetHeight-uiSideBarControl.offsetHeight;var resizeObj=DOM.findDescendantsByClass(portlet,'div','UIResizableBlock');if(resizeObj.length){for(var i=0;i<resizeObj.length;i++){resizeObj[i].style.display='block';resizeObj[i].style.height=(resizeObj[i].offsetHeight+deltaH)+"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.showHideExtendedView=function(event){var elemt=document.getElementById("ListExtendedView");event=event||window.event;event.cancelBubble=true;var iconTree=document.getElementById("iconTreeExplorer");if(elemt.style.display=='none'){elemt.style.display='block';iconTree.style.position='static';}else{elemt.style.display='none';iconTree.style.position='relative';}
DOM.listHideElements(elemt);}
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.isEventTarget=function(element,e){if(window.event)e=window.event;var srcEl=e.srcElement?e.srcElement:e.target;if(element==srcEl){return true;}
return false;};ECMUtils.prototype.focusCurrentNodeInTree=function(id){var element=document.getElementById(id);if(!element)return;var sidebar=DOM.findAncestorByClass(element,"UIResizableBlock");var top=element.offsetTop;var left=element.offsetLeft;sidebar.scrollTop=(top-sidebar.offsetTop)/2;sidebar.scrollLeft=(left-sidebar.offsetLeft)/2;};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.onKeyAddressBarPress=function(){var uiAddressBarControl=document.getElementById("AddressBarControl");if(uiAddressBarControl){uiAddressBarControl.onkeypress=Self.onAddressBarEnterPress;}};ECMUtils.prototype.onKeySimpleSearchPress=function(){var uiAddressBarControl=document.getElementById("SimpleSearchControl");if(uiAddressBarControl){uiAddressBarControl.onkeypress=Self.onSimpleSearchEnterPress;}};ECMUtils.prototype.onSimpleSearchEnterPress=function(event){var gotoLocation=document.getElementById("SimpleSearch");var event=event||window.event;if(gotoLocation&&event.keyCode==13){eval(gotoLocation.href);return false;}};ECMUtils.prototype.onAddressBarEnterPress=function(event){var gotoLocation=document.getElementById("GotoLocation");var event=event||window.event;if(gotoLocation&&event.keyCode==13){eval(gotoLocation.href);return false;}};ECMUtils.prototype.insertContentToIframe=function(i){var original=document.getElementById("original"+i);var resived=document.getElementById("revised"+i);try{if(resived!=null){resivedDoc=resived.contentWindow.document;resivedDoc.open();resivedDoc.write(resived.getAttribute("content"));resivedDoc.close();}
if(original!=null){var originaleDoc=original.contentWindow.document;originaleDoc.open();originaleDoc.write(original.getAttribute("content"));originaleDoc.close();}}catch(ex){}};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.open(serverInfo+"/"+portalName+"/rest/private/lnkproducer/openit.lnk?path=/"+repository+"/"+workspace+path,'_new');}else{window.open(serverInfo+"/"+portalName+"/rest/private/jcr/"+repository+"/"+workspace+nodePath,'_new');}}else{window.open(serverInfo+"/"+portalName+"/rest/private/jcr/"+repository+"/"+workspace+nodePath,'_new');}};var clip=null;ECMUtils.prototype.initClipboard=function(size){if(eXo.core.Browser.getBrowserType()!="ie"){if(size>0){for(var i=1;i<=size;i++){clip=new ZeroClipboard.Client();clip.setHandCursor(true);clip.glue('clip_button'+i);}}}}
ECMUtils.prototype.closeContextMenu=function(element){var contextMenu=document.getElementById("ECMContextMenu");if(contextMenu)contextMenu.style.display="none";}
ECMUtils.prototype.pushToClipboard=function(event,url){if(window.clipboardData&&clipboardData.setData){clipboardData.setData("Text",url);}else{alert("Internet Explorer required");}
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);}}};ECMUtils.prototype.checkAvailableSpace=function(){var actionBar=document.getElementById('UIActionBar');var prtNode=document.getElementById('DMSMenuItemContainer');var uiTabs=DOM.findDescendantsByClass(prtNode,"div","SubTabItem");var listHideIcon=document.getElementById('IconListHideElement');var viewBarContainer=document.getElementById("UIViewBarContainer");var elementSpace=0;var portletFrag=DOM.findAncestorByClass(actionBar,"PORTLET-FRAGMENT");if(eXo.core.Browser.browserType=='ie'){maxSpace=parseInt(actionBar.offsetWidth)-parseInt(viewBarContainer.offsetWidth);}else{var maxSpace=parseInt(portletFrag.offsetWidth)-parseInt(viewBarContainer.offsetWidth);}
for(var i=0;i<uiTabs.length;i++){uiTabs[i].style.display="block";listHideIcon.style.display="block";if(elementSpace>=maxSpace-uiTabs[i].offsetWidth-listHideIcon.offsetWidth){listHideIcon.className="IconListHideElement ShowElementIcon";listHideIcon.style.visibility="visible";eXo.ecm.ECMUtils.addElementListHide(uiTabs[i]);uiTabs[i].style.display='none';}else{listHideIcon.className="IconListHideElement ShowElementIcon";listHideIcon.style.visibility="hidden";uiTabs[i].style.display='block';elementSpace+=uiTabs[i].offsetWidth;var subItem=DOM.findFirstDescendantByClass(uiTabs[i],"a","SubTabIcon");eXo.ecm.ECMUtils.removeElementListHide(subItem);}}
eXo.core.Browser.addOnResizeCallback('ECMresize',function(){eXo.ecm.ECMUtils.checkAvailableSpace()});};ECMUtils.prototype.addElementListHide=function(obj){var tmpNode=obj.cloneNode(true);var subItem=DOM.findFirstDescendantByClass(tmpNode,"a","SubTabIcon");var listHideIcon=document.getElementById('IconListHideElement');var listHideContainer=DOM.findFirstDescendantByClass(listHideIcon,"div","ListHideContainer");var uiTabs=DOM.findDescendantsByClass(listHideContainer,"div","SubTabItem");for(var i=0;i<uiTabs.length;i++){var hideSubItem=DOM.findFirstDescendantByClass(uiTabs[i],"a","SubTabIcon");if(hideSubItem.className==subItem.className){return;}}
listHideContainer.appendChild(tmpNode);if(listHideContainer.innerHTML!=""){var clearElement=document.createElement("div");clearElement.style.clear="left";listHideContainer.appendChild(clearElement);}else{listHideContainer.style.display="none";}};ECMUtils.prototype.removeElementListHide=function(obj){if(!obj)return;var listHideIcon=document.getElementById('IconListHideElement');var listHideContainer=DOM.findFirstDescendantByClass(listHideIcon,"div","ListHideContainer");var uiTabs=DOM.findDescendantsByClass(listHideContainer,"div","SubTabItem");var tmpNode=false;for(var i=0;i<uiTabs.length;i++){tmpNode=DOM.findFirstDescendantByClass(uiTabs[i],"a","SubTabIcon");if(tmpNode.className==obj.className){listHideContainer.removeChild(uiTabs[i]);}}};ECMUtils.prototype.showListHideElements=function(obj,event){event=event||window.event;event.cancelBubble=true;var listHideContainer=DOM.findFirstDescendantByClass(obj,"div","ListHideContainer");var listItems=DOM.findDescendantsByClass(listHideContainer,"div","SubTabItem");if(listItems&&listItems.length>0){if(listHideContainer.style.display!='block'){obj.style.position='relative';listHideContainer.style.display='block';listHideContainer.style.top=obj.offsetHeight+'px';listHideContainer.style.left=-(listHideContainer.offsetWidth-obj.offsetWidth)+'px';}else{obj.style.position='static';listHideContainer.style.display='none';}
DOM.listHideElements(listHideContainer);}};};eXo.ecm.ECMUtils=new ECMUtils();function DMSBrowser(){}
DMSBrowser.prototype.managerResize=function(){if(eXo.core.Browser.currheight!=document.documentElement.clientHeight||eXo.core.Browser.currwidth!=document.documentElement.clientWidth){clearTimeout(eXo.core.Browser.breakStream);eXo.core.Browser.breakStream=setTimeout(eXo.core.Browser.onResize,100);}
eXo.core.Browser.currheight=document.documentElement.clientHeight;eXo.core.Browser.currwidth=document.documentElement.clientWidth;}
DMSBrowser.prototype.findPosX=function(obj,isRTL){var curleft=0;var tmpObj=obj;while(tmpObj){curleft+=tmpObj.offsetLeft;tmpObj=tmpObj.offsetParent;}
if(isRTL)return curleft+obj.offsetWidth;return curleft;};DMSBrowser.prototype.findMouseRelativeX=function(object,e){var posx=-1;var posXObject=eXo.ecm.DMSBrowser.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;};eXo.ecm.DMSBrowser=new DMSBrowser();window.onresize=eXo.ecm.DMSBrowser.managerResize;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){element.Timeout=setTimeout(function(){expandElement.onclick(event)},1000);}}}
var scroller=DOM.findAncestorByClass(element,"UIResizableBlock");scroller.onmousemove=eXo.ecm.UIListView.setScroll;};ListView.prototype.setScroll=function(evt){eXo.ecm.UIListView.object=this;var element=eXo.ecm.UIListView.object;var pos=eXo.core.Browser.findMouseYInPage(evt)-eXo.core.Browser.findPosY(element);if(element.offsetHeight-pos<40){element.scrollTop=element.scrollTop+5;}else if(element.scrollTop>0&&pos<40){element.scrollTop=element.scrollTop-5;}};ListView.prototype.mouseOutTree=function(event){var element=this;clearTimeout(element.Timeout);};ListView.prototype.mouseDownTree=function(event){var event=event||window.event;var element=this;Self.enableDragDrop=true;Self.srcPath=element.getAttribute("objectId");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 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');var regex=new RegExp("^"+decodeURIComponent(idTarget)+"/");var regex1=new RegExp("^"+decodeURIComponent(Self.srcPath)+"/");if(regex.test(decodeURIComponent(Self.srcPath)+"/")){delete Self.srcPath;return;}
if(regex1.test(decodeURIComponent(idTarget)+"/")){delete Self.srcPath;return;}
if(event.ctrlKey&&event.shiftKey)
Self.postGroupAction(moveAction.getAttribute("symlink"),"&destInfo="+wsTarget+":"+idTarget);else
Self.postGroupAction(moveAction,"&destInfo="+wsTarget+":"+idTarget);}};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;Self.srcPath=element.getAttribute("objectId");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||(event.shiftKey&&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;if(event.shiftKey)element.setAttribute("isLink",true);else element.setAttribute("isLink",null);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){if(Self.rootNode==element){delete Self.rootNode;return;}
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');var regex=new RegExp("^"+idTarget);if(regex.test(Self.srcPath)){delete Self.srcPath;return;}
if(event.ctrlKey&&event.shiftKey)
Self.postGroupAction(moveAction.getAttribute("symlink"),"&destInfo="+wsTarget+":"+idTarget);else
Self.postGroupAction(moveAction,"&destInfo="+wsTarget+":"+idTarget);}else{if(event.ctrlKey&&!element.selected){element.selected=true;Self.temporaryItem=element;Self.itemsSelected.push(element);element.setAttribute("isLink",null);if(event.shiftKey)element.setAttribute("isLink",true);}else if(event.ctrlKey&&element.selected){element.selected=null;element.setAttribute("isLink",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;element.setAttribute("isLink",null);if(event.ctrlKey)element.setAttribute("isLink",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.ecm.DMSBrowser.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.ecm.DMSBrowser.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.setAttribute("isLink",null);if(event.ctrlKey&&event.shiftKey)itemBox.setAttribute("isLink",true);itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.setAttribute("isLink",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.setAttribute("isLink",null);if(event.ctrlKey&&event.shiftKey)itemBox.setAttribute("isLink",true);itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.setAttribute("isLink",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(moveActionNode,ext){var objectId=[];var workspaceName=[];var islink="";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 islinkValue=currentNode.getAttribute("isLink");if(islinkValue&&(islinkValue!="")&&(islinkValue!="null"))islink+=islinkValue;var oid=currentNode.getAttribute("objectId");var wsname=currentNode.getAttribute("workspaceName");if(oid)objectId.push(wsname+":"+oid);else objectId.push("");}
var url=(typeof(moveActionNode)=="string")?moveActionNode:moveActionNode.getAttribute("request");if(islink&&islink!=""){url=moveActionNode.getAttribute("symlink");ext+="&isLink="+true;}
url=url.replace("MultiSelection",objectId.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";}
ListView.prototype.setHeight=function(){var root=document.getElementById("UIDocumentInfo");var view=eXo.core.DOMUtil.findFirstDescendantByClass(root,"div","UIListGrid");var workingArea=document.getElementById('UIWorkingArea');var workingContainer=document.getElementById('UIDocumentContainer');var page=eXo.core.DOMUtil.findFirstDescendantByClass(root,"div","PageAvailable");var title=eXo.core.DOMUtil.findFirstDescendantByClass(root,"div","TitleTable");if(page){if(parseInt(page.getAttribute('pageAvailable'))>1){if(view)view.style.height=workingContainer.offsetHeight-page.offsetHeight+'px';}}else{if(view)view.style.height=workingArea.offsetHeight+'px';}};};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){element.Timeout=setTimeout(function(){expandElement.onclick(event)},1000);}}}
var scroller=DOM.findAncestorByClass(element,"UIResizableBlock");scroller.onmousemove=eXo.ecm.UISimpleView.setScroll;};SimpleView.prototype.setScroll=function(evt){eXo.ecm.UISimpleView.object=this;var element=eXo.ecm.UISimpleView.object;var pos=eXo.core.Browser.findMouseYInPage(evt)-eXo.core.Browser.findPosY(element);if(element.offsetHeight-pos<40){element.scrollTop=element.scrollTop+5;}else if(element.scrollTop>0&&pos<40){element.scrollTop=element.scrollTop-5;}};SimpleView.prototype.mouseOutTree=function(event){var element=this;clearTimeout(element.Timeout);};SimpleView.prototype.mouseDownTree=function(event){var event=event||window.event;var element=this;Self.enableDragDrop=true;resetArrayItemsSelected();Self.srcPath=element.getAttribute("objectId");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 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');var regex=new RegExp("^"+decodeURIComponent(idTarget)+"/");var regex1=new RegExp("^"+decodeURIComponent(Self.srcPath)+"/");if(regex.test(decodeURIComponent(Self.srcPath)+"/")){delete Self.srcPath;return;}
if(regex1.test(decodeURIComponent(idTarget)+"/")){delete Self.srcPath;return;}
if(event.ctrlKey&&event.shiftKey)
Self.postGroupAction(moveAction.getAttribute("symlink"),"&destInfo="+wsTarget+":"+idTarget);else
Self.postGroupAction(moveAction,"&destInfo="+wsTarget+":"+idTarget);}};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;Self.srcPath=element.getAttribute("objectId");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||(event.shiftKey&&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;if(event.shiftKey)element.setAttribute("isLink",true);else element.setAttribute("isLink",null);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');var regex=new RegExp("^"+idTarget);if(regex.test(Self.srcPath)){delete Self.srcPath;return;}
if(event.ctrlKey&&event.shiftKey)
Self.postGroupAction(moveAction.getAttribute("symlink"),"&destInfo="+wsTarget+":"+idTarget);else
Self.postGroupAction(moveAction,"&destInfo="+wsTarget+":"+idTarget);}else{if(event.ctrlKey&&!element.selected){element.selected=true;Self.temporaryItem=element;Self.itemsSelected.push(element);element.setAttribute("isLink",null);if(event.shiftKey)element.setAttribute("isLink",true);}else if(event.ctrlKey&&element.selected){element.selected=null;element.style.background="none";element.setAttribute("isLink",null);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;element.setAttribute("isLink",null);if(event.ctrlKey)element.setAttribute("isLink",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.ecm.DMSBrowser.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.setAttribute("isLink",null);if(event.ctrlKey&&event.shiftKey)itemBox.setAttribute("isLink",true);itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.setAttribute("isLink",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.setAttribute("isLink",null);if(event.ctrlKey&&event.shiftKey)itemBox.setAttribute("isLink",true);itemBox.style.background=Self.colorSelected;}else{itemBox.selected=null;itemBox.setAttribute("isLink",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(moveActionNode,ext){var objectId=[];var workspaceName=[];var islink="";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 islinkValue=currentNode.getAttribute("isLink");if(islinkValue&&(islinkValue!="")&&(islinkValue!="null"))islink+=islinkValue;var oid=currentNode.getAttribute("objectId");var wsname=currentNode.getAttribute("workspaceName");if(oid)objectId.push(wsname+":"+oid);else objectId.push("");}
var url=(typeof(moveActionNode)=="string")?moveActionNode:moveActionNode.getAttribute("request");if(islink&&islink!=""){url=moveActionNode.getAttribute("symlink");ext+="&isLink="+true;}
url=url.replace("MultiSelection",objectId.join(";")+ext);eval(url);}};SimpleView.prototype.errorCallback=function(obj){var img=eXo.core.DOMUtil.findNextElementByTagName(obj.parentNode,"div");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";}
SimpleView.prototype.setHeight=function(){var root=document.getElementById("UIDocumentInfo");var view=eXo.core.DOMUtil.findFirstDescendantByClass(root,"div","UIThumbnailsView");var workingArea=document.getElementById('UIWorkingArea');var page=eXo.core.DOMUtil.findFirstDescendantByClass(root,"div","PageAvailable");if(page){if(parseInt(page.getAttribute('pageAvailable'))>1){if(view)view.style.height=workingArea.offsetHeight-page.offsetHeight+'px';}}else{if(view)view.style.height=workingArea.offsetHeight+'px';}};};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;}
var ZeroClipboard={version:"1.0.4",clients:{},moviePath:'/ecm/javascript/eXo/ecm/ZeroClipboard.swf',nextId:1,$:function(thingy){if(typeof(thingy)=='string')thingy=document.getElementById(thingy);if(!thingy.addClass){thingy.hide=function(){this.style.display='none';};thingy.show=function(){this.style.display='';};thingy.addClass=function(name){this.removeClass(name);this.className+=' '+name;};thingy.removeClass=function(name){this.className=this.className.replace(new RegExp("\\s*"+name+"\\s*")," ").replace(/^\s+/,'').replace(/\s+$/,'');};thingy.hasClass=function(name){return!!this.className.match(new RegExp("\\s*"+name+"\\s*"));}}
return thingy;},setMoviePath:function(path){this.moviePath=path;},dispatch:function(id,eventName,args){var client=this.clients[id];if(client){client.receiveEvent(eventName,args);}},register:function(id,client){this.clients[id]=client;},getDOMObjectPosition:function(obj){var info={left:0,top:0,width:obj.width?obj.width:obj.offsetWidth,height:obj.height?obj.height:obj.offsetHeight};while(obj){info.left+=obj.offsetLeft;info.top+=obj.offsetTop;obj=obj.offsetParent;}
return info;},Client:function(elem){this.handlers={};this.id=ZeroClipboard.nextId++;this.movieId='ZeroClipboardMovie_'+this.id;ZeroClipboard.register(this.id,this);if(elem)this.glue(elem);}};ZeroClipboard.Client.prototype={id:0,ready:false,movie:null,clipText:'',handCursorEnabled:true,cssEffects:true,handlers:null,glue:function(elem){this.domElement=ZeroClipboard.$(elem);var zIndex=99;if(this.domElement.style.zIndex){zIndex=parseInt(this.domElement.style.zIndex)+1;}
var box=this.domElement;this.div=document.createElement('div');var style=this.div.style;var rightClickMenu=document.getElementById("ECMContextMenu");try{var size=this.getElementSize(rightClickMenu);var height=(size[4])?size[4]:0;}catch(e){}
style.position='absolute';style.left='0px';style.bottom='0px';style.width=size[5]+'px';style.height=height+'px';style.zIndex=zIndex;style.overflow='auto';var body=document.getElementsByTagName('body')[0];var parent=this.domElement.parentNode;parent.appendChild(this.div);this.div.innerHTML=this.getHTML(size[5],height);this.clipText=box.getAttribute('path');},getElementSize:function(obj){var orginalDisplay=obj.style.display;obj.style.display="block";var menuItem=eXo.core.DOMUtil.findFirstDescendantByClass(obj,"div","MenuItem");var size=[];size.push(obj.offsetWidth);size.push(obj.offsetHeight);size.push(obj.offsetTop);size.push(obj.offsetLeft);if(menuItem){size.push(menuItem.offsetHeight);size.push(menuItem.offsetWidth);}
obj.style.display=orginalDisplay;return size;},getHTML:function(width,height){var html='';var flashvars='id='+this.id+'&width='+width+'&height='+height;if(navigator.userAgent.match(/MSIE/)){var protocol=location.href.match(/^https/i)?'https://':'http://';html+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+protocol+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'+width+'" height="'+height+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+flashvars+'"/></object>';}
else{html+='<embed id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+flashvars+'" wmode="transparent" />';}
return html;},hide:function(){if(this.div){this.div.style.left='-2000px';}},show:function(){this.reposition();},destroy:function(){if(this.domElement&&this.div){this.hide();this.div.innerHTML='';var body=document.getElementsByTagName('body')[0];try{body.removeChild(this.div);}catch(e){;}
this.domElement=null;this.div=null;}},reposition:function(elem){if(elem){this.domElement=ZeroClipboard.$(elem);if(!this.domElement)this.hide();}
if(this.domElement&&this.div){var box=ZeroClipboard.getDOMObjectPosition(this.domElement);var style=this.div.style;style.left=''+box.left+'px';style.top=''+box.top+'px';}},setText:function(newText){this.clipText=newText;if(this.ready)this.movie.setText(newText);},addEventListener:function(eventName,func){eventName=eventName.toString().toLowerCase().replace(/^on/,'');if(!this.handlers[eventName])this.handlers[eventName]=[];this.handlers[eventName].push(func);},setHandCursor:function(enabled){this.handCursorEnabled=enabled;if(this.ready)this.movie.setHandCursor(enabled);},setCSSEffects:function(enabled){this.cssEffects=!!enabled;},receiveEvent:function(eventName,args){eventName=eventName.toString().toLowerCase().replace(/^on/,'');switch(eventName){case'load':this.movie=document.getElementById(this.movieId);if(!this.movie){var self=this;setTimeout(function(){self.receiveEvent('load',null);},1);return;}
if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){var self=this;setTimeout(function(){self.receiveEvent('load',null);},100);this.ready=true;return;}
this.ready=true;this.movie.setText(this.clipText);this.movie.setHandCursor(this.handCursorEnabled);break;case'mouseover':break;case'mouseout':break;case'mousedown':break;case'mouseup':this.movie.setText(this.clipText);eXo.ecm.ECMUtils.closeContextMenu(this.domElement);break;}
if(this.handlers[eventName]){for(var idx=0,len=this.handlers[eventName].length;idx<len;idx++){var func=this.handlers[eventName][idx];if(typeof(func)=='function'){func(this,args);}
else if((typeof(func)=='object')&&(func.length==2)){func[0][func[1]](this,args);}
else if(typeof(func)=='string'){window[func](this,args);}}}}};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";dropDownAnchors[i].style.visibility="hidden";}}
var popupWindows=eXo.core.DOMUtil.findDescendantsByClass(document,"div","UIPopupWindow");for(var i=0;i<popupWindows.length;i++){if(popupWindows[i].style.display!="none"){eXo.webui.UIPopupWindow.show(popupWindows[i],popupWindows[i].isShowMask);}}
eXo.ecm.ECMUtils.checkAvailableSpace();var params=[{name:"objectId",value:cws.showControlWorkspace}];ajaxAsyncGetRequest(eXo.env.server.createPortalURL(this.id,"SetVisible",true,params),false);};function UIAnswersPortlet(){this.viewImage=true;this.scrollManagerLoaded=false;this.hiddentMenu=true;this.scrollMgr=[];};UIAnswersPortlet.prototype.checkedNode=function(elm){var input=elm.getElementsByTagName("input")[0];var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(input,"FAQDomNode");var ancestorNode=DOMUtil.findAncestorByClass(parentNode,"FAQDomNode");if(ancestorNode){firstInput=DOMUtil.findFirstDescendantByClass(ancestorNode,"input","checkbox");if(input.checked&&firstInput.checked===false){var msg=document.getElementById('viewerSettingMsg');if(msg){alert(msg.innerHTML);}else{alert('You need to check on parent or ancestor of this category first!');}
input.checked=false;input.disabled=true;}}
var containerChild=DOMUtil.findFirstDescendantByClass(parentNode,"div","FAQChildNodeContainer");if(containerChild){var checkboxes=containerChild.getElementsByTagName("input");for(var i=0;i<checkboxes.length;++i){checkboxes[i].checked=input.checked;if(!input.checked)checkboxes[i].disabled=true;else checkboxes[i].disabled=false;}}};UIAnswersPortlet.prototype.selectCateInfor=function(number){var obj=null;for(var i=0;i<3;i++){obj=document.getElementById('uicategoriesCateInfors'+i);if(obj){if(i==number)obj.style.fontWeight="bold";else obj.style.fontWeight="normal";}}};UIAnswersPortlet.prototype.setCheckEvent=function(isCheck){this.hiddentMenu=isCheck;};UIAnswersPortlet.prototype.viewTitle=function(id){var obj=document.getElementById(id);obj.style.display="block";this.hiddentMenu=false;};UIAnswersPortlet.prototype.hiddenTitle=function(id){var obj=document.getElementById(id);obj.style.display="none";};UIAnswersPortlet.prototype.hiddenMenu=function(){if(this.hiddentMenu){eXo.faq.UIAnswersPortlet.hiddenTitle('FAQCategroManager');this.hiddentMenu=false;}
setTimeout('eXo.faq.UIAnswersPortlet.checkAction()',1000);};UIAnswersPortlet.prototype.checkAction=function(){if(this.hiddentMenu){setTimeout('eXo.faq.UIAnswersPortlet.hiddenMenu()',1500);}};UIAnswersPortlet.prototype.checkCustomView=function(hileTitle,showTitle){var cookie=eXo.core.Browser.getCookie("FAQCustomView");document.getElementById('FAQViewCategoriesColumn').style.display=cookie;var buttomView=document.getElementById('FAQCustomView');var title=document.getElementById('FAQTitlePanels');if(cookie=="none"){eXo.core.DOMUtil.addClass(buttomView,"FAQCustomViewRight");title.title=showTitle;}else{title.title=hileTitle;}};UIAnswersPortlet.prototype.changeCustomView=function(change,hileTitle,showTitle){var columnCategories=document.getElementById('FAQViewCategoriesColumn');var buttomView=document.getElementById('FAQCustomView');var title=document.getElementById('FAQTitlePanels');if(columnCategories.style.display!="none"){columnCategories.style.display="none";eXo.core.DOMUtil.addClass(buttomView,"FAQCustomViewRight");title.title=showTitle;}else{columnCategories.style.display="";eXo.core.DOMUtil.replaceClass(buttomView,"FAQCustomViewRight","");title.title=hileTitle;}
eXo.core.Browser.setCookie("FAQCustomView",columnCategories.style.display,1);var uiNav=eXo.faq.UIAnswersPortlet;if(typeof(uiNav.initActionScroll)=="function")uiNav.initActionScroll();if(typeof(uiNav.initBreadCumbScroll)=="function")uiNav.initBreadCumbScroll();};UIAnswersPortlet.prototype.changeStarForVoteQuestion=function(i,id){var objId=id+i;var obj=document.getElementById(objId);if(obj)obj.className="OverVote";for(var j=0;j<=i;j++){objId=id+j;obj=document.getElementById(objId);if(obj)obj.className="OverVote";}
for(var j=i+1;j<5;j++){objId=id+j;obj=document.getElementById(objId);if(obj)obj.className="RatedVote";}};UIAnswersPortlet.prototype.jumToQuestion=function(id){var obj=document.getElementById(id);if(obj){var viewContent=document.getElementById("AnswersViewContent");var scroll=eXo.core.Browser.findPosYInContainer(obj,viewContent);viewContent.scrollTop=scroll;}};UIAnswersPortlet.prototype.OverButton=function(oject){if(oject.className.indexOf(" Action")>0){var Srt="";for(var i=0;i<oject.className.length-6;i++){Srt=Srt+oject.className.charAt(i);}
oject.className=Srt;}else oject.className=oject.className+" Action";};UIAnswersPortlet.prototype.viewDivById=function(id){var obj=document.getElementById(id);if(obj.style.display==="none"){obj.style.display="block";}else{obj.style.display="none";document.getElementById(id.replace("div","")).value="";}};UIAnswersPortlet.prototype.treeView=function(id){var obj=document.getElementById(id);if(obj){if(obj.style.display==''||obj.style.display==="none"){obj.style.display="block";}else{obj.style.display="none";}}};UIAnswersPortlet.prototype.FAQViewAllBranch=function(ids){var arrayId=new Array;arrayId=ids.split("/");for(var i=0;i<arrayId.length;i++){var obj=document.getElementById(arrayId[i]);if(obj){obj.style.display="block";}}};UIAnswersPortlet.prototype.hidePicture=function(){eXo.core.Browser.onScrollCallback.remove('MaskLayerControl');var maskContent=eXo.core.UIMaskLayer.object;var maskNode=document.getElementById("MaskLayer")||document.getElementById("subMaskLayer");if(maskContent)eXo.core.DOMUtil.removeElement(maskContent);if(maskNode)eXo.core.DOMUtil.removeElement(maskNode);};UIAnswersPortlet.prototype.showPicture=function(src){if(this.viewImage){var containerNode=document.createElement('div');var imageNode=document.createElement('img');imageNode.src=src;imageNode.setAttribute('alt','Click to close');containerNode.appendChild(imageNode);containerNode.setAttribute('title','Click to close');containerNode.setAttribute('style','text-align:center; top:10px;');containerNode.setAttribute('align','center');containerNode.onclick=eXo.forum.UIForumPortlet.hidePicture;this.showFullScreen(imageNode,containerNode);var maskNode=eXo.core.UIMaskLayer.createMask('UIPortalApplication',containerNode,30,'CENTER');containerNode.style.top="10px";}};UIAnswersPortlet.prototype.getImageSize=function(imageNode){var tmp=imageNode.cloneNode(true);tmp.style.visibility="hidden";document.body.appendChild(tmp);var size={width:tmp.offsetWidth,height:tmp.offsetHeight}
eXo.core.DOMUtil.removeElement(tmp);return size;};UIAnswersPortlet.prototype.showFullScreen=function(imageNode,containerNode){var imageSize=this.getImageSize(imageNode);var widthMax=eXo.core.Browser.getBrowserWidth();if((imageSize.width+40)>widthMax){containerNode.style.width=widthMax+"px";imageNode.width=(widthMax-40);imageNode.style.height="auto";}};UIAnswersPortlet.prototype.showMenu=function(obj,evt){var menu=eXo.core.DOMUtil.findFirstDescendantByClass(obj,"div","UIRightClickPopupMenu");eXo.webui.UIPopupSelectCategory.show(obj,evt);var top=menu.offsetHeight;menu.style.top=-(top+20)+"px";};UIAnswersPortlet.prototype.printPreview=function(obj){var DOMUtil=eXo.core.DOMUtil;var uiPortalApplication=document.getElementById("UIPortalApplication");var tmp=DOMUtil.findAncestorByClass(obj,"AnswersContainer");var printArea=DOMUtil.findFirstDescendantByClass(tmp,"div","QuestionSelect");printArea=printArea.cloneNode(true);var dummyPortlet=document.createElement("div");var FAQContainer=document.createElement("div");var FAQContent=document.createElement("div");var printAction=document.createElement("div");var printActionInApp=document.getElementById("PrintAction");printAction.innerHTML=printActionInApp.innerHTML;dummyPortlet.className="UIAnswersPortlet UIPrintPreview";FAQContainer.className="AnswersContainer";FAQContent.className="FAQContent";printAction.style.display="block";var isIE=document.all?true:false;if(!isIE){var cssContent=document.createElement("div");cssContent.innerHTML='<style type="text/css">.DisablePrint{display:none;}</style>';cssContent.style.display="block";FAQContent.appendChild(cssContent);}
FAQContent.appendChild(printArea);FAQContainer.appendChild(FAQContent);FAQContainer.appendChild(printAction);dummyPortlet.appendChild(FAQContainer);if(isIE){var displayElms=DOMUtil.getElemementsByClass(dummyPortlet,"DisablePrint");var i=displayElms.length;while(i--){displayElms[i].style.display="none";}}
dummyPortlet=this.removeLink(dummyPortlet);dummyPortlet.style.width="98.5%";dummyPortlet.style.zIndex=1;document.body.insertBefore(this.removeLink(dummyPortlet),uiPortalApplication);uiPortalApplication.style.display="none";window.scroll(0,0);this.viewImage=false;};UIAnswersPortlet.prototype.printAll=function(obj){var uiPortalApplication=document.getElementById("UIPortalApplication");var container=document.createElement("div");container.className="UIAnswersPortlet";if(typeof(obj)=="string")obj=document.getElementById(obj);uiPortalApplication.style.display="none";container.appendChild(obj.cloneNode(true));document.body.appendChild(container);};UIAnswersPortlet.prototype.closePrintAll=function(){var children=document.body.childNodes;var i=children.length;while(i--){if(eXo.core.DOMUtil.hasClass(children[i],"UIAnswersPortlet")){eXo.core.DOMUtil.removeElement(children[i]);return}}};UIAnswersPortlet.prototype.removeLink=function(rootNode){var links=eXo.core.DOMUtil.findDescendantsByTagName(rootNode,"a");var len=links.length;for(var i=0;i<len;i++){links[i].href="javascript:void(0) ;"
if(links[i].onclick!=null)links[i].onclick="javascript:void(0);";}
var contextAnchors=this.findDescendantsByAttribute(rootNode,"div","onmousedown");i=contextAnchors.length;while(i--){contextAnchors[i].onmousedown=null;contextAnchors[i].onmousedown=null;}
contextAnchors=this.findDescendantsByAttribute(rootNode,"div","onmouseover");i=contextAnchors.length;while(i--){contextAnchors[i].onmouseover=null;contextAnchors[i].onmouseout=null;}
contextAnchors=this.findDescendantsByAttribute(rootNode,"div","onclick");i=contextAnchors.length;while(i--){if(eXo.core.DOMUtil.hasClass(contextAnchors[i],"ActionButton"))continue;if(contextAnchors[i].onclick!=null)contextAnchors[i].onclick="javascript:void(0);";}
return rootNode;};UIAnswersPortlet.prototype.findDescendantsByAttribute=function(rootNode,tagName,attrName){var nodes=eXo.core.DOMUtil.findDescendantsByTagName(rootNode,tagName);var i=nodes.length;var list=[];while(i--){if(nodes[i].getAttribute(attrName))list.push(nodes[i]);}
return list;};UIAnswersPortlet.prototype.closePrint=function(){var DOMUtil=eXo.core.DOMUtil;var uiPortalApplication=document.getElementById("UIPortalApplication");uiPortalApplication.style.display="block";for(var i=0;i<document.body.childNodes.length;i++){if(DOMUtil.hasClass(document.body.childNodes[i],"UIAnswersPortlet")){DOMUtil.removeElement(document.body.childNodes[i]);}}
window.scroll(0,0);this.viewImage=true;};DOMUtil.prototype.getElemementsByClass=function(root,clazz){var list=[];var elements=root.getElementsByTagName("*");var i=elements.length;while(i--){if(eXo.core.DOMUtil.hasClass(elements[i],clazz))list.push(elements[i]);}
return list;}
ScrollManager.prototype.loadItems=function(elementClass,clean){if(clean)this.cleanElements();this.elements.clear();this.elements.pushAll(eXo.core.DOMUtil.getElemementsByClass(this.mainContainer,elementClass).reverse());};UIAnswersPortlet.prototype.loadActionScroll=function(){var uiNav=eXo.faq.UIAnswersPortlet;var container=document.getElementById("UIQuestions");var callback=uiNav.initActionScroll;uiNav.loadScroll("UIQuestions",container,callback);};UIAnswersPortlet.prototype.loadBreadcumbScroll=function(){var uiNav=eXo.faq.UIAnswersPortlet;var container=document.getElementById("UIBreadcumbs");var callback=uiNav.initBreadcumbScroll;uiNav.loadScroll("UIBreadcumbs",container,callback);};UIAnswersPortlet.prototype.initBreadcumbScroll=function(){if(document.getElementById("UIPortalApplication").style.display=="none")return;var uiNav=eXo.faq.UIAnswersPortlet;uiNav.scrollMgr["UIBreadcumbs"].init();uiNav.scrollMgr["UIBreadcumbs"].checkAvailableSpace();if(uiNav.scrollMgr["UIBreadcumbs"].arrowsContainer)uiNav.scrollMgr["UIBreadcumbs"].renderElements();};UIAnswersPortlet.prototype.loadScroll=function(scrollname,container,callback){var uiNav=eXo.faq.UIAnswersPortlet;if(container){uiNav.scrollMgr[scrollname]=eXo.portal.UIPortalControl.newScrollManager(scrollname);uiNav.scrollMgr[scrollname].initFunction=callback;uiNav.scrollMgr[scrollname].mainContainer=eXo.core.DOMUtil.findFirstDescendantByClass(container,"td","ControlButtonContainer");uiNav.scrollMgr[scrollname].loadItems("ControlButton");if(uiNav.scrollMgr[scrollname].elements.length<=0)return;uiNav.scrollMgr[scrollname].arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(uiNav.scrollMgr[scrollname].mainContainer,"div","ScrollButtons");var button=eXo.core.DOMUtil.findDescendantsByTagName(uiNav.scrollMgr[scrollname].arrowsContainer,"div");if(button.length>=2){uiNav.scrollMgr[scrollname].initArrowButton(button[0],"left","ScrollLeftButton","HighlightScrollLeftButton","DisableScrollLeftButton");uiNav.scrollMgr[scrollname].initArrowButton(button[1],"right","ScrollRightButton","HighlightScrollRightButton","DisableScrollRightButton");}
uiNav.scrollMgr[scrollname].callback=uiNav.scrollCallback;uiNav.scrollManagerLoaded=true;callback();}};UIAnswersPortlet.prototype.scrollCallback=function(){};UIAnswersPortlet.prototype.initActionScroll=function(){if(document.getElementById("UIPortalApplication").style.display=="none")return;var uiNav=eXo.faq.UIAnswersPortlet;uiNav.scrollMgr["UIQuestions"].init();uiNav.scrollMgr["UIQuestions"].checkAvailableSpace();uiNav.scrollMgr["UIQuestions"].renderElements();};UIAnswersPortlet.prototype.controlWorkSpace=function(){var slidebar=document.getElementById('ControlWorkspaceSlidebar');if(slidebar){var slidebarButton=eXo.core.DOMUtil.findFirstDescendantByClass(slidebar,"div","SlidebarButton");if(slidebarButton){slidebarButton.onclick=eXo.faq.UIAnswersPortlet.onClickSlidebarButton;}}
setTimeout(eXo.faq.UIAnswersPortlet.reSizeImages,1500);};UIAnswersPortlet.prototype.onClickSlidebarButton=function(){var workspaceContainer=document.getElementById('UIWorkspaceContainer');if(workspaceContainer){if(workspaceContainer.style.display==='none'){setTimeout(eXo.faq.UIAnswersPortlet.reSizeImages,500);}}};UIAnswersPortlet.prototype.reSizeImagesView=function(){setTimeout('eXo.faq.UIAnswersPortlet.setSizeImages(10, "SetWidthImageContent")',1000);};UIAnswersPortlet.prototype.reSizeImages=function(){eXo.faq.UIAnswersPortlet.setSizeImages(10,'SetWidthContent');};UIAnswersPortlet.prototype.setSizeImages=function(delta,classParant){var widthContent=document.getElementById(classParant);if(widthContent){var isDesktop=document.getElementById('UIPageDesktop');if(!isDesktop){var max_width=widthContent.offsetWidth-delta;var max=max_width;if(max_width>600)max=600;var images_=widthContent.getElementsByTagName("img");for(var i=0;i<images_.length;i++){var img=new Image();img.src=images_[i].src;if(images_[i].className==="AttachmentFile")continue;if(images_[i].className==="FAQAvatar")continue;if(img.width>max){images_[i].style.width=max+"px";images_[i].style.height="auto";}else{images_[i].style.width="auto";if(images_[i].width>max){images_[i].style.width=max+"px";images_[i].style.height="auto";}}
if(img.width>600){images_[i].onclick=eXo.faq.UIAnswersPortlet.showImage;}}}}};UIAnswersPortlet.prototype.showImage=function(){eXo.faq.UIAnswersPortlet.showPicture(this.src);};UIAnswersPortlet.prototype.reSizeAvatar=function(imgElm){imgElm.style.width="auto";if(imgElm.offsetWidth>130){imgElm.style.width="130px";}
if(imgElm.offsetHeight>150){imgElm.style.height="150px";}};UIAnswersPortlet.prototype.FAQChangeHeightToAuto=function(){var object=document.getElementById("UIFAQPopupWindow");if(object){var popupWindow=eXo.core.DOMUtil.findFirstDescendantByClass(object,"div","PopupContent");popupWindow.style.height="auto";popupWindow.style.maxHeight="500px";}};UIAnswersPortlet.prototype.initContextMenu=function(id){var cont=document.getElementById(id);var uiContextMenu=eXo.ks.UIContextMenu;cont=eXo.core.DOMUtil.findAncestorByClass(cont,"UIAnswersPortlet");if(!uiContextMenu.classNames)uiContextMenu.classNames=new Array("FAQCategory","QuestionContainer");else{uiContextMenu.classNames.push("FAQCategory");uiContextMenu.classNames.push("QuestionContainer");}
uiContextMenu.setContainer(cont);uiContextMenu.setup();};eXo.faq.DragDrop={dragObject:null,targetClass:[],init:function(compid){var comp=document.getElementById(compid);var elements=eXo.core.DOMUtil.findDescendantsByClass(comp,"div","FAQCategory");var i=elements.length;while(i--){elements[i].onmousedown=this.attach;}},attach:function(evt){evt=evt||window.event;if(eXo.core.EventManager.getMouseButton(evt)==2)return;var dnd=eXo.faq.DragDrop;var dragObject=this.cloneNode(true);dragObject.className="FAQDnDCategory";dragObject.style.border="solid 1px #333333";document.body.appendChild(dragObject);dragObject.style.width=this.offsetWidth+"px";dnd.rootNode=this;dnd.mousePos={x:evt.clientX,y:evt.clientY};dnd.setup(dragObject,["FAQCategory","FAQBack","FAQTmpCategory"]);dnd.dropCallback=function(dragObj,target){eXo.core.DOMUtil.removeElement(dragObj);if(this.lastTarget)this.lastTarget.style.border="";if(target&&dnd.isMoved){var action=this.getAction(this.dragObject,target);if(!action){this.showElement();return;}
eval(action);}else this.showElement();}
dnd.dragCallback=function(dragObj,target){if(dnd.lastTarget){dnd.lastTarget.style.border="";if(eXo.core.DOMUtil.hasClass(dnd.lastTarget,"FAQHighlightCategory"))eXo.core.DOMUtil.replaceClass(dnd.lastTarget,"FAQHighlightCategory","");}
if(!target)return;dnd.lastTarget=target;if(eXo.core.DOMUtil.hasClass(target,"FAQBack"))target.onclick();if(eXo.core.DOMUtil.hasClass(target,"FAQTmpCategory"))eXo.core.DOMUtil.addClass(dnd.lastTarget,"FAQHighlightCategory");target.style.border="dotted 1px #cccccc";if(!dnd.hided)dnd.hideElement(dnd.rootNode);}},setup:function(dragObject,targetClass){this.dragObject=dragObject;this.targetClass=targetClass;document.onmousemove=eXo.faq.DragDrop.onDrag;document.onmouseup=eXo.faq.DragDrop.onDrop;},onDrag:function(evt){var dnd=eXo.faq.DragDrop;var dragObject=dnd.dragObject;dragObject.style.left=eXo.core.Browser.findMouseXInPage(evt)+2+"px";dragObject.style.top=eXo.core.Browser.findMouseYInPage(evt)+2+"px";if(dnd.dragCallback){var target=dnd.findTarget(evt);dnd.dragCallback(dragObject,target);}},onDrop:function(evt){evt=evt||window.event;var dnd=eXo.faq.DragDrop;dnd.isMoved=true;if(dnd.mousePos.x==evt.clientX&&dnd.mousePos.y==evt.clientY)dnd.isMoved=false;if(dnd.dropCallback){var target=dnd.findTarget(evt);dnd.dropCallback(dnd.dragObject,target);}
delete dnd.dragObject;delete dnd.targetClass;delete dnd.dragCallback;delete dnd.hided;delete dnd.rootNode;document.onmousemove=null;document.onmouseup=null;},findTarget:function(evt){var targetClass=eXo.faq.DragDrop.targetClass;var i=targetClass.length;while(i--){var target=eXo.core.EventManager.getEventTargetByClass(evt,targetClass[i]);if(target)return target;}},hideElement:function(obj){var preElement=eXo.core.DOMUtil.findPreviousElementByTagName(obj,"div");preElement.style.display="none";obj.style.display="none";this.hided=true;},showElement:function(){var dnd=eXo.faq.DragDrop;if(!dnd.rootNode)return;var preElement=eXo.core.DOMUtil.findPreviousElementByTagName(dnd.rootNode,"div");if(preElement)preElement.style.display="";dnd.rootNode.style.display="";if(dnd.lastTarget){dnd.lastTarget.style.border="";if(eXo.core.DOMUtil.hasClass(dnd.lastTarget,"FAQHighlightCategory"))eXo.core.DOMUtil.replaceClass(dnd.lastTarget,"FAQHighlightCategory","");}},getAction:function(obj,target){if(eXo.core.DOMUtil.hasClass(target,"FAQTmpCategory")){var preElement=eXo.core.DOMUtil.findPreviousElementByTagName(target,"div");if(!preElement)preElement=eXo.core.DOMUtil.findNextElementByTagName(target,"div");if(obj.id==preElement.id)return false;var actionLink=obj.getAttribute("actionLink");actionLink=actionLink.replace("=objectId","="+obj.id+","+preElement.id);}else if(eXo.core.DOMUtil.hasClass(target,"FAQCategory")){var actionLink=obj.getAttribute("actionLink");actionLink=actionLink.replace("=objectId","="+obj.id+","+target.id);actionLink=actionLink.replace("ChangeIndex","MoveCategoryInto");}
return actionLink;}};UIAnswersPortlet.prototype.setSelectboxOnchange=function(fid){if(!eXo.core.Browser.isFF())return;var form=document.getElementById(fid);var select=eXo.core.DOMUtil.findFirstDescendantByClass(form,"select","selectbox");var onchange=select.getAttribute("onchange");onchange=onchange.replace("javascript:","javascript:eXo.faq.UIAnswersPortlet.setDisableSelectbox(this);");select.setAttribute("onchange",onchange);};UIAnswersPortlet.prototype.setDisableSelectbox=function(selectbox){selectbox.disabled=true;};UIAnswersPortlet.prototype.voteAnswerUpDown=function(imageId,isVote){var obj=document.getElementById(imageId);if(isVote){obj.style.filter=" alpha(opacity: 100)";obj.style.MozOpacity="1";}else{obj.style.filter=" alpha(opacity: 70)";obj.style.MozOpacity="0.7";}};UIAnswersPortlet.prototype.openDiscussLink=function(link){link=link.replace(/uoon/g,'&');window.open(link);};UIAnswersPortlet.prototype.executeLink=function(evt){var onclickAction=String(this.getAttribute("actions"));eval(onclickAction);eXo.core.EventManager.cancelEvent(evt);return false;};UIAnswersPortlet.prototype.createLink=function(cpId,isAjax){if(!isAjax||isAjax==='false')return;var comp=document.getElementById(cpId);var uiCategoryTitle=eXo.core.DOMUtil.findDescendantsByClass(comp,"a","ActionLink");var i=uiCategoryTitle.length;if(!i||(i<=0))return;while(i--){uiCategoryTitle[i].onclick=this.executeLink;}};eXo.faq.UIAnswersPortlet=new UIAnswersPortlet();function UIFormGeneratorPortlet(){}
UIFormGeneratorPortlet.prototype.init=function(){var DOMUtil=eXo.core.DOMUtil;var uiTabContentContainer=document.getElementById('UITabContentContainer');var uiTabContent=DOMUtil.findFirstDescendantByClass(uiTabContentContainer,'div','UITabContent');var menuitems=DOMUtil.findDescendantsByClass(uiTabContent,'div','LeftMenu');for(var i=0;i<menuitems.length;i++){menuitems[i].onclick=function(){eXo.ecm.UIFormGeneratorPortlet.renderComponent(this.getAttribute('elementType'));}}};UIFormGeneratorPortlet.prototype.renderComponent=function(typeComp){var formGenerator="";var fieldComponent="";var advancedOption="";var multivalue=false;switch(typeComp){case"label":fieldComponent+="<td class='FieldLabel' value='Label'>Label</td>";fieldComponent+="<td class='FieldComponent'></td>";break;case"input":fieldComponent+="<td class='FieldLabel' value='Input Text'>Input field</td>";fieldComponent+="<td class='FieldComponent'><input type='text' class='InputText' value=''/></td>";break;case"textarea":fieldComponent+="<td class='FieldLabel' value='Textarea'>Textarea field</td>";fieldComponent+="<td class='FieldComponent'><textarea class='Textarea'>Textarea value</textarea></td>";break;case"wysiwyg":fieldComponent+="<td class='FieldLabel' value='WYSIWYG'>WYSIWYG field</td>";fieldComponent+="<td class='FieldComponent'><textarea class='Textarea' id='RichTextEditorContent'>WYSIWYG value</textarea></td>";advancedOption+="<tr>";advancedOption+="<td class='FieldLabel'>Advance Options</td>";advancedOption+="<td class='FileComponent'>";advancedOption+="Toolbar: <select class='SelectBox'><option>SuperBasicWCM</option><option>BasicWCM</option><option>CompleteWCM</option></select><option>Basic</option>";advancedOption+="</td>";advancedOption+="</tr>";break;case"select":fieldComponent+="<td class='FieldLabel' value='Select'>Select field</td>";fieldComponent+="<td class='FieldComponent'><select class='SelectBox'><option></option></select></td>";multivalue=true;break;case"checkbox":fieldComponent+="<td class='FieldLabel' value='Checkbox'>Checkbox field</td>";fieldComponent+="<td class='FieldComponent'><input type='checkbox' class='CheckBox' value='checkbox1'/><input type='checkbox' class='CheckBox' value='checkbox2'/><input type='checkbox' class='CheckBox' value='checkbox3'/></td>";break;case"radio":fieldComponent+="<td class='FieldLabel' value='Radio'>Radio field</td>";fieldComponent+="<td class='FieldComponent'><input type='radio' class='Radio' value='radio1'/><input type='radio' class='Radio' value='radio2'/><input type='radio' class='Radio' value='radio3'/></td>";break;case"datetime":fieldComponent+="<td class='FieldLabel' value='DateTime'>Datetime field</td>";fieldComponent+="<td class='FieldComponent'><input type='text' class='InputText' value='Datetime value'/></td>";advancedOption+="<tr>";advancedOption+="<td class='FieldLabel'>Advance Options</td>";advancedOption+="<td class='FileComponent'>";advancedOption+="Format: <select><option>dd/mm/yyyy</option><option>dd-mm-yyyy</option></select>";advancedOption+="</td>";advancedOption+="</tr>";break;case"upload":fieldComponent+="<td class='FieldLabel' value='Upload'>Upload field</td>";fieldComponent+="<td class='FieldComponent'><input type='file' class='Upload' disabled='disabled'/><img src='/eXoResources/skin/sharedImages/Blank.gif' alt='' class='UploadButton'/></td>";break;}
formGenerator+="<div class='TopContentBoxStyle'>";formGenerator+="<div class='UIForm UIFormEditBox'>";formGenerator+="<div class='HorizontalLayout'>";formGenerator+="<div class='FormContainer'>";formGenerator+="<table class='UIFormGrid'>";formGenerator+="<tr>";formGenerator+=fieldComponent;formGenerator+="<td class='FieldIcon'>";formGenerator+="<div class='EditBox'>";formGenerator+="<a class='ControlIcon DeleteIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.removeComponent(this);' title='Click here to remove this component'><span></span></a>";formGenerator+="<a class='ControlIcon EditIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.showEditBox(this);' title='Click here to edit property'><span></span></a>";formGenerator+="</div>";formGenerator+="<a class='ControlIcon DownIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.moveDownElement(this);' title='Move down component'><span></span></a>";formGenerator+="<a class='ControlIcon UpIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.moveUpElement(this);' title='Move up component'><span></span></a>";formGenerator+="<div class='ClearRight'><span></span></div>";formGenerator+="</td>";formGenerator+="</tr>";formGenerator+="</table>";formGenerator+="</div>";formGenerator+="</div>";formGenerator+="</div>";formGenerator+="</div>";formGenerator+="<div class='MiddleContentBoxStyle' style='display:none'>";formGenerator+="<div class='UIForm UIFormEditBox'>";formGenerator+="<div class='HorizontalLayout'>";formGenerator+="<div class='FormContainer'>";formGenerator+="<table class='UIFormGrid'>";formGenerator+="<tr>";formGenerator+="<td class='FieldLabel'>Field Label</td>";formGenerator+="<td class='FieldComponent'>";formGenerator+="<input type='text' class='InputText' onkeyup='eXo.ecm.UIFormGeneratorPortlet.updateLabel(this);'/>";formGenerator+="</td>";formGenerator+="</tr>";formGenerator+="<tr>";formGenerator+="<td class='FieldLabel'>Width</td>";formGenerator+="<td class='FieldComponent'>";formGenerator+="<input type='number' value='' class='InputText' style='width: 50%; float:left;' onkeyup='eXo.ecm.UIFormGeneratorPortlet.updateWidth(this);' />";formGenerator+="<div class='BoxRules'>";formGenerator+="Rules: <input class='Requied' type='checkbox' onchange='eXo.ecm.UIFormGeneratorPortlet.updateRequired(this);'>Required</input>";formGenerator+="</div>";formGenerator+="</td>";formGenerator+="<td class='FieldIcon'><span></span></td>";formGenerator+="</tr>";formGenerator+="<tr>";formGenerator+="<td class='FieldLabel'>Height</td>";formGenerator+="<td class='FieldComponent'>";formGenerator+="<input type='number' value='' class='InputText' style='width: 50%; float:left;' onkeyup='eXo.ecm.UIFormGeneratorPortlet.updateHeight(this);' />";formGenerator+="</td>";formGenerator+="<td class='FieldIcon'><span></span></td>";formGenerator+="</tr>";formGenerator+="<tr>";formGenerator+="<td class='FieldLabel'>Default Value</td>";formGenerator+="<td class='FieldComponent'><input type='text' class='InputText' onkeyup='eXo.ecm.UIFormGeneratorPortlet.updateValue(event);'/></td>";formGenerator+="<td class='FieldIcon'>";if(multivalue){formGenerator+="<a class='AddIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.addOption(this);'><span></span></a>";formGenerator+="<a class='RemoveIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.removeOption(this);'><span></span></a>";formGenerator+="<div class='ClearRight'><span></span></div>";}else{formGenerator+="<span></span>";}
formGenerator+="</td>";formGenerator+="</tr>";formGenerator+=advancedOption
formGenerator+="<tr>";formGenerator+="<td class='FieldLabel'>Guidelines for User</td>";formGenerator+="<td class='FieldComponent'><textarea class='Textarea' onkeyup='eXo.ecm.UIFormGeneratorPortlet.updateGuide(this);'></textarea></td>";formGenerator+="<td class='FieldIcon'><span></span></td>";formGenerator+="</tr>";formGenerator+="</table>";formGenerator+="</div>";formGenerator+="</div>";formGenerator+="</div>";formGenerator+="</div>";var node=document.createElement('div');node.innerHTML=formGenerator;node.className='BoxContentBoxStyle';node.setAttribute('typeComponent',typeComp);document.getElementById('MiddleCenterViewBoxStyle').appendChild(node);if(!FCKeditorAPI.GetInstance('RichTextEditorContent')){var oFCKEditor=new FCKeditor('RichTextEditorContent');oFCKEditor.BasePath='/portal/fckeditor/';oFCKEditor.ToolbarSet='SuperBasicWCM';oFCKEditor.ReplaceTextarea();}};UIFormGeneratorPortlet.prototype.showEditBox=function(obj){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(obj,"TopContentBoxStyle");var boxContent=DOMUtil.findNextElementByTagName(parentNode,"div");if(boxContent&&boxContent.style.display!='block'){boxContent.style.display='block';}else{boxContent.style.display='none';}};UIFormGeneratorPortlet.prototype.removeComponent=function(obj){var parentNode=eXo.core.DOMUtil.findAncestorByClass(obj,"BoxContentBoxStyle");if(parentNode){var confirmDelete=confirm("Are you sure to remove?");if(confirmDelete==true){document.getElementById('MiddleCenterViewBoxStyle').removeChild(parentNode);}else{return;}}};UIFormGeneratorPortlet.prototype.moveDownElement=function(obj){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(obj,"BoxContentBoxStyle");var middContainer=document.getElementById('MiddleCenterViewBoxStyle');if(!middContainer||!parentNode)return;var tmpNode='';nextElt=DOMUtil.findNextElementByTagName(parentNode,'div');if(nextElt){tmpNode=nextElt.cloneNode(true);middContainer.removeChild(nextElt);middContainer.insertBefore(tmpNode,parentNode);}};UIFormGeneratorPortlet.prototype.moveUpElement=function(obj){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(obj,"BoxContentBoxStyle");var middContainer=document.getElementById('MiddleCenterViewBoxStyle');if(!middContainer||!parentNode)return;previousElt=DOMUtil.findPreviousElementByTagName(parentNode,'div');if(!previousElt)return;var tmpNode=parentNode.cloneNode(true);middContainer.removeChild(parentNode);middContainer.insertBefore(parentNode,previousElt);};UIFormGeneratorPortlet.prototype.updateLabel=function(obj){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var labelNode=DOMUtil.findFirstDescendantByClass(parentNode,'td','FieldLabel');labelNode.innerHTML=obj.value;};UIFormGeneratorPortlet.prototype.updateWidth=function(obj){var DOMUtil=eXo.core.DOMUtil;var width='';if(obj.value==''){width=null;}else if(isNaN(parseFloat(obj.value))){alert('Number only');obj.value='';return false;}else{width=obj.value+'px';}
var parentNode=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var containerNode=DOMUtil.findFirstDescendantByClass(parentNode,'div','TopContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(containerNode,'td','FieldComponent');if(componentNode){var inputNode=componentNode.childNodes[0];if(inputNode)inputNode.style.width=width;}};UIFormGeneratorPortlet.prototype.updateHeight=function(obj){var DOMUtil=eXo.core.DOMUtil;var height='';if(obj.value==''){height=null;}else if(isNaN(parseFloat(obj.value))){alert('Number only');obj.value='';return false;}else{height=obj.value+'px';}
var parentNode=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var containerNode=DOMUtil.findFirstDescendantByClass(parentNode,'div','TopContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(containerNode,'td','FieldComponent');if(componentNode){var inputNode=componentNode.childNodes[0];if(inputNode)inputNode.style.height=height;}};UIFormGeneratorPortlet.prototype.updateRequired=function(obj){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var containerNode=DOMUtil.findFirstDescendantByClass(parentNode,'div','TopContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(containerNode,'td','FieldComponent');var labelNode=DOMUtil.findFirstDescendantByClass(containerNode,'td','FieldLabel');if(!componentNode)return false;if(obj.checked){labelNode.setAttribute('mandatory','true');}else{labelNode.setAttribute('mandatory','false');}
var requiredNode=DOMUtil.getChildrenByTagName(componentNode,'span')[0];if(!requiredNode){requiredNode=document.createElement('span');requiredNode.style.color='red';requiredNode.innerHTML=' *';componentNode.appendChild(requiredNode);}else{componentNode.removeChild(requiredNode);}};UIFormGeneratorPortlet.prototype.updateValue=function(evt){var DOMUtil=eXo.core.DOMUtil;var srcEle=eXo.core.Browser.getEventSource(evt);if(!srcEle)return;var root=DOMUtil.findAncestorByClass(srcEle,'BoxContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(root,'div','TopContentBoxStyle');var eltName=DOMUtil.findFirstDescendantByClass(componentNode,'td','FieldLabel').getAttribute('value');if(!eltName)return;switch(eltName){case"Label":var labelNode=DOMUtil.findFirstDescendantByClass(componentNode,'td','FieldComponent');labelNode.innerHTML=srcEle.value;break;case"Input Text":var inputNode=DOMUtil.findFirstDescendantByClass(componentNode,'input','InputText');inputNode.value=srcEle.value;break;case"Select":var selectNode=DOMUtil.findFirstDescendantByClass(componentNode,'select','SelectBox');var fieldNode=DOMUtil.findAncestorByClass(srcEle,'FieldComponent');var inputNodes=DOMUtil.getChildrenByTagName(fieldNode,'input');for(var i=0;i<inputNodes.length;i++){if(inputNodes[i]==srcEle){selectNode.options[i].value=srcEle.value;selectNode.options[i].innerHTML=srcEle.value;}}
break;case"Textarea":var textarea=DOMUtil.findFirstDescendantByClass(componentNode,'textarea','Textarea');textarea.value=srcEle.value;break
case"WYSIWYG":var oFCKEditor=FCKeditorAPI.GetInstance('RichTextEditorContent');oFCKEditor.SetHTML(srcEle.value);break;case"upload":break;}};UIFormGeneratorPortlet.prototype.updateGuide=function(objGuide){var DOMUtil=eXo.core.DOMUtil;var root=DOMUtil.findAncestorByClass(objGuide,'BoxContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(root,'div','TopContentBoxStyle');var fieldLabel=DOMUtil.findFirstDescendantByClass(componentNode,'td','FieldLabel');fieldLabel.setAttribute("desc",objGuide.value);};UIFormGeneratorPortlet.prototype.addOption=function(obj){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var containerNode=DOMUtil.findFirstDescendantByClass(parentNode,'div','TopContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(containerNode,'td','FieldComponent');var inputNode=componentNode.childNodes[0];var optionNode=document.createElement('option');inputNode.appendChild(optionNode);var rowNode=DOMUtil.findAncestorByTagName(obj,'tr');var brotherNode=DOMUtil.findFirstDescendantByClass(rowNode,'td','FieldComponent');var optionInputNode=document.createElement('input');optionInputNode.className='InputText';optionInputNode.type='text';optionInputNode.onkeyup=this.updateValue;brotherNode.appendChild(optionInputNode);};UIFormGeneratorPortlet.prototype.removeOption=function(obj){var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByTagName(obj,'tr');var componentNode=DOMUtil.findFirstDescendantByClass(parentNode,'td','FieldComponent');var inputNodes=DOMUtil.getChildrenByTagName(componentNode,'input');var root=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var topContainerNode=DOMUtil.findFirstDescendantByClass(root,'div','TopContentBoxStyle');var topFieldComponent=DOMUtil.findFirstDescendantByClass(topContainerNode,'td','FieldComponent');var selectNode=DOMUtil.findFirstDescendantByClass(topFieldComponent,'select','SelectBox');var options=DOMUtil.getChildrenByTagName(selectNode,'options');for(var i=0;i<inputNodes.length;i++){var index=inputNodes.length-1;if(i==index){componentNode.removeChild(inputNodes[i]);selectNode.remove(i);}}};UIFormGeneratorPortlet.prototype.getStringJsonObject=function(){var DOMUtil=eXo.core.DOMUtil;var root=document.getElementById('MiddleCenterViewBoxStyle');var boxsContent=DOMUtil.findDescendantsByClass(root,'div','BoxContentBoxStyle');var strJsonObject='{ "inputs" : [';for(var i=0;i<boxsContent.length;i++){strJsonObject+=eXo.ecm.UIFormGeneratorPortlet.getProperties(boxsContent[i]);if(i!=(boxsContent.length-1)){strJsonObject+=',';}}
strJsonObject+="]}";return strJsonObject;};UIFormGeneratorPortlet.prototype.getProperties=function(comp){var DOMUtil=eXo.core.DOMUtil;var strObject='{';strObject+='"type":"'+comp.getAttribute("typeComponent")+'",';var topContent=DOMUtil.findFirstDescendantByClass(comp,'div','TopContentBoxStyle');var fieldLabel=DOMUtil.findFirstDescendantByClass(topContent,'td','FieldLabel');var defaultValue=fieldLabel.getAttribute('value');var nameComp='';if(fieldLabel&&fieldLabel.innerHTML!=''){nameComp=fieldLabel.innerHTML;}else{nameComp=defaultValue;}
strObject+='"name":"'+nameComp+'",';switch(comp.getAttribute("typeComponent")){case"input":inputNode=DOMUtil.findFirstDescendantByClass(topContent,'input',"InputText");var width=inputNode.offsetWidth;var mandatory=fieldLabel.getAttribute('mandatory');var height=inputNode.offsetHeight;strObject+='"value":"'+inputNode.value+'","width":'+width+',"mandatory":'+mandatory+',"height":'+height+',';break;case"label":var labelNode=DOMUtil.findFirstDescendantByClass(topContent,'td','FieldComponent');strObject+='"value":"'+labelNode.innerHTML+'","width":0,"mandatory":'+mandatory+',"height":0,';break;case"textarea":var textareaNode=DOMUtil.findFirstDescendantByClass(topContent,'textarea',"Textarea");var width=textareaNode.offsetWidth;var mandatory=fieldLabel.getAttribute('mandatory');var height=textareaNode.offsetHeight;strObject+='"value":"'+textareaNode.value+'","width":'+width+',"mandatory":'+mandatory+',"height":'+height+',';break;case"wysiwyg":var midContent=DOMUtil.findNextElementByTagName(topContent,"div");var selectNode=DOMUtil.findFirstDescendantByClass(midContent,'select',"SelectBox");strObject+='"value":"Type content here...","width":0,"mandatory":'+mandatory+',"height":0,"advanced":"'+selectNode.value+'",';break;case"select":var selectNode=DOMUtil.findFirstDescendantByClass(topContent,'select',"SelectBox");var width=selectNode.offsetWidth;var mandatory=fieldLabel.getAttribute('mandatory');var height=selectNode.offsetHeight;strObject+='"value":"'+selectNode.value+'","width":'+width+',"mandatory":'+mandatory+',"height":'+height+',';var options=DOMUtil.getChildrenByTagName(selectNode,'option');var advOptions='';strObject+='"advanced":"';for(var i=0;i<options.length;i++){strObject+=options[i].value;if(i!=(options.length-1)){strObject+=",";}}
strObject+='",';break;case"upload":strObject+='"value":"null","width":0,"mandatory":'+mandatory+',"height":0,';break;}
strObject+='"guideline":"'+fieldLabel.getAttribute('desc')+'"';strObject+="}";return strObject;};UIFormGeneratorPortlet.prototype.submitForm=function(){var strJsonObject=eXo.ecm.UIFormGeneratorPortlet.getStringJsonObject();var inputHidden=document.getElementById("UIFormGeneratorJsonObjectStringInput");if(inputHidden)inputHidden.value=""+strJsonObject;};eXo.ecm.UIFormGeneratorPortlet=new UIFormGeneratorPortlet();function UIForumPortlet(){this.obj=null;this.event=null;this.wait=false;};UIForumPortlet.prototype.mouseOnUserMenu=function(obj,event,wait){this.wait=wait;if(this.wait){this.obj=obj;this.event=event;setTimeout('eXo.forum.UIForumPortlet.viewUserMenu()',300);}};UIForumPortlet.prototype.viewUserMenu=function(){if(this.wait){try{var evObj=document.createEvent('MouseEvents');evObj.initEvent('click',true,true);eXo.webui.UIPopupSelectCategory.show(this.obj,this.obj.dispatchEvent(evObj));}catch(e){eXo.webui.UIPopupSelectCategory.show(this.obj,this.obj.fireEvent("onclick"));}}};UIForumPortlet.prototype.selectItem=function(obj){var DOMUtil=eXo.core.DOMUtil;var tr=DOMUtil.findAncestorByTagName(obj,"tr");var table=DOMUtil.findAncestorByTagName(obj,"table");var tbody=DOMUtil.findAncestorByTagName(obj,"tbody");var checkbox=DOMUtil.findFirstDescendantByClass(table,"input","checkbox");var checkboxes=DOMUtil.findDescendantsByClass(tbody,"input","checkbox");var chklen=checkboxes.length;var j=0;if(obj.checked){if(!tr.getAttribute("tmpClass")){tr.setAttribute("tmpClass",tr.className);tr.className="SelectedItem";}
for(var i=0;i<chklen;i++){if(checkboxes[i].checked)j++;else break;}
if(j==chklen)checkbox.checked=true;}else{if(tr.getAttribute("tmpClass")){tr.className=tr.getAttribute("tmpClass");tr.removeAttribute("tmpClass");}
checkbox.checked=false;}
var modMenu=document.getElementById("ModerationMenu");if(modMenu){var firstItem=modMenu.getElementsByTagName("a")[0];if(j>=2){if(!firstItem.getAttribute("oldClass")){firstItem.setAttribute("oldClass",firstItem.className);firstItem.setAttribute("oldHref",firstItem.href);firstItem.className="DisableMenuItem";firstItem.href="javascript:void(0);";}}else{if(firstItem.getAttribute("oldClass")){firstItem.className=firstItem.getAttribute("oldClass");firstItem.href=firstItem.getAttribute("oldHref");}}}};UIForumPortlet.prototype.numberIsCheckedForum=function(formName,checkAllName,multiAns,onlyAns,notChecked){var total=0;var form=document.forms[formName];if(form){var checkboxs=form.elements;for(var i=0;i<checkboxs.length;i++){if(checkboxs[i].checked){total=total+1;}}}
if(document.getElementById(checkAllName)!=null&&document.getElementById(checkAllName).checked){total=total-1;}
if(total>1){var text=String(multiAns);return confirm(text.replace('{0}',total));}else if(total==1){return confirm(onlyAns);}else{alert(notChecked);return false;}};UIForumPortlet.prototype.checkedPost=function(elm){if(elm.checked)eXo.forum.UIForumPortlet.setChecked(true);else eXo.forum.UIForumPortlet.setChecked(false);};UIForumPortlet.prototype.setChecked=function(isChecked){var divChecked=document.getElementById('divChecked');var check=0;check=eval(divChecked.getAttribute("checked"));if(isChecked)divChecked.setAttribute("checked",(check+1));else divChecked.setAttribute("checked",(check-1));};UIForumPortlet.prototype.OneChecked=function(formName){var form=document.forms[formName];if(form){var checkboxs=form.elements;for(var i=0;i<checkboxs.length;i++){if(checkboxs[i].checked){return true;}}}
return false;};UIForumPortlet.prototype.numberIsChecked=function(formName,checkAllName,multiAns,onlyAns,notChecked){var divChecked=document.getElementById('divChecked');var total=0;total=eval(divChecked.getAttribute("checked"));if(total>1){var text=String(multiAns);return confirm(text.replace('{0}',total));}else if(total==1){return confirm(onlyAns);}else{alert(notChecked);return false;}};UIForumPortlet.prototype.checkAll=function(obj){var DOMUtil=eXo.core.DOMUtil;var thead=DOMUtil.findAncestorByTagName(obj,"thead");var tbody=DOMUtil.findNextElementByTagName(thead,"tbody");var checkboxes=DOMUtil.findDescendantsByClass(tbody,"input","checkbox");var len=checkboxes.length;if(obj.checked){for(var i=0;i<len;i++){if(!checkboxes[i].checked)eXo.forum.UIForumPortlet.setChecked(true);checkboxes[i].checked=true;this.selectItem(checkboxes[i]);}}else{for(var i=0;i<len;i++){if(checkboxes[i].checked)eXo.forum.UIForumPortlet.setChecked(false);checkboxes[i].checked=false;this.selectItem(checkboxes[i]);}}};UIForumPortlet.prototype.checkAction=function(obj,evt){eXo.webui.UIPopupSelectCategory.show(obj,evt);var uiCategory=document.getElementById("UICategory");var uiRightClickPopupMenu=eXo.core.DOMUtil.findFirstDescendantByClass(uiCategory,"div","UIRightClickPopupMenu");var checkboxes=eXo.core.DOMUtil.findDescendantsByClass(uiCategory,"input","checkbox");var clen=checkboxes.length;var menuItems=uiRightClickPopupMenu.getElementsByTagName("a");var mlen=menuItems.length;var alen=arguments.length;var j=0;for(var i=1;i<clen;i++){if(checkboxes[i].checked)j++;if(j>1)break;}
if(alen>2){if(j<1){for(var n=arguments[alen-1];n<mlen;n++){if(!menuItems[n].getAttribute("tmpClass")){menuItems[n].setAttribute("tmpClass",menuItems[n].className);menuItems[n].setAttribute("tmpHref",menuItems[n].href);menuItems[n].className="DisableMenuItem";menuItems[n].href="javascript:void(0);";}}}else{for(var n=arguments[alen-1];n<mlen;n++){if(menuItems[n].getAttribute("tmpClass")){menuItems[n].className=menuItems[n].getAttribute("tmpClass");menuItems[n].href=menuItems[n].getAttribute("tmpHref");menuItems[n].removeAttribute("tmpClass");menuItems[n].removeAttribute("tmpHref");}}
if(j>1){for(var k=2;k<alen;k++){if(!menuItems[arguments[k]].getAttribute("tmpClass")){menuItems[arguments[k]].setAttribute("tmpClass",menuItems[arguments[k]].className);menuItems[arguments[k]].setAttribute("tmpHref",menuItems[arguments[k]].href);menuItems[arguments[k]].className="DisableMenuItem";menuItems[arguments[k]].href="javascript:void(0);";}}}}}};UIForumPortlet.prototype.checkActionTopic=function(obj,evt){eXo.webui.UIPopupSelectCategory.show(obj,evt);var parentMenu=document.getElementById("ModerationMenu");var menuItems=parentMenu.getElementsByTagName("a");var parentContent=document.getElementById("UITopicContent");var checkBoxs=eXo.core.DOMUtil.findDescendantsByClass(parentContent,"input","checkbox");var clen=checkBoxs.length;var mlen=menuItems.length;var divChecked=document.getElementById('divChecked');var j=0;j=eval(divChecked.getAttribute("checked"));for(var i=1;i<clen;i++){if(checkBoxs[i].checked){j=1;break;}}
if(j===0){for(var k=0;k<mlen-1;k++){if(!menuItems[k].getAttribute("tmpClass")){menuItems[k].setAttribute("tmpClass",menuItems[k].className);menuItems[k].setAttribute("tmpHref",menuItems[k].href);menuItems[k].className="DisableMenuItem";menuItems[k].href="javascript:void(0);";}}}else{for(var n=0;n<mlen;n++){if(menuItems[n].getAttribute("tmpClass")){menuItems[n].className=menuItems[n].getAttribute("tmpClass");menuItems[n].href=menuItems[n].getAttribute("tmpHref");menuItems[n].removeAttribute("tmpClass");menuItems[n].removeAttribute("tmpHref");}}}};UIForumPortlet.prototype.expandCollapse=function(obj){var forumToolbar=eXo.core.DOMUtil.findAncestorByClass(obj,"ForumToolbar");var contentContainer=eXo.core.DOMUtil.findNextElementByTagName(forumToolbar,"div");if(contentContainer.style.display!="none"){contentContainer.style.display="none";obj.className="ExpandButton";obj.setAttribute("title",obj.getAttribute("expand"));forumToolbar.style.borderBottom="solid 1px #b7b7b7";}else{contentContainer.style.display="block";obj.className="CollapseButton";obj.setAttribute("title",obj.getAttribute("collapse"));forumToolbar.style.borderBottom="none";}};UIForumPortlet.prototype.showTreeNode=function(obj,isShow){if(isShow==="false")return;var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(obj,"ParentNode");var nodes=DOMUtil.findChildrenByClass(parentNode,"div","Node");var selectedNode=DOMUtil.findAncestorByClass(obj,"Node");var nodeSize=nodes.length;var childrenContainer=null;for(var i=0;i<nodeSize;i++){childrenContainer=DOMUtil.findFirstDescendantByClass(nodes[i],"div","ChildNodeContainer");if(nodes[i]===selectedNode){childrenContainer.style.display="block";nodes[i].className="Node SmallGrayPlus";}else{childrenContainer.style.display="none";if(nodes[i].className==="Node SmallGrayPlus false")continue;nodes[i].className="Node SmallGrayMinus";}}};UIForumPortlet.prototype.checkedNode=function(elm){var input=elm.getElementsByTagName("input")[0];var DOMUtil=eXo.core.DOMUtil;var parentNode=DOMUtil.findAncestorByClass(input,"Node");var containerChild=DOMUtil.findFirstDescendantByClass(parentNode,"div","ChildNodeContainer");if(containerChild){var checkboxes=containerChild.getElementsByTagName("input");for(var i=0;i<checkboxes.length;++i){if(input.checked)checkboxes[i].checked=true;else checkboxes[i].checked=false;}}};UIForumPortlet.prototype.checkedChildNode=function(elm){var input=elm.getElementsByTagName("input")[0];if(input){if(input.checked){var DOMUtil=eXo.core.DOMUtil;var parentCheckBoxNode=elm.parentNode.parentNode.parentNode;var parentCheckBox=DOMUtil.findFirstDescendantByClass(parentCheckBoxNode,"div","ParentCheckBox");var parentInput=parentCheckBox.getElementsByTagName("input")[0];if(!parentInput.checked)parentInput.checked=true;}}};UIForumPortlet.prototype.OverButton=function(oject){if(oject.className.indexOf("Action")>0){var Srt="";for(var i=0;i<oject.className.length-6;i++){Srt=Srt+oject.className.charAt(i);}
oject.className=Srt;}else oject.className=oject.className+"Action";};UIForumPortlet.prototype.initVote=function(voteId,rate){var vote=document.getElementById(voteId);var DOMUtil=eXo.core.DOMUtil;vote.rate=rate=parseInt(rate);var optsContainer=DOMUtil.findFirstDescendantByClass(vote,"div","OptionsContainer");var options=DOMUtil.getChildrenByTagName(optsContainer,"div");for(var i=0;i<options.length-1;i++){options[i].onmouseover=this.overVote;if(i<rate)options[i].className="RatedVote";}
vote.onmouseover=function(){var optsCon=DOMUtil.findFirstDescendantByClass(this,"div","OptionsContainer");var opts=DOMUtil.getChildrenByTagName(optsCon,"div");for(var j=0;j<opts.length-1;j++){if(j<this.rate)opts[j].className="RatedVote";else opts[j].className="NormalVote";}}
optsContainer.onmouseover=function(e){if(!e)e=window.event;e.cancelBubble=true;}};UIForumPortlet.prototype.overVote=function(event){var optsCont=eXo.core.DOMUtil.findAncestorByClass(this,"OptionsContainer");var opts=eXo.core.DOMUtil.getChildrenByTagName(optsCont,"div");var i=opts.length-1;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";}};UIForumPortlet.prototype.showPopup=function(elevent,e){var strs=["AddTagId","goPageTop","goPageBottom","SearchForm"];for(var t=0;t<strs.length;t++){var elm=document.getElementById(strs[t]);if(elm)elm.onclick=eXo.forum.UIForumPortlet.cancel;}
if(!e)e=window.event;e.cancelBubble=true;var parend=eXo.core.DOMUtil.findAncestorByTagName(elevent,"div");var popup=eXo.core.DOMUtil.findFirstDescendantByClass(parend,"div","UIPopupCategory");if(popup.style.display==="none"){popup.style.display="block";eXo.core.DOMUtil.listHideElements(popup);}else{popup.style.display="none";}};UIForumPortlet.prototype.cancel=function(evt){var _e=window.event||evt;_e.cancelBubble=true;};UIForumPortlet.prototype.goLastPost=function(idLastPost){var isDesktop=document.getElementById('UIPageDesktop');if(isDesktop===null){if(idLastPost==="top"){var body=document.getElementsByTagName('body')[0];if(body.scrollTop>250){script:scroll(0,0);var viewPage=document.getElementById('UIForumPortlet');if(viewPage)viewPage.scrollIntoView(true);}}else{var obj=document.getElementById(idLastPost);if(obj)obj.scrollIntoView(true);}}};UIForumPortlet.prototype.setEnableInput=function(){var parend=document.getElementById("ForumUserBan");var DOMUtil=eXo.core.DOMUtil;if(parend){var obj=eXo.core.DOMUtil.findFirstDescendantByClass(parend,"input","checkbox");if(obj){document.getElementById("BanCounter").disabled="disabled";document.getElementById("BanReasonSummary").readonly="readonly";document.getElementById("CreatedDateBan").disabled="disabled";var selectbox=DOMUtil.findFirstDescendantByClass(parend,"select","selectbox");if(!obj.checked){selectbox.disabled="disabled";var banReason=document.getElementById("BanReason");banReason.disabled="disabled";}
obj.onclick=function(){if(!obj.checked){selectbox.disabled="disabled";banReason.disabled="disabled";}else{selectbox.disabled="";banReason.disabled="";}};}}};UIForumPortlet.prototype.hidePicture=function(){eXo.core.Browser.onScrollCallback.remove('MaskLayerControl');var maskContent=eXo.core.UIMaskLayer.object;var maskNode=document.getElementById("MaskLayer")||document.getElementById("subMaskLayer");if(maskContent)eXo.core.DOMUtil.removeElement(maskContent);if(maskNode)eXo.core.DOMUtil.removeElement(maskNode);};UIForumPortlet.prototype.showPicture=function(src){var containerNode=document.createElement('div');var imageNode=document.createElement('img');imageNode.src=src;imageNode.setAttribute('alt','Click to close');containerNode.appendChild(imageNode);containerNode.setAttribute('title','Click to close');containerNode.setAttribute('style','text-align:center;');containerNode.setAttribute('align','center');containerNode.onclick=eXo.forum.UIForumPortlet.hidePicture;this.showFullScreen(imageNode,containerNode);var maskNode=eXo.core.UIMaskLayer.createMask('UIPortalApplication',containerNode,30,'CENTER');eXo.core.Browser.addOnScrollCallback('MaskLayerControl',eXo.ks.MaskLayerControl.scrollHandler);};UIForumPortlet.prototype.getImageSize=function(imageNode){var tmp=imageNode.cloneNode(true);tmp.style.visibility="hidden";document.body.appendChild(tmp);var size={width:tmp.offsetWidth,height:tmp.offsetHeight}
eXo.core.DOMUtil.removeElement(tmp);return size;};UIForumPortlet.prototype.showFullScreen=function(imageNode,containerNode){var imageSize=this.getImageSize(imageNode);var widthMax=eXo.core.Browser.getBrowserWidth();if((imageSize.width+40)>widthMax){containerNode.style.width=widthMax+"px";imageNode.width=(widthMax-40);imageNode.style.height="auto";}};UIForumPortlet.prototype.setDisableTexarea=function(){var objCmdElm=document.getElementById('moderationOptions');var input=eXo.core.DOMUtil.findFirstDescendantByClass(objCmdElm,"input","checkbox");if(input){if(input.name==="AutoAddEmailNotify"){eXo.forum.UIForumPortlet.onClickDisableTexarea();input.onclick=eXo.forum.UIForumPortlet.onClickDisableTexarea;}}};UIForumPortlet.prototype.onClickDisableTexarea=function(){var objCmdElm=document.getElementById('moderationOptions');var input=eXo.core.DOMUtil.findFirstDescendantByClass(objCmdElm,"input","checkbox");if(objCmdElm){var texares=objCmdElm.getElementsByTagName("textarea");for(var i=0;i<texares.length;++i){if(texares[i].name==="NotifyWhenAddTopic"||texares[i].name==="NotifyWhenAddPost"){if(!input.checked){texares[i].readOnly=false;}else{texares[i].readOnly=true;}}}}};UIForumPortlet.prototype.setDisableInput=function(elm,cmdElm){var objCmdElm=document.getElementById(cmdElm);var objElm=document.getElementById(elm);if(objCmdElm===null)return;var parentElm=eXo.core.DOMUtil.findAncestorByClass(objElm,"FieldComponent");var tagA=parentElm.getElementsByTagName('a');var imgA=parentElm.getElementsByTagName('img');for(var i=0;i<tagA.length;++i){tagA[i].setAttribute("tmpHref",tagA[i].href);tagA[i].href="javascript:void(0);";}
objElm.disabled='disabled';if(objCmdElm.value===''){objElm.disabled='disabled';objElm.value='';for(var i=0;i<tagA.length;++i){tagA[i].href="javascript:void(0);";}}else{objElm.disabled='';for(var i=0;i<tagA.length;++i){tagA[i].href=tagA[i].getAttribute("tmpHref");}}
objCmdElm.onkeyup=function(){if(this.value!=''){objElm.disabled='';for(var i=0;i<tagA.length;++i){tagA[i].href=tagA[i].getAttribute("tmpHref");}}else{objElm.disabled='disabled';objElm.value='';for(var i=0;i<tagA.length;++i){tagA[i].href="javascript:void(0);";}
if(elm==='Postable'){eXo.forum.UIForumPortlet.setDisableInput('Viewer','Postable');}}};};UIForumPortlet.prototype.setMaskLayer=function(id){var DOMUtil=eXo.core.DOMUtil;var forumPortlet=document.getElementById(id);var masklayer=DOMUtil.findFirstDescendantByClass(forumPortlet,"div","MaskLayerForum");var popupAction=DOMUtil.findFirstDescendantByClass(forumPortlet,"span","UIForumPopupAction");var popupWindow=DOMUtil.findFirstDescendantByClass(popupAction,"div","UIPopupWindow");if(masklayer){masklayer.style.width="auto";masklayer.style.height="auto";if(popupWindow){if(popupWindow.style.display=="block"){masklayer.style.width=(forumPortlet.offsetWidth-3)+"px";masklayer.style.height=(forumPortlet.offsetHeight-3)+"px";}
var closeButton=DOMUtil.findFirstDescendantByClass(popupAction,"div","CloseButton");if(closeButton){var newDiv=DOMUtil.findFirstDescendantByClass(closeButton,"div","ClosePopup");if(!newDiv)newDiv=document.createElement("div");closeButton.appendChild(newDiv);newDiv.style.width="16px";newDiv.style.height="16px";newDiv.className="ClosePopup";newDiv.innerHTML='<span></span>';newDiv.onclick=function(){masklayer.style.width="auto";masklayer.style.height="auto";};}}}};UIForumPortlet.prototype.onloadReSizeAvatar=function(idElm){setTimeout("eXo.forum.UIForumPortlet.reSizeAvatar('"+idElm+"')",1000);};UIForumPortlet.prototype.reSizeAvatar=function(idElm){var imgElm=document.getElementById(idElm);if(imgElm){imgElm.style.width="auto";if(imgElm.offsetWidth>130){imgElm.style.width="130px";}
if(imgElm.offsetHeight>150){imgElm.style.height="150px";}}};UIForumPortlet.prototype.controlWorkSpace=function(){var slidebar=document.getElementById('ControlWorkspaceSlidebar');if(slidebar){var slidebarButton=eXo.core.DOMUtil.findFirstDescendantByClass(slidebar,"div","SlidebarButton");if(slidebarButton){slidebarButton.onclick=eXo.forum.UIForumPortlet.onClickSlidebarButton;}}
setTimeout(eXo.forum.UIForumPortlet.reSizeImages,1500);};UIForumPortlet.prototype.onClickSlidebarButton=function(){var workspaceContainer=document.getElementById('UIWorkspaceContainer');if(workspaceContainer){if(workspaceContainer.style.display==='none'){setTimeout(eXo.forum.UIForumPortlet.reSizeImages,500);}}};UIForumPortlet.prototype.reSizeImgViewPost=function(){setTimeout('eXo.forum.UIForumPortlet.setSizeImages(10, "SizeImage")',1000);};UIForumPortlet.prototype.reSizeImgViewTopic=function(){setTimeout('eXo.forum.UIForumPortlet.setSizeImages(225, "SizeImage")',1000);};UIForumPortlet.prototype.reSizeImages=function(){setTimeout('eXo.forum.UIForumPortlet.setSizeImages(225, "UITopicDetail")',500);};UIForumPortlet.prototype.reSizeImagesInMessageForm=function(){if(eXo.core.Browser.isIE6())
setTimeout('eXo.forum.UIForumPortlet.setSizeImages(130, "UIViewPrivateMessageForm")',800);else setTimeout('eXo.forum.UIForumPortlet.setSizeImages(10, "UIViewPrivateMessageForm")',400);};UIForumPortlet.prototype.setSizeImages=function(delta,classParant){var parent_=document.getElementById(classParant);var imageContentContainer=eXo.core.DOMUtil.findFirstDescendantByClass(parent_,"div","ImageContentContainer");if(imageContentContainer){var isDesktop=document.getElementById('UIPageDesktop');if(!isDesktop){var max_width=imageContentContainer.offsetWidth-delta;var max=max_width;if(max_width>600)max=600;var images_=imageContentContainer.getElementsByTagName("img");for(var i=0;i<images_.length;i++){var img=new Image();img.src=images_[i].src;if(images_[i].className==="ImgAvatar")continue;if(images_[i].className==="AttachImage")continue;if(img.width>max){images_[i].style.width=max+"px";images_[i].style.height="auto";}else{images_[i].style.width="auto";if(images_[i].width>max){images_[i].style.width=max+"px";images_[i].style.height="auto";}}
if(img.width>600){images_[i].onclick=eXo.forum.UIForumPortlet.showImage;}}}}};UIForumPortlet.prototype.showImage=function(){eXo.forum.UIForumPortlet.showPicture(this.src);};UIForumPortlet.prototype.resetFielForm=function(idElm){var elm=document.getElementById(idElm);var inputs=elm.getElementsByTagName("input");if(inputs){for(var i=0;i<inputs.length;i++){if(inputs[i].type==="checkbox")inputs[i].checked=false;else if(eXo.core.DOMUtil.hasClass(inputs[i],"UISliderInput"))eXo.webui.UISliderControl.reset(inputs[i]);else inputs[i].value="";}}
var textAres=elm.getElementsByTagName("textarea");if(textAres){for(var i=0;i<textAres.length;i++){textAres[i].value="";}}};UIForumPortlet.prototype.RightClickBookMark=function(elmId){var ancestor=document.getElementById(elmId);var DOMUtil=eXo.core.DOMUtil;var popupContents=DOMUtil.findDescendantsByClass(ancestor,"div","ClickPopupContent");if(popupContents==null)return;var popupContainer=document.getElementById('RightClickContainer');if(popupContainer==null)return;var itemmenuBookMark=DOMUtil.findFirstDescendantByClass(popupContainer,"a","AddBookmark");var itemmenuWatching=DOMUtil.findFirstDescendantByClass(popupContainer,"a","AddWatching");var itemmenuRSS=DOMUtil.findFirstDescendantByClass(popupContainer,"a","AddRSS");if(itemmenuWatching==null||itemmenuBookMark==null)return;var labelWatchings=String(itemmenuWatching.innerHTML).split(";");for(var i=0;i<popupContents.length;i++){var action=popupContents[i].getAttribute('action');if(action.indexOf(";")<0){itemmenuBookMark.href=action;itemmenuWatching.parentNode.style.display="none";}else{var actions=action.split(";");itemmenuBookMark.href=actions[0];itemmenuWatching.href=actions[1];if(actions[1].indexOf("UnWatch")>=0)itemmenuWatching.innerHTML=labelWatchings[1];else itemmenuWatching.innerHTML=labelWatchings[0];if(itemmenuRSS){if(actions.length==3){var link=actions[2].substring(0,actions[2].indexOf(','));var action=actions[2].substring(actions[2].indexOf(',')+1);itemmenuRSS.href="javascript:window.open('"+link+"'); "+action+";";itemmenuRSS.parentNode.style.display="block";}else{itemmenuRSS.parentNode.style.display="none";}}
itemmenuWatching.parentNode.style.display="block";}
popupContents[i].innerHTML=popupContainer.innerHTML;}};UIForumPortlet.prototype.ReloadImage=function(){if(eXo.core.Browser.isIE6()){var aImage=document.getElementsByTagName("img");var length=aImage.length;for(var i=0;i<length;++i){aImage[i].src=aImage[i].src;if(aImage[i].width>590)aImage[i].width=590+"px";}}};UIForumPortlet.prototype.shareLink=function(obj){var shareLinkContainer=document.getElementById("popupShareLink");if(shareLinkContainer.style.display!="none")
shareLinkContainer.style.display="none";else
shareLinkContainer.style.display="block";};UIForumPortlet.prototype.closeShareLink=function(obj){var popup=eXo.core.DOMUtil.findAncestorByClass(obj,"UIPopupWindow");popup.style.display="none";};UIForumPortlet.prototype.loadScroll=function(e){var uiNav=eXo.forum.UIForumPortlet;var container=document.getElementById("UIForumActionBar");if(container){uiNav.scrollMgr=eXo.portal.UIPortalControl.newScrollManager("UIForumActionBar");uiNav.scrollMgr.initFunction=uiNav.initScroll;uiNav.scrollMgr.mainContainer=eXo.core.DOMUtil.findFirstDescendantByClass(container,"td","ControlButtonContainer");uiNav.scrollMgr.arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(container,"div","ScrollButtons");uiNav.scrollMgr.loadElements("ControlButton",true);var button=eXo.core.DOMUtil.findDescendantsByTagName(uiNav.scrollMgr.arrowsContainer,"div");if(button.length>=2){uiNav.scrollMgr.initArrowButton(button[0],"left","ScrollLeftButton","HighlightScrollLeftButton","DisableScrollLeftButton");uiNav.scrollMgr.initArrowButton(button[1],"right","ScrollRightButton","HighlightScrollRightButton","DisableScrollRightButton");}
uiNav.scrollManagerLoaded=true;uiNav.initScroll();}};UIForumPortlet.prototype.initScroll=function(){var uiNav=eXo.forum.UIForumPortlet;if(!uiNav.scrollManagerLoaded)uiNav.loadScroll();var elements=uiNav.scrollMgr.elements;uiNav.scrollMgr.init();if(eXo.core.Browser.isIE6())uiNav.scrollMgr.arrowsContainer.setAttribute("space",35);uiNav.scrollMgr.checkAvailableSpace();uiNav.scrollMgr.renderElements();};ScrollManager.prototype.loadItems=function(elementClass,clean){if(clean)this.cleanElements();this.elements.clear();var items=eXo.core.DOMUtil.findDescendantsByClass(this.mainContainer,"div",elementClass);for(var i=0;i<items.length;i++){this.elements.push(items[i]);}};UIForumPortlet.prototype.loadTagScroll=function(){var uiNav=eXo.forum.UIForumPortlet;var container=document.getElementById("TagContainer");if(container){uiNav.tagScrollMgr=eXo.portal.UIPortalControl.newScrollManager("TagContainer");uiNav.tagScrollMgr.initFunction=uiNav.initTagScroll;uiNav.tagScrollMgr.mainContainer=container.parentNode;uiNav.tagScrollMgr.arrowsContainer=eXo.core.DOMUtil.findFirstDescendantByClass(container,"div","ScrollButtons");uiNav.tagScrollMgr.loadItems("MenuItem",true);var button=eXo.core.DOMUtil.findDescendantsByTagName(uiNav.tagScrollMgr.arrowsContainer,"div");if(button.length>=2){uiNav.tagScrollMgr.initArrowButton(button[0],"left","ScrollLeftButton","HighlightScrollLeftButton","DisableScrollLeftButton");uiNav.tagScrollMgr.initArrowButton(button[1],"right","ScrollRightButton","HighlightScrollRightButton","DisableScrollRightButton");}
uiNav.scrollManagerLoaded=true;uiNav.initTagScroll();}};UIForumPortlet.prototype.initTagScroll=function(){var uiNav=eXo.forum.UIForumPortlet;var elements=uiNav.tagScrollMgr.elements;var menu=eXo.core.DOMUtil.findFirstDescendantByClass(uiNav.tagScrollMgr.arrowsContainer,"div","UIRightPopupMenuContainer");var tmp=null;uiNav.setTagContainerWidth(uiNav.tagScrollMgr.mainContainer);uiNav.tagScrollMgr.init();uiNav.tagScrollMgr.checkAvailableSpace();var menuContainer=document.createElement("div");menuContainer.className="MenuTagContainer";removeChildren(menu);uiNav.tagScrollMgr.arrowsContainer.onmouseover=over;uiNav.tagScrollMgr.arrowsContainer.onmouseout=out;for(var i=0;i<elements.length;i++){if(elements[i].isVisible){elements[i].style.display="block";}
else{tmp=elements[i].cloneNode(true);eXo.core.DOMUtil.replaceClass(tmp,"FloatLeft","MenuItem");tmp.style.display="block";menuContainer.appendChild(tmp)
elements[i].style.display="none";uiNav.tagScrollMgr.arrowsContainer.style.display="block";}}
menu.appendChild(menuContainer);setPosition(menu);function removeChildren(cont){var firstChild=eXo.core.DOMUtil.findFirstChildByClass(cont,"div","MenuTagContainer")
eXo.core.DOMUtil.removeElement(firstChild);};function setPosition(menu){var uiPopupCategory=eXo.core.DOMUtil.findAncestorByClass(menu,"UIPopupCategory");uiPopupCategory.style.display="block";var posX=24*2-uiPopupCategory.offsetWidth;uiPopupCategory.style.top="24px";uiPopupCategory.style.left=posX+"px";uiPopupCategory.style.display="none";};function over(){eXo.core.DOMUtil.addClass(this,"ScrollButtonsOver");};function out(){eXo.core.DOMUtil.replaceClass(this,"ScrollButtonsOver","");};};UIForumPortlet.prototype.setTagContainerWidth=function(container){var nodes=eXo.core.DOMUtil.getChildrenByTagName(container.parentNode,"div");var width=0;var i=nodes.length;while(i--){if((nodes[i].className==container.className)||!nodes[i].className)continue;width+=nodes[i].offsetWidth;}
width=container.parentNode.offsetWidth-width-1;container.style.width=width+"px";};UIForumPortlet.prototype.executeLink=function(evt){var onclickAction=String(this.getAttribute("actions"));eval(onclickAction);eXo.core.EventManager.cancelEvent(evt);return false;};UIForumPortlet.prototype.createLink=function(cpId,isAjax){if(!isAjax||isAjax==='false')return;var comp=document.getElementById(cpId);var uiCategoryTitle=eXo.core.DOMUtil.findDescendantsByClass(comp,"a","ActionLink");var i=uiCategoryTitle.length;if(!i||(i<=0))return;while(i--){uiCategoryTitle[i].onclick=this.executeLink;}};UIForumPortlet.prototype.setAutoScrollTable=function(idParent,idChild){var grid=document.getElementById(idChild);var tableContent=document.getElementById(idParent);var isIE=document.all?true:false;if(isIE){tableContent.style.width="auto";grid.style.width="auto";}
if((grid.offsetWidth+10)>=(tableContent.offsetWidth)){tableContent.style.paddingRight="16px";tableContent.style.width="auto";}else{tableContent.style.padding="1px";tableContent.style.width="100%";}};UIForumPortlet.prototype.initContextMenu=function(id){var cont=document.getElementById(id);var uiContextMenu=eXo.ks.UIContextMenu;if(!uiContextMenu.classNames)uiContextMenu.classNames=new Array("ActionLink");else uiContextMenu.classNames.push("ActionLink");uiContextMenu.setContainer(cont);uiContextMenu.setup();};UIForumPortlet.prototype.showBBCodeHelp=function(id,isIn){var parentElm=document.getElementById(id);var popupHelp=document.getElementById(id+"ID");var bbCodeContentHelp=eXo.core.DOMUtil.findFirstDescendantByClass(parentElm,"div","BBCodeHelpContent");if(bbCodeContentHelp){if(isIn=="true"){bbCodeContentHelp.style.display="block";var bbCodeHelpPopup=eXo.core.DOMUtil.findFirstDescendantByClass(bbCodeContentHelp,"div","BBCodeHelpPopup");var contentHelp=eXo.core.DOMUtil.findFirstDescendantByClass(parentElm,"div","ContentHelp");var contentPosition=eXo.core.DOMUtil.findFirstDescendantByClass(bbCodeContentHelp,"div","ContentPosition");var l=String(contentHelp.innerHTML).length;if(l<100){contentHelp.style.width=(20+l*4)+"px"
bbCodeContentHelp.style.width=(20+l*4+54)+"px"
contentPosition.style.height="auto";}else{contentHelp.style.width="400px"
bbCodeContentHelp.style.width="454px"
contentPosition.style.height=(contentHelp.offsetHeight-26)+"px";}
var parPopup=document.getElementById("UIForumPopupWindow");var parPopup2=document.getElementById("UIForumChildPopupWindow");var left=0;var idField=String(id).replace("Help","");var field=document.getElementById(idField);left=(parPopup.offsetLeft)*1+(parPopup2.offsetLeft)*1+field.offsetWidth+135;var worksPace=document.getElementById('UIWorkingWorkspace');var worksPaceW=1*1;if(worksPace)worksPaceW=(worksPace.offsetWidth)*1;if((left>contentHelp.offsetWidth)&&((left+bbCodeContentHelp.offsetWidth)>worksPaceW)){bbCodeContentHelp.style.left="-"+(contentHelp.offsetWidth+50)+"px";popupHelp.className="LeftBBCodeHelpPopup";}else{bbCodeContentHelp.style.left="12px";popupHelp.className="RightBBCodeHelpPopup";}}else{bbCodeContentHelp.style.display="none";}}};UIForumPortlet.prototype.submitSearch=function(id){var parentElm=document.getElementById(id);if(parentElm){parentElm.onkeydown=eXo.forum.UIForumPortlet.submitOnKey;}};UIForumPortlet.prototype.submitOnKey=function(event){var key=eXo.core.Keyboard.getKeynum(event);if(key==13){var searchLinkElm=eXo.core.DOMUtil.findFirstDescendantByClass(this,"a","SearchLink");if(searchLinkElm){var link=String(searchLinkElm.href);link=link.replace("javascript:","");eval(link);eXo.core.EventManager.cancelEvent(event);return false;}}};eXo.forum.UIForumPortlet=new UIForumPortlet();eXo.forum.CheckBox={init:function(cont){if(typeof(cont)=="string")cont=document.getElementById(cont);if(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;if(checkboxes[i].getAttribute("checked")!="checked")checkboxes[i].checked=false;eXo.ks.CheckBox.checkItem(checkboxes[i]);}}},check:function(){eXo.ks.CheckBox.checkItem(this);var row=eXo.core.DOMUtil.findAncestorByTagName(this,"tr");if(this.checked){eXo.core.DOMUtil.addClass(row,"SelectedItem");eXo.forum.UIForumPortlet.setChecked(true);}else{eXo.forum.UIForumPortlet.setChecked(false);eXo.core.DOMUtil.replaceClass(row,"SelectedItem","");}},checkAll:function(){eXo.forum.UIForumPortlet.checkAll(this);var table=eXo.core.DOMUtil.findAncestorByTagName(this,"table");table=eXo.core.DOMUtil.getChildrenByTagName(table,"tbody")[0];var rows=eXo.core.DOMUtil.findDescendantsByTagName(table,"tr");var i=rows.length;if(this.checked){while(i--){eXo.core.DOMUtil.addClass(rows[i],"SelectedItem");}}else{while(i--){eXo.core.DOMUtil.replaceClass(rows[i],"SelectedItem","");}}}};eXo.require("eXo.core.JSON");eXo.require("eXo.core.Keyboard");function AjaxHandler(callbackObject,action){this.LOADING_STATE='LOADING';this.SUCCESS_STATE='SUCCESS';this.ERROR_STATE='ERROR';this.TIMEOUT_STATE='TIMEOUT';this.action=action;if(callbackObject&&callbackObject._ajaxUpdate){this.callbackObject=callbackObject;}else{this.callbackObject=false;}}
AjaxHandler.prototype.onLoading=function(requestObj){if(!this.handler.callbackObject)return;this.handler.callbackObject._ajaxUpdate(this.handler,this.handler.LOADING_STATE,requestObj,this.handler.action);};AjaxHandler.prototype.onSuccess=function(requestObj){if(!this.handler.callbackObject)return;this.handler.callbackObject._ajaxUpdate(this.handler,this.handler.SUCCESS_STATE,requestObj,this.handler.action);};AjaxHandler.prototype.onError=function(requestObj){if(!this.handler.callbackObject)return;this.handler.callbackObject._ajaxUpdate(this.handler,this.handler.ERROR_STATE,requestObj,this.handler.action);};AjaxHandler.prototype.onTimeout=function(requestObj){if(!this.handler.callbackObject)return;this.handler.callbackObject._ajaxUpdate(this.handler,this.handler.TIMEOUT_STATE,requestObj,this.handler.action);};function SearchTagName(){this.searchTagNameNode=null;this.uiGridNode=null;this.SEARCH_IP_BAN='Search tag name ajax action';this.data=null;}
SearchTagName.prototype.init=function(userName){var DOMUtil=eXo.core.DOMUtil;this.parentNode=document.getElementById('searchTagName');if(!this.parentNode)return;this.parentNode.style.visibility="hidden";var searchInputId=this.parentNode.getAttribute("inputId");this.searchTagNameNode=document.getElementById(searchInputId);if(!this.searchTagNameNode){return;}
this.searchTagNameNode.value="";this.searchTagNameNode.onkeydown=this.searchIpBanWrapper;this.searchTagNameNode.onclick=this.submitInput;var buttonSearch=document.getElementById('ButtonSearch');if(buttonSearch){buttonSearch.onclick=this.submitInput;}};SearchTagName.prototype.submitInput=function(event){var str=String(eXo.forum.webservice.SearchTagName.searchTagNameNode.value)
if(eXo.forum.webservice.SearchTagName.parentNode.style.visibility==="hidden"&&str.trim().length===0){eXo.forum.webservice.SearchTagName.searchTagName('onclickForm');}};SearchTagName.prototype.searchIpBanWrapper=function(event){var key=eXo.core.Keyboard.getKeynum(event);if(key==13){var object=eXo.forum.webservice.SearchTagName;var str=String(object.searchTagNameNode.value);if(object.parentNode.style.visibility==="visible"){object.searchTagNameNode.focus();object.parentNode.style.visibility="hidden";object.searchTagName(' ');}else if(str.trim().length>0){var linkSubmit=String(object.parentNode.getAttribute('linkSubmit'));linkSubmit=linkSubmit.replace("javascript:","");eval(linkSubmit);}
return;}
if(key==38||key==40){var DOMUtil=eXo.core.DOMUtil;var items=DOMUtil.findDescendantsByClass(this.parentNode,"div","TagNameItem");if(items&&items.length>0){var itemSl=DOMUtil.findFirstDescendantByClass(this.parentNode,"div","Selected");if(itemSl){var t=items.length;for(var i=0;i<t;i++){if(items[i]===itemSl){items[i].className="TagNameItem";if(i==0&&key==38){eXo.forum.webservice.SearchTagName.setValueInput(items[t-1]);}else if(i==(t-1)&&key==40){eXo.forum.webservice.SearchTagName.setValueInput(items[0]);}else if(key==38){eXo.forum.webservice.SearchTagName.setValueInput(items[i-1]);}else if(key==40){eXo.forum.webservice.SearchTagName.setValueInput(items[i+1]);}}}}else{eXo.forum.webservice.SearchTagName.setValueInput(items[0]);}}}else if(key>40||key==8){var str=String(eXo.forum.webservice.SearchTagName.searchTagNameNode.value)
if(key==8&&(str.trim().length===0||str.trim().length===1)){eXo.forum.webservice.SearchTagName.searchTagName('onclickForm');}else{window.setTimeout(eXo.forum.webservice.SearchTagName.searchIpBanTimeout,50);}}};SearchTagName.prototype.setValueInput=function(elm){elm.className="TagNameItem Selected";var str=String(this.searchTagNameNode.value);str=str.substring(0,str.lastIndexOf(' '));var value=String(elm.innerHTML);value=value.substring(0,value.indexOf(' '));if(str.length==0)str=value;else str=str+" "+value;this.searchTagNameNode.value=str;};SearchTagName.prototype.searchIpBanTimeout=function(){eXo.forum.webservice.SearchTagName.searchTagName(eXo.forum.webservice.SearchTagName.searchTagNameNode.value);};SearchTagName.prototype.searchTagName=function(keyword){keyword=String(keyword);var strs=keyword.split(" ");if(strs.length>=1)keyword=strs[strs.length-1];keyword=keyword||' ';var userAndTopicId=this.parentNode.getAttribute("userAndTopicId");if(userAndTopicId){var url='/portal/rest/ks/forum/filterTagNameForum/'+userAndTopicId+'/'+keyword+'/';this.url_=url;var handler=new AjaxHandler(this,this.SEARCH_IP_BAN);this.ajaxWrapper(handler,url,'GET');}}
SearchTagName.prototype._ajaxUpdate=function(ajaxHandler,state,requestObject,action){switch(state){case ajaxHandler.LOADING_STATE:break;case ajaxHandler.SUCCESS_STATE:if(action==this.STORE_DATA_AJAX_ACTION){return;}
var _data;if(requestObject.responseText){try{_data=eXo.core.JSON.parse(requestObject.responseText);}catch(e){}}
if(_data){this.data=_data;if(action==this.SEARCH_IP_BAN){this.updateIpBanList();}}
break;case ajaxHandler.ERROR_STATE:break;case ajaxHandler.TIMEOUT_STATE:break;default:break;}};SearchTagName.prototype.updateIpBanList=function(){var DOMUtil=eXo.core.DOMUtil;var oldTagNameList=DOMUtil.findDescendantsByClass(this.parentNode,'div','TagNameItem');for(var i=0;i<oldTagNameList.length;i++){DOMUtil.removeElement(oldTagNameList[i]);}
var t=0;var length_=this.data.jsonList.length;for(var i=0;i<length_;i++){this.parentNode.appendChild(this.buildItemNode(this.data.jsonList[i].ip));t=1;}
if(t==1)this.parentNode.style.visibility="visible";else this.parentNode.style.visibility="hidden";};SearchTagName.prototype.buildItemNode=function(ip){var itemNode=document.createElement('div');itemNode.className='TagNameItem';itemNode.innerHTML=ip;ip=ip.substring(0,ip.indexOf(' '));this.searchTagNameNode;itemNode.onclick=function(){var str=String(eXo.forum.webservice.SearchTagName.searchTagNameNode.value);str=str.substring(0,str.lastIndexOf(' '))
if(str.length==0)str=ip;else str=str+" "+ip;eXo.forum.webservice.SearchTagName.searchTagNameNode.value=str;eXo.forum.webservice.SearchTagName.searchTagNameNode.focus();eXo.forum.webservice.SearchTagName.parentNode.style.visibility="hidden";eXo.forum.webservice.SearchTagName.searchTagName(' ');}
itemNode.onmouseover=function(){if(this.className==='TagNameItem'){this.className='TagNameItem OverItem';}else{this.className='TagNameItem OverItem Slect';}}
itemNode.onmouseout=function(){if(this.className==='TagNameItem OverItem'){this.className='TagNameItem';}else{this.className='TagNameItem Selected';}}
return itemNode;};SearchTagName.prototype.mouseOver=function(elm){elm.className='TagNameItem OverItem';};SearchTagName.prototype.ajaxProcessOverwrite=function(manualMode,ajaxRequest){if(ajaxRequest.request==null)return;ajaxRequest.request.open(ajaxRequest.method,ajaxRequest.url,true);if(!manualMode){if(ajaxRequest.method=="POST"){ajaxRequest.request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");}else{ajaxRequest.request.setRequestHeader("Content-Type","text/plain;charset=UTF-8");}}else{ajaxRequest.request.setRequestHeader("Content-Type","text/xml;charset=UTF-8");}
if(ajaxRequest.timeout>0)setTimeout(ajaxRequest.onTimeoutInternal,ajaxRequest.timeout);ajaxRequest.request.send(ajaxRequest.queryString);};SearchTagName.prototype.initAjaxRequest=function(ajaxRequest,handler){ajaxRequest.onSuccess=handler.onSuccess;ajaxRequest.onLoading=handler.onLoading;ajaxRequest.onTimeout=handler.onTimeout;ajaxRequest.onError=handler.onError;ajaxRequest.callBack=handler.callBack;ajaxRequest.handler=handler;this.currentRequest=ajaxRequest;};SearchTagName.prototype.ajaxWrapper=function(handler,url,method,data){var request=new eXo.portal.AjaxRequest(method,url,data);this.initAjaxRequest(request,handler);this.ajaxProcessOverwrite(true,request);};eXo.forum.webservice=eXo.forum.webservice||{};eXo.forum.webservice.SearchTagName=new SearchTagName();if(!eXo.ks){eXo.ks={};}
function CheckBoxManager(){};CheckBoxManager.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;}};CheckBoxManager.prototype.checkAll=function(){eXo.ks.CheckBox.checkAllItem(this);};CheckBoxManager.prototype.getItems=function(obj){var table=eXo.core.DOMUtil.findAncestorByTagName(obj,"table");var checkboxes=eXo.core.DOMUtil.findDescendantsByClass(table,"input","checkbox");return checkboxes;};CheckBoxManager.prototype.check=function(){eXo.ks.CheckBox.checkItem(this);};CheckBoxManager.prototype.checkAllItem=function(obj){var checked=obj.checked;var items=eXo.ks.CheckBox.getItems(obj);var len=items.length;for(var i=1;i<len;i++){items[i].checked=checked;}};CheckBoxManager.prototype.checkItem=function(obj){var checkboxes=eXo.ks.CheckBox.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;}};eXo.ks.CheckBox=new CheckBoxManager();function EventManager(){}
EventManager.prototype.addEvent=function(obj,type,fn){if(obj.attachEvent){obj['e'+type+fn]=fn;obj[type+fn]=function(){obj['e'+type+fn](window.event);}
obj.attachEvent('on'+type,obj[type+fn]);}else
obj.addEventListener(type,fn,false);};EventManager.prototype.removeEvent=function(obj,type,fn){if(obj.detachEvent){obj.detachEvent('on'+type,obj[type+fn]);obj[type+fn]=null;}else
obj.removeEventListener(type,fn,false);};EventManager.prototype.getMouseButton=function(evt){var evt=evt||window.event;return evt.button;};EventManager.prototype.getEventTarget=function(evt){var evt=evt||window.event;var target=evt.target||evt.srcElement;if(target.nodeType==3){target=target.parentNode;}
return target;};EventManager.prototype.getEventTargetByClass=function(evt,className){var target=this.getEventTarget(evt);if(eXo.core.DOMUtil.hasClass(target,className))
return target;else
return eXo.core.DOMUtil.findAncestorByClass(target,className);};EventManager.prototype.getEventTargetByTagName=function(evt,tagName){var target=this.getEventTarget(evt);if(target.tagName.toLowerCase()==tagName.trim())
return target;else
return eXo.core.DOMUtil.findAncestorByTagName(target,tagName);};EventManager.prototype.cancelBubble=function(evt){if(eXo.core.Browser.browserType=='ie')
window.event.cancelBubble=true;else
evt.stopPropagation();};EventManager.prototype.cancelEvent=function(evt){eXo.core.EventManager.cancelBubble(evt);if(eXo.core.Browser.browserType=='ie')
window.event.returnValue=true;else
evt.preventDefault();};eXo.core.EventManager=new EventManager();eXo.ks.UIContextMenu={menus:[],setup:function(){if(!this.container)return;var i=this.container.length;while(i--){eXo.core.EventManager.addEvent(this.container[i],"contextmenu",this.show);}},setContainer:function(obj){if(!this.container)this.container=[];this.container.push(obj);},getMenu:function(evt){var element=this.getMenuElement(evt);if(!element)return;var menuId=element.getAttribute("ctxMenuId");var cont=eXo.core.DOMUtil.findAncestorByClass(element,"PORTLET-FRAGMENT");var menu=eXo.core.DOMUtil.findDescendantById(cont,menuId);if(!menu)return;if(element.tagName!="TR")element.parentNode.appendChild(menu);return menu;},getMenuElement:function(evt){var target=eXo.core.EventManager.getEventTarget(evt);while(target){var className=target.className;if(!className){target=target.parentNode;continue;}
className=className.replace(/^\s+/g,"").replace(/\s+$/g,"");var classArray=className.split(/[ ]+/g);for(i=0;i<classArray.length;i++){if(this.classNames.contains(classArray[i])){return target;}}
target=target.parentNode;}
return null;},hideElement: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();}},setPosition:function(obj,evt){var Browser=eXo.core.Browser;var x=Browser.getBrowserWidth()-Browser.findMouseXInPage(evt)-obj.offsetWidth;var y=Browser.findMouseYInPage(evt);obj.style.position="absolute";obj.style.display="block";if(Browser.isDesktop()){x=Browser.findMouseXInPage(evt)-Browser.findPosX(obj.offsetParent);y-=Browser.findPosY(obj.offsetParent);if(document.getElementById("UIControlWorkspace")&&Browser.isIE7())x+=document.getElementById("UIControlWorkspace").offsetWidth;obj.style.left=x+"px";}else{obj.style.right=x+"px";}
obj.style.top=y+"px";},show:function(evt){var ctx=eXo.ks.UIContextMenu;var menu=ctx.getMenu(evt);ctx.hideElement();if(!menu)return;eXo.core.EventManager.cancelEvent(evt);ctx.setPosition(menu,evt);eXo.core.DOMUtil.listHideElements(menu);return false;}};eXo.core.UIMaskLayer.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="0px";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){}
if(object)eXo.core.UIMaskLayer.objectTop=eXo.core.UIMaskLayer.object.offsetTop-document.documentElement.scrollTop;return maskLayer;};function MaskLayerControl(){this.domUtil=eXo.core.DOMUtil;}
MaskLayerControl.prototype.init=function(root){root=(typeof(root)=='string')?document.getElementById(root):root;var nodeList=this.domUtil.findDescendantsByClass(root,'span','ViewDownloadIcon');for(var i=0;i<nodeList.length;i++){var linkNode=nodeList[i].getElementsByTagName('a')[0];linkNode.onclick=this.showPictureWrapper;}};MaskLayerControl.prototype.showPictureWrapper=function(){eXo.cs.MaskLayerControl.showPicture(this);return false;};MaskLayerControl.prototype.showPicture=function(node){var attachmentContent=this.domUtil.findAncestorByClass(node,'AttachmentContent');var imgSrcNode=this.domUtil.findDescendantsByClass(attachmentContent,'img','AttachmentFile')[0];this.isMail=this.domUtil.findAncestorByClass(node,"UIMailPortlet");var containerNode=document.createElement('div');with(containerNode.style){margin='auto';top='20px';left='5%';width='90%';height='95%';textAlign='center';}
var imageNode=document.createElement('img');imageNode.src=imgSrcNode.src;imageNode.setAttribute('alt','Click to close.');with(imageNode.style){height='100%';width='auto';}
containerNode.appendChild(imageNode);containerNode.setAttribute('title','Click to close');containerNode.onclick=this.hidePicture;var maskNode=eXo.core.UIMaskLayer.createMask('UIPortalApplication',containerNode,30,'CENTER');eXo.core.Browser.addOnScrollCallback('MaskLayerControl',this.scrollHandler);};MaskLayerControl.prototype.scrollHandler=function(){if(eXo.cs.MaskLayerControl.isMail){eXo.core.UIMaskLayer.object.style.top=document.documentElement.scrollTop+20+'px';return;}
eXo.core.UIMaskLayer.object.style.top=eXo.core.UIMaskLayer.objectTop+document.documentElement.scrollTop+'px';};MaskLayerControl.prototype.hidePicture=function(){eXo.core.Browser.onScrollCallback.remove('MaskLayerControl');var maskContent=eXo.core.UIMaskLayer.object;var maskNode=document.getElementById("MaskLayer")||document.getElementById("subMaskLayer");if(maskContent)maskContent.parentNode.removeChild(maskContent);if(maskNode)maskNode.parentNode.removeChild(maskNode);};if(!eXo.cs)eXo.cs={};eXo.cs.MaskLayerControl=new MaskLayerControl();function showWorkspaceArea(showable){if(showable===true){eXo.portal.UIControlWorkspace.showControlWorkspace=false;eXo.portal.UIControlWorkspace.showWorkspace();}}
