var eXo={animation:{},browser:{},desktop:{},core:{},env:{portal:{},client:{},server:{}},portal:{},util:{},webui:{},gadget:{},application:{browser:{}},ecm:{},calendar:{},contact:{},forum:{},mail:{},faq:{},session:{},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);eXo.session.itvDestroy();if(eXo.session.canKeepState&&eXo.session.isOpen&&eXo.env.portal.accessMode=='private'){eXo.session.itvInit();}
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);};eXo.session.openUrl=null;eXo.session.itvTime=null;eXo.session.itvObj=null;eXo.session.itvInit=function(){if(!eXo.session.openUrl)eXo.session.openUrl=eXo.env.server.createPortalURL("UIPortal","Ping",false);if(!eXo.session.itvTime)eXo.session.itvTime=1800;if(eXo.session.itvTime>0)eXo.session.itvObj=window.setTimeout("eXo.session.itvOpen()",(eXo.session.itvTime-10)*1000);};eXo.session.itvOpen=function(){var result=ajaxAsyncGetRequest(eXo.session.openUrl,false);if(!isNaN(result))eXo.session.itvTime=parseInt(result);};eXo.session.itvDestroy=function(){window.clearTimeout(eXo.session.itvObj);eXo.session.itvObj=null;};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.hasAncestor=function(root,obj){var prtEle=root.parentNode;while(prtEle){if(prtEle==obj)return true;prtEle=prtEle.parentNode;}
return false;};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();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 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(){var callback=eXo.core.Browser.onLoadCallback;for(var name in callback.properties){var method=callback.get(name);if(typeof(method)=="function")try{method()}catch(e){};}
this.onLoadCallback=new eXo.core.HashMap();};Browser.prototype.addOnResizeCallback=function(id,method){this.onResizeCallback.put(id,method);};Browser.prototype.onResize=function(event){var callback=eXo.core.Browser.onResizeCallback;for(var name in callback.properties){var method=callback.get(name);if(typeof(method)=="function")method(event);}};Browser.prototype.addOnScrollCallback=function(id,method){this.onScrollCallback.put(id,method);};Browser.prototype.onScroll=function(event){var callback=eXo.core.Browser.onScrollCallback;for(var name in callback.properties){var method=callback.get(name);try{if(typeof(method)=="function")method(event);}catch(err){}}};Browser.prototype.getBrowserType=function(){return this.browserType;};Browser.prototype.findPosX=function(obj,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(!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();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='/fckeditor/';FCKeditor.MinHeight=200;FCKeditor.MinWidth=750;FCKeditor.prototype.Version='2.6.6';FCKeditor.prototype.VersionBuild='25427';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(document.getElementById(this.InstanceName+'___Frame'))
return;if(!this.CheckBrowser||this._IsCompatibleBrowser())
{var oTextarea=document.getElementById(this.InstanceName);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;var 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()
{var sAgent=navigator.userAgent.toLowerCase();if(false&&sAgent.indexOf("mac")==-1)
{var sBrowserVersion=navigator.appVersion.match(/MSIE (.\..)/)[1];return(sBrowserVersion>=5.5);}
if(navigator.product=="Gecko"&&navigator.productSub>=20030210&&!(typeof(opera)=='object'&&opera.postError))
return true;if(window.opera&&window.opera.version&&parseFloat(window.opera.version())>=9.5)
return true;if(sAgent.indexOf(' adobeair/')!=-1)
return(sAgent.match(/ adobeair\/(\d+)/)[1]>=1);if(sAgent.indexOf(' applewebkit/')!=-1)
return(sAgent.match(/ applewebkit\/(\d+)/)[1]>=522);return false;}
function WCMUtils(){}
WCMUtils.prototype.getHostName=function(){var parentLocation=window.parent.location;return parentLocation.href.substring(0,parentLocation.href.indexOf(parentLocation.pathname));};WCMUtils.prototype.request=function(url){var xmlHttpRequest=false;if(window.XMLHttpRequest){xmlHttpRequest=new window.XMLHttpRequest();xmlHttpRequest.open("GET",url,false);xmlHttpRequest.send("");return xmlHttpRequest.responseXML;}
else if(ActiveXObject("Microsoft.XMLDOM")){xmlHttpRequest=new ActiveXObject("Microsoft.XMLDOM");xmlHttpRequest.async=false;xmlHttpRequest.load(urlRequestXML);return xmlHttpRequest;}
return null;};WCMUtils.prototype.getCurrentNodes=function(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;};WCMUtils.prototype.getRestContext=function(){return eXo.env.portal.context+"/"+eXo.env.portal.rest;};eXo.ecm.WCMUtils=new WCMUtils();function UIWCMTreeView(){this.constParentNode='UIWCMTreeParentNode';this.constChildNode='UIWCMTreeChildNode';this.constBreadcumbsElement='UITreeViewBreadcumbsElement';this.constComponentId="$uicomponent.id";this.oldId;this.ajaxAction="<%=uicomponent.event('ChangeNode','WCMTreeBuilderParameters')%>";while(this.ajaxAction.indexOf('amp;')>-1){this.ajaxAction=this.ajaxAction.replace("amp;","");}}
UIWCMTreeView.prototype.replaceAll=function(input,ch1,ch2){while(input.indexOf(ch1)>-1){input=input.replace(ch1,ch2);}
return input;};UIWCMTreeView.prototype.request=function(urlRequestXML,objChild){var httpRequest=null;var response=null;if(window.XMLHttpRequest){httpRequest=new XMLHttpRequest();}else if(window.ActiveXObject){httpRequest=new ActiveXObject("Microsoft.XMLHTTP");}else{alert("There was a problem retrieving the XML data!");return;}
try{httpRequest.open("GET",urlRequestXML,true);httpRequest.onreadystatechange=function(){if(httpRequest.readyState==4){if(httpRequest.status==200){response=httpRequest.responseXML;var list=response.getElementsByTagName("childNodes");if(list&&list.length>0){list=list[0].getElementsByTagName("childNode");objChild.innerHTML="";parentPath=document.getElementById(objChild.id.replace(eXo.ecm.UIWCMTreeView.constChildNode,eXo.ecm.UIWCMTreeView.constParentNode)).getAttribute("treePath");var restAction="";for(var i=0;i<list.length;i++){;workspaceName=list[i].getElementsByTagName("workspaceName")[0].childNodes[0].nodeValue;repositoryName=list[i].getElementsByTagName("repositoryName")[0].childNodes[0].nodeValue;name=list[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;nodePath=list[i].getElementsByTagName("nodePath")[0].childNodes[0].nodeValue;treePath=parentPath+"/"+name;firstId=eXo.ecm.UIWCMTreeView.replaceAll(eXo.ecm.UIWCMTreeView.replaceAll(treePath,"/","rp")," ","");restAction="eXo.ecm.UIWCMTreeView.selectNode('"+firstId+"','"+nodePath+"', '"+workspaceName+"', '"+repositoryName+"');"+
eXo.ecm.UIWCMTreeView.ajaxAction.replace("WCMTreeBuilderParameters",eXo.ecm.UIWCMTreeView.replaceAll(eXo.ecm.UIWCMTreeView.replaceAll(nodePath+"/"+workspaceName+"/"+firstId,"/","%2F")," ","+"));objChild.innerHTML+='<div class="NoneSelectNodeIcon" onclick="'+restAction+'" id="'+
eXo.ecm.UIWCMTreeView.constParentNode+firstId+'" treePath="'+treePath+'">'+'<div class="DefaultPageIcon">'+name+'</div>'+'</div>'+'<div class="ViewChildNodes" id="'+eXo.ecm.UIWCMTreeView.constChildNode+firstId+'"></div>';}}}else{alert(httpRequest.status+":"+httpRequest.statusText);}}}
httpRequest.send(null);}catch(e){alert('Failse: '+e.message)}};UIWCMTreeView.prototype.getDir=function(nodePath,workspaceName,repositoryName,objChild){if(objChild.innerHTML&&objChild.innerHTML.trim().length>0&&objChild.innerHTML!="<span></span>")return;var parentLocation=window.parent.location;hostName=parentLocation.href.substring(0,parentLocation.href.indexOf(parentLocation.pathname));var connector=eXo.ecm.WCMUtils.getRestContext()+"/wcmTreeContent/getChildNodes";connector+="?nodePath="+nodePath+"&workspaceName="+workspaceName+"&repositoryName="+repositoryName;try{this.request(connector,objChild);}catch(e){alert(e.message);}};UIWCMTreeView.prototype.selectNode=function(childId,nodePath,workspaceName,repositoryName){var objParent=document.getElementById(eXo.ecm.UIWCMTreeView.constParentNode+childId);if(objParent){objParent.style.fontWeight="bold";if(objParent.className=="NoneSelectNodeIcon")objParent.className="SelectNodeIcon";else objParent.className="NoneSelectNodeIcon";if(eXo.ecm.UIWCMTreeView.oldId!=(eXo.ecm.UIWCMTreeView.constParentNode+childId)){oldObject=document.getElementById(eXo.ecm.UIWCMTreeView.oldId);if(oldObject)oldObject.style.fontWeight="normal";eXo.ecm.UIWCMTreeView.oldId=eXo.ecm.UIWCMTreeView.constParentNode+childId;eXo.ecm.UIWCMTreeView.updateBreadcumbsElement(objParent);}}
var objChild=document.getElementById(eXo.ecm.UIWCMTreeView.constChildNode+childId);if(workspaceName&&repositoryName)this.getDir(nodePath,workspaceName,repositoryName,objChild);if(objChild)
if(objChild.style.display==="block")objChild.style.display="none";else objChild.style.display="block";};UIWCMTreeView.prototype.updateBreadcumbsElement=function(objParent){var objBreadcumbs=document.getElementById("UIWCMTreeViewBreadcumbsHomeIcon");objBreadcumbs.innerHTML="";var nodeNames=objParent.getAttribute("treePath").split("/");for(var i=nodeNames.length-1;i>=0;i--){var action="";newDiv=document.createElement("div");newDiv.id=eXo.ecm.UIWCMTreeView.constBreadcumbsElement+i;if(i<=1)newDiv.className="FirstNode";else newDiv.className="RightArrowIcon";if(i!=0)newDiv.innerHTML=nodeNames[i];else newDiv.innerHTML="";if(objParent){if(objParent.getAttribute("onclick")&&objParent.getAttribute("onclick")!=null&&objParent.getAttribute("onclick")!="null")
action=objParent.getAttribute("onclick");}else action="javaScript: void(0)";newDiv.setAttribute('onclick',action);brotherDiv=document.getElementById(eXo.ecm.UIWCMTreeView.constBreadcumbsElement+(i+1));if(brotherDiv)objBreadcumbs.insertBefore(newDiv,brotherDiv)
else objBreadcumbs.appendChild(newDiv);if(objParent!=null)objParent=objParent.parentNode;if(objParent&&objParent!=null&&objParent.id&&objParent.id!=null&&objParent.id.indexOf(eXo.ecm.UIWCMTreeView.constChildNode)>-1){objParentId=objParent.id.replace(eXo.ecm.UIWCMTreeView.constChildNode,eXo.ecm.UIWCMTreeView.constParentNode);objParent=document.getElementById(objParentId);}else{objParent=null;}}
objParent=document.getElementById(eXo.ecm.UIWCMTreeView.constBreadcumbsElement+(nodeNames.length-1));objParent.style.color="#1B59AA";objParent.setAttribute('onclick','javaScript:void(0)');};UIWCMTreeView.prototype.OpenOnePath=function(id,isLoad){var obj=document.getElementById("UIWCMTreeParentNode"+id);if(obj){var action=obj.getAttribute("onclick");if(action.indexOf("javascript:ajaxGet")>0)action=action.substring(0,action.indexOf("javascript:ajaxGet"));eval(action);}else setTimeout('eXo.ecm.UIWCMTreeView.OpenOnePath("'+id+'",'+isLoad+')',100);};UIWCMTreeView.prototype.OpenPath=function(path){var ids=path.split("/");var obj;for(var i=0;i<ids.length;i++){if(i==0){obj=document.getElementById("UIWCMTreeParentNode"+ids[i]);var parent=obj.parentNode;if(parent)parent.style.display="block";}
eXo.ecm.UIWCMTreeView.OpenOnePath(ids[i]);}};eXo.ecm.UIWCMTreeView=new UIWCMTreeView();function NewsletterManager(){}
NewsletterManager.prototype.checkAllSelected=function(checkBox){var elements=checkBox.form.elements;var checked=checkBox.checked;for(i=0;i<elements.length;i++){if(elements[i].type=="checkbox")
elements[i].checked=checked;}};NewsletterManager.prototype.checkBeforeDelete=function(uiSubscriptionsForm,checkMess,confirmMess){var isChecked=false;var elements=document.getElementById(uiSubscriptionsForm).elements;for(var i=0;i<elements.length;i++){if(elements[i].type=="checkbox"&&elements[i].checked==true)isChecked=true;}
if(isChecked==false){alert(checkMess);return false;}
return confirm(confirmMess);}
eXo.ecm.NewsletterManager=new NewsletterManager();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":if(!eXo.ecm.UIFormGeneratorPortlet.countFCK)eXo.ecm.UIFormGeneratorPortlet.countFCK=1;fieldComponent+="<td class='FieldLabel' value='WYSIWYG'>WYSIWYG field</td>";fieldComponent+="<td class='FieldComponent'><textarea class='Textarea' id='RichTextEditorContent_"+eXo.ecm.UIFormGeneratorPortlet.countFCK+"'>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><option>Basic</option></select>";advancedOption+="</td>";advancedOption+="</tr>";break;case"select":fieldComponent+="<td class='FieldLabel' value='Select'>Select field</td>";fieldComponent+="<td class='FieldComponent'><select class='SelectBox'><option index='1' value='option1'>Option 1</option></select></td>";multivalue=true;break;case"checkbox":fieldComponent+="<td class='FieldLabel' value='Checkbox'>Checkbox field</td>";fieldComponent+="<td class='FieldComponent'><div class='CheckboxButton'><input type='checkbox' class='CheckBox' value='checkbox1'/><span style='padding : 0 5px 0 19px; display:block; line-height:12px'>Checkbox 1</span><div style='clear:left'></div></div></td>";break;case"radio":fieldComponent+="<td class='FieldLabel' value='Radio'>Radio field</td>";fieldComponent+="<td class='FieldComponent'><div class='RadioButton' index='1'><input type='radio' class='Radio' value='radio1'/><span style='padding : 0 5px 0 19px; display:block; line-height:12px'>Radio 1</span><div style='clear:left'></div></div></td>";multivalue=true;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' style='padding:0px;'>";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);' index='1'/></td>";formGenerator+="<td class='FieldIcon'>";if(multivalue){formGenerator+="<div class='DivIcon' index='1'>";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 style='clear:left;'><span></span></div>";formGenerator+="</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(typeComp=='wysiwyg'&&!FCKeditorAPI.GetInstance('RichTextEditorContent')){var oFCKEditor=new FCKeditor('RichTextEditorContent_'+eXo.ecm.UIFormGeneratorPortlet.countFCK);eXo.ecm.UIFormGeneratorPortlet.countFCK++;oFCKEditor.BasePath='/ecm-wcm-extension/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;case"Radio":var fieldComponent=DOMUtil.findFirstDescendantByClass(componentNode,"td","FieldComponent");var radioNodes=DOMUtil.findDescendantsByClass(fieldComponent,'div','RadioButton');var fieldNode=DOMUtil.findAncestorByClass(srcEle,'FieldComponent');var inputList=DOMUtil.getChildrenByTagName(fieldNode,'input');for(var i=0;i<inputList.length;i++){if(inputList[i]==srcEle){var radioInputNode=DOMUtil.findFirstDescendantByClass(radioNodes[i],'input','Radio');radioInputNode.value=srcEle.value;var radioTextNode=DOMUtil.findDescendantsByTagName(radioNodes[i],'span')[0];radioTextNode.innerHTML=srcEle.value;}}
break;case"Checkbox":var fieldComponent=DOMUtil.findFirstDescendantByClass(componentNode,"td","FieldComponent");var checkboxNodes=DOMUtil.findDescendantsByClass(fieldComponent,'div','CheckboxButton');var fieldNode=DOMUtil.findAncestorByClass(srcEle,'FieldComponent');var inputList=DOMUtil.getChildrenByTagName(fieldNode,'input');for(var i=0;i<inputList.length;i++){if(inputList[i]==srcEle){var chkInputNode=DOMUtil.findFirstDescendantByClass(checkboxNodes[i],'input','CheckBox');chkInputNode.value=srcEle.value;var chkTextNode=DOMUtil.findDescendantsByTagName(checkboxNodes[i],'span')[0];chkTextNode.innerHTML=srcEle.value;}}
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.insertAfter=function(referenceNode,newNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling);}
UIFormGeneratorPortlet.prototype.updateNodeIndex=function(elementNode,index){for(var i=parseInt(index);i<elementNode.length;i++){elementNode[i].setAttribute("index",parseInt(i)+1);}}
UIFormGeneratorPortlet.prototype.addOption=function(obj){var DOMUtil=eXo.core.DOMUtil;var ancestorNode=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var containerNode=DOMUtil.findFirstDescendantByClass(ancestorNode,'div','TopContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(containerNode,'td','FieldComponent');var selectNode=DOMUtil.findFirstDescendantByClass(componentNode,'select','SelectBox');var rowNode=DOMUtil.findAncestorByTagName(obj,'tr');var brotherNode=DOMUtil.findFirstDescendantByClass(rowNode,'td','FieldComponent');var brotherChildNodes=DOMUtil.findDescendantsByClass(brotherNode,'input','InputText');var radioContainer=DOMUtil.findDescendantsByClass(containerNode,'div','RadioButton');var upperIconNode=DOMUtil.findAncestorByClass(obj,'DivIcon');var currentIndex=upperIconNode.getAttribute("index");var index=parseInt(currentIndex)+1;var inputNode=document.createElement('input');inputNode.className='InputText';inputNode.setAttribute("index",index);inputNode.type='text';inputNode.onkeyup=this.updateValue;for(var j=0;j<brotherChildNodes.length;j++){if(brotherChildNodes[j].getAttribute("index")==currentIndex){eXo.ecm.UIFormGeneratorPortlet.insertAfter(brotherChildNodes[j],inputNode);}}
var strRNode="";strRNode+="<a class='AddIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.addOption(this);'><span></span></a>";strRNode+="<a class='RemoveIcon' onclick='eXo.ecm.UIFormGeneratorPortlet.removeOption(this);'><span></span></a>";strRNode+="<div style='clear:left;'><span></span></div>";var rNode=document.createElement('div');rNode.className="DivIcon";rNode.setAttribute("index",index);rNode.innerHTML=strRNode;eXo.ecm.UIFormGeneratorPortlet.insertAfter(upperIconNode,rNode);var arrayDivIcons=DOMUtil.findFirstDescendantByClass(rowNode,'td','FieldIcon').childNodes;var arrayInputTexts=DOMUtil.findDescendantsByClass(brotherNode,'input','InputText');eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(arrayDivIcons,index);eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(arrayInputTexts,index);switch(ancestorNode.getAttribute("typeComponent")){case"select":var optionNode=document.createElement('option');optionNode.setAttribute("index",index);optionNode.value="Option"+index;optionNode.innerHTML="Option"+index;for(var j=0;j<selectNode.length;j++){if(selectNode[j].getAttribute("index")==currentIndex){eXo.ecm.UIFormGeneratorPortlet.insertAfter(selectNode[j],optionNode);}}
eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(selectNode,index);for(var i=0;i<arrayInputTexts.length;i++){if(arrayInputTexts[i].value==""||arrayInputTexts[i].value.length<1){selectNode[i].value="Option"+selectNode[i].getAttribute("index");selectNode[i].text="Option"+selectNode[i].getAttribute("index");}}
break;case"radio":var radioNode=document.createElement("div");radioNode.setAttribute("index",index);radioNode.innerHTML='<input type="radio" class="Radio" value="radio'+index+'" /><span style="padding : 0 5px 0 19px; display:block; line-height:12px">Radio '+index+'</span><div style="clear:left"></div>';radioNode.className="RadioButton";for(var j=0;j<radioContainer.length;j++){if(radioContainer[j].getAttribute("index")==currentIndex){eXo.ecm.UIFormGeneratorPortlet.insertAfter(radioContainer[j],radioNode);}}
var rContainer=DOMUtil.findDescendantsByClass(containerNode,'div','RadioButton');var arrInputTexts=DOMUtil.findDescendantsByClass(brotherNode,'input','InputText');eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(rContainer,index);for(var i=0;i<rContainer.length;i++){if(arrInputTexts[i].value==""||arrInputTexts[i].value.length<1){rContainer[i].firstChild.value="radio"+rContainer[i].getAttribute("index");rContainer[i].firstChild.nextSibling.innerHTML="Radio "+rContainer[i].getAttribute("index");}}
break;case"checkbox":var checkboxNode=document.createElement("div");checkboxNode.innerHTML='<input type="checkbox" class="CheckBox" value="checkbox'+index+'" /><span style="padding : 0 5px 0 19px; display:block; line-height:12px">Checkbox '+index+'</span><div style="clear:left"></div>';checkboxNode.className="CheckboxButton";componentNode.appendChild(checkboxNode);break;}};UIFormGeneratorPortlet.prototype.removeOption=function(obj){var DOMUtil=eXo.core.DOMUtil;var ancestorNode=DOMUtil.findAncestorByClass(obj,'BoxContentBoxStyle');var containerNode=DOMUtil.findFirstDescendantByClass(ancestorNode,'div','TopContentBoxStyle');var componentNode=DOMUtil.findFirstDescendantByClass(containerNode,'td','FieldComponent');var selectNode=DOMUtil.findFirstDescendantByClass(componentNode,'select','SelectBox');var rowNode=DOMUtil.findAncestorByTagName(obj,'tr');var brotherNode=DOMUtil.findFirstDescendantByClass(rowNode,'td','FieldComponent');var brotherChildNodes=DOMUtil.findDescendantsByClass(brotherNode,'input','InputText');var radioContainer=DOMUtil.findDescendantsByClass(containerNode,'div','RadioButton');var upperIconNode=DOMUtil.findAncestorByClass(obj,'DivIcon');var currentIndex=upperIconNode.getAttribute("index");var index=parseInt(currentIndex)+1;for(var j=0;j<brotherChildNodes.length;j++){if(brotherChildNodes[j].getAttribute("index")==currentIndex){brotherChildNodes[j].parentNode.removeChild(brotherChildNodes[j]);}}
switch(ancestorNode.getAttribute("typeComponent")){case"select":for(var j=0;j<selectNode.length;j++){if(selectNode[j].getAttribute("index")==currentIndex){selectNode[j].parentNode.removeChild(selectNode[j]);}}
eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(selectNode,0);var arrInputTexts=DOMUtil.findDescendantsByClass(brotherNode,'input','InputText');for(var i=0;i<arrInputTexts.length;i++){if(arrInputTexts[i].value==""||arrInputTexts[i].value.length<1){selectNode[i].value="Option"+selectNode[i].getAttribute("index");selectNode[i].text="Option"+selectNode[i].getAttribute("index");}}
break;case"radio":for(var j=0;j<radioContainer.length;j++){if(radioContainer[j].getAttribute("index")==currentIndex){radioContainer[j].parentNode.removeChild(radioContainer[j]);}}
var rContainer=DOMUtil.findDescendantsByClass(containerNode,'div','RadioButton');var arrInputTexts=DOMUtil.findDescendantsByClass(brotherNode,'input','InputText');eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(rContainer,0);for(var i=0;i<rContainer.length;i++){if(arrInputTexts[i].value==""||arrInputTexts[i].value.length<1){rContainer[i].firstChild.value="Option"+rContainer[i].getAttribute("index");rContainer[i].firstChild.nextSibling.innerHTML="Option"+rContainer[i].getAttribute("index");}}
break;}
var arrayDivIcons=DOMUtil.findFirstDescendantByClass(rowNode,'td','FieldIcon').childNodes;var arrayInputTexts=DOMUtil.findDescendantsByClass(brotherNode,'input','InputText');for(var j=0;j<arrayDivIcons.length;j++){if(arrayDivIcons[j].getAttribute("index")==currentIndex){arrayDivIcons[j].parentNode.removeChild(arrayDivIcons[j]);}}
eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(arrayDivIcons,0);eXo.ecm.UIFormGeneratorPortlet.updateNodeIndex(arrayInputTexts,0);};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;case"radio":break;case"checkbox":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 ContentListViewer(){}
ContentListViewer.prototype.initCheckedRadio=function(id){eXo.core.Browser.chkRadioId=id;};ContentListViewer.prototype.initCondition=function(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=eXo.ecm.CLV.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=0;i<itemContainers.length;i++){eXo.ecm.CLV.setCondition(itemContainers[i],true);}
eXo.ecm.CLV.enableCondition(itemSelectedContainer);};ContentListViewer.prototype.chooseCondition=function(){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=0;i<itemContainers.length;i++){eXo.ecm.CLV.setCondition(itemContainers[i],true);}
eXo.ecm.CLV.enableCondition(itemSelectedContainer);eXo.ecm.lastCondition=itemSelectedContainer;};ContentListViewer.prototype.enableCondition=function(itemContainer){if(eXo.ecm.lastCondition)eXo.ecm.CLV.setCondition(eXo.ecm.lastCondition,true);eXo.ecm.CLV.setCondition(itemContainer,false);};ContentListViewer.prototype.setCondition=function(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;}}};ContentListViewer.prototype.setHiddenValue=function(){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;}};ContentListViewer.prototype.checkModeViewer=function(){var formObj=document.getElementById("UICLVConfig");var OrderOptions=eXo.core.DOMUtil.findDescendantsByClass(formObj,"tr","OrderBlock");var viewerModes=eXo.core.DOMUtil.findDescendantsByTagName(formObj,"input");for(var i=0;i<viewerModes.length;i++){if(viewerModes[i].getAttribute("name")=="ViewerMode"){if(viewerModes[i].value=="AutoViewerMode"){viewerModes[i].onclick=function(){for(var j=0;j<OrderOptions.length;j++){OrderOptions[j].style.display="";}};}else if(viewerModes[i].value=="ManualViewerMode"){viewerModes[i].onclick=function(){for(var k=0;k<OrderOptions.length;k++){OrderOptions[k].style.display="none";}};}}}};eXo.ecm.CLV=new ContentListViewer();function WCMFCKEditor(){}
WCMFCKEditor.prototype.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);}}})();};eXo.ecm.WCMFCKEditor=new WCMFCKEditor();function CKEditor(){}
CKEditor.prototype.insertCSS=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=CKEDITOR.instances[Instance].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);}}})();};eXo.ecm.CKEditor=new CKEditor();(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b==="find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" "," ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case"only":case"first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case"last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case"nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m==="="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j={},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.1g.1w=6(o){o=$.1f({r:n,x:n,N:n,17:q,J:n,L:1a,16:n,y:q,u:12,H:3,B:0,k:1,K:n,I:n},o||{});8 G.R(6(){p b=q,A=o.y?"15":"w",P=o.y?"t":"s";p c=$(G),9=$("9",c),E=$("10",9),W=E.Y(),v=o.H;7(o.u){9.1h(E.D(W-v-1+1).V()).1d(E.D(0,v).V());o.B+=v}p f=$("10",9),l=f.Y(),4=o.B;c.5("1c","H");f.5({U:"T",1b:o.y?"S":"w"});9.5({19:"0",18:"0",Q:"13","1v-1s-1r":"S","z-14":"1"});c.5({U:"T",Q:"13","z-14":"2",w:"1q"});p g=o.y?t(f):s(f);p h=g*l;p j=g*v;f.5({s:f.s(),t:f.t()});9.5(P,h+"C").5(A,-(4*g));c.5(P,j+"C");7(o.r)$(o.r).O(6(){8 m(4-o.k)});7(o.x)$(o.x).O(6(){8 m(4+o.k)});7(o.N)$.R(o.N,6(i,a){$(a).O(6(){8 m(o.u?o.H+i:i)})});7(o.17&&c.11)c.11(6(e,d){8 d>0?m(4-o.k):m(4+o.k)});7(o.J)1p(6(){m(4+o.k)},o.J+o.L);6 M(){8 f.D(4).D(0,v)};6 m(a){7(!b){7(o.K)o.K.Z(G,M());7(o.u){7(a<=o.B-v-1){9.5(A,-((l-(v*2))*g)+"C");4=a==o.B-v-1?l-(v*2)-1:l-(v*2)-o.k}F 7(a>=l-v+1){9.5(A,-((v)*g)+"C");4=a==l-v+1?v+1:v+o.k}F 4=a}F{7(a<0||a>l-v)8;F 4=a}b=12;9.1o(A=="w"?{w:-(4*g)}:{15:-(4*g)},o.L,o.16,6(){7(o.I)o.I.Z(G,M());b=q});7(!o.u){$(o.r+","+o.x).1n("X");$((4-o.k<0&&o.r)||(4+o.k>l-v&&o.x)||[]).1m("X")}}8 q}})};6 5(a,b){8 1l($.5(a[0],b))||0};6 s(a){8 a[0].1k+5(a,\'1j\')+5(a,\'1i\')};6 t(a){8 a[0].1t+5(a,\'1u\')+5(a,\'1e\')}})(1x);',62,96,'||||curr|css|function|if|return|ul|||||||||||scroll|itemLength|go|null||var|false|btnPrev|width|height|circular||left|btnNext|vertical||animCss|start|px|slice|tLi|else|this|visible|afterEnd|auto|beforeStart|speed|vis|btnGo|click|sizeCss|position|each|none|hidden|overflow|clone|tl|disabled|size|call|li|mousewheel|true|relative|index|top|easing|mouseWheel|padding|margin|200|float|visibility|append|marginBottom|extend|fn|prepend|marginRight|marginLeft|offsetWidth|parseInt|addClass|removeClass|animate|setInterval|0px|type|style|offsetHeight|marginTop|list|jCarouselLite|jQuery'.split('|'),0,{}))
﻿
function ImageFlow()
{this.defaults={animationSpeed:150,aspectRatio:2,buttons:false,captions:true,circular:false,imageCursor:'default',ImageFlowID:'imageflow',imageFocusM:1.0,imageFocusMax:2,imagePath:'',imageScaling:true,imagesHeight:0.7,imagesM:0.85,onClick:function(){document.location=this.url;},opacity:true,opacityArray:[10,7,4],percentLandscape:75,percentOther:100,preloadImages:true,reflections:false,reflectionGET:'',reflectionP:0.5,reflectionPNG:false,reflectPath:'',scrollbarP:0.75,slider:true,sliderCursor:'e-resize',sliderWidth:5,slideshow:false,slideshowSpeed:1500,slideshowAutoplay:false,startID:1,glideToStartID:true,startAnimation:false,xStep:90};var my=this;this.init=function(options)
{for(var name in my.defaults)
{this[name]=(options!==undefined&&options[name]!==undefined)?options[name]:my.defaults[name];}
var ImageFlowDiv=document.getElementById(my.ImageFlowID);if(ImageFlowDiv)
{ImageFlowDiv.style.visibility='visible';this.ImageFlowDiv=ImageFlowDiv;if(this.createStructure())
{this.imagesDiv=document.getElementById(my.ImageFlowID+'_images');this.captionDiv=document.getElementById(my.ImageFlowID+'_caption');this.navigationDiv=document.getElementById(my.ImageFlowID+'_navigation');this.scrollbarDiv=document.getElementById(my.ImageFlowID+'_scrollbar');this.sliderDiv=document.getElementById(my.ImageFlowID+'_slider');this.buttonNextDiv=document.getElementById(my.ImageFlowID+'_next');this.buttonPreviousDiv=document.getElementById(my.ImageFlowID+'_previous');this.buttonSlideshow=document.getElementById(my.ImageFlowID+'_slideshow');this.indexArray=[];this.current=0;this.imageID=0;this.target=0;this.memTarget=0;this.firstRefresh=true;this.firstCheck=true;this.busy=false;var width=this.ImageFlowDiv.offsetWidth;var height=Math.round(width/my.aspectRatio);document.getElementById(my.ImageFlowID+'_loading_txt').style.paddingTop=((height*0.5)-22)+'px';ImageFlowDiv.style.height=height-100+'px';this.loadingProgress();}}};this.createStructure=function()
{var imagesDiv=my.Helper.createDocumentElement('div','images');var node,version,src,imageNode;var max=my.ImageFlowDiv.childNodes.length;for(var index=0;index<max;index++)
{node=my.ImageFlowDiv.childNodes[index];if(node&&node.nodeType==1&&node.nodeName=='IMG')
{if(my.reflections===true)
{version=(my.reflectionPNG)?'3':'2';src=my.imagePath+node.getAttribute('src',2);src=my.reflectPath+'reflect'+version+'.php?img='+src+my.reflectionGET;node.setAttribute('src',src);}
imageNode=node.cloneNode(true);imagesDiv.appendChild(imageNode);}}
if(my.circular)
{var first=my.Helper.createDocumentElement('div','images');var last=my.Helper.createDocumentElement('div','images');max=imagesDiv.childNodes.length;if(max<my.imageFocusMax)
{my.imageFocusMax=max;}
if(max>1)
{var i;for(i=0;i<max;i++)
{node=imagesDiv.childNodes[i];if(i<my.imageFocusMax)
{imageNode=node.cloneNode(true);first.appendChild(imageNode);}
if(max-i<my.imageFocusMax+1)
{imageNode=node.cloneNode(true);last.appendChild(imageNode);}}
for(i=0;i<max;i++)
{node=imagesDiv.childNodes[i];imageNode=node.cloneNode(true);last.appendChild(imageNode);}
for(i=0;i<my.imageFocusMax;i++)
{node=first.childNodes[i];imageNode=node.cloneNode(true);last.appendChild(imageNode);}
imagesDiv=last;}}
if(my.slideshow)
{var slideshowButton=my.Helper.createDocumentElement('div','slideshow');imagesDiv.appendChild(slideshowButton);}
var loadingP=my.Helper.createDocumentElement('p','loading_txt');var loadingText=document.createTextNode(' ');loadingP.appendChild(loadingText);var loadingDiv=my.Helper.createDocumentElement('div','loading');var loadingBarDiv=my.Helper.createDocumentElement('div','loading_bar');loadingDiv.appendChild(loadingBarDiv);var captionDiv=my.Helper.createDocumentElement('div','caption');var scrollbarDiv=my.Helper.createDocumentElement('div','scrollbar');var sliderDiv=my.Helper.createDocumentElement('div','slider');scrollbarDiv.appendChild(sliderDiv);if(my.buttons)
{var buttonPreviousDiv=my.Helper.createDocumentElement('div','previous','button');var buttonNextDiv=my.Helper.createDocumentElement('div','next','button');scrollbarDiv.appendChild(buttonPreviousDiv);scrollbarDiv.appendChild(buttonNextDiv);}
var navigationDiv=my.Helper.createDocumentElement('div','navigation');navigationDiv.appendChild(scrollbarDiv);navigationDiv.appendChild(captionDiv);var success=false;if(my.ImageFlowDiv.appendChild(imagesDiv)&&my.ImageFlowDiv.appendChild(loadingP)&&my.ImageFlowDiv.appendChild(loadingDiv)&&my.ImageFlowDiv.appendChild(navigationDiv))
{max=my.ImageFlowDiv.childNodes.length;for(index=0;index<max;index++)
{node=my.ImageFlowDiv.childNodes[index];if(node&&node.nodeType==1&&node.nodeName=='IMG')
{my.ImageFlowDiv.removeChild(node);}}
success=true;}
return success;};this.loadingProgress=function()
{var p=my.loadingStatus();if((p<100||my.firstCheck)&&my.preloadImages)
{if(my.firstCheck&&p==100)
{my.firstCheck=false;window.setTimeout(my.loadingProgress,100);}
else
{window.setTimeout(my.loadingProgress,40);}}
else
{document.getElementById(my.ImageFlowID+'_loading_txt').style.display='none';document.getElementById(my.ImageFlowID+'_loading').style.display='none';window.setTimeout(my.Helper.addResizeEvent,1000);my.refresh();if(my.max>1)
{my.MouseWheel.init();my.MouseDrag.init();my.Touch.init();my.Key.init();if(my.slideshow)
{my.Slideshow.init();}
if(my.slider)
{my.scrollbarDiv.style.visibility='visible';}}}};this.loadingStatus=function()
{var max=my.imagesDiv.childNodes.length;var i=0,completed=0;var image=null;for(var index=0;index<max;index++)
{image=my.imagesDiv.childNodes[index];if(image&&image.nodeType==1&&image.nodeName=='IMG')
{if(image.complete)
{completed++;}
i++;}}
var finished=Math.round((completed/i)*100);var loadingBar=document.getElementById(my.ImageFlowID+'_loading_bar');loadingBar.style.width=finished+'%';if(my.circular)
{i=i-(my.imageFocusMax*2);completed=(finished<1)?0:Math.round((i/100)*finished);}
var loadingP=document.getElementById(my.ImageFlowID+'_loading_txt');var loadingTxt=document.createTextNode('loading images '+completed+'/'+i);loadingP.replaceChild(loadingTxt,loadingP.firstChild);return finished;};this.refresh=function()
{this.imagesDivWidth=my.imagesDiv.offsetWidth+my.imagesDiv.offsetLeft;this.maxHeight=Math.round(my.imagesDivWidth/my.aspectRatio);this.maxFocus=my.imageFocusMax*my.xStep;this.size=my.imagesDivWidth*0.5;this.sliderWidth=my.sliderWidth*0.5;this.scrollbarWidth=(my.imagesDivWidth-(Math.round(my.sliderWidth)*2))*my.scrollbarP;this.imagesDivHeight=Math.round(my.maxHeight*my.imagesHeight);my.ImageFlowDiv.style.height=my.maxHeight-100+'px';my.imagesDiv.style.height=my.imagesDivHeight-90+'px';my.navigationDiv.style.height=(my.maxHeight-my.imagesDivHeight)+'px';my.captionDiv.style.width=my.imagesDivWidth+'px';my.scrollbarDiv.style.width=my.scrollbarWidth+'px';my.scrollbarDiv.style.marginTop=Math.round(my.imagesDivWidth*0.03)+'px';my.scrollbarDiv.style.marginBottom=Math.round(my.imagesDivWidth*0.02)+'px';my.scrollbarDiv.style.marginLeft=Math.round(my.sliderWidth+((my.imagesDivWidth-my.scrollbarWidth)/2))+'px';my.scrollbarDiv.style.paddingTop=Math.round(my.imagesDivWidth*0.03)+'px';my.sliderDiv.style.cursor=my.sliderCursor;my.sliderDiv.onmousedown=function(){my.MouseDrag.start(this);return false;};if(my.buttons)
{my.buttonPreviousDiv.onclick=function(){my.MouseWheel.handle(1);};my.buttonNextDiv.onclick=function(){my.MouseWheel.handle(-1);};}
var multi=(my.reflections===true)?my.reflectionP+1:1;var max=my.imagesDiv.childNodes.length;var i=0;var image=null;for(var index=0;index<max;index++)
{image=my.imagesDiv.childNodes[index];if(image!==null&&image.nodeType==1&&image.nodeName=='IMG')
{this.indexArray[i]=index;image.url=image.getAttribute('longdesc');image.xPosition=(-i*my.xStep);image.i=i;if(my.firstRefresh)
{if(image.getAttribute('width')!==null&&image.getAttribute('height')!==null)
{image.w=image.getAttribute('width');image.h=image.getAttribute('height')*multi;}
else{image.w=image.width;image.h=image.height;}}
if((image.w)>(image.h/(my.reflectionP+1)))
{image.pc=my.percentLandscape;image.pcMem=my.percentLandscape;}
else
{image.pc=my.percentOther;image.pcMem=my.percentOther;}
if(my.imageScaling===false)
{image.style.position='relative';image.style.display='inline';}
image.style.cursor=my.imageCursor;i++;}}
this.max=my.indexArray.length;if(my.imageScaling===false)
{image=my.imagesDiv.childNodes[my.indexArray[0]];this.totalImagesWidth=image.w*my.max;image.style.paddingLeft=(my.imagesDivWidth/2)+(image.w/2)+'px';my.imagesDiv.style.height=image.h+'px';my.navigationDiv.style.height=(my.maxHeight-image.h)+'px';}
if(my.firstRefresh)
{my.firstRefresh=false;my.imageID=my.startID-1;if(my.imageID<0)
{my.imageID=0;}
if(my.circular)
{my.imageID=my.imageID+my.imageFocusMax;}
maxId=(my.circular)?(my.max-(my.imageFocusMax))-1:my.max-1;if(my.imageID>maxId)
{my.imageID=maxId;}
if(my.glideToStartID===false)
{my.moveTo(-my.imageID*my.xStep);}
if(my.startAnimation)
{my.moveTo(5000);}}
if(my.max>1)
{my.glideTo(my.imageID);}
my.moveTo(my.current);};this.moveTo=function(x)
{this.current=x;this.zIndex=my.max;for(var index=0;index<my.max;index++)
{var image=my.imagesDiv.childNodes[my.indexArray[index]];var currentImage=index*-my.xStep;if(my.imageScaling)
{if((currentImage+my.maxFocus)<my.memTarget||(currentImage-my.maxFocus)>my.memTarget)
{image.style.visibility='hidden';image.style.display='none';}
else
{var z=(Math.sqrt(10000+x*x)+100)*my.imagesM;var xs=x/z*my.size+my.size;image.style.display='block';var newImageH=(image.h/image.w*image.pc)/z*my.size;var newImageW=0;switch(newImageH>my.maxHeight)
{case false:newImageW=image.pc/z*my.size;break;default:newImageH=my.maxHeight;newImageW=image.w*newImageH/image.h;break;}
var newImageTop=(my.imagesDivHeight-newImageH)+((newImageH/(my.reflectionP+1))*my.reflectionP)-100;image.style.left=xs-(image.pc/2)/z*my.size+'px';if(newImageW&&newImageH)
{image.style.height=newImageH-15+'px';image.style.width=newImageW+'px';image.style.top=newImageTop+'px';}
image.style.visibility='visible';switch(x<0)
{case true:this.zIndex++;break;default:this.zIndex=my.zIndex-1;break;}
switch(image.i==my.imageID)
{case false:image.onclick=function(){my.glideTo(this.i);};break;default:this.zIndex=my.zIndex+1;if(image.url!=='')
{image.onclick=my.onClick;}
break;}
image.style.zIndex=my.zIndex;}}
else
{if((currentImage+my.maxFocus)<my.memTarget||(currentImage-my.maxFocus)>my.memTarget)
{image.style.visibility='hidden';}
else
{image.style.visibility='visible';switch(image.i==my.imageID)
{case false:image.onclick=function(){my.glideTo(this.i);};break;default:if(image.url!=='')
{image.onclick=my.onClick;}
break;}}
my.imagesDiv.style.marginLeft=(x-my.totalImagesWidth)+'px';}
x+=my.xStep;}};this.glideTo=function(imageID)
{var jumpTarget,clonedImageID;if(my.circular)
{if(imageID+1===my.imageFocusMax)
{clonedImageID=my.max-my.imageFocusMax;jumpTarget=-clonedImageID*my.xStep;imageID=clonedImageID-1;}
if(imageID===(my.max-my.imageFocusMax))
{clonedImageID=my.imageFocusMax-1;jumpTarget=-clonedImageID*my.xStep;imageID=clonedImageID+1;}}
var x=-imageID*my.xStep;this.target=x;this.memTarget=x;this.imageID=imageID;var caption=my.imagesDiv.childNodes[imageID].getAttribute('alt');if(caption===''||my.captions===false)
{caption='&nbsp;';}
my.captionDiv.innerHTML=caption;if(my.MouseDrag.busy===false)
{if(my.circular)
{this.newSliderX=((imageID-my.imageFocusMax)*my.scrollbarWidth)/(my.max-(my.imageFocusMax*2)-1)-my.MouseDrag.newX;}
else
{this.newSliderX=(imageID*my.scrollbarWidth)/(my.max-1)-my.MouseDrag.newX;}
my.sliderDiv.style.marginLeft=(my.newSliderX-my.sliderWidth)+'px';}
if(my.opacity===true||my.imageFocusM!==my.defaults.imageFocusM)
{my.Helper.setOpacity(my.imagesDiv.childNodes[imageID],my.opacityArray[0]);my.imagesDiv.childNodes[imageID].pc=my.imagesDiv.childNodes[imageID].pc*my.imageFocusM;var opacityValue=0;var rightID=0;var leftID=0;var last=my.opacityArray.length;for(var i=1;i<(my.imageFocusMax+1);i++)
{if((i+1)>last)
{opacityValue=my.opacityArray[last-1];}
else
{opacityValue=my.opacityArray[i];}
rightID=imageID+i;leftID=imageID-i;if(rightID<my.max)
{my.Helper.setOpacity(my.imagesDiv.childNodes[rightID],opacityValue);my.imagesDiv.childNodes[rightID].pc=my.imagesDiv.childNodes[rightID].pcMem;}
if(leftID>=0)
{my.Helper.setOpacity(my.imagesDiv.childNodes[leftID],opacityValue);my.imagesDiv.childNodes[leftID].pc=my.imagesDiv.childNodes[leftID].pcMem;}}}
if(jumpTarget)
{my.moveTo(jumpTarget);}
if(my.busy===false)
{my.busy=true;my.animate();}};this.animate=function()
{switch(my.target<my.current-1||my.target>my.current+1)
{case true:my.moveTo(my.current+(my.target-my.current)/3);window.setTimeout(my.animate,my.animationSpeed);my.busy=true;break;default:my.busy=false;break;}};this.glideOnEvent=function(imageID)
{if(my.slideshow)
{my.Slideshow.interrupt();}
my.glideTo(imageID);};this.Slideshow={direction:1,init:function()
{(my.slideshowAutoplay)?my.Slideshow.start():my.Slideshow.stop();},interrupt:function()
{my.Helper.removeEvent(my.ImageFlowDiv,'click',my.Slideshow.interrupt);my.Slideshow.stop();},addInterruptEvent:function()
{my.Helper.addEvent(my.ImageFlowDiv,'click',my.Slideshow.interrupt);},start:function()
{my.Helper.setClassName(my.buttonSlideshow,'slideshow pause');my.buttonSlideshow.onclick=function(){my.Slideshow.stop();};my.Slideshow.action=window.setInterval(my.Slideshow.slide,my.slideshowSpeed);window.setTimeout(my.Slideshow.addInterruptEvent,100);},stop:function()
{my.Helper.setClassName(my.buttonSlideshow,'slideshow play');my.buttonSlideshow.onclick=function(){my.Slideshow.start();};window.clearInterval(my.Slideshow.action);},slide:function()
{var newImageID=my.imageID+my.Slideshow.direction;var reverseDirection=false;if(newImageID===my.max)
{my.Slideshow.direction=-1;reverseDirection=true;}
if(newImageID<0)
{my.Slideshow.direction=1;reverseDirection=true;}
(reverseDirection)?my.Slideshow.slide():my.glideTo(newImageID);}};this.MouseWheel={init:function()
{if(window.addEventListener)
{my.ImageFlowDiv.addEventListener('DOMMouseScroll',my.MouseWheel.get,false);}
my.Helper.addEvent(my.ImageFlowDiv,'mousewheel',my.MouseWheel.get);},get:function(event)
{var delta=0;if(!event)
{event=window.event;}
if(event.wheelDelta)
{delta=event.wheelDelta/120;}
else if(event.detail)
{delta=-event.detail/3;}
if(delta)
{my.MouseWheel.handle(delta);}
my.Helper.suppressBrowserDefault(event);},handle:function(delta)
{var change=false;var newImageID=0;if(delta>0)
{if(my.imageID>=1)
{newImageID=my.imageID-1;change=true;}}
else
{if(my.imageID<(my.max-1))
{newImageID=my.imageID+1;change=true;}}
if(change)
{my.glideOnEvent(newImageID);}}};this.MouseDrag={object:null,objectX:0,mouseX:0,newX:0,busy:false,init:function()
{my.Helper.addEvent(my.ImageFlowDiv,'mousemove',my.MouseDrag.drag);my.Helper.addEvent(my.ImageFlowDiv,'mouseup',my.MouseDrag.stop);my.Helper.addEvent(document,'mouseup',my.MouseDrag.stop);my.ImageFlowDiv.onselectstart=function()
{var selection=true;if(my.MouseDrag.busy)
{selection=false;}
return selection;};},start:function(o)
{my.MouseDrag.object=o;my.MouseDrag.objectX=my.MouseDrag.mouseX-o.offsetLeft+my.newSliderX;},stop:function()
{my.MouseDrag.object=null;my.MouseDrag.busy=false;},drag:function(e)
{var posx=0;if(!e)
{e=window.event;}
if(e.pageX)
{posx=e.pageX;}
else if(e.clientX)
{posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;}
my.MouseDrag.mouseX=posx;if(my.MouseDrag.object!==null)
{var newX=(my.MouseDrag.mouseX-my.MouseDrag.objectX)+my.sliderWidth;if(newX<(-my.newSliderX))
{newX=-my.newSliderX;}
if(newX>(my.scrollbarWidth-my.newSliderX))
{newX=my.scrollbarWidth-my.newSliderX;}
var step,imageID;if(my.circular)
{step=(newX+my.newSliderX)/(my.scrollbarWidth/(my.max-(my.imageFocusMax*2)-1));imageID=Math.round(step)+my.imageFocusMax;}
else
{step=(newX+my.newSliderX)/(my.scrollbarWidth/(my.max-1));imageID=Math.round(step);}
my.MouseDrag.newX=newX;my.MouseDrag.object.style.left=newX+'px';if(my.imageID!==imageID)
{my.glideOnEvent(imageID);}
my.MouseDrag.busy=true;}}};this.Touch={x:0,startX:0,stopX:0,busy:false,first:true,init:function()
{my.Helper.addEvent(my.navigationDiv,'touchstart',my.Touch.start);my.Helper.addEvent(document,'touchmove',my.Touch.handle);my.Helper.addEvent(document,'touchend',my.Touch.stop);},isOnNavigationDiv:function(e)
{var state=false;if(e.touches)
{var target=e.touches[0].target;if(target===my.navigationDiv||target===my.sliderDiv||target===my.scrollbarDiv)
{state=true;}}
return state;},getX:function(e)
{var x=0;if(e.touches)
{x=e.touches[0].pageX;}
return x;},start:function(e)
{my.Touch.startX=my.Touch.getX(e);my.Touch.busy=true;my.Helper.suppressBrowserDefault(e);},isBusy:function()
{var busy=false;if(my.Touch.busy)
{busy=true;}
return busy;},handle:function(e)
{if(my.Touch.isBusy&&my.Touch.isOnNavigationDiv(e))
{var max=(my.circular)?(my.max-(my.imageFocusMax*2)-1):(my.max-1);if(my.Touch.first)
{my.Touch.stopX=(max-my.imageID)*(my.imagesDivWidth/max);my.Touch.first=false;}
var newX=-(my.Touch.getX(e)-my.Touch.startX-my.Touch.stopX);if(newX<0)
{newX=0;}
if(newX>my.imagesDivWidth)
{newX=my.imagesDivWidth;}
my.Touch.x=newX;var imageID=Math.round(newX/(my.imagesDivWidth/max));imageID=max-imageID;if(my.imageID!==imageID)
{if(my.circular)
{imageID=imageID+my.imageFocusMax;}
my.glideOnEvent(imageID);}
my.Helper.suppressBrowserDefault(e);}},stop:function()
{my.Touch.stopX=my.Touch.x;my.Touch.busy=false;}};this.Key={init:function()
{document.onkeydown=function(event){my.Key.handle(event);};},handle:function(event)
{var charCode=my.Key.get(event);switch(charCode)
{case 39:my.MouseWheel.handle(-1);break;case 37:my.MouseWheel.handle(1);break;}},get:function(event)
{event=event||window.event;return event.keyCode;}};this.Helper={addEvent:function(obj,type,fn)
{if(obj.addEventListener)
{obj.addEventListener(type,fn,false);}
else 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]);}},removeEvent:function(obj,type,fn)
{if(obj.removeEventListener)
{obj.removeEventListener(type,fn,false);}
else if(obj.detachEvent)
{if(obj[type+fn]===undefined)
{alert('Helper.removeEvent » Pointer to detach event is undefined - perhaps you are trying to detach an unattached event?');}
obj.detachEvent('on'+type,obj[type+fn]);obj[type+fn]=null;obj['e'+type+fn]=null;}},setOpacity:function(object,value)
{if(my.opacity===true)
{object.style.opacity=value/10;object.style.filter='alpha(opacity='+value*10+')';}},createDocumentElement:function(type,id,optionalClass)
{var element=document.createElement(type);element.setAttribute('id',my.ImageFlowID+'_'+id);if(optionalClass!==undefined)
{id+=' '+optionalClass;}
my.Helper.setClassName(element,id);return element;},setClassName:function(element,className)
{if(element)
{element.setAttribute('class',className);element.setAttribute('className',className);}},suppressBrowserDefault:function(e)
{if(e.preventDefault)
{e.preventDefault();}
else
{e.returnValue=false;}
return false;},addResizeEvent:function()
{var otherFunctions=window.onresize;if(typeof window.onresize!='function')
{window.onresize=function()
{my.refresh();};}
else
{window.onresize=function(){if(otherFunctions)
{otherFunctions();}
my.refresh();};}}};}
var domReadyEvent={name:"domReadyEvent",events:{},domReadyID:1,bDone:false,DOMContentLoadedCustom:null,add:function(handler)
{if(!handler.$$domReadyID)
{handler.$$domReadyID=this.domReadyID++;if(this.bDone)
{handler();}
this.events[handler.$$domReadyID]=handler;}},remove:function(handler)
{if(handler.$$domReadyID)
{delete this.events[handler.$$domReadyID];}},run:function()
{if(this.bDone)
{return;}
this.bDone=true;for(var i in this.events)
{this.events[i]();}},schedule:function()
{if(this.bDone)
{return;}
if(/KHTML|WebKit/i.test(navigator.userAgent))
{if(/loaded|complete/.test(document.readyState))
{this.run();}
else
{setTimeout(this.name+".schedule()",100);}}
else if(document.getElementById("__ie_onload"))
{return true;}
if(typeof this.DOMContentLoadedCustom==="function")
{if(typeof document.getElementsByTagName!=='undefined'&&(document.getElementsByTagName('body')[0]!==null||document.body!==null))
{if(this.DOMContentLoadedCustom())
{this.run();}
else
{setTimeout(this.name+".schedule()",250);}}}
return true;},init:function()
{if(document.addEventListener)
{document.addEventListener("DOMContentLoaded",function(){domReadyEvent.run();},false);}
setTimeout("domReadyEvent.schedule()",100);function run()
{domReadyEvent.run();}
if(typeof addEvent!=="undefined")
{addEvent(window,"load",run);}
else if(document.addEventListener)
{document.addEventListener("load",run,false);}
else if(typeof window.onload==="function")
{var oldonload=window.onload;window.onload=function()
{domReadyEvent.run();oldonload();};}
else
{window.onload=run;}}};if(!hs){var hs={lang:{cssDirection:'ltr',loadingText:'Loading...',loadingTitle:'Click to cancel',focusTitle:'Click to bring to front',fullExpandTitle:'Expand to actual size (f)',creditsText:'Powered by <i>Highslide JS</i>',creditsTitle:'Go to the Highslide JS homepage',restoreTitle:'Click to close image, click and drag to move.'},graphicsDir:'',expandCursor:'zoomin.cur',restoreCursor:'zoomout.cur',expandDuration:250,restoreDuration:250,marginLeft:15,marginRight:15,marginTop:15,marginBottom:15,zIndexCounter:1001,loadingOpacity:0.75,allowMultipleInstances:true,numberOfImagesToPreload:5,outlineWhileAnimating:2,outlineStartOffset:3,padToMinWidth:false,fullExpandPosition:'bottom right',fullExpandOpacity:1,showCredits:false,creditsHref:'http://highslide.com/',creditsTarget:'_self',enableKeyListener:true,openerTagNames:['a'],dragByHeading:true,minWidth:200,minHeight:150,allowSizeReduction:true,outlineType:'drop-shadow',preloadTheseImages:[],continuePreloading:true,expanders:[],overrides:['allowSizeReduction','useBox','outlineType','outlineWhileAnimating','captionId','captionText','captionEval','captionOverlay','headingId','headingText','headingEval','headingOverlay','creditsPosition','dragByHeading','width','height','wrapperClassName','minWidth','minHeight','maxWidth','maxHeight','slideshowGroup','easing','easingClose','fadeInOut','src'],overlays:[],idCounter:0,oPos:{x:['leftpanel','left','center','right','rightpanel'],y:['above','top','middle','bottom','below']},mouse:{},headingOverlay:{},captionOverlay:{},timers:[],pendingOutlines:{},clones:{},onReady:[],uaVersion:/Trident\/4\.0/.test(navigator.userAgent)?8:parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1]),ie:(document.all&&!window.opera),safari:/Safari/.test(navigator.userAgent),geckoMac:/Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),$:function(id){if(id)return document.getElementById(id);},push:function(arr,val){arr[arr.length]=val;},createElement:function(tag,attribs,styles,parent,nopad){var el=document.createElement(tag);if(attribs)hs.extend(el,attribs);if(nopad)hs.setStyles(el,{padding:0,border:'none',margin:0});if(styles)hs.setStyles(el,styles);if(parent)parent.appendChild(el);return el;},extend:function(el,attribs){for(var x in attribs)el[x]=attribs[x];return el;},setStyles:function(el,styles){for(var x in styles){if(hs.ie&&x=='opacity'){if(styles[x]>0.99)el.style.removeAttribute('filter');else el.style.filter='alpha(opacity='+(styles[x]*100)+')';}
else el.style[x]=styles[x];}},animate:function(el,prop,opt){var start,end,unit;if(typeof opt!='object'||opt===null){var args=arguments;opt={duration:args[2],easing:args[3],complete:args[4]};}
if(typeof opt.duration!='number')opt.duration=250;opt.easing=Math[opt.easing]||Math.easeInQuad;opt.curAnim=hs.extend({},prop);for(var name in prop){var e=new hs.fx(el,opt,name);start=parseFloat(hs.css(el,name))||0;end=parseFloat(prop[name]);unit=name!='opacity'?'px':'';e.custom(start,end,unit);}},css:function(el,prop){if(document.defaultView){return document.defaultView.getComputedStyle(el,null).getPropertyValue(prop);}else{if(prop=='opacity')prop='filter';var val=el.currentStyle[prop.replace(/\-(\w)/g,function(a,b){return b.toUpperCase();})];if(prop=='filter')
val=val.replace(/alpha\(opacity=([0-9]+)\)/,function(a,b){return b/100});return val===''?1:val;}},getPageSize:function(){var d=document,w=window,iebody=d.compatMode&&d.compatMode!='BackCompat'?d.documentElement:d.body;var width=hs.ie?iebody.clientWidth:(d.documentElement.clientWidth||self.innerWidth),height=hs.ie?iebody.clientHeight:self.innerHeight;hs.page={width:width,height:height,scrollLeft:hs.ie?iebody.scrollLeft:pageXOffset,scrollTop:hs.ie?iebody.scrollTop:pageYOffset}},getPosition:function(el){var p={x:el.offsetLeft,y:el.offsetTop};while(el.offsetParent){el=el.offsetParent;p.x+=el.offsetLeft;p.y+=el.offsetTop;if(el!=document.body&&el!=document.documentElement){p.x-=el.scrollLeft;p.y-=el.scrollTop;}}
return p;},expand:function(a,params,custom,type){if(!a)a=hs.createElement('a',null,{display:'none'},hs.container);if(typeof a.getParams=='function')return params;try{new hs.Expander(a,params,custom);return false;}catch(e){return true;}},focusTopmost:function(){var topZ=0,topmostKey=-1,expanders=hs.expanders,exp,zIndex;for(var i=0;i<expanders.length;i++){exp=expanders[i];if(exp){zIndex=exp.wrapper.style.zIndex;if(zIndex&&zIndex>topZ){topZ=zIndex;topmostKey=i;}}}
if(topmostKey==-1)hs.focusKey=-1;else expanders[topmostKey].focus();},getParam:function(a,param){a.getParams=a.onclick;var p=a.getParams?a.getParams():null;a.getParams=null;return(p&&typeof p[param]!='undefined')?p[param]:(typeof hs[param]!='undefined'?hs[param]:null);},getSrc:function(a){var src=hs.getParam(a,'src');if(src)return src;return a.href;},getNode:function(id){var node=hs.$(id),clone=hs.clones[id],a={};if(!node&&!clone)return null;if(!clone){clone=node.cloneNode(true);clone.id='';hs.clones[id]=clone;return node;}else{return clone.cloneNode(true);}},discardElement:function(d){if(d)hs.garbageBin.appendChild(d);hs.garbageBin.innerHTML='';},transit:function(adj,exp){var last=exp=exp||hs.getExpander();if(hs.upcoming)return false;else hs.last=last;try{hs.upcoming=adj;adj.onclick();}catch(e){hs.last=hs.upcoming=null;}
try{exp.close();}catch(e){}
return false;},previousOrNext:function(el,op){var exp=hs.getExpander(el);if(exp)return hs.transit(exp.getAdjacentAnchor(op),exp);else return false;},previous:function(el){return hs.previousOrNext(el,-1);},next:function(el){return hs.previousOrNext(el,1);},keyHandler:function(e){if(!e)e=window.event;if(!e.target)e.target=e.srcElement;if(typeof e.target.form!='undefined')return true;var exp=hs.getExpander();var op=null;switch(e.keyCode){case 70:if(exp)exp.doFullExpand();return true;case 32:case 34:case 39:case 40:op=1;break;case 8:case 33:case 37:case 38:op=-1;break;case 27:case 13:op=0;}
if(op!==null){hs.removeEventListener(document,window.opera?'keypress':'keydown',hs.keyHandler);if(!hs.enableKeyListener)return true;if(e.preventDefault)e.preventDefault();else e.returnValue=false;if(exp){if(op==0){exp.close();}else{hs.previousOrNext(exp.key,op);}
return false;}}
return true;},registerOverlay:function(overlay){hs.push(hs.overlays,hs.extend(overlay,{hsId:'hsId'+hs.idCounter++}));},getWrapperKey:function(element,expOnly){var el,re=/^highslide-wrapper-([0-9]+)$/;el=element;while(el.parentNode){if(el.id&&re.test(el.id))return el.id.replace(re,"$1");el=el.parentNode;}
if(!expOnly){el=element;while(el.parentNode){if(el.tagName&&hs.isHsAnchor(el)){for(var key=0;key<hs.expanders.length;key++){var exp=hs.expanders[key];if(exp&&exp.a==el)return key;}}
el=el.parentNode;}}
return null;},getExpander:function(el,expOnly){if(typeof el=='undefined')return hs.expanders[hs.focusKey]||null;if(typeof el=='number')return hs.expanders[el]||null;if(typeof el=='string')el=hs.$(el);return hs.expanders[hs.getWrapperKey(el,expOnly)]||null;},isHsAnchor:function(a){return(a.onclick&&a.onclick.toString().replace(/\s/g,' ').match(/hs.(htmlE|e)xpand/));},reOrder:function(){for(var i=0;i<hs.expanders.length;i++)
if(hs.expanders[i]&&hs.expanders[i].isExpanded)hs.focusTopmost();},mouseClickHandler:function(e)
{if(!e)e=window.event;if(e.button>1)return true;if(!e.target)e.target=e.srcElement;var el=e.target;while(el.parentNode&&!(/highslide-(image|move|html|resize)/.test(el.className)))
{el=el.parentNode;}
var exp=hs.getExpander(el);if(exp&&(exp.isClosing||!exp.isExpanded))return true;if(exp&&e.type=='mousedown'){if(e.target.form)return true;var match=el.className.match(/highslide-(image|move|resize)/);if(match){hs.dragArgs={exp:exp,type:match[1],left:exp.x.pos,width:exp.x.size,top:exp.y.pos,height:exp.y.size,clickX:e.clientX,clickY:e.clientY};hs.addEventListener(document,'mousemove',hs.dragHandler);if(e.preventDefault)e.preventDefault();if(/highslide-(image|html)-blur/.test(exp.content.className)){exp.focus();hs.hasFocused=true;}
return false;}}else if(e.type=='mouseup'){hs.removeEventListener(document,'mousemove',hs.dragHandler);if(hs.dragArgs){if(hs.styleRestoreCursor&&hs.dragArgs.type=='image')
hs.dragArgs.exp.content.style.cursor=hs.styleRestoreCursor;var hasDragged=hs.dragArgs.hasDragged;if(!hasDragged&&!hs.hasFocused&&!/(move|resize)/.test(hs.dragArgs.type)){exp.close();}
else if(hasDragged||(!hasDragged&&hs.hasHtmlExpanders)){hs.dragArgs.exp.doShowHide('hidden');}
hs.hasFocused=false;hs.dragArgs=null;}else if(/highslide-image-blur/.test(el.className)){el.style.cursor=hs.styleRestoreCursor;}}
return false;},dragHandler:function(e)
{if(!hs.dragArgs)return true;if(!e)e=window.event;var a=hs.dragArgs,exp=a.exp;a.dX=e.clientX-a.clickX;a.dY=e.clientY-a.clickY;var distance=Math.sqrt(Math.pow(a.dX,2)+Math.pow(a.dY,2));if(!a.hasDragged)a.hasDragged=(a.type!='image'&&distance>0)||(distance>(hs.dragSensitivity||5));if(a.hasDragged&&e.clientX>5&&e.clientY>5){if(a.type=='resize')exp.resize(a);else{exp.moveTo(a.left+a.dX,a.top+a.dY);if(a.type=='image')exp.content.style.cursor='move';}}
return false;},wrapperMouseHandler:function(e){try{if(!e)e=window.event;var over=/mouseover/i.test(e.type);if(!e.target)e.target=e.srcElement;if(hs.ie)e.relatedTarget=over?e.fromElement:e.toElement;var exp=hs.getExpander(e.target);if(!exp.isExpanded)return;if(!exp||!e.relatedTarget||hs.getExpander(e.relatedTarget,true)==exp||hs.dragArgs)return;for(var i=0;i<exp.overlays.length;i++)(function(){var o=hs.$('hsId'+exp.overlays[i]);if(o&&o.hideOnMouseOut){if(over)hs.setStyles(o,{visibility:'visible',display:''});hs.animate(o,{opacity:over?o.opacity:0},o.dur);}})();}catch(e){}},addEventListener:function(el,event,func){if(el==document&&event=='ready')hs.push(hs.onReady,func);try{el.addEventListener(event,func,false);}catch(e){try{el.detachEvent('on'+event,func);el.attachEvent('on'+event,func);}catch(e){el['on'+event]=func;}}},removeEventListener:function(el,event,func){try{el.removeEventListener(event,func,false);}catch(e){try{el.detachEvent('on'+event,func);}catch(e){el['on'+event]=null;}}},preloadFullImage:function(i){if(hs.continuePreloading&&hs.preloadTheseImages[i]&&hs.preloadTheseImages[i]!='undefined'){var img=document.createElement('img');img.onload=function(){img=null;hs.preloadFullImage(i+1);};img.src=hs.preloadTheseImages[i];}},preloadImages:function(number){if(number&&typeof number!='object')hs.numberOfImagesToPreload=number;var arr=hs.getAnchors();for(var i=0;i<arr.images.length&&i<hs.numberOfImagesToPreload;i++){hs.push(hs.preloadTheseImages,hs.getSrc(arr.images[i]));}
if(hs.outlineType)new hs.Outline(hs.outlineType,function(){hs.preloadFullImage(0)});else
hs.preloadFullImage(0);if(hs.restoreCursor)var cur=hs.createElement('img',{src:hs.graphicsDir+hs.restoreCursor});},init:function(){if(!hs.container){hs.getPageSize();hs.ieLt7=hs.ie&&hs.uaVersion<7;for(var x in hs.langDefaults){if(typeof hs[x]!='undefined')hs.lang[x]=hs[x];else if(typeof hs.lang[x]=='undefined'&&typeof hs.langDefaults[x]!='undefined')
hs.lang[x]=hs.langDefaults[x];}
hs.container=hs.createElement('div',{className:'highslide-container'},{position:'absolute',left:0,top:0,width:'100%',zIndex:hs.zIndexCounter,direction:'ltr'},document.body,true);hs.loading=hs.createElement('a',{className:'highslide-loading',title:hs.lang.loadingTitle,innerHTML:hs.lang.loadingText,href:'javascript:;'},{position:'absolute',top:'-9999px',opacity:hs.loadingOpacity,zIndex:1},hs.container);hs.garbageBin=hs.createElement('div',null,{display:'none'},hs.container);Math.linearTween=function(t,b,c,d){return c*t/d+b;};Math.easeInQuad=function(t,b,c,d){return c*(t/=d)*t+b;};hs.hideSelects=hs.ieLt7;hs.hideIframes=((window.opera&&hs.uaVersion<9)||navigator.vendor=='KDE'||(hs.ie&&hs.uaVersion<5.5));}},ready:function(){if(hs.isReady)return;hs.isReady=true;for(var i=0;i<hs.onReady.length;i++)hs.onReady[i]();},updateAnchors:function(){var el,els,all=[],images=[],groups={},re;for(var i=0;i<hs.openerTagNames.length;i++){els=document.getElementsByTagName(hs.openerTagNames[i]);for(var j=0;j<els.length;j++){el=els[j];re=hs.isHsAnchor(el);if(re){hs.push(all,el);if(re[0]=='hs.expand')hs.push(images,el);var g=hs.getParam(el,'slideshowGroup')||'none';if(!groups[g])groups[g]=[];hs.push(groups[g],el);}}}
hs.anchors={all:all,groups:groups,images:images};return hs.anchors;},getAnchors:function(){return hs.anchors||hs.updateAnchors();},close:function(el){var exp=hs.getExpander(el);if(exp)exp.close();return false;}};hs.fx=function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};};hs.fx.prototype={update:function(){(hs.fx.step[this.prop]||hs.fx.step._default)(this);if(this.options.step)
this.options.step.call(this.elem,this.now,this);},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit;this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
t.elem=this.elem;if(t()&&hs.timers.push(t)==1){hs.timerId=setInterval(function(){var timers=hs.timers;for(var i=0;i<timers.length;i++)
if(!timers[i]())
timers.splice(i--,1);if(!timers.length){clearInterval(hs.timerId);}},13);}},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)
if(this.options.curAnim[i]!==true)
done=false;if(done){if(this.options.complete)this.options.complete.call(this.elem);}
return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=this.options.easing(n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}
return true;}};hs.extend(hs.fx,{step:{opacity:function(fx){hs.setStyles(fx.elem,{opacity:fx.now});},_default:function(fx){try{if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
fx.elem.style[fx.prop]=fx.now+fx.unit;else
fx.elem[fx.prop]=fx.now;}catch(e){}}}});hs.Outline=function(outlineType,onLoad){this.onLoad=onLoad;this.outlineType=outlineType;var v=hs.uaVersion,tr;this.hasAlphaImageLoader=hs.ie&&v>=5.5&&v<7;if(!outlineType){if(onLoad)onLoad();return;}
hs.init();this.table=hs.createElement('table',{cellSpacing:0},{visibility:'hidden',position:'absolute',borderCollapse:'collapse',width:0},hs.container,true);var tbody=hs.createElement('tbody',null,null,this.table,1);this.td=[];for(var i=0;i<=8;i++){if(i%3==0)tr=hs.createElement('tr',null,{height:'auto'},tbody,true);this.td[i]=hs.createElement('td',null,null,tr,true);var style=i!=4?{lineHeight:0,fontSize:0}:{position:'relative'};hs.setStyles(this.td[i],style);}
this.td[4].className=outlineType+' highslide-outline';this.preloadGraphic();};hs.Outline.prototype={preloadGraphic:function(){var src=hs.graphicsDir+(hs.outlinesDir||"outlines/")+this.outlineType+".png";var appendTo=hs.safari?hs.container:null;this.graphic=hs.createElement('img',null,{position:'absolute',top:'-9999px'},appendTo,true);var pThis=this;this.graphic.onload=function(){pThis.onGraphicLoad();};this.graphic.src=src;},onGraphicLoad:function(){var o=this.offset=this.graphic.width/4,pos=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],dim={height:(2*o)+'px',width:(2*o)+'px'};for(var i=0;i<=8;i++){if(pos[i]){if(this.hasAlphaImageLoader){var w=(i==1||i==7)?'100%':this.graphic.width+'px';var div=hs.createElement('div',null,{width:'100%',height:'100%',position:'relative',overflow:'hidden'},this.td[i],true);hs.createElement('div',null,{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+this.graphic.src+"')",position:'absolute',width:w,height:this.graphic.height+'px',left:(pos[i][0]*o)+'px',top:(pos[i][1]*o)+'px'},div,true);}else{hs.setStyles(this.td[i],{background:'url('+this.graphic.src+') '+(pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'});}
if(window.opera&&(i==3||i==5))
hs.createElement('div',null,dim,this.td[i],true);hs.setStyles(this.td[i],dim);}}
this.graphic=null;if(hs.pendingOutlines[this.outlineType])hs.pendingOutlines[this.outlineType].destroy();hs.pendingOutlines[this.outlineType]=this;if(this.onLoad)this.onLoad();},setPosition:function(pos,offset,vis,dur,easing){var exp=this.exp,stl=exp.wrapper.style,offset=offset||0,pos=pos||{x:exp.x.pos+offset,y:exp.y.pos+offset,w:exp.x.get('wsize')-2*offset,h:exp.y.get('wsize')-2*offset};if(vis)this.table.style.visibility=(pos.h>=4*this.offset)?'visible':'hidden';hs.setStyles(this.table,{left:(pos.x-this.offset)+'px',top:(pos.y-this.offset)+'px',width:(pos.w+2*this.offset)+'px'});pos.w-=2*this.offset;pos.h-=2*this.offset;hs.setStyles(this.td[4],{width:pos.w>=0?pos.w+'px':0,height:pos.h>=0?pos.h+'px':0});if(this.hasAlphaImageLoader)this.td[3].style.height=this.td[5].style.height=this.td[4].style.height;},destroy:function(hide){if(hide)this.table.style.visibility='hidden';else hs.discardElement(this.table);}};hs.Dimension=function(exp,dim){this.exp=exp;this.dim=dim;this.ucwh=dim=='x'?'Width':'Height';this.wh=this.ucwh.toLowerCase();this.uclt=dim=='x'?'Left':'Top';this.lt=this.uclt.toLowerCase();this.ucrb=dim=='x'?'Right':'Bottom';this.rb=this.ucrb.toLowerCase();this.p1=this.p2=0;};hs.Dimension.prototype={get:function(key){switch(key){case'loadingPos':return this.tpos+this.tb+(this.t-hs.loading['offset'+this.ucwh])/2;case'wsize':return this.size+2*this.cb+this.p1+this.p2;case'fitsize':return this.clientSize-this.marginMin-this.marginMax;case'maxsize':return this.get('fitsize')-2*this.cb-this.p1-this.p2;case'opos':return this.pos-(this.exp.outline?this.exp.outline.offset:0);case'osize':return this.get('wsize')+(this.exp.outline?2*this.exp.outline.offset:0);case'imgPad':return this.imgSize?Math.round((this.size-this.imgSize)/2):0;}},calcBorders:function(){this.cb=(this.exp.content['offset'+this.ucwh]-this.t)/2;this.marginMax=hs['margin'+this.ucrb];},calcThumb:function(){this.t=this.exp.el[this.wh]?parseInt(this.exp.el[this.wh]):this.exp.el['offset'+this.ucwh];this.tpos=this.exp.tpos[this.dim];this.tb=(this.exp.el['offset'+this.ucwh]-this.t)/2;if(this.tpos==0||this.tpos==-1){this.tpos=(hs.page[this.wh]/2)+hs.page['scroll'+this.uclt];};},calcExpanded:function(){var exp=this.exp;this.justify='auto';this.pos=this.tpos-this.cb+this.tb;if(this.maxHeight&&this.dim=='x')
exp.maxWidth=Math.min(exp.maxWidth||this.full,exp.maxHeight*this.full/exp.y.full);this.size=Math.min(this.full,exp['max'+this.ucwh]||this.full);this.minSize=exp.allowSizeReduction?Math.min(exp['min'+this.ucwh],this.full):this.full;if(exp.isImage&&exp.useBox){this.size=exp[this.wh];this.imgSize=this.full;}
if(this.dim=='x'&&hs.padToMinWidth)this.minSize=exp.minWidth;this.marginMin=hs['margin'+this.uclt];this.scroll=hs.page['scroll'+this.uclt];this.clientSize=hs.page[this.wh];},setSize:function(i){var exp=this.exp;if(exp.isImage&&(exp.useBox||hs.padToMinWidth)){this.imgSize=i;this.size=Math.max(this.size,this.imgSize);exp.content.style[this.lt]=this.get('imgPad')+'px';}else
this.size=i;exp.content.style[this.wh]=i+'px';exp.wrapper.style[this.wh]=this.get('wsize')+'px';if(exp.outline)exp.outline.setPosition();if(this.dim=='x'&&exp.overlayBox)exp.sizeOverlayBox(true);},setPos:function(i){this.pos=i;this.exp.wrapper.style[this.lt]=i+'px';if(this.exp.outline)this.exp.outline.setPosition();}};hs.Expander=function(a,params,custom,contentType){if(document.readyState&&hs.ie&&!hs.isReady){hs.addEventListener(document,'ready',function(){new hs.Expander(a,params,custom,contentType);});return;}
this.a=a;this.custom=custom;this.contentType=contentType||'image';this.isImage=!this.isHtml;hs.continuePreloading=false;this.overlays=[];hs.init();var key=this.key=hs.expanders.length;for(var i=0;i<hs.overrides.length;i++){var name=hs.overrides[i];this[name]=params&&typeof params[name]!='undefined'?params[name]:hs[name];}
if(!this.src)this.src=a.href;var el=(params&&params.thumbnailId)?hs.$(params.thumbnailId):a;el=this.thumb=el.getElementsByTagName('img')[0]||el;this.thumbsUserSetId=el.id||a.id;for(var i=0;i<hs.expanders.length;i++){if(hs.expanders[i]&&hs.expanders[i].a==a){hs.expanders[i].focus();return false;}}
if(!hs.allowSimultaneousLoading)for(var i=0;i<hs.expanders.length;i++){if(hs.expanders[i]&&hs.expanders[i].thumb!=el&&!hs.expanders[i].onLoadStarted){hs.expanders[i].cancelLoading();}}
hs.expanders[key]=this;if(!hs.allowMultipleInstances&&!hs.upcoming){if(hs.expanders[key-1])hs.expanders[key-1].close();if(typeof hs.focusKey!='undefined'&&hs.expanders[hs.focusKey])
hs.expanders[hs.focusKey].close();}
this.el=el;this.tpos=hs.getPosition(el);hs.getPageSize();var x=this.x=new hs.Dimension(this,'x');x.calcThumb();var y=this.y=new hs.Dimension(this,'y');y.calcThumb();this.wrapper=hs.createElement('div',{id:'highslide-wrapper-'+this.key,className:'highslide-wrapper '+this.wrapperClassName},{visibility:'hidden',position:'absolute',zIndex:hs.zIndexCounter+=2},null,true);this.wrapper.onmouseover=this.wrapper.onmouseout=hs.wrapperMouseHandler;if(this.contentType=='image'&&this.outlineWhileAnimating==2)
this.outlineWhileAnimating=0;if(!this.outlineType){this[this.contentType+'Create']();}else if(hs.pendingOutlines[this.outlineType]){this.connectOutline();this[this.contentType+'Create']();}else{this.showLoading();var exp=this;new hs.Outline(this.outlineType,function(){exp.connectOutline();exp[exp.contentType+'Create']();});}
return true;};hs.Expander.prototype={error:function(e){window.location.href=this.src;},connectOutline:function(){var outline=this.outline=hs.pendingOutlines[this.outlineType];outline.exp=this;outline.table.style.zIndex=this.wrapper.style.zIndex-1;hs.pendingOutlines[this.outlineType]=null;},showLoading:function(){if(this.onLoadStarted||this.loading)return;this.loading=hs.loading;var exp=this;this.loading.onclick=function(){exp.cancelLoading();};var exp=this,l=this.x.get('loadingPos')+'px',t=this.y.get('loadingPos')+'px';setTimeout(function(){if(exp.loading)hs.setStyles(exp.loading,{left:l,top:t,zIndex:hs.zIndexCounter++})},100);},imageCreate:function(){var exp=this;var img=document.createElement('img');this.content=img;img.onload=function(){if(hs.expanders[exp.key])exp.contentLoaded();};if(hs.blockRightClick)img.oncontextmenu=function(){return false;};img.className='highslide-image';hs.setStyles(img,{visibility:'hidden',display:'block',position:'absolute',maxWidth:'9999px',zIndex:3});img.title=hs.lang.restoreTitle;if(hs.safari)hs.container.appendChild(img);if(hs.ie&&hs.flushImgSize)img.src=null;img.src=this.src;this.showLoading();},contentLoaded:function(){try{if(!this.content)return;this.content.onload=null;if(this.onLoadStarted)return;else this.onLoadStarted=true;var x=this.x,y=this.y;if(this.loading){hs.setStyles(this.loading,{top:'-9999px'});this.loading=null;}
x.full=this.content.width;y.full=this.content.height;hs.setStyles(this.content,{width:x.t+'px',height:y.t+'px'});this.wrapper.appendChild(this.content);hs.container.appendChild(this.wrapper);x.calcBorders();y.calcBorders();hs.setStyles(this.wrapper,{left:(x.tpos+x.tb-x.cb)+'px',top:(y.tpos+x.tb-y.cb)+'px'});this.getOverlays();var ratio=x.full/y.full;x.calcExpanded();this.justify(x);y.calcExpanded();this.justify(y);if(this.overlayBox)this.sizeOverlayBox(0,1);if(this.allowSizeReduction){this.correctRatio(ratio);if(this.isImage&&this.x.full>(this.x.imgSize||this.x.size)){this.createFullExpand();if(this.overlays.length==1)this.sizeOverlayBox();}}
this.show();}catch(e){this.error(e);}},justify:function(p,moveOnly){var tgtArr,tgt=p.target,dim=p==this.x?'x':'y';var hasMovedMin=false;var allowReduce=p.exp.allowSizeReduction;p.pos=Math.round(p.pos-((p.get('wsize')-p.t)/2));if(p.pos<p.scroll+p.marginMin){p.pos=p.scroll+p.marginMin;hasMovedMin=true;}
if(!moveOnly&&p.size<p.minSize){p.size=p.minSize;allowReduce=false;}
if(p.pos+p.get('wsize')>p.scroll+p.clientSize-p.marginMax){if(!moveOnly&&hasMovedMin&&allowReduce){p.size=Math.min(p.size,p.get(dim=='y'?'fitsize':'maxsize'));}else if(p.get('wsize')<p.get('fitsize')){p.pos=p.scroll+p.clientSize-p.marginMax-p.get('wsize');}else{p.pos=p.scroll+p.marginMin;if(!moveOnly&&allowReduce)p.size=p.get(dim=='y'?'fitsize':'maxsize');}}
if(!moveOnly&&p.size<p.minSize){p.size=p.minSize;allowReduce=false;}
if(p.pos<p.marginMin){var tmpMin=p.pos;p.pos=p.marginMin;if(allowReduce&&!moveOnly)p.size=p.size-(p.pos-tmpMin);}},correctRatio:function(ratio){var x=this.x,y=this.y,changed=false,xSize=Math.min(x.full,x.size),ySize=Math.min(y.full,y.size),useBox=(this.useBox||hs.padToMinWidth);if(xSize/ySize>ratio){xSize=ySize*ratio;if(xSize<x.minSize){xSize=x.minSize;ySize=xSize/ratio;}
changed=true;}else if(xSize/ySize<ratio){ySize=xSize/ratio;changed=true;}
if(hs.padToMinWidth&&x.full<x.minSize){x.imgSize=x.full;y.size=y.imgSize=y.full;}else if(this.useBox){x.imgSize=xSize;y.imgSize=ySize;}else{x.size=xSize;y.size=ySize;}
changed=this.fitOverlayBox(useBox?null:ratio,changed);if(useBox&&y.size<y.imgSize){y.imgSize=y.size;x.imgSize=y.size*ratio;}
if(changed||useBox){x.pos=x.tpos-x.cb+x.tb;x.minSize=x.size;this.justify(x,true);y.pos=y.tpos-y.cb+y.tb;y.minSize=y.size;this.justify(y,true);if(this.overlayBox)this.sizeOverlayBox();}},fitOverlayBox:function(ratio,changed){var x=this.x,y=this.y;if(this.overlayBox){while(y.size>this.minHeight&&x.size>this.minWidth&&y.get('wsize')>y.get('fitsize')){y.size-=10;if(ratio)x.size=y.size*ratio;this.sizeOverlayBox(0,1);changed=true;}}
return changed;},show:function(){var x=this.x,y=this.y;this.doShowHide('hidden');this.changeSize(1,{wrapper:{width:x.get('wsize'),height:y.get('wsize'),left:x.pos,top:y.pos},content:{left:x.p1+x.get('imgPad'),top:y.p1+y.get('imgPad'),width:x.imgSize||x.size,height:y.imgSize||y.size}},hs.expandDuration);},changeSize:function(up,to,dur){if(this.outline&&!this.outlineWhileAnimating){if(up)this.outline.setPosition();else this.outline.destroy();}
if(!up)this.destroyOverlays();var exp=this,x=exp.x,y=exp.y,easing=this.easing;if(!up)easing=this.easingClose||easing;var after=up?function(){if(exp.outline)exp.outline.table.style.visibility="visible";setTimeout(function(){exp.afterExpand();},50);}:function(){exp.afterClose();};if(up)hs.setStyles(this.wrapper,{width:x.t+'px',height:y.t+'px'});if(this.fadeInOut){hs.setStyles(this.wrapper,{opacity:up?0:1});hs.extend(to.wrapper,{opacity:up});}
hs.animate(this.wrapper,to.wrapper,{duration:dur,easing:easing,step:function(val,args){if(exp.outline&&exp.outlineWhileAnimating&&args.prop=='top'){var fac=up?args.pos:1-args.pos;var pos={w:x.t+(x.get('wsize')-x.t)*fac,h:y.t+(y.get('wsize')-y.t)*fac,x:x.tpos+(x.pos-x.tpos)*fac,y:y.tpos+(y.pos-y.tpos)*fac};exp.outline.setPosition(pos,0,1);}}});hs.animate(this.content,to.content,dur,easing,after);if(up){this.wrapper.style.visibility='visible';this.content.style.visibility='visible';this.a.className+=' highslide-active-anchor';}},afterExpand:function(){this.isExpanded=true;this.focus();if(hs.upcoming&&hs.upcoming==this.a)hs.upcoming=null;this.prepareNextOutline();var p=hs.page,mX=hs.mouse.x+p.scrollLeft,mY=hs.mouse.y+p.scrollTop;this.mouseIsOver=this.x.pos<mX&&mX<this.x.pos+this.x.get('wsize')&&this.y.pos<mY&&mY<this.y.pos+this.y.get('wsize');if(this.overlayBox)this.showOverlays();},prepareNextOutline:function(){var key=this.key;var outlineType=this.outlineType;new hs.Outline(outlineType,function(){try{hs.expanders[key].preloadNext();}catch(e){}});},preloadNext:function(){var next=this.getAdjacentAnchor(1);if(next&&next.onclick.toString().match(/hs\.expand/))
var img=hs.createElement('img',{src:hs.getSrc(next)});},getAdjacentAnchor:function(op){var current=this.getAnchorIndex(),as=hs.anchors.groups[this.slideshowGroup||'none'];if(!as[current+op]&&this.slideshow&&this.slideshow.repeat){if(op==1)return as[0];else if(op==-1)return as[as.length-1];}
return as[current+op]||null;},getAnchorIndex:function(){var arr=hs.getAnchors().groups[this.slideshowGroup||'none'];if(arr)for(var i=0;i<arr.length;i++){if(arr[i]==this.a)return i;}
return null;},cancelLoading:function(){hs.discardElement(this.wrapper);hs.expanders[this.key]=null;if(this.loading)hs.loading.style.left='-9999px';},writeCredits:function(){this.credits=hs.createElement('a',{href:hs.creditsHref,target:hs.creditsTarget,className:'highslide-credits',innerHTML:hs.lang.creditsText,title:hs.lang.creditsTitle});this.createOverlay({overlayId:this.credits,position:this.creditsPosition||'top left'});},getInline:function(types,addOverlay){for(var i=0;i<types.length;i++){var type=types[i],s=null;if(!this[type+'Id']&&this.thumbsUserSetId)
this[type+'Id']=type+'-for-'+this.thumbsUserSetId;if(this[type+'Id'])this[type]=hs.getNode(this[type+'Id']);if(!this[type]&&!this[type+'Text']&&this[type+'Eval'])try{s=eval(this[type+'Eval']);}catch(e){}
if(!this[type]&&this[type+'Text']){s=this[type+'Text'];}
if(!this[type]&&!s){this[type]=hs.getNode(this.a['_'+type+'Id']);if(!this[type]){var next=this.a.nextSibling;while(next&&!hs.isHsAnchor(next)){if((new RegExp('highslide-'+type)).test(next.className||null)){if(!next.id)this.a['_'+type+'Id']=next.id='hsId'+hs.idCounter++;this[type]=hs.getNode(next.id);break;}
next=next.nextSibling;}}}
if(!this[type]&&s)this[type]=hs.createElement('div',{className:'highslide-'+type,innerHTML:s});if(addOverlay&&this[type]){var o={position:(type=='heading')?'above':'below'};for(var x in this[type+'Overlay'])o[x]=this[type+'Overlay'][x];o.overlayId=this[type];this.createOverlay(o);}}},doShowHide:function(visibility){if(hs.hideSelects)this.showHideElements('SELECT',visibility);if(hs.hideIframes)this.showHideElements('IFRAME',visibility);if(hs.geckoMac)this.showHideElements('*',visibility);},showHideElements:function(tagName,visibility){var els=document.getElementsByTagName(tagName);var prop=tagName=='*'?'overflow':'visibility';for(var i=0;i<els.length;i++){if(prop=='visibility'||(document.defaultView.getComputedStyle(els[i],"").getPropertyValue('overflow')=='auto'||els[i].getAttribute('hidden-by')!=null)){var hiddenBy=els[i].getAttribute('hidden-by');if(visibility=='visible'&&hiddenBy){hiddenBy=hiddenBy.replace('['+this.key+']','');els[i].setAttribute('hidden-by',hiddenBy);if(!hiddenBy)els[i].style[prop]=els[i].origProp;}else if(visibility=='hidden'){var elPos=hs.getPosition(els[i]);elPos.w=els[i].offsetWidth;elPos.h=els[i].offsetHeight;var clearsX=(elPos.x+elPos.w<this.x.get('opos')||elPos.x>this.x.get('opos')+this.x.get('osize'));var clearsY=(elPos.y+elPos.h<this.y.get('opos')||elPos.y>this.y.get('opos')+this.y.get('osize'));var wrapperKey=hs.getWrapperKey(els[i]);if(!clearsX&&!clearsY&&wrapperKey!=this.key){if(!hiddenBy){els[i].setAttribute('hidden-by','['+this.key+']');els[i].origProp=els[i].style[prop];els[i].style[prop]='hidden';}else if(hiddenBy.indexOf('['+this.key+']')==-1){els[i].setAttribute('hidden-by',hiddenBy+'['+this.key+']');}}else if((hiddenBy=='['+this.key+']'||hs.focusKey==wrapperKey)&&wrapperKey!=this.key){els[i].setAttribute('hidden-by','');els[i].style[prop]=els[i].origProp||'';}else if(hiddenBy&&hiddenBy.indexOf('['+this.key+']')>-1){els[i].setAttribute('hidden-by',hiddenBy.replace('['+this.key+']',''));}}}}},focus:function(){this.wrapper.style.zIndex=hs.zIndexCounter+=2;for(var i=0;i<hs.expanders.length;i++){if(hs.expanders[i]&&i==hs.focusKey){var blurExp=hs.expanders[i];blurExp.content.className+=' highslide-'+blurExp.contentType+'-blur';blurExp.content.style.cursor=hs.ie?'hand':'pointer';blurExp.content.title=hs.lang.focusTitle;}}
if(this.outline)this.outline.table.style.zIndex=this.wrapper.style.zIndex-1;this.content.className='highslide-'+this.contentType;this.content.title=hs.lang.restoreTitle;if(hs.restoreCursor){hs.styleRestoreCursor=window.opera?'pointer':'url('+hs.graphicsDir+hs.restoreCursor+'), pointer';if(hs.ie&&hs.uaVersion<6)hs.styleRestoreCursor='hand';this.content.style.cursor=hs.styleRestoreCursor;}
hs.focusKey=this.key;hs.addEventListener(document,window.opera?'keypress':'keydown',hs.keyHandler);},moveTo:function(x,y){this.x.setPos(x);this.y.setPos(y);},resize:function(e){var w,h,r=e.width/e.height;w=Math.max(e.width+e.dX,Math.min(this.minWidth,this.x.full));if(this.isImage&&Math.abs(w-this.x.full)<12)w=this.x.full;h=w/r;if(h<Math.min(this.minHeight,this.y.full)){h=Math.min(this.minHeight,this.y.full);if(this.isImage)w=h*r;}
this.resizeTo(w,h);},resizeTo:function(w,h){this.y.setSize(h);this.x.setSize(w);this.wrapper.style.height=this.y.get('wsize')+'px';},close:function(){if(this.isClosing||!this.isExpanded)return;this.isClosing=true;hs.removeEventListener(document,window.opera?'keypress':'keydown',hs.keyHandler);try{this.content.style.cursor='default';this.changeSize(0,{wrapper:{width:this.x.t,height:this.y.t,left:this.x.tpos-this.x.cb+this.x.tb,top:this.y.tpos-this.y.cb+this.y.tb},content:{left:0,top:0,width:this.x.t,height:this.y.t}},hs.restoreDuration);}catch(e){this.afterClose();}},createOverlay:function(o){var el=o.overlayId;if(typeof el=='string')el=hs.getNode(el);if(o.html)el=hs.createElement('div',{innerHTML:o.html});if(!el||typeof el=='string')return;el.style.display='block';this.genOverlayBox();var width=o.width&&/^[0-9]+(px|%)$/.test(o.width)?o.width:'auto';if(/^(left|right)panel$/.test(o.position)&&!/^[0-9]+px$/.test(o.width))width='200px';var overlay=hs.createElement('div',{id:'hsId'+hs.idCounter++,hsId:o.hsId},{position:'absolute',visibility:'hidden',width:width,direction:hs.lang.cssDirection||'',opacity:0},this.overlayBox,true);overlay.appendChild(el);hs.extend(overlay,{opacity:1,offsetX:0,offsetY:0,dur:(o.fade===0||o.fade===false||(o.fade==2&&hs.ie))?0:250});hs.extend(overlay,o);if(this.gotOverlays){this.positionOverlay(overlay);if(!overlay.hideOnMouseOut||this.mouseIsOver)
hs.animate(overlay,{opacity:overlay.opacity},overlay.dur);}
hs.push(this.overlays,hs.idCounter-1);},positionOverlay:function(overlay){var p=overlay.position||'middle center',offX=overlay.offsetX,offY=overlay.offsetY;if(overlay.parentNode!=this.overlayBox)this.overlayBox.appendChild(overlay);if(/left$/.test(p))overlay.style.left=offX+'px';if(/center$/.test(p))hs.setStyles(overlay,{left:'50%',marginLeft:(offX-Math.round(overlay.offsetWidth/2))+'px'});if(/right$/.test(p))overlay.style.right=-offX+'px';if(/^leftpanel$/.test(p)){hs.setStyles(overlay,{right:'100%',marginRight:this.x.cb+'px',top:-this.y.cb+'px',bottom:-this.y.cb+'px',overflow:'auto'});this.x.p1=overlay.offsetWidth;}else if(/^rightpanel$/.test(p)){hs.setStyles(overlay,{left:'100%',marginLeft:this.x.cb+'px',top:-this.y.cb+'px',bottom:-this.y.cb+'px',overflow:'auto'});this.x.p2=overlay.offsetWidth;}
if(/^top/.test(p))overlay.style.top=offY+'px';if(/^middle/.test(p))hs.setStyles(overlay,{top:'50%',marginTop:(offY-Math.round(overlay.offsetHeight/2))+'px'});if(/^bottom/.test(p))overlay.style.bottom=-offY+'px';if(/^above$/.test(p)){hs.setStyles(overlay,{left:(-this.x.p1-this.x.cb)+'px',right:(-this.x.p2-this.x.cb)+'px',bottom:'100%',marginBottom:this.y.cb+'px',width:'auto'});this.y.p1=overlay.offsetHeight;}else if(/^below$/.test(p)){hs.setStyles(overlay,{position:'relative',left:(-this.x.p1-this.x.cb)+'px',right:(-this.x.p2-this.x.cb)+'px',top:'100%',marginTop:this.y.cb+'px',width:'auto'});this.y.p2=overlay.offsetHeight;overlay.style.position='absolute';}},getOverlays:function(){this.getInline(['heading','caption'],true);if(this.heading&&this.dragByHeading)this.heading.className+=' highslide-move';if(hs.showCredits)this.writeCredits();for(var i=0;i<hs.overlays.length;i++){var o=hs.overlays[i],tId=o.thumbnailId,sg=o.slideshowGroup;if((!tId&&!sg)||(tId&&tId==this.thumbsUserSetId)||(sg&&sg===this.slideshowGroup)){this.createOverlay(o);}}
var os=[];for(var i=0;i<this.overlays.length;i++){var o=hs.$('hsId'+this.overlays[i]);if(/panel$/.test(o.position))this.positionOverlay(o);else hs.push(os,o);}
for(var i=0;i<os.length;i++)this.positionOverlay(os[i]);this.gotOverlays=true;},genOverlayBox:function(){if(!this.overlayBox)this.overlayBox=hs.createElement('div',{className:this.wrapperClassName},{position:'absolute',width:(this.x.size||(this.useBox?this.width:null)||this.x.full)+'px',height:(this.y.size||this.y.full)+'px',visibility:'hidden',overflow:'hidden',zIndex:hs.ie?4:'auto'},hs.container,true);},sizeOverlayBox:function(doWrapper,doPanels){var overlayBox=this.overlayBox,x=this.x,y=this.y;hs.setStyles(overlayBox,{width:x.size+'px',height:y.size+'px'});if(doWrapper||doPanels){for(var i=0;i<this.overlays.length;i++){var o=hs.$('hsId'+this.overlays[i]);var ie6=(hs.ieLt7||document.compatMode=='BackCompat');if(o&&/^(above|below)$/.test(o.position)){if(ie6){o.style.width=(overlayBox.offsetWidth+2*x.cb
+x.p1+x.p2)+'px';}
y[o.position=='above'?'p1':'p2']=o.offsetHeight;}
if(o&&ie6&&/^(left|right)panel$/.test(o.position)){o.style.height=(overlayBox.offsetHeight+2*y.cb)+'px';}}}
if(doWrapper){hs.setStyles(this.content,{top:y.p1+'px'});hs.setStyles(overlayBox,{top:(y.p1+y.cb)+'px'});}},showOverlays:function(){var b=this.overlayBox;b.className='';hs.setStyles(b,{top:(this.y.p1+this.y.cb)+'px',left:(this.x.p1+this.x.cb)+'px',overflow:'visible'});if(hs.safari)b.style.visibility='visible';this.wrapper.appendChild(b);for(var i=0;i<this.overlays.length;i++){var o=hs.$('hsId'+this.overlays[i]);o.style.zIndex=4;if(!o.hideOnMouseOut||this.mouseIsOver){o.style.visibility='visible';hs.setStyles(o,{visibility:'visible',display:''});hs.animate(o,{opacity:o.opacity},o.dur);}}},destroyOverlays:function(){if(!this.overlays.length)return;hs.discardElement(this.overlayBox);},createFullExpand:function(){this.fullExpandLabel=hs.createElement('a',{href:'javascript:hs.expanders['+this.key+'].doFullExpand();',title:hs.lang.fullExpandTitle,className:'highslide-full-expand'});this.createOverlay({overlayId:this.fullExpandLabel,position:hs.fullExpandPosition,hideOnMouseOut:true,opacity:hs.fullExpandOpacity});},doFullExpand:function(){try{if(this.fullExpandLabel)hs.discardElement(this.fullExpandLabel);this.focus();var xSize=this.x.size;this.resizeTo(this.x.full,this.y.full);var xpos=this.x.pos-(this.x.size-xSize)/2;if(xpos<hs.marginLeft)xpos=hs.marginLeft;this.moveTo(xpos,this.y.pos);this.doShowHide('hidden');}catch(e){this.error(e);}},afterClose:function(){this.a.className=this.a.className.replace('highslide-active-anchor','');this.doShowHide('visible');if(this.outline&&this.outlineWhileAnimating)this.outline.destroy();hs.discardElement(this.wrapper);hs.expanders[this.key]=null;hs.reOrder();}};hs.langDefaults=hs.lang;var HsExpander=hs.Expander;if(hs.ie){(function(){try{document.documentElement.doScroll('left');}catch(e){setTimeout(arguments.callee,50);return;}
hs.ready();})();}
hs.addEventListener(document,'DOMContentLoaded',hs.ready);hs.addEventListener(window,'load',hs.ready);hs.addEventListener(document,'ready',function(){if(hs.expandCursor){var style=hs.createElement('style',{type:'text/css'},null,document.getElementsByTagName('HEAD')[0]);function addRule(sel,dec){if(!hs.ie){style.appendChild(document.createTextNode(sel+" {"+dec+"}"));}else{var last=document.styleSheets[document.styleSheets.length-1];if(typeof(last.addRule)=="object")last.addRule(sel,dec);}}
function fix(prop){return'expression( ( ( ignoreMe = document.documentElement.'+prop+' ? document.documentElement.'+prop+' : document.body.'+prop+' ) ) + \'px\' );';}
if(hs.expandCursor)addRule('.highslide img','cursor: url('+hs.graphicsDir+hs.expandCursor+'), pointer !important;');}});hs.addEventListener(window,'resize',function(){hs.getPageSize();});hs.addEventListener(document,'mousemove',function(e){hs.mouse={x:e.clientX,y:e.clientY};});hs.addEventListener(document,'mousedown',hs.mouseClickHandler);hs.addEventListener(document,'mouseup',hs.mouseClickHandler);hs.addEventListener(document,'ready',hs.getAnchors);hs.addEventListener(window,'load',hs.preloadImages);}
window['PR_SHOULD_USE_CONTINUATION']=true;window['PR_TAB_WIDTH']=8;window['PR_normalizedHtml']=window['PR']=window['prettyPrintOne']=window['prettyPrint']=void 0;window['_pr_isIE6']=function(){var ieVersion=navigator&&navigator.userAgent&&navigator.userAgent.match(/\bMSIE ([678])\./);ieVersion=ieVersion?+ieVersion[1]:false;window['_pr_isIE6']=function(){return ieVersion;};return ieVersion;};(function(){var FLOW_CONTROL_KEYWORDS="break continue do else for if return while ";var C_KEYWORDS=FLOW_CONTROL_KEYWORDS+"auto case char const default "+"double enum extern float goto int long register short signed sizeof "+"static struct switch typedef union unsigned void volatile ";var COMMON_KEYWORDS=C_KEYWORDS+"catch class delete false import "+"new operator private protected public this throw true try typeof ";var CPP_KEYWORDS=COMMON_KEYWORDS+"alignof align_union asm axiom bool "+"concept concept_map const_cast constexpr decltype "+"dynamic_cast explicit export friend inline late_check "+"mutable namespace nullptr reinterpret_cast static_assert static_cast "+"template typeid typename using virtual wchar_t where ";var JAVA_KEYWORDS=COMMON_KEYWORDS+"abstract boolean byte extends final finally implements import "+"instanceof null native package strictfp super synchronized throws "+"transient ";var CSHARP_KEYWORDS=JAVA_KEYWORDS+"as base by checked decimal delegate descending event "+"fixed foreach from group implicit in interface internal into is lock "+"object out override orderby params partial readonly ref sbyte sealed "+"stackalloc string select uint ulong unchecked unsafe ushort var ";var JSCRIPT_KEYWORDS=COMMON_KEYWORDS+"debugger eval export function get null set undefined var with "+"Infinity NaN ";var PERL_KEYWORDS="caller delete die do dump elsif eval exit foreach for "+"goto if import last local my next no our print package redo require "+"sub undef unless until use wantarray while BEGIN END ";var PYTHON_KEYWORDS=FLOW_CONTROL_KEYWORDS+"and as assert class def del "+"elif except exec finally from global import in is lambda "+"nonlocal not or pass print raise try with yield "+"False True None ";var RUBY_KEYWORDS=FLOW_CONTROL_KEYWORDS+"alias and begin case class def"+" defined elsif end ensure false in module next nil not or redo rescue "+"retry self super then true undef unless until when yield BEGIN END ";var SH_KEYWORDS=FLOW_CONTROL_KEYWORDS+"case done elif esac eval fi "+"function in local set then until ";var ALL_KEYWORDS=(CPP_KEYWORDS+CSHARP_KEYWORDS+JSCRIPT_KEYWORDS+PERL_KEYWORDS+
PYTHON_KEYWORDS+RUBY_KEYWORDS+SH_KEYWORDS);var PR_STRING='str';var PR_KEYWORD='kwd';var PR_COMMENT='com';var PR_TYPE='typ';var PR_LITERAL='lit';var PR_PUNCTUATION='pun';var PR_PLAIN='pln';var PR_TAG='tag';var PR_DECLARATION='dec';var PR_SOURCE='src';var PR_ATTRIB_NAME='atn';var PR_ATTRIB_VALUE='atv';var PR_NOCODE='nocode';var REGEXP_PRECEDER_PATTERN=function(){var preceders=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"];var pattern='(?:^^|[+-]';for(var i=0;i<preceders.length;++i){pattern+='|'+preceders[i].replace(/([^=<>:&a-z])/g,'\\$1');}
pattern+=')\\s*';return pattern;}();var pr_amp=/&/g;var pr_lt=/</g;var pr_gt=/>/g;var pr_quot=/\"/g;function attribToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;').replace(pr_quot,'&quot;');}
function textToHtml(str){return str.replace(pr_amp,'&amp;').replace(pr_lt,'&lt;').replace(pr_gt,'&gt;');}
var pr_ltEnt=/&lt;/g;var pr_gtEnt=/&gt;/g;var pr_aposEnt=/&apos;/g;var pr_quotEnt=/&quot;/g;var pr_ampEnt=/&amp;/g;var pr_nbspEnt=/&nbsp;/g;function htmlToText(html){var pos=html.indexOf('&');if(pos<0){return html;}
for(--pos;(pos=html.indexOf('&#',pos+1))>=0;){var end=html.indexOf(';',pos);if(end>=0){var num=html.substring(pos+3,end);var radix=10;if(num&&num.charAt(0)==='x'){num=num.substring(1);radix=16;}
var codePoint=parseInt(num,radix);if(!isNaN(codePoint)){html=(html.substring(0,pos)+String.fromCharCode(codePoint)+
html.substring(end+1));}}}
return html.replace(pr_ltEnt,'<').replace(pr_gtEnt,'>').replace(pr_aposEnt,"'").replace(pr_quotEnt,'"').replace(pr_nbspEnt,' ').replace(pr_ampEnt,'&');}
function isRawContent(node){return'XMP'===node.tagName;}
var newlineRe=/[\r\n]/g;function isPreformatted(node,content){if('PRE'===node.tagName){return true;}
if(!newlineRe.test(content)){return true;}
var whitespace='';if(node.currentStyle){whitespace=node.currentStyle.whiteSpace;}else if(window.getComputedStyle){whitespace=window.getComputedStyle(node,null).whiteSpace;}
return!whitespace||whitespace==='pre';}
function normalizedHtml(node,out){switch(node.nodeType){case 1:var name=node.tagName.toLowerCase();out.push('<',name);for(var i=0;i<node.attributes.length;++i){var attr=node.attributes[i];if(!attr.specified){continue;}
out.push(' ');normalizedHtml(attr,out);}
out.push('>');for(var child=node.firstChild;child;child=child.nextSibling){normalizedHtml(child,out);}
if(node.firstChild||!/^(?:br|link|img)$/.test(name)){out.push('<\/',name,'>');}
break;case 2:out.push(node.name.toLowerCase(),'="',attribToHtml(node.value),'"');break;case 3:case 4:out.push(textToHtml(node.nodeValue));break;}}
function combinePrefixPatterns(regexs){var capturedGroupIndex=0;var needToFoldCase=false;var ignoreCase=false;for(var i=0,n=regexs.length;i<n;++i){var regex=regexs[i];if(regex.ignoreCase){ignoreCase=true;}else if(/[a-z]/i.test(regex.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,''))){needToFoldCase=true;ignoreCase=false;break;}}
function decodeEscape(charsetPart){if(charsetPart.charAt(0)!=='\\'){return charsetPart.charCodeAt(0);}
switch(charsetPart.charAt(1)){case'b':return 8;case't':return 9;case'n':return 0xa;case'v':return 0xb;case'f':return 0xc;case'r':return 0xd;case'u':case'x':return parseInt(charsetPart.substring(2),16)||charsetPart.charCodeAt(1);case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':return parseInt(charsetPart.substring(1),8);default:return charsetPart.charCodeAt(1);}}
function encodeEscape(charCode){if(charCode<0x20){return(charCode<0x10?'\\x0':'\\x')+charCode.toString(16);}
var ch=String.fromCharCode(charCode);if(ch==='\\'||ch==='-'||ch==='['||ch===']'){ch='\\'+ch;}
return ch;}
function caseFoldCharset(charSet){var charsetParts=charSet.substring(1,charSet.length-1).match(new RegExp('\\\\u[0-9A-Fa-f]{4}'
+'|\\\\x[0-9A-Fa-f]{2}'
+'|\\\\[0-3][0-7]{0,2}'
+'|\\\\[0-7]{1,2}'
+'|\\\\[\\s\\S]'
+'|-'
+'|[^-\\\\]','g'));var groups=[];var ranges=[];var inverse=charsetParts[0]==='^';for(var i=inverse?1:0,n=charsetParts.length;i<n;++i){var p=charsetParts[i];switch(p){case'\\B':case'\\b':case'\\D':case'\\d':case'\\S':case'\\s':case'\\W':case'\\w':groups.push(p);continue;}
var start=decodeEscape(p);var end;if(i+2<n&&'-'===charsetParts[i+1]){end=decodeEscape(charsetParts[i+2]);i+=2;}else{end=start;}
ranges.push([start,end]);if(!(end<65||start>122)){if(!(end<65||start>90)){ranges.push([Math.max(65,start)|32,Math.min(end,90)|32]);}
if(!(end<97||start>122)){ranges.push([Math.max(97,start)&~32,Math.min(end,122)&~32]);}}}
ranges.sort(function(a,b){return(a[0]-b[0])||(b[1]-a[1]);});var consolidatedRanges=[];var lastRange=[NaN,NaN];for(var i=0;i<ranges.length;++i){var range=ranges[i];if(range[0]<=lastRange[1]+1){lastRange[1]=Math.max(lastRange[1],range[1]);}else{consolidatedRanges.push(lastRange=range);}}
var out=['['];if(inverse){out.push('^');}
out.push.apply(out,groups);for(var i=0;i<consolidatedRanges.length;++i){var range=consolidatedRanges[i];out.push(encodeEscape(range[0]));if(range[1]>range[0]){if(range[1]+1>range[0]){out.push('-');}
out.push(encodeEscape(range[1]));}}
out.push(']');return out.join('');}
function allowAnywhereFoldCaseAndRenumberGroups(regex){var parts=regex.source.match(new RegExp('(?:'
+'\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'
+'|\\\\u[A-Fa-f0-9]{4}'
+'|\\\\x[A-Fa-f0-9]{2}'
+'|\\\\[0-9]+'
+'|\\\\[^ux0-9]'
+'|\\(\\?[:!=]'
+'|[\\(\\)\\^]'
+'|[^\\x5B\\x5C\\(\\)\\^]+'
+')','g'));var n=parts.length;var capturedGroups=[];for(var i=0,groupIndex=0;i<n;++i){var p=parts[i];if(p==='('){++groupIndex;}else if('\\'===p.charAt(0)){var decimalValue=+p.substring(1);if(decimalValue&&decimalValue<=groupIndex){capturedGroups[decimalValue]=-1;}}}
for(var i=1;i<capturedGroups.length;++i){if(-1===capturedGroups[i]){capturedGroups[i]=++capturedGroupIndex;}}
for(var i=0,groupIndex=0;i<n;++i){var p=parts[i];if(p==='('){++groupIndex;if(capturedGroups[groupIndex]===undefined){parts[i]='(?:';}}else if('\\'===p.charAt(0)){var decimalValue=+p.substring(1);if(decimalValue&&decimalValue<=groupIndex){parts[i]='\\'+capturedGroups[groupIndex];}}}
for(var i=0,groupIndex=0;i<n;++i){if('^'===parts[i]&&'^'!==parts[i+1]){parts[i]='';}}
if(regex.ignoreCase&&needToFoldCase){for(var i=0;i<n;++i){var p=parts[i];var ch0=p.charAt(0);if(p.length>=2&&ch0==='['){parts[i]=caseFoldCharset(p);}else if(ch0!=='\\'){parts[i]=p.replace(/[a-zA-Z]/g,function(ch){var cc=ch.charCodeAt(0);return'['+String.fromCharCode(cc&~32,cc|32)+']';});}}}
return parts.join('');}
var rewritten=[];for(var i=0,n=regexs.length;i<n;++i){var regex=regexs[i];if(regex.global||regex.multiline){throw new Error(''+regex);}
rewritten.push('(?:'+allowAnywhereFoldCaseAndRenumberGroups(regex)+')');}
return new RegExp(rewritten.join('|'),ignoreCase?'gi':'g');}
var PR_innerHtmlWorks=null;function getInnerHtml(node){if(null===PR_innerHtmlWorks){var testNode=document.createElement('PRE');testNode.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));PR_innerHtmlWorks=!/</.test(testNode.innerHTML);}
if(PR_innerHtmlWorks){var content=node.innerHTML;if(isRawContent(node)){content=textToHtml(content);}else if(!isPreformatted(node,content)){content=content.replace(/(<br\s*\/?>)[\r\n]+/g,'$1').replace(/(?:[\r\n]+[ \t]*)+/g,' ');}
return content;}
var out=[];for(var child=node.firstChild;child;child=child.nextSibling){normalizedHtml(child,out);}
return out.join('');}
function makeTabExpander(tabWidth){var SPACES='                ';var charInLine=0;return function(plainText){var out=null;var pos=0;for(var i=0,n=plainText.length;i<n;++i){var ch=plainText.charAt(i);switch(ch){case'\t':if(!out){out=[];}
out.push(plainText.substring(pos,i));var nSpaces=tabWidth-(charInLine%tabWidth);charInLine+=nSpaces;for(;nSpaces>=0;nSpaces-=SPACES.length){out.push(SPACES.substring(0,nSpaces));}
pos=i+1;break;case'\n':charInLine=0;break;default:++charInLine;}}
if(!out){return plainText;}
out.push(plainText.substring(pos));return out.join('');};}
var pr_chunkPattern=new RegExp('[^<]+'
+'|<\!--[\\s\\S]*?--\>'
+'|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'
+'|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
+'|<','g');var pr_commentPrefix=/^<\!--/;var pr_cdataPrefix=/^<!\[CDATA\[/;var pr_brPrefix=/^<br\b/i;var pr_tagNameRe=/^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;function extractTags(s){var matches=s.match(pr_chunkPattern);var sourceBuf=[];var sourceBufLen=0;var extractedTags=[];if(matches){for(var i=0,n=matches.length;i<n;++i){var match=matches[i];if(match.length>1&&match.charAt(0)==='<'){if(pr_commentPrefix.test(match)){continue;}
if(pr_cdataPrefix.test(match)){sourceBuf.push(match.substring(9,match.length-3));sourceBufLen+=match.length-12;}else if(pr_brPrefix.test(match)){sourceBuf.push('\n');++sourceBufLen;}else{if(match.indexOf(PR_NOCODE)>=0&&isNoCodeTag(match)){var name=match.match(pr_tagNameRe)[2];var depth=1;var j;end_tag_loop:for(j=i+1;j<n;++j){var name2=matches[j].match(pr_tagNameRe);if(name2&&name2[2]===name){if(name2[1]==='/'){if(--depth===0){break end_tag_loop;}}else{++depth;}}}
if(j<n){extractedTags.push(sourceBufLen,matches.slice(i,j+1).join(''));i=j;}else{extractedTags.push(sourceBufLen,match);}}else{extractedTags.push(sourceBufLen,match);}}}else{var literalText=htmlToText(match);sourceBuf.push(literalText);sourceBufLen+=literalText.length;}}}
return{source:sourceBuf.join(''),tags:extractedTags};}
function isNoCodeTag(tag){return!!tag.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);}
function appendDecorations(basePos,sourceCode,langHandler,out){if(!sourceCode){return;}
var job={source:sourceCode,basePos:basePos};langHandler(job);out.push.apply(out,job.decorations);}
function createSimpleLexer(shortcutStylePatterns,fallthroughStylePatterns){var shortcuts={};var tokenizer;(function(){var allPatterns=shortcutStylePatterns.concat(fallthroughStylePatterns);var allRegexs=[];var regexKeys={};for(var i=0,n=allPatterns.length;i<n;++i){var patternParts=allPatterns[i];var shortcutChars=patternParts[3];if(shortcutChars){for(var c=shortcutChars.length;--c>=0;){shortcuts[shortcutChars.charAt(c)]=patternParts;}}
var regex=patternParts[1];var k=''+regex;if(!regexKeys.hasOwnProperty(k)){allRegexs.push(regex);regexKeys[k]=null;}}
allRegexs.push(/[\0-\uffff]/);tokenizer=combinePrefixPatterns(allRegexs);})();var nPatterns=fallthroughStylePatterns.length;var notWs=/\S/;var decorate=function(job){var sourceCode=job.source,basePos=job.basePos;var decorations=[basePos,PR_PLAIN];var pos=0;var tokens=sourceCode.match(tokenizer)||[];var styleCache={};for(var ti=0,nTokens=tokens.length;ti<nTokens;++ti){var token=tokens[ti];var style=styleCache[token];var match=void 0;var isEmbedded;if(typeof style==='string'){isEmbedded=false;}else{var patternParts=shortcuts[token.charAt(0)];if(patternParts){match=token.match(patternParts[1]);style=patternParts[0];}else{for(var i=0;i<nPatterns;++i){patternParts=fallthroughStylePatterns[i];match=token.match(patternParts[1]);if(match){style=patternParts[0];break;}}
if(!match){style=PR_PLAIN;}}
isEmbedded=style.length>=5&&'lang-'===style.substring(0,5);if(isEmbedded&&!(match&&typeof match[1]==='string')){isEmbedded=false;style=PR_SOURCE;}
if(!isEmbedded){styleCache[token]=style;}}
var tokenStart=pos;pos+=token.length;if(!isEmbedded){decorations.push(basePos+tokenStart,style);}else{var embeddedSource=match[1];var embeddedSourceStart=token.indexOf(embeddedSource);var embeddedSourceEnd=embeddedSourceStart+embeddedSource.length;if(match[2]){embeddedSourceEnd=token.length-match[2].length;embeddedSourceStart=embeddedSourceEnd-embeddedSource.length;}
var lang=style.substring(5);appendDecorations(basePos+tokenStart,token.substring(0,embeddedSourceStart),decorate,decorations);appendDecorations(basePos+tokenStart+embeddedSourceStart,embeddedSource,langHandlerForExtension(lang,embeddedSource),decorations);appendDecorations(basePos+tokenStart+embeddedSourceEnd,token.substring(embeddedSourceEnd),decorate,decorations);}}
job.decorations=decorations;};return decorate;}
function sourceDecorator(options){var shortcutStylePatterns=[],fallthroughStylePatterns=[];if(options['tripleQuotedStrings']){shortcutStylePatterns.push([PR_STRING,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,'\'"']);}else if(options['multiLineStrings']){shortcutStylePatterns.push([PR_STRING,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,'\'"`']);}else{shortcutStylePatterns.push([PR_STRING,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,'"\'']);}
if(options['verbatimStrings']){fallthroughStylePatterns.push([PR_STRING,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);}
if(options['hashComments']){if(options['cStyleComments']){shortcutStylePatterns.push([PR_COMMENT,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,'#']);fallthroughStylePatterns.push([PR_STRING,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null]);}else{shortcutStylePatterns.push([PR_COMMENT,/^#[^\r\n]*/,null,'#']);}}
if(options['cStyleComments']){fallthroughStylePatterns.push([PR_COMMENT,/^\/\/[^\r\n]*/,null]);fallthroughStylePatterns.push([PR_COMMENT,/^\/\*[\s\S]*?(?:\*\/|$)/,null]);}
if(options['regexLiterals']){var REGEX_LITERAL=('/(?=[^/*])'
+'(?:[^/\\x5B\\x5C]'
+'|\\x5C[\\s\\S]'
+'|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
+'/');fallthroughStylePatterns.push(['lang-regex',new RegExp('^'+REGEXP_PRECEDER_PATTERN+'('+REGEX_LITERAL+')')]);}
var keywords=options['keywords'].replace(/^\s+|\s+$/g,'');if(keywords.length){fallthroughStylePatterns.push([PR_KEYWORD,new RegExp('^(?:'+keywords.replace(/\s+/g,'|')+')\\b'),null]);}
shortcutStylePatterns.push([PR_PLAIN,/^\s+/,null,' \r\n\t\xA0']);fallthroughStylePatterns.push([PR_LITERAL,/^@[a-z_$][a-z_$@0-9]*/i,null],[PR_TYPE,/^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/,null],[PR_PLAIN,/^[a-z_$][a-z_$@0-9]*/i,null],[PR_LITERAL,new RegExp('^(?:'
+'0x[a-f0-9]+'
+'|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
+'(?:e[+\\-]?\\d+)?'
+')'
+'[a-z]*','i'),null,'0123456789'],[PR_PUNCTUATION,/^.[^\s\w\.$@\'\"\`\/\#]*/,null]);return createSimpleLexer(shortcutStylePatterns,fallthroughStylePatterns);}
var decorateSource=sourceDecorator({'keywords':ALL_KEYWORDS,'hashComments':true,'cStyleComments':true,'multiLineStrings':true,'regexLiterals':true});function recombineTagsAndDecorations(job){var sourceText=job.source;var extractedTags=job.extractedTags;var decorations=job.decorations;var html=[];var outputIdx=0;var openDecoration=null;var currentDecoration=null;var tagPos=0;var decPos=0;var tabExpander=makeTabExpander(window['PR_TAB_WIDTH']);var adjacentSpaceRe=/([\r\n ]) /g;var startOrSpaceRe=/(^| ) /gm;var newlineRe=/\r\n?|\n/g;var trailingSpaceRe=/[ \r\n]$/;var lastWasSpace=true;function emitTextUpTo(sourceIdx){if(sourceIdx>outputIdx){if(openDecoration&&openDecoration!==currentDecoration){html.push('</span>');openDecoration=null;}
if(!openDecoration&&currentDecoration){openDecoration=currentDecoration;html.push('<span class="',openDecoration,'">');}
var htmlChunk=textToHtml(tabExpander(sourceText.substring(outputIdx,sourceIdx))).replace(lastWasSpace?startOrSpaceRe:adjacentSpaceRe,'$1&nbsp;');lastWasSpace=trailingSpaceRe.test(htmlChunk);var lineBreakHtml=window['_pr_isIE6']()?'&nbsp;<br />':'<br />';html.push(htmlChunk.replace(newlineRe,lineBreakHtml));outputIdx=sourceIdx;}}
while(true){var outputTag;if(tagPos<extractedTags.length){if(decPos<decorations.length){outputTag=extractedTags[tagPos]<=decorations[decPos];}else{outputTag=true;}}else{outputTag=false;}
if(outputTag){emitTextUpTo(extractedTags[tagPos]);if(openDecoration){html.push('</span>');openDecoration=null;}
html.push(extractedTags[tagPos+1]);tagPos+=2;}else if(decPos<decorations.length){emitTextUpTo(decorations[decPos]);currentDecoration=decorations[decPos+1];decPos+=2;}else{break;}}
emitTextUpTo(sourceText.length);if(openDecoration){html.push('</span>');}
job.prettyPrintedHtml=html.join('');}
var langHandlerRegistry={};function registerLangHandler(handler,fileExtensions){for(var i=fileExtensions.length;--i>=0;){var ext=fileExtensions[i];if(!langHandlerRegistry.hasOwnProperty(ext)){langHandlerRegistry[ext]=handler;}else if('console'in window){console.warn('cannot override language handler %s',ext);}}}
function langHandlerForExtension(extension,source){if(!(extension&&langHandlerRegistry.hasOwnProperty(extension))){extension=/^\s*</.test(source)?'default-markup':'default-code';}
return langHandlerRegistry[extension];}
registerLangHandler(decorateSource,['default-code']);registerLangHandler(createSimpleLexer([],[[PR_PLAIN,/^[^<?]+/],[PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],['lang-',/^<\?([\s\S]+?)(?:\?>|$)/],['lang-',/^<%([\s\S]+?)(?:%>|$)/],[PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],['lang-',/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],['lang-js',/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],['lang-css',/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],['lang-in.tag',/^(<\/?[a-z][^<>]*>)/i]]),['default-markup','htm','html','mxml','xhtml','xml','xsl']);registerLangHandler(createSimpleLexer([[PR_PLAIN,/^[\s]+/,null,' \t\r\n'],[PR_ATTRIB_VALUE,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,'\"\'']],[[PR_TAG,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[PR_ATTRIB_NAME,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],['lang-uq.val',/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[PR_PUNCTUATION,/^[=<>\/]+/],['lang-js',/^on\w+\s*=\s*\"([^\"]+)\"/i],['lang-js',/^on\w+\s*=\s*\'([^\']+)\'/i],['lang-js',/^on\w+\s*=\s*([^\"\'>\s]+)/i],['lang-css',/^style\s*=\s*\"([^\"]+)\"/i],['lang-css',/^style\s*=\s*\'([^\']+)\'/i],['lang-css',/^style\s*=\s*([^\"\'>\s]+)/i]]),['in.tag']);registerLangHandler(createSimpleLexer([],[[PR_ATTRIB_VALUE,/^[\s\S]+/]]),['uq.val']);registerLangHandler(sourceDecorator({'keywords':CPP_KEYWORDS,'hashComments':true,'cStyleComments':true}),['c','cc','cpp','cxx','cyc','m']);registerLangHandler(sourceDecorator({'keywords':'null true false'}),['json']);registerLangHandler(sourceDecorator({'keywords':CSHARP_KEYWORDS,'hashComments':true,'cStyleComments':true,'verbatimStrings':true}),['cs']);registerLangHandler(sourceDecorator({'keywords':JAVA_KEYWORDS,'cStyleComments':true}),['java']);registerLangHandler(sourceDecorator({'keywords':SH_KEYWORDS,'hashComments':true,'multiLineStrings':true}),['bsh','csh','sh']);registerLangHandler(sourceDecorator({'keywords':PYTHON_KEYWORDS,'hashComments':true,'multiLineStrings':true,'tripleQuotedStrings':true}),['cv','py']);registerLangHandler(sourceDecorator({'keywords':PERL_KEYWORDS,'hashComments':true,'multiLineStrings':true,'regexLiterals':true}),['perl','pl','pm']);registerLangHandler(sourceDecorator({'keywords':RUBY_KEYWORDS,'hashComments':true,'multiLineStrings':true,'regexLiterals':true}),['rb']);registerLangHandler(sourceDecorator({'keywords':JSCRIPT_KEYWORDS,'cStyleComments':true,'regexLiterals':true}),['js']);registerLangHandler(createSimpleLexer([],[[PR_STRING,/^[\s\S]+/]]),['regex']);function applyDecorator(job){var sourceCodeHtml=job.sourceCodeHtml;var opt_langExtension=job.langExtension;job.prettyPrintedHtml=sourceCodeHtml;try{var sourceAndExtractedTags=extractTags(sourceCodeHtml);var source=sourceAndExtractedTags.source;job.source=source;job.basePos=0;job.extractedTags=sourceAndExtractedTags.tags;langHandlerForExtension(opt_langExtension,source)(job);recombineTagsAndDecorations(job);}catch(e){if('console'in window){console.log(e);console.trace();}}}
function prettyPrintOne(sourceCodeHtml,opt_langExtension){var job={sourceCodeHtml:sourceCodeHtml,langExtension:opt_langExtension};applyDecorator(job);return job.prettyPrintedHtml;}
function prettyPrint(opt_whenDone){var isIE678=window['_pr_isIE6']();var ieNewline=isIE678===6?'\r\n':'\r';var codeSegments=[document.getElementsByTagName('pre'),document.getElementsByTagName('code'),document.getElementsByTagName('xmp')];var elements=[];for(var i=0;i<codeSegments.length;++i){for(var j=0,n=codeSegments[i].length;j<n;++j){elements.push(codeSegments[i][j]);}}
codeSegments=null;var clock=Date;if(!clock['now']){clock={'now':function(){return(new Date).getTime();}};}
var k=0;var prettyPrintingJob;function doWork(){var endTime=(window['PR_SHOULD_USE_CONTINUATION']?clock.now()+250:Infinity);for(;k<elements.length&&clock.now()<endTime;k++){var cs=elements[k];if(cs.className&&cs.className.indexOf('prettyprint')>=0){var langExtension=cs.className.match(/\blang-(\w+)\b/);if(langExtension){langExtension=langExtension[1];}
var nested=false;for(var p=cs.parentNode;p;p=p.parentNode){if((p.tagName==='pre'||p.tagName==='code'||p.tagName==='xmp')&&p.className&&p.className.indexOf('prettyprint')>=0){nested=true;break;}}
if(!nested){var content=getInnerHtml(cs);content=content.replace(/(?:\r\n?|\n)$/,'');prettyPrintingJob={sourceCodeHtml:content,langExtension:langExtension,sourceNode:cs};applyDecorator(prettyPrintingJob);replaceWithPrettyPrintedHtml();}}}
if(k<elements.length){setTimeout(doWork,250);}else if(opt_whenDone){opt_whenDone();}}
function replaceWithPrettyPrintedHtml(){var newContent=prettyPrintingJob.prettyPrintedHtml;if(!newContent){return;}
var cs=prettyPrintingJob.sourceNode;if(!isRawContent(cs)){cs.innerHTML=newContent;}else{var pre=document.createElement('PRE');for(var i=0;i<cs.attributes.length;++i){var a=cs.attributes[i];if(a.specified){var aname=a.name.toLowerCase();if(aname==='class'){pre.className=a.value;}else{pre.setAttribute(a.name,a.value);}}}
pre.innerHTML=newContent;cs.parentNode.replaceChild(pre,cs);cs=pre;}
if(isIE678&&cs.tagName==='PRE'){var lineBreaks=cs.getElementsByTagName('br');for(var j=lineBreaks.length;--j>=0;){var lineBreak=lineBreaks[j];lineBreak.parentNode.replaceChild(document.createTextNode(ieNewline),lineBreak);}}}
doWork();}
window['PR_normalizedHtml']=normalizedHtml;window['prettyPrintOne']=prettyPrintOne;window['prettyPrint']=prettyPrint;window['PR']={'combinePrefixPatterns':combinePrefixPatterns,'createSimpleLexer':createSimpleLexer,'registerLangHandler':registerLangHandler,'sourceDecorator':sourceDecorator,'PR_ATTRIB_NAME':PR_ATTRIB_NAME,'PR_ATTRIB_VALUE':PR_ATTRIB_VALUE,'PR_COMMENT':PR_COMMENT,'PR_DECLARATION':PR_DECLARATION,'PR_KEYWORD':PR_KEYWORD,'PR_LITERAL':PR_LITERAL,'PR_NOCODE':PR_NOCODE,'PR_PLAIN':PR_PLAIN,'PR_PUNCTUATION':PR_PUNCTUATION,'PR_SOURCE':PR_SOURCE,'PR_STRING':PR_STRING,'PR_TAG':PR_TAG,'PR_TYPE':PR_TYPE};})();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 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){if(evt&&evt.preventDefault)evt.preventDefault();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.onmouseout=this.onCancel;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.onCancel=function(evt){if(eXo.core.DragDrop.cancelCallback)eXo.core.DragDrop.cancelCallback(eXo.core.DragDrop.dndEvent);};DragDrop.prototype.destroy=function(){if(this.destroyCallback!=null){this.destroyCallback(this.dndEvent);}
document.onmousemove=null;document.onmouseup=null;document.onmouseout=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(eXo.core.DOMUtil.hasAncestor(ele,foundTarget)){foundTarget=ele;}}}}
return foundTarget;};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;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;function DragDrop2(){var obj=null;DragDrop2.prototype.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();};DragDrop2.prototype.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=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;document.onmouseout=eXo.core.DragDrop2.cancel;return false;};DragDrop2.prototype.drag=function(e){e=eXo.core.DragDrop2.fixE(e);var o=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);obj.root.style["left"]=nx+"px";obj.root.style["top"]=ny+"px";obj.lastMouseX=ex;obj.lastMouseY=ey;obj.root.onDrag(nx,ny,ex,ey,e);return false;};DragDrop2.prototype.end=function(e){e=eXo.core.DragDrop2.fixE(e);document.onmousemove=null;document.onmouseup=null;document.onmouseout=null;obj.root.onDragEnd(parseInt(obj.root.style["left"]),parseInt(obj.root.style["top"]),e.clientX,e.clientY);obj=null;};DragDrop2.prototype.cancel=function(e){if(obj.root.onCancel)obj.root.onCancel(e);};DragDrop2.prototype.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;};};eXo.core.DragDrop2=new DragDrop2();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();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 Loader(){this.wait=1;this.defaultAsyncWait=250;};Loader.prototype.init=function(scriptName,callback,context,params){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(this.registered[_scriptNames[s]]||durl(_scriptNames[s])){scriptNames.push(_scriptNames[s]);}}
scriptName=scriptNames[0];a=1;}else{while(typeof(arguments[++a])=="string"){if(this.registered[scriptName]||durl(scriptName)){scriptNames.push(arguments[a]);}}}
callback=arguments[a];context=arguments[++a];params=arguments[++a];if(scriptNames.length>1){var cb=callback;callback=function(){eXo.core.Loader.init(scriptNames,cb,context,params);}}
var reg=this.registered[scriptName];if(!this.__durls)this.__durls={};if(durl(scriptName)&&scriptName.substring(0,4)=="url("){scriptName=scriptName.substring(4,scriptName.length-1);if(!this.__durls[scriptName]){scriptNames[0]=scriptName;this.register(scriptName,true,scriptName);reg=this.registered[scriptName];var callbackQueue=this.getCallbackQueue(scriptName);var cbitem=new this.CallbackItem(function(){eXo.core.Loader.__durls[scriptName]=true;});callbackQueue.push(cbitem);callbackQueue.push(new this.CallbackItem(callback,context,params));callback=undefined;context=undefined;}}
if(reg){for(var r=reg.requirements.length-1;r>=0;r--){if(this.registered[reg.requirements[r].name]){eXo.core.Loader.init(reg.requirements[r].name,function(){eXo.core.Loader.init(scriptName,callback,context,params);},context);return;}}
for(var u=0;u<reg.urls.length;u++){if(u==reg.urls.length-1){if(callback){this.load(reg.name,reg.urls[u],reg.remote,reg.asyncWait,new this.CallbackItem(callback,context,params));}else{this.load(reg.name,reg.urls[u],reg.remote,reg.asyncWait);}}else{this.load(reg.name,reg.urls[u],reg.remote,reg.asyncWait);}}}else{var cb=callback;if(cb){if(params&&typeof(params)!="string"&&params.length)cb.apply(context,params);else cb.call(context,params);}}};Loader.prototype.CallbackItem=function(_callback,_context,_params){this.callback=_callback;this.context=_context;this.params=_params;this.invoke=function(){var ctx=this.context?this.context:{};if(this.params&&typeof(this.params)!="string"&&this.params.length)this.callback.apply(ctx,this.params);else this.callback.call(ctx,this.params);};};Loader.prototype.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(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";eXo.core.Loader.requirements.push({name:resourceName,minVersion:minimumVersion});return this;}
this.register=function(name,version,remote,asyncWait,urls){return eXo.core.Loader.register(name,version,remote,asyncWait,urls);}
return this;};Loader.prototype.register=function(name,version,remote,asyncWait,urls){var reg;if(typeof(name)=="object"){reg=name;reg=new this.Registration(reg.name,reg.version,reg.remote,reg.asyncWait,urls);}else{reg=new this.Registration(name,version,remote,asyncWait,urls);}
if(!this.registered)this.registered={};if(this.registered[name]&&window.console){window.console.log("Warning: Resource named \""+name+"\" was already registered with this.register(); overwritten.");}
this.registered[name]=reg;return reg;};Loader.prototype.getCallbackQueue=function(scriptUrl){if(!this.__callbackQueue){this.__callbackQueue={};}
var callbackQueue=this.__callbackQueue[scriptUrl];if(!callbackQueue){callbackQueue=this.__callbackQueue[scriptUrl]=new Array();}
return callbackQueue;};Loader.prototype.load=function(scriptName,scriptUrl,remote,asyncWait,cb){if(asyncWait==undefined)asyncWait=this.wait;if(remote&&asyncWait==0)asyncWait=this.defaultAsyncWait;if(!this.loadedScripts)this.loadedScripts=new Array();var callbackQueue=this.getCallbackQueue(scriptUrl);callbackQueue.push(new this.CallbackItem(function(){eXo.core.Loader.loadedScripts.push(eXo.core.Loader.registered[scriptName]);eXo.core.Loader.registered[scriptName]=false;},null));if(cb){callbackQueue.push(cb);if(callbackQueue.length>2)return;}
if(remote){this.srcScript(scriptUrl,asyncWait,callbackQueue);}else{var request=eXo.core.Browser.createHttpRequest();request.open('GET',scriptUrl,false);request.send(null);this.injectScript(request.responseText,scriptName);if(callbackQueue){for(var q=0;q<callbackQueue.length;q++){callbackQueue[q].invoke();}}
this.__callbackQueue[scriptUrl]=undefined;}};Loader.prototype.genScriptNode=function(){var scriptNode=document.createElement("script");scriptNode.setAttribute("type","text/javascript");scriptNode.setAttribute("language","JavaScript");return scriptNode;};Loader.prototype.srcScript=function(scriptUrl,asyncWait,callbackQueue){var scriptNode=this.genScriptNode();scriptNode.setAttribute("src",scriptUrl);if(callbackQueue){var execQueue=function(){eXo.core.Loader.__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);};Loader.prototype.injectScript=function(scriptText,scriptName){var scriptNode=this.genScriptNode();try{scriptNode.setAttribute("name",scriptName);}catch(err){}
scriptNode.text=scriptText;var headNode=document.getElementsByTagName("head")[0];headNode.appendChild(scriptNode);};function durl(sc){var su=sc;if(sc&&sc.substring(0,4)=="url("){su=sc.substring(4,sc.length-1);}
var r=eXo.core.Loader.registered[su];return(!r&&(!this.__durls||!this.__durls[su])&&sc&&sc.length>4&&sc.substring(0,4)=="url(");};eXo.core.Loader=new Loader();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 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();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 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 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();function UIMaskLayer(){};UIMaskLayer.prototype.createTransparentMask=function(){var Browser=eXo.core.Browser;var ajaxLoading=document.getElementById("AjaxLoadingMask");var maskLayer=eXo.core.UIMaskLayer.createMask("UIPortalApplication",ajaxLoading,0);Browser.addOnScrollCallback("5439383",eXo.core.UIMaskLayer.setPosition);ajaxLoading.style.display="none";Browser.setOpacity(maskLayer,0);maskLayer.style.backgroundColor="white";maskLayer.style.cursor="wait";return maskLayer;};UIMaskLayer.prototype.showAjaxLoading=function(mask){var ajaxLoading=document.getElementById("AjaxLoadingMask");ajaxLoading.style.display="block";eXo.core.Browser.setOpacity(mask,30);mask.style.backgroundColor="black";}
UIMaskLayer.prototype.removeTransparentMask=function(){var mask=document.getElementById("TransparentMaskLayer");if(mask){mask.style.height="0px";mask.style.width="0px";}};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=4;maskLayer.style.width=Browser.getBrowserWidth()+"px";maskLayer.style.height=Browser.getBrowserHeight()+"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;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);}
Browser.addOnResizeCallback(maskLayer.id,eXo.core.UIMaskLayer.resizeMaskLayer);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+eXo.core.Browser.findPosY(blockContainer)+"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(){var maskLayer=document.getElementById("MaskLayer");if(maskLayer){maskLayer.style.width=eXo.core.Browser.getBrowserWidth()+"px";maskLayer.style.height=eXo.core.Browser.getBrowserHeight()+"px";}};eXo.core.UIMaskLayer=new UIMaskLayer();eXo.gadget.UIGadget={createGadget:function(url,id,metadata,userPref,view,hostName,isdev,debug,nocache){window.gadgets=window.gadgets||{};eXo.gadgets=window.gadgets;if(!eXo.gadgets||!eXo.gadgets.rpc){eXo.core.Loader.register('rpc','1.0.0',true,0,hostName+'/js/rpc.js?c=1');eXo.core.Loader.register('eXo.gadgets.Gadgets','/eXoResources/javascript/eXo/gadget/Gadgets.js');eXo.core.Loader.register('eXo.gadgets.ExoBasedUserPrefStore','/eXoResources/javascript/eXo/gadget/ExoBasedUserPrefStore.js');}
eXo.core.Loader.init("rpc","eXo.gadgets.Gadgets","eXo.gadgets.ExoBasedUserPrefStore",eXo.gadget.UIGadget.createCallback,null,arguments);},createCallback:function(url,id,metadata,userPref,view,hostName,isdev,debug,nocache){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;gadget.serverBase_=hostName;gadgets.container.addGadget(gadget);if(userPref!=null)gadget.userPrefs_=userPref;var gadgetBlock=document.getElementById(id);gadgetBlock.innerHTML="<div id='gadget_"+gadget.id+"' class='UIGadgetContent'> </div>";gadgets.container.renderGadgets();var uiGadget=eXo.core.DOMUtil.findAncestorByClass(gadgetBlock,"UIGadget");if(uiGadget!=null){var isDesktop=false;if(uiGadget.parentNode.className=="UIPageDesktop"){uiGadget.style.position="absolute";isDesktop=true;}
else uiGadget.style.width="auto";eXo.gadget.UIGadget.init(uiGadget,isDesktop,gadget.metadata);}},init:function(uiGadget,inDesktop,metadata){var portletFragment=eXo.core.DOMUtil.findAncestorByClass(uiGadget,"PORTLET-FRAGMENT");if(portletFragment==null){uiGadget.onmouseover=eXo.gadget.UIGadget.showGadgetControl;uiGadget.onmouseout=eXo.gadget.UIGadget.hideGadgetControl;}else{var gadgetControl=eXo.core.DOMUtil.findFirstDescendantByClass(uiGadget,"div","GadgetControl");gadgetControl.style.display="block";var gadgetTitle=eXo.core.DOMUtil.findFirstDescendantByClass(gadgetControl,"div","GadgetTitle");gadgetTitle.style.display="block";if(metadata&&metadata.title!=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");selectedElement.title=selectedElement.getAttribute("unminiTitle");}else{minimized=false;gadgetApp.style.display="block";DOMUtil.replaceClass(selectedElement,"RestoreGadget","MinimizeGadget");selectedElement.title=selectedElement.getAttribute("miniTitle");}
var compId=portletFrag.parentNode.id;var uicomp=DOMUtil.findAncestorByClass(uiGadget,"UIDashboard");var href=eXo.env.server.portalBaseURL+"?portal:componentId="+compId;href+="&portal:type=action&uicomponent="+uicomp.id;href+="&op=MinimizeGadget";href+="&minimized="+minimized;href+="&objectId="+uiGadget.id+"&ajaxRequest=true";ajaxAsyncGetRequest(href);if(uiGadget.minimizeCallback)uiGadget.minimizeCallback(portletFrag.parentNode.id);},maximizeGadget:function(selectedElement){var DOMUtil=eXo.core.DOMUtil;var uiGadget=DOMUtil.findAncestorByClass(selectedElement,"UIGadget");var portletFrag=DOMUtil.findAncestorByClass(uiGadget,"PORTLET-FRAGMENT");if(!portletFrag)return;var compId=portletFrag.parentNode.id;var uicomp=DOMUtil.findAncestorByClass(uiGadget,"UIDashboard");var compDisplay=DOMUtil.findAncestorByClass(uiGadget,"UIDashboardContainer");var maximize=compDisplay?"maximize":"unmaximize";var href=eXo.env.server.portalBaseURL+"?portal:componentId="+compId;href+="&portal:type=action&uicomponent="+uicomp.id;href+="&op=MaximizeGadget";href+="&maximize="+maximize;href+="&objectId="+uiGadget.id+"&ajaxRequest=true";ajaxGet(href,true);},deleteGadget:function(selectedElement){var DOMUtil=eXo.core.DOMUtil;var uiPage=DOMUtil.findAncestorByClass(selectedElement,"UIPage");var uiGadget=DOMUtil.findAncestorByClass(selectedElement,"UIGadget");var containerBlockId;var portletFragment=DOMUtil.findAncestorByClass(uiGadget,"PORTLET-FRAGMENT");if(portletFragment!=null){var compId=portletFragment.parentNode.id;var uicomp=DOMUtil.findAncestorByClass(uiGadget,"UIDashboard").id;if(confirm(this.confirmDeleteGadget)){var href=eXo.env.server.portalBaseURL+"?portal:componentId="+compId;href+="&portal:type=action&uicomponent="+uicomp;href+="&op=DeleteGadget";href+="&objectId="+uiGadget.id+"&ajaxRequest=true";var uiDashboardCont=DOMUtil.findAncestorByClass(uiGadget,"UIDashboardContainer");if(uiDashboardCont){ajaxAsyncGetRequest(href);DOMUtil.removeElement(uiGadget);if(!DOMUtil.findFirstDescendantByClass(uiDashboardCont,"div","UIGadget")){DOMUtil.findFirstDescendantByClass(uiDashboardCont,"div","NoGadget").style.display="block";}}else{ajaxGet(href);}}}else{var uiPageIdNode=DOMUtil.findFirstDescendantByClass(uiPage,"div","id");containerBlockId=uiPageIdNode.innerHTML;if(confirm(this.confirmDeleteGadget)){var params=[{name:"objectId",value:uiGadget.id}];var result=ajaxAsyncGetRequest(eXo.env.server.createPortalURL(containerBlockId,"DeleteGadget",true,params),false);if(result=="OK"){DOMUtil.removeElement(uiGadget);}}}},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 params=[{name:"objectId",value:object.id},{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);}}
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;var Mouse=eXo.core.Mouse;var previewBlock=null;var previewTD=null;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);var isComponent=!!DOMUtil.findFirstDescendantByClass(dragObject,"div","UIComponentBlock");var uiWorkingWS=document.getElementById("UIWorkingWorkspace");PortalDragDrop.positionRootObj=isComponent?uiWorkingWS:DOMUtil.findFirstDescendantByClass(uiWorkingWS,"div","UIPortalComposer");var originalDragObjectTop=Browser.findPosYInContainer(dragObject,PortalDragDrop.positionRootObj);var originalDragObjectLeft=Browser.findPosXInContainer(dragObject,PortalDragDrop.positionRootObj);PortalDragDrop.deltaYDragObjectAndMouse=Browser.findMouseRelativeY(dragObject,e);PortalDragDrop.deltaXDragObjectAndMouse=Browser.findMouseRelativeX(dragObject,e);if(!isComponent){var contentContainer=DOMUtil.findAncestorByClass(dragObject,"PopupContent");originalDragObjectTop-=contentContainer.scrollTop;PortalDragDrop.deltaYDragObjectAndMouse+=contentContainer.scrollTop;}
PortalDragDrop.parentDragObject=dragObject.parentNode;PortalDragDrop.backupDragObjectWidth=dragObject.offsetWidth;if(!isComponent){var cloneObject=dragObject.cloneNode(true);dragObject.parentNode.insertBefore(cloneObject,dragObject);cloneObject.style.opacity=0.5;cloneObject.style.filter="alpha(opacity=50)";cloneObject.style.width=PortalDragDrop.backupDragObjectWidth+"px";dndEvent.dragObject=cloneObject;}else{previewBlock=PortalDragDrop.createPreview();dragObject.parentNode.insertBefore(previewBlock,dragObject);dragObject.style.width="300px";var componentBlock=eXo.core.DOMUtil.findFirstDescendantByClass(dragObject,"div","UIComponentBlock");var editBlock=eXo.core.DOMUtil.findFirstChildByClass(componentBlock,"div","EDITION-BLOCK");if(editBlock){var newLayer=eXo.core.DOMUtil.findFirstDescendantByClass(editBlock,"div","NewLayer");if(newLayer)newLayer.style.width="300px";}}
dragObject.isComponent=isComponent;dragObject=dndEvent.dragObject;dragObject.style.position="absolute";if(eXo.core.I18n.isLT())dragObject.style.left=originalDragObjectLeft+"px";else dragObject.style.right=(PortalDragDrop.positionRootObj.offsetWidth-originalDragObjectLeft-dragObject.offsetWidth)+"px";dragObject.style.top=originalDragObjectTop+"px";eXo.portal.isInDragging=true;}
DragDrop.dragCallback=function(dndEvent){var dragObject=dndEvent.dragObject;eXo.portal.PortalDragDrop.scrollOnDrag(dndEvent);if(!dndEvent.foundTargetObject)return;var uiComponentLayout;if(dndEvent.foundTargetObject.className=="UIPage"){uiComponentLayout=DOMUtil.findFirstDescendantByClass(dndEvent.foundTargetObject,"div","VIEW-PAGE");}else if(dndEvent.foundTargetObject.className=="UIPortal"){if(eXo.portal.portalMode%2)uiComponentLayout=DOMUtil.findFirstDescendantByClass(dndEvent.foundTargetObject,"div","LAYOUT-PORTAL");else uiComponentLayout=DOMUtil.findFirstDescendantByClass(dndEvent.foundTargetObject,"div","VIEW-PORTAL");}else{var foundUIComponent=new eXo.portal.UIPortalComponent(dndEvent.foundTargetObject);if(eXo.portal.portalMode%2)uiComponentLayout=foundUIComponent.getLayoutBlock();else uiComponentLayout=foundUIComponent.getViewBlock();uiComponentLayout.style.height="auto";}
dndEvent.foundTargetObject.uiComponentLayoutType=uiComponentLayout;var componentIdElement=DOMUtil.getChildrenByTagName(uiComponentLayout,"div")[0];var layoutTypeElement=DOMUtil.getChildrenByTagName(componentIdElement,"div")[0];eXo.portal.PortalDragDrop.layoutTypeElementNode=layoutTypeElement;if(previewBlock==null)previewBlock=eXo.portal.PortalDragDrop.createPreview();if(previewTD||document.getElementById("PreviewTDBlock")){if(!previewTD)previewTD=document.getElementById("PreviewTDBlock");if(previewTD.parentNode)previewTD.parentNode.removeChild(previewTD);previewTD=null;}
if(layoutTypeElement!=null&&!DOMUtil.hasClass(layoutTypeElement,"UITableColumnContainer")){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;var insertPosition=eXo.portal.PortalDragDrop.findInsertPosition(listComponent,dragObject,"row");dndEvent.foundTargetObject.foundIndex=insertPosition;if(insertPosition>=0){rowContainer.insertBefore(previewBlock,listComponent[insertPosition]);}else{rowContainer.appendChild(previewBlock);}}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.hasAncestor(previewBlock,uiComponentLayout)){var td=tdElementList[i];if((td!=previewBlock.parentNode)&&(td!=dragObject.parentNode)){listComponent.push(td);}else if(td==dragObject.parentNode){td.style.width="0px";}}else{listComponent.push(tdElementList[i]);}}
dndEvent.foundTargetObject.listComponentInTarget=listComponent;var insertPosition=eXo.portal.PortalDragDrop.findInsertPosition(listComponent,dragObject,"column");dndEvent.foundTargetObject.foundIndex=insertPosition;var tdBlock=document.createElement("td");tdBlock.id=tdBlock.className="PreviewTDBlock";tdBlock.appendChild(previewBlock);previewTD=tdBlock;if(insertPosition>=0){trContainer.insertBefore(previewTD,listComponent[insertPosition]);}else{trContainer.appendChild(previewTD);}}};DragDrop.dropCallback=function(dndEvent){this.origDragObjectStyle.setProperties(dndEvent.dragObject.style,false);if(dndEvent.foundTargetObject!=null||(dndEvent.backupMouseEvent&&dndEvent.backupMouseEvent.keyCode!=27)){eXo.portal.PortalDragDrop.doDropCallback(dndEvent);}else{if(dndEvent.dragObject.parentNode.nodeName.toLowerCase()=="td"){dndEvent.dragObject.parentNode.style.width="auto";}
if(!dndEvent.dragObject.isComponent){dndEvent.dragObject.parentNode.removeChild(dndEvent.dragObject);}}
if(dndEvent.dragObject.isComponent){var componentBlock=eXo.core.DOMUtil.findFirstDescendantByClass(dndEvent.dragObject,"div","UIComponentBlock");var editBlock=eXo.core.DOMUtil.findFirstChildByClass(componentBlock,"div","EDITION-BLOCK");if(editBlock)editBlock.style.display="none";}
if(previewBlock)previewBlock.parentNode.removeChild(previewBlock);if(previewTD)previewTD.parentNode.removeChild(previewTD);previewBlock=previewTD=null;eXo.portal.isInDragging=false;eXo.portal.UIPortal.changeComposerSaveButton();dndEvent.dragObject.style.width="auto";};DragDrop.cancelCallback=function(dndEvent){if(Browser.browserType=="ie"&&Browser.findMouseYInClient(dndEvent.backupMouseEvent)<0){DragDrop.onDrop(dndEvent.backupMouseEvent);}};var clickObject=this;var componentBlock=DOMUtil.findAncestorByClass(clickObject,"UIComponentBlock");if(componentBlock!=null){var dragBlock=eXo.portal.UIPortal.findUIComponentOf(componentBlock);DragDrop.init(eXo.portal.PortalDragDrop.findDropableTargets(dragBlock),clickObject,dragBlock,e);}else{var dragBlock=DOMUtil.findAncestorByClass(clickObject,"DragObjectPortlet");if(dragBlock){DragDrop.init(eXo.portal.PortalDragDrop.findDropableTargets(dragBlock),clickObject,dragBlock,e);}else{DragDrop.init(eXo.portal.PortalDragDrop.findDropableTargets(dragBlock),clickObject,clickObject,e);}}};PortalDragDrop.prototype.doDropCallback=function(dndEvent){var srcElement=dndEvent.dragObject;var targetElement=dndEvent.foundTargetObject;if(!targetElement){if(!dndEvent.dragObject.isComponent){dndEvent.dragObject.parentNode.removeChild(dndEvent.dragObject);}
dndEvent.dragObject.style.width="auto";return;}
var newComponent=false;if(srcElement.isComponent&&(targetElement.foundIndex!=null)){if(eXo.portal.PortalDragDrop.layoutTypeElementNode!=null){eXo.portal.PortalDragDrop.divRowContainerAddChild(srcElement,targetElement,targetElement.foundIndex);}else{eXo.portal.PortalDragDrop.parentDragObject.style.width="auto";eXo.portal.PortalDragDrop.tableColumnContainerAddChild(srcElement,targetElement,targetElement.foundIndex);}}
if(!dndEvent.dragObject.isComponent){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(dragBlock){var DOMUtil=eXo.core.DOMUtil;var dropableTargets=new Array();var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var uiPortal=DOMUtil.findFirstDescendantByClass(uiWorkingWorkspace,"div","UIPortal");var pagebody=document.getElementById("UIPageBody");var uiContainers=DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div","UIContainer");if(eXo.portal.portalMode&&pagebody){dropableTargets.push(uiPortal);}else{var uiPage=DOMUtil.findFirstDescendantByClass(uiWorkingWorkspace,"div","UIPage");if(uiPage)dropableTargets.push(uiPage);}
for(var i=0;i<uiContainers.length;i++){if(DOMUtil.hasAncestor(uiContainers[i],dragBlock))continue;if(DOMUtil.hasClass(uiContainers[i],"ProtectedContainer"))continue;dropableTargets.push(uiContainers[i]);}
return dropableTargets;};PortalDragDrop.prototype.scrollOnDrag=function(dndEvent){var workspaceHeight=document.getElementById("UIWorkingWorkspace").offsetHeight;var browserHeight=eXo.core.Browser.getBrowserHeight();if(workspaceHeight<=browserHeight)return;var mouseY=eXo.core.Browser.findMouseYInClient(dndEvent.backupMouseEvent);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){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{var dragObjectX=eXo.core.Browser.findPosX(dragObject);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.createPreview=function(layoutType){var previewBlock=document.createElement("div");previewBlock.className="DragAndDropPreview";previewBlock.id="DragAndDropPreview";return previewBlock;};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);}};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');tdInserted.appendChild(insertBlock);if(insertPosition>=0){trContainer.insertBefore(tdInserted,listComponent[insertPosition]);}else{trContainer.appendChild(tdInserted);}
insertBlock.style.width="auto";if(eXo.portal.PortalDragDrop.parentDragObject.nodeName.toLowerCase()=="td"){DOMUtil.removeElement(eXo.portal.PortalDragDrop.parentDragObject);}};eXo.portal.PortalDragDrop=new PortalDragDrop();function PortletResponse(responseDiv){var DOMUtil=eXo.core.DOMUtil;var div=eXo.core.DOMUtil.getChildrenByTagName(responseDiv,"div");this.portletId=div[0].innerHTML;this.portletData=div[1].innerHTML;this.blocksToUpdate=null;var blocks=DOMUtil.findChildrenByClass(div[1],"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[1],"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.isAsynchronize=function(){var isASync=false;var name="ajax_async";name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(instance.url);if(results!=null){isASync=(results[1]=="true")?true:false;}
return isASync;};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){if(request.isAsynchronize())return;Browser=eXo.core.Browser;if(eXo.portal.AjaxRequest.maskLayer==null){eXo.portal.AjaxRequest.maskLayer=eXo.core.UIMaskLayer.createTransparentMask();}
instance.to=setTimeout(function(){if(eXo.portal.AjaxRequest.maskLayer!=null){eXo.core.UIMaskLayer.showAjaxLoading(eXo.portal.AjaxRequest.maskLayer);}},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();eXo.session.itvDestroy();if(eXo.session.canKeepState&&eXo.session.isOpen&&eXo.env.portal.accessMode=='private'){eXo.session.itvInit();}};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);eXo.session.itvDestroy();if(eXo.session.canKeepState&&eXo.session.isOpen&&eXo.env.portal.accessMode=='private'){eXo.session.itvInit();}
if(!async)return request.responseText;}
function ajaxRedirect(url){url=url.replace(/&amp;/g,"&");window.location.href=url;}
eXo.portal.AjaxRequest=AjaxRequest.prototype.constructor;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 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 UIComponent(node){if(!node)return null;this.node=node;this.type=node.className;var DOMUtil=eXo.core.DOMUtil;var componentBlock=DOMUtil.findFirstDescendantByClass(node,"div","UIComponentBlock");var children=DOMUtil.getChildrenByTagName(componentBlock,"div");for(var i=0;i<children.length;i++){if(DOMUtil.hasClass(children[i],"LAYOUT-BLOCK"))this.layout=children[i];else if(DOMUtil.hasClass(children[i],"VIEW-BLOCK"))this.view=children[i];else if(DOMUtil.hasClass(children[i],"EDITION-BLOCK"))this.control=children[i];}
this.component="";if(DOMUtil.hasClass(node,"UIPortal"))this.id=node.id.replace("UIPortal-","");else if(DOMUtil.hasClass(node,"UIPortlet"))this.id=node.id.replace("UIPortlet-","");else if(DOMUtil.hasClass(node,"UIContainer"))this.id=node.id.replace("UIContainer-","");else this.id=node.id;};UIComponent.prototype.getId=function(){return this.id;};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.blockOnMouseOver=function(event,portlet,isOver){var DOMUtil=eXo.core.DOMUtil;if(!eXo.portal.portalMode||eXo.portal.isInDragging)return;if(eXo.portal.portalMode<=2&&DOMUtil.hasClass(portlet,"UIContainer"))return;if(eXo.portal.portalMode>2&&eXo.portal.portalMode!=4&&DOMUtil.hasClass(portlet,"UIPortlet"))return;if(!event)event=window.event;event.cancelBubble=true;var component=DOMUtil.findFirstDescendantByClass(portlet,"div","UIComponentBlock");var children=DOMUtil.getChildrenByTagName(component,"div");var layoutBlock;var viewBlock;var editBlock;for(var i=0;i<children.length;i++){if(DOMUtil.hasClass(children[i],"LAYOUT-BLOCK"))layoutBlock=children[i];else if(DOMUtil.hasClass(children[i],"VIEW-BLOCK"))viewBlock=children[i];else if(DOMUtil.hasClass(children[i],"EDITION-BLOCK"))editBlock=children[i];}
if(!editBlock)return;if(isOver){var newLayer=DOMUtil.findFirstDescendantByClass(editBlock,"div","NewLayer");var height=0;var width=0;if(layoutBlock&&layoutBlock.style.display!="none"){height=layoutBlock.offsetHeight;width=layoutBlock.offsetWidth;}else if(viewBlock&&viewBlock.style.display!="none"){height=viewBlock.offsetHeight;width=viewBlock.offsetWidth;}
if(DOMUtil.hasClass(portlet,"UIPortlet")){newLayer.style.width=width+"px";newLayer.style.height=height+"px";}else{newLayer.parentNode.style.width=width+"px";var normalBlock=DOMUtil.findFirstChildByClass(portlet,"div","NormalContainerBlock");if(normalBlock)DOMUtil.replaceClass(normalBlock,"NormalContainerBlock","OverContainerBlock");}
newLayer.parentNode.style.top=-height+"px";editBlock.style.display="block";}else{editBlock.style.display="none";if(!DOMUtil.hasClass(portlet,"UIPortlet")){var normalBlock=DOMUtil.findFirstChildByClass(portlet,"div","OverContainerBlock");if(normalBlock)DOMUtil.replaceClass(normalBlock,"OverContainerBlock","NormalContainerBlock");}}
var controlPortlet=DOMUtil.findFirstDescendantByClass(editBlock,"div","CONTROL-PORTLET");if(controlPortlet){controlPortlet.style.display=eXo.portal.portalMode==4?"none":"block";}};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&&viewBlock){var contentNode=eXo.core.DOMUtil.findDescendantById(viewBlock,uicomponent.getId());if(contentNode!=null){layoutBlock.innerHTML="";layoutBlock.appendChild(contentNode);}}
try{layoutBlock.style.display="block";viewBlock.style.display="none";}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&&layoutBlock){var contentNode=eXo.core.DOMUtil.findDescendantById(layoutBlock,uicomponent.getId());if(contentNode!=null){viewBlock.innerHTML="";viewBlock.appendChild(contentNode);}}
try{viewBlock.style.display="block";layoutBlock.style.display="none";}catch(err){}};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");};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.findFirstDescendantByClass(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 uiWorkingWS=document.getElementById("UIWorkingWorkspace");var isRTL=eXo.core.I18n.isRT();var portal=this.getUIPortal();this.switchLayoutModeToViewMode(portal,true);this.showUIComponentControl(portal,false);var uiPageDesktop=document.getElementById("UIPageDesktop");var pageBody=this.getUIPageBody();if(!uiPageDesktop){this.switchLayoutModeToViewMode(pageBody,true);this.showUIComponentControl(pageBody,false);}
var container=this.getUIContainers();for(var i=0;i<container.length;i++){this.switchLayoutModeToViewMode(container[i],false);this.showUIComponentControl(container[i],eXo.portal.portalMode>2);}
var portlet=this.getUIPortlets();for(var i=0;i<portlet.length;i++){this.switchLayoutModeToViewMode(portlet[i],false);this.showUIComponentControl(portlet[i],true);var component=portlet[i].getUIComponentBlock();var mask=eXo.core.DOMUtil.findFirstDescendantByClass(component,"div","UIPortletMask");if(eXo.portal.portalMode&&mask&&!eXo.core.DOMUtil.hasAncestor(portlet[i].getElement(),pageBody.getElement())){mask.style.display="block";mask.style.height=component.offsetHeight+"px";mask.style.width=component.offsetWidth+"px";mask.style.top=-component.offsetHeight+"px";}else if(mask){mask.style.display="none";}}
if(!uiPageDesktop){if(container.length==0&&portlet.length==0){var pageIdElemt=document.getElementById("UIPage");var viewPage=eXo.core.DOMUtil.findAncestorByClass(pageIdElemt,"VIEW-PAGE");viewPage.style.paddingTop="50px";viewPage.style.paddingRight="0px";viewPage.style.paddingBottom="50px";viewPage.style.paddingLeft="0px";}
var pageBodyBlock=pageBody.getUIComponentBlock();var mask=eXo.core.DOMUtil.findFirstDescendantByClass(pageBodyBlock,"div","UIPageBodyMask");if(mask){mask.style.top=-pageBodyBlock.offsetHeight+"px";mask.style.height=pageBodyBlock.offsetHeight+"px";mask.style.width=pageBodyBlock.offsetWidth+"px";}}};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 pageBodyBlock=pageBody.getUIComponentBlock();var mask=eXo.core.DOMUtil.findFirstDescendantByClass(pageBodyBlock,"div","UIPageBodyMask");if(mask)mask.style.display="none";var container=this.getUIContainers();for(var i=0;i<container.length;i++){this.switchViewModeToLayoutMode(container[i],false);this.showUIComponentControl(container[i],true);}
var portlet=this.getUIPortlets();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 DOMUtil=eXo.core.DOMUtil;var parent=element.parentNode;while(parent!=null){if(DOMUtil.hasClass(parent,'UIPortlet')||DOMUtil.hasClass(parent,'UIContainer')||DOMUtil.hasClass(parent,'UIPageBody')||DOMUtil.hasClass(parent,'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;};UIPortal.prototype.removeComponent=function(componentId){var comp=document.getElementById(componentId);var viewPage=eXo.core.DOMUtil.findAncestorByClass(comp,"VIEW-PAGE");eXo.core.DOMUtil.removeElement(comp);if(viewPage&&eXo.portal.UIPortal.getUIContainers().length==0&&eXo.portal.UIPortal.getUIPortlets().length==0){viewPage.style.paddingTop="50px";viewPage.style.paddingRight="0px";viewPage.style.paddingBottom="50px";viewPage.style.paddingLeft="0px";}};UIPortal.prototype.changeComposerSaveButton=function(){if(eXo.portal.hasEditted==false){var uiWorkingWS=document.getElementById("UIWorkingWorkspace");var portalComposer=eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkingWS,"div","UIPortalComposer");var saveButton=eXo.core.DOMUtil.findFirstDescendantByClass(portalComposer,"a","SaveButton");if(saveButton)eXo.core.DOMUtil.replaceClass(saveButton,"SaveButton","EdittedSaveButton");ajaxAsyncGetRequest(eXo.env.server.createPortalURL(portalComposer.id,"ChangeEdittedState",true));}};UIPortal.prototype.toggleComposer=function(clickedEle){var portalComposer=eXo.core.DOMUtil.findAncestorByClass(clickedEle,"UIPortalComposer");var middleBlock=eXo.core.DOMUtil.findFirstChildByClass(portalComposer,"div","MLPortalComposer");var bottomBlock=eXo.core.DOMUtil.findFirstChildByClass(portalComposer,"div","BLPortalComposer");var fakeBottom=eXo.core.DOMUtil.findFirstChildByClass(portalComposer,"div","Bottom");if(middleBlock&&middleBlock.style.display!="none"){middleBlock.style.display="none";bottomBlock.style.display="none";fakeBottom.style.display="block";eXo.core.DOMUtil.replaceClass(clickedEle,"ExpandIcon","CollapseIcon");}else{middleBlock.style.display="block";bottomBlock.style.display="block";fakeBottom.style.display="none";eXo.core.DOMUtil.replaceClass(clickedEle,"CollapseIcon","ExpandIcon");}
var requestStr=eXo.env.server.createPortalURL(portalComposer.id,"Toggle",true);ajaxAsyncGetRequest(requestStr);};UIPortal.prototype.collapseExpand=function(element){var subGroup=eXo.core.DOMUtil.findFirstChildByClass(element.parentNode,"div","ChildrenContainer");var className=element.className;if(!subGroup)return false;if(subGroup.style.display=="none"){if(className.indexOf("ExpandIcon")==0)element.className="CollapseIcon FloatLeft";subGroup.style.display="block";}else{if(className.indexOf("CollapseIcon")==0)element.className="ExpandIcon FloatLeft";subGroup.style.display="none";}
return true;};UIPortal.prototype.expandAll=function(element){if(this.isExpandAll==true)return true;return false;};eXo.portal.UIPortalComponent=UIComponent.prototype.constructor;eXo.portal.UIPortal=new UIPortal();eXo.portal.UIComponent=UIPortal.prototype.constructor;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");if(eXo.core.Browser.browserType!="ie"){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);}else{var newHTML="<div onclick=\""+childrenContainer.getAttribute("actionLink")+"\" class=\"ExpandIcon\">"+selectedElement.innerHTML+"</div>";parentNode.innerHTML=newHTML;}};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 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 itemConts=DOMUtil.findDescendantsByClass(topContainer,"div",this.containerStyleClass);for(var i=0;i<itemConts.length;i++){var cont=itemConts[i];if(!cont.id)cont.id=DOMUtil.generateId("PortalNavigationContainer");cont.resized=false;var items=DOMUtil.findDescendantsByClass(cont,"div",this.tabStyleClass);if(items.length==0)cont.parentNode.removeChild(cont);for(var j=0;j<items.length;j++){items[j].onmouseover=eXo.portal.UIPortalNavigation.onMenuItemOver;items[j].onmouseout=eXo.portal.UIPortalNavigation.onMenuItemOut;}}};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){var DOMUtil=eXo.core.DOMUtil;if(eXo.core.Browser.browserType=="ie"){var navAncestor=DOMUtil.findAncestorByClass(tab,"UINavigationPortlet");var pageBody=document.getElementById("UIPageBody");if(pageBody){var uicomponents=DOMUtil.getChildrenByTagName(pageBody.parentNode,"div");for(var i=0;i<uicomponents.length;i++){var navPortlet=DOMUtil.findFirstDescendantByClass(uicomponents[i],"div","UINavigationPortlet");if(navPortlet&&(navAncestor!=navPortlet)){var tabsContainer=DOMUtil.findFirstDescendantByClass(navPortlet,"div","TabsContainer");tabsContainer.style.position="static";}}}}
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(300);}
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";var posXinBrowser=eXo.core.Browser.findPosX(menuItemContainer);if(eXo.core.I18n.isLT()){if(posXinBrowser+menuItemContainer.offsetWidth>=eXo.core.Browser.getBrowserWidth()){x+=(item.offsetWidth-menuItemContainer.offsetWidth);menuItemContainer.style.left=x+"px";}}else{if(posXinBrowser+item.offsetWidth<menuItemContainer.offsetWidth){x+=(item.offsetWidth-menuItemContainer.offsetWidth);menuItemContainer.style.right=x+"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();var DOMUtil=eXo.core.DOMUtil;if(eXo.core.Browser.browserType=="ie"){var pageBody=document.getElementById("UIPageBody");if(!pageBody)return;var uicomponents=DOMUtil.getChildrenByTagName(pageBody.parentNode,"div");for(var i=0;i<uicomponents.length;i++){var navPortlet=DOMUtil.findFirstDescendantByClass(uicomponents[i],"div","UINavigationPortlet");if(navPortlet){var tabsContainer=DOMUtil.findFirstDescendantByClass(navPortlet,"div","TabsContainer");tabsContainer.style.position="relative";}}}};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 UIPortalNavigation2(){this.currentOpenedMenu=null;this.scrollMgr=null;this.scrollManagerLoaded=false;};UIPortalNavigation2.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);};UIPortalNavigation2.prototype.onLoad=function(){var uiWorkingWorkspace=document.getElementById("UIWorkingWorkspace");var uiNavPortlets=eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace,"div","UIPortalNavigationPortlet");if(uiNavPortlets.length){var mainContainer=eXo.core.DOMUtil.findFirstDescendantByClass(uiNavPortlets[0],"div","TabsContainer");eXo.portal.UIPortalNavigation2.init(uiNavPortlets[0],mainContainer,0,0);for(var i=1;i<uiNavPortlets.length;++i){uiNavPortlets[i].style.display="none";}}};UIPortalNavigation2.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.UIPortalNavigation2.setTabStyleOnMouseOver;item.onmouseout=eXo.portal.UIPortalNavigation2.setTabStyleOnMouseOut;if(!item.getAttribute('hidesubmenu')){item.onmousemove=eXo.portal.UIPortalNavigation2.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.UIPortalNavigation2.onMenuItemOver;menuItem.onmouseout=eXo.portal.UIPortalNavigation2.onMenuItemOut;var cont=DOMUtil.findAncestorByClass(menuItem,this.containerStyleClass);if(!cont.id)cont.id="PortalNavigationContainer-"+i+Math.random();cont.resized=false;}};UIPortalNavigation2.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.UIPortalNavigation2.currentOpenedMenu){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}}}
UIPortalNavigation2.prototype.setTabStyleOnMouseOver=function(e){var tab=this;if(eXo.portal.UIPortalNavigation2.previousMenuItem!=tab){eXo.portal.UIPortalNavigation2.hideMenu();}
eXo.portal.UIPortalNavigation2.setTabStyleOnMouseOut(e,tab);eXo.portal.UIPortalNavigation2.previousMenuItem=tab;if(!eXo.portal.UIPortalNavigation2.menuVisible){var menuItemContainer=eXo.core.DOMUtil.findFirstDescendantByClass(tab,"div",eXo.portal.UIPortalNavigation2.containerStyleClass);var hideSubmenu=tab.getAttribute('hideSubmenu');if(menuItemContainer&&!hideSubmenu){eXo.portal.UIPortalNavigation2.toggleSubMenu(e,tab,menuItemContainer);}}
eXo.portal.UIPortalNavigation2.menuVisible=true;};UIPortalNavigation2.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.UIPortalNavigation2.currentOpenedMenu){eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}}
eXo.portal.UIPortalNavigation2.hideMenuTimeout(500);}
UIPortalNavigation2.prototype.tabOnMouseMove=function(){eXo.portal.UIPortalNavigation2.cancelHideMenuContainer();};UIPortalNavigation2.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.UIPortalNavigation2.currentOpenedMenu)eXo.portal.UIPortalNavigation2.hideMenu();eXo.portal.UIPortalNavigation2.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.UIPortalNavigation2.superClass.setPosition(menuItemContainer,x,y,eXo.core.I18n.isRT());eXo.portal.UIPortalNavigation2.superClass.show(menuItemContainer);eXo.portal.UIPortalNavigation2.currentOpenedMenu=menuItemContainer.id;var uiPortalApplication=document.getElementById("UIPortalApplication");uiPortalApplication.onclick=eXo.portal.UIPortalNavigation2.hideMenu;}else{eXo.portal.UIPortalNavigation2.hideMenuContainer();}}};UIPortalNavigation2.prototype.cancelHideMenuContainer=function(){if(this.hideMenuTimeoutId){window.clearTimeout(this.hideMenuTimeoutId);}};UIPortalNavigation2.prototype.closeMenuTimeout=function(){eXo.portal.UIPortalNavigation2.hideMenuTimeout(200);};UIPortalNavigation2.prototype.hideMenuTimeout=function(time){this.cancelHideMenuContainer();if(!time||time<=0){time=200;}
this.hideMenuTimeoutId=window.setTimeout('eXo.portal.UIPortalNavigation2.hideMenu() ;',time);};UIPortalNavigation2.prototype.hideMenuContainer=function(){var menuItemContainer=document.getElementById(eXo.portal.UIPortalNavigation2.currentOpenedMenu);if(menuItemContainer){eXo.portal.UIPortalNavigation2.superClass.pushHiddenContainer(menuItemContainer.id);eXo.portal.UIPortalNavigation2.superClass.popVisibleContainer();eXo.portal.UIPortalNavigation2.superClass.setCloseTimeout();eXo.portal.UIPortalNavigation2.superClass.hide(menuItemContainer);eXo.portal.UIPortalNavigation2.currentOpenedMenu=null;}
this.previousMenuItem=false;eXo.portal.UIPortalNavigation2.menuVisible=false;};UIPortalNavigation2.prototype.hideMenu=function(){if(eXo.portal.UIPortalNavigation2.currentOpenedMenu){var currentItemContainer=document.getElementById(eXo.portal.UIPortalNavigation2.currentOpenedMenu);var tab=eXo.core.DOMUtil.findAncestorByClass(currentItemContainer,"UITab");eXo.webui.UIHorizontalTabs.changeTabNavigationStyle(tab,false);}
eXo.portal.UIPortalNavigation2.hideMenuContainer();};UIPortalNavigation2.prototype.onMenuItemOver=function(e){var menuItem=this;var DOMUtil=eXo.core.DOMUtil;var subContainer=DOMUtil.findFirstDescendantByClass(menuItem,"div",eXo.portal.UIPortalNavigation2.containerStyleClass);if(subContainer){eXo.portal.UIPortalNavigation2.superClass.pushVisibleContainer(subContainer.id);eXo.portal.UIPortalNavigation2.showMenuItemContainer(menuItem,subContainer);if(!subContainer.firstTime){subContainer.style.width=subContainer.offsetWidth+2+"px";subContainer.firstTime=true;}}
eXo.portal.UIPortalNavigation2.cancelHideMenuContainer();};UIPortalNavigation2.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());};UIPortalNavigation2.prototype.onMenuItemOut=function(e){var menuItem=this;var subContainer=eXo.core.DOMUtil.findFirstDescendantByClass(menuItem,"div",eXo.portal.UIPortalNavigation2.containerStyleClass);if(subContainer){eXo.portal.UIPortalNavigation2.superClass.pushHiddenContainer(subContainer.id);eXo.portal.UIPortalNavigation2.superClass.popVisibleContainer();eXo.portal.UIPortalNavigation2.superClass.setCloseTimeout(300);}};UIPortalNavigation2.prototype.loadScroll=function(e){var uiNav=eXo.portal.UIPortalNavigation2;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();}};UIPortalNavigation2.prototype.initScroll=function(e){if(!eXo.portal.UIPortalNavigation2.scrollManagerLoaded)eXo.portal.UIPortalNavigation2.loadScroll();var scrollMgr=eXo.portal.UIPortalNavigation2.scrollMgr;scrollMgr.init();scrollMgr.checkAvailableSpace();scrollMgr.renderElements();};UIPortalNavigation2.prototype.scrollCallback=function(){};eXo.portal.UIPortalNavigation2=new UIPortalNavigation2();function UIWorkspace(id){this.id=id;this.isFirstTime=true;};eXo.portal.UIWorkspace=new UIWorkspace("UIWorkspace");if(eXo.portal.UIWorkingWorkspace==undefined){eXo.portal.UIWorkingWorkspace=new UIWorkspace("UIWorkingWorkspace");};eXo.portal.UIWorkingWorkspace.onResize=function(){var uiWorkspace=document.getElementById(eXo.portal.UIWorkingWorkspace.id);if(eXo.core.Browser.isIE6()){var tabs=eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkspace,"div","UIHorizontalTabs");if(tabs)tabs.style.left=0;}};function UIColorPicker(){}
UIColorPicker.prototype.show=function(obj){document.onmousedown=new Function("eXo.webui.UIColorPicker.hide()");this.tableColor=eXo.core.DOMUtil.findNextElementByTagName(obj,"div");this.title=eXo.core.DOMUtil.findFirstDescendantByClass(obj,"span","DisplayValue");this.input=eXo.core.DOMUtil.findFirstDescendantByClass(obj.parentNode,"input","UIColorPickerValue");this.showHide();this.getSelectedValue();}
UIColorPicker.prototype.setColor=function(color){if(eXo.core.DOMUtil.hasClass(this.title,color)){this.hide();return;}
var className="DisplayValue "+color;this.title.className=className;this.input.value=color;this.hide();};UIColorPicker.prototype.clearSelectedValue=function(){var selectedValue=this.input.value;var colorCell=eXo.core.DOMUtil.findDescendantsByTagName(this.tableColor,"a");var len=colorCell.length;for(var i=0;i<len;i++){if(eXo.core.DOMUtil.hasClass(colorCell[i],"SelectedColorCell")){colorCell[i].className=colorCell[i].className.replace("SelectedColorCell","");break;}}};UIColorPicker.prototype.getSelectedValue=function(){var selectedValue=this.input.value;var colorCell=eXo.core.DOMUtil.findDescendantsByTagName(this.tableColor,"a");var len=colorCell.length;this.clearSelectedValue();for(var i=0;i<len;i++){if(eXo.core.DOMUtil.hasClass(colorCell[i],selectedValue)){eXo.core.DOMUtil.addClass(colorCell[i],"SelectedColorCell");break;}}};UIColorPicker.prototype.hide=function(){if(eXo.webui.UIColorPicker.tableColor){eXo.webui.UIColorPicker.tableColor.style.display="none";eXo.webui.UIColorPicker.tableColor=null;eXo.webui.UIColorPicker.title=null;eXo.webui.UIColorPicker.input=null;document.onmousedown=null;}};UIColorPicker.prototype.showHide=function(){var obj=this.tableColor;if(obj.style.display!="block"){obj.style.display="block";}else{obj.style.display="none";}};eXo.webui.UIColorPicker=new UIColorPicker();function UICombobox(){}
UICombobox.prototype.init=function(textbox){if(typeof(textbox)=="string")textbox=document.getElementById(textbox);textbox=eXo.core.DOMUtil.findNextElementByTagName(textbox,"input");var UICombobox=eXo.webui.UICombobox;var onfocus=textbox.getAttribute("onfocus");var onclick=textbox.getAttribute("onclick");if(!onfocus)textbox.onfocus=UICombobox.show;if(!onclick)textbox.onclick=UICombobox.show;};UICombobox.prototype.show=function(evt){var uiCombo=eXo.webui.UICombobox;uiCombo.items=eXo.core.DOMUtil.findDescendantsByTagName(this.parentNode,"a");if(uiCombo.list)uiCombo.list.style.display="none";uiCombo.list=eXo.core.DOMUtil.findFirstDescendantByClass(this.parentNode,"div","UIComboboxContainer");uiCombo.list.parentNode.style.position="absolute";uiCombo.fixForIE6(this);uiCombo.list.style.display="block";uiCombo.list.style.top=this.offsetHeight+"px";uiCombo.list.style.width=this.offsetWidth+"px";uiCombo.setSelectedItem(this);uiCombo.list.onmousedown=eXo.core.EventManager.cancelEvent;document.onmousedown=uiCombo.hide;};UICombobox.prototype.getSelectedItem=function(textbox){var val=textbox.value;var data=eval(textbox.getAttribute("options"));var len=data.length;for(var i=0;i<len;i++){if(val==data[i])return i;}
return false;};UICombobox.prototype.setSelectedItem=function(textbox){if(this.lastSelectedItem)eXo.core.DOMUtil.replaceClass(this.lastSelectedItem,"UIComboboxSelectedItem","");var selectedIndex=parseInt(this.getSelectedItem(textbox));if(selectedIndex>=0){eXo.core.DOMUtil.addClass(this.items[selectedIndex],"UIComboboxSelectedItem");this.lastSelectedItem=this.items[selectedIndex];var y=eXo.core.Browser.findPosYInContainer(this.lastSelectedItem,this.list);this.list.firstChild.scrollTop=y;var hidden=eXo.core.DOMUtil.findPreviousElementByTagName(textbox,"input");hidden.value=this.items[selectedIndex].getAttribute("value");}};UICombobox.prototype.fixForIE6=function(obj){if(!eXo.core.Browser.isIE6())return;if(eXo.core.DOMUtil.getChildrenByTagName(this.list,"iframe").length>0)return;var iframe=document.createElement("iframe");iframe.frameBorder=0;iframe.style.width=obj.offsetWidth+"px";this.list.appendChild(iframe);};UICombobox.prototype.cancelBubbe=function(evt){var _e=window.event||evt;_e.cancelBubble=true;};UICombobox.prototype.complete=function(obj,evt){if(evt.keyCode==16){this.setSelectedItem(obj);return;}
if(evt.keyCode==13){this.setSelectedItem(obj);this.hide();return;}
var sVal=obj.value.toLowerCase();if(evt.keyCode==8)sVal=sVal.substring(0,sVal.length-1)
if(sVal.length<1)return;var data=eval(obj.getAttribute("options").trim());var len=data.length;var tmp=null;for(var i=0;i<data.length;i++){tmp=data[i].trim();var idx=tmp.toLowerCase().indexOf(sVal,0);if(idx==0&&tmp.length>sVal.length){obj.value=data[i];if(obj.createTextRange){hRange=obj.createTextRange();hRange.findText(data[i].substr(sVal.length));hRange.select();}
else{obj.setSelectionRange(sVal.length,tmp.length);}
break;}}
this.setSelectedItem(obj);};UICombobox.prototype.hide=function(){eXo.webui.UICombobox.list.style.display="none";document.onmousedown=null;};UICombobox.prototype.getValue=function(obj){var UICombobox=eXo.webui.UICombobox;var val=obj.getAttribute("value");var hiddenField=eXo.core.DOMUtil.findNextElementByTagName(UICombobox.list.parentNode,"input");hiddenField.value=val;var text=eXo.core.DOMUtil.findNextElementByTagName(hiddenField,"input");text.value=eXo.core.DOMUtil.findFirstDescendantByClass(obj,"div","UIComboboxLabel").innerHTML;UICombobox.list.style.display="none";};eXo.webui.UICombobox=new UICombobox();function EventManager(){}
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 UIVirtualList(){}
UIVirtualList.prototype.init=function(componentId){var uiVirtualList=document.getElementById(componentId);if(uiVirtualList==null)return;uiVirtualList.style.height="300px";var children=eXo.core.DOMUtil.getChildrenByTagName(uiVirtualList,"div");var childrenHeight=0;for(var i=0;i<children.length;i++){childrenHeight+=children[i].offsetHeight;}
if(!uiVirtualList.isFinished&&childrenHeight<=uiVirtualList.offsetHeight){uiVirtualList.onscroll();}else{uiVirtualList.isInitiated=true;uiVirtualList.scrollTop=0;}}
UIVirtualList.prototype.getFeedBox=function(componentId){var DOMUtil=eXo.core.DOMUtil;var uiVirtualList=document.getElementById(componentId);var feedBox=DOMUtil.findFirstDescendantByClass(uiVirtualList,"div","FeedBox");if(feedBox==null){feedBox=DOMUtil.findFirstDescendantByClass(uiVirtualList,"tbody","FeedBox");}
return feedBox;}
UIVirtualList.prototype.scrollMove=function(uiVirtualList,url){if(uiVirtualList.isFinished||uiVirtualList.isLocked)return;var DOMUtil=eXo.core.DOMUtil;var componentHeight=uiVirtualList.offsetHeight;var scrollPosition=uiVirtualList.scrollTop;var scrollerHeight=uiVirtualList.scrollHeight;var scrollable_gap=scrollerHeight-(scrollPosition+componentHeight);if(scrollable_gap<=1){var feedBox=this.getFeedBox(uiVirtualList.id);var appendHTML=feedBox.innerHTML;uiVirtualList.storeHTML=appendHTML;uiVirtualList.isLocked=true;ajaxGet(url);}}
UIVirtualList.prototype.updateList=function(componentId){var DOMUtil=eXo.core.DOMUtil;var uiVirtualList=document.getElementById(componentId);if(uiVirtualList==null)return;var feedBox=this.getFeedBox(uiVirtualList.id);var loadedContent=uiVirtualList.storeHTML;if(eXo.core.Browser.browserType!="ie"){feedBox.innerHTML=loadedContent+feedBox.innerHTML;}else{var index=uiVirtualList.innerHTML.indexOf(feedBox.className);index=uiVirtualList.innerHTML.indexOf(">",index)+1;var firstSec=uiVirtualList.innerHTML.substring(0,index);var secondSec=uiVirtualList.innerHTML.substring(index);uiVirtualList.innerHTML=firstSec+loadedContent+secondSec;}
uiVirtualList.isLocked=false;if(!uiVirtualList.isFinished&&!uiVirtualList.isInitiated){this.init(componentId);}}
UIVirtualList.prototype.loadFinished=function(componentId){var uiVirtualList=document.getElementById(componentId);if(uiVirtualList==null)return;uiVirtualList.isFinished=true;}
eXo.webui.UIVirtualList=new UIVirtualList();function UIDashboard(){var currCol=null;var targetObj=null;UIDashboard.prototype.init=function(dragItem,dragObj){var DOMUtil=eXo.core.DOMUtil;eXo.core.DragDrop2.init(dragItem,dragObj);dragObj.onDragStart=function(x,y,lastMouseX,lastMouseY,e){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 uiTarget=null;if(!DOMUtil.hasClass(dragObj,"SelectItem")){uiTarget=uiDashboard.createTarget(ggwidth,0);dragObj.parentNode.insertBefore(uiTarget,dragObj.nextSibling);currCol=eXo.webui.UIDashboardUtil.findColIndexInDashboard(dragObj);}else{var dragCopyObj=dragObj.cloneNode(true);DOMUtil.addClass(dragCopyObj,"CopyObj");dragObj.parentNode.insertBefore(dragCopyObj,dragObj);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";targetObj=uiTarget;}}
dragObj.onDrag=function(nx,ny,ex,ey,e){var uiTarget=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);targetObj=uiTarget;}
var uiCol=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){currCol=uiCol=cols[i];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){currCol=cols[i];break;}}}}else{if(uiTarget!=null&&DOMUtil.hasClass(dragObj,"SelectItem")){uiTarget.parentNode.removeChild(uiTarget);targetObj=uiTarget=null;}}}
dragObj.onDragEnd=function(x,y,clientX,clientY){var uiDashboardUtil=eXo.webui.UIDashboardUtil;var portletFragment=DOMUtil.findAncestorByClass(dragObj,"PORTLET-FRAGMENT");if(!portletFragment)return;var masks=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=targetObj;if(uiTarget&&!uiTarget.parentNode){uiTarget=null;}
dragObj.style.position="static";DOMUtil.removeClass(dragObj,"Dragging");var dragCopyObj=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(DOMUtil.hasClass(dragObj,"SelectItem")){var params=[{name:"colIndex",value:col},{name:"rowIndex",value:row},{name:"objectId",value:dragObj.id}];var url=uiDashboardUtil.createRequest(compId,'AddNewGadget',params);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);var params=[{name:"colIndex",value:col},{name:"rowIndex",value:row},{name:"objectId",value:dragObj.id}];var url=uiDashboardUtil.createRequest(compId,'MoveGadget',params);ajaxAsyncGetRequest(url);}}}
uiTarget=DOMUtil.findFirstDescendantByClass(portletFragment,"div","UITarget");while(uiTarget){DOMUtil.removeElement(uiTarget);uiTarget=eXo.core.DOMUtil.findFirstDescendantByClass(portletFragment,"div","UITarget");}
targetObj=currCol=null;}
dragObj.onCancel=function(e){if(eXo.core.Browser.browserType=="ie"&&eXo.core.Browser.findMouseYInClient()<0){eXo.core.DragDrop2.end(e);}}};UIDashboard.prototype.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 selectPopup=DOMUtil.findPreviousElementByTagName(uiContainer,"div");var closeButton=DOMUtil.findFirstDescendantByClass(selectPopup,"div","CloseButton");closeButton.onclick=eXo.webui.UIDashboard.showHideSelectContainer;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="100%";eXo.webui.UIDashboard.initHeight(windowId);setTimeout("eXo.webui.UIDashboard.initDragDrop('"+windowId+"',"+canEdit+");",300);};UIDashboard.prototype.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="99.9%";}
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";}}}};UIDashboard.prototype.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;}}}};UIDashboard.prototype.initPopup=function(popup){if(typeof(popup)=="string")popup=document.getElementById(popup);if(!popup||popup.style.display=="none")return;var uiDashboard=eXo.core.DOMUtil.findAncestorByClass(popup,"UIDashboard");var deltaY=Math.ceil((uiDashboard.offsetHeight-popup.offsetHeight)/2);popup.style.top=eXo.core.Browser.findPosY(uiDashboard)+deltaY+"px";};UIDashboard.prototype.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;};UIDashboard.prototype.createTargetOfAnObject=function(obj){var uiTarget=document.createElement("div");uiTarget.id="UITarget";uiTarget.className="UITarget";uiTarget.style.height=obj.offsetHeight+"px";return uiTarget;};UIDashboard.prototype.showHideSelectContainer=function(event){if(!event)event=window.event;var DOMUtil=eXo.core.DOMUtil;var comp=eXo.core.Browser.getEventSource(event);var uiDashboardPortlet=DOMUtil.findAncestorByClass(comp,"UIDashboard");var portletFragment=DOMUtil.findAncestorByClass(uiDashboardPortlet,"PORTLET-FRAGMENT");var uiContainer=DOMUtil.findFirstDescendantByClass(uiDashboardPortlet,"div","UIDashboardContainer");var uiSelectPopup=DOMUtil.findPreviousElementByTagName(uiContainer,"div");var addButton=DOMUtil.findFirstDescendantByClass(uiContainer,"div","ContainerControlBarL");var params;if(uiSelectPopup.style.display!="none"){uiSelectPopup.style.visibility="hidden";uiSelectPopup.style.display="none";addButton.style.visibility="visible";params=[{name:"isShow",value:false}];var url=eXo.webui.UIDashboardUtil.createRequest(portletFragment.parentNode.id,"SetShowSelectContainer",params);ajaxAsyncGetRequest(url,false);}else{addButton.style.visibility="hidden";params=[{name:"isShow",value:true}];var url=eXo.webui.UIDashboardUtil.createRequest(portletFragment.parentNode.id,"SetShowSelectContainer",params);ajaxGet(url);}};UIDashboard.prototype.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";}};UIDashboard.prototype.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","");};UIDashboard.prototype.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");};UIDashboard.prototype.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.UIDashboard=new UIDashboard();function UIDashboardUtil(){UIDashboardUtil.prototype.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;};UIDashboardUtil.prototype.findPosY=function(obj){var curtop=0;while(obj){curtop+=obj.offsetTop;obj=obj.offsetParent;}
return curtop;};UIDashboardUtil.prototype.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;};UIDashboardUtil.prototype.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;};UIDashboardUtil.prototype.findPosXInContainer=function(obj,container){var objX=eXo.webui.UIDashboardUtil.findPosX(obj);var containerX=eXo.webui.UIDashboardUtil.findPosX(container);return(objX-containerX);};UIDashboardUtil.prototype.findPosYInContainer=function(obj,container){var objY=eXo.webui.UIDashboardUtil.findPosY(obj);var containerY=eXo.webui.UIDashboardUtil.findPosY(container);return(objY-containerY);};UIDashboardUtil.prototype.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";};UIDashboardUtil.prototype.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;};UIDashboardUtil.prototype.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;}}};UIDashboardUtil.prototype.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;}};UIDashboardUtil.prototype.createRequest=function(componentId,action,params){var url=eXo.env.server.portalBaseURL;url+='?portal:componentId='+componentId+'&portal:type=action&uicomponent=UIDashboard&op='+action;url+='&ajaxRequest=true';if(params!=null){var len=params.length;for(var i=0;i<len;i++){url+="&"+params[i].name+"="+params[i].value;}}
return url;};};eXo.webui.UIDashboardUtil=new UIDashboardUtil();function UIDropDownControl(){};UIDropDownControl.prototype.init=function(id){};UIDropDownControl.prototype.selectItem=function(method,id,selectedIndex){if(method)method(id,selectedIndex);};UIDropDownControl.prototype.show=function(obj,evt){if(!evt)evt=window.event;evt.cancelBubble=true;var DOMUtil=eXo.core.DOMUtil;var Browser=eXo.core.Browser;var dropDownAnchor=DOMUtil.findNextElementByTagName(obj,'div');if(dropDownAnchor){if(dropDownAnchor.style.display=="none"){dropDownAnchor.style.display="block";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=Browser.getBrowserHeight()-Browser.findPosY(middleCont)-40;var scrollHeight=middleCont.scrollHeight;if(scrollHeight>visibleHeight){topCont.style.display="block";bottomCont.style.display="block";middleCont.style.height=visibleHeight-topCont.offsetHeight-bottomCont.offsetHeight+"px";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 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":for(var j=0;j<element.options.length;j++){if(element.options[j].selected)this.addField(element.name,element.options[j].value);}
break;}}
return queryString;};eXo.webui.UIForm=new UIForm();eXo.webui.UIForm.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){}
try{if(CKEDITOR&&typeof CKEDITOR=="object"){for(var i in CKEDITOR.instances){CKEDITOR.instances[i].updateElement();}}}catch(e){}
form.elements['formOp'].value=action;if(useAjax)ajaxPost(form,callback);else form.submit();};function getUrlParam(paramName){var oRegex=new RegExp("[\?&]"+paramName+"=([^&]+)","i");var oMatch=oRegex.exec(window.location.search);if(oMatch&&oMatch.length>1)return oMatch[1];else return"";}
function ajaxGet(url,callback){if(!callback)callback=null;var path=getUrlParam("path");if(path)url+="&path="+path;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";var path=getUrlParam("path");if(path)url+="&path="+path;doRequest("POST",url,queryString,callback);};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.checkContentAvailable=function(id){var tabContent=document.getElementById(id).parentNode;if(!tabContent.isLoaded){tabContent.isLoaded=true;return false;}
tabContent.style.display='block';return true;};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 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 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 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();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,hozMargin,verMargin){if(typeof(popup)=='string')popup=document.getElementById(popup);var stdLeft=eXo.core.Browser.getBrowserWidth()-eXo.core.Browser.findPosX(document.getElementById("UIWorkingWorkspace"));var intTop=0;var intLeft=0;if(!hozMargin)hozMargin=0;if(!verMargin)verMargin=0;switch(pos){case 1:intTop=verMargin;intLeft=hozMargin;break;case 2:intTop=verMargin;intLeft=(stdLeft-popup.offsetWidth)-hozMargin;break;case 3:intTop=(eXo.core.Browser.getBrowserHeight()-popup.offsetHeight)-verMargin;intLeft=hozMargin;break;case 4:intTop=(eXo.core.Browser.getBrowserHeight()-popup.offsetHeight)-verMargin;intLeft=(stdLeft-popup.offsetWidth)-hozMargin;break;default:intTop=(eXo.core.Browser.getBrowserHeight()-popup.offsetHeight)/2;intLeft=(uiWorkingWS.offsetWidth-popup.offsetWidth)/2;break;}
this.setPosition(popup,intLeft,intTop,eXo.core.I18n.isRT());};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 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.href){menuItem.onclick=function(e){if(link.href.substr(0,7)=="http://")window.location.href=link.href;else eval(link.href);if(!e)e=window.event;if(e.stopPropagation)e.stopPropagation();e.cancelBubble=true;return false;}}};UIPopupMenu.prototype.doOnMenuItemOut=function(){while(eXo.webui.UIPopupMenu.elementsToHide.length>0){var container=document.getElementById(eXo.webui.UIPopupMenu.elementsToHide.shift());if(container){if(!eXo.webui.UIPopupMenu.currentVisibleContainers.contains(container.id)){eXo.webui.UIPopupMenu.hide(container);}}}};UIPopupMenu.prototype.showMenuItemContainer=function(menuItemContainer,x,y){this.superClass.setPosition(menuItemContainer,x,y);};UIPopupMenu.prototype.hide=function(object){if(typeof(object)=="string")object=document.getElementById(object);object.style.display="none";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 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);if(popup==null)return;popup.style.visibility="hidden";var contentBlock=DOMUtil.findFirstDescendantByClass(popup,'div','PopupContent');if(contentBlock&&(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;}
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";}
if(eXo.core.I18n.lt)popup.style.left=Math.ceil((offsetParent.offsetWidth-popup.offsetWidth)/2)+"px";else popup.style.right=Math.ceil((offsetParent.offsetWidth-popup.offsetWidth)/2)+"px";}
if(eXo.core.Browser.findPosY(popup)<0)popup.style.top=scrollY+"px";popup.style.visibility="visible";};UIPopupWindow.prototype.increasezIndex=function(popup){var DOMUtil=eXo.core.DOMUtil;if(typeof(popup)=="string")popup=document.getElementById(popup);var portalApp=document.getElementById("UIPortalApplication");var uiLogin=DOMUtil.findFirstDescendantByClass(portalApp,"div","UILoginForm");if(uiLogin){var curMaskzIndex=parseInt(DOMUtil.getStyle(document.getElementById('UIMaskWorkspace'),"zIndex"));popup.style.zIndex=++curMaskzIndex+"";}}
UIPopupWindow.prototype.closePopupEvt=function(evt){eXo.core.DOMUtil.findAncestorByClass(this,"UIDragObject").style.display="none";}
UIPopupWindow.prototype.startResizeEvt=function(evt){eXo.webui.UIPopupWindow.popupId=eXo.core.DOMUtil.findAncestorByClass(this,"UIPopupWindow").id;document.onmousemove=eXo.webui.UIPopupWindow.resize;document.onmouseup=eXo.webui.UIPopupWindow.endResizeEvt;}
var POPUP_WINDOW_BOTTOM_HEIGHT=50;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((pointerY-delta)>0)content.style.height=(pointerY-delta-POPUP_WINDOW_BOTTOM_HEIGHT)+"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;this.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(!dragObject.uiWindowContent)return;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){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();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();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 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 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();String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
return(color.length==7?color:(arguments[0]||this));}
Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');}
Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodes(node):''));}).flatten().join('');}
Element.setStyle=function(element,style){element=$(element);for(k in style)element.style[k.camelize()]=style[k];}
Element.setContentZoom=function(element,percent){Element.setStyle(element,{fontSize:(percent/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);}
Element.getOpacity=function(element){var opacity;if(opacity=Element.getStyle(element,'opacity'))
return parseFloat(opacity);if(opacity=(Element.getStyle(element,'filter')||'').match(/alpha\(opacity=(.*)\)/))
if(opacity[1])return parseFloat(opacity[1])/100;return 1.0;}
Element.setOpacity=function(element,value){element=$(element);if(value==1){Element.setStyle(element,{opacity:(/Gecko/.test(navigator.userAgent)&&!/Konqueror|Safari|KHTML/.test(navigator.userAgent))?0.999999:null});if(/MSIE/.test(navigator.userAgent))
Element.setStyle(element,{filter:Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')});}else{if(value<0.00001)value=0;Element.setStyle(element,{opacity:value});if(/MSIE/.test(navigator.userAgent))
Element.setStyle(element,{filter:Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')+'alpha(opacity='+value*100+')'});}}
Element.getInlineOpacity=function(element){return $(element).style.opacity||'';}
Element.childrenWithClassName=function(element,className){return $A($(element).getElementsByTagName('*')).select(function(c){return Element.hasClassName(c,className)});}
Array.prototype.call=function(){var args=arguments;this.each(function(f){f.apply(this,args)});}
var Effect={tagifyText:function(element){var tagifyStyle='position:relative';if(/MSIE/.test(navigator.userAgent))tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(Builder.node('span',{style:tagifyStyle},character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||(typeof element=='function'))&&(element.length))
elements=element;else
elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.id||'global')}},arguments[2]||{});Effect[Element.visible(element)?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options);}};var Effect2=Effect;Effect.Transitions={}
Effect.Transitions.linear=function(pos){return pos;}
Effect.Transitions.sinoidal=function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5;}
Effect.Transitions.reverse=function(pos){return 1-pos;}
Effect.Transitions.flicker=function(pos){return((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;}
Effect.Transitions.wobble=function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;}
Effect.Transitions.pulse=function(pos){return(Math.floor(pos*10)%2==0?(pos*10-Math.floor(pos*10)):1-(pos*10-Math.floor(pos*10)));}
Effect.Transitions.none=function(pos){return 0;}
Effect.Transitions.full=function(pos){return 1;}
Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=(typeof effect.options.queue=='string')?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;this.effects.push(effect);if(!this.interval)
this.interval=setInterval(this.loop.bind(this),40);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();this.effects.invoke('loop',timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(typeof queueName!='string')return queueName;if(!this.instances[queueName])
this.instances[queueName]=new Effect.ScopedQueue();return this.instances[queueName];}}
Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:25.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'}
Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(options){this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event('beforeStart');if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this);},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
var pos=(timePos-this.startOn)/(this.finishOn-this.startOn);var frame=Math.round(pos*this.options.fps*this.options.duration);if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},render:function(pos){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup');}
if(this.state=='running'){if(this.options.transition)pos=this.options.transition(pos);pos*=(this.options.to-this.options.from);pos+=this.options.from;this.position=pos;this.event('beforeUpdate');if(this.update)this.update(pos);this.event('afterUpdate');}},cancel:function(){if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished';},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){return'#<Effect:'+$H(this).inspect()+',options:'+$H(this.options).inspect()+'>';}}
Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(/MSIE/.test(navigator.userAgent)&&(!this.element.hasLayout))
Element.setStyle(this.element,{zoom:1});var options=Object.extend({from:Element.getOpacity(this.element)||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){Element.setOpacity(this.element,position);}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},setup:function(){Element.makePositioned(this.element);this.originalLeft=parseFloat(Element.getStyle(this.element,'left')||'0');this.originalTop=parseFloat(Element.getStyle(this.element,'top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop;}},update:function(position){Element.setStyle(this.element,{left:this.options.x*position+this.originalLeft+'px',top:this.options.y*position+this.originalTop+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(element,percent){this.element=$(element)
var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=Element.getStyle(this.element,'position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=Element.getStyle(this.element,'font-size')||'100%';['em','px','%'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')
this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))
this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)
this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
Element.setStyle(this.element,{fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)Element.setStyle(this.element,this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=width+'px';if(this.options.scaleY)d.height=height+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
Element.setStyle(this.element,d);}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},setup:function(){if(Element.getStyle(this.element,'display')=='none'){this.cancel();return;}
this.oldStyle={backgroundImage:Element.getStyle(this.element,'background-image')};Element.setStyle(this.element,{backgroundImage:'none'});if(!this.options.endcolor)
this.options.endcolor=Element.getStyle(this.element,'background-color').parseColor('#ffffff');if(!this.options.restorecolor)
this.options.restorecolor=Element.getStyle(this.element,'background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){Element.setStyle(this.element,{backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart());}.bind(this))});},finish:function(){Element.setStyle(this.element,Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);this.start(arguments[1]||{});},setup:function(){Position.prepare();var offsets=Position.cumulativeOffset(this.element);if(this.options.offset)offsets[1]+=this.options.offset;var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-
(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(offsets[1]>max?max:offsets[1])-this.scrollStart;},update:function(position){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(position*this.delta));}});Effect.Fade=function(element){var oldOpacity=Element.getInlineOpacity(element);var options=Object.extend({from:Element.getOpacity(element)||1.0,to:0.0,afterFinishInternal:function(effect){with(Element){if(effect.options.to!=0)return;hide(effect.element);setStyle(effect.element,{opacity:oldOpacity});}}},arguments[1]||{});return new Effect.Opacity(element,options);}
Effect.Appear=function(element){var options=Object.extend({from:(Element.getStyle(element,'display')=='none'?0.0:Element.getOpacity(element)||0.0),to:1.0,beforeSetup:function(effect){with(Element){setOpacity(effect.element,effect.options.from);show(effect.element);}}},arguments[1]||{});return new Effect.Opacity(element,options);}
Effect.Puff=function(element){element=$(element);var oldStyle={opacity:Element.getInlineOpacity(element),position:Element.getStyle(element,'position')};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){with(Element){setStyle(effect.effects[0].element,{position:'absolute'});}},afterFinishInternal:function(effect){with(Element){hide(effect.effects[0].element);setStyle(effect.effects[0].element,oldStyle);}}},arguments[1]||{}));}
Effect.BlindUp=function(element){element=$(element);Element.makeClipping(element);return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){with(Element){[hide,undoClipping].call(effect.element);}}},arguments[1]||{}));}
Effect.BlindDown=function(element){element=$(element);var oldHeight=Element.getStyle(element,'height');var elementDimensions=Element.getDimensions(element);return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){with(Element){makeClipping(effect.element);setStyle(effect.element,{height:'0px'});show(effect.element);}},afterFinishInternal:function(effect){with(Element){undoClipping(effect.element);setStyle(effect.element,{height:oldHeight});}}},arguments[1]||{}));}
Effect.SwitchOff=function(element){element=$(element);var oldOpacity=Element.getInlineOpacity(element);return new Effect.Appear(element,{duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){with(Element){[makePositioned,makeClipping].call(effect.element);}},afterFinishInternal:function(effect){with(Element){[hide,undoClipping,undoPositioned].call(effect.element);setStyle(effect.element,{opacity:oldOpacity});}}})}});}
Effect.DropOut=function(element){element=$(element);var oldStyle={top:Element.getStyle(element,'top'),left:Element.getStyle(element,'left'),opacity:Element.getInlineOpacity(element)};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){with(Element){makePositioned(effect.effects[0].element);}},afterFinishInternal:function(effect){with(Element){[hide,undoPositioned].call(effect.effects[0].element);setStyle(effect.effects[0].element,oldStyle);}}},arguments[1]||{}));}
Effect.Shake=function(element){element=$(element);var oldStyle={top:Element.getStyle(element,'top'),left:Element.getStyle(element,'left')};return new Effect.Move(element,{x:20,y:0,duration:0.05,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(effect){with(Element){undoPositioned(effect.element);setStyle(effect.element,oldStyle);}}})}})}})}})}})}});}
Effect.SlideDown=function(element){element=$(element);Element.cleanWhitespace(element);var oldInnerBottom=Element.getStyle(element.firstChild,'bottom');var elementDimensions=Element.getDimensions(element);return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){with(Element){makePositioned(effect.element);makePositioned(effect.element.firstChild);if(window.opera)setStyle(effect.element,{top:''});makeClipping(effect.element);setStyle(effect.element,{height:'0px'});show(element);}},afterUpdateInternal:function(effect){with(Element){setStyle(effect.element.firstChild,{bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});}},afterFinishInternal:function(effect){with(Element){undoClipping(effect.element);undoPositioned(effect.element.firstChild);undoPositioned(effect.element);setStyle(effect.element.firstChild,{bottom:oldInnerBottom});}}},arguments[1]||{}));}
Effect.SlideUp=function(element){element=$(element);Element.cleanWhitespace(element);var oldInnerBottom=Element.getStyle(element.firstChild,'bottom');return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(effect){with(Element){makePositioned(effect.element);makePositioned(effect.element.firstChild);if(window.opera)setStyle(effect.element,{top:''});makeClipping(effect.element);show(element);}},afterUpdateInternal:function(effect){with(Element){setStyle(effect.element.firstChild,{bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});}},afterFinishInternal:function(effect){with(Element){[hide,undoClipping].call(effect.element);undoPositioned(effect.element.firstChild);undoPositioned(effect.element);setStyle(effect.element.firstChild,{bottom:oldInnerBottom});}}},arguments[1]||{}));}
Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){with(Element){makeClipping(effect.element);}},afterFinishInternal:function(effect){with(Element){hide(effect.element);undoClipping(effect.element);}}});}
Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransistion:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:Element.getInlineOpacity(element)};var dims=Element.getDimensions(element);var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){with(Element){hide(effect.element);makeClipping(effect.element);makePositioned(effect.element);}},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){with(Element){setStyle(effect.effects[0].element,{height:'0px'});show(effect.effects[0].element);}},afterFinishInternal:function(effect){with(Element){[undoClipping,undoPositioned].call(effect.effects[0].element);setStyle(effect.effects[0].element,oldStyle);}}},options))}});}
Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransistion:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:Element.getInlineOpacity(element)};var dims=Element.getDimensions(element);var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){with(Element){[makePositioned,makeClipping].call(effect.effects[0].element)}},afterFinishInternal:function(effect){with(Element){[hide,undoClipping,undoPositioned].call(effect.effects[0].element);setStyle(effect.effects[0].element,oldStyle);}}},options));}
Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{};var oldOpacity=Element.getInlineOpacity(element);var transition=options.transition||Effect.Transitions.sinoidal;var reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:3.0,from:0,afterFinishInternal:function(effect){Element.setStyle(effect.element,{opacity:oldOpacity});}},options),{transition:reverser}));}
Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};Element.makeClipping(element);return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){with(Element){[hide,undoClipping].call(effect.element);setStyle(effect.element,oldStyle);}}});}},arguments[1]||{}));}
var fileLoadingImage="/eXoDMSResources/skin/images/lightbox/loading.gif";var fileBottomNavCloseImage="/eXoDMSResources/skin/images/lightbox/closelabel.gif";var animate=true;var resizeSpeed=7;var borderSize=10;var imageArray=new Array;var activeImage;if(animate==true){overlayDuration=0.2;if(resizeSpeed>10){resizeSpeed=10;}
if(resizeSpeed<1){resizeSpeed=1;}
resizeDuration=(11-resizeSpeed)*0.15;}else{overlayDuration=0;resizeDuration=0;}
Object.extend(Element,{getWidth:function(element){element=$(element);return element.offsetWidth;},setWidth:function(element,w){element=$(element);element.style.width=w+"px";},setHeight:function(element,h){element=$(element);element.style.height=h+"px";},setTop:function(element,t){element=$(element);element.style.top=t+"px";},setSrc:function(element,src){element=$(element);element.src=src;},setHref:function(element,href){element=$(element);element.href=href;},setInnerHTML:function(element,content){element=$(element);element.innerHTML=content;}});Array.prototype.removeDuplicates=function(){for(i=0;i<this.length;i++){for(j=this.length-1;j>i;j--){if(this[i][0]==this[j][0]){this.splice(j,1);}}}}
Array.prototype.empty=function(){for(i=0;i<=this.length;i++){this.shift();}}
var Lightbox=Class.create();Lightbox.prototype={initialize:function(){if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName('a');var areas=document.getElementsByTagName('area');for(var i=0;i<anchors.length;i++){var anchor=anchors[i];var relAttribute=String(anchor.getAttribute('rel'));if(anchor.getAttribute('href')&&(relAttribute.toLowerCase().match('lightbox'))){anchor.onclick=function(){myLightbox.start(this);return false;}}}
for(var i=0;i<areas.length;i++){var area=areas[i];var relAttribute=String(area.getAttribute('rel'));if(area.getAttribute('href')&&(relAttribute.toLowerCase().match('lightbox'))){area.onclick=function(){myLightbox.start(this);return false;}}}
var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id','overlay');objOverlay.style.display='none';objOverlay.onclick=function(){myLightbox.end();}
objBody.appendChild(objOverlay);var objLightbox=document.createElement("div");objLightbox.setAttribute('id','lightbox');objLightbox.style.display='none';objLightbox.onclick=function(e){if(!e)var e=window.event;var clickObj=Event.element(e).id;if(clickObj=='lightbox'){myLightbox.end();}};objBody.appendChild(objLightbox);var objOuterImageContainer=document.createElement("div");objOuterImageContainer.setAttribute('id','outerImageContainer');objLightbox.appendChild(objOuterImageContainer);if(animate){Element.setWidth('outerImageContainer',250);Element.setHeight('outerImageContainer',250);}else{Element.setWidth('outerImageContainer',1);Element.setHeight('outerImageContainer',1);}
var objImageContainer=document.createElement("div");objImageContainer.setAttribute('id','imageContainer');objOuterImageContainer.appendChild(objImageContainer);var objLightboxImage=document.createElement("img");objLightboxImage.setAttribute('id','lightboxImage');objImageContainer.appendChild(objLightboxImage);var objHoverNav=document.createElement("div");objHoverNav.setAttribute('id','hoverNav');objImageContainer.appendChild(objHoverNav);var objPrevLink=document.createElement("a");objPrevLink.setAttribute('id','prevLink');objPrevLink.setAttribute('href','#');objHoverNav.appendChild(objPrevLink);var objNextLink=document.createElement("a");objNextLink.setAttribute('id','nextLink');objNextLink.setAttribute('href','#');objHoverNav.appendChild(objNextLink);var objLoading=document.createElement("div");objLoading.setAttribute('id','loading');objImageContainer.appendChild(objLoading);var objLoadingLink=document.createElement("a");objLoadingLink.setAttribute('id','loadingLink');objLoadingLink.setAttribute('href','#');objLoadingLink.onclick=function(){myLightbox.end();return false;}
objLoading.appendChild(objLoadingLink);var objLoadingImage=document.createElement("img");objLoadingImage.setAttribute('src',fileLoadingImage);objLoadingLink.appendChild(objLoadingImage);var objImageDataContainer=document.createElement("div");objImageDataContainer.setAttribute('id','imageDataContainer');objImageDataContainer.className='clearfix';objLightbox.appendChild(objImageDataContainer);var objImageData=document.createElement("div");objImageData.setAttribute('id','imageData');objImageDataContainer.appendChild(objImageData);var objImageDetails=document.createElement("div");objImageDetails.setAttribute('id','imageDetails');objImageData.appendChild(objImageDetails);var objCaption=document.createElement("span");objCaption.setAttribute('id','caption');objImageDetails.appendChild(objCaption);var objNumberDisplay=document.createElement("span");objNumberDisplay.setAttribute('id','numberDisplay');objImageDetails.appendChild(objNumberDisplay);var objBottomNav=document.createElement("div");objBottomNav.setAttribute('id','bottomNav');objImageData.appendChild(objBottomNav);var objBottomNavCloseLink=document.createElement("a");objBottomNavCloseLink.setAttribute('id','bottomNavClose');objBottomNavCloseLink.setAttribute('href','#');objBottomNavCloseLink.onclick=function(){myLightbox.end();return false;}
objBottomNav.appendChild(objBottomNavCloseLink);var objBottomNavCloseImage=document.createElement("img");objBottomNavCloseImage.setAttribute('src',fileBottomNavCloseImage);objBottomNavCloseLink.appendChild(objBottomNavCloseImage);},start:function(imageLink){function getImageTitle(anchor){var ddimageTitle=anchor.getAttribute('title')
var ddimageTitleURL=(ddimageTitle!=null&&ddimageTitle!="")?anchor.getAttribute('rev'):null
return ddimageTitleFinal=(ddimageTitleURL!=null&&ddimageTitleURL!="")?'<a href="'+ddimageTitleURL+'" class="ddcaptionurl">'+ddimageTitle+'</a>':ddimageTitle};hideSelectBoxes();hideFlash();var arrayPageSize=getPageSize();Element.setHeight('overlay',arrayPageSize[1]);new Effect.Appear('overlay',{duration:overlayDuration,from:0.0,to:0.8});imageArray=[];imageNum=0;if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName('a');if((imageLink.getAttribute('rel')=='lightbox')){imageArray.push(new Array(imageLink.getAttribute('href'),getImageTitle(imageLink)));}else{for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute('href')&&(anchor.getAttribute('rel')==imageLink.getAttribute('rel'))){imageArray.push(new Array(anchor.getAttribute('href'),getImageTitle(anchor)));}}
imageArray.removeDuplicates();while(imageArray[imageNum][0]!=imageLink.getAttribute('href')){imageNum++;}}
var arrayPageScroll=getPageScroll();var lightboxTop=arrayPageScroll[1]+(arrayPageSize[3]/10);Element.setTop('lightbox',lightboxTop);Element.show('lightbox');this.changeImage(imageNum);},changeImage:function(imageNum){activeImage=imageNum;if(animate){Element.show('loading');}
Element.hide('lightboxImage');Element.hide('hoverNav');Element.hide('prevLink');Element.hide('nextLink');Element.hide('imageDataContainer');Element.hide('numberDisplay');imgPreloader=new Image();imgPreloader.onload=function(){Element.setSrc('lightboxImage',imageArray[activeImage][0]);myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height);}
imgPreloader.src=imageArray[activeImage][0];},resizeImageContainer:function(imgWidth,imgHeight){this.widthCurrent=Element.getWidth('outerImageContainer');this.heightCurrent=Element.getHeight('outerImageContainer');var widthNew=(imgWidth+(borderSize*2));var heightNew=(imgHeight+(borderSize*2));this.xScale=(widthNew/this.widthCurrent)*100;this.yScale=(heightNew/this.heightCurrent)*100;wDiff=this.widthCurrent-widthNew;hDiff=this.heightCurrent-heightNew;if(!(hDiff==0)){new Effect.Scale('outerImageContainer',this.yScale,{scaleX:false,duration:resizeDuration,queue:'front'});}
if(!(wDiff==0)){new Effect.Scale('outerImageContainer',this.xScale,{scaleY:false,delay:resizeDuration,duration:resizeDuration});}
if((hDiff==0)&&(wDiff==0)){if(navigator.appVersion.indexOf("MSIE")!=-1){pause(250);}else{pause(100);}}
Element.setHeight('prevLink',imgHeight);Element.setHeight('nextLink',imgHeight);Element.setWidth('imageDataContainer',widthNew);this.showImage();},showImage:function(){Element.hide('loading');new Effect.Appear('lightboxImage',{duration:resizeDuration,queue:'end',afterFinish:function(){myLightbox.updateDetails();}});this.preloadNeighborImages();},updateDetails:function(){Element.show('caption');Element.setInnerHTML('caption',imageArray[activeImage][1]);if(imageArray.length>1){Element.show('numberDisplay');Element.setInnerHTML('numberDisplay',"Image "+eval(activeImage+1)+" of "+imageArray.length);}
new Effect.Parallel([new Effect.SlideDown('imageDataContainer',{sync:true,duration:resizeDuration,from:0.0,to:1.0}),new Effect.Appear('imageDataContainer',{sync:true,duration:resizeDuration})],{duration:resizeDuration,afterFinish:function(){var arrayPageSize=getPageSize();Element.setHeight('overlay',arrayPageSize[1]);myLightbox.updateNav();}});},updateNav:function(){Element.show('hoverNav');if(activeImage!=0){Element.show('prevLink');document.getElementById('prevLink').onclick=function(){myLightbox.changeImage(activeImage-1);return false;}}
if(activeImage!=(imageArray.length-1)){Element.show('nextLink');document.getElementById('nextLink').onclick=function(){myLightbox.changeImage(activeImage+1);return false;}}
this.enableKeyboardNav();},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction;},disableKeyboardNav:function(){document.onkeydown='';},keyboardAction:function(e){if(e==null){keycode=event.keyCode;escapeKey=27;}else{keycode=e.keyCode;escapeKey=e.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key=='x')||(key=='o')||(key=='c')||(keycode==escapeKey)){myLightbox.end();}else if((key=='p')||(keycode==37)){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage-1);}}else if((key=='n')||(keycode==39)){if(activeImage!=(imageArray.length-1)){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage+1);}}},preloadNeighborImages:function(){if((imageArray.length-1)>activeImage){preloadNextImage=new Image();preloadNextImage.src=imageArray[activeImage+1][0];}
if(activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=imageArray[activeImage-1][0];}},end:function(){this.disableKeyboardNav();Element.hide('lightbox');new Effect.Fade('overlay',{duration:overlayDuration});showSelectBoxes();showFlash();}}
function getPageScroll(){var yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;}else if(document.body){yScroll=document.body.scrollTop;}
arrayPageScroll=new Array('',yScroll)
return arrayPageScroll;}
function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}
function getKey(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}
key=String.fromCharCode(keycode).toLowerCase();if(key=='x'){}}
function listenKey(){document.onkeypress=getKey;}
function showSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="visible";}}
function hideSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="hidden";}}
function showFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i!=flashObjects.length;i++){flashObjects[i].style.visibility="visible";}
var flashEmbeds=document.getElementsByTagName("embeds");for(i=0;i!=flashEmbeds.length;i++){flashEmbeds[i].style.visibility="visible";}}
function hideFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i!=flashObjects.length;i++){flashObjects[i].style.visibility="hidden";}
var flashEmbeds=document.getElementsByTagName("embeds");for(i=0;i!=flashEmbeds.length;i++){flashEmbeds[i].style.visibility="hidden";}}
function pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);}
function initLightbox(){myLightbox=new Lightbox();}
Event.observe(window,'load',initLightbox,false);var Prototype={Version:'1.4.0',ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',emptyFunction:function(){},K:function(x){return x}}
var Class={create:function(){return function(){this.initialize.apply(this,arguments);}}}
var Abstract=new Object();Object.extend=function(destination,source){for(property in source){destination[property]=source[property];}
return destination;}
Object.inspect=function(object){try{if(object==undefined)return'undefined';if(object==null)return'null';return object.inspect?object.inspect():object.toString();}catch(e){if(e instanceof RangeError)return'...';throw e;}}
Function.prototype.bind=function(){var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}}
Function.prototype.bindAsEventListener=function(object){var __method=this;return function(event){return __method.call(object,event||window.event);}}
Object.extend(Number.prototype,{toColorPart:function(){var digits=this.toString(16);if(this<16)return'0'+digits;return digits;},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;}});var Try={these:function(){var returnValue;for(var i=0;i<arguments.length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}}
var PeriodicalExecuter=Class.create();PeriodicalExecuter.prototype={initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback();}finally{this.currentlyExecuting=false;}}}}
function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')
element=document.getElementById(element);if(arguments.length==1)
return element;elements.push(element);}
return elements;}
Object.extend(String.prototype,{stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(eval);},escapeHTML:function(){var div=document.createElement('div');var text=document.createTextNode(this);div.appendChild(text);return div.innerHTML;},unescapeHTML:function(){var div=document.createElement('div');div.innerHTML=this.stripTags();return div.childNodes[0]?div.childNodes[0].nodeValue:'';},toQueryParams:function(){var pairs=this.match(/^\??(.*)$/)[1].split('&');return pairs.inject({},function(params,pairString){var pair=pairString.split('=');params[pair[0]]=pair[1];return params;});},toArray:function(){return this.split('');},camelize:function(){var oStringList=this.split('-');if(oStringList.length==1)return oStringList[0];var camelizedString=this.indexOf('-')==0?oStringList[0].charAt(0).toUpperCase()+oStringList[0].substring(1):oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1);}
return camelizedString;},inspect:function(){return"'"+this.replace('\\','\\\\').replace("'",'\\\'')+"'";}});String.prototype.parseQuery=String.prototype.toQueryParams;var $break=new Object();var $continue=new Object();var Enumerable={each:function(iterator){var index=0;try{this._each(function(value){try{iterator(value,index++);}catch(e){if(e!=$continue)throw e;}});}catch(e){if(e!=$break)throw e;}},all:function(iterator){var result=true;this.each(function(value,index){result=result&&!!(iterator||Prototype.K)(value,index);if(!result)throw $break;});return result;},any:function(iterator){var result=true;this.each(function(value,index){if(result=!!(iterator||Prototype.K)(value,index))
throw $break;});return result;},collect:function(iterator){var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator){var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator){var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(pattern,iterator){var results=[];this.each(function(value,index){var stringValue=value.toString();if(stringValue.match(pattern))
results.push((iterator||Prototype.K)(value,index));})
return results;},include:function(object){var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inject:function(memo,iterator){this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.collect(function(value){return value[method].apply(value,args);});},max:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(value>=(result||value))
result=value;});return result;},min:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(value<=(result||value))
result=value;});return result;},partition:function(iterator){var trues=[],falses=[];this.each(function(value,index){((iterator||Prototype.K)(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value,index){results.push(value[property]);});return results;},reject:function(iterator){var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator){return this.collect(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.collect(Prototype.K);},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(typeof args.last()=='function')
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){iterator(value=collections.pluck(index));return value;});},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}}
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});var $A=Array.from=function(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0;i<iterable.length;i++)
results.push(iterable[i]);return results;}}
Object.extend(Array.prototype,Enumerable);Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0;i<this.length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=undefined||value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(value.constructor==Array?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},indexOf:function(object){for(var i=0;i<this.length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},shift:function(){var result=this[0];for(var i=0;i<this.length-1;i++)
this[i]=this[i+1];this.length--;return result;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';}});var Hash={_each:function(iterator){for(key in this){var value=this[key];if(typeof value=='function')continue;var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},merge:function(hash){return $H(hash).inject($H(this),function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},toQueryString:function(){return this.map(function(pair){return pair.map(encodeURIComponent).join('=');}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}}
function $H(object){var hash=Object.extend({},object||{});Object.extend(hash,Enumerable);Object.extend(hash,Hash);return hash;}
ObjectRange=Class.create();Object.extend(ObjectRange.prototype,Enumerable);Object.extend(ObjectRange.prototype,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;do{iterator(value);value=value.succ();}while(this.include(value));},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);}
var Ajax={getTransport:function(){return Try.these(function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')},function(){return new XMLHttpRequest()})||false;},activeRequestCount:0}
Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responderToAdd){if(!this.include(responderToAdd))
this.responders.push(responderToAdd);},unregister:function(responderToRemove){this.responders=this.responders.without(responderToRemove);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(responder[callback]&&typeof responder[callback]=='function'){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++;},onComplete:function(){Ajax.activeRequestCount--;}});Ajax.Base=function(){};Ajax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,parameters:''}
Object.extend(this.options,options||{});},responseIsSuccess:function(){return this.transport.status==undefined||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);},responseIsFailure:function(){return!this.responseIsSuccess();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){var parameters=this.options.parameters||'';if(parameters.length>0)parameters+='&_=';try{this.url=url;if(this.options.method=='get'&&parameters.length>0)
this.url+=(this.url.match(/\?/)?'&':'?')+parameters;Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.options.method,this.url,this.options.asynchronous);if(this.options.asynchronous){this.transport.onreadystatechange=this.onStateChange.bind(this);setTimeout((function(){this.respondToReadyState(1)}).bind(this),10);}
this.setRequestHeaders();var body=this.options.postBody?this.options.postBody:parameters;this.transport.send(this.options.method=='post'?body:null);}catch(e){this.dispatchException(e);}},setRequestHeaders:function(){var requestHeaders=['X-Requested-With','XMLHttpRequest','X-Prototype-Version',Prototype.Version];if(this.options.method=='post'){requestHeaders.push('Content-type','application/x-www-form-urlencoded');if(this.transport.overrideMimeType)
requestHeaders.push('Connection','close');}
if(this.options.requestHeaders)
requestHeaders.push.apply(requestHeaders,this.options.requestHeaders);for(var i=0;i<requestHeaders.length;i+=2)
this.transport.setRequestHeader(requestHeaders[i],requestHeaders[i+1]);},onStateChange:function(){var readyState=this.transport.readyState;if(readyState!=1)
this.respondToReadyState(this.transport.readyState);},header:function(name){try{return this.transport.getResponseHeader(name);}catch(e){}},evalJSON:function(){try{return eval(this.header('X-JSON'));}catch(e){}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},respondToReadyState:function(readyState){var event=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(event=='Complete'){try{(this.options['on'+this.transport.status]||this.options['on'+(this.responseIsSuccess()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
if((this.header('Content-type')||'').match(/^text\/javascript/i))
this.evalResponse();}
try{(this.options['on'+event]||Prototype.emptyFunction)(transport,json);Ajax.Responders.dispatch('on'+event,this,transport,json);}catch(e){this.dispatchException(e);}
if(event=='Complete')
this.transport.onreadystatechange=Prototype.emptyFunction;},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Updater=Class.create();Object.extend(Object.extend(Ajax.Updater.prototype,Ajax.Request.prototype),{initialize:function(container,url,options){this.containers={success:container.success?$(container.success):$(container),failure:container.failure?$(container.failure):(container.success?null:$(container))}
this.transport=Ajax.getTransport();this.setOptions(options);var onComplete=this.options.onComplete||Prototype.emptyFunction;this.options.onComplete=(function(transport,object){this.updateContent();onComplete(transport,object);}).bind(this);this.request(url);},updateContent:function(){var receiver=this.responseIsSuccess()?this.containers.success:this.containers.failure;var response=this.transport.responseText;if(!this.options.evalScripts)
response=response.stripScripts();if(receiver){if(this.options.insertion){new this.options.insertion(receiver,response);}else{Element.update(receiver,response);}}
if(this.responseIsSuccess()){if(this.onComplete)
setTimeout(this.onComplete.bind(this),10);}}});Ajax.PeriodicalUpdater=Class.create();Ajax.PeriodicalUpdater.prototype=Object.extend(new Ajax.Base(),{initialize:function(container,url,options){this.setOptions(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(request){if(this.options.decay){this.decay=(request.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=request.responseText;}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});document.getElementsByClassName=function(className,parentElement){var children=($(parentElement)||document.body).getElementsByTagName('*');return $A(children).inject([],function(elements,child){if(child.className.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
elements.push(child);return elements;});}
if(!window.Element){var Element=new Object();}
Object.extend(Element,{visible:function(element){return $(element).style.display!='none';},toggle:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);Element[Element.visible(element)?'hide':'show'](element);}},hide:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='none';}},show:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='';}},remove:function(element){element=$(element);element.parentNode.removeChild(element);},update:function(element,html){$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);},getHeight:function(element){element=$(element);return element.offsetHeight;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).include(className);},addClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).add(className);},removeClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).remove(className);},cleanWhitespace:function(element){element=$(element);for(var i=0;i<element.childNodes.length;i++){var node=element.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue))
Element.remove(node);}},empty:function(element){return $(element).innerHTML.match(/^\s*$/);},scrollTo:function(element){element=$(element);var x=element.x?element.x:element.offsetLeft,y=element.y?element.y:element.offsetTop;window.scrollTo(x,y);},getStyle:function(element,style){element=$(element);var value=element.style[style.camelize()];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css.getPropertyValue(style):null;}else if(element.currentStyle){value=element.currentStyle[style.camelize()];}}
if(window.opera&&['left','top','right','bottom'].include(style))
if(Element.getStyle(element,'position')=='static')value='auto';return value=='auto'?null:value;},setStyle:function(element,style){element=$(element);for(name in style)
element.style[name.camelize()]=style[name];},getDimensions:function(element){element=$(element);if(Element.getStyle(element,'display')!='none')
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;els.visibility='hidden';els.position='absolute';els.display='';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display='none';els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}},makeClipping:function(element){element=$(element);if(element._overflow)return;element._overflow=element.style.overflow;if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';},undoClipping:function(element){element=$(element);if(element._overflow)return;element.style.overflow=element._overflow;element._overflow=undefined;}});var Toggle=new Object();Toggle.display=Element.toggle;Abstract.Insertion=function(adjacency){this.adjacency=adjacency;}
Abstract.Insertion.prototype={initialize:function(element,content){this.element=$(element);this.content=content.stripScripts();if(this.adjacency&&this.element.insertAdjacentHTML){try{this.element.insertAdjacentHTML(this.adjacency,this.content);}catch(e){if(this.element.tagName.toLowerCase()=='tbody'){this.insertContent(this.contentFromAnonymousTable());}else{throw e;}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.insertContent([this.range.createContextualFragment(this.content)]);}
setTimeout(function(){content.evalScripts()},10);},contentFromAnonymousTable:function(){var div=document.createElement('div');div.innerHTML='<table><tbody>'+this.content+'</tbody></table>';return $A(div.childNodes[0].childNodes[0].childNodes);}}
var Insertion=new Object();Insertion.Before=Class.create();Insertion.Before.prototype=Object.extend(new Abstract.Insertion('beforeBegin'),{initializeRange:function(){this.range.setStartBefore(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element);}).bind(this));}});Insertion.Top=Class.create();Insertion.Top.prototype=Object.extend(new Abstract.Insertion('afterBegin'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true);},insertContent:function(fragments){fragments.reverse(false).each((function(fragment){this.element.insertBefore(fragment,this.element.firstChild);}).bind(this));}});Insertion.Bottom=Class.create();Insertion.Bottom.prototype=Object.extend(new Abstract.Insertion('beforeEnd'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.appendChild(fragment);}).bind(this));}});Insertion.After=Class.create();Insertion.After.prototype=Object.extend(new Abstract.Insertion('afterEnd'),{initializeRange:function(){this.range.setStartAfter(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element.nextSibling);}).bind(this));}});Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set(this.toArray().concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set(this.select(function(className){return className!=classNameToRemove;}).join(' '));},toString:function(){return this.toArray().join(' ');}}
Object.extend(Element.ClassNames.prototype,Enumerable);var Field={clear:function(){for(var i=0;i<arguments.length;i++)
$(arguments[i]).value='';},focus:function(element){$(element).focus();},present:function(){for(var i=0;i<arguments.length;i++)
if($(arguments[i]).value=='')return false;return true;},select:function(element){$(element).select();},activate:function(element){element=$(element);element.focus();if(element.select)
element.select();}}
var Form={serialize:function(form){var elements=Form.getElements($(form));var queryComponents=new Array();for(var i=0;i<elements.length;i++){var queryComponent=Form.Element.serialize(elements[i]);if(queryComponent)
queryComponents.push(queryComponent);}
return queryComponents.join('&');},getElements:function(form){form=$(form);var elements=new Array();for(tagName in Form.Element.Serializers){var tagElements=form.getElementsByTagName(tagName);for(var j=0;j<tagElements.length;j++)
elements.push(tagElements[j]);}
return elements;},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)
return inputs;var matchingInputs=new Array();for(var i=0;i<inputs.length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(input);}
return matchingInputs;},disable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.blur();element.disabled='true';}},enable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.disabled='';}},findFirstElement:function(form){return Form.getElements(form).find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){Field.activate(Form.findFirstElement(form));},reset:function(form){$(form).reset();}}
Form.Element={serialize:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter){var key=encodeURIComponent(parameter[0]);if(key.length==0)return;if(parameter[1].constructor!=Array)
parameter[1]=[parameter[1]];return parameter[1].map(function(value){return key+'='+encodeURIComponent(value);}).join('&');}},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter)
return parameter[1];}}
Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'submit':case'hidden':case'password':case'text':return Form.Element.Serializers.textarea(element);case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);}
return false;},inputSelector:function(element){if(element.checked)
return[element.name,element.value];},textarea:function(element){return[element.name,element.value];},select:function(element){return Form.Element.Serializers[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var value='',opt,index=element.selectedIndex;if(index>=0){opt=element.options[index];value=opt.value;if(!value&&!('value'in opt))
value=opt.text;}
return[element.name,value];},selectMany:function(element){var value=new Array();for(var i=0;i<element.length;i++){var opt=element.options[i];if(opt.selected){var optValue=opt.value;if(!optValue&&!('value'in opt))
optValue=opt.text;value.push(optValue);}}
return[element.name,value];}}
var $F=Form.Element.getValue;Abstract.TimedObserver=function(){}
Abstract.TimedObserver.prototype={initialize:function(element,frequency,callback){this.frequency=frequency;this.element=$(element);this.callback=callback;this.lastValue=this.getValue();this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}}}
Form.Element.Observer=Class.create();Form.Element.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create();Form.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=function(){}
Abstract.EventObserver.prototype={initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){var elements=Form.getElements(this.element);for(var i=0;i<elements.length;i++)
this.registerCallback(elements[i]);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;case'password':case'text':case'textarea':case'select-one':case'select-multiple':Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}}
Form.Element.EventObserver=Class.create();Form.Element.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create();Form.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.serialize(this.element);}});if(!window.Event){var Event=new Object();}
Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(event){return event.target||event.srcElement;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.returnValue=false;event.cancelBubble=true;}},findElement:function(event,tagName){var element=Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;return element;},observers:false,_observeAndCache:function(element,name,observer,useCapture){if(!this.observers)this.observers=[];if(element.addEventListener){this.observers.push([element,name,observer,useCapture]);element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){this.observers.push([element,name,observer,useCapture]);element.attachEvent('on'+name,observer);}},unloadCache:function(){if(!Event.observers)return;for(var i=0;i<Event.observers.length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null;}
Event.observers=false;},observe:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';this._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent))
name='keydown';if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){element.detachEvent('on'+name,observer);}}});Event.observe(window,'unload',Event.unloadCache,false);var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},realOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return[valueL,valueT];},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return[valueL,valueT];},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return[valueL,valueT];},offsetParent:function(element){if(element.offsetParent)return element.offsetParent;if(element==document.body)return element;while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return element;return document.body;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=this.realOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=this.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},clone:function(source,target){source=$(source);target=$(target);target.style.position='absolute';var offsets=this.cumulativeOffset(source);target.style.top=offsets[1]+'px';target.style.left=offsets[0]+'px';target.style.width=source.offsetWidth+'px';target.style.height=source.offsetHeight+'px';},page:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}while(element=element.parentNode);return[valueL,valueT];},clone:function(source,target){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{})
source=$(source);var p=Position.page(source);target=$(target);var delta=[0,0];var parent=null;if(Element.getStyle(target,'position')=='absolute'){parent=Position.offsetParent(target);delta=Position.page(parent);}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)target.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)target.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)target.style.width=source.offsetWidth+'px';if(options.setHeight)target.style.height=source.offsetHeight+'px';},absolutize:function(element){element=$(element);if(element.style.position=='absolute')return;Position.prepare();var offsets=Position.positionedOffset(element);var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';;element.style.left=left+'px';;element.style.width=width+'px';;element.style.height=height+'px';;},relativize:function(element){element=$(element);if(element.style.position=='relative')return;Position.prepare();element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;}}
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){Position.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return[valueL,valueT];}}
var Scriptaculous={Version:'1.5.1',require:function(libraryName){document.write('<script type="text/javascript" src="'+libraryName+'"></script>');},load:function(){if((typeof Prototype=='undefined')||parseFloat(Prototype.Version.split(".")[0]+"."+
Prototype.Version.split(".")[1])<1.4)
throw("script.aculo.us requires the Prototype JavaScript framework >= 1.4.0");$A(document.getElementsByTagName("script")).findAll(function(s){return(s.src&&s.src.match(/scriptaculous\.js(\?.*)?$/))}).each(function(s){var path=s.src.replace(/scriptaculous\.js(\?.*)?$/,'');var includes=s.src.match(/\?.*load=([a-z,]*)/);(includes?includes[1]:'builder,effects,dragdrop,controls,slider').split(',').each(function(include){Scriptaculous.require(path+include+'.js')});});}}
Scriptaculous.load();