// Most comment and unneeded spaces are removed from this file. Use dmenu.js for comments

//[JG]
//Array.prototype.ln=function() {return this.length}
function pI(s) {return parseInt(s)}
with (String)
{
prototype.sb=function(s,e) {return this.substring(s,e)}
prototype.io=function(s)   {return this.indexOf(s)}
//prototype.ln=function()	{return this.length}
}


var b_IE	= 0;
var b_IE5   = 0;
var b_IE6   = 0;
var b_IEPC  = 0;
var b_IEMAC = 0;
var b_NS	= 0;
var b_NS4   = 0;
var b_NS6   = 0;
var b_OP	= 0;
var b_MZ	= 0;
var b_DOM   = 0;
var b_MAC   = 0;
var b_IEComp= 0;
var b_SAF   = 0;
var b_VER   = 0;
var d_o	 = document;
var _un	 = 'undefined';
var dmZOrder = 1000;

dm_getBrowser();


var addedScripts = [];
if (typeof(dmWorkPath)==_un) var dmWorkPath = '';

function dm_addScript(fname)
{
for (var i=0; i<addedScripts.length; i++) if (addedScripts[i]==fname) return;
addedScripts[addedScripts.length] = fname;
d_o.write('<SCR'+'IPT SRC="'+dmWorkPath+fname+'.js" type="text/javascript"></SCR'+'IPT>');
}
if (b_NS4) dm_addScript('dmenu4');
d_o.write('<style>#dmlinks{display:none} .dmDef{background:transparent;border:none}</style>');

var dUnits = 'px';
var docElement;
var fdocElement;
var userLoadFunc = null;
var assignFloating = 0;
var assignMoving   = 0;
var dm_menu   = [];
var isLoaded  = 0;
var regexp_m  = /dm([0-9]+)m([0-9]+)/;
var regexp_i  = /dm([0-9]+)m([0-9]+)i([0-9]+)/;


var curMenu =
{
ind  : 0,
smInd: 0,
itInd: 0,
smVar: null,
itVar: null
}


var moveRec =
{
isMoving   : 0,
prepareSmID: '',
cX	  : 0,
cY	  : 0,
smObj   : 0,
smVar   : null
}


var toggleRec =
{
pressedSelf	: 0,
changeStyleOnly: 0
}


var keyMode =
{
isEnabled : 0,
menu	  : null,
rsmVar	: null,
ritVar	: null,
smVar	 : null,
itVar	 : null
}


var cfEnabled	  = 0;
var cfFsetID	   = '';
var cfMFrameInd	= 0;
var cfSFrameInd	= 1;
var cfOrientation  = 0;
var cfType	 = 1;
var oldFsetSizes;


function dm_getBrowser()
{
var nv = navigator;
var a  = nv.userAgent;
var n  = nv.appName;
var v  = nv.appVersion;
var ns = 'Netscape';
var gk = 'Gecko';
var pf = function(r) {return parseFloat(r)}
b_MAC  = v.io('Mac') >= 0;
b_DOM  = d_o.getElementById?1:0;

if ((pI(nv.productSub)>=20020000) && (nv.vendor.io('Apple Computer') != -1) && (nv.product==gk))
{
b_NS  = 1;
b_VER = 6;
b_SAF = 1;
return;
}

if (n.toLowerCase()=='konqueror')
{
b_MZ  = 1;
b_VER = 1.6;
return;
}

if (a.io('Opera')>=0)
{
b_OP	 = 1;
b_VER	= pf(a.sb(a.io('Opera')+6, a.length));
b_IEComp = (b_VER>=7);
return;
}

if (n.toLowerCase()=='netscape')
{
if (a.io('rv:')!=-1 && a.io(gk)!=-1 && a.io(ns)==-1)
{
b_MZ  = 1;
b_VER = pf(a.sb(a.io('rv:')+3, a.length));
}
else
{
b_NS = 1;
if (a.io(gk) != -1 && a.io(ns)>a.io(gk))
{
var d = (a.io(ns+'6')>-1) ? 10 : (a.io(ns)>-1) ? 9 : 0;
b_VER = pf(a.sb(a.io(ns) + d, a.length))
}
else
b_VER = pf(v);

b_NS4 = b_VER<6;
b_NS6 = !b_NS4 && b_VER<7;
}
return;
}

if (d_o.all?1:0)
{
b_IE	 = 1;
b_VER	= pf(a.sb(a.io('MSIE ')+5, a.length));
b_IE5	= b_VER>=5;
b_IE6	= b_VER>=6;
b_IEComp = 1;
b_IEPC   = !b_MAC;
b_IEMAC  = b_MAC;
}
}


dm_preDefineGlobalParams();

function dm_gE(id) { return d_o.getElementById(id) }

function dm_preDefineGlobalParams()
{
topSmartScroll   = 0;
separatorPadding = '0px';
dmCacheImages	= 0;

useHTTPS	= location.protocol=='https:' ? 1 : 0;
dm_writeAll = 0;
popupMode = 0;
}


function dm_checkGlobalParams()
{
if (b_OP) dm_writeAll = (b_VER>=7) ? 0 : 1;

with (curMenu)
{
smInd=0;
itInd=0;
smVar=null;
itVar=null;
}
if (popupMode) absolutePos = 1;
if (floatable && !(b_OP && b_VER<6)) assignFloating = 1;
if (movable) assignMoving = 1;
if (typeof(itemPadding)!='string') itemPadding += 'px';
}


function dm_getObjectWH(o)
{
var op=(b_OP && b_VER<6);
var w = op ? o.style.pixelWidth  : b_NS4 ? o.clip.width  : o.offsetWidth;
var h = op ? o.style.pixelHeight : b_NS4 ? o.clip.height : o.offsetHeight;
return [w,h];
}


function dm_getObjectSize(o)
{
if (!o) return [0,0,0,0];
var l=0, t=0, wh = dm_getObjectWH(o), d=0, a='absolute', r='relative';

while (o)
{
l += pI(b_NS4?o.pageX:o.offsetLeft);
t += pI(b_NS4?o.pageY:o.offsetTop);
o = o.offsetParent;

if (!b_OP && o && o.style && (o.style.position==a || o.style.position==r) && o.id.sb(0,2)!='dm')
{
if (b_IEPC && o.style.position==r && docElement.leftMargin) l -= pI(docElement.leftMargin);
d = 1;
break;
}
}

return [l, t, wh[0], wh[1], d];
}


function dm_getObjectByID(id)
{
if (!id) return null;
if (b_NS4) return dm_getObjectByID4(id);
if (b_IE && b_VER<5) return d_o.all[id];

var itVar = dm_getVarByID(id);
var menu  = dm_menu[itVar.mInd];

return ((itVar.smInd!=0 && menu.isCrossFrame && cfType!=3) ? dm_getObjectInFrame(id, menu.cfSFInd) : dm_gE(id));
}


