META-INF.resources.oam.custom.navmenu.jscookmenu.JSCookMenu.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tomahawk21 Show documentation
Show all versions of tomahawk21 Show documentation
JSF components and utilities that can be used with any JSF implementation.
This library is based on the JSF1.1 version of Tomahawk, but with minor source code and build
changes to take advantage of JSF2.1 features. A JSF2.1 implementation is required to use this
version of the Tomahawk library.
The newest version!
var _cmNodeProperties={prefix:"",mainFolderLeft:"",mainFolderRight:"",mainItemLeft:"",mainItemRight:"",folderLeft:"",folderRight:"",itemLeft:"",itemRight:"",mainSpacing:0,subSpacing:0,delay:500,zIndexStart:1000,zIndexInc:5,subMenuHeader:null,subMenuFooter:null,offsetHMainAdjust:[0,0],offsetVMainAdjust:[0,0],offsetSubAdjust:[0,0],clickOpen:1,effect:null};var _cmIDCount=0;var _cmIDName="cmSubMenuID";var _cmTimeOut=null;var _cmCurrentItem=null;var _cmNoAction=new Object();var _cmNoClick=new Object();var _cmSplit=new Object();var _cmMenuList=new Array();var _cmItemList=new Array();var _cmFrameList=new Array();var _cmFrameListSize=0;var _cmFrameIDCount=0;var _cmFrameMasking=true;
/*@cc_on
@if (@_jscript_version >= 5.6)
if (_cmFrameMasking)
{
var v = navigator.appVersion;
var i = v.indexOf ("MSIE ");
if (i >= 0)
{
if (parseInt (navigator.appVersion.substring (i + 5)) >= 7)
_cmFrameMasking = false;
}
}
@end
@*/
var _cmClicked=false;var _cmHideObjects=0;function cmClone(A){var B=new Object();for(v in A){B[v]=A[v];}return B;}function cmAllocMenu(G,F,B,A,C){var D=new Object();D.div=G;D.menu=F;D.orient=B;D.nodeProperties=A;D.prefix=C;var E=_cmMenuList.length;_cmMenuList[E]=D;return E;}function cmAllocFrame(){if(_cmFrameListSize>0){return cmGetObject(_cmFrameList[--_cmFrameListSize]);}var A=document.createElement("iframe");var B=_cmFrameIDCount++;A.id="cmFrame"+B;A.frameBorder="0";A.style.display="none";A.src="javascript:false";document.body.appendChild(A);A.style.filter="alpha(opacity=0)";A.style.zIndex=99;A.style.position="absolute";A.style.border="0";A.scrolling="no";return A;}function cmFreeFrame(A){_cmFrameList[_cmFrameListSize++]=A.id;}function cmNewID(){return _cmIDName+(++_cmIDCount);}function cmActionItem(J,I,H,D,A){_cmItemList[_cmItemList.length]=J;var F=_cmItemList.length-1;H=(!H)?"null":("'"+H+"'");var E=D.nodeProperties.clickOpen;var G=(E==3)||(E==2&&I);var C="this,"+I+","+H+","+A+","+F;var B;if(G){B=' onmouseover="cmItemMouseOver('+C+',false)" onmousedown="cmItemMouseDownOpenSub ('+C+')"';}else{B=' onmouseover="cmItemMouseOverOpenSub ('+C+')" onmousedown="cmItemMouseDown ('+C+')"';}return B+' onmouseout="cmItemMouseOut ('+C+')" onmouseup="cmItemMouseUp ('+C+')"';}function cmNoClickItem(D,B,A,E,G){_cmItemList[_cmItemList.length]=D;var C=_cmItemList.length-1;A=(!A)?"null":("'"+A+"'");var F="this,"+B+","+A+","+G+","+C;return' onmouseover="cmItemMouseOver ('+F+')" onmouseout="cmItemMouseOut ('+F+')"';}function cmNoActionItem(A){return A[1];}function cmSplitItem(prefix,isMain,vertical){var classStr="cm"+prefix;if(isMain){classStr+="Main";if(vertical){classStr+="HSplit";}else{classStr+="VSplit";}}else{classStr+="HSplit";}return eval(classStr);}function cmDrawSubMenu(G,J,B,N,D,E,A){var K='';if(N.subMenuHeader){K+=N.subMenuHeader;}K+='';var I="";var M;var L;var C;var H;var F;for(H=5;H5);L=C?cmNewID():null;K+='";if(M[0]==_cmNoAction||M[0]==_cmNoClick){K+=cmNoActionItem(M);K+=" ";continue;}F=J+"Menu";F+=C?"Folder":"Item";K+='';if(M[0]!=null){K+=M[0];}else{K+=C?N.folderLeft:N.itemLeft;}K+=' '+M[1];K+=' ';if(C){K+=N.folderRight;I+=cmDrawSubMenu(M,J,L,N,D+N.zIndexInc,E,A);}else{K+=N.itemRight;}K+=" ";}K+="
";if(N.subMenuFooter){K+=N.subMenuFooter;}K+=""+I;return K;}function cmDraw(B,C,H,P,L){var J=cmGetObject(B);if(!L){L=P.prefix;}if(!L){L="";}if(!P){P=_cmNodeProperties;}if(!H){H="hbr";}var A=cmAllocMenu(B,C,H,P,L);var F=_cmMenuList[A];if(!P.delay){P.delay=_cmNodeProperties.delay;}if(!P.clickOpen){P.clickOpen=_cmNodeProperties.clickOpen;}if(!P.zIndexStart){P.zIndexStart=_cmNodeProperties.zIndexStart;}if(!P.zIndexInc){P.zIndexInc=_cmNodeProperties.zIndexInc;}if(!P.offsetHMainAdjust){P.offsetHMainAdjust=_cmNodeProperties.offsetHMainAdjust;}if(!P.offsetVMainAdjust){P.offsetVMainAdjust=_cmNodeProperties.offsetVMainAdjust;}if(!P.offsetSubAdjust){P.offsetSubAdjust=_cmNodeProperties.offsetSubAdjust;}F.cmFrameMasking=_cmFrameMasking;var M='';var K="";var E;if(H.charAt(0)=="h"){M+="";E=false;}else{E=true;}var I;var O;var N;var D;var G;for(I=0;I5);N=D?cmNewID():null;M+=cmActionItem(O,1,N,F,A)+">";if(O==_cmSplit){O=cmSplitItem(L,1,E);}if(O[0]==_cmNoAction||O[0]==_cmNoClick){M+=cmNoActionItem(O);M+=E?" ":"";continue;}G=L+"Main"+(D?"Folder":"Item");M+=E?"';M+=(O[0]==null)?(D?P.mainFolderLeft:P.mainItemLeft):O[0];M+=E?" ":"";M+=E?"';M+=O[1];M+=E?" ":"";M+=E?"';M+=D?P.mainFolderRight:P.mainItemRight;M+=E?" ":"";M+=E?"":"";if(D){K+=cmDrawSubMenu(O,L,N,P,P.zIndexStart,F,A);}}if(!E){M+="";}M+="
"+K;J.innerHTML=M;}function cmDrawFromText(H,C,B,E){var F=cmGetObject(H);var G=null;for(var D=F.firstChild;D;D=D.nextSibling){if(!D.tagName){continue;}var A=D.tagName.toLowerCase();if(A!="ul"&&A!="ol"){continue;}G=cmDrawFromTextSubMenu(D);break;}if(G){cmDraw(H,G,C,B,E);}}function cmDrawFromTextSubMenu(H){var D=new Array();for(var G=H.firstChild;G;G=G.nextSibling){if(!G.tagName||G.tagName.toLowerCase()!="li"){continue;}if(G.firstChild==null){D[D.length]=_cmSplit;continue;}var F=new Array();var E=G.firstChild;var C=false;for(;E;E=E.nextSibling){if(!E.tagName){continue;}if(E.className=="cmNoClick"){F[0]=_cmNoClick;F[1]=getActionHTML(E);C=true;break;}if(E.className=="cmNoAction"){F[0]=_cmNoAction;F[1]=getActionHTML(E);C=true;break;}var A=E.tagName.toLowerCase();if(A!="span"){continue;}if(!E.firstChild){F[0]=null;}else{F[0]=E.innerHTML;}E=E.nextSibling;break;}if(C){D[D.length]=F;continue;}if(!E){continue;}for(;E;E=E.nextSibling){if(!E.tagName){continue;}var A=E.tagName.toLowerCase();if(A=="a"){F[1]=E.innerHTML;F[2]=E.href;F[3]=E.target;F[4]=E.title;if(F[4]==""){F[4]=null;}}else{if(A=="span"||A=="div"){F[1]=E.innerHTML;F[2]=null;F[3]=null;F[4]=null;}}break;}for(;E;E=E.nextSibling){if(!E.tagName){continue;}var A=E.tagName.toLowerCase();if(A!="ul"&&A!="ol"){continue;}var B=cmDrawFromTextSubMenu(E);for(i=0;i2){I=L[2];}if(L.length>3&&L[3]){H=L[3];}if(I!=null){_cmClicked=false;window.open(I,H);}var D=_cmMenuList[A];var F=D.prefix;var C=cmGetThisMenu(E,F);var B=(L.length>5);if(!B){if(cmIsDefaultItem(L)){if(E.cmIsMain){E.className=F+"MainItem";}else{E.className=F+"MenuItem";}}cmHideMenu(C,null,D);}else{if(cmIsDefaultItem(L)){if(E.cmIsMain){E.className=F+"MainItemHover";}else{E.className=F+"MenuItemHover";}}}}function cmMoveSubMenu(obj,isMain,subMenu,menuInfo){var orient=menuInfo.orient;var offsetAdjust;if(isMain){if(orient.charAt(0)=="h"){offsetAdjust=menuInfo.nodeProperties.offsetHMainAdjust;}else{offsetAdjust=menuInfo.nodeProperties.offsetVMainAdjust;}}else{offsetAdjust=menuInfo.nodeProperties.offsetSubAdjust;}if(!isMain&&orient.charAt(0)=="h"){orient="v"+orient.charAt(1)+orient.charAt(2);}var mode=String(orient);var p=subMenu.offsetParent;var subMenuWidth=cmGetWidth(subMenu);var horiz=cmGetHorizontalAlign(obj,mode,p,subMenuWidth);if(mode.charAt(0)=="h"){if(mode.charAt(1)=="b"){subMenu.style.top=(cmGetYAt(obj,p)+cmGetHeight(obj)+offsetAdjust[1])+"px";}else{subMenu.style.top=(cmGetYAt(obj,p)-cmGetHeight(subMenu)-offsetAdjust[1])+"px";}if(horiz=="r"){subMenu.style.left=(cmGetXAt(obj,p)+offsetAdjust[0])+"px";}else{subMenu.style.left=(cmGetXAt(obj,p)+cmGetWidth(obj)-subMenuWidth-offsetAdjust[0])+"px";}}else{if(horiz=="r"){subMenu.style.left=(cmGetXAt(obj,p)+cmGetWidth(obj)+offsetAdjust[0])+"px";}else{subMenu.style.left=(cmGetXAt(obj,p)-subMenuWidth-offsetAdjust[0])+"px";}if(mode.charAt(1)=="b"){subMenu.style.top=(cmGetYAt(obj,p)+offsetAdjust[1])+"px";}else{subMenu.style.top=(cmGetYAt(obj,p)+cmGetHeight(obj)-cmGetHeight(subMenu)+offsetAdjust[1])+"px";}}
/*@cc_on
@if (@_jscript_version >= 5.5)
if (menuInfo.cmFrameMasking)
{
if (!subMenu.cmFrameObj)
{
var frameObj = cmAllocFrame ();
subMenu.cmFrameObj = frameObj;
}
var frameObj = subMenu.cmFrameObj;
frameObj.style.zIndex = subMenu.style.zIndex - 1;
frameObj.style.left = (cmGetX (subMenu) - cmGetX (frameObj.offsetParent)) + 'px';
frameObj.style.top = (cmGetY (subMenu) - cmGetY (frameObj.offsetParent)) + 'px';
frameObj.style.width = cmGetWidth (subMenu) + 'px';
frameObj.style.height = cmGetHeight (subMenu) + 'px';
frameObj.style.display = 'block';
}
@end
@*/
if(horiz!=orient.charAt(2)){orient=orient.charAt(0)+orient.charAt(1)+horiz;}return orient;}function cmGetHorizontalAlign(F,G,E,C){var H=G.charAt(2);if(!(document.body)){return H;}var A=document.body;var B;var D;if(window.innerWidth){B=window.pageXOffset;D=window.innerWidth+B;}else{if(A.clientWidth){B=A.clientLeft;D=A.clientWidth+B;}else{return H;}}if(G.charAt(0)=="h"){if(H=="r"&&(cmGetXAt(F)+C)>D){H="l";}if(H=="l"&&(cmGetXAt(F)+cmGetWidth(F)-C)D){H="l";}if(H=="l"&&(cmGetXAt(F,E)-C)= 5.5)
if (subMenu.cmFrameObj)
subMenu.cmFrameObj.style.display = 'block';
@end
@*/
}}if(!_cmHideObjects){_cmHideObjects=2;try{if(window.opera){if(parseInt(navigator.appVersion)<9){_cmHideObjects=1;}}}catch(e){}}if(_cmHideObjects==1){if(!subMenu.cmOverlap){subMenu.cmOverlap=new Array();}cmHideControl("IFRAME",subMenu);cmHideControl("OBJECT",subMenu);}}function cmResetMenu(D,C){if(D.cmItems){var B;var E;var A=D.cmItems;for(B=0;B= 5.5)
if (thisMenu.cmFrameObj)
{
var frameObj = thisMenu.cmFrameObj;
frameObj.style.display = 'none';
frameObj.style.width = '1px';
frameObj.style.height = '1px';
thisMenu.cmFrameObj = null;
cmFreeFrame (frameObj);
}
@end
@*/
}cmShowControl(thisMenu);thisMenu.cmItems=null;}function cmHideMenu(E,D,C){var B=C.prefix;var F=B+"SubMenu";if(E.cmSubMenu){var A;for(A=0;A(J+K)||(B+C)(I+H)||(A+L)0||!cmIsTRNode(B)){return A;}if(!B.firstChild){return 0;}return B.lastChild.offsetLeft-B.firstChild.offsetLeft+cmGetWidth(B.lastChild);}function cmGetHeight(B){var A=B.offsetHeight;if(A>0||!cmIsTRNode(B)){return A;}if(!B.firstChild){return 0;}return B.firstChild.offsetHeight;}function cmGetX(B){if(!B){return 0;}var A=0;do{A+=B.offsetLeft;B=B.offsetParent;}while(B);return A;}function cmGetXAt(B,C){var A=0;while(B&&B!=C){A+=B.offsetLeft;B=B.offsetParent;}if(B==C){return A;}return A-cmGetX(C);}function cmGetY(A){if(!A){return 0;}var B=0;do{B+=A.offsetTop;A=A.offsetParent;}while(A);return B;}function cmIsTRNode(B){var A=B.tagName;return A=="TR"||A=="tr"||A=="Tr"||A=="tR";}function cmGetYAt(B,D){var C=0;if(!B.offsetHeight&&cmIsTRNode(B)){var A=B.parentNode.firstChild;B=B.firstChild;C-=A.firstChild.offsetTop;}while(B&&B!=D){C+=B.offsetTop;B=B.offsetParent;}if(B==D){return C;}return C-cmGetY(D);}function cmSetStatus(A){var B="";if(A.length>4){B=(A[4]!=null)?A[4]:(A[2]?A[2]:B);}else{if(A.length>2){B=(A[2]?A[2]:B);}}window.defaultStatus=B;}function cmGetProperties(B){if(B==undefined){return"undefined";}if(B==null){return"null";}var C=B+":\n";var A;for(A in B){C+=A+" = "+B[A]+"; ";}return C;}