-
Notifications
You must be signed in to change notification settings - Fork 0
/
jscookmenu.min.js
69 lines (64 loc) · 18.8 KB
/
jscookmenu.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
JSCookMenu v2.0.3 (c) Copyright 2002-2009 by Heng Yuan
http://jscook.sourceforge.net/JSCookMenu/
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Modified for WYSIWYG Web Builder 8 by Pablo Software Solutions
*/
var _cmNodeProperties={prefix:"",mainFolderLeft:"",mainFolderRight:"",mainItemLeft:"",mainItemRight:"",folderLeft:"",folderRight:"",itemLeft:"",itemRight:"",mainSpacing:0,subSpacing:0,delay:500,zIndexStart:1E3,zIndexInc:5,subMenuHeader:null,subMenuFooter:null,offsetHMainAdjust:[0,0],offsetVMainAdjust:[0,0],offsetSubAdjust:[0,0],clickOpen:0,effect:null},_cmIDCount=0,_cmIDName="cmSubMenuID",_cmTimeOut=null,_cmCurrentItem=null,_cmNoAction={},_cmNoClick={},_cmSplit={},_cmMenuList=[],_cmItemList=[],_cmFrameList=
[],_cmFrameListSize=0,_cmFrameIDCount=0,_cmFrameMasking=!1,_cmClicked=!1,_cmHideObjects=0;function cmClone(a){var b={};for(v in a)b[v]=a[v];return b}function cmAllocMenu(a,b,c,d,e){var f={};f.div=a;f.menu=b;f.orient=c;f.nodeProperties=d;f.prefix=e;a=_cmMenuList.length;_cmMenuList[a]=f;return a}
function cmAllocFrame(){if(0<_cmFrameListSize)return cmGetObject(_cmFrameList[--_cmFrameListSize]);var a=document.createElement("iframe"),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(a,b,c,d,e){_cmItemList[_cmItemList.length]=a;a=_cmItemList.length-1;d=d.nodeProperties.clickOpen;d=3==d||2==d&&b;b="this,"+b+","+(!c?"null":"'"+c+"'")+","+e+","+a;return null!=navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i)?' onclick="cmItemMouseOver('+b+",false);cmItemMouseDownOpenSub("+b+");cmItemMouseUp("+b+')"':(d?' onmouseover="cmItemMouseOver('+b+',false)" onmousedown="cmItemMouseDownOpenSub ('+b+')"':' onmouseover="cmItemMouseOverOpenSub ('+b+')" onmousedown="cmItemMouseDown ('+
b+')"')+' onmouseout="cmItemMouseOut ('+b+')" onmouseup="cmItemMouseUp ('+b+')"'}function cmNoClickItem(a,b,c,d,e){_cmItemList[_cmItemList.length]=a;a=_cmItemList.length-1;b="this,"+b+","+(!c?"null":"'"+c+"'")+","+e+","+a;return' onmouseover="cmItemMouseOver ('+b+')" onmouseout="cmItemMouseOut ('+b+')"'}function cmNoActionItem(a){return a[1]}function cmSplitItem(a,b,c){a="cm"+a;b?(a+="Main",a=c?a+"HSplit":a+"VSplit"):a+="HSplit";return eval(a)}
function cmDrawSubMenu(a,b,c,d,e,f,j){var g='<div class="'+b+'SubMenu" id="'+c+'" style="z-index: '+e+';position: absolute; top: 0px; left: 0px;">';d.subMenuHeader&&(g+=d.subMenuHeader);var g=g+('<table summary="sub menu" id="'+c+'Table" cellspacing="'+d.subSpacing+'" class="'+b+'SubMenuTable">'),h="",l,n,k,o,m;for(o=5;o<a.length;++o)if(l=a[o])l==_cmSplit&&(l=cmSplitItem(b,0,!0)),l.parentItem=a,l.subMenuID=c,n=(k=5<l.length)?cmNewID():null,g+='<tr class="'+b+'MenuItem"',g=l[0]!=_cmNoClick?g+cmActionItem(l,
0,n,f,j):g+cmNoClickItem(l,0,n,f,j),g+=">",l[0]==_cmNoAction||l[0]==_cmNoClick?(g+=cmNoActionItem(l),g+="</tr>"):(m=b+"Menu",m+=k?"Folder":"Item",g+='<td class="'+m+'Left">',g=null!=l[0]?g+l[0]:g+(k?d.folderLeft:d.itemLeft),g+='</td><td class="'+m+'Text">'+l[1],g+='</td><td class="'+m+'Right">',k?(g+=d.folderRight,h+=cmDrawSubMenu(l,b,n,d,e+d.zIndexInc,f,j)):g+=d.itemRight,g+="</td></tr>");g+="</table>";d.subMenuFooter&&(g+=d.subMenuFooter);return g+("</div>"+h)}
function cmDraw(a,b,c,d,e){var f=cmGetObject(a);e||(e=d.prefix);e||(e="");d||(d=_cmNodeProperties);c||(c="hbr");var j=cmAllocMenu(a,b,c,d,e),g=_cmMenuList[j];d.delay||(d.delay=_cmNodeProperties.delay);d.clickOpen||(d.clickOpen=_cmNodeProperties.clickOpen);d.zIndexStart||(d.zIndexStart=_cmNodeProperties.zIndexStart);d.zIndexInc||(d.zIndexInc=_cmNodeProperties.zIndexInc);d.offsetHMainAdjust||(d.offsetHMainAdjust=_cmNodeProperties.offsetHMainAdjust);d.offsetVMainAdjust||(d.offsetVMainAdjust=_cmNodeProperties.offsetVMainAdjust);
d.offsetSubAdjust||(d.offsetSubAdjust=_cmNodeProperties.offsetSubAdjust);g.cmFrameMasking=_cmFrameMasking;var c="h"!=c.charAt(0),h=null,h=c?'<table cellspacing="0" cellpadding="0" border="0" ><tr><td '+(' class="'+e+'MenuOuter" >')+'<table summary="main menu" cellpadding="0" border="0" '+(' class="'+e+'Menu" cellspacing="'+d.mainSpacing+'" >'):'<table summary="main menu" cellpadding="0" border="0" '+(' cellspacing="0" class="'+e+'MenuOuter" >')+"<tr>",l="",n,k,o,m,p;for(n=0;n<b.length;++n)if(k=b[n]){k.menu=
b;k.subMenuID=a;var q=k==_cmSplit||k[0]==_cmNoAction||k[0]==_cmNoClick,h=c?h+"<tr":q?h+"<td ":h+('<td><table class="'+e+'Menu" cellspacing="'+d.mainSpacing+'" cellpadding="0" border="0"><tr'),h=h+(' class="'+e+'MainItem"');o=(m=5<k.length)?cmNewID():null;h=q?h+(cmNoActionItem(k)+">"):h+(cmActionItem(k,1,o,g,j)+">");k==_cmSplit&&(k=cmSplitItem(e,1,c));if(k[0]==_cmNoAction||k[0]==_cmNoClick)h+=cmNoActionItem(k),h+=c?"</tr>":"</td>";else{var t=c,c=!0;p=e+"Main"+(m?"Folder":"Item");var r=m?d.mainFolderLeft:
d.mainItemLeft,s=m?d.mainFolderRight:d.mainItemRight;""!=r&&(h+=c?"<td":"<span",h+=' class="'+p+'Left">',h+=null==k[0]?r:k[0],h+=c?"</td>":"</span>");h+=c?"<td":"<span";h+=' class="'+p+'Text">';h+=k[1];h+=c?"</td>":"</span>";""!=s&&(h+=c?"<td":"<span",h+=' class="'+p+'Right">',h+=s,h+=c?"</td>":"</span>");(c=t)?h+="</tr>":q||(h+="</tr></table>");m&&(l+=cmDrawSubMenu(k,e,o,d,d.zIndexStart,g,j))}}f.innerHTML=(c?h+"</table></td></tr>":h+"</tr>")+("</table>"+l)}
function cmDrawFromText(a,b,c,d){for(var e=null,f=cmGetObject(a).firstChild;f;f=f.nextSibling)if(f.tagName){var j=f.tagName.toLowerCase();if(!("ul"!=j&&"ol"!=j)){e=cmDrawFromTextSubMenu(f);break}}e&&cmDraw(a,e,b,c,d)}
function cmDrawFromTextSubMenu(a){for(var b=[],a=a.firstChild;a;a=a.nextSibling)if(a.tagName&&"li"==a.tagName.toLowerCase())if(null==a.firstChild)b[b.length]=_cmSplit;else{for(var c=[],d=a.firstChild,e=!1;d;d=d.nextSibling)if(d.tagName){if("cmNoClick"==d.className){c[0]=_cmNoClick;c[1]=getActionHTML(d);e=!0;break}if("cmNoAction"==d.className){c[0]=_cmNoAction;c[1]=getActionHTML(d);e=!0;break}var f=d.tagName.toLowerCase();if("span"==f){c[0]=d.firstChild?d.innerHTML:null;d=d.nextSibling;break}}if(e)b[b.length]=
c;else if(d){for(;d;d=d.nextSibling)if(d.tagName){f=d.tagName.toLowerCase();if("a"==f)c[1]=d.innerHTML,c[2]=d.href,c[3]=d.target,c[4]=d.title,""==c[4]&&(c[4]=null);else if("span"==f||"div"==f)c[1]=d.innerHTML,c[2]=null,c[3]=null,c[4]=null;break}for(;d;d=d.nextSibling)if(d.tagName&&(f=d.tagName.toLowerCase(),!("ul"!=f&&"ol"!=f))){d=cmDrawFromTextSubMenu(d);for(i=0;i<d.length;++i)c[i+5]=d[i];break}b[b.length]=c}}return b}
function getActionHTML(a){for(a=a.firstChild;a&&!(a.tagName&&"table"==a.tagName.toLowerCase());a=a.nextSibling);if(!a)return"<td></td><td></td><td></td>";for(a=a.firstChild;a&&!(a.tagName&&"tbody"==a.tagName.toLowerCase());a=a.nextSibling);if(!a)return"<td></td><td></td><td></td>";for(a=a.firstChild;a&&!(a.tagName&&"tr"==a.tagName.toLowerCase());a=a.nextSibling);return!a?"<td></td><td></td><td></td>":a.innerHTML}
function cmGetMenuItem(a){if(!a.subMenuID)return null;var b=cmGetObject(a.subMenuID);if(a.menu){var c=a.menu,b=b.firstChild.firstChild.firstChild.firstChild,d;for(d=0;d<c.length;++d){if(c[d]==a)return b;b=b.nextSibling}}else if(a.parentItem){c=a.parentItem;b=cmGetObject(a.subMenuID+"Table");if(!b)return null;b=b.firstChild.firstChild;for(d=5;d<c.length;++d){if(c[d]==a)return b;b=b.nextSibling}}return null}
function cmDisableItem(a,b){if(a){var c=cmGetMenuItem(a);c&&(c.className=a.menu?b+"MainItemDisabled":b+"MenuItemDisabled",a.isDisabled=!0)}}function cmEnableItem(a,b){a&&cmGetMenuItem(a)&&(menu.className=a.menu?b+"MainItem":b+"MenuItem",a.isDisabled=!0)}
function cmItemMouseOver(a,b,c,d,e,f){if(!f&&_cmClicked)cmItemMouseOverOpenSub(a,b,c,d,e);else if(clearTimeout(_cmTimeOut),!_cmItemList[e].isDisabled){f=_cmMenuList[d].prefix;a.cmMenuID||(a.cmMenuID=d,a.cmIsMain=b);d=cmGetThisMenu(a,f);d.cmItems||(d.cmItems=[]);var j;for(j=0;j<d.cmItems.length&&d.cmItems[j]!=a;++j);j==d.cmItems.length&&(d.cmItems[j]=a);if(_cmCurrentItem){if(_cmCurrentItem==a||_cmCurrentItem==d){c=_cmItemList[e];cmSetStatus(c);return}j=_cmMenuList[_cmCurrentItem.cmMenuID];var g=j.prefix,
h=cmGetThisMenu(_cmCurrentItem,g);h!=d.cmParentMenu&&(_cmCurrentItem.className=_cmCurrentItem.cmIsMain?g+"MainItem":g+"MenuItem",h.id!=c&&cmHideMenu(h,d,j))}_cmCurrentItem=a;cmResetMenu(d,f);c=_cmItemList[e];cmIsDefaultItem(c)&&(a.className=b?f+"MainItemHover":f+"MenuItemHover");cmSetStatus(c)}}function cmItemMouseOverOpenSub(a,b,c,d,e){clearTimeout(_cmTimeOut);_cmItemList[e].isDisabled||(cmItemMouseOver(a,b,c,d,e,!0),c&&(c=cmGetObject(c),cmShowSubMenu(a,b,c,_cmMenuList[d])))}
function cmItemMouseOut(a,b,c,d){_cmTimeOut=window.setTimeout("cmHideMenuTime ()",_cmMenuList[d].nodeProperties.delay);window.defaultStatus=""}function cmItemMouseDown(a,b,c,d,e){!_cmItemList[e].isDisabled&&cmIsDefaultItem(_cmItemList[e])&&(b=_cmMenuList[d].prefix,a.className=a.cmIsMain?b+"MainItemActive":b+"MenuItemActive")}function cmItemMouseDownOpenSub(a,b,c,d,e){_cmItemList[e].isDisabled||(_cmClicked=!0,cmItemMouseDown(a,b,c,d,e),c&&(c=cmGetObject(c),cmShowSubMenu(a,b,c,_cmMenuList[d])))}
function cmItemMouseUp(a,b,c,d,e){_cmItemList[e].isDisabled||((b=_cmItemList[e],c=null,e="_self",2<b.length&&(c=b[2]),3<b.length&&b[3]&&(e=b[3]),null!=c&&(_cmClicked=!1,window.open(c,e)),d=_cmMenuList[d],c=d.prefix,e=cmGetThisMenu(a,c),5<b.length)?cmIsDefaultItem(b)&&(a.className=a.cmIsMain?c+"MainItemHover":c+"MenuItemHover"):(cmIsDefaultItem(b)&&(a.className=a.cmIsMain?c+"MainItem":c+"MenuItem"),cmHideMenu(e,null,d)))}
function cmMoveSubMenu(a,b,c,d){var e=d.orient,d=b?"h"==e.charAt(0)?d.nodeProperties.offsetHMainAdjust:d.nodeProperties.offsetVMainAdjust:d.nodeProperties.offsetSubAdjust;!b&&"h"==e.charAt(0)&&(e="v"+e.charAt(1)+e.charAt(2));var b=""+e,f=c.offsetParent,j=cmGetWidth(c),g=cmGetHorizontalAlign(a,b,f,j);"h"==b.charAt(0)?(c.style.top="b"==b.charAt(1)?cmGetYAt(a,f)+cmGetHeight(a)+d[1]+"px":cmGetYAt(a,f)-cmGetHeight(c)-d[1]+"px",c.style.left="r"==g?cmGetXAt(a,f)+d[0]+"px":cmGetXAt(a,f)+cmGetWidth(a)-j-d[0]+
"px"):(c.style.left="r"==g?cmGetXAt(a,f)+cmGetWidth(a)+d[0]+"px":cmGetXAt(a,f)-j-d[0]+"px",c.style.top="b"==b.charAt(1)?cmGetYAt(a,f)+d[1]+"px":cmGetYAt(a,f)+cmGetHeight(a)-cmGetHeight(c)+d[1]+"px");g!=e.charAt(2)&&(e=e.charAt(0)+e.charAt(1)+g);return e}
function cmGetHorizontalAlign(a,b,c,d){var e=b.charAt(2);if(!document.body)return e;var f=document.body,j;if(window.innerWidth)j=window.pageXOffset,f=window.innerWidth+j;else if(f.clientWidth)j=f.clientLeft,f=f.clientWidth+j;else return e;"h"==b.charAt(0)?("r"==e&&cmGetXAt(a)+d>f&&(e="l"),"l"==e&&cmGetXAt(a)+cmGetWidth(a)-d<j&&(e="r")):("r"==e&&cmGetXAt(a,c)+cmGetWidth(a)+d>f&&(e="l"),"l"==e&&cmGetXAt(a,c)-d<j&&(e="r"));return e}
function cmShowSubMenu(a,b,c,d){var e=d.prefix;c.cmParentMenu||(e=cmGetThisMenu(a,e),c.cmParentMenu=e,e.cmSubMenu||(e.cmSubMenu=[]),e.cmSubMenu[e.cmSubMenu.length]=c);if(e=c.cmEffect)e.showEffect(!0);else{a=cmMoveSubMenu(a,b,c,d);c.cmOrient=a;b=!1;if("visible"!=c.style.visibility&&d.nodeProperties.effect)try{e=d.nodeProperties.effect.getInstance(c,a),e.showEffect(!1)}catch(f){b=!0,c.cmEffect=null}else b=!0;b&&(c.style.visibility="visible")}if(!_cmHideObjects){_cmHideObjects=2;try{window.opera&&9>
parseInt(navigator.appVersion)&&(_cmHideObjects=1)}catch(j){}}1==_cmHideObjects&&(c.cmOverlap||(c.cmOverlap=[]),cmHideControl("IFRAME",c),cmHideControl("OBJECT",c))}function cmResetMenu(a,b){if(a.cmItems){var c,d,e=a.cmItems;for(c=0;c<e.length;++c){if(e[c].cmIsMain){if(e[c].className==b+"MainItemDisabled")continue}else if(e[c].className==b+"MenuItemDisabled")continue;d=e[c].cmIsMain?b+"MainItem":b+"MenuItem";e[c].className!=d&&(e[c].className=d)}}}
function cmHideMenuTime(){_cmClicked=!1;if(_cmCurrentItem){var a=_cmMenuList[_cmCurrentItem.cmMenuID];cmHideMenu(cmGetThisMenu(_cmCurrentItem,a.prefix),null,a);_cmCurrentItem=null}}function cmHideThisMenu(a){var b=a.cmEffect;b?b.hideEffect(!0):(a.style.visibility="hidden",a.style.top="0px",a.style.left="0px",a.cmOrient=null);cmShowControl(a);a.cmItems=null}
function cmHideMenu(a,b,c){var d=c.prefix,e=d+"SubMenu";if(a.cmSubMenu){var f;for(f=0;f<a.cmSubMenu.length;++f)cmHideSubMenu(a.cmSubMenu[f],c)}for(;a&&a!=b;){cmResetMenu(a,d);if(a.className==e)cmHideThisMenu(a,c);else break;a=cmGetThisMenu(a.cmParentMenu,d)}}function cmHideSubMenu(a,b){if("hidden"!=a.style.visibility){if(a.cmSubMenu){var c;for(c=0;c<a.cmSubMenu.length;++c)cmHideSubMenu(a.cmSubMenu[c],b)}cmResetMenu(a,b.prefix);cmHideThisMenu(a,b)}}
function cmHideControl(a,b){var c=cmGetX(b),d=cmGetY(b),e=b.offsetWidth,f=b.offsetHeight,j;for(j=0;j<document.all.tags(a).length;++j){var g=document.all.tags(a)[j];if(g&&g.offsetParent){var h=cmGetX(g),l=cmGetY(g),n=g.offsetWidth,k=g.offsetHeight;if(!(h>c+e||h+n<c))if(!(l>d+f||l+k<d)&&"hidden"!=g.style.visibility)b.cmOverlap[b.cmOverlap.length]=g,""==g.id&&(g.style.visibility="hidden")}}}
function cmShowControl(a){if(a.cmOverlap){var b;for(b=0;b<a.cmOverlap.length;++b)a.cmOverlap[b].style.visibility=""}a.cmOverlap=null}function cmGetThisMenu(a,b){for(var c=b+"SubMenu",d=b+"Menu";a;){if(a.className==c||a.className==d)return a;a=a.parentNode}return null}function cmTimeEffect(a,b,c){window.setTimeout('cmCallEffect("'+a+'",'+b+")",c)}function cmCallEffect(a,b){var c=cmGetObject(a);if(c&&c.cmEffect)try{b?c.cmEffect.showEffect(!1):c.cmEffect.hideEffect(!1)}catch(d){}}
function cmIsDefaultItem(a){return a==_cmSplit||a[0]==_cmNoAction||a[0]==_cmNoClick?!1:!0}function cmGetObject(a){return document.all?document.all[a]:document.getElementById(a)}function cmGetWidth(a){var b=a.offsetWidth;return 0<b||!cmIsTRNode(a)?b:!a.firstChild?0:a.lastChild.offsetLeft-a.firstChild.offsetLeft+cmGetWidth(a.lastChild)}function cmGetHeight(a){var b=a.offsetHeight;return 0<b||!cmIsTRNode(a)?b:!a.firstChild?0:a.firstChild.offsetHeight}
function cmGetX(a){if(!a)return 0;var b=0;do b+=a.offsetLeft,a=a.offsetParent;while(a);return b}function cmGetXAt(a,b){for(var c=0;a&&a!=b;)c+=a.offsetLeft,a=a.offsetParent;return a==b?c:c-cmGetX(b)}function cmGetY(a){if(!a)return 0;var b=0;do b+=a.offsetTop,a=a.offsetParent;while(a);return b}function cmIsTRNode(a){a=a.tagName;return"TR"==a||"tr"==a||"Tr"==a||"tR"==a}
function cmGetYAt(a,b){var c=0;if(!a.offsetHeight&&cmIsTRNode(a))var d=a.parentNode.firstChild,a=a.firstChild,c=c-d.firstChild.offsetTop;for(;a&&a!=b;)c+=a.offsetTop,a=a.offsetParent;return a==b?c:c-cmGetY(b)}function cmSetStatus(a){var b="";4<a.length?b=null!=a[4]?a[4]:a[2]?a[2]:b:2<a.length&&(b=a[2]?a[2]:b);window.defaultStatus=b}function cmGetProperties(a){if(void 0==a)return"undefined";if(null==a)return"null";var b=a+":\n",c;for(c in a)b+=c+" = "+a[c]+"; ";return b}
function CMSpecialEffectInstance(a,b){a.show=!0;a.menu=b;this.effect=b.cmEffect=a}CMSpecialEffectInstance.prototype.canShow=function(a){if(a){if(this.effect.show)return!1;this.effect.show=!0}else if(!this.effect.show)return!1;return!0};CMSpecialEffectInstance.prototype.canHide=function(a){var b=this.effect;if(a){if(!b.show)return!1;b.show=!1}else if(b.show)return!1;return!0};CMSpecialEffectInstance.prototype.startShowing=function(){this.effect.menu.style.visibility="visible"};
CMSpecialEffectInstance.prototype.finishShowing=function(){};CMSpecialEffectInstance.prototype.finishHiding=function(){var a=this.effect.menu;a.style.visibility="hidden";a.style.top="0px";a.style.left="0px";a.cmEffect=null;a.cmOrient=null;this.effect.menu=null};
function CMSlidingEffectInstance(a,b,c){this.base=new CMSpecialEffectInstance(this,a);a.style.overflow="visible";this.x=a.offsetLeft;this.y=a.offsetTop;"h"==b.charAt(0)?(this.slideOrient="h",this.slideDir=b.charAt(1)):(this.slideOrient="v",this.slideDir=b.charAt(2));this.speed=c;this.fullWidth=a.offsetWidth;this.fullHeight=a.offsetHeight;this.percent=0}
CMSlidingEffectInstance.prototype.showEffect=function(a){this.base.canShow(a)&&(a=this.percent,"h"==this.slideOrient?this.slideMenuV():this.slideMenuH(),0==a&&this.base.startShowing(),100>a?(this.percent+=this.speed,cmTimeEffect(this.menu.id,this.show,10)):this.show&&this.base.finishShowing())};
CMSlidingEffectInstance.prototype.hideEffect=function(a){this.base.canHide(a)&&(a=this.percent,"h"==this.slideOrient?this.slideMenuV():this.slideMenuH(),0<a?(this.percent-=this.speed,cmTimeEffect(this.menu.id,this.show,10)):this.show||(this.menu.style.clip="auto",this.base.finishHiding()))};
CMSlidingEffectInstance.prototype.slideMenuH=function(){var a=this.percent;0>a&&(a=0);100<a&&(a=100);var b=this.fullWidth,c=this.fullHeight,d=this.x,a=a*b/100,e=this.menu;"l"==this.slideDir?(e.style.left=d+b-a+"px",e.style.clip="rect(0px "+a+"px "+c+"px 0px)"):(e.style.left=d-b+a+"px",e.style.clip="rect(0px "+b+"px "+c+"px "+(b-a)+"px)")};
CMSlidingEffectInstance.prototype.slideMenuV=function(){var a=this.percent;0>a&&(a=0);100<a&&(a=100);var b=this.fullWidth,c=this.fullHeight,d=this.y,a=a*c/100,e=this.menu;"b"==this.slideDir?(e.style.top=d-c+a+"px",e.style.clip="rect("+(c-a)+"px "+b+"px "+c+"px 0px)"):(e.style.top=d+c-a+"px",e.style.clip="rect(0px "+b+"px "+a+"px 0px)")};function CMSlidingEffect(a){a?0>=a?a=10:100<=a&&(a=100):a=10;this.speed=a}
CMSlidingEffect.prototype.getInstance=function(a,b){return new CMSlidingEffectInstance(a,b,this.speed)};function CMFadingEffectInstance(a,b,c){this.base=new CMSpecialEffectInstance(this,a);a.style.overflow="visible";this.showSpeed=b;this.hideSpeed=c;this.opacity=0}
CMFadingEffectInstance.prototype.showEffect=function(a){if(this.base.canShow(a)){var a=this.menu,b=this.opacity;this.setOpacity();0==b&&this.base.startShowing();100>b?(this.opacity+=10,cmTimeEffect(a.id,this.show,this.showSpeed)):this.show&&this.base.finishShowing()}};CMFadingEffectInstance.prototype.hideEffect=function(a){this.base.canHide(a)&&(a=this.menu,this.setOpacity(),0<this.opacity?(this.opacity-=10,cmTimeEffect(a.id,this.show,this.hideSpeed)):this.show||this.base.finishHiding())};
CMFadingEffectInstance.prototype.setOpacity=function(){this.menu.style.opacity=this.opacity/100};function CMFadingEffect(a,b){this.showSpeed=a;this.hideSpeed=b}CMFadingEffect.prototype.getInstance=function(a){return new CMFadingEffectInstance(a,this.showSpeed,this.hideSpeed)};