function dm_getVarByID(id)
{
var ex;
if (id.indexOf('i')>0)
{
ex=regexp_i.exec(id);
return dm_menu[pI(ex[1])].m[pI(ex[2])].i[pI(ex[3])];
}
else
{
ex = regexp_m.exec(id);
return dm_menu[pI(ex[1])].m[pI(ex[2])];
}
}



function dm_getClientSize(menu)
{
var l=0,t=0,w=0,h=0, cf=(menu && menu.isCrossFrame && cfType==1), cond=(b_NS || b_MZ || b_OP);
var frm = cf ? parent.frames[menu.cfSFInd] : 0;

if (cond)
{
var doc = cf ? frm.window : window;
l = doc.pageXOffset;
t = doc.pageYOffset;
w = doc.innerWidth;
h = doc.innerHeight;	
}
else
{
var doc = cf ? dm_getDocElement(frm.document) : docElement;
with (doc)
{
l = scrollLeft;
t = scrollTop;
w = clientWidth;
h = clientHeight;	
}
}
return [l,t,w,h];
}


function dm_setOnLoad()
{
if (window.attachEvent) window.attachEvent('onload', dm_onload);
else
{
userLoadFunc = (typeof(onload)=='function') ? onload : null;
onload = dm_onload;
}
}

function dm_getDocElement(docObj)
{
return (docObj.compatMode=='CSS1Compat' && !b_MZ) ? docObj.documentElement : docObj.body;
}

function dm_onload()
{
docElement = dm_getDocElement(d_o);
if (assignFloating) window.setInterval('dm_scrollWindow()', 20);
if (assignMoving) dm_assignMoveEvent();
isLoaded = 1;
if (userLoadFunc) userLoadFunc();
if (keystrokes && !b_NS4 && !(b_OP && b_VER<7)) d_o.onkeydown = function (event) { return dm_ext_keystrokes(event) }
}


function dm_initFrame(fsetID, mFrameInd, sFrameInd, orient)
{
if (b_NS4) return dm_init4();

if ((b_OP && b_VER<7) || (b_IE && b_VER<5)) cfEnabled = 0;
else
{
cfEnabled	 = 1;
cfFsetID	  = fsetID;
cfMFrameInd   = mFrameInd;
cfSFrameInd   = sFrameInd;
cfOrientation = orient;
}
cfType = 1;
dm_init();
}

var fixPrefixes = ['javascript:', 'mailto:', "http://", "https://", "ftp://"];

function dm_canPrefix(url)
{
for (var i=0; i<fixPrefixes.length; i++)
if (url.io(fixPrefixes[i])==0) return false;
return true;
}


function dm_setPathPrefix(paths, prefix)
{
function dm_addPrefix(pathStr)
{
return pathStr ? ((dm_canPrefix(pathStr) ? prefix : '') + pathStr) : '';
}

if (typeof(paths)=='string') return dm_addPrefix(paths);
else
{
var p=[];
for (var i=0; i<paths.length; i++) p[i] = paths[i] ? dm_addPrefix(paths[i]) : '';
return p;
}
}


function dm_getParam(param, defParam)
{
return (typeof(param)!=_un && param) ? param : defParam;
}

function dm_getStyleParam(pName, sInd, sType, defValue, isIndividual)
{
if (sInd==-1 || ''+sInd+''=='' || !isIndividual) return defValue;
var sp = sType ? itemStyles[sInd] : menuStyles[sInd];

for (var i=0; i<=sp.length; i++)
if (i==sp.length || typeof(sp[i])==_un) return defValue;
else
if (sp[i].io(pName)>=0) break;


var val = sp[i].split('=')[1];
if (val.io(',')>=0) val = val.split(',');

return val;
}


function dm_getSubmenuStyle(menu, sInd, is)
{
if (typeof(sInd)==_un) return menu.standardSmStyle;

var pPrefix = !menu ? pathPrefix_img : menu.pPrefix_img;
var bI = is ? dm_getStyleParam('menuBackImage', sInd, 0, '', is) : 0;

var st = {
backColor  : dm_getStyleParam('menuBackColor',  sInd, 0, menuBackColor, is),
backRepeat : dm_getStyleParam('menuBackRepeat', sInd, 0, menuBackRepeat, is),

backImage  : bI ? dm_setPathPrefix(bI, pPrefix) : dm_setPathPrefix(menuBackImage, pPrefix),

columnsCnt : pI(dm_getStyleParam('smColumns', sInd, 0, smColumns, is)),
brdWidth   : dm_getStyleParam('menuBorderWidth',  sInd, 0, menuBorderWidth, is),
brdStyle   : dm_getStyleParam('menuBorderStyle',  sInd, 0, menuBorderStyle, is),
brdColor   : dm_getStyleParam('menuBorderColor',  sInd, 0, menuBorderColor, is),
itSpacing  : dm_getStyleParam('itemSpacing',	  sInd, 0, itemSpacing, is),
itPadding  : dm_getStyleParam('itemPadding',	  sInd, 0, itemPadding, is),
cssClass   : dm_getStyleParam('CSS',	  sInd, 0, cssSubmenu, is),
smW	: dm_getStyleParam('smWidth',	  sInd, 0, smWidth, is),
smH	: dm_getStyleParam('smHeight',	 sInd, 0, smHeight, is)
};

return st;
}


function dm_getItemStyle(menu, sInd, is)
{
if (typeof(sInd)==_un) return menu.standardItStyle;

var pPrefix = !menu ? pathPrefix_img : menu.pPrefix_img;

var aM = is ? dm_getStyleParam('arrowImageMain', sInd, 1, '', is) : 0;
var aS = is ? dm_getStyleParam('arrowImageSub',  sInd, 1, '', is) : 0;
var bI = is ? dm_getStyleParam('itemBackImage',  sInd, 1, '', is) : 0;

var st = {
itWidth	: dm_getStyleParam('itemWidth',	sInd, 1, '100%', is),
backColor  : dm_getStyleParam('itemBackColor',	sInd, 1, itemBackColor, is),
brdWidth   : dm_getStyleParam('itemBorderWidth',  sInd, 1, itemBorderWidth, is),
brdStyle   : dm_getStyleParam('itemBorderStyle',  sInd, 1, itemBorderStyle, is),
brdColor   : dm_getStyleParam('itemBorderColor',  sInd, 1, itemBorderColor, is),
fntColor   : dm_getStyleParam('fontColor',	sInd, 1, fontColor, is),
fntStyle   : dm_getStyleParam('fontStyle',	sInd, 1, fontStyle, is),
fntDecor   : dm_getStyleParam('fontDecoration',   sInd, 1, fontDecoration, is),
arrowMain  : aM ? dm_setPathPrefix(aM, pPrefix) : dm_setPathPrefix(arrowImageMain, pPrefix),
arrowSub   : aS ? dm_setPathPrefix(aS, pPrefix) : dm_setPathPrefix(arrowImageSub,  pPrefix),
backImage  : bI ? dm_setPathPrefix(bI, pPrefix) : dm_setPathPrefix(itemBackImage,  pPrefix),
cssClass	 : dm_getStyleParam('CSS',	 sInd, 1, cssItem, is),
cssClassText : dm_getStyleParam('CSSText', sInd, 1, cssItemText, is)
};

return st;
}

