function hasSupport(){if(typeof hasSupport.support!="undefined") return hasSupport.support;var ie5=/msie 5\.[0-9]/i.test(navigator.userAgent);hasSupport.support=(typeof document.implementation!="undefined"&&document.implementation.hasFeature("html","1.0")||ie5) if(ie5){document._getAllElements=function(){return document.all;}}else{document._getAllElements=function(){return document.getElementsByTagName("*");}} return hasSupport.support;} var groups=new Array();var ieMac=navigator.appVersion.indexOf("MSIE")>=0&&navigator.appVersion.indexOf("Mac")>=0;function WebFXTabPane(el,bUseCookie){if(!hasSupport()||el==null)return;this.element=el;this.element.tabPane=this;var cn=this.element.className;this.group=cn.length>8?cn.substring(9,cn.length):null;if(this.group){if(!groups[this.group])groups[this.group]=new Array();groups[this.group][groups[this.group].length]=this.element.id;} this.pages=[];this.selectedIndex=null;this.useCookie=false;this.element.className=this.classNameTag+" "+this.element.className;this.tabRow=document.createElement("div");this.tabRow.className="tab-row";if(ieMac)this.tabRow.style.height="1px";el.insertBefore(this.tabRow,el.firstChild);var tabIndex=0;tabIndex=Number(WebFXTabPane.getCookie("webfxtab_"+this.element.id));if(isNaN(tabIndex)) tabIndex=0;this.selectedIndex=tabIndex;var n;var cs=el.childNodes;for(var i=0;i=this.pages.length) this.setSelectedIndex(0);} WebFXTabPane.prototype.classNameTag="dynamic-tab-pane-control";WebFXTabPane.prototype.setSelectedIndex=function(n){if(n>this.pages.length) n=0;if(this.selectedIndex!=n){if(this.selectedIndex!=null&&this.pages[this.selectedIndex]!=null) this.pages[this.selectedIndex].hide();this.selectedIndex=n;this.pages[this.selectedIndex].show();if(this.useCookie) WebFXTabPane.setCookie("webfxtab_"+this.element.id,n);}};WebFXTabPane.prototype.getSelectedIndex=function(){return this.selectedIndex;};WebFXTabPane.prototype.addTabPage=function(oElement){if(!hasSupport())return;if(oElement.tabPage==this) return oElement.tabPage;var n=this.pages.length;var tp=this.pages[n]=new WebFXTabPage(oElement,this,n);tp.tabPane=this;this.tabRow.appendChild(tp.tab);if(n==this.selectedIndex) tp.show();else tp.hide();return tp;};WebFXTabPane.prototype.dispose=function(){this.element.tabPane=null;this.element=null;this.tabRow=null;for(var i=0;i=0;i--){tabPanes[i].dispose();tabPanes[i]=null;}} function setSelectedTab(tabPaneId,index){document.cookie="webfxtab_"+tabPaneId+"="+index+"; path=/";var elt=$(tabPaneId);if(!elt){return;} var tabpane=elt.tabPane;if(!tabpane){return;} tabpane.setSelectedIndex(index);} function setSelectedLanguageTab(langIndex){if(!document.TabPaneSetupAllTabsDone){document.TabPaneLanguageTab=langIndex;return;} var g=groups["lang"];if(g==null||g=="undefined"){return;} for(var i=0;ifirst){tmp=array[pos].value;array[pos].value=array[pos-1].value;array[pos-1].value=tmp;}else{tmp=array[first].value;for(i=first;ifirst;i--){array[i].value=array[i-1].value;} array[first].value=tmp;}} else if(op=="remove"){for(i=pos;ifirst){tmp1=array[pos].value;tmp2=array[pos+1].value;array[pos].value=array[pos-2].value;array[pos+1].value=array[pos-1].value;array[pos-2].value=tmp1;array[pos-1].value=tmp2;}else{tmp1=array[first].value;tmp2=array[first+1].value;for(i=first;ifirst;i-=2){array[i].value=array[i-2].value;array[i+1].value=array[i-1].value;} array[first].value=tmp1;array[first+1].value=tmp2;}} else if(op=="remove"){for(i=pos;ifirst){tmp1=array[pos].value;tmp2=array[pos+1].value;tmp3=array[pos+2].value;array[pos].value=array[pos-3].value;array[pos+1].value=array[pos-2].value;array[pos+2].value=array[pos-1].value;array[pos-3].value=tmp1;array[pos-2].value=tmp2;array[pos-1].value=tmp3;}else{tmp1=array[first].value;tmp2=array[first+1].value;tmp3=array[first+2].value;for(i=first;ifirst;i-=3){array[i].value=array[i-3].value;array[i+1].value=array[i-2].value;array[i+2].value=array[i-1].value;} array[first].value=tmp1;array[first+1].value=tmp2;array[first+2].value=tmp3;}} else if(op=="remove"){for(i=pos;i-1)){count++;}} return count;} function getFormElementPos(form,name,id){var elms=form.elements;for(var i=0;i0&&first) break;continue;} if(!id){last=i;continue;} if(elms[i].id.indexOf(id)>-1){last=i;continue;} if(last>0&&first) break;} return last;} function toggleSingleSubmitButton(evt,form,on){if(this.elements){form=this;} var elements=$(form.elements);for(var i=0;i Loading...";li.appendChild(ul);Ajax.Tree.toggleOpenClose(img);Ajax.Tree.downloadChildren(img,ajaxSuffix,ul);},toggleOpenClose:function(img){var li=img.parentNode;if(Element.hasClassName(li,'close')){Element.removeClassName(li,'close');Element.addClassName(li,'open');} else{Element.removeClassName(li,'open');Element.addClassName(li,'close');}},getAjaxSuffix:function(elm){if(!elm){return;} var elm=$(elm);if(elm.id&&elm.id.indexOf('proxy')>=0){return elm.id.substring(6);} var ul=elm.up('UL.TreeCat');if(!ul){return;} JcmsLogger.debug('TreeCat','getAjaxSuffix():',ul.id);return ul.id;},getCategoryId:function(elm){if(!elm){return;} if(elm.tagName=='LI'){return Ajax.Tree.getCategoryId(elm.down(0));} else if(elm.tagName=='IMG'){return elm.id;} else{return Ajax.Tree.getCategoryId(elm.up('UL.TreeCat LI'));}},_getRpcTree:function(ajaxSuffix){if(!ajaxSuffix){return JcmsJsContext.getJsonRPC().AjaxTree;} else{return JcmsJsContext.getJsonRPC()['AjaxTree'+ajaxSuffix];}},_callbackRefresh:function(ajaxSuffix,returnEffect,openId){JcmsLogger.debug('TreeCat','Callback Refresh',ajaxSuffix,returnEffect,openId);if(ajaxSuffix){if(openId){var ids=new Array();ids.push(openId);Ajax.Tree.refresh(ajaxSuffix,ids);} else{Ajax.Tree.refresh(ajaxSuffix);}}},_handleRPCResponse:function(jsonRequest,msg,returnValue){if(msg){alert(msg);jsonRequest.asyncJsonCallBack();return;} jsonRequest.asyncJsonCallBack(returnValue);},_initTreeCat:function(){JcmsLogger.info('TreeCat','Init TreeCat');if(!Ajax.Tree.enableDragNDrop){return;} $$('UL.TreeCat').each(function(elm,idx){if(elm.hasClassName('dragdrop')){Ajax.Tree._initDragDrop(elm);}});},dispose:function(){if(!Ajax.Tree.enableDragNDrop){return;} $$('UL.TreeCat').each(function(elm,idx){Ajax.Tree._disposeUL(elm);});Ajax.Tree.dragdropArray.clear();},_disposeLI:function(li){if(li.draggable){li.draggable.destroy();li.draggable=null;} Droppables.remove(li);},_disposeUL:function(ul){var ul=$(ul);$A(ul.getElementsByTagName('LI')).each(function(li,idx){Ajax.Tree._disposeLI(li);Ajax.Tree.dragdropArray.splice(idx,1);});$A(ul.getElementsByTagName('A')).each(function(ahref,idx){ahref.onclick=null;});},_initDragDrop:function(ul){var ul=$(ul);$A(ul.getElementsByTagName('LI')).each(function(li,idx){var li=$(li);var anchor=li.down('IMG.visual');Event.observe(anchor,'mousedown',Ajax.Tree._lazyDrag);Droppables.remove(li);Droppables.add(li,{greedy:false,onHover:Ajax.Tree._onHover,onDrop:Ajax.Tree._onDrop});Ajax.Tree.dragdropArray.push(li);});},_lazyDrag:function(event){var anchor=Event.element(event);JcmsLogger.debug('TreeCat','_lazyDrag',anchor);var li=anchor.up('LI');if(li.draggable){li.draggable.destroy();} li.draggable=new Draggable(li,{revert:true,handle:'visual'});Event.stopObserving(anchor,'mousedown',Ajax.Tree._lazyDrag);li.draggable.initDrag(event);Draggables.updateDrag(event);},_stopEvent:function(event){Event.stop(event);},_onChange:function(dragElm){if(!dragElm.element.dragObserver){JcmsLogger.debug('TreeCat','Start dragObserver');Event.observe(dragElm.element,'click',Ajax.Tree._stopEvent);dragElm.element.dragObserver=true;}},_onHover:function(dragElm,dropElm,overlap){if(dropElm.className.indexOf('droppable')>=0){return;} if(dragElm.oldDropElm&&dragElm.oldDropElm!=dropElm){dragElm.oldDropElm.removeClassName('droppable');} dropElm.addClassName('droppable');dragElm.oldDropElm= dropElm;},_onDrop:function(dragElm,dropElm,event){if(dragElm.oldDropElm){dragElm.oldDropElm.removeClassName('droppable');} if(dragElm.up('LI')==dropElm){return;} var dnd=top.confirm(I18N.glp('msg.confirm.dragdrop'));if(dnd){dragElm.hide();Ajax.Tree.setParent(Ajax.Tree.getAjaxSuffix(dragElm),Ajax.Tree.getCategoryId(dragElm),Ajax.Tree.getCategoryId(dropElm));}}} Event.observe(window,'load',function(){Ajax.Tree._initTreeCat();});if(navigator.appVersion.match(/\bMSIE\b/)){Event.observe(window,'unload',function(){Ajax.Tree.dispose();},false);} Event.observe(window,'load',function(){Ajax.Autochooser.initChoosers();});Ajax.Autochooser={initLanguage:function(){if(I18N.lang=='en'){I18N['info.msg.autocomplete']='Enter searched text';I18N['info.msg.autocomplete.done']='Category selected !';} else if(I18N.lang=='fr'){I18N['info.msg.autocomplete']='Entrer le texte à rechercher';I18N['info.msg.autocomplete.done']='Catégorie sélectionnée';}},initChoosers:function(){JcmsLogger.info("Autochooser","Init Autochooser Manager");Ajax.Autochooser.initLanguage();Ajax.Autochooser.autoCompleteDiv=$(document.createElement('DIV'));Ajax.Autochooser.autoCompleteDiv.addClassName('autocomplete');document.body.appendChild(Ajax.Autochooser.autoCompleteDiv);$$('DIV.DataChooser INPUT.formChooserLabelfield').each(function(elm,idx){Ajax.Autochooser._initElement(elm);});Ajax.Autochooser._initTreecat();},_initChoosersLazy:function(elm){JcmsLogger.info("Autochooser","Init Autochooser Lazy");var field=elm.up('DIV.DataChooser');if(!field){return;} var type=field.className.match(/UI_EDITOR_\S+/);if(!type){return;} if('UI_EDITOR_PUBLICATIONCHOOSER'==type){Ajax.Autochooser._initPublications(elm,field);}else if('UI_EDITOR_CATEGORYCHOOSER'==type){Ajax.Autochooser._initCategories(elm,field);}else if('UI_EDITOR_CATEGORIESCHOOSER'==type){Ajax.Autochooser._initCategories(elm,field);}else if('UI_EDITOR_GROUPCHOOSER'==type){Ajax.Autochooser._initGroups(elm,field);}else if('UI_EDITOR_MEMBERCHOOSER'==type){Ajax.Autochooser._initMembers(elm,field);}else if('UI_EDITOR_WORKSPACECHOOSER'==type){Ajax.Autochooser._initWorkspace(elm,field);}},/**/ _initElement:function(input){input=$(input);input.disabled='';input.addClassName('autocomplete');var observer=function(){Event.stopObserving(input,'focus',observer);Ajax.Autochooser._initChoosersLazy(input);};Event.observe(input,'focus',observer);},_initPublications:function(input,field){var type=Ajax.Autochooser._getChooserContentType(field);if(JcmsLogger.isDebug&&JcmsLogger.Autochooser){var inputName=input.next('INPUT.formChooserfield').name;JcmsLogger.debug("Autochooser",inputName+" Type:",type);} Ajax.Autochooser._newAutocompleter(input,"jcore/autocomplete/acpublication.jsp?type="+type);},_initMembers:function(input,field){var gids=Ajax.Autochooser._getChooserGroups(field);if(JcmsLogger.isDebug&&JcmsLogger.Autochooser){var inputName=input.next('INPUT.formChooserfield').name;JcmsLogger.debug("Autochooser",inputName+" Groups:",gids);} Ajax.Autochooser._newAutocompleter(input,"jcore/autocomplete/acmember.jsp?"+gids);},_initGroups:function(input,field){var gids=Ajax.Autochooser._getChooserGroups(field);if(JcmsLogger.isDebug&&JcmsLogger.Autochooser){var inputName=input.next('INPUT.formChooserfield').name;JcmsLogger.debug("Autochooser",inputName+" Groups:",gids);} Ajax.Autochooser._newAutocompleter(input,"jcore/autocomplete/acgroup.jsp?"+gids);},_initCategories:function(input,field){Ajax.Autochooser._newAutocompleter(input,"jcore/autocomplete/accategory.jsp");},/**/ _initWorkspace:function(input,field){Ajax.Autochooser._newAutocompleter(input,"jcore/autocomplete/acworkspace.jsp");},_newAutocompleter:function(input,url){new Ajax.Autocompleter(input,Ajax.Autochooser.autoCompleteDiv,url,{paramName:'autocomplete',minChars:2,afterUpdateElement:Ajax.Autochooser._populate});},_initTreecat:function(){$$('UL.TreeCat').each(function(elm,idx){elm=$(elm);if(!elm.hasClassName('autocomplete')){return;} var tfId=elm.id+'_autocomplete';var tf=$(tfId);if(tf){tf.value=I18N.glp('info.msg.autocomplete');return;} var textfield=document.createElement("INPUT");textfield.type='text';textfield.className='formTextfield autocomplete treecatcomplete';textfield.treecat=elm.id;textfield.value=I18N.glp('info.msg.autocomplete');textfield.id=tfId;textfield.tabIndex="1";elm.parentNode.insertBefore(textfield,elm);Event.observe(textfield,'focus',function(){textfield.value="";});new Ajax.Autocompleter(textfield,Ajax.Autochooser.autoCompleteDiv,"jcore/autocomplete/accategory.jsp?cids="+elm.id,{paramName:'autocomplete',minChars:2,afterUpdateElement:Ajax.Autochooser._populateTreeCat});});},_getChooserContentType:function(field){var type=field.className.match(/Type_\S+/);if(!type){JcmsLogger.warn("Autochooser","Missing Publication chooser type");return;} return type.toString().substr(5);},_getChooserGroups:function(field){var gids=field.className.match(/gids_\S+/g);if(!gids){return "";} var gids=gids.join('&').replace(/gids_/g,'gids=');return gids;},_checkItem:function(input,li){var li=$(li);if(li.hasClassName('info')){input.value=I18N.glp('info.msg.autocomplete');return false;} if(li.hasClassName('nomatch')){input.value=I18N.glp('info.msg.autocomplete');return false;} return true;},_populate:function(input,li){var input=$(input);if(!Ajax.Autochooser._checkItem(input,li)) return;var chooser=input.next('INPUT.formChooserfield');chooser.value=li.id.substring(5);},_populateTreeCat:function(input,li){var input=$(input);if(!Ajax.Autochooser._checkItem(input,li)) return;input.value=I18N.glp('info.msg.autocomplete.done');input.addClassName('treecatrefresh');input.blur();setTimeout(function(){input.value=I18N.glp('info.msg.autocomplete');input.removeClassName('treecatrefresh');},2000);Ajax.Tree.refresh(input.treecat,li.id.substring(5),true);}} function TextAreaResizer(elt){this.textarea=elt;this.create();} TextAreaResizer.prototype={create:function(){this.handle=document.createElement("DIV");this.handle.className="textarea-resizer";this.handle.title=I18N.glp('ui.textarea-resizer.title');var textAreaWidth=$(this.textarea).getDimensions().width;if(textAreaWidth>0){this.handle.style.width=(textAreaWidth-2)+"px";} this.textarea.parentNode.insertBefore(this.handle,this.textarea.nextSibling);$(this.textarea).addClassName("textarea-resized");this.dragStartHdlr=function(evt){this.dragStart(evt);}.bind(this);this.dragMoveHdlr=function(evt){this.dragMove(evt);}.bind(this);this.dragStopHdlr=function(evt){this.dragStop(evt);}.bind(this);this.autoResizeHdlr=function(evt){this.autoResize(evt);}.bind(this);Event.observe(this.handle,'mousedown',this.dragStartHdlr);Event.observe(this.textarea,'keyup',this.autoResizeHdlr);},dragStart:function(evt){this.hasBeenResized=true;this.dragStartY=Event.pointerY(evt);this.dragStartH=$(this.textarea).getDimensions().height;Event.observe(document,'mousemove',this.dragMoveHdlr);Event.observe(document,'mouseup',this.dragStopHdlr);},dragMove:function(evt){var newHeight=this.dragStartH+Event.pointerY(evt)-this.dragStartY;if(newHeight>15){this.textarea.style.height=newHeight+"px";}},dragStop:function(evt){Event.stopObserving(document,"mousemove",this.dragMoveHdlr);Event.stopObserving(document,"mouseup",this.dragStopHdlr);},autoResize:function(evt){if(this.hasBeenResized){return;};var ta=this.textarea;var lines=ta.value.split('\n');var rows=1;for(i=0;i=ta.cols){rows+=Math.floor(lines[i].length/ta.cols);}} rows+=lines.length;if(rows>ta.rows&&rows<20){ta.rows=rows;}}};function initTextAreaResizer(){if(document.TextAreaResizerDone){return;} document.TextAreaResizerDone=true;$A(document.getElementsByTagName("TEXTAREA")).each(function(textarea){if(textarea.className.indexOf("resizable")!=-1){var taResizer=new TextAreaResizer(textarea);taResizer.autoResize();}});}