if (slidedir == "left")
{
menuobj.style.clip = "rect(auto, 0px, 0px, auto)";
vbmenu_slide_left(menuid, intervalX, intervalY, 0, 0, 0);
}
else
{
menuobj.style.clip = "rect(auto, auto, 0px, " + (menuobj.offsetWidth) + "px)";
vbmenu_slide_right(menuid, intervalX, intervalY, menuobj.offsetWidth, 0, 0);
}
}
return false;
}
// #############################################################################
// internet explorer slide menu open left
function vbmenu_slide_left(menuid, intervalX, intervalY, clipX, clipY, opacity)
{
var menuobj = fetch_object(menuid);
if (clipX < menuobj.offsetWidth || clipY < menuobj.offsetHeight)
{
if (vbmenu_dofade && is_ie)
{
opacity += 10;
menuobj.filters.item('DXImageTransform.Microsoft.alpha').opacity = opacity;
}
clipX += intervalX;
clipY += intervalY;
menuobj.style.clip = "rect(auto, " + clipX + "px, " + clipY + "px, auto)";
slidetimer = setTimeout("vbmenu_slide_left('" + menuid + "', " + intervalX + ", " + intervalY + ", " + clipX + ", " + clipY + ", " + opacity + ");", 0);
}
else
{
clearTimeout(slidetimer);
}
}
// #############################################################################
// internet explorer slide menu open right
function vbmenu_slide_right(menuid, intervalX, intervalY, clipX, clipY, opacity)
{
menuobj = fetch_object(menuid);
if (clipX > 0 || clipY < menuobj.offsetHeight)
{
if (vbmenu_dofade && is_ie)
{
opacity += 10;
menuobj.filters.item('DXImageTransform.Microsoft.alpha').opacity = opacity;
}
clipX -= intervalX;
clipY += intervalY;
menuobj.style.clip = "rect(auto, " + menuobj.offsetWidth + "px, " + clipY + "px, " + clipX + "px)";
slidetimer = setTimeout("vbmenu_slide_right('" + menuid + "', " + intervalX + ", " + intervalY + ", " + clipX + ", " + clipY + ", " + opacity + ");", 0);
}
else
{
clearTimeout(slidetimer);
}
}
// #############################################################################
// function to navigate to the href of the first found <a> tag
function vbmenu_navtolink(e)
{
childLinks = this.getElementsByTagName("a");
if (childLinks[0])
{
if (is_ie)
{
// use this in IE to send HTTP_REFERER
childLinks[0].click();
window.event.cancelBubble = true;
}
else
{
// other browsers can use this
if (e.shiftKey)
{
window.open(childLinks[0].href);
e.stopPropagation();
e.preventDefault();
}
else
{
window.location = childLinks[0].href;
e.stopPropagation();
e.preventDefault();
}
}
}
}
// #############################################################################
// function to toggle the background class of a menu option
function vbmenu_switch_option_bg(e)
{
if (is_moz)
{
moz_rclick(e);
}
this.className = (this.className == "vbmenu_option") ? "vbmenu_hilite" : "vbmenu_option";
vbmenu_hand_pointer(this);
}
// #############################################################################
// function to set the cursor to be pointer/hand
function vbmenu_hand_pointer(obj)
{
try
{
obj.style.cursor = "pointer";
}
catch(e)
{
obj.style.cursor = "hand";
}
}
// #############################################################################
// function to initialize a single menu entry
function vbmenu_init(controlid)
{
var menuid = vbmenu_getmenuid(controlid) + "_menu";
var menuobj = fetch_object(menuid);
if (document.getElementsByTagName && menuobj)
{
// do control object
var controlobj = fetch_object(controlid);
vbmenu_hand_pointer(controlobj);
controlobj.unselectable = true;
controlobj.onclick = vbmenu_eventhandler_click;
controlobj.onmouseover = vbmenu_eventhandler_mouseover;
// don't initialize the same popup menu twice
if (typeof(vbmenu_initialized[menuid]) != "undefined")
{
return;
}
// do popup menu object
var popupobj = fetch_object(menuid);
popupobj.style.display = "none";
popupobj.style.position = "absolute";
popupobj.style.left = "0px";
popupobj.style.top = "0px";
popupobj.onclick = e_by_gum;
// reset inner table width
var tables = popupobj.getElementsByTagName("table");
if (tables.length > 0)
{
tables[0].width = "";
}
// init popup filters (ie only)
if (is_ie)
{
popupobj.style.filter += "progid:DXImageTransform.Microsoft.alpha(enabled=1,opacity=100)";
popupobj.style.filter += "progid:DXImageTransform.Microsoft.shadow(direction=135,color=#8E8E8E,strength=3)";
}
// do menu options
var tds = popupobj.getElementsByTagName("td");
for (var i = 0; i < tds.length; i++)
{
if (tds[i].className == "vbmenu_option")
{
tds[i].style.cursor = "default";
if (tds[i].title == "nohilite")
{
tds[i].title = "";
}
else
{
tds[i].onmouseover = vbmenu_switch_option_bg;
tds[i].onmouseout = vbmenu_switch_option_bg;
tds[i].onclick = vbmenu_navtolink;
if (!is_saf && !is_kon)
{
try
{
var links = tds[i].getElementsByTagName("a");
for (var j = 0; j < links.length; j++)
{
if (typeof(links[j].onclick) == "undefined")
{
links[j].onclick = e_by_gum;
}
}
}
catch(e)
{
// hmm
}
}
}
}
else if (is_moz)
{
tds[i].onmouseover = moz_rclick;
tds[i].onmouseout = moz_rclick;
}
}
vbmenu_initialized[menuid] = true;
}
}
function returnfalse()
{
return false;
}
function moz_rclick(e)
{
if (e.type == 'mouseover')
{
document.onclick = '';
}
else
{
document.onclick = vbmenu_close;
}
}