function dm_createMenuParams(curInd)
{
dm_menu[curInd] = {
m	: [],
ind	  : curInd,
id	   : 'dm'+curInd,
hideAllTimer : null,
absPos	   : absolutePos,
floating	 : floatable,
floatingX	: floatableX,
floatingY	: floatableY,
iterations   : floatIterations,
toggleMode   : pressedItem,
curPressedSm : 0,
curPressedIt : (pressedItem>=0) ? pressedItem : -1,
isCrossFrame : cfEnabled,
cfMFInd	  : cfMFrameInd,
cfSFInd	  : cfSFrameInd,
cfOrient	 : cfOrientation,
cfFSID	   : cfFsetID,
standardSmStyle : dm_getSubmenuStyle(null, 0, 0),
standardItStyle : dm_getItemStyle(null, 0, 0),
isCSSMode	: cssStyle,
isPopup	: popupMode,
saveNavigation : saveNavigationPath,
smView	 : smViewType,
smShowClick	: showByClick,
smShowClicked  : 0,

isVisible  : (popupMode)?0:1,
isDisabled : 0,

fntColorDisabled : fontColorDisabled,

smAlign	: subMenuAlign,
smHideClick: smHideOnClick,
cacheImages: dmCacheImages,

sepImg : separatorImage,
sepW   : separatorWidth,
sepH   : separatorHeight,
sepVImg: separatorVImage,
sepVW  : separatorVWidth,
sepVH  : separatorVHeight,
sepPadding : separatorPadding,

pPrefix_img: pathPrefix_img
};

return dm_menu[curInd];
}


function dm_createSubmenuParams(parentM, parentSm, parentIt, styleInd)
{
var lvl	   = parentSm ? parentSm.level+1 : 0;
var menu	  = parentM;
curMenu.ind   = parentM.ind;
curMenu.smInd = menu.m.length;
var ii=curMenu.smInd;

menu.m[ii] = {
i	: [],
mInd	 : curMenu.ind,
ind	  : ii,
id	   : 'dm'+curMenu.ind+'m'+ii,
rootItemID   : parentIt ? parentIt.id : '',
shownChildID : '',
showTimer	: null,
level	: lvl,
left	 : ii ? '-1000px' : posX,
top	  : ii ? '0px'	 : posY,
moving	   : ii ? smMovable : movable,
isMoved	  : 0,
offx	 : (lvl>1)?DX:topDX,
offy	 : (lvl>1)?DY:topDY,
smStyle	  : dm_getSubmenuStyle(menu, styleInd, 1),
isHoriz	  : ii ? smOrientation : isHorizontal,
mainWidth	: ii ? 'auto' : dm_getParam(menuWidth, ((b_NS && b_VER<7) ? 'auto' : '1px')),
mainHeight   : menuHeight,
opacity	  : !ii ? 100 : transparency,
effect	   : !ii ? 0 : (transition ? transition : 1),
duration	 : transition ? transDuration  : 0,
duration2	: transition ? transDuration2 : 0,
shadowColor  : shadowColor,
shadowLen	: (b_IEPC && b_IE5) ? shadowLen : 0,
smHTML	   : '',
sX	   : 0,
sY	   : 0,
sEnabled : (!ii && topSmartScroll) ? 1 : 0,
sObj	 : null,
hidObjs  : []
};
curMenu.smVar = menu.m[ii];
}


function dm_getStatusText(str, itText, itLink, itTip) {
return (!str || str=='link') ? itLink : (str=='text') ? itText : (str=='tip') ? itTip : str;
}


function dm_getItemTarget(targetVal) {
return (!targetVal && itemTarget) ? itemTarget : targetVal;
}


function dm_getItemLink(linkVal) {
return dm_setPathPrefix(dm_getParam(linkVal, ''), pathPrefix_link);
}


function dm_createItemParams(parentM, parentSm, itInd, iParams, statusStr)
{
var smVar   = parentM.m[parentSm.ind];
var iText   = iParams[0];
var iLink   = dm_getItemLink(iParams[1]);
var iTarget = dm_getItemTarget(dm_getParam(iParams[5], ''));
var iAlign  = (parentSm.level==0) ? itemAlignTop : itemAlign;
var iTip	= dm_getParam(iParams[4],'');
var iAJAX   = dm_getParam(iParams[8],'');

var onNextRow = 0;
if (iText.charAt(0)=='$')
{
onNextRow = 1;
iText = iText.substr(1, iText.length-1);
}

smVar.i[itInd] = {
mInd	: parentM.ind,
smInd   : parentSm.ind,
ind	 : itInd,
id	  : 'dm'+parentM.ind+'m'+parentSm.ind+'i'+itInd,
childID : iAJAX ? '_' : '',
text	: iText,
link	: iLink,
target  : iTarget,
tip	 : iTip,
sstr	: dm_getStatusText(statusStr, iText, iLink, iTip),
align   : iAlign,
valign  : 'middle',
cursor  : itemCursor,
itStyle  : dm_getItemStyle(parentM, iParams[6], 1),
icon	 : dm_setPathPrefix([dm_getParam(iParams[2],''),dm_getParam(iParams[3],'')], parentM.pPrefix_img),
iconW	: (parentSm.level)?iconWidth:iconTopWidth,
iconH	: (parentSm.level)?iconHeight:iconTopHeight,
icState  : 0,
arrowW   : arrowWidth,
arrowH   : arrowHeight,
isDisabled   : (iTarget=='_')?1:0,
isPressed	: 0,
isHighlighted: 0,
isVisible	: 1,
isDeleted	: 0,
nextRow	  : onNextRow,
ajax : iAJAX
};

curMenu.itInd = itInd;
curMenu.itVar = smVar.i[itInd];
curMenu.smVar = parentSm;
}


var dm_filters = ['Blinds','Checkerboard','GradientWipe','Inset','Iris','Pixelate','RadialWipe','RandomBars',
'RandomDissolve','Slide','Spiral','Stretch','Strips','Wheel','Zigzag'];
function dm_getAdditionalFilterHTML(fInd, fDur) {
return (b_VER<5.5) ? '' : 'progid:DXImageTransform.Microsoft.'+dm_filters[fInd-25]+'('+transOptions+',duration='+fDur+') ';
}

function dm_getFilterHTML(smVar)
{
var sf = '';
with (smVar)
if (b_IE5 && b_IEPC)
{
sf = 'filter:';
if (effect)
{
var dur = duration/1000;
if (effect==24) sf += "blendTrans(Duration="+dur+") ";
else
sf += (effect<24) ? "revealTrans(Transition="+effect+",Duration="+dur+") " : dm_getAdditionalFilterHTML(effect, dur);
}
if (opacity!=100) sf += "alpha(opacity="+opacity+") ";
if (shadowLen)	sf += "shadow(color="+shadowColor+",direction=135,strength="+shadowLen+")";
}
else
if ((b_NS || b_MZ) && opacity!=100) sf = '-moz-opacity:'+opacity/100;

return sf;
}


