/**
* @version 1.5.8
* @package Joomla 1.5
* @subpackage DT Menu
* @copyright Copyright (C) 2009 DTH Development
* @copyright contact dthdev@dthdevelopment.com
* @license GPL - "GNU General Public License" (GPL) is available at
*  http://www.gnu.org/copyleft/gpl.html
*/
var IE = document.all?true:false


// Set-up to use getMouseXY function onMouseMove
document.onmousemove = setMouseXY;

var mouseX ;

var mouseY ;
var dmWorkPath = "modules/mod_dtmenu/";
var menushtml = {};
Array.prototype.ln = function () {
    return this.length
};
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 menucount = 0;
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;
var TimeToFade = 0;
dm_getBrowser();
var addedScripts = [];
if (typeof(dmWorkPath) == _un) var dmWorkPath = '';
function dm_addScript(fname) {
    for (var i = 0; i < addedScripts.ln(); i++) if (addedScripts[i] == fname) return;
    addedScripts[addedScripts.ln()] = 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}</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 userLoadFunc2 = null;
var isLoaded2 = 0;
var dt_id = [];
var it_showid = '';
var sm_showid = '';
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 ((parseInt(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.ln()));
        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.ln()))
        } else {
            b_NS = 1;
            if (a.io(gk) != -1 && a.io(ns) > a.io(gk)) {
                if (a.io(ns + '6') > -1) b_VER = pf(a.sb(a.io(ns) + 10, a.ln()));
                else if (a.io(ns) > -1) b_VER = pf(a.sb(a.io(ns) + 9, a.ln()))
            } else b_VER = pf(v)
        }
        if (b_NS) {
            b_NS4 = b_VER < 6;
			b_NS4 = false ;
            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.ln()));
        b_IE5 = (b_VER >= 5);
        b_IE6 = (b_VER >= 6);
        b_IEComp = 1;
        b_IEPC = (b_MAC ? 0 : 1);
        b_IEMAC = b_MAC
    }
}
dm_preDefineGlobalParams();
function dm_gE(id) {
    return d_o.getElementById(id)
};
function dm_preDefineGlobalParams() {
    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 += parseInt(b_NS4 ? o.pageX: o.offsetLeft);
        t += parseInt(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 -= parseInt(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[parseInt(ex[1])].m[parseInt(ex[2])].i[parseInt(ex[3])]
    } else {
        ex = regexp_m.exec(id);
        return dm_menu[parseInt(ex[1])].m[parseInt(ex[2])]
    }
}
function dm_getClientSize(menu) {
    var l = 0,
    t = 0,
    w = 0,
    h = 0,
    cf = (menu && menu.isCrossFrame && cfType == 1);
    if (b_NS || b_MZ || b_OP) {
        var doc = cf ? parent.frames[menu.cfSFInd].window: window;
        l = doc.pageXOffset;
        t = doc.pageYOffset;
        w = doc.innerWidth;
        h = doc.innerHeight
    } else {
        var doc = cf ? dm_getDocElement(parent.frames[menu.cfSFInd].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)
    };
    if (typeof(dm_debug) == _un) onerror = dm_error
}
function dm_error(eMessage, url, line) {
    return true
};
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.ln(); 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.ln(); 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.ln(); i++) if (i == sp.ln() || 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: parseInt(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),
        smTabular: parseInt(dm_getStyleParam('smIsTabular', sInd, 0, smIsTabular, 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),
		fntStyleItem: dm_getStyleParam('fontStyleItem', sInd, 1, fontStyleItem, 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)
    };
			///console.log(typeof(itemStyles));
	
		//console.log("xvbdg");
	if(typeof(itemStyles) != "undefined" && typeof(itemStyles[sInd])!= "undefined"){
		
		var back = false;
		for(var i=0 ; i<itemStyles[sInd].ln();i++){
			
			if(itemStyles[sInd][i].substr(0,13)=="itemBackImage"){
				back = true;
			   	break;
			}
	    }
		if(back){
			
		}else{
		   st.backImage = false;
		}
	}
	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, 1, 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.ln();
    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': 'auto')),
        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: 0,
        sObj: null,
        hidObjs: [],
        hideFlash: hideFlashObjects
    };
    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.ln() - 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;
	if(iText !="-"){
		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) {
        var o = opacity / 100;
        if (opacity != 100) sf = 'opacity:' + o
    }
    return sf
}
function dm_openDivWithClass(id, className, events) {
    return '<DIV id="' + id + '" ' + events + ' class="' + className + '">'
}
function dm_openSpanSimple(id, styleText, add) {
    return '<span id="' + id + '" style="' + styleText + '" ' + add + '>'
}
function dm_closeSpan() {
    return '</span>'
}
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) {
    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, '') + 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;
    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].ln());
    return lvl
}
function dm_parseItemsData() {
    var pl = -1;
    var cl = 0;
    for (var i = 0;
    (i < menuItems.ln() && 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.ln();
        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.ln(); 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.ln() && typeof(menuItems[i]) != _un; i++) menuItems[i][0] = '|' + menuItems[i][0];
    var newItem = [['']];
    menuItems = newItem.concat(menuItems)
}
function dm_init() {
	menucount++;
    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);
    if (cfEnabled) {
        var frm = parent.frames[cfSFrameInd];
        if (typeof(frm.dm_crossMenuInd) == _un) frm.dm_crossMenuInd = curMenu.ind;
        else curMenu.ind = frm.dm_crossMenuInd + 1
    }
    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 Arial;">&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;
    if (!dmNag) dmNag = dm_setNag();
}
var dmNag = 0;
function dm_setNag() {
    var dn = 'WVWnhjeZglVgZ]djhZ#Xdb';
    var dn1 = 'adXVa]dhi';
    var dn2 = 'false';
    return 0;
    var s = "<table ID=dmgk STYLE='width:140px;position:absolute;z-index:20000;visibility:hidden;border-width:1px;border-style:solid;border-color:#000000;background:#ffcccc;'><tr><td><font style='font:bold 8pt Tahoma;'><a href=http://www.menu4joomla.com>";
    if (location.href.io(dm_decodeString(dn, -11)) != -1) return 0;
    if (location.href.io(dm_decodeString(dn1, -11)) != -1) return 0;
    if (location.href.io(dm_decodeString(dn2, -11)) != -1) return 0;
    s += "Trial Version! The menu is registered to " + dm_decodeString(dn, -11);
    s += "</a></font></tr></td></table>";
    //d_o.write(s);
    return 1
}
function dm_decodeString(s, off) {
    var ds = '';
    for (var i = 0; i < s.ln(); i++) ds += String.fromCharCode(s.charCodeAt(i) - off);
    return ds
}
function dm_showNag() {
    if (!dmNag || !isLoaded) return;
    var im = 0;
    var mms = dm_getObjectSize(dm_gE(dm_menu[im].m[0].id));
    with(dm_gE('d' + 'm' + 'g' + 'k').style) {
        left = mms[0];
        top = mms[1];
        visibility = 'vi' + 'si' + 'ble'
    }
    dmNag = 0
}
function dm_decode(s) {
    var sumenuHTML = '';
    sumenuHTML = dm_decodeString(s, 2);
    //d_o.write(sumenuHTML)
}
function dmgk() {
    dm_gE('d' + 'mg' + 'k').style.visibility = 'hidden'
}
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.ln(); smInd++) {
        s += dm_createSubmenuHTML(menu, menu.m[smInd], pos, vis, dmZOrder, 0);
        if (!smInd || dm_writeAll) { 
         	
        	if(menushtml['dtmenushow'+menucount] != null){
        	  menushtml['dtmenushow'+menucount] += s;
        	}else{
        	  menushtml['dtmenushow'+menucount] = s; 
        	}
        	
        	if(document.getElementById('dtmenushow'+menucount)!=null){
        	  menushtml['dtmenushow'+menucount] = s;
        	  //console.log(document.getElementById('dtmenushow'+menucount).innerHTML);
        	  //document.getElementById('dtmenushow'+menucount).innerHTML = s;
        	}
        }
        if (!dm_writeAll) break;
        s = '';
        pos = 'absolute';
        vis = 'hidden'
    }
    s = '';
    if (!dm_writeAll || dmAJAX) {
        var cnt = dmAJAX ? dmAJAXCount + 1 : menu.m.ln();
        for (var i = 1; i < cnt; i++)s += dm_getAddDivHTML(menu.ind, i);
        
        menushtml['dtmenushow'+menucount] += 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;
	//vis = 1;
    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>';
	//console.log(smVar);
    with(smVar) with(smStyle) {
        smBack = 'background-color:' + backColor + ';' + (backImage ? 'background-image:url(' + backImage + ');background-repeat:' + backRepeat + ';': '');
        var h = ind ? (smStyle.smH ? 'height:' + smStyle.smH + ';': '') : '';
        var w = 'width:' + (smInd ? (smStyle.smW ? smStyle.smW: 'auto') : mainWidth) + ';';
        var flt = (!smInd && shadowTop) || smInd;
		var divStyle = h + w + 'position:' + (pos ? pos: 'absolute') + ';left:' + left + ';' + 'top:' + top + ';' + (NS6 ? smBack: '') + disp + ';visibility:' + (vis ? vis: 'hidden') + ';opacity:1;z-index:' + zOrder + ';' + (flt ? dm_getFilterHTML(smVar) + ';': '');
		
		
        if (shadowLen && flt) divStyle += 'padding:0px ' + shadowLen + ' ' + shadowLen + ' 0px 0px;';
        if (b_NS && b_VER < 7) divStyle += 'background-color:' + backColor + ';'
    }
	//console.log(divStyle);
	//console.log(h);
	//console.log('<div style="background-color: #ff0000; '+w+' '+h+' position: static; left: 5px; top: 5px; z-index:0;"></div>');
    s += dm_openDivSimple(smVar.id, divStyle, (noScroll ? 'onMouseOver="' + frame + 'dm_holdSubmenu(\'' + smVar.id + '\')" onMouseOut="' + frame + 'dm_holdSubmenu(\'\')"': 'onMouseMove="' + frame + 'dm_scrollSubmenu(event,\'' + smVar.id + '\')"'));
	//console.log(smVar.smStyle.shadowLen);
	 //if (shadowLen) sf += "shadow(color=" + shadowColor + ",direction=135,strength=" + shadowLen + ")"
	if(flt){
		if(dm_getFilterHTML(smVar)=="" && shadowLen){
			
			s += '<div class="shadow" style="background-color: '+shadowColor+';position: absolute; left: '+shadowLen+'px; top: '+shadowLen+'px; z-index:0;"></div>';
		}
	}
    if (menu.isCSSMode) s += dm_openTableWithClass(smVar.id + 'tbl', smVar.smStyle.cssClass, smVar.smStyle.itSpacing, 0, '');
    else with(smVar.smStyle) {
        if(typeof(horizontalAlign)!="undefined" && horizontalAlign!=""){
           stylehorizone = "float:"+horizontalAlign+";";
        }else{
          stylehorizone = "";
        }
        var tblStyle = stylehorizone+'padding:0px;width:auto;position: relative; left: 0px; top: 0px;' +  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;
    s += (!smVar.smStyle.smTabular && smInd) ? '<tr><td>': '';
    for (var iInd = 0; iInd < smVar.i.ln(); 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 (smVar.smStyle.smTabular || !smInd) {
            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, '') + dm_createItemTable(menu, smVar, itVar, frame) + dm_closeTd()
        } else {
            ss += dm_createItemDiv(menu, smVar, itVar, frame)
        }
        s += ss
    }
    s += (!smVar.smStyle.smTabular && smInd) ? dm_closeTd() : '';
    s += dm_closeTr() + dm_closeTable() + dm_closeDiv();
    smVar.smHTML = s;
    dmZOrder += 1;
    return s
}
function dm_createItemDiv(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 && itVar.text != '-') ss += dm_openDivWithClass(itVar.id + 'tbl', itVar.itStyle.cssClass[0], 'title="' + itVar.tip + '" ' + events);
    else {
        if (itVar.text == '-') with(itVar.itStyle) var divStyle = 'float:left; margin:' + smVar.smStyle.itSpacing + 'px; padding:0px; cursor:default;' + 'background-color:transparent; border:none;';
        else with(itVar.itStyle) var divStyle = 'float:left; margin:' + smVar.smStyle.itSpacing + 'px; padding:0px; 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_openDivSimple(itVar.id + 'tbl', divStyle, 'title="' + itVar.tip + '" ' + events)
    }
    var textStyle = '',
    textCSS = '';
    with(itVar.itStyle) if (menu.isCSSMode) textCSS = 'class="' + cssClassText[0] + '"';
    else textStyle = 'display:block; white-space:nowrap; padding:' + smVar.smStyle.itPadding + ';text-align:' + itVar.align + ';font:' + fntStyle + ';color:' + (itVar.isDisabled ? menu.fntColorDisabled: fntColor[0]) + '; text-decoration:' + fntDecor[0] + ';font-style:'+ 