function dm_openDivSimple(id, styleText, events) {
return '<DIV id="'+id+'" '+events+' style="'+styleText+'">';
}

function dm_closeDiv() {
return '</DIV>';
}


function dm_openTableWithClass(id, clN, spac, padd, events) {
return '<Table id="'+id+'" '+events+' class="'+clN+'" border=0 cellspacing='+spac+' cellpadding='+padd+'>';
}

function dm_openTableSimple(id, spac, padd, styleText, events, add) {
return '<Table id="'+id+'" '+events+' cellspacing='+spac+' cellpadding='+padd+' '+add+' style="'+styleText+'" border=0>';
}

function dm_closeTable() {
return '</Table>';
}

function dm_openTr(id)
{
return '<tr id="'+id+'">';
}

function dm_closeTr() {
return '</tr>';
}

function dm_openTdSimple(id, styleText, add)
{
return '<td id="'+id+'" '+add+' style="'+styleText+'">';
}

function dm_closeTd() {
return '</td>';
}


function dm_openImg(id, url, w, h, add) {
//[JG]
//return '<img id="'+id+'" src="'+url+'" '+(w ? 'width='+w : '') + (h ? ' height='+h : '') +' '+add+' border=0>';

if (url == '') {
return'<img id="'+id+'" src="images/1pixel.gif" '+(w?'width='+w:'')+(h?' height='+h:'')+' '+add+' border=0>';
} else {
return'<img id="'+id+'" src="'+url+'" '+(w?'width='+w:'')+(h?' height='+h:'')+' '+add+' border=0>';
}

}


function dm_holdSubmenu(smID)
{
with (moveRec)
if (smID)
{
prepareSmID = smID;
smVar = dm_getVarByID(smID);
clearTimeout(dm_menu[smVar.mInd].hideAllTimer);
}
else
{
if (smVar)
with (dm_menu[smVar.mInd])
{
clearTimeout(hideAllTimer);
hideAllTimer = setTimeout("dm_hideMenu('"+m[0].shownChildID+"');window.status='';", smHidePause);
}
prepareSmID = '';
}
}


function dm_openSeparator(menu, img, w, h) {
return dm_openImg('', dm_setPathPrefix(img, menu.pPrefix_img), (w?w:"100%"), (h?h:"1"), '');
}


function dm_openItemArrow(itVar)
{
var s='', smVar=dm_menu[itVar.mInd].m[itVar.smInd];

with (itVar)
{
var arrImg = smInd ? itStyle.arrowSub[0] : itStyle.arrowMain[0];
if (arrImg)
s = dm_openTdSimple(itVar.id+'tdA', 'padding:'+smVar.smStyle.itPadding, 'class="dmDef"')+
dm_openImg(id+'arr', arrImg, arrowW, arrowH, '')+
dm_closeTd();
}
return s;
}


function dm_scrollSubmenu(e, smID)
{
var smVar = dm_getVarByID(smID);
if (!smVar.sEnabled || smVar.shownChildID) return;

if (!smVar.sObj)
smVar.sObj = dm_gE(smID);

var smWH = dm_getObjectSize(smVar.sObj);
var ex, ey;

if (b_IEComp)
{
var cs = dm_getClientSize(dm_menu[smVar.mInd]);
ex = e.x+cs[0];
ey = e.y+cs[1];
}
else
{
ex = e.pageX;
ey = e.pageY;
}

var dx = smWH[2]*0.1;
var dy = smWH[3]*0.1;
var px = (ex - smWH[0]-dx)/(smWH[2]-dx*2);
var py = (ey - smWH[1]-dy)/(smWH[3]-dy*2);
with (smVar.sObj)
{
if (b_OP) style.top = smVar.sY - py*(smWH[3]*0.5) + 'px';
else
{
scrollLeft = px*(scrollWidth  - smWH[2]);
scrollTop  = py*(scrollHeight - smWH[3]);
}
}
}


function dm_addCloseBtn(menu, smVar){
return dm_openImg('', dm_setPathPrefix(closeBtn, menu.pPrefix_img), closeBtnW, closeBtnH, 'title="Close the sumbenu" onClick="dm_deMoveSubmenu(\''+smVar.id+'\')" style="cursor:'+((b_IE && b_VER<6)?'hand':'pointer')+';"')
}


function dm_openMoveSpacer(menu, smVar)
{
if (dm_menu[smVar.mInd].isCrossFrame) return '';
return '<td id="'+smVar.id+'m" NOWRAP align=right style="width:'+(smVar.isHoriz?moveWidth+dUnits:'100%')+';height:'+moveHeight+dUnits+';cursor:'+moveCursor+';padding:0px;"'+
'bgcolor='+moveColor+' background="'+dm_setPathPrefix(moveImage, menu.pPrefix_img)+'" '+
'onMouseDown="dm_startMoving(event,\''+smVar.id+'\')" onMouseUp="dm_stopMoving()" onMouseOver="dm_holdSubmenu(\''+smVar.id+'\')" onMouseOut="dm_holdSubmenu(\'\')">'+

(!smVar.ind ? dm_openImg('', blankImage, 1, moveHeight, '') : dm_addCloseBtn(menu, smVar)) +

(smVar.isHoriz?'<br>'+dm_openImg('','',moveWidth,'1',''):'')+
'</td>'+(smVar.isHoriz?'':'</TR><TR>');
}


function dm_deMoveSubmenu(smID)
{
with (dm_getVarByID(smID))
{
isMoved = 0;
moveRec.prepareSmID = '';
moveRec.smVar = null;
}
dm_hideMenu(smID);
}


function dm_getItemLevel(itInd)
{
var lvl=0;
while (menuItems[itInd][0].charAt(lvl)=='|') lvl++;
if (lvl>0) menuItems[itInd][0] = menuItems[itInd][0].sb(lvl, menuItems[itInd][0].length);
return lvl;
}


function dm_parseItemsData()
{
var pl=-1;
var cl=0;

for (var i=0; (i<menuItems.length && typeof(menuItems[i])!=_un); i++)
{
cl = dm_getItemLevel(i);

if (pl<cl)
with (curMenu)
{
dm_createSubmenuParams(dm_menu[ind],
	smVar,
	itVar,	
	menuItems[i][7]);

itInd = 0;
itVar = null;
}

if (pl>cl)
with (curMenu)
{
while (dm_menu[ind].m[smInd].level>cl) smInd--;
smVar = dm_menu[ind].m[smInd];
}
pl = cl;

curMenu.itInd = curMenu.smVar.i.length;	
dm_createItemParams(dm_menu[curMenu.ind],
curMenu.smVar,
curMenu.itInd,
menuItems[i],
statusString);

}

var rooti;
with (curMenu)
for (var i=1; i<dm_menu[ind].m.length; i++)
{
rooti = dm_getVarByID(dm_menu[ind].m[i].rootItemID);
rooti.childID = rooti.ajax ? '_' : rooti.childID = dm_menu[ind].m[i].id;
}
}