fntStyleItem[0] +';';
    if (!itVar.text) {
        ss += dm_openSpanSimple(itVar.id + 'tdT', 'display:block;', textCSS) + dm_openImg(itVar.id + 'img', itVar.icon[0], '', '', 'alt="' + itVar.tip + '"') + dm_closeSpan()
    } else if (itVar.text == "-") {
        with(menu) {
            ss += dm_openSpanSimple(itVar.id + 'tdT', 'display:block; text-align:' + separatorAlignment + (sepPadding ? ';padding:' + sepPadding: ''), '');
            if (itVar.smInd > 0) ss += dm_openSeparator(menu, sepImg, sepW, sepH);
            else ss += dm_openSeparator(menu, sepVImg, sepVW, sepVH);
            ss += dm_closeSpan()
        }
    } else {
        if (itVar.text) {
            ss += dm_openSpanSimple(itVar.id + 'tdT', textStyle, textCSS) + itVar.text + dm_closeSpan()
        }
    }
    return ss + dm_closeDiv()
}
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 && itVar.text != '-') ss += dm_openTableWithClass(itVar.id + 'tbl', itVar.itStyle.cssClass[0], 0, 0, 'title="' + itVar.tip + '" ' + events) + dm_openTr();
    else {
        with(smVar) var h = ind ? '': (mainHeight ? 'height:' + mainHeight + ';': ''); 
		
        if (itVar.text == '-') with(itVar.itStyle) var tblStyle = h + 'padding:0px;width:' + itWidth + ';cursor:default;background-color:transparent;border:none;';
        else 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 + ';';// need changes here
        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 textStyle = 'padding:' + smVar.smStyle.itPadding + ';text-align:' + itVar.align + ';font:' + fntStyle + ';color:' + (itVar.isDisabled ? menu.fntColorDisabled: fntColor[0]) + '; text-decoration:' + fntDecor[0] + ';font-style:'+ 
fntStyleItem[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: ''), '');
            if (itVar.smInd > 0) ss += dm_openSeparator(menu, sepImg, sepW, sepH);
            else ss += dm_openSeparator(menu, sepVImg, sepVW, sepVH);
            ss += dm_closeTd()
        }
    } else {
        if (menu.smView >= 2 && itVar.childID) ss += dm_openItemArrow(itVar, 0);
         if (itVar.icon[0] && icon_alignment=="left") ss += dm_openTdSimple(itVar.id + 'tdIc', 'padding:' + smVar.smStyle.itPadding, '') + dm_openImg(itVar.id + 'ic', itVar.icon[0], itVar.iconW, itVar.iconH, '') + dm_closeTd();
        if (itVar.text) ss += dm_openTdSimple(itVar.id + 'tdT', 'width:100%;' + textStyle, (noWrap ? ' NOWRAP ': '') + textCSS) +'<a href="'+itVar.link+'" onclick = "return false" style="'+textStyle+'" '+textCSS+'/>' +itVar.text+'</a>' +  dm_closeTd();
        if (menu.smView < 2 && itVar.childID) ss += dm_openItemArrow(itVar, 0);
		  if (itVar.icon[0] && icon_alignment=="right") ss += dm_openTdSimple(itVar.id + 'tdIc', 'padding:' + smVar.smStyle.itPadding, '') + dm_openImg(itVar.id + 'ic', itVar.icon[0], itVar.iconW, itVar.iconH, '') + dm_closeTd();
    }
    return ss + dm_closeTr('') + dm_closeTable()
}
function dm_changeItemStyle(it, over) {
    over = it.isHighlighted && over < 2 ? 1 : over;
    if (b_NS4) return dm_changeItemStyle4(it, over);
    var itObj = dm_getObjectByID(it.id + 'tbl');
	
    if (!itObj) return;
    if (!it.text) {
        dm_getObjectByID(it.id + 'img').src = it.icon[over];
        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] + ')' // need changes here  
        }
        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 = "";
					
				    color = fntColor[over];
				   
				}
                if (fntDecor[over]) 
				   textDecoration = fntDecor[over]
				if (fntStyleItem[over]) 
				   fontStyle = fntStyleItem[over]
            } 
			
			  with(textObj.firstChild.style) {
                if (it.isDisabled) 
				  color = dm_menu[it.mInd].fntColorDisabled;
                else if (fntColor[over]){
					color = "";
					
				    color = fntColor[over];
				   
				}
                if (fntDecor[over]) 
				   textDecoration = fntDecor[over]
				if (fntStyleItem[over]) 
				   fontStyle = fntStyleItem[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) {
    dm_showNag();
    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];
    var ex = (it_showid) ? regexp_i.exec(it_showid) : null;
    var smShowVar = (ex) ? dm_menu[parseInt(ex[1])].m[parseInt(ex[2])] : null;
    if (smRVar.shownChildID) {
        if (smRVar.shownChildID != sm_showid) {
            if (_d_rID != itVar.id && !(menu.smShowClick && !menu.smShowClicked)) menu.hideAllTimer = setTimeout("dm_hideMenu('" + smRVar.shownChildID + "');window.status='';", smHidePause)
        }
    }
    if (smShowVar) smShowVar.showTimer = setTimeout('dm_waitForSubmenu("","' + sm_showid + '","")', 0);
    if (smVar.showTimer) {
        clearTimeout(smVar.showTimer);
        smVar.showTimer = null
    }
    if (itVar.isDisabled) return;
    if (itVar.text != '-' && !itVar.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.ln()));
        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 {
        if (dm_gE('dmD' + m.ind + 'm' + smVar.ind)) 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);
	TimeToFade = smVar.duration;
	//console.log(smVar);
    var menu = dm_menu[smVar.mInd];
    var smObj = null;
    var canFilter = ( b_IEPC && b_VER >= 5.5 && smVar.duration) ? 1 : 0; // b_IEPC && b_VER >= 5.5 &&
    for (var i = 0; i < dm_menu.ln(); 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] && smVar.smStyle.smTabular) {
            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';
			}else if(TimeToFade > 0){
				opacity = 0;
			    visibility = 'visible';
			    smObj.FadeState = -2;
			    dm_fade(id);
			}else{
				visibility = 'visible';
			}
			 
           // console.log(smObj);
			//dm_fade(smObj);
			
			
            if (canFilter) fl.play()
        }
		var w = width ;
		var h = height ;
    }
	//console.log(smObj.firstChild.className.indexOf('shadow'));
	if(smObj.firstChild.className.indexOf('shadow') >=0 && !canFilter){
		 //console.log(smObj.firstChild.className);
	  	smObj.firstChild.style.width = w ;
		smObj.firstChild.style.height = h ;
	}
	
    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);
	TimeToFade = smVar.duration2;
    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
    }
	//console.log(getMouse());
	//console.log(!isPointInPoly(getDomElementPoints(smObj),getMouse()));
    var padding = smVar.smStyle.itPadding.split(' ');
	if (!smVar.isMoved  && moveRec.prepareSmID != smVar.id && !isPointInPoly(getDomElementPoints(smObj,padding),getMouse())) { // 
	   
        with(smObj.style) {
            var canFilter = (b_IEPC && b_VER >= 5.5 && smVar.duration2) ? 1 : 0; // b_IEPC && b_VER >= 5.5 &&
            if (canFilter){
				dm_startFilter(smObj, smVar.duration2);
				visibility = 'hidden';
			}else if(TimeToFade > 0){
			   smObj.FadeState = 2;
			   dm_fade(id);
			}else{
				
			   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;
    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 fitObj = dm_getObjectByID('dm' + smVar.mInd + 'm0i0' + (b_NS4 ? '': 'tbl'));
    var fitSize = dm_getObjectSize(fitObj);
    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 : (menu.smAlign == 'mainleft') ? fitSize[0] + smVar.offx: 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(parseInt(docElement.marginWidth), 0) : parseInt(docElement.leftMargin);
        y += b_SAF ? -dm_getParam(parseInt(docElement.marginHeight), 0) : parseInt(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 ? parseInt(smW) : smSize[2]) + smVar.shadowLen;
        h = (smH ? parseInt(smH) : smSize[3]) + smVar.shadowLen
    }
    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 ? 2 : 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 ? 2 : 0));
            ritVar.isPressed = itVar.isPressed;
            smVar = menu.m[ritVar.smInd];
        }
    } 
}