function dm_createPopupMenu()
{
for (var i=0; i<menuItems.length && typeof(menuItems[i])!=_un; i++) menuItems[i][0] = '|' + menuItems[i][0];

var newItem = [['']];
menuItems = newItem.concat(menuItems);
}


function dm_init()
{
if (b_NS4) return dm_init4();
dm_checkGlobalParams();


if (cfEnabled) dm_addScript('dmenu_cf', 0);

if (dmObjectsCheck || assignFloating || assignMoving)
{
dm_addScript('dmenu_add', 0);
dmObjectsCheck = 1;
}

if (popupMode)
{
dm_addScript('dmenu_popup', 0);
dm_createPopupMenu();
}

if (keystrokes) dm_addScript('dmenu_key', 0);
if (dynamic) dm_addScript('dmenu_dyn', 0);
if (dmAJAX) dm_addScript('dmenu_ajax', 0);
var wnd = cfEnabled ? parent.frames[cfSFrameInd] : window;
if (typeof(wnd.dm_crossMenuInd)==_un)
wnd.dm_crossMenuInd = curMenu.ind;
else
{
curMenu.ind = wnd.dm_crossMenuInd+1;
wnd.dm_crossMenuInd++;
}

if (!curMenu.ind) dm_setOnLoad();

var menu = dm_createMenuParams(curMenu.ind);
dm_parseItemsData();
dm_createMenu(menu);

d_o.write('<div id="dmFDIV'+menu.ind+'" style="z-index:999999;border:dotted 1px #000000;display:none;position:absolute;font:normal 1px;">&nbsp;</div>');


if (!menu.isCrossFrame && menu.absPos) dm_showIFrame(dm_gE(menu.m[0].id));


if (menu.toggleMode>=0)
if (cfType==1 || cfType==3)
{
toggleRec.pressedSelf = 1;
dm_ext_setPressedItem(menu.ind, menu.curPressedSm, menu.curPressedIt, 0);
}

curMenu.ind++;
curMenu.curPressedIt = -1;

}


function dm_checkCursor(cur)
{
return (b_IE && b_VER<6)  ?  (cur=='pointer')?'hand':cur  :  (cur=='hand')?'pointer':cur;
}


function dm_getAddDivHTML(mInd, smInd)
{
return '<div id="dmD'+mInd+'m'+smInd+'"></div>';
}


function dm_createMenu(menu)
{
var s='',ss='';
var pos	= menu.absPos	? 'absolute' : 'static';
var vis	= menu.isVisible ? 'visible'  : 'hidden';

for (var smInd=0; smInd<menu.m.length; smInd++)	
{
s += dm_createSubmenuHTML(menu,
	menu.m[smInd],
	pos,
	vis,
	dmZOrder,
	0);

if (!smInd || dm_writeAll) d_o.write(s);

if (!dm_writeAll) break;

s   = '';
pos = 'absolute';
vis = 'hidden';
}


s = '';
if (!dm_writeAll || dmAJAX)
{
var cnt = dmAJAX ? dmAJAXCount+1 : menu.m.length;
for (var i=1; i<cnt; i++) s += dm_getAddDivHTML(menu.ind, i);
d_o.write(s);
}
}


function dm_createSubmenuHTML(menu, smVar, pos, vis, zOrder, onFly)
{
var s = '';
var smInd = smVar.ind;

var colInd = -1;
var addRow = 0;
var frame  = (smInd && menu.isCrossFrame && cfType==1) ? 'parent.frames['+menu.cfMFInd+'].' : '';
var noScroll = ((b_NS && b_VER<7) || b_OP || b_IEMAC || !smSmartScroll);
var NS6 = (b_NS && b_VER<7);
var smBack;


var disp = (smVar.ind && !(b_OP && b_VER<7)) ? 'display:none;' : '';
if (!useHTTPS && b_IEPC && b_IE6)
s = '<iframe id="'+smVar.id+'frame" frameBorder=no dm=1 style="visibility:hidden;position:absolute;filter:alpha(opacity=0)"></iframe>';

with (smVar)
with (smStyle)
{
smBack = 'background-color:'+backColor+';'+(backImage? 'background-image:url('+backImage+');background-repeat:'+backRepeat+';' : '');

var h   = smInd ? (smH ? 'height:'+smH+';' : '') : '';
var w   = 'width:' + (smInd ? (smW ? smW : '1px') : mainWidth) + ';';
var of  = (!ind && topSmartScroll) ? 'overflow:hidden;' : '';
var flt = (!smInd && shadowTop) || smInd;

var divStyle = h+w+'position:'+(pos?pos:'absolute')+';left:'+left+';'+'top:'+top+';'+
(NS6 ? smBack : '')+disp+';visibility:'+(vis?vis:'hidden')+';z-index:'+zOrder+';'+
(flt ? dm_getFilterHTML(smVar)+';' : '') + of;

if (shadowLen && flt) divStyle += 'padding:0px '+shadowLen+' '+shadowLen+' 0px 0px;';
if (b_NS && b_VER<7) divStyle += 'background-color:'+backColor+';';
}

s += dm_openDivSimple(smVar.id, divStyle,
(noScroll?'onMouseOver="'+frame+'dm_holdSubmenu(\''+smVar.id+'\')" onMouseOut="'+frame+'dm_holdSubmenu(\'\')"':'onMouseMove="'+frame+'dm_scrollSubmenu(event,\''+smVar.id+'\')"'));



if (menu.isCSSMode) s += dm_openTableWithClass(smVar.id+'tbl', smVar.smStyle.cssClass, smVar.smStyle.itSpacing, 0, '');
else
with (smVar.smStyle)
{
var tblStyle = 'padding:0px;width:100%;'+(!NS6 ? smBack : '')+
'border-style:'+brdStyle+';border-width:'+brdWidth+dUnits+';border-color:'+brdColor;
s += dm_openTableSimple(smVar.id+'tbl', smVar.smStyle.itSpacing, 0, tblStyle, '', '');
}
if (smVar.moving) s += dm_openMoveSpacer(menu, smVar);


var ss, disp;
colInd = -1;
addRow = 1;

for (var iInd=0; iInd<smVar.i.length; iInd++)
{
ss = '';
var itVar = smVar.i[iInd];

if (smVar.smStyle.columnsCnt>1)
{
colInd++;
if (colInd==smVar.smStyle.columnsCnt)
{
colInd = 0;
addRow = 1;
}
if (colInd>0) addRow = 0;
}

if (!iInd) ss += dm_openTr((smVar.isHoriz ? '' : itVar.id+'R'));
else
if (addRow && (!smVar.isHoriz || itVar.nextRow)) ss += dm_closeTr()+dm_openTr(itVar.id+'R');
disp = (itVar.isDeleted || !itVar.isVisible) ? ';display:none' : '';

ss += dm_openTdSimple(itVar.id+'td', 'padding:0px'+disp, 'class="dmDef"') +
dm_createItemTable(menu, smVar, itVar, frame) +
dm_closeTd();

s += ss;
}

s += dm_closeTr()+dm_closeTable() + dm_closeDiv();

smVar.smHTML = s;
dmZOrder += 1;

return s;
}


function dm_createItemTable(menu, smVar, itVar, frame)
{
var ss = '';

var events = 'onMouseOver="'+frame+'dm_over(event,\''+itVar.id+'tbl\')" '+
'onMouseOut="'+frame+'dm_out(event,\''+itVar.id+'tbl\')" '+
'onClick="'+frame+'dm_click(event,\''+itVar.id+'tbl\');"';

if (menu.isCSSMode) ss += dm_openTableWithClass(itVar.id+'tbl', itVar.itStyle.cssClass[0], 0, 0, 'title="'+itVar.tip+'" '+events);
else
{
with (smVar) var h = ind ? '' : (mainHeight ? 'height:'+mainHeight+';' : '');

with (itVar.itStyle)
var tblStyle = h+'padding:0px;width:'+itWidth+';cursor:'+dm_checkCursor(itVar.cursor)+
';background-color:'+backColor[0]+';' + (backImage[0]? 'background-image:url('+backImage[0]+');' : '') +
'border-color:'+brdColor[0]+';border-style:'+brdStyle[0]+';border-width:'+brdWidth+dUnits+';';
ss += dm_openTableSimple(itVar.id+'tbl', 0, 0, tblStyle, events, 'title="'+itVar.tip+'"')+dm_openTr();
}

var textStyle ='', textCSS='';
with (itVar.itStyle)
if (menu.isCSSMode) textCSS   = 'class="'+cssClassText[0]+'"';
else
{
textCSS='class="dmDef"';
textStyle = 'padding:'+smVar.smStyle.itPadding+';text-align:'+itVar.align+';font:'+fntStyle+';color:'+(itVar.isDisabled?menu.fntColorDisabled:fntColor[0])+'; text-decoration:'+fntDecor[0]+';';
}

if (!itVar.text)
{
ss += dm_openTdSimple(itVar.id+'tdT', '', textCSS) +
dm_openImg(itVar.id+'img', itVar.icon[0], '', '', 'alt="'+itVar.tip+'"') +
dm_closeTd();
}
else
if (itVar.text=='-')
{
with (menu)
{
ss += dm_openTdSimple(itVar.id+'tdT', 'text-align:'+separatorAlignment+(sepPadding? ';padding:'+sepPadding : ''), textCSS);

if (itVar.smInd>0) ss += dm_openSeparator(menu, sepImg,  sepW,  sepH);
else	   ss += dm_openSeparator(menu, sepVImg, sepVW, sepVH);

ss += dm_closeTd();
}
}
else
{
try { //[JG]
if (itVar.icon[0]) {
ss += dm_openTdSimple(itVar.id+'tdIc', 'padding:'+smVar.smStyle.itPadding, 'class="dmDef"') +
	dm_openImg(itVar.id+'ic', itVar.icon[0], itVar.iconW, itVar.iconH, '')+
	dm_closeTd();
}
} catch (err) {};

if (itVar.text)
ss += dm_openTdSimple(itVar.id+'tdT', 'width:100%;'+textStyle, (noWrap ? ' NOWRAP ':'')+textCSS)+
itVar.text+
dm_closeTd();


if (itVar.childID) ss += dm_openItemArrow(itVar, 0);
}

return ss+dm_closeTr('')+dm_closeTable();
}
function dm_changeItemStyle(it, over)
{
over = it.isHighlighted ? 1 : over;
if (b_NS4) return dm_changeItemStyle4(it, over);
var itObj = dm_getObjectByID(it.id+'tbl');
if (!itObj) return;

if (!it.text)
{
//[JG]
if (it.icon[over] == '') {
dm_getObjectByID(it.id+'img').src='images/1pixel.gif';
} else {
dm_getObjectByID(it.id+'img').src = it.icon[over]; //org line
}
return;
}


with (it.itStyle)
{
if (dm_menu[it.mInd].isCSSMode) itObj.className = cssClass[over];
else
{
var is = itObj.style;
is.borderWidth = brdWidth+dUnits;
if (backColor[over]) is.backgroundColor = backColor[over];
if (brdColor[over])  is.borderColor	 = brdColor[over];
if (brdStyle[over])  is.borderStyle	 = brdStyle[over];
if (backImage[over]) is.backgroundImage = 'url('+backImage[over]+')';
}

var textObj=dm_getObjectByID(it.id+'tdT');

if (textObj)
{
if (dm_menu[it.mInd].isCSSMode) textObj.className = cssClassText[over];
else
with (textObj.style)
{
if (it.isDisabled) color = dm_menu[it.mInd].fntColorDisabled;
else
if (fntColor[over]) color = fntColor[over];
if (fntDecor[over]) textDecoration = fntDecor[over];
}
}
}

with (it)
{
if (icon[over])
with (dm_getObjectByID(id+'ic'))
if (icState!=over)
{
src = icon[over];
icState = over;
}

var ao = dm_getObjectByID(id+'arr');
if (ao)
{
var arr = smInd ? itStyle.arrowSub[over] : itStyle.arrowMain[over];
if (childID && arr) ao.src = arr;
}
}
}


var _d_rID='';

function dm_over(e, id)
{
var itVar = dm_getVarByID(id);
var menu  = dm_menu[itVar.mInd];

if (keystrokes)
{
if (keyMode.isEnabled) dm_disableKeyMode(menu.ind, 0);

if (!menu.isPopup)
{
_dmKSInd = menu.ind;
}
}


window.status = itVar.sstr;

with (itVar)
if (!isDisabled && text!='-' && !isPressed)
dm_changeItemStyle(itVar, 1);

if (menu.smShowClick && !menu.smShowClicked && !itVar.smInd) return;


var itObj = dm_getObjectByID(id);
if (b_IE && e.fromElement && itObj.contains(e.fromElement)) return;

var smVar = menu.m[itVar.smInd];
_d_rID = smVar.rootItemID;


if (menu.hideAllTimer)
{
clearTimeout(menu.hideAllTimer);	menu.hideAllTimer = null;
}
if (smVar.showTimer)
{
clearTimeout(smVar.showTimer);	  smVar.showTimer = null;
}

with (itVar) var showSmID = (!isDisabled && childID) ? childID : '';
with (smVar) var hideSmID = (shownChildID && shownChildID!=itVar.childID) ? shownChildID : '';


if (menu.isCrossFrame)
{
if (typeof(dmCF)==_un) return;
if (cfType==1 && !dm_isFrameAccessible(smVar.id, menu.cfSFInd)) hideSmID = '';
}

smVar.showTimer = setTimeout('dm_waitForSubmenu("'+hideSmID+'","'+showSmID+'","'+itVar.id+'")', smShowPause);
}