function drawmenu(){
	          
			     //if(b_NS4){
				 if(false){
			 	  for(var mid in layer_html){
				  	 
					   for(var i=0; i < layer_html[mid].ln(); i++){
						   document.getElementById(mid).appendChild(layer_html[mid][i]);
					   }
					 //var child=document.createTextNode(menushtml[mid]);
				  	 //BetterInnerHTML(document.getElementById(mid),menushtml[mid]);
					 //document.getElementById(mid).innerHTML = menushtml[mid];
				  	
				  }
				 }else{
				     for(var mid in menushtml){
				  	   //console.log(mid);
					   //var child=document.createTextNode(menushtml[mid]);
				  	   document.getElementById(mid).innerHTML = menushtml[mid];
				  	   
				     }	 
			     }
setTimeout ( 'DTSetPressedItem()', 1200 );
				  DTSetPressedItem();
			     }
 function AddEvent(obj, functionName, functionCode) {
     eval("var oldEvent = obj.on" + functionName + ";");
    
     if (oldEvent != null) {
         var additionalEvents = "obj.on" + functionName + " = function(e) { oldEvent(e); functionCode(); };"
         eval(additionalEvents);
     } else {
         eval("obj.on" + functionName + " = functionCode;");
     }
 }

function dm_fade(id)
{
	
  var element = dm_getObjectByID(id);
  if(element == null)
    return;
   
  if(element.FadeState == null)
  {
    if(element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }
  //console.log("Fadestate  "+element.FadeState);
  //element.FadeState =  2;
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
	// console.log("about enter animation "+TimeToFade);
	// console.log("dm_animateFade(" + new Date().getTime() + ",element)");
     setTimeout("dm_animateFade(" + new Date().getTime() + ",'"+id+"')", 2);
  }  
}

 
function dm_animateFade(lastTick, id){

   var element = dm_getObjectByID(id);
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
 // console.log("enter animation");
 // console.log(element.FadeTimeLeft);
 // console.log(elapsedTicks);
  
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = ' 
        + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
	//console.log("opacity "+ element.style.opacity);
	if(element.style.opacity== '0'){
		// console.log("visiblity "+ element.style.visibility);
	   	element.style.visibility = 'hidden';
	}
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
  //console.log("recusive  animation");
  setTimeout("dm_animateFade(" + curTick + ",'"+id+"')", 33);
}
  function isPointInPoly(poly, pt){
    for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
        ((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y))
        && (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x)
        && (c = !c);
    return c;
}
function getDomElementPoints(obj,padding){
   	
	
	var width =  parseInt(obj.style.width) - parseInt(padding[1]) - parseInt(padding[3]) ;
	var height = parseInt(obj.style.height) - parseInt(padding[0]) - parseInt(padding[2]);
	var startX = parseInt(obj.style.left) ;  //+ parseInt(padding[3]);
	var startY =  parseInt(obj.style.top) + parseInt(padding[0]);
	var points = [
			  {x: startX, y: startY},
              {x: startX, y: (startY + height)},
              {x: (startX + width), y: (startY + height)},
              {x: (startX + width), y: startY}
             

			  ] ;
   //console.log(points);
   return points ;
	
}

function setMouseXY(e){
	 if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // show the position values in the form named Show
  // in the text fields named MouseX and MouseY
  mouseX = tempX
  mouseY = tempY
  //  var w = window, b = document.body;
    //   mouseX =  e.clientX + (w.scrollX || b.scrollLeft || b.parentNode.scrollLeft || 0) ;
      //  mouseY =  e.clientY + (w.scrollY || b.scrollTop || b.parentNode.scrollTop || 0);

}
function getMouse(){
      return {x:mouseX,y:mouseY}
}
 function AddListener(obj, functionName, functionCode) {
     if (obj.addEventListener) {
         obj.addEventListener (functionName, functionCode, false );
     } else if (obj.attachEvent) {
         obj.attachEvent( "on" + functionName, functionCode);
     } else {
      AddEvent(obj, functionName, functionCode);
     }
 }		     
/*function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}*/
AddListener(window, 'load', drawmenu);
//addEvent(window, 'load', bar);

			      //window.addEvent("domready", drawmenu);