function dm_waitForSubmenu(hideSmID, showSmID, parentID)
{
dm_hideMenu(hideSmID);
dm_showMenu(showSmID, parentID);
}



function dm_out(e, id)
{
var itObj = dm_getObjectByID(id);
if (b_IE && e.toElement && itObj.contains(e.toElement)) return;

var itVar  = dm_getVarByID(id);
var menu   = dm_menu[itVar.mInd];


var smRVar = menu.m[0]
var smVar  = menu.m[itVar.smInd];

if (smRVar.shownChildID)
if (_d_rID!=itVar.id && !(menu.smShowClick && !menu.smShowClicked))
menu.hideAllTimer = setTimeout("dm_hideMenu('"+smRVar.shownChildID+"');window.status='';", smHidePause);

if (smVar.showTimer)
{
clearTimeout(smVar.showTimer);	smVar.showTimer = null;
}

with (itVar)
{
if (isDisabled) return;
if (text!='-' && !isPressed)
dm_changeItemStyle(itVar, 0);
}
}


function dm_click(e, id)
{
var itVar = dm_getVarByID(id);
if (itVar.isDisabled || itVar.text=='-') return;
var menu  = dm_menu[itVar.mInd];

if (!itVar.smInd && menu.smShowClick && !menu.smShowClicked && itVar.childID)
{
menu.smShowClicked = 1;
dm_over(e, id);
return;
}

if (itVar.link!='' && menu.toggleMode>-2 && !itVar.isPressed) dm_ext_setPressedItem(menu.ind, itVar.smInd, itVar.ind, true);
if (itVar.isDisabled || !itVar.link) return;

var smRVar = menu.m[0];
if (menu.shownChildID) dm_hideMenu(menu.shownChildID);


if (menu.hideAllTimer)
{
clearTimeout(menu.hideAllTimer);   menu.hideAllTimer = null;
}

dm_openItemLink(menu, itVar);
}


function dm_openItemLink(menu, itVar)
{
if (itVar.isDisabled || !itVar.link) return;
with (itVar)
{
if (!link) return;

if (menu.smHideClick)
{
moveRec.prepareSmID = '';
dm_hideMenu(menu.m[0].shownChildID);
}

if (link.toLowerCase().io('javascript:')==0) eval(link.sb(11, link.length));
else
{
if (!target || target=='_self')
{
var win = (menu.isCrossFrame && (cfType==1 || cfType==3)) ? parent.frames[menu.cfSFInd] : window;
win.location.href = link;
}
else
open(link, target);
}
}
}



function dm_showIFrame(smObj)
{
if (!useHTTPS && b_IEPC && b_IE6)
with (dm_getObjectByID(smObj.id+'frame').style)
{
left   = smObj.style.left;
top	= smObj.style.top;
width  = smObj.offsetWidth  + 'px';
height = smObj.offsetHeight + 'px';
visibility = 'visible';
}
}


function dm_writeSubmenuHTML(smVar)
{
var smObj = dm_gE(smVar.id);
if (smObj) return smObj;
var m=dm_menu[smVar.mInd];

if (!smVar.smHTML) dm_createSubmenuHTML(m, smVar, '', '', dmZOrder, 1);
if (b_OP || b_IEMAC) docElement.insertAdjacentHTML('beforeEnd', smVar.smHTML);
else
dm_gE('dmD'+m.ind+'m'+smVar.ind).innerHTML = smVar.smHTML;
return dm_gE(smVar.id);
}


function dm_showMenu(id, parentID)
{
if (!id) return;
if (!docElement) docElement = dm_getDocElement(d_o);
if (b_NS4) return dm_showMenu4(id);

if (id=='_') return dm_downloadSubmenu(parentID);

var smVar = dm_getVarByID(id);
var menu  = dm_menu[smVar.mInd];
var smObj = null;
var canFilter = (b_IEPC && b_VER>=5.5 && smVar.duration)?1:0;

for (var i=0; i<dm_menu.length; i++)
if (dm_menu[i] && i!=menu.ind) dm_hideSubmenus(i);


if (menu.isCrossFrame)
{
if (!(smObj=dm_writeCrossSubmenuHTML(menu, smVar, id))) return;
}
else
if (!(smObj=dm_writeSubmenuHTML(smVar))) return;

if (typeof(smObj.style.display)!=_un) smObj.style.display = 'block';
var smXY  = dm_getSubmenuXY(smVar);
var itVar = dm_getVarByID(smVar.rootItemID);

if (menu.isCrossFrame && cfType==1 && smVar.level==1)
smXY = dm_setCrossSubmenuPos(menu, smVar, smObj, smXY);
else
if (!(smVar.level==1 && menu.isPopup))
{
var u = (b_OP && b_VER<6) ? '' : 'px';
with (smObj.style)
{
left = smXY[0] + u;
top  = smXY[1] + u;
}

if (cfType==3 && b_IEPC && b_VER>=5) dm_frameResize(menu, id);
}

menu.m[itVar.smInd].shownChildID = id;
itVar.isHighlighted = menu.saveNavigation;

with (smObj.style)
{
width  = smXY[2] + 'px';
height = smXY[3] + 'px';

with (smVar)
{
sX = smXY[0];
sY = smXY[1];
sEnabled = 1;
sObj = smObj;
}

if (smXY[4])
{
if (b_IEMAC)
{
height = smXY[3]-20 + 'px';
overflow = 'auto';
}
else
{
if ((b_NS && b_VER<7) || b_OP) overflow = 'auto';
else
{
if (smSmartScroll) overflow = 'hidden';
else
if (b_IE6)
{
overflow  = 'visible';
overflowY = 'scroll';
}
else
overflow  = 'auto';
}

width = smObj.offsetWidth + (b_OP ? 17 : b_SAF ? 15 : 0) + 'px';
}

smObj.scrollTop  = 0;
smObj.scrollLeft = 0;
}
else
{
overflow  = 'visible';
smVar.sEnabled = (b_OP && smXY[4]);
}

dm_showIFrame(smObj);

if (visibility!='visible')
{
if (canFilter) dm_startFilter(smObj, smVar.duration);
visibility = 'visible';
if (canFilter) fl.play();
}
}

if (dmObjectsCheck) dm_checkSubmenuIntersection(smVar, smXY);
}


function dm_startFilter(smObj, dur)
{
with (fl=smObj.filters[0])
{
enabled = 1;
if (status!=0) stop();
duration = dur/1000;
apply();
}
}

function dm_dehighlightRootItem(menu, smVar)
{
if (menu.saveNavigation)
{
var ritVar = dm_getVarByID(smVar.rootItemID);
ritVar.isHighlighted = 0;
menu.m[ritVar.smInd].shownChildID  = '';

if (!ritVar.isPressed) dm_changeItemStyle(ritVar, 0);
}
}

function dm_hideMenu(id)
{
if (!id) return;
if (b_NS4) return dm_hideMenu4(id);

var smObj = dm_getObjectByID(id);
if (!smObj) return;

var smVar = dm_getVarByID(id);
var menu  = dm_menu[smVar.mInd];


if (smVar.isMoved && !moveRec.isMoving)
{
with (smObj.style)
{
left = smVar.left + 'px';
top  = smVar.top  + 'px';
}
dm_showIFrame(smObj);
}


if (smVar.shownChildID) dm_hideMenu(smVar.shownChildID);
smVar.shownChildID = '';

dm_dehighlightRootItem(menu, smVar);


if (smVar.showTimer)
{
clearTimeout(smVar.showTimer);   smVar.showTimer = null;
}


if (!smVar.isMoved && moveRec.prepareSmID!=smVar.id)
{
with (smObj.style)
{
var canFilter = (b_IEPC && b_VER>=5.5 && smVar.duration2) ? 1:0
if (canFilter) dm_startFilter(smObj, smVar.duration2);

visibility = 'hidden';

if (canFilter) fl.play();
}

if (b_IEPC && b_IE6 && !useHTTPS) dm_getObjectByID(id+'frame').style.visibility = 'hidden'; 
}

if (smVar.level==1 && cfType==3 && oldFsetSizes)
{
with (parent.document.getElementById(menu.cfFSID))
if (menu.cfOrient) cols = oldFsetSizes;
else	   rows = oldFsetSizes;
oldFsetSizes = null;
}

if (menu.smShowClick && menu.hideAllTimer) menu.smShowClicked = 0;


if (dmObjectsCheck) dm_showIntersectedObjects(smVar);
}


function dm_correctSubmenuCoord(xy, wh, docXY, docWH, limY)
{
if (xy+wh > docWH && (limY ? docWH-xy<limY : 1)) xy = docWH - wh + docXY;
if (xy	< docXY) xy = docXY;
return xy;
}


function dm_getSubmenuXY(smVar)
{
var menu	 = dm_menu[smVar.mInd];
var smObj	= dm_getObjectByID(smVar.id);

var smSize = b_NS4 ? dm_getObjectSize(smObj, 0) : dm_getObjectSize(dm_getObjectByID(smObj.id+'tbl'));

var ritVar   = dm_getVarByID(smVar.rootItemID);
var rsmVar   = menu.m[ritVar.smInd];

var ritObj   = dm_getObjectByID(ritVar.id+(b_NS4?'':'tbl'));
var ritSize  = dm_getObjectSize(ritObj);
var inDIV	= ritSize[4];
var rsmObj   = dm_getObjectByID(rsmVar.id);


var docSize  = dm_getClientSize(menu);
var x=0, y=0, w=0, h=0, resize=0;

switch (menu.smView)
{
case 1:
case 3: y = ritSize[1] + ((rsmVar.ind || !rsmVar.isHoriz)?ritSize[3]:0) - smSize[3]  - smVar.offy;
break;

case 0:
case 2: y = ritSize[1] + (rsmVar.isHoriz?ritSize[3]:0) + smVar.offy;
break;
}

if (rsmVar.isHoriz)
x = (menu.smAlign=='right')  ?  ritSize[0]+ritSize[2]-smSize[2]-smVar.offx  :  (menu.smAlign=='center')  ?  ritSize[0]+(ritSize[2]-smSize[2])/2  :  ritSize[0]+smVar.offx;
else
x = (menu.smView<2)  ?  ritSize[0]+ritSize[2]+smVar.offx  :  ritSize[0]-(rsmVar.isHoriz ? 0 : smSize[2])-smVar.offx;

if (!inDIV && (b_IEMAC || (b_SAF && smVar.level>1)))
{
x += b_SAF ? -dm_getParam(pI(docElement.marginWidth), 0)  : pI(docElement.leftMargin);
y += b_SAF ? -dm_getParam(pI(docElement.marginHeight), 0) : pI(docElement.topMargin);
}

if (b_OP && b_VER>=9 && smVar.level>1)
{
x -= d_o.body.leftMargin;
y -= d_o.body.topMargin;
}

docSize[2] += docSize[0];
docSize[3] += docSize[1];


with (smVar.smStyle)
{
w = (smW ? pI(smW) + smVar.shadowLen : smSize[2]);
h = (smH ? pI(smH) + smVar.shadowLen : smSize[3]);
}

if (!inDIV && !(dmRTL && b_IE))
if (!menu.isCrossFrame || (smVar.level>1 && cfType!=3))
{
if (typeof(rsmObj.scrollLeft)!=_un)
{
x -= rsmObj.scrollLeft;
y -= rsmObj.scrollTop;
}

x = dm_correctSubmenuCoord(x, w, docSize[0], docSize[2], 0);
y = dm_correctSubmenuCoord(y, h, docSize[1], docSize[3], 200);

if (x+w > docSize[2]) w = docSize[2]-x;
if (y+h > docSize[3]) h = docSize[3]-y;

resize = (w<smSize[2] || h<smSize[3]);

if (b_NS6)
{
if (resize) w += 14;
if (rsmVar.sEnabled) x+= 14;
}
}

return [x,y,w,h,resize];
}


function dm_hideSubmenus(mInd)
{
clearInterval(dm_menu[mInd].hideAllTimer);
dm_hideMenu(dm_menu[mInd].m[0].shownChildID);
}



function dm_ext_setPressedItem(mInd, smInd, itInd, recursion)
{
if (b_NS4) return;
var menu = dm_menu[mInd];

with (menu)
{
if (!toggleRec.pressedSelf && menu.curPressedIt!=-1)
{
toggleRec.pressedSelf = 1;
dm_ext_setPressedItem(mInd, curPressedSm, curPressedIt, recursion);
if (curPressedSm==smInd && curPressedIt==itInd)
{
curPressedSm = 0;
curPressedIt = -1;
return;
}
}

if (!toggleRec.pressedSelf)
{
curPressedSm = smInd;
curPressedIt = itInd;
}
else
toggleRec.pressedSelf = 0;
}

var itVar = dm_getVarByID('dm'+mInd+'m'+smInd+'i'+itInd);
with (toggleRec)
{
if (!changeStyleOnly) itVar.isPressed = !itVar.isPressed;
changeStyleOnly = 0;
}


dm_changeItemStyle(itVar, (itVar.isPressed?1:0));


if (recursion && smInd>0)
{
var smVar = menu.m[smInd];
var ritVar;
for (var j=smVar.level; j>0; j--)
{
ritVar = dm_getVarByID(smVar.rootItemID)
dm_changeItemStyle(ritVar, (itVar.isPressed?1:0));
ritVar.isPressed = itVar.isPressed;
smVar = menu.m[ritVar.smInd];
}
}
